From 7cb41d25ca9a7a49149c041594b4568184d292ed Mon Sep 17 00:00:00 2001 From: nlohmann Date: Fri, 13 Mar 2026 06:18:53 +0000 Subject: [PATCH] deploy: 75ade57e9c9d1aaff6c49416c73afce1e28e6477 --- 404.html | 2 +- api/adl_serializer/from_json/index.html | 4 +- api/adl_serializer/index.html | 4 +- api/adl_serializer/to_json/index.html | 4 +- api/basic_json/accept/index.html | 4 +- api/basic_json/array/index.html | 4 +- api/basic_json/array_t/index.html | 4 +- api/basic_json/at/index.html | 4 +- api/basic_json/back/index.html | 4 +- api/basic_json/basic_json/index.html | 4 +- api/basic_json/begin/index.html | 4 +- api/basic_json/binary/index.html | 4 +- api/basic_json/binary_t/index.html | 4 +- api/basic_json/boolean_t/index.html | 4 +- api/basic_json/cbegin/index.html | 4 +- api/basic_json/cbor_tag_handler_t/index.html | 4 +- api/basic_json/cend/index.html | 4 +- api/basic_json/clear/index.html | 4 +- api/basic_json/contains/index.html | 4 +- api/basic_json/count/index.html | 4 +- api/basic_json/crbegin/index.html | 4 +- api/basic_json/crend/index.html | 4 +- .../default_object_comparator_t/index.html | 4 +- api/basic_json/diff/index.html | 4 +- api/basic_json/dump/index.html | 4 +- api/basic_json/emplace/index.html | 4 +- api/basic_json/emplace_back/index.html | 4 +- api/basic_json/empty/index.html | 4 +- api/basic_json/end/index.html | 4 +- api/basic_json/end_pos/index.html | 4 +- api/basic_json/erase/index.html | 4 +- api/basic_json/error_handler_t/index.html | 4 +- api/basic_json/exception/index.html | 4 +- api/basic_json/find/index.html | 4 +- api/basic_json/flatten/index.html | 4 +- api/basic_json/from_bjdata/index.html | 4 +- api/basic_json/from_bson/index.html | 4 +- api/basic_json/from_cbor/index.html | 4 +- api/basic_json/from_msgpack/index.html | 4 +- api/basic_json/from_ubjson/index.html | 4 +- api/basic_json/front/index.html | 4 +- api/basic_json/get/index.html | 4 +- api/basic_json/get_allocator/index.html | 4 +- api/basic_json/get_binary/index.html | 4 +- api/basic_json/get_ptr/index.html | 4 +- api/basic_json/get_ref/index.html | 4 +- api/basic_json/get_to/index.html | 4 +- api/basic_json/index.html | 4 +- api/basic_json/input_format_t/index.html | 4 +- api/basic_json/insert/index.html | 4 +- api/basic_json/invalid_iterator/index.html | 4 +- api/basic_json/is_array/index.html | 4 +- api/basic_json/is_binary/index.html | 4 +- api/basic_json/is_boolean/index.html | 4 +- api/basic_json/is_discarded/index.html | 4 +- api/basic_json/is_null/index.html | 4 +- api/basic_json/is_number/index.html | 4 +- api/basic_json/is_number_float/index.html | 4 +- api/basic_json/is_number_integer/index.html | 4 +- api/basic_json/is_number_unsigned/index.html | 4 +- api/basic_json/is_object/index.html | 4 +- api/basic_json/is_primitive/index.html | 4 +- api/basic_json/is_string/index.html | 4 +- api/basic_json/is_structured/index.html | 4 +- api/basic_json/items/index.html | 4 +- api/basic_json/json_base_class_t/index.html | 4 +- api/basic_json/json_serializer/index.html | 4 +- api/basic_json/max_size/index.html | 4 +- api/basic_json/merge_patch/index.html | 4 +- api/basic_json/meta/index.html | 4 +- api/basic_json/number_float_t/index.html | 4 +- api/basic_json/number_integer_t/index.html | 4 +- api/basic_json/number_unsigned_t/index.html | 4 +- api/basic_json/object/index.html | 4 +- api/basic_json/object_comparator_t/index.html | 4 +- api/basic_json/object_t/index.html | 4 +- api/basic_json/operator+=/index.html | 4 +- api/basic_json/operator=/index.html | 4 +- api/basic_json/operator[]/index.html | 4 +- api/basic_json/operator_ValueType/index.html | 4 +- api/basic_json/operator_eq/index.html | 4 +- api/basic_json/operator_ge/index.html | 4 +- api/basic_json/operator_gt/index.html | 4 +- api/basic_json/operator_le/index.html | 4 +- api/basic_json/operator_lt/index.html | 4 +- api/basic_json/operator_ne/index.html | 4 +- api/basic_json/operator_spaceship/index.html | 4 +- api/basic_json/operator_value_t/index.html | 4 +- api/basic_json/other_error/index.html | 4 +- api/basic_json/out_of_range/index.html | 4 +- api/basic_json/parse/index.html | 4 +- api/basic_json/parse_error/index.html | 4 +- api/basic_json/parse_event_t/index.html | 4 +- api/basic_json/parser_callback_t/index.html | 4 +- api/basic_json/patch/index.html | 4 +- api/basic_json/patch_inplace/index.html | 4 +- api/basic_json/push_back/index.html | 4 +- api/basic_json/rbegin/index.html | 4 +- api/basic_json/rend/index.html | 4 +- api/basic_json/sax_parse/index.html | 4 +- api/basic_json/size/index.html | 4 +- api/basic_json/start_pos/index.html | 4 +- api/basic_json/std_hash/index.html | 4 +- api/basic_json/std_swap/index.html | 4 +- api/basic_json/string_t/index.html | 4 +- api/basic_json/swap/index.html | 4 +- api/basic_json/to_bjdata/index.html | 4 +- api/basic_json/to_bson/index.html | 4 +- api/basic_json/to_cbor/index.html | 4 +- api/basic_json/to_msgpack/index.html | 4 +- api/basic_json/to_string/index.html | 4 +- api/basic_json/to_ubjson/index.html | 4 +- api/basic_json/type/index.html | 4 +- api/basic_json/type_error/index.html | 4 +- api/basic_json/type_name/index.html | 4 +- api/basic_json/unflatten/index.html | 4 +- api/basic_json/update/index.html | 4 +- api/basic_json/value/index.html | 4 +- api/basic_json/value_t/index.html | 4 +- api/basic_json/~basic_json/index.html | 4 +- .../byte_container_with_subtype/index.html | 4 +- .../clear_subtype/index.html | 4 +- .../has_subtype/index.html | 4 +- api/byte_container_with_subtype/index.html | 4 +- .../set_subtype/index.html | 4 +- .../subtype/index.html | 4 +- api/json/index.html | 4 +- api/json_pointer/back/index.html | 4 +- api/json_pointer/empty/index.html | 4 +- api/json_pointer/index.html | 4 +- api/json_pointer/json_pointer/index.html | 4 +- api/json_pointer/operator_eq/index.html | 4 +- api/json_pointer/operator_ne/index.html | 4 +- api/json_pointer/operator_slash/index.html | 4 +- api/json_pointer/operator_slasheq/index.html | 4 +- api/json_pointer/operator_string_t/index.html | 4 +- api/json_pointer/parent_pointer/index.html | 4 +- api/json_pointer/pop_back/index.html | 4 +- api/json_pointer/push_back/index.html | 4 +- api/json_pointer/string_t/index.html | 4 +- api/json_pointer/to_string/index.html | 4 +- api/json_sax/binary/index.html | 4 +- api/json_sax/boolean/index.html | 4 +- api/json_sax/end_array/index.html | 4 +- api/json_sax/end_object/index.html | 4 +- api/json_sax/index.html | 4 +- api/json_sax/key/index.html | 4 +- api/json_sax/null/index.html | 4 +- api/json_sax/number_float/index.html | 4 +- api/json_sax/number_integer/index.html | 4 +- api/json_sax/number_unsigned/index.html | 4 +- api/json_sax/parse_error/index.html | 4 +- api/json_sax/start_array/index.html | 4 +- api/json_sax/start_object/index.html | 4 +- api/json_sax/string/index.html | 4 +- api/macros/index.html | 2 +- api/macros/json_assert/index.html | 4 +- .../json_diagnostic_positions/index.html | 4 +- api/macros/json_diagnostics/index.html | 4 +- .../index.html | 4 +- api/macros/json_has_cpp_11/index.html | 4 +- api/macros/json_has_filesystem/index.html | 4 +- api/macros/json_has_ranges/index.html | 4 +- api/macros/json_has_static_rtti/index.html | 4 +- .../json_has_three_way_comparison/index.html | 4 +- api/macros/json_no_io/index.html | 4 +- api/macros/json_noexception/index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- api/macros/json_throw_user/index.html | 4 +- api/macros/json_use_global_udls/index.html | 4 +- .../json_use_implicit_conversions/index.html | 4 +- .../index.html | 4 +- .../nlohmann_define_derived_type/index.html | 4 +- .../nlohmann_define_type_intrusive/index.html | 4 +- .../index.html | 4 +- api/macros/nlohmann_json_namespace/index.html | 4 +- .../nlohmann_json_namespace_begin/index.html | 4 +- .../index.html | 4 +- .../nlohmann_json_serialize_enum/index.html | 4 +- .../nlohmann_json_version_major/index.html | 4 +- api/operator_gtgt/index.html | 4 +- api/operator_literal_json/index.html | 4 +- api/operator_literal_json_pointer/index.html | 4 +- api/operator_ltlt/index.html | 4 +- api/ordered_json/index.html | 4 +- api/ordered_map/index.html | 4 +- .../badge/vertical-allrepos/nlohmann-json.svg | 2 +- .../unpkg.com/mermaid@11/dist/mermaid.min.js | 851 +++++++++++------- community/code_of_conduct/index.html | 2 +- community/contribution_guidelines/index.html | 4 +- community/governance/index.html | 2 +- community/index.html | 2 +- community/quality_assurance/index.html | 4 +- community/security_policy/index.html | 2 +- features/arbitrary_types/index.html | 4 +- features/assertions/index.html | 4 +- features/binary_formats/bjdata/index.html | 4 +- features/binary_formats/bson/index.html | 4 +- features/binary_formats/cbor/index.html | 4 +- features/binary_formats/index.html | 2 +- .../binary_formats/messagepack/index.html | 4 +- features/binary_formats/ubjson/index.html | 4 +- features/binary_values/index.html | 4 +- features/comments/index.html | 4 +- .../element_access/checked_access/index.html | 4 +- .../element_access/default_value/index.html | 4 +- features/element_access/index.html | 2 +- .../unchecked_access/index.html | 4 +- features/enum_conversion/index.html | 4 +- features/iterators/index.html | 4 +- features/json_patch/index.html | 4 +- features/json_pointer/index.html | 4 +- features/macros/index.html | 2 +- features/merge_patch/index.html | 4 +- features/modules/index.html | 4 +- features/namespace/index.html | 4 +- features/object_order/index.html | 4 +- features/parsing/index.html | 2 +- features/parsing/json_lines/index.html | 4 +- features/parsing/parse_exceptions/index.html | 4 +- features/parsing/parser_callbacks/index.html | 4 +- features/parsing/sax_interface/index.html | 4 +- features/trailing_commas/index.html | 4 +- features/types/index.html | 4 +- features/types/number_handling/index.html | 4 +- home/architecture/index.html | 4 +- home/customers/index.html | 2 +- home/design_goals/index.html | 2 +- home/exceptions/index.html | 4 +- home/faq/index.html | 4 +- home/license/index.html | 2 +- home/releases/index.html | 4 +- home/sponsors/index.html | 2 +- index.html | 2 +- integration/cmake/index.html | 4 +- integration/index.html | 4 +- integration/migration_guide/index.html | 4 +- integration/package_managers/index.html | 4 +- integration/pkg-config/index.html | 4 +- sitemap.xml | 474 +++++----- sitemap.xml.gz | Bin 1743 -> 1742 bytes 242 files changed, 1214 insertions(+), 1035 deletions(-) diff --git a/404.html b/404.html index 1dd96fac2..d2a47b211 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ - JSON for Modern C++

404 - Not found

\ No newline at end of file + JSON for Modern C++

404 - Not found

\ No newline at end of file diff --git a/api/adl_serializer/from_json/index.html b/api/adl_serializer/from_json/index.html index c450d3975..00876f62b 100644 --- a/api/adl_serializer/from_json/index.html +++ b/api/adl_serializer/from_json/index.html @@ -1,4 +1,4 @@ - from_json - JSON for Modern C++
Skip to content

nlohmann::adl_serializer::from_json

// (1)
+ from_json - JSON for Modern C++      

nlohmann::adl_serializer::from_json

// (1)
 template<typename BasicJsonType, typename TargetType = ValueType>
 static auto from_json(BasicJsonType && j, TargetType& val) noexcept(
     noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
@@ -101,4 +101,4 @@
     std::cout << p.name << " (" << p.age << ") lives in " << p.address << std::endl;
 }
 

Output:

Ned Flanders (60) lives in 744 Evergreen Terrace
-

See also

Version history

  • Added in version 2.1.0.
\ No newline at end of file +

See also

Version history

  • Added in version 2.1.0.
\ No newline at end of file diff --git a/api/adl_serializer/index.html b/api/adl_serializer/index.html index ffd0fac61..4df81a196 100644 --- a/api/adl_serializer/index.html +++ b/api/adl_serializer/index.html @@ -1,4 +1,4 @@ - Overview - JSON for Modern C++
Skip to content

nlohmann::adl_serializer

template<typename, typename>
+ Overview - JSON for Modern C++      

nlohmann::adl_serializer

template<typename, typename>
 struct adl_serializer;
 

Serializer that uses ADL (Argument-Dependent Lookup) to choose to_json/from_json functions from the types' namespaces.

It is implemented similarly to

template<typename ValueType>
 struct adl_serializer {
@@ -12,4 +12,4 @@
         // same thing, but with the "from_json" method
     }
 };
-

Member functions

  • from_json - convert a JSON value to any value type
  • to_json - convert any value type to a JSON value

Version history

  • Added in version 2.1.0.
\ No newline at end of file +

Member functions

  • from_json - convert a JSON value to any value type
  • to_json - convert any value type to a JSON value

Version history

  • Added in version 2.1.0.
\ No newline at end of file diff --git a/api/adl_serializer/to_json/index.html b/api/adl_serializer/to_json/index.html index 8a86bc914..c65931d3b 100644 --- a/api/adl_serializer/to_json/index.html +++ b/api/adl_serializer/to_json/index.html @@ -1,4 +1,4 @@ - to_json - JSON for Modern C++
Skip to content

nlohmann::adl_serializer::to_json

template<typename BasicJsonType, typename TargetType = ValueType>
+ to_json - JSON for Modern C++      

nlohmann::adl_serializer::to_json

template<typename BasicJsonType, typename TargetType = ValueType>
 static auto to_json(BasicJsonType& j, TargetType && val) noexcept(
     noexcept(::nlohmann::to_json(j, std::forward<TargetType>(val))))
 -> decltype(::nlohmann::to_json(j, std::forward<TargetType>(val)), void())
@@ -35,4 +35,4 @@
     std::cout << j << std::endl;
 }
 

Output:

{"address":"744 Evergreen Terrace","age":60,"name":"Ned Flanders"}
-

See also

Version history

  • Added in version 2.1.0.
\ No newline at end of file +

See also

Version history

  • Added in version 2.1.0.
\ No newline at end of file diff --git a/api/basic_json/accept/index.html b/api/basic_json/accept/index.html index 2d266601e..a4939a70d 100644 --- a/api/basic_json/accept/index.html +++ b/api/basic_json/accept/index.html @@ -1,4 +1,4 @@ - accept - JSON for Modern C++
Skip to content

nlohmann::basic_json::accept

// (1)
+ accept - JSON for Modern C++      

nlohmann::basic_json::accept

// (1)
 template<typename InputType>
 static bool accept(InputType&& i,
                    const bool ignore_comments = false,
@@ -36,4 +36,4 @@
               << json::accept(invalid_text) << '\n';
 }
 

Output:

true false
-

See also

  • parse - deserialize from a compatible input
  • operator>> - deserialize from stream

Version history

  • Added in version 3.0.0.
  • Ignoring comments via ignore_comments added in version 3.9.0.
  • Changed runtime assertion in case of FILE* null pointers to exception in version 3.12.0.
  • Added ignore_trailing_commas in version 3.12.1.

Deprecation

Overload (2) replaces calls to accept with a pair of iterators as their first parameter which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like accept({ptr, ptr+len}, ...); with accept(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file +

See also

  • parse - deserialize from a compatible input
  • operator>> - deserialize from stream

Version history

  • Added in version 3.0.0.
  • Ignoring comments via ignore_comments added in version 3.9.0.
  • Changed runtime assertion in case of FILE* null pointers to exception in version 3.12.0.
  • Added ignore_trailing_commas in version 3.12.1.

Deprecation

Overload (2) replaces calls to accept with a pair of iterators as their first parameter which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like accept({ptr, ptr+len}, ...); with accept(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file diff --git a/api/basic_json/array/index.html b/api/basic_json/array/index.html index a79ee1150..1883dda5f 100644 --- a/api/basic_json/array/index.html +++ b/api/basic_json/array/index.html @@ -1,4 +1,4 @@ - array - JSON for Modern C++
Skip to content

nlohmann::basic_json::array

static basic_json array(initializer_list_t init = {});
+ array - JSON for Modern C++      

nlohmann::basic_json::array

static basic_json array(initializer_list_t init = {});
 

Creates a JSON array value from a given initializer list. That is, given a list of values a, b, c, creates the JSON value [a, b, c]. If the initializer list is empty, the empty array [] is created.

Parameters

init (in)
initializer list with JSON values to create an array from (optional)

Return value

JSON array value

Exception safety

Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

Complexity

Linear in the size of init.

Notes

This function is only needed to express two edge cases that cannot be realized with the initializer list constructor (basic_json(initializer_list_t, bool, value_t)). These cases are:

  1. creating an array whose elements are all pairs whose first element is a string -- in this case, the initializer list constructor would create an object, taking the first elements as keys
  2. creating an empty array -- passing the empty initializer list to the initializer list constructor yields an empty object

Examples

Example

The following code shows an example for the array function.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -22,4 +22,4 @@
 []
 [1,2,3,4]
 [["one",1],["two",2]]
-

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/array_t/index.html b/api/basic_json/array_t/index.html index adb205079..d11a504e8 100644 --- a/api/basic_json/array_t/index.html +++ b/api/basic_json/array_t/index.html @@ -1,4 +1,4 @@ - array_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::array_t

using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
+ array_t - JSON for Modern C++      

nlohmann::basic_json::array_t

using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
 

The type used to store JSON arrays.

RFC 8259 describes JSON arrays as follows:

An array is an ordered sequence of zero or more values.

To store objects in C++, a type is defined by the template parameters explained below.

Template parameters

ArrayType
container type to store arrays (e.g., std::vector or std::list)
AllocatorType
the allocator to use for objects (e.g., std::allocator)

Notes

Default type

With the default values for ArrayType (std::vector) and AllocatorType (std::allocator), the default value for array_t is:

std::vector<
   basic_json, // value_type
   std::allocator<basic_json> // allocator_type
@@ -14,4 +14,4 @@
     std::cout << std::boolalpha << std::is_same<std::vector<json>, json::array_t>::value << std::endl;
 }
 

Output:

true
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/at/index.html b/api/basic_json/at/index.html index 9ef0e246f..7e974ff07 100644 --- a/api/basic_json/at/index.html +++ b/api/basic_json/at/index.html @@ -1,4 +1,4 @@ - at - JSON for Modern C++
Skip to content

nlohmann::basic_json::at

// (1)
+ at - JSON for Modern C++      

nlohmann::basic_json::at

// (1)
 reference at(size_type idx);
 const_reference at(size_type idx) const;
 
@@ -498,4 +498,4 @@
 [json.exception.out_of_range.402] array index '-' (2) is out of range
 [json.exception.out_of_range.403] key 'foo' not found
 [json.exception.out_of_range.404] unresolved reference token 'foo'
-

See also

Version history

  1. Added in version 1.0.0.
  2. Added in version 1.0.0.
  3. Added in version 3.11.0.
  4. Added in version 2.0.0.
\ No newline at end of file +

See also

Version history

  1. Added in version 1.0.0.
  2. Added in version 1.0.0.
  3. Added in version 3.11.0.
  4. Added in version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/back/index.html b/api/basic_json/back/index.html index 0a29a94ed..6b5465e3f 100644 --- a/api/basic_json/back/index.html +++ b/api/basic_json/back/index.html @@ -1,4 +1,4 @@ - back - JSON for Modern C++
Skip to content

nlohmann::basic_json::back

reference back();
+ back - JSON for Modern C++      

nlohmann::basic_json::back

reference back();
 
 const_reference back() const;
 

Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

auto tmp = c.end();
@@ -49,4 +49,4 @@
 16
 "Hello, world"
 [json.exception.invalid_iterator.214] cannot get value
-

See also

  • front to access the first element

Version history

  • Added in version 1.0.0.
  • Adjusted code to return reference to binary values in version 3.8.0.
\ No newline at end of file +

See also

  • front to access the first element

Version history

  • Added in version 1.0.0.
  • Adjusted code to return reference to binary values in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/basic_json/index.html b/api/basic_json/basic_json/index.html index 676e468be..1740c2fbb 100644 --- a/api/basic_json/basic_json/index.html +++ b/api/basic_json/basic_json/index.html @@ -1,4 +1,4 @@ - (Constructor) - JSON for Modern C++
Skip to content

nlohmann::basic_json::basic_json

// (1)
+ (Constructor) - JSON for Modern C++      

nlohmann::basic_json::basic_json

// (1)
 basic_json(const value_t v);
 
 // (2)
@@ -455,4 +455,4 @@
 }
 

Output:

null
 23
-

Version history

  1. Since version 1.0.0.
  2. Since version 1.0.0.
  3. Since version 2.1.0.
  4. Since version 3.2.0.
  5. Since version 1.0.0.
  6. Since version 1.0.0.
  7. Since version 1.0.0.
  8. Since version 1.0.0.
  9. Since version 1.0.0.
\ No newline at end of file +

Version history

  1. Since version 1.0.0.
  2. Since version 1.0.0.
  3. Since version 2.1.0.
  4. Since version 3.2.0.
  5. Since version 1.0.0.
  6. Since version 1.0.0.
  7. Since version 1.0.0.
  8. Since version 1.0.0.
  9. Since version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/begin/index.html b/api/basic_json/begin/index.html index 30c5ff94f..c8c9e1a47 100644 --- a/api/basic_json/begin/index.html +++ b/api/basic_json/begin/index.html @@ -1,4 +1,4 @@ - begin - JSON for Modern C++
Skip to content

nlohmann::basic_json::begin

iterator begin() noexcept;
+ begin - JSON for Modern C++      

nlohmann::basic_json::begin

iterator begin() noexcept;
 const_iterator begin() const noexcept;
 

Returns an iterator to the first element.

Illustration from cppreference.com

Return value

iterator to the first element

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code shows an example for begin().

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -17,4 +17,4 @@
     std::cout << *it << '\n';
 }
 

Output:

1
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/binary/index.html b/api/basic_json/binary/index.html index 651bf09e6..2b29dcc97 100644 --- a/api/basic_json/binary/index.html +++ b/api/basic_json/binary/index.html @@ -1,4 +1,4 @@ - binary - JSON for Modern C++
Skip to content

nlohmann::basic_json::binary

// (1)
+ binary - JSON for Modern C++      

nlohmann::basic_json::binary

// (1)
 static basic_json binary(const typename binary_t::container_type& init);
 static basic_json binary(typename binary_t::container_type&& init);
 
@@ -24,4 +24,4 @@
     std::cout << "type: " << j.type_name() << ", subtype: " << j.get_binary().subtype() << std::endl;
 }
 

Output:

type: binary, subtype: 42
-

Version history

  • Added in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/binary_t/index.html b/api/basic_json/binary_t/index.html index 8ffa0782b..fd9ccc5c8 100644 --- a/api/basic_json/binary_t/index.html +++ b/api/basic_json/binary_t/index.html @@ -1,4 +1,4 @@ - binary_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::binary_t

using binary_t = byte_container_with_subtype<BinaryType>;
+ binary_t - JSON for Modern C++      

nlohmann::basic_json::binary_t

using binary_t = byte_container_with_subtype<BinaryType>;
 

This type is a type designed to carry binary data that appears in various serialized formats, such as CBOR's Major Type 2, MessagePack's bin, and BSON's generic binary subtype. This type is NOT a part of standard JSON and exists solely for compatibility with these binary types. As such, it is simply defined as an ordered sequence of zero or more byte values.

Additionally, as an implementation detail, the subtype of the binary data is carried around as a std::uint64_t, which is compatible with both of the binary data formats that use binary subtyping, (though the specific numbering is incompatible with each other, and it is up to the user to translate between them). The subtype is added to BinaryType via the helper type byte_container_with_subtype.

CBOR's RFC 7049 describes this type as:

Major type 2: a byte string. The string's length in bytes is represented following the rules for positive integers (major type 0).

MessagePack's documentation on the bin type family describes this type as:

Bin format family stores a byte array in 2, 3, or 5 bytes of extra bytes in addition to the size of the byte array.

BSON's specifications describe several binary types; however, this type is intended to represent the generic binary type which has the description:

Generic binary subtype - This is the most commonly used binary subtype and should be the 'default' for drivers and tools.

None of these impose any limitations on the internal representation other than the basic unit of storage be some type of array whose parts are decomposable into bytes.

The default representation of this binary format is a std::vector<std::uint8_t>, which is a very common way to represent a byte array in modern C++.

Template parameters

BinaryType
container type to store arrays

Notes

Default type

The default values for BinaryType is std::vector<std::uint8_t>.

Storage

Binary Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of the type binary_t* must be dereferenced.

Notes on subtypes

  • CBOR

    • Binary values are represented as byte strings. Subtypes are written as tags.
  • MessagePack

    • If a subtype is given and the binary array contains exactly 1, 2, 4, 8, or 16 elements, the fixext family (fixext1, fixext2, fixext4, fixext8) is used. For other sizes, the ext family (ext8, ext16, ext32) is used. The subtype is then added as a signed 8-bit integer.
    • If no subtype is given, the bin family (bin8, bin16, bin32) is used.
  • BSON

    • If a subtype is given, it is used and added as an unsigned 8-bit integer.
    • If no subtype is given, the generic binary subtype 0x00 is used.

Examples

Example

The following code shows that binary_t is by default, a typedef to nlohmann::byte_container_with_subtype<std::vector<std::uint8_t>>.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -10,4 +10,4 @@
     std::cout << std::boolalpha << std::is_same<nlohmann::byte_container_with_subtype<std::vector<std::uint8_t>>, json::binary_t>::value << std::endl;
 }
 

Output:

true
-

See also

Version history

  • Added in version 3.8.0. Changed the type of subtype to std::uint64_t in version 3.10.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.8.0. Changed the type of subtype to std::uint64_t in version 3.10.0.
\ No newline at end of file diff --git a/api/basic_json/boolean_t/index.html b/api/basic_json/boolean_t/index.html index b6fb1afbe..ab21f22d1 100644 --- a/api/basic_json/boolean_t/index.html +++ b/api/basic_json/boolean_t/index.html @@ -1,4 +1,4 @@ - boolean_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::boolean_t

using boolean_t = BooleanType;
+ boolean_t - JSON for Modern C++      

nlohmann::basic_json::boolean_t

using boolean_t = BooleanType;
 

The type used to store JSON booleans.

RFC 8259 implicitly describes a boolean as a type which differentiates the two literals true and false.

To store objects in C++, a type is defined by the template parameter BooleanType which chooses the type to use.

Notes

Default type

With the default values for BooleanType (bool), the default value for boolean_t is bool.

Storage

Boolean values are stored directly inside a basic_json type.

Examples

Example

The following code shows that boolean_t is by default, a typedef to bool.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -10,4 +10,4 @@
     std::cout << std::boolalpha << std::is_same<bool, json::boolean_t>::value << std::endl;
 }
 

Output:

true
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/cbegin/index.html b/api/basic_json/cbegin/index.html index 23b1efe33..ce152cb42 100644 --- a/api/basic_json/cbegin/index.html +++ b/api/basic_json/cbegin/index.html @@ -1,4 +1,4 @@ - cbegin - JSON for Modern C++
Skip to content

nlohmann::basic_json::cbegin

const_iterator cbegin() const noexcept;
+ cbegin - JSON for Modern C++      

nlohmann::basic_json::cbegin

const_iterator cbegin() const noexcept;
 

Returns an iterator to the first element.

Illustration from cppreference.com

Return value

iterator to the first element

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code shows an example for cbegin().

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -16,4 +16,4 @@
     std::cout << *it << '\n';
 }
 

Output:

1
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/cbor_tag_handler_t/index.html b/api/basic_json/cbor_tag_handler_t/index.html index a8ae5874b..23b35e14b 100644 --- a/api/basic_json/cbor_tag_handler_t/index.html +++ b/api/basic_json/cbor_tag_handler_t/index.html @@ -1,4 +1,4 @@ - cbor_tag_handler_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::cbor_tag_handler_t

enum class cbor_tag_handler_t
+ cbor_tag_handler_t - JSON for Modern C++      

nlohmann::basic_json::cbor_tag_handler_t

enum class cbor_tag_handler_t
 {
     error,
     ignore,
@@ -35,4 +35,4 @@
 

Output:

[json.exception.parse_error.112] parse error at byte 1: syntax error while parsing CBOR value: invalid byte: 0xD8
 {"bytes":[202,254,186,190],"subtype":null}
 {"bytes":[202,254,186,190],"subtype":66}
-

Version history

  • Added in version 3.9.0. Added value store in 3.10.0.
\ No newline at end of file +

Version history

  • Added in version 3.9.0. Added value store in 3.10.0.
\ No newline at end of file diff --git a/api/basic_json/cend/index.html b/api/basic_json/cend/index.html index 676e0ba73..4c5cdc02d 100644 --- a/api/basic_json/cend/index.html +++ b/api/basic_json/cend/index.html @@ -1,4 +1,4 @@ - cend - JSON for Modern C++
Skip to content

nlohmann::basic_json::cend

const_iterator cend() const noexcept;
+ cend - JSON for Modern C++      

nlohmann::basic_json::cend

const_iterator cend() const noexcept;
 

Returns an iterator to one past the last element.

Illustration from cppreference.com

Return value

iterator one past the last element

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code shows an example for cend().

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -19,4 +19,4 @@
     std::cout << *it << '\n';
 }
 

Output:

5
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/clear/index.html b/api/basic_json/clear/index.html index 104d6d43e..de4f63b07 100644 --- a/api/basic_json/clear/index.html +++ b/api/basic_json/clear/index.html @@ -1,4 +1,4 @@ - clear - JSON for Modern C++
Skip to content

nlohmann::basic_json::clear

void clear() noexcept;
+ clear - JSON for Modern C++      

nlohmann::basic_json::clear

void clear() noexcept;
 

Clears the content of a JSON value and resets it to the default value as if basic_json(value_t) would have been called with the current value type from type():

Value type initial value
null null
boolean false
string ""
number 0
binary An empty byte vector
object {}
array []

Has the same effect as calling

*this = basic_json(type());
 

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Linear in the size of the JSON value.

Notes

All iterators, pointers, and references related to this container are invalidated.

Examples

Example

The example below shows the effect of clear() to different JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -41,4 +41,4 @@
 {}
 []
 ""
-

Version history

  • Added in version 1.0.0.
  • Added support for binary types in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Added support for binary types in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/contains/index.html b/api/basic_json/contains/index.html index f7a91f980..58b5b6ce4 100644 --- a/api/basic_json/contains/index.html +++ b/api/basic_json/contains/index.html @@ -1,4 +1,4 @@ - contains - JSON for Modern C++
Skip to content

nlohmann::basic_json::contains

// (1)
+ contains - JSON for Modern C++      

nlohmann::basic_json::contains

// (1)
 bool contains(const typename object_t::key_type& key) const;
 
 // (2)
@@ -101,4 +101,4 @@
 false
 false
 false
-

Version history

  1. Added in version 3.11.0.
  2. Added in version 3.6.0. Extended template KeyType to support comparable types in version 3.11.0.
  3. Added in version 3.7.0.
\ No newline at end of file +

Version history

  1. Added in version 3.11.0.
  2. Added in version 3.6.0. Extended template KeyType to support comparable types in version 3.11.0.
  3. Added in version 3.7.0.
\ No newline at end of file diff --git a/api/basic_json/count/index.html b/api/basic_json/count/index.html index fa162bbd3..eea7f1eed 100644 --- a/api/basic_json/count/index.html +++ b/api/basic_json/count/index.html @@ -1,4 +1,4 @@ - count - JSON for Modern C++
Skip to content

nlohmann::basic_json::count

// (1)
+ count - JSON for Modern C++      

nlohmann::basic_json::count

// (1)
 size_type count(const typename object_t::key_type& key) const;
 
 // (2)
@@ -46,4 +46,4 @@
 }
 

Output:

number of elements with key "two": 1
 number of elements with key "three": 0
-

Version history

  1. Added in version 3.11.0.
  2. Added in version 1.0.0. Changed parameter key type to KeyType&& in version 3.11.0.
\ No newline at end of file +

Version history

  1. Added in version 3.11.0.
  2. Added in version 1.0.0. Changed parameter key type to KeyType&& in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/crbegin/index.html b/api/basic_json/crbegin/index.html index 59ec046c0..8039a50da 100644 --- a/api/basic_json/crbegin/index.html +++ b/api/basic_json/crbegin/index.html @@ -1,4 +1,4 @@ - crbegin - JSON for Modern C++
Skip to content

nlohmann::basic_json::crbegin

const_reverse_iterator crbegin() const noexcept;
+ crbegin - JSON for Modern C++      

nlohmann::basic_json::crbegin

const_reverse_iterator crbegin() const noexcept;
 

Returns an iterator to the reverse-beginning; that is, the last element.

Illustration from cppreference.com

Return value

reverse iterator to the first element

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code shows an example for crbegin().

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -16,4 +16,4 @@
     std::cout << *it << '\n';
 }
 

Output:

5
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/crend/index.html b/api/basic_json/crend/index.html index 36c19303c..c9ba3594b 100644 --- a/api/basic_json/crend/index.html +++ b/api/basic_json/crend/index.html @@ -1,4 +1,4 @@ - crend - JSON for Modern C++
Skip to content

nlohmann::basic_json::crend

const_reverse_iterator crend() const noexcept;
+ crend - JSON for Modern C++      

nlohmann::basic_json::crend

const_reverse_iterator crend() const noexcept;
 

Returns an iterator to the reverse-end; that is, one before the first element. This element acts as a placeholder, attempting to access it results in undefined behavior.

Illustration from cppreference.com

Return value

reverse iterator to the element following the last element

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code shows an example for eend().

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -19,4 +19,4 @@
     std::cout << *it << '\n';
 }
 

Output:

1
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/default_object_comparator_t/index.html b/api/basic_json/default_object_comparator_t/index.html index 3bf484bdf..e0ca337ae 100644 --- a/api/basic_json/default_object_comparator_t/index.html +++ b/api/basic_json/default_object_comparator_t/index.html @@ -1,4 +1,4 @@ - default_object_comparator_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::default_object_comparator_t

using default_object_comparator_t = std::less<StringType>;  // until C++14
+ default_object_comparator_t - JSON for Modern C++      

nlohmann::basic_json::default_object_comparator_t

using default_object_comparator_t = std::less<StringType>;  // until C++14
 
 using default_object_comparator_t = std::less<>;            // since C++14
 

The default comparator used by object_t.

Since C++14 a transparent comparator is used which prevents unnecessary string construction when looking up a key in an object.

The actual comparator used depends on object_t and can be obtained via object_comparator_t.

Examples

Example

The example below demonstrates the default comparator.

#include <iostream>
@@ -14,4 +14,4 @@
 }
 

Output:

one < two : true
 three < four : false
-

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/diff/index.html b/api/basic_json/diff/index.html index c73399c9f..d6080086c 100644 --- a/api/basic_json/diff/index.html +++ b/api/basic_json/diff/index.html @@ -1,4 +1,4 @@ - diff - JSON for Modern C++
Skip to content

nlohmann::basic_json::diff

static basic_json diff(const basic_json& source,
+ diff - JSON for Modern C++      

nlohmann::basic_json::diff

static basic_json diff(const basic_json& source,
                        const basic_json& target);
 

Creates a JSON Patch so that value source can be changed into the value target by calling patch function.

For two JSON values source and target, the following code yields always true:

source.patch(diff(source, target)) == target;
 

Parameters

source (in)
JSON value to compare from
target (in)
JSON value to compare against

Return value

a JSON patch to convert the source to target

Exception safety

Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

Complexity

Linear in the lengths of source and target.

Notes

Currently, only remove, add, and replace operations are generated.

Examples

Example

The following code shows how a JSON patch is created as a diff for two JSON values.

#include <iostream>
@@ -63,4 +63,4 @@
         "world"
     ]
 }
-

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/dump/index.html b/api/basic_json/dump/index.html index 433011876..58cf6959c 100644 --- a/api/basic_json/dump/index.html +++ b/api/basic_json/dump/index.html @@ -1,4 +1,4 @@ - dump - JSON for Modern C++
Skip to content

nlohmann::basic_json::dump

string_t dump(const int indent = -1,
+ dump - JSON for Modern C++      

nlohmann::basic_json::dump

string_t dump(const int indent = -1,
               const char indent_char = ' ',
               const bool ensure_ascii = false,
               const error_handler_t error_handler = error_handler_t::strict) const;
@@ -105,4 +105,4 @@
 [json.exception.type_error.316] invalid UTF-8 byte at index 2: 0xA9
 string with replaced invalid characters: "ä�ü"
 string with ignored invalid characters: "äü"
-

Version history

  • Added in version 1.0.0.
  • Indentation character indent_char, option ensure_ascii and exceptions added in version 3.0.0.
  • Error handlers added in version 3.4.0.
  • Serialization of binary values added in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Indentation character indent_char, option ensure_ascii and exceptions added in version 3.0.0.
  • Error handlers added in version 3.4.0.
  • Serialization of binary values added in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/emplace/index.html b/api/basic_json/emplace/index.html index 3ae426f52..3341f72f6 100644 --- a/api/basic_json/emplace/index.html +++ b/api/basic_json/emplace/index.html @@ -1,4 +1,4 @@ - emplace - JSON for Modern C++
Skip to content

nlohmann::basic_json::emplace

template<class... Args>
+ emplace - JSON for Modern C++      

nlohmann::basic_json::emplace

template<class... Args>
 std::pair<iterator, bool> emplace(Args&& ... args);
 

Inserts a new element into a JSON object constructed in-place with the given args if there is no element with the key in the container. If the function is called on a JSON null value, an empty object is created before appending the value created from args.

Template parameters

Args
compatible types to create a basic_json object

Iterator invalidation

For ordered_json, adding a value to an object can yield a reallocation, in which case all iterators (including the end() iterator) and all references to the elements are invalidated.

Parameters

args (in)
arguments to forward to a constructor of basic_json

Return value

a pair consisting of an iterator to the inserted element, or the already-existing element if no insertion happened, and a bool denoting whether the insertion took place.

Exceptions

Throws type_error.311 when called on a type other than JSON object or null; example: "cannot use emplace() with number"

Complexity

Logarithmic in the size of the container, O(log(size())).

Examples

Example

The example shows how emplace() can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object. Further note how no value is added if there was already one value stored with the same key.

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -37,4 +37,4 @@
 3 true
 {"A":"a","B":"b"}
 "b" false
-

Version history

  • Since version 2.0.8.
\ No newline at end of file +

Version history

  • Since version 2.0.8.
\ No newline at end of file diff --git a/api/basic_json/emplace_back/index.html b/api/basic_json/emplace_back/index.html index 9a4c7c3c0..fb0a73d2c 100644 --- a/api/basic_json/emplace_back/index.html +++ b/api/basic_json/emplace_back/index.html @@ -1,4 +1,4 @@ - emplace_back - JSON for Modern C++
Skip to content

nlohmann::basic_json::emplace_back

template<class... Args>
+ emplace_back - JSON for Modern C++      

nlohmann::basic_json::emplace_back

template<class... Args>
 reference emplace_back(Args&& ... args);
 

Creates a JSON value from the passed parameters args to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending the value created from args.

Template parameters

Args
compatible types to create a basic_json object

Iterator invalidation

By adding an element to the end of the array, a reallocation can happen, in which case all iterators (including the end() iterator) and all references to the elements are invalidated. Otherwise, only the end() iterator is invalidated.

Parameters

args (in)
arguments to forward to a constructor of basic_json

Return value

reference to the inserted element

Exceptions

Throws type_error.311 when called on a type other than JSON array or null; example: "cannot use emplace_back() with number"

Complexity

Amortized constant.

Examples

Example

The example shows how emplace_back() can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -28,4 +28,4 @@
 null
 [1,2,3,4,5,6]
 ["first",["second","second","second"]]
-

See also

Version history

  • Since version 2.0.8.
  • Returns reference since 3.7.0.
\ No newline at end of file +

See also

Version history

  • Since version 2.0.8.
  • Returns reference since 3.7.0.
\ No newline at end of file diff --git a/api/basic_json/empty/index.html b/api/basic_json/empty/index.html index f64ff5fb2..a0ad1418b 100644 --- a/api/basic_json/empty/index.html +++ b/api/basic_json/empty/index.html @@ -1,4 +1,4 @@ - empty - JSON for Modern C++
Skip to content

nlohmann::basic_json::empty

bool empty() const noexcept;
+ empty - JSON for Modern C++      

nlohmann::basic_json::empty

bool empty() const noexcept;
 

Checks if a JSON value has no elements (i.e., whether its size() is 0).

Return value

The return value depends on the different types and is defined as follows:

Value type return value
null true
boolean false
string false
number false
binary false
object result of function object_t::empty()
array result of function array_t::empty()

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Constant, as long as array_t and object_t satisfy the Container concept; that is, their empty() functions have constant complexity.

Possible implementation

bool empty() const noexcept
 {
     return size() == 0;
@@ -42,4 +42,4 @@
 false
 true
 false
-

Version history

  • Added in version 1.0.0.
  • Extended to return false for binary types in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Extended to return false for binary types in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/end/index.html b/api/basic_json/end/index.html index 4b024400d..238ee74de 100644 --- a/api/basic_json/end/index.html +++ b/api/basic_json/end/index.html @@ -1,4 +1,4 @@ - end - JSON for Modern C++
Skip to content

nlohmann::basic_json::end

iterator end() noexcept;
+ end - JSON for Modern C++      

nlohmann::basic_json::end

iterator end() noexcept;
 const_iterator end() const noexcept;
 

Returns an iterator to one past the last element.

Illustration from cppreference.com

Return value

iterator one past the last element

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code shows an example for end().

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -20,4 +20,4 @@
     std::cout << *it << '\n';
 }
 

Output:

5
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/end_pos/index.html b/api/basic_json/end_pos/index.html index 838c1696c..2cb7f97e5 100644 --- a/api/basic_json/end_pos/index.html +++ b/api/basic_json/end_pos/index.html @@ -1,4 +1,4 @@ - end_pos - JSON for Modern C++
Skip to content

nlohmann::basic_json::end_pos

#if JSON_DIAGNOSTIC_POSITIONS
+ end_pos - JSON for Modern C++      

nlohmann::basic_json::end_pos

#if JSON_DIAGNOSTIC_POSITIONS
 constexpr std::size_t end_pos() const noexcept;
 #endif
 

Returns the position immediately following the last character of the JSON string from which the value was parsed from.

JSON type return value
object position after the closing }
array position after the closing ]
string position after the closing "
number position after the last character
boolean position after e
null position after l

Return value

the position of the character following the last character of the given value in the parsed JSON string, if the value was created by the parse function, or std::string::npos if the value was constructed otherwise

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Notes

Note

The function is only available if macro JSON_DIAGNOSTIC_POSITIONS has been defined to 1 before including the library header.

Invalidation

The returned positions are only valid as long as the JSON value is not changed. The positions are not updated when the JSON value is changed.

Examples

Example
#include <iostream>
@@ -101,4 +101,4 @@ Original string:
 1
 Parsed string: 
 1
-

The output shows the start/end positions of all the objects and fields in the JSON string.

See also

Version history

  • Added in version 3.12.0.
\ No newline at end of file +

The output shows the start/end positions of all the objects and fields in the JSON string.

See also

Version history

  • Added in version 3.12.0.
\ No newline at end of file diff --git a/api/basic_json/erase/index.html b/api/basic_json/erase/index.html index 9f0b0be9c..5cbdb1db7 100644 --- a/api/basic_json/erase/index.html +++ b/api/basic_json/erase/index.html @@ -1,4 +1,4 @@ - erase - JSON for Modern C++
Skip to content

nlohmann::basic_json::erase

// (1)
+ erase - JSON for Modern C++      

nlohmann::basic_json::erase

// (1)
 iterator erase(iterator pos);
 const_iterator erase(const_iterator pos);
 
@@ -148,4 +148,4 @@
     std::cout << j_array << '\n';
 }
 

Output:

[0,1,3,4,5]
-

Version history

  1. Added in version 1.0.0. Added support for binary types in version 3.8.0.
  2. Added in version 1.0.0. Added support for binary types in version 3.8.0.
  3. Added in version 1.0.0.
  4. Added in version 3.11.0.
  5. Added in version 1.0.0.
\ No newline at end of file +

Version history

  1. Added in version 1.0.0. Added support for binary types in version 3.8.0.
  2. Added in version 1.0.0. Added support for binary types in version 3.8.0.
  3. Added in version 1.0.0.
  4. Added in version 3.11.0.
  5. Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/error_handler_t/index.html b/api/basic_json/error_handler_t/index.html index 6d73b83ea..da58afe4d 100644 --- a/api/basic_json/error_handler_t/index.html +++ b/api/basic_json/error_handler_t/index.html @@ -1,4 +1,4 @@ - error_handler_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::error_handler_t

enum class error_handler_t {
+ error_handler_t - JSON for Modern C++      

nlohmann::basic_json::error_handler_t

enum class error_handler_t {
     strict,
     replace,
     ignore
@@ -30,4 +30,4 @@
 

Output:

[json.exception.type_error.316] invalid UTF-8 byte at index 2: 0xA9
 string with replaced invalid characters: "ä�ü"
 string with ignored invalid characters: "äü"
-

Version history

  • Added in version 3.4.0.
\ No newline at end of file +

Version history

  • Added in version 3.4.0.
\ No newline at end of file diff --git a/api/basic_json/exception/index.html b/api/basic_json/exception/index.html index d7e0e0438..1f00c6c36 100644 --- a/api/basic_json/exception/index.html +++ b/api/basic_json/exception/index.html @@ -1,4 +1,4 @@ - exception - JSON for Modern C++
Skip to content

nlohmann::basic_json::exception

class exception : public std::exception;
+ exception - JSON for Modern C++      

nlohmann::basic_json::exception

class exception : public std::exception;
 

This class is an extension of std::exception objects with a member id for exception ids. It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions, see example below.

classDiagram
   direction LR
 
@@ -49,4 +49,4 @@
 }
 

Output:

message: [json.exception.out_of_range.403] key 'non-existing' not found
 exception id: 403
-

See also

List of exceptions

Version history

  • Since version 3.0.0.
\ No newline at end of file +

See also

List of exceptions

Version history

\ No newline at end of file diff --git a/api/basic_json/find/index.html b/api/basic_json/find/index.html index c53d5bbb8..426d9724d 100644 --- a/api/basic_json/find/index.html +++ b/api/basic_json/find/index.html @@ -1,4 +1,4 @@ - find - JSON for Modern C++
Skip to content

nlohmann::basic_json::find

// (1)
+ find - JSON for Modern C++      

nlohmann::basic_json::find

// (1)
 iterator find(const typename object_t::key_type& key);
 const_iterator find(const typename object_t::key_type& key) const;
 
@@ -55,4 +55,4 @@
 

Output:

"two" was found: true
 value at key "two": 2
 "three" was found: false
-

See also

Version history

  1. Added in version 3.11.0.
  2. Added in version 1.0.0. Changed to support comparable types in version 3.11.0.
\ No newline at end of file +

See also

Version history

  1. Added in version 3.11.0.
  2. Added in version 1.0.0. Changed to support comparable types in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/flatten/index.html b/api/basic_json/flatten/index.html index 6c6a7e94c..e679d59b0 100644 --- a/api/basic_json/flatten/index.html +++ b/api/basic_json/flatten/index.html @@ -1,4 +1,4 @@ - flatten - JSON for Modern C++
Skip to content

nlohmann::basic_json::flatten

basic_json flatten() const;
+ flatten - JSON for Modern C++      

nlohmann::basic_json::flatten

basic_json flatten() const;
 

The function creates a JSON object whose keys are JSON pointers (see RFC 6901) and whose values are all primitive (see is_primitive() for more information). The original JSON value can be restored using the unflatten() function.

Return value

an object that maps JSON pointers to primitive values

Exception safety

Strong exception safety: if an exception occurs, the original value stays intact.

Complexity

Linear in the size of the JSON value.

Notes

Empty objects and arrays are flattened to null and will not be reconstructed correctly by the unflatten() function.

Examples

Example

The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -43,4 +43,4 @@
     "/object/value": 42.99,
     "/pi": 3.141
 }
-

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/from_bjdata/index.html b/api/basic_json/from_bjdata/index.html index c562c877c..4be74e15f 100644 --- a/api/basic_json/from_bjdata/index.html +++ b/api/basic_json/from_bjdata/index.html @@ -1,4 +1,4 @@ - from_bjdata - JSON for Modern C++
Skip to content

nlohmann::basic_json::from_bjdata

// (1)
+ from_bjdata - JSON for Modern C++      

nlohmann::basic_json::from_bjdata

// (1)
 template<typename InputType>
 static basic_json from_bjdata(InputType&& i,
                               const bool strict = true,
@@ -32,4 +32,4 @@
   "compact": true,
   "schema": 0
 }
-

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/from_bson/index.html b/api/basic_json/from_bson/index.html index ffd6d0235..89d39d556 100644 --- a/api/basic_json/from_bson/index.html +++ b/api/basic_json/from_bson/index.html @@ -1,4 +1,4 @@ - from_bson - JSON for Modern C++
Skip to content

nlohmann::basic_json::from_bson

// (1)
+ from_bson - JSON for Modern C++      

nlohmann::basic_json::from_bson

// (1)
 template<typename InputType>
 static basic_json from_bson(InputType&& i,
                             const bool strict = true,
@@ -33,4 +33,4 @@
   "compact": true,
   "schema": 0
 }
-

See also

Version history

  • Added in version 3.4.0.

Deprecation

  • Overload (2) replaces calls to from_bson with a pointer and a length as first two parameters, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_bson(ptr, len, ...); with from_bson(ptr, ptr+len, ...);.
  • Overload (2) replaces calls to from_bson with a pair of iterators as their first parameter, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_bson({ptr, ptr+len}, ...); with from_bson(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file +

See also

Version history

  • Added in version 3.4.0.

Deprecation

  • Overload (2) replaces calls to from_bson with a pointer and a length as first two parameters, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_bson(ptr, len, ...); with from_bson(ptr, ptr+len, ...);.
  • Overload (2) replaces calls to from_bson with a pair of iterators as their first parameter, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_bson({ptr, ptr+len}, ...); with from_bson(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file diff --git a/api/basic_json/from_cbor/index.html b/api/basic_json/from_cbor/index.html index 0fb4cc6d8..2d9b386b1 100644 --- a/api/basic_json/from_cbor/index.html +++ b/api/basic_json/from_cbor/index.html @@ -1,4 +1,4 @@ - from_cbor - JSON for Modern C++
Skip to content

nlohmann::basic_json::from_cbor

// (1)
+ from_cbor - JSON for Modern C++      

nlohmann::basic_json::from_cbor

// (1)
 template<typename InputType>
 static basic_json from_cbor(InputType&& i,
                             const bool strict = true,
@@ -35,4 +35,4 @@
   "compact": true,
   "schema": 0
 }
-

Version history

  • Added in version 2.0.9.
  • Parameter start_index since version 2.1.1.
  • Changed to consume input adapters, removed start_index parameter, and added strict parameter in version 3.0.0.
  • Added allow_exceptions parameter in version 3.2.0.
  • Added tag_handler parameter in version 3.9.0.

Deprecation

  • Overload (2) replaces calls to from_cbor with a pointer and a length as first two parameters, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_cbor(ptr, len, ...); with from_cbor(ptr, ptr+len, ...);.
  • Overload (2) replaces calls to from_cbor with a pair of iterators as their first parameter, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_cbor({ptr, ptr+len}, ...); with from_cbor(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file +

Version history

  • Added in version 2.0.9.
  • Parameter start_index since version 2.1.1.
  • Changed to consume input adapters, removed start_index parameter, and added strict parameter in version 3.0.0.
  • Added allow_exceptions parameter in version 3.2.0.
  • Added tag_handler parameter in version 3.9.0.

Deprecation

  • Overload (2) replaces calls to from_cbor with a pointer and a length as first two parameters, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_cbor(ptr, len, ...); with from_cbor(ptr, ptr+len, ...);.
  • Overload (2) replaces calls to from_cbor with a pair of iterators as their first parameter, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_cbor({ptr, ptr+len}, ...); with from_cbor(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file diff --git a/api/basic_json/from_msgpack/index.html b/api/basic_json/from_msgpack/index.html index c7f65f84b..28db13c9c 100644 --- a/api/basic_json/from_msgpack/index.html +++ b/api/basic_json/from_msgpack/index.html @@ -1,4 +1,4 @@ - from_msgpack - JSON for Modern C++
Skip to content

nlohmann::basic_json::from_msgpack

// (1)
+ from_msgpack - JSON for Modern C++      

nlohmann::basic_json::from_msgpack

// (1)
 template<typename InputType>
 static basic_json from_msgpack(InputType&& i,
                                const bool strict = true,
@@ -32,4 +32,4 @@
   "compact": true,
   "schema": 0
 }
-

Version history

  • Added in version 2.0.9.
  • Parameter start_index since version 2.1.1.
  • Changed to consume input adapters, removed start_index parameter, and added strict parameter in version 3.0.0.
  • Added allow_exceptions parameter in version 3.2.0.

Deprecation

  • Overload (2) replaces calls to from_msgpack with a pointer and a length as first two parameters, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_msgpack(ptr, len, ...); with from_msgpack(ptr, ptr+len, ...);.
  • Overload (2) replaces calls to from_cbor with a pair of iterators as their first parameter, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_msgpack({ptr, ptr+len}, ...); with from_msgpack(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file +

Version history

  • Added in version 2.0.9.
  • Parameter start_index since version 2.1.1.
  • Changed to consume input adapters, removed start_index parameter, and added strict parameter in version 3.0.0.
  • Added allow_exceptions parameter in version 3.2.0.

Deprecation

  • Overload (2) replaces calls to from_msgpack with a pointer and a length as first two parameters, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_msgpack(ptr, len, ...); with from_msgpack(ptr, ptr+len, ...);.
  • Overload (2) replaces calls to from_cbor with a pair of iterators as their first parameter, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_msgpack({ptr, ptr+len}, ...); with from_msgpack(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file diff --git a/api/basic_json/from_ubjson/index.html b/api/basic_json/from_ubjson/index.html index 8a2eff8ff..2dc8e86e4 100644 --- a/api/basic_json/from_ubjson/index.html +++ b/api/basic_json/from_ubjson/index.html @@ -1,4 +1,4 @@ - from_ubjson - JSON for Modern C++
Skip to content

nlohmann::basic_json::from_ubjson

// (1)
+ from_ubjson - JSON for Modern C++      

nlohmann::basic_json::from_ubjson

// (1)
 template<typename InputType>
 static basic_json from_ubjson(InputType&& i,
                               const bool strict = true,
@@ -32,4 +32,4 @@
   "compact": true,
   "schema": 0
 }
-

Version history

  • Added in version 3.1.0.
  • Added allow_exceptions parameter in version 3.2.0.

Deprecation

  • Overload (2) replaces calls to from_ubjson with a pointer and a length as first two parameters, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_ubjson(ptr, len, ...); with from_ubjson(ptr, ptr+len, ...);.
  • Overload (2) replaces calls to from_ubjson with a pair of iterators as their first parameter, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_ubjson({ptr, ptr+len}, ...); with from_ubjson(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file +

Version history

  • Added in version 3.1.0.
  • Added allow_exceptions parameter in version 3.2.0.

Deprecation

  • Overload (2) replaces calls to from_ubjson with a pointer and a length as first two parameters, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_ubjson(ptr, len, ...); with from_ubjson(ptr, ptr+len, ...);.
  • Overload (2) replaces calls to from_ubjson with a pair of iterators as their first parameter, which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like from_ubjson({ptr, ptr+len}, ...); with from_ubjson(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file diff --git a/api/basic_json/front/index.html b/api/basic_json/front/index.html index 05cbb2b3a..3da6af662 100644 --- a/api/basic_json/front/index.html +++ b/api/basic_json/front/index.html @@ -1,4 +1,4 @@ - front - JSON for Modern C++
Skip to content

nlohmann::basic_json::front

reference front();
+ front - JSON for Modern C++      

nlohmann::basic_json::front

reference front();
 const_reference front() const;
 

Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

Return value

In the case of a structured type (array or object), a reference to the first element is returned. In the case of number, string, boolean, or binary values, a reference to the value is returned.

Exception safety

Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

Exceptions

If the JSON value is null, exception invalid_iterator.214 is thrown.

Complexity

Constant.

Notes

Precondition

The array or object must not be empty. Calling front on an empty array or object yields undefined behavior.

Examples

Example

The following code shows an example for front().

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -35,4 +35,4 @@
 1
 1
 "Hello, world"
-

See also

  • back to access the last element

Version history

  • Added in version 1.0.0.
  • Adjusted code to return reference to binary values in version 3.8.0.
\ No newline at end of file +

See also

  • back to access the last element

Version history

  • Added in version 1.0.0.
  • Adjusted code to return reference to binary values in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/get/index.html b/api/basic_json/get/index.html index 9b8a983e0..99605962c 100644 --- a/api/basic_json/get/index.html +++ b/api/basic_json/get/index.html @@ -1,4 +1,4 @@ - get - JSON for Modern C++
Skip to content

nlohmann::basic_json::get

// (1)
+ get - JSON for Modern C++      

nlohmann::basic_json::get

// (1)
 template<typename ValueType>
 ValueType get() const noexcept(
     noexcept(JSONSerializer<ValueType>::from_json(
@@ -103,4 +103,4 @@
 }
 

Output:

17 17 17 17
 true
-

Version history

  1. Since version 2.1.0.
  2. Since version 2.1.0. Extended to work with other specializations of basic_json in version 3.2.0.
  3. Since version 1.0.0.
\ No newline at end of file +

Version history

  1. Since version 2.1.0.
  2. Since version 2.1.0. Extended to work with other specializations of basic_json in version 3.2.0.
  3. Since version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/get_allocator/index.html b/api/basic_json/get_allocator/index.html index 4e84ef4c0..8b5a1891c 100644 --- a/api/basic_json/get_allocator/index.html +++ b/api/basic_json/get_allocator/index.html @@ -1,4 +1,4 @@ - get_allocator - JSON for Modern C++
Skip to content

nlohmann::basic_json::get_allocator

static allocator_type get_allocator();
+ get_allocator - JSON for Modern C++      

nlohmann::basic_json::get_allocator

static allocator_type get_allocator();
 

Returns the allocator associated with the container.

Return value

associated allocator

Examples

Example

The example shows how get_allocator() is used to created json values.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -18,4 +18,4 @@
     traits_t::deallocate(alloc, j, 1);
 }
 

Output:

"Hello, world!"
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/get_binary/index.html b/api/basic_json/get_binary/index.html index 9ab9206b6..796db779d 100644 --- a/api/basic_json/get_binary/index.html +++ b/api/basic_json/get_binary/index.html @@ -1,4 +1,4 @@ - get_binary - JSON for Modern C++
Skip to content

nlohmann::basic_json::get_binary

binary_t& get_binary();
+ get_binary - JSON for Modern C++      

nlohmann::basic_json::get_binary

binary_t& get_binary();
 
 const binary_t& get_binary() const;
 

Returns a reference to the stored binary value.

Return value

Reference to binary value.

Exception safety

Strong exception safety: if an exception occurs, the original value stays intact.

Exceptions

Throws type_error.302 if the value is not binary

Complexity

Constant.

Examples

Example

The following code shows how to query a binary value.

#include <iostream>
@@ -18,4 +18,4 @@
     std::cout << "type: " << j.type_name() << ", subtype: " << j.get_binary().subtype() << std::endl;
 }
 

Output:

type: binary, subtype: 42
-

Version history

  • Added in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/get_ptr/index.html b/api/basic_json/get_ptr/index.html index 217d49e57..f6914df4c 100644 --- a/api/basic_json/get_ptr/index.html +++ b/api/basic_json/get_ptr/index.html @@ -1,4 +1,4 @@ - get_ptr - JSON for Modern C++
Skip to content

nlohmann::basic_json::get_ptr

template<typename PointerType>
+ get_ptr - JSON for Modern C++      

nlohmann::basic_json::get_ptr

template<typename PointerType>
 PointerType get_ptr() noexcept;
 
 template<typename PointerType>
@@ -44,4 +44,4 @@ value at 0x6000029fc088 is 1
 }
 

Output:

17 17 17 17
 true
-

See also

Version history

  • Added in version 1.0.0.
  • Extended to binary types in version 3.8.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
  • Extended to binary types in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/get_ref/index.html b/api/basic_json/get_ref/index.html index db52630eb..62c359dc4 100644 --- a/api/basic_json/get_ref/index.html +++ b/api/basic_json/get_ref/index.html @@ -1,4 +1,4 @@ - get_ref - JSON for Modern C++
Skip to content

nlohmann::basic_json::get_ref

template<typename ReferenceType>
+ get_ref - JSON for Modern C++      

nlohmann::basic_json::get_ref

template<typename ReferenceType>
 ReferenceType get_ref();
 
 template<typename ReferenceType>
@@ -32,4 +32,4 @@
 }
 

Output:

17 17
 [json.exception.type_error.303] incompatible ReferenceType for get_ref, actual type is number
-

See also

Version history

  • Added in version 1.1.0.
  • Extended to binary types in version 3.8.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.1.0.
  • Extended to binary types in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/get_to/index.html b/api/basic_json/get_to/index.html index 3c1602695..5e441a6c8 100644 --- a/api/basic_json/get_to/index.html +++ b/api/basic_json/get_to/index.html @@ -1,4 +1,4 @@ - get_to - JSON for Modern C++
Skip to content

nlohmann::basic_json::get_to

template<typename ValueType>
+ get_to - JSON for Modern C++      

nlohmann::basic_json::get_to

template<typename ValueType>
 ValueType& get_to(ValueType& v) const noexcept(
     noexcept(JSONSerializer<ValueType>::from_json(
         std::declval<const basic_json_t&>(), v)));
@@ -74,4 +74,4 @@
 null: null
 boolean: true
 array: [1,2,3,4,5]
-

Version history

  • Since version 3.3.0.
\ No newline at end of file +

Version history

  • Since version 3.3.0.
\ No newline at end of file diff --git a/api/basic_json/index.html b/api/basic_json/index.html index 7a5ef5d48..f8d935c7a 100644 --- a/api/basic_json/index.html +++ b/api/basic_json/index.html @@ -1,4 +1,4 @@ - Overview - JSON for Modern C++
Skip to content

nlohmann::basic_json

Defined in header <nlohmann/json.hpp>

template<
+ Overview - JSON for Modern C++      

nlohmann::basic_json

Defined in header <nlohmann/json.hpp>

template<
     template<typename U, typename V, typename... Args> class ObjectType = std::map,
     template<typename U, typename... Args> class ArrayType = std::vector,
     class StringType = std::string,
@@ -78,4 +78,4 @@
     "pi": 3.141,
     "size": 8
 }
-

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/input_format_t/index.html b/api/basic_json/input_format_t/index.html index d34935b00..de8d5d639 100644 --- a/api/basic_json/input_format_t/index.html +++ b/api/basic_json/input_format_t/index.html @@ -1,4 +1,4 @@ - input_format_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::input_format_t

enum class input_format_t {
+ input_format_t - JSON for Modern C++      

nlohmann::basic_json::input_format_t

enum class input_format_t {
     json,
     cbor,
     msgpack,
@@ -123,4 +123,4 @@
 

Output:

binary(val=[...])
 
 result: true
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/basic_json/insert/index.html b/api/basic_json/insert/index.html index b49908779..dd584b580 100644 --- a/api/basic_json/insert/index.html +++ b/api/basic_json/insert/index.html @@ -1,4 +1,4 @@ - insert - JSON for Modern C++
Skip to content

nlohmann::basic_json::insert

// (1)
+ insert - JSON for Modern C++      

nlohmann::basic_json::insert

// (1)
 iterator insert(const_iterator pos, const basic_json& val);
 iterator insert(const_iterator pos, basic_json&& val);
 
@@ -116,4 +116,4 @@
 

Output:

{"one":"eins","two":"zwei"}
 {"eleven":"elf","seventeen":"siebzehn"}
 {"eleven":"elf","one":"eins","seventeen":"siebzehn","two":"zwei"}
-

Version history

  1. Added in version 1.0.0.
  2. Added in version 1.0.0.
  3. Added in version 1.0.0.
  4. Added in version 1.0.0.
  5. Added in version 3.0.0.
\ No newline at end of file +

Version history

  1. Added in version 1.0.0.
  2. Added in version 1.0.0.
  3. Added in version 1.0.0.
  4. Added in version 1.0.0.
  5. Added in version 3.0.0.
\ No newline at end of file diff --git a/api/basic_json/invalid_iterator/index.html b/api/basic_json/invalid_iterator/index.html index e856addd9..6a43e0648 100644 --- a/api/basic_json/invalid_iterator/index.html +++ b/api/basic_json/invalid_iterator/index.html @@ -1,4 +1,4 @@ - invalid_iterator - JSON for Modern C++
Skip to content

nlohmann::basic_json::invalid_iterator

class invalid_iterator : public exception;
+ invalid_iterator - JSON for Modern C++      

nlohmann::basic_json::invalid_iterator

class invalid_iterator : public exception;
 

This exception is thrown if iterators passed to a library function do not match the expected semantics.

Exceptions have ids 2xx (see list of iterator errors).

classDiagram
   direction LR
 
@@ -50,4 +50,4 @@
 }
 

Output:

message: [json.exception.invalid_iterator.207] cannot use key() for non-object iterators
 exception id: 207
-

See also

Version history

  • Since version 3.0.0.
\ No newline at end of file +

See also

Version history

\ No newline at end of file diff --git a/api/basic_json/is_array/index.html b/api/basic_json/is_array/index.html index 81fe3f47f..95618265c 100644 --- a/api/basic_json/is_array/index.html +++ b/api/basic_json/is_array/index.html @@ -1,4 +1,4 @@ - is_array - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_array

constexpr bool is_array() const noexcept;
+ is_array - JSON for Modern C++      

nlohmann::basic_json::is_array

constexpr bool is_array() const noexcept;
 

This function returns true if and only if the JSON value is an array.

Return value

true if type is an array, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_array() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 true
 false
 false
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_binary/index.html b/api/basic_json/is_binary/index.html index bcbf8b35f..e55e0bda8 100644 --- a/api/basic_json/is_binary/index.html +++ b/api/basic_json/is_binary/index.html @@ -1,4 +1,4 @@ - is_binary - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_binary

constexpr bool is_binary() const noexcept;
+ is_binary - JSON for Modern C++      

nlohmann::basic_json::is_binary

constexpr bool is_binary() const noexcept;
 

This function returns true if and only if the JSON value is a binary array.

Return value

true if type is binary, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_binary() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 false
 false
 true
-

Version history

  • Added in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/is_boolean/index.html b/api/basic_json/is_boolean/index.html index 7b04bb603..4d2dfbad6 100644 --- a/api/basic_json/is_boolean/index.html +++ b/api/basic_json/is_boolean/index.html @@ -1,4 +1,4 @@ - is_boolean - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_boolean

constexpr bool is_boolean() const noexcept;
+ is_boolean - JSON for Modern C++      

nlohmann::basic_json::is_boolean

constexpr bool is_boolean() const noexcept;
 

This function returns true if and only if the JSON value is true or false.

Return value

true if type is boolean, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_boolean() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 false
 false
 false
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_discarded/index.html b/api/basic_json/is_discarded/index.html index 5c2057c97..0e713ec8d 100644 --- a/api/basic_json/is_discarded/index.html +++ b/api/basic_json/is_discarded/index.html @@ -1,4 +1,4 @@ - is_discarded - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_discarded

constexpr bool is_discarded() const noexcept;
+ is_discarded - JSON for Modern C++      

nlohmann::basic_json::is_discarded

constexpr bool is_discarded() const noexcept;
 

This function returns true for a JSON value if either:

  • the value was discarded during parsing with a callback function (see parser_callback_t), or
  • the value is the result of parsing invalid JSON with parameter allow_exceptions set to false; see parse for more information.

Return value

true if type is discarded, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Notes

Comparisons

Discarded values are never compared equal with operator==. That is, checking whether a JSON value j is discarded will only work via:

j.is_discarded()
 

because

j == json::value_t::discarded
 

will always be false.

Removal during parsing with callback functions

When a value is discarded by a callback function (see parser_callback_t) during parsing, then it is removed when it is part of a structured value. For instance, if the second value of an array is discarded, instead of [null, discarded, false], the array [null, false] is returned. Only if the top-level value is discarded, the return value of the parse call is discarded.

This function will always be false for JSON values after parsing. That is, discarded values can only occur during parsing, but will be removed when inside a structured value or replaced by null in other cases.

Examples

Example

The following code exemplifies is_discarded() for all JSON types.

#include <iostream>
@@ -40,4 +40,4 @@
 false
 false
 false
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_null/index.html b/api/basic_json/is_null/index.html index 17ce218f7..80f066443 100644 --- a/api/basic_json/is_null/index.html +++ b/api/basic_json/is_null/index.html @@ -1,4 +1,4 @@ - is_null - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_null

constexpr bool is_null() const noexcept;
+ is_null - JSON for Modern C++      

nlohmann::basic_json::is_null

constexpr bool is_null() const noexcept;
 

This function returns true if and only if the JSON value is null.

Return value

true if type is null, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_null() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 false
 false
 false
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_number/index.html b/api/basic_json/is_number/index.html index 36794c4c1..6ec6bc6ce 100644 --- a/api/basic_json/is_number/index.html +++ b/api/basic_json/is_number/index.html @@ -1,4 +1,4 @@ - is_number - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_number

constexpr bool is_number() const noexcept;
+ is_number - JSON for Modern C++      

nlohmann::basic_json::is_number

constexpr bool is_number() const noexcept;
 

This function returns true if and only if the JSON value is a number. This includes both integer (signed and unsigned) and floating-point values.

Return value

true if type is number (regardless whether integer, unsigned integer, or floating-type), false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Possible implementation

constexpr bool is_number() const noexcept
 {
     return is_number_integer() || is_number_float();
@@ -42,4 +42,4 @@
 false
 false
 false
-

See also

Version history

  • Added in version 1.0.0.
  • Extended to also return true for unsigned integers in 2.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
  • Extended to also return true for unsigned integers in 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_number_float/index.html b/api/basic_json/is_number_float/index.html index 9c9c8e7fc..40cfdce03 100644 --- a/api/basic_json/is_number_float/index.html +++ b/api/basic_json/is_number_float/index.html @@ -1,4 +1,4 @@ - is_number_float - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_number_float

constexpr bool is_number_float() const noexcept;
+ is_number_float - JSON for Modern C++      

nlohmann::basic_json::is_number_float

constexpr bool is_number_float() const noexcept;
 

This function returns true if and only if the JSON value is a floating-point number. This excludes signed and unsigned integer values.

Return value

true if type is a floating-point number, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_number_float() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 false
 false
 false
-

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_number_integer/index.html b/api/basic_json/is_number_integer/index.html index b8a87abb2..76e3ca93e 100644 --- a/api/basic_json/is_number_integer/index.html +++ b/api/basic_json/is_number_integer/index.html @@ -1,4 +1,4 @@ - is_number_integer - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_number_integer

constexpr bool is_number_integer() const noexcept;
+ is_number_integer - JSON for Modern C++      

nlohmann::basic_json::is_number_integer

constexpr bool is_number_integer() const noexcept;
 

This function returns true if and only if the JSON value is a signed or unsigned integer number. This excludes floating-point values.

Return value

true if type is an integer or unsigned integer number, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_number_integer() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 false
 false
 false
-

See also

Version history

  • Added in version 1.0.0.
  • Extended to also return true for unsigned integers in 2.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
  • Extended to also return true for unsigned integers in 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_number_unsigned/index.html b/api/basic_json/is_number_unsigned/index.html index da83eb421..18b6de7de 100644 --- a/api/basic_json/is_number_unsigned/index.html +++ b/api/basic_json/is_number_unsigned/index.html @@ -1,4 +1,4 @@ - is_number_unsigned - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_number_unsigned

constexpr bool is_number_unsigned() const noexcept;
+ is_number_unsigned - JSON for Modern C++      

nlohmann::basic_json::is_number_unsigned

constexpr bool is_number_unsigned() const noexcept;
 

This function returns true if and only if the JSON value is an unsigned integer number. This excludes floating-point and signed integer values.

Return value

true if type is an unsigned integer number, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_number_unsigned() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 false
 false
 false
-

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_object/index.html b/api/basic_json/is_object/index.html index 3cf1300f7..5968e953b 100644 --- a/api/basic_json/is_object/index.html +++ b/api/basic_json/is_object/index.html @@ -1,4 +1,4 @@ - is_object - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_object

constexpr bool is_object() const noexcept;
+ is_object - JSON for Modern C++      

nlohmann::basic_json::is_object

constexpr bool is_object() const noexcept;
 

This function returns true if and only if the JSON value is an object.

Return value

true if type is an object, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_object() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 false
 false
 false
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_primitive/index.html b/api/basic_json/is_primitive/index.html index 938a6b0c3..094555ceb 100644 --- a/api/basic_json/is_primitive/index.html +++ b/api/basic_json/is_primitive/index.html @@ -1,4 +1,4 @@ - is_primitive - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_primitive

constexpr bool is_primitive() const noexcept;
+ is_primitive - JSON for Modern C++      

nlohmann::basic_json::is_primitive

constexpr bool is_primitive() const noexcept;
 

This function returns true if and only if the JSON type is primitive (string, number, boolean, null, binary).

Return value

true if type is primitive (string, number, boolean, null, or binary), false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Possible implementation

constexpr bool is_primitive() const noexcept
 {
     return is_null() || is_string() || is_boolean() || is_number() || is_binary();
@@ -42,4 +42,4 @@
 false
 true
 true
-

See also

Version history

  • Added in version 1.0.0.
  • Extended to return true for binary types in version 3.8.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
  • Extended to return true for binary types in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/is_string/index.html b/api/basic_json/is_string/index.html index 0c5b7d150..f5636ce86 100644 --- a/api/basic_json/is_string/index.html +++ b/api/basic_json/is_string/index.html @@ -1,4 +1,4 @@ - is_string - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_string

constexpr bool is_string() const noexcept;
+ is_string - JSON for Modern C++      

nlohmann::basic_json::is_string

constexpr bool is_string() const noexcept;
 

This function returns true if and only if the JSON value is a string.

Return value

true if type is a string, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_string() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -38,4 +38,4 @@
 false
 true
 false
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/is_structured/index.html b/api/basic_json/is_structured/index.html index 88c09e2ce..b904efa3b 100644 --- a/api/basic_json/is_structured/index.html +++ b/api/basic_json/is_structured/index.html @@ -1,4 +1,4 @@ - is_structured - JSON for Modern C++
Skip to content

nlohmann::basic_json::is_structured

constexpr bool is_structured() const noexcept;
+ is_structured - JSON for Modern C++      

nlohmann::basic_json::is_structured

constexpr bool is_structured() const noexcept;
 

This function returns true if and only if the JSON type is structured (array or object).

Return value

true if type is structured (array or object), false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Possible implementation

constexpr bool is_structured() const noexcept
 {
     return is_array() || is_object();
@@ -42,4 +42,4 @@
 true
 false
 false
-

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/items/index.html b/api/basic_json/items/index.html index 2e11461d0..4684f72ef 100644 --- a/api/basic_json/items/index.html +++ b/api/basic_json/items/index.html @@ -1,4 +1,4 @@ - items - JSON for Modern C++
Skip to content

nlohmann::basic_json::items

iteration_proxy<iterator> items() noexcept;
+ items - JSON for Modern C++      

nlohmann::basic_json::items

iteration_proxy<iterator> items() noexcept;
 iteration_proxy<const_iterator> items() const noexcept;
 

This function allows accessing iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

For loop without items() function:

for (auto it = j_object.begin(); it != j_object.end(); ++it)
 {
@@ -47,4 +47,4 @@
 key: 2, value: 4
 key: 3, value: 8
 key: 4, value: 16
-

Version history

  • Added iterator_wrapper in version 3.0.0.
  • Added items and deprecated iterator_wrapper in version 3.1.0.
  • Added structured binding support in version 3.5.0.

Deprecation

This function replaces the static function iterator_wrapper which was introduced in version 1.0.0, but has been deprecated in version 3.1.0. Function iterator_wrapper will be removed in version 4.0.0. Please replace all occurrences of iterator_wrapper(j) with j.items().

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file +

Version history

  • Added iterator_wrapper in version 3.0.0.
  • Added items and deprecated iterator_wrapper in version 3.1.0.
  • Added structured binding support in version 3.5.0.

Deprecation

This function replaces the static function iterator_wrapper which was introduced in version 1.0.0, but has been deprecated in version 3.1.0. Function iterator_wrapper will be removed in version 4.0.0. Please replace all occurrences of iterator_wrapper(j) with j.items().

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file diff --git a/api/basic_json/json_base_class_t/index.html b/api/basic_json/json_base_class_t/index.html index f1673bf08..e441275f9 100644 --- a/api/basic_json/json_base_class_t/index.html +++ b/api/basic_json/json_base_class_t/index.html @@ -1,4 +1,4 @@ - json_base_class_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::json_base_class_t

using json_base_class_t = detail::json_base_class<CustomBaseClass>;
+ json_base_class_t - JSON for Modern C++      

nlohmann::basic_json::json_base_class_t

using json_base_class_t = detail::json_base_class<CustomBaseClass>;
 

The base class used to inject custom functionality into each instance of basic_json. Examples of such functionality might be metadata, additional member functions (e.g., visitors), or other application-specific code.

Template parameters

CustomBaseClass
the base class to be added to basic_json

Notes

Default type

The default value for CustomBaseClass is void. In this case, an empty base class is used and no additional functionality is injected.

Limitations

The type CustomBaseClass has to be a default-constructible class. basic_json only supports copy/move construction/assignment if CustomBaseClass does so as well.

Examples

Example

The following code shows how to inject custom data and methods for each node.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -91,4 +91,4 @@
 /null - metadata = 42 -> null
 /object - metadata = 21 -> {"uint":1}
 /object/uint - metadata = 42 -> 1
-

Version history

  • Added in version 3.12.0.
\ No newline at end of file +

Version history

  • Added in version 3.12.0.
\ No newline at end of file diff --git a/api/basic_json/json_serializer/index.html b/api/basic_json/json_serializer/index.html index 8ef501722..78b10d43f 100644 --- a/api/basic_json/json_serializer/index.html +++ b/api/basic_json/json_serializer/index.html @@ -1,4 +1,4 @@ - json_serializer - JSON for Modern C++
Skip to content

nlohmann::basic_json::json_serializer

template<typename T, typename SFINAE>
+ json_serializer - JSON for Modern C++      

nlohmann::basic_json::json_serializer

template<typename T, typename SFINAE>
 using json_serializer = JSONSerializer<T, SFINAE>;
 

Template parameters

T
type to convert; will be used in the to_json/from_json functions
SFINAE
type to add compile type checks via SFINAE; usually void

Notes

Default type

The default values for json_serializer is adl_serializer.

Examples

Example

The example below shows how a conversion of a non-default-constructible type is implemented via a specialization of the adl_serializer.

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -54,4 +54,4 @@
     std::cout << p.name << " (" << p.age << ") lives in " << p.address << std::endl;
 }
 

Output:

Ned Flanders (60) lives in 744 Evergreen Terrace
-

Version history

  • Since version 2.0.0.
\ No newline at end of file +

Version history

  • Since version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/max_size/index.html b/api/basic_json/max_size/index.html index 0998aadcd..35adc6080 100644 --- a/api/basic_json/max_size/index.html +++ b/api/basic_json/max_size/index.html @@ -1,4 +1,4 @@ - max_size - JSON for Modern C++
Skip to content

nlohmann::basic_json::max_size

size_type max_size() const noexcept;
+ max_size - JSON for Modern C++      

nlohmann::basic_json::max_size

size_type max_size() const noexcept;
 

Returns the maximum number of elements a JSON value is able to hold due to system or library implementation limitations, i.e. std::distance(begin(), end()) for the JSON value.

Return value

The return value depends on the different types and is defined as follows:

Value type return value
null 0 (same as size())
boolean 1 (same as size())
string 1 (same as size())
number 1 (same as size())
binary 1 (same as size())
object result of function object_t::max_size()
array result of function array_t::max_size()

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Constant, as long as array_t and object_t satisfy the Container concept; that is, their max_size() functions have constant complexity.

Notes

This function does not return the maximal length of a string stored as JSON value -- it returns the maximal number of string elements the JSON value can store which is 1.

Examples

Example

The following code calls max_size() on the different value types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -31,4 +31,4 @@
 115292150460684697
 576460752303423487
 1
-

Note the output is platform-dependent.

Version history

  • Added in version 1.0.0.
  • Extended to return 1 for binary types in version 3.8.0.
\ No newline at end of file +

Note the output is platform-dependent.

Version history

  • Added in version 1.0.0.
  • Extended to return 1 for binary types in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/merge_patch/index.html b/api/basic_json/merge_patch/index.html index 4892844a7..9f55ceaa5 100644 --- a/api/basic_json/merge_patch/index.html +++ b/api/basic_json/merge_patch/index.html @@ -1,4 +1,4 @@ - merge_patch - JSON for Modern C++
Skip to content

nlohmann::basic_json::merge_patch

void merge_patch(const basic_json& apply_patch);
+ merge_patch - JSON for Modern C++      

nlohmann::basic_json::merge_patch

void merge_patch(const basic_json& apply_patch);
 

The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content. This function applies a merge patch to the current JSON value.

The function implements the following algorithm from Section 2 of RFC 7396 (JSON Merge Patch):

define MergePatch(Target, Patch):
   if Patch is an Object:
     if Target is not an Object:
@@ -64,4 +64,4 @@
     ],
     "title": "Hello!"
 }
-

See also

Version history

  • Added in version 3.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.0.0.
\ No newline at end of file diff --git a/api/basic_json/meta/index.html b/api/basic_json/meta/index.html index c551d0e3d..6dcaa00bb 100644 --- a/api/basic_json/meta/index.html +++ b/api/basic_json/meta/index.html @@ -1,4 +1,4 @@ - meta - JSON for Modern C++
Skip to content

nlohmann::basic_json::meta

static basic_json meta();
+ meta - JSON for Modern C++      

nlohmann::basic_json::meta

static basic_json meta();
 

This function returns a JSON object with information about the library, including the version number and information on the platform and compiler.

Return value

JSON object holding version information

key description
compiler Information on the used compiler. It is an object with the following keys: c++ (the used C++ standard), family (the compiler family; possible values are clang, icc, gcc, ilecpp, msvc, pgcpp, sunpro, and unknown), and version (the compiler version).
copyright The copyright line for the library as string.
name The name of the library as string.
platform The used platform as string. Possible values are win32, linux, apple, unix, and unknown.
url The URL of the project as string.
version The version of the library. It is an object with the following keys: major, minor, and patch as defined by Semantic Versioning, and string (the version string).

Exception safety

Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

Complexity

Constant.

Examples

Example

The following code shows an example output of the meta() function.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -27,4 +27,4 @@
         "string": "3.12.0"
     }
 }
-

Note the output is platform-dependent.

See also

Version history

  • Added in version 2.1.0.
\ No newline at end of file +

Note the output is platform-dependent.

See also

Version history

  • Added in version 2.1.0.
\ No newline at end of file diff --git a/api/basic_json/number_float_t/index.html b/api/basic_json/number_float_t/index.html index a1caac0ed..8f286ee4b 100644 --- a/api/basic_json/number_float_t/index.html +++ b/api/basic_json/number_float_t/index.html @@ -1,4 +1,4 @@ - number_float_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::number_float_t

using number_float_t = NumberFloatType;
+ number_float_t - JSON for Modern C++      

nlohmann::basic_json::number_float_t

using number_float_t = NumberFloatType;
 

The type used to store JSON numbers (floating-point).

RFC 8259 describes numbers as follows:

The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer, or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

To store floating-point numbers in C++, a type is defined by the template parameter NumberFloatType which chooses the type to use.

Notes

Default type

With the default values for NumberFloatType (double), the default value for number_float_t is double.

Default behavior

  • The restrictions about leading zeros are not enforced in C++. Instead, leading zeros in floating-point literals will be ignored. Internally, the value will be stored as a decimal number. For instance, the C++ floating-point literal 01.2 will be serialized to 1.2. During deserialization, leading zeros yield an error.
  • Not-a-number (NaN) values will be serialized to null.

Limits

RFC 8259 states:

This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.

This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than -1.79769313486232e+308 and values greater than 1.79769313486232e+308 will be stored as NaN internally and be serialized to null.

Storage

Floating-point number values are stored directly inside a basic_json type.

Examples

Example

The following code shows that number_float_t is by default, a typedef to double.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -10,4 +10,4 @@
     std::cout << std::boolalpha << std::is_same<double, json::number_float_t>::value << std::endl;
 }
 

Output:

true
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/number_integer_t/index.html b/api/basic_json/number_integer_t/index.html index 5025b485e..ff60ad095 100644 --- a/api/basic_json/number_integer_t/index.html +++ b/api/basic_json/number_integer_t/index.html @@ -1,4 +1,4 @@ - number_integer_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::number_integer_t

using number_integer_t = NumberIntegerType;
+ number_integer_t - JSON for Modern C++      

nlohmann::basic_json::number_integer_t

using number_integer_t = NumberIntegerType;
 

The type used to store JSON numbers (integers).

RFC 8259 describes numbers as follows:

The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer, or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

To store integer numbers in C++, a type is defined by the template parameter NumberIntegerType which chooses the type to use.

Notes

Default type

With the default values for NumberIntegerType (std::int64_t), the default value for number_integer_t is std::int64_t.

Default behavior

  • The restrictions about leading zeros are not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as an octal number. Internally, the value will be stored as a decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
  • Not-a-number (NaN) values will be serialized to null.

Limits

RFC 8259 specifies:

An implementation may set limits on the range and precision of numbers.

When the default type is used, the maximal integer number that can be stored is 9223372036854775807 (INT64_MAX) and the minimal integer number that can be stored is -9223372036854775808 (INT64_MIN). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will automatically be stored as number_unsigned_t or number_float_t.

RFC 8259 further states:

Note that when such software is used, numbers that are integers and are in the range [-2^{53}+1, 2^{53}-1] are interoperable in the sense that implementations will agree exactly on their numeric values.

As this range is a subrange of the exactly supported range [INT64_MIN, INT64_MAX], this class's integer type is interoperable.

Storage

Integer number values are stored directly inside a basic_json type.

Examples

Example

The following code shows that number_integer_t is by default, a typedef to std::int64_t.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -10,4 +10,4 @@
     std::cout << std::boolalpha << std::is_same<std::int64_t, json::number_integer_t>::value << std::endl;
 }
 

Output:

true
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/number_unsigned_t/index.html b/api/basic_json/number_unsigned_t/index.html index 1a73e190c..810868c01 100644 --- a/api/basic_json/number_unsigned_t/index.html +++ b/api/basic_json/number_unsigned_t/index.html @@ -1,4 +1,4 @@ - number_unsigned_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::number_unsigned_t

using number_unsigned_t = NumberUnsignedType;
+ number_unsigned_t - JSON for Modern C++      

nlohmann::basic_json::number_unsigned_t

using number_unsigned_t = NumberUnsignedType;
 

The type used to store JSON numbers (unsigned).

RFC 8259 describes numbers as follows:

The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer, or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

To store unsigned integer numbers in C++, a type is defined by the template parameter NumberUnsignedType which chooses the type to use.

Notes

Default type

With the default values for NumberUnsignedType (std::uint64_t), the default value for number_unsigned_t is std::uint64_t.

Default behavior

  • The restrictions about leading zeros are not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as an octal number. Internally, the value will be stored as a decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
  • Not-a-number (NaN) values will be serialized to null.

Limits

RFC 8259 specifies:

An implementation may set limits on the range and precision of numbers.

When the default type is used, the maximal integer number that can be stored is 18446744073709551615 (UINT64_MAX) and the minimal integer number that can be stored is 0. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will automatically be stored as number_integer_t or number_float_t.

RFC 8259 further states:

Note that when such software is used, numbers that are integers and are in the range \f[-2^{53}+1, 2^{53}-1]\f are interoperable in the sense that implementations will agree exactly on their numeric values.

As this range is a subrange (when considered in conjunction with the number_integer_t type) of the exactly supported range [0, UINT64_MAX], this class's integer type is interoperable.

Storage

Integer number values are stored directly inside a basic_json type.

Examples

Example

The following code shows that number_unsigned_t is by default, a typedef to std::uint64_t.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -10,4 +10,4 @@
     std::cout << std::boolalpha << std::is_same<std::uint64_t, json::number_unsigned_t>::value << std::endl;
 }
 

Output:

true
-

Version history

  • Added in version 2.0.0.
\ No newline at end of file +

Version history

  • Added in version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/object/index.html b/api/basic_json/object/index.html index 6e3853aad..ecdc9fba8 100644 --- a/api/basic_json/object/index.html +++ b/api/basic_json/object/index.html @@ -1,4 +1,4 @@ - object - JSON for Modern C++
Skip to content

nlohmann::basic_json::object

static basic_json object(initializer_list_t init = {});
+ object - JSON for Modern C++      

nlohmann::basic_json::object

static basic_json object(initializer_list_t init = {});
 

Creates a JSON object value from a given initializer list. The initializer lists elements must be pairs, and their first elements must be strings. If the initializer list is empty, the empty object {} is created.

Parameters

init (in)
initializer list with JSON values to create an object from (optional)

Return value

JSON object value

Exception safety

Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

Exceptions

Throws type_error.301 if init is not a list of pairs whose first elements are strings. In this case, no object can be created. When such a value is passed to basic_json(initializer_list_t, bool, value_t), an array would have been created from the passed initializer list init. See the example below.

Complexity

Linear in the size of init.

Notes

This function is only added for symmetry reasons. In contrast to the related function array(initializer_list_t), there are no cases that can only be expressed by this function. That is, any initializer list init can also be passed to the initializer list constructor basic_json(initializer_list_t, bool, value_t).

Examples

Example

The following code shows an example for the object function.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -31,4 +31,4 @@
 {}
 {"one":1,"two":2}
 [json.exception.type_error.301] cannot create object from initializer list
-

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/object_comparator_t/index.html b/api/basic_json/object_comparator_t/index.html index 71a0652fb..7ff3af630 100644 --- a/api/basic_json/object_comparator_t/index.html +++ b/api/basic_json/object_comparator_t/index.html @@ -1,4 +1,4 @@ - object_comparator_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::object_comparator_t

using object_comparator_t = typename object_t::key_compare;
+ object_comparator_t - JSON for Modern C++      

nlohmann::basic_json::object_comparator_t

using object_comparator_t = typename object_t::key_compare;
 // or
 using object_comparator_t = default_object_comparator_t;
 

The comparator used by object_t. Defined as typename object_t::key_compare if available, and default_object_comparator_t otherwise.

Examples

Example

The example below demonstrates the used object comparator.

#include <iostream>
@@ -14,4 +14,4 @@
 }
 

Output:

json::object_comparator_t("one", "two") = true
 json::object_comparator_t("three", "four") = false
-

Version history

  • Added in version 3.0.0.
  • Changed to be conditionally defined as typename object_t::key_compare or default_object_comparator_t in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 3.0.0.
  • Changed to be conditionally defined as typename object_t::key_compare or default_object_comparator_t in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/object_t/index.html b/api/basic_json/object_t/index.html index 064d3876e..be4558726 100644 --- a/api/basic_json/object_t/index.html +++ b/api/basic_json/object_t/index.html @@ -1,4 +1,4 @@ - object_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::object_t

using object_t = ObjectType<StringType,
+ object_t - JSON for Modern C++      

nlohmann::basic_json::object_t

using object_t = ObjectType<StringType,
                             basic_json,
                             default_object_comparator_t,
                             AllocatorType<std::pair<const StringType, basic_json>>>;
@@ -28,4 +28,4 @@
     std::cout << std::boolalpha << std::is_same<std::map<json::string_t, json>, json::object_t>::value << std::endl;
 }
 

Output:

true
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/operator+=/index.html b/api/basic_json/operator+=/index.html index d51e80625..bd6652ea2 100644 --- a/api/basic_json/operator+=/index.html +++ b/api/basic_json/operator+=/index.html @@ -1,4 +1,4 @@ - operator+= - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator+=

// (1)
+ operator+= - JSON for Modern C++      

nlohmann::basic_json::operator+=

// (1)
 reference operator+=(basic_json&& val);
 reference operator+=(const basic_json& val);
 
@@ -96,4 +96,4 @@
 null
 {"four":4,"one":1,"three":3,"two":2}
 [["five",5]]
-

See also

Version history

  1. Since version 1.0.0.
  2. Since version 1.0.0.
  3. Since version 2.0.0.
\ No newline at end of file +

See also

Version history

  1. Since version 1.0.0.
  2. Since version 1.0.0.
  3. Since version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/operator=/index.html b/api/basic_json/operator=/index.html index 218a6afe8..0eeafba14 100644 --- a/api/basic_json/operator=/index.html +++ b/api/basic_json/operator=/index.html @@ -1,4 +1,4 @@ - operator= - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator=

basic_json& operator=(basic_json other) noexcept (
+ operator= - JSON for Modern C++      

nlohmann::basic_json::operator=

basic_json& operator=(basic_json other) noexcept (
     std::is_nothrow_move_constructible<value_t>::value &&
     std::is_nothrow_move_assignable<value_t>::value &&
     std::is_nothrow_move_constructible<json_value>::value &&
@@ -24,4 +24,4 @@
 }
 

Output:

23
 23
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/operator[]/index.html b/api/basic_json/operator[]/index.html index 0b64997af..03f028e2e 100644 --- a/api/basic_json/operator[]/index.html +++ b/api/basic_json/operator[]/index.html @@ -1,4 +1,4 @@ - operator[] - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator[]

// (1)
+ operator[] - JSON for Modern C++      

nlohmann::basic_json::operator[]

// (1)
 reference operator[](size_type idx);
 const_reference operator[](size_type idx) const;
 
@@ -283,4 +283,4 @@
 "foo"
 [1,2]
 2
-

See also

Version history

  1. Added in version 1.0.0.
  2. Added in version 1.0.0. Added overloads for T* key in version 1.1.0. Removed overloads for T* key (replaced by 3) in version 3.11.0.
  3. Added in version 3.11.0.
  4. Added in version 2.0.0.
\ No newline at end of file +

See also

Version history

  1. Added in version 1.0.0.
  2. Added in version 1.0.0. Added overloads for T* key in version 1.1.0. Removed overloads for T* key (replaced by 3) in version 3.11.0.
  3. Added in version 3.11.0.
  4. Added in version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/operator_ValueType/index.html b/api/basic_json/operator_ValueType/index.html index 3762ac807..6be960e21 100644 --- a/api/basic_json/operator_ValueType/index.html +++ b/api/basic_json/operator_ValueType/index.html @@ -1,4 +1,4 @@ - operator ValueType - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator ValueType

template<typename ValueType>
+ operator ValueType - JSON for Modern C++      

nlohmann::basic_json::operator ValueType

template<typename ValueType>
 JSON_EXPLICIT operator ValueType() const;
 

Implicit type conversion between the JSON value and a compatible value. The call is realized by calling get(). See Notes for the meaning of JSON_EXPLICIT.

Template parameters

ValueType
the value type to return

Return value

copy of the JSON value, converted to ValueType

Exceptions

Depends on what json_serializer<ValueType> from_json() method throws

Complexity

Linear in the size of the JSON value.

Notes

Definition of JSON_EXPLICIT

By default JSON_EXPLICIT is defined to the empty string, so the signature is:

template<typename ValueType>
 operator ValueType() const;
@@ -76,4 +76,4 @@
 boolean: true
 array: [1,2,3,4,5]
 [json.exception.type_error.302] type must be boolean, but is string
-

Version history

\ No newline at end of file +

Version history

\ No newline at end of file diff --git a/api/basic_json/operator_eq/index.html b/api/basic_json/operator_eq/index.html index 0903e5c7f..fec9e48c3 100644 --- a/api/basic_json/operator_eq/index.html +++ b/api/basic_json/operator_eq/index.html @@ -1,4 +1,4 @@ - operator== - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator==

// until C++20
+ operator== - JSON for Modern C++      

nlohmann::basic_json::operator==

// until C++20
 bool operator==(const_reference lhs, const_reference rhs) noexcept;   // (1)
 
 template<typename ScalarType>
@@ -115,4 +115,4 @@
 17 == nullptr false
 "foo" == nullptr false
 null == nullptr true
-

Version history

  1. Added in version 1.0.0. Added C++20 member functions in version 3.11.0.
  2. Added in version 1.0.0. Added C++20 member functions in version 3.11.0.
\ No newline at end of file +

Version history

  1. Added in version 1.0.0. Added C++20 member functions in version 3.11.0.
  2. Added in version 1.0.0. Added C++20 member functions in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/operator_ge/index.html b/api/basic_json/operator_ge/index.html index 8c4dbc453..ff5692557 100644 --- a/api/basic_json/operator_ge/index.html +++ b/api/basic_json/operator_ge/index.html @@ -1,4 +1,4 @@ - operator>= - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator>=

// until C++20
+ operator>= - JSON for Modern C++      

nlohmann::basic_json::operator>=

// until C++20
 bool operator>=(const_reference lhs, const_reference rhs) noexcept;   // (1)
 
 template<typename ScalarType>
@@ -34,4 +34,4 @@
 {"A":"a","B":"b"} >= {"A":"a","B":"b"} true
 17 >= 17.0000000000001 false
 "foo" >= "bar" true
-

See also

Version history

  1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
  2. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
\ No newline at end of file +

See also

Version history

  1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
  2. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/operator_gt/index.html b/api/basic_json/operator_gt/index.html index 0c00b5aaf..3bb3d01ac 100644 --- a/api/basic_json/operator_gt/index.html +++ b/api/basic_json/operator_gt/index.html @@ -1,4 +1,4 @@ - operator> - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator>

// until C++20
+ operator> - JSON for Modern C++      

nlohmann::basic_json::operator>

// until C++20
 bool operator>(const_reference lhs, const_reference rhs) noexcept;   // (1)
 
 template<typename ScalarType>
@@ -34,4 +34,4 @@
 {"A":"a","B":"b"} > {"A":"a","B":"b"} false
 17 > 17.0000000000001 false
 "foo" > "bar" true
-

See also

Version history

  1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
  2. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
\ No newline at end of file +

See also

Version history

  1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
  2. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/operator_le/index.html b/api/basic_json/operator_le/index.html index 8c5c1cf9b..b7c3210ca 100644 --- a/api/basic_json/operator_le/index.html +++ b/api/basic_json/operator_le/index.html @@ -1,4 +1,4 @@ - operator<= - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator<=

// until C++20
+ operator<= - JSON for Modern C++      

nlohmann::basic_json::operator<=

// until C++20
 bool operator<=(const_reference lhs, const_reference rhs) noexcept;   // (1)
 
 template<typename ScalarType>
@@ -34,4 +34,4 @@
 {"A":"a","B":"b"} <= {"A":"a","B":"b"} true
 17 <= 17.0000000000001 true
 "foo" <= "bar" false
-

See also

Version history

  1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
  2. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
\ No newline at end of file +

See also

Version history

  1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
  2. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/operator_lt/index.html b/api/basic_json/operator_lt/index.html index ff5124d76..2ddbbecf6 100644 --- a/api/basic_json/operator_lt/index.html +++ b/api/basic_json/operator_lt/index.html @@ -1,4 +1,4 @@ - operator< - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator<

// until C++20
+ operator< - JSON for Modern C++      

nlohmann::basic_json::operator<

// until C++20
 bool operator<(const_reference lhs, const_reference rhs) noexcept;   // (1)
 
 template<typename ScalarType>
@@ -34,4 +34,4 @@
 {"A":"a","B":"b"} == {"A":"a","B":"b"} false
 17 == 17.0000000000001 true
 "foo" == "bar" false
-

See also

Version history

  1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
  2. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
\ No newline at end of file +

See also

Version history

  1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
  2. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/operator_ne/index.html b/api/basic_json/operator_ne/index.html index 5667e7d5c..b19bad13e 100644 --- a/api/basic_json/operator_ne/index.html +++ b/api/basic_json/operator_ne/index.html @@ -1,4 +1,4 @@ - operator!= - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator!=

// until C++20
+ operator!= - JSON for Modern C++      

nlohmann::basic_json::operator!=

// until C++20
 bool operator!=(const_reference lhs, const_reference rhs) noexcept;   // (1)
 
 template<typename ScalarType>
@@ -69,4 +69,4 @@
 17 != nullptr true
 "foo" != nullptr true
 null != nullptr false
-

Version history

  1. Added in version 1.0.0. Added C++20 member functions in version 3.11.0.
  2. Added in version 1.0.0. Added C++20 member functions in version 3.11.0.
\ No newline at end of file +

Version history

  1. Added in version 1.0.0. Added C++20 member functions in version 3.11.0.
  2. Added in version 1.0.0. Added C++20 member functions in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/operator_spaceship/index.html b/api/basic_json/operator_spaceship/index.html index cf687956f..f59049a2a 100644 --- a/api/basic_json/operator_spaceship/index.html +++ b/api/basic_json/operator_spaceship/index.html @@ -1,4 +1,4 @@ - operator - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator<=>

// since C++20
+ operator - JSON for Modern C++      

nlohmann::basic_json::operator<=>

// since C++20
 class basic_json {
     std::partial_ordering operator<=>(const_reference rhs) const noexcept;  // (1)
 
@@ -93,4 +93,4 @@
 17 <=> 17.000000 := equivalent
 17 <=> nan := unordered
 "17" <=> 17 := greater
-

See also

Version history

  1. Added in version 3.11.0.
  2. Added in version 3.11.0.
\ No newline at end of file +

See also

Version history

  1. Added in version 3.11.0.
  2. Added in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/operator_value_t/index.html b/api/basic_json/operator_value_t/index.html index 47dd6ea9b..d1f146da0 100644 --- a/api/basic_json/operator_value_t/index.html +++ b/api/basic_json/operator_value_t/index.html @@ -1,4 +1,4 @@ - operator value_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::operator value_t

constexpr operator value_t() const noexcept;
+ operator value_t - JSON for Modern C++      

nlohmann::basic_json::operator value_t

constexpr operator value_t() const noexcept;
 

Return the type of the JSON value as a value from the value_t enumeration.

Return value

the type of the JSON value

Value type return value
null value_t::null
boolean value_t::boolean
string value_t::string
number (integer) value_t::number_integer
number (unsigned integer) value_t::number_unsigned
number (floating-point) value_t::number_float
object value_t::object
array value_t::array
binary value_t::binary
discarded value_t::discarded

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies operator value_t() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -45,4 +45,4 @@
 true
 true
 true
-

Version history

  • Added in version 1.0.0.
  • Added unsigned integer type in version 2.0.0.
  • Added binary type in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Added unsigned integer type in version 2.0.0.
  • Added binary type in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/other_error/index.html b/api/basic_json/other_error/index.html index bd3ab4dcc..5bfa0e535 100644 --- a/api/basic_json/other_error/index.html +++ b/api/basic_json/other_error/index.html @@ -1,4 +1,4 @@ - other_error - JSON for Modern C++
Skip to content

nlohmann::basic_json::other_error

class other_error : public exception;
+ other_error - JSON for Modern C++      

nlohmann::basic_json::other_error

class other_error : public exception;
 

This exception is thrown in case of errors that cannot be classified with the other exception types.

Exceptions have ids 5xx (see list of other errors).

classDiagram
   direction LR
 
@@ -59,4 +59,4 @@
 }
 

Output:

message: [json.exception.other_error.501] unsuccessful: {"op":"test","path":"/best_biscuit/name","value":"Choco Leibniz"}
 exception id: 501
-

See also

Version history

  • Since version 3.0.0.
\ No newline at end of file +

See also

Version history

\ No newline at end of file diff --git a/api/basic_json/out_of_range/index.html b/api/basic_json/out_of_range/index.html index 9ee27e02b..19079fb54 100644 --- a/api/basic_json/out_of_range/index.html +++ b/api/basic_json/out_of_range/index.html @@ -1,4 +1,4 @@ - out_of_range - JSON for Modern C++
Skip to content

nlohmann::basic_json::out_of_range

class out_of_range : public exception;
+ out_of_range - JSON for Modern C++      

nlohmann::basic_json::out_of_range

class out_of_range : public exception;
 

This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance, in the case of array indices or nonexisting object keys.

Exceptions have ids 4xx (see list of out-of-range errors).

classDiagram
   direction LR
 
@@ -49,4 +49,4 @@
 }
 

Output:

message: [json.exception.out_of_range.401] array index 4 is out of range
 exception id: 401
-

See also

Version history

  • Since version 3.0.0.
\ No newline at end of file +

See also

Version history

\ No newline at end of file diff --git a/api/basic_json/parse/index.html b/api/basic_json/parse/index.html index 8ae9a0123..9a12bcf33 100644 --- a/api/basic_json/parse/index.html +++ b/api/basic_json/parse/index.html @@ -1,4 +1,4 @@ - parse - JSON for Modern C++
Skip to content

nlohmann::basic_json::parse

// (1)
+ parse - JSON for Modern C++      

nlohmann::basic_json::parse

// (1)
 template<typename InputType>
 static basic_json parse(InputType&& i,
                         const parser_callback_t cb = nullptr,
@@ -424,4 +424,4 @@
     "Neptune"
   ]
 }
-

See also

  • accept - check if the input is valid JSON
  • operator>> - deserialize from stream

Version history

  • Added in version 1.0.0.
  • Overload for contiguous containers (1) added in version 2.0.3.
  • Ignoring comments via ignore_comments added in version 3.9.0.
  • Changed runtime assertion in case of FILE* null pointers to exception in version 3.12.0.
  • Added ignore_trailing_commas in version 3.12.1.

Deprecation

Overload (2) replaces calls to parse with a pair of iterators as their first parameter which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like parse({ptr, ptr+len}, ...); with parse(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file +

See also

  • accept - check if the input is valid JSON
  • operator>> - deserialize from stream

Version history

  • Added in version 1.0.0.
  • Overload for contiguous containers (1) added in version 2.0.3.
  • Ignoring comments via ignore_comments added in version 3.9.0.
  • Changed runtime assertion in case of FILE* null pointers to exception in version 3.12.0.
  • Added ignore_trailing_commas in version 3.12.1.

Deprecation

Overload (2) replaces calls to parse with a pair of iterators as their first parameter which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like parse({ptr, ptr+len}, ...); with parse(ptr, ptr+len, ...);.

You should be warned by your compiler with a -Wdeprecated-declarations warning if you are using a deprecated function.

\ No newline at end of file diff --git a/api/basic_json/parse_error/index.html b/api/basic_json/parse_error/index.html index aee4e52be..44189ac40 100644 --- a/api/basic_json/parse_error/index.html +++ b/api/basic_json/parse_error/index.html @@ -1,4 +1,4 @@ - parse_error - JSON for Modern C++
Skip to content

nlohmann::basic_json::parse_error

class parse_error : public exception;
+ parse_error - JSON for Modern C++      

nlohmann::basic_json::parse_error

class parse_error : public exception;
 

The library throws this exception when a parse error occurs. Parse errors can occur during the deserialization of JSON text, BSON, CBOR, MessagePack, UBJSON, as well as when using JSON Patch.

Member byte holds the byte index of the last read character in the input file (see note below).

Exceptions have ids 1xx (see list of parse errors).

classDiagram
   direction LR
 
@@ -50,4 +50,4 @@
 

Output:

message: [json.exception.parse_error.101] parse error at line 1, column 8: syntax error while parsing value - unexpected ']'; expected '[', '{', or a literal
 exception id: 101
 byte position of error: 8
-

See also

Version history

  • Since version 3.0.0.
\ No newline at end of file +

See also

Version history

\ No newline at end of file diff --git a/api/basic_json/parse_event_t/index.html b/api/basic_json/parse_event_t/index.html index 82dccccd9..62149bfa7 100644 --- a/api/basic_json/parse_event_t/index.html +++ b/api/basic_json/parse_event_t/index.html @@ -1,4 +1,4 @@ - parse_event_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::parse_event_t

enum class parse_event_t : std::uint8_t {
+ parse_event_t - JSON for Modern C++      

nlohmann::basic_json::parse_event_t

enum class parse_event_t : std::uint8_t {
     object_start,
     object_end,
     array_start,
@@ -6,4 +6,4 @@
     key,
     value
 };
-

The parser callback distinguishes the following events:

  • object_start: the parser read { and started to process a JSON object
  • key: the parser read a key of a value in an object
  • object_end: the parser read } and finished processing a JSON object
  • array_start: the parser read [ and started to process a JSON array
  • array_end: the parser read ] and finished processing a JSON array
  • value: the parser finished reading a JSON value

Examples

Example when certain parse events are triggered

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

The parser callback distinguishes the following events:

  • object_start: the parser read { and started to process a JSON object
  • key: the parser read a key of a value in an object
  • object_end: the parser read } and finished processing a JSON object
  • array_start: the parser read [ and started to process a JSON array
  • array_end: the parser read ] and finished processing a JSON array
  • value: the parser finished reading a JSON value

Examples

Example when certain parse events are triggered

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/parser_callback_t/index.html b/api/basic_json/parser_callback_t/index.html index da8e7faa8..a23d2dc62 100644 --- a/api/basic_json/parser_callback_t/index.html +++ b/api/basic_json/parser_callback_t/index.html @@ -1,4 +1,4 @@ - parser_callback_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::parser_callback_t

template<typename BasicJsonType>
+ parser_callback_t - JSON for Modern C++      

nlohmann::basic_json::parser_callback_t

template<typename BasicJsonType>
 using parser_callback_t =
     std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>;
 

With a parser callback function, the result of parsing a JSON text can be influenced. When passed to parse, it is called on certain events (passed as parse_event_t via parameter event) with a set recursion depth depth and context JSON value parsed. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.

We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values of the parameters depth, event, and parsed.

parameter event description parameter depth parameter parsed
parse_event_t::object_start the parser read { and started to process a JSON object depth of the parent of the JSON object a JSON value with type discarded
parse_event_t::key the parser read a key of a value in an object depth of the currently parsed JSON object a JSON string containing the key
parse_event_t::object_end the parser read } and finished processing a JSON object depth of the parent of the JSON object the parsed JSON object
parse_event_t::array_start the parser read [ and started to process a JSON array depth of the parent of the JSON array a JSON value with type discarded
parse_event_t::array_end the parser read ] and finished processing a JSON array depth of the parent of the JSON array the parsed JSON array
parse_event_t::value the parser finished reading a JSON value depth of the value the parsed JSON value

Example when certain parse events are triggered

Discarding a value (i.e., returning false) has different effects depending on the context in which function was called:

  • Discarded values in structured types are skipped. That is, the parser will behave as if the discarded value was never read.
  • In case a value outside a structured type is skipped, it is replaced with null. This case happens if the top-level element is skipped.

Parameters

depth (in)
the depth of the recursion during parsing
event (in)
an event of type parse_event_t indicating the context in the callback function has been called
parsed (in, out)
the current intermediate parse result; note that writing to this value has no effect for parse_event_t::key events

Return value

Whether the JSON value which called the function during parsing should be kept (true) or not (false). In the latter case, it is either skipped completely or replaced by an empty discarded object.

Examples

Example

The example below demonstrates the parse() function with and without callback function.

#include <iostream>
@@ -83,4 +83,4 @@
         "Width": 800
     }
 }
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/patch/index.html b/api/basic_json/patch/index.html index e4025cdf6..828465ef7 100644 --- a/api/basic_json/patch/index.html +++ b/api/basic_json/patch/index.html @@ -1,4 +1,4 @@ - patch - JSON for Modern C++
Skip to content

nlohmann::basic_json::patch

basic_json patch(const basic_json& json_patch) const;
+ patch - JSON for Modern C++      

nlohmann::basic_json::patch

basic_json patch(const basic_json& json_patch) const;
 

JSON Patch defines a JSON document structure for expressing a sequence of operations to apply to a JSON document. With this function, a JSON Patch is applied to the current JSON value by executing all operations from the patch.

Parameters

json_patch (in)
JSON patch document

Return value

patched document

Exception safety

Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

Exceptions

  • Throws parse_error.104 if the JSON patch does not consist of an array of objects.
  • Throws parse_error.105 if the JSON patch is malformed (e.g., mandatory attributes are missing); example: "operation add must have member path".
  • Throws out_of_range.401 if an array index is out of range.
  • Throws out_of_range.403 if a JSON pointer inside the patch could not be resolved successfully in the current JSON value; example: "key baz not found".
  • Throws out_of_range.405 if JSON pointer has no parent ("add", "remove", "move")
  • Throws out_of_range.501 if "test" operation was unsuccessful.

Complexity

Linear in the size of the JSON value and the length of the JSON patch. As usually the patch affects only a fraction of the JSON value, the complexity can usually be neglected.

Notes

The application of a patch is atomic: Either all operations succeed and the patched document is returned or an exception is thrown. In any case, the original value is not changed: the patch is applied to a copy of the value.

Examples

Example

The following code shows how a JSON patch is applied to a value.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -43,4 +43,4 @@
         "world"
     ]
 }
-

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/patch_inplace/index.html b/api/basic_json/patch_inplace/index.html index 6ea7c9775..b6f621ce7 100644 --- a/api/basic_json/patch_inplace/index.html +++ b/api/basic_json/patch_inplace/index.html @@ -1,4 +1,4 @@ - patch_inplace - JSON for Modern C++
Skip to content

nlohmann::basic_json::patch_inplace

void patch_inplace(const basic_json& json_patch) const;
+ patch_inplace - JSON for Modern C++      

nlohmann::basic_json::patch_inplace

void patch_inplace(const basic_json& json_patch) const;
 

JSON Patch defines a JSON document structure for expressing a sequence of operations to apply to a JSON document. With this function, a JSON Patch is applied to the current JSON value by executing all operations from the patch. This function applies a JSON patch in place and returns void.

Parameters

json_patch (in)
JSON patch document

Exception safety

No guarantees, value may be corrupted by an unsuccessful patch operation.

Exceptions

  • Throws parse_error.104 if the JSON patch does not consist of an array of objects.
  • Throws parse_error.105 if the JSON patch is malformed (e.g., mandatory attributes are missing); example: "operation add must have member path".
  • Throws out_of_range.401 if an array index is out of range.
  • Throws out_of_range.403 if a JSON pointer inside the patch could not be resolved successfully in the current JSON value; example: "key baz not found".
  • Throws out_of_range.405 if JSON pointer has no parent ("add", "remove", "move")
  • Throws out_of_range.501 if "test" operation was unsuccessful.

Complexity

Linear in the size of the JSON value and the length of the JSON patch. As usually the patch affects only a fraction of the JSON value, the complexity can usually be neglected.

Notes

Unlike patch, patch_inplace applies the operation "in place" and no copy of the JSON value is created. That makes it faster for large documents by avoiding the copy. However, the JSON value might be corrupted if the function throws an exception.

Examples

Example

The following code shows how a JSON patch is applied to a value.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -47,4 +47,4 @@
         "world"
     ]
 }
-

See also

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/basic_json/push_back/index.html b/api/basic_json/push_back/index.html index 038525dcd..522f9bdd4 100644 --- a/api/basic_json/push_back/index.html +++ b/api/basic_json/push_back/index.html @@ -1,4 +1,4 @@ - push_back - JSON for Modern C++
Skip to content

nlohmann::basic_json::push_back

// (1)
+ push_back - JSON for Modern C++      

nlohmann::basic_json::push_back

// (1)
 void push_back(basic_json&& val);
 void push_back(const basic_json& val);
 
@@ -96,4 +96,4 @@
 null
 {"four":4,"one":1,"three":3,"two":2}
 [["five",5]]
-

See also

Version history

  1. Since version 1.0.0.
  2. Since version 1.0.0.
  3. Since version 2.0.0.
\ No newline at end of file +

See also

Version history

  1. Since version 1.0.0.
  2. Since version 1.0.0.
  3. Since version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/rbegin/index.html b/api/basic_json/rbegin/index.html index 34c4476b1..0bf8ef286 100644 --- a/api/basic_json/rbegin/index.html +++ b/api/basic_json/rbegin/index.html @@ -1,4 +1,4 @@ - rbegin - JSON for Modern C++
Skip to content

nlohmann::basic_json::rbegin

reverse_iterator rbegin() noexcept;
+ rbegin - JSON for Modern C++      

nlohmann::basic_json::rbegin

reverse_iterator rbegin() noexcept;
 const_reverse_iterator rbegin() const noexcept;
 

Returns an iterator to the reverse-beginning; that is, the last element.

Illustration from cppreference.com

Return value

reverse iterator to the first element

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code shows an example for rbegin().

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -17,4 +17,4 @@
     std::cout << *it << '\n';
 }
 

Output:

5
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/rend/index.html b/api/basic_json/rend/index.html index 6ca64119e..8a947ebc3 100644 --- a/api/basic_json/rend/index.html +++ b/api/basic_json/rend/index.html @@ -1,4 +1,4 @@ - rend - JSON for Modern C++
Skip to content

nlohmann::basic_json::rend

reverse_iterator rend() noexcept;
+ rend - JSON for Modern C++      

nlohmann::basic_json::rend

reverse_iterator rend() noexcept;
 const_reverse_iterator rend() const noexcept;
 

Returns an iterator to the reverse-end; that is, one before the first element. This element acts as a placeholder, attempting to access it results in undefined behavior.

Illustration from cppreference.com

Return value

reverse iterator to the element following the last element

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code shows an example for eend().

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -20,4 +20,4 @@
     std::cout << *it << '\n';
 }
 

Output:

1
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/sax_parse/index.html b/api/basic_json/sax_parse/index.html index 3d60da005..6f76edb49 100644 --- a/api/basic_json/sax_parse/index.html +++ b/api/basic_json/sax_parse/index.html @@ -1,4 +1,4 @@ - sax_parse - JSON for Modern C++
Skip to content

nlohmann::basic_json::sax_parse

// (1)
+ sax_parse - JSON for Modern C++      

nlohmann::basic_json::sax_parse

// (1)
 template <typename InputType, typename SAX>
 static bool sax_parse(InputType&& i,
                       SAX* sax,
@@ -183,4 +183,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
  • Ignoring comments via ignore_comments added in version 3.9.0.
  • Added ignore_trailing_commas in version 3.12.1.
  • Added json.exception.other_error.502 exception in version 3.12.1.

Deprecation

Overload (2) replaces calls to sax_parse with a pair of iterators as their first parameter which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like sax_parse({ptr, ptr+len}); with sax_parse(ptr, ptr+len);.

\ No newline at end of file +

Version history

  • Added in version 3.2.0.
  • Ignoring comments via ignore_comments added in version 3.9.0.
  • Added ignore_trailing_commas in version 3.12.1.
  • Added json.exception.other_error.502 exception in version 3.12.1.

Deprecation

Overload (2) replaces calls to sax_parse with a pair of iterators as their first parameter which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like sax_parse({ptr, ptr+len}); with sax_parse(ptr, ptr+len);.

\ No newline at end of file diff --git a/api/basic_json/size/index.html b/api/basic_json/size/index.html index 275edcf7c..c813445a5 100644 --- a/api/basic_json/size/index.html +++ b/api/basic_json/size/index.html @@ -1,4 +1,4 @@ - size - JSON for Modern C++
Skip to content

nlohmann::basic_json::size

size_type size() const noexcept;
+ size - JSON for Modern C++      

nlohmann::basic_json::size

size_type size() const noexcept;
 

Returns the number of elements in a JSON value.

Return value

The return value depends on the different types and is defined as follows:

Value type return value
null 0
boolean 1
string 1
number 1
binary 1
object result of function object_t::size()
array result of function array_t::size()

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Constant, as long as array_t and object_t satisfy the Container concept; that is, their size() functions have constant complexity.

Notes

This function does not return the length of a string stored as JSON value -- it returns the number of elements in the JSON value which is 1 in the case of a string.

Examples

Example

The following code calls size() on the different value types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -37,4 +37,4 @@
 5
 0
 1
-

Version history

  • Added in version 1.0.0.
  • Extended to return 1 for binary types in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Extended to return 1 for binary types in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/start_pos/index.html b/api/basic_json/start_pos/index.html index 35714c9dc..095a68956 100644 --- a/api/basic_json/start_pos/index.html +++ b/api/basic_json/start_pos/index.html @@ -1,4 +1,4 @@ - start_pos - JSON for Modern C++
Skip to content

nlohmann::basic_json::start_pos

#if JSON_DIAGNOSTIC_POSITIONS
+ start_pos - JSON for Modern C++      

nlohmann::basic_json::start_pos

#if JSON_DIAGNOSTIC_POSITIONS
 constexpr std::size_t start_pos() const noexcept;
 #endif
 

Returns the position of the first character in the JSON string from which the value was parsed from.

JSON type return value
object position of the opening {
array position of the opening [
string position of the opening "
number position of the first character
boolean position of t for true and f for false
null position of n

Return value

the position of the first character of the value in the parsed JSON string, if the value was created by the parse function, or std::string::npos if the value was constructed otherwise

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Notes

Note

The function is only available if macro JSON_DIAGNOSTIC_POSITIONS has been defined to 1 before including the library header.

Invalidation

The returned positions are only valid as long as the JSON value is not changed. The positions are not updated when the JSON value is changed.

Examples

Example
#include <iostream>
@@ -101,4 +101,4 @@ Original string:
 1
 Parsed string: 
 1
-

The output shows the start/end positions of all the objects and fields in the JSON string.

See also

Version history

  • Added in version 3.12.0.
\ No newline at end of file +

The output shows the start/end positions of all the objects and fields in the JSON string.

See also

Version history

  • Added in version 3.12.0.
\ No newline at end of file diff --git a/api/basic_json/std_hash/index.html b/api/basic_json/std_hash/index.html index 4a421757f..e8cf2319a 100644 --- a/api/basic_json/std_hash/index.html +++ b/api/basic_json/std_hash/index.html @@ -1,4 +1,4 @@ - std::hash<basic_json> - JSON for Modern C++
Skip to content

std::hash<nlohmann::basic_json>

namespace std {
+ std::hash<basic_json> - JSON for Modern C++      

std::hash<nlohmann::basic_json>

namespace std {
     struct hash<nlohmann::basic_json>;
 }
 

Return a hash value for a JSON object. The hash function tries to rely on std::hash where possible. Furthermore, the type of the JSON value is taken into account to have different hash values for null, 0, 0U, and false, etc.

Examples

Example

The example shows how to calculate hash values for different JSON values.

#include <iostream>
@@ -28,4 +28,4 @@
 hash({}) = 2654435832
 hash([]) = 2654435899
 hash({"hello": "world"}) = 4469488738203676328
-

Note the output is platform-dependent.

Version history

  • Added in version 1.0.0.
  • Extended for arbitrary basic_json types in version 3.10.5.
\ No newline at end of file +

Note the output is platform-dependent.

Version history

  • Added in version 1.0.0.
  • Extended for arbitrary basic_json types in version 3.10.5.
\ No newline at end of file diff --git a/api/basic_json/std_swap/index.html b/api/basic_json/std_swap/index.html index baf6366b0..6cc11d718 100644 --- a/api/basic_json/std_swap/index.html +++ b/api/basic_json/std_swap/index.html @@ -1,4 +1,4 @@ - std::swap<basic_json> - JSON for Modern C++
Skip to content

std::swap<basic_json>

namespace std {
+ std::swap<basic_json> - JSON for Modern C++      

std::swap<basic_json>

namespace std {
     void swap(nlohmann::basic_json& j1, nlohmann::basic_json& j2);
 }
 

Exchanges the values of two JSON objects.

Parameters

j1 (in, out)
value to be replaced by j2
j2 (in, out)
value to be replaced by j1

Possible implementation

void swap(nlohmann::basic_json& j1, nlohmann::basic_json& j2)
@@ -26,4 +26,4 @@
 }
 

Output:

j1 = {"one":1,"two":2} | j2 = [1,2,4,8,16]
 j1 = [1,2,4,8,16] | j2 = {"one":1,"two":2}
-

See also

Version history

  • Added in version 1.0.0.
  • Extended for arbitrary basic_json types in version 3.10.5.
\ No newline at end of file +

See also

Version history

  • Added in version 1.0.0.
  • Extended for arbitrary basic_json types in version 3.10.5.
\ No newline at end of file diff --git a/api/basic_json/string_t/index.html b/api/basic_json/string_t/index.html index a2722ce56..fb24a4cd0 100644 --- a/api/basic_json/string_t/index.html +++ b/api/basic_json/string_t/index.html @@ -1,4 +1,4 @@ - string_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::string_t

using string_t = StringType;
+ string_t - JSON for Modern C++      

nlohmann::basic_json::string_t

using string_t = StringType;
 

The type used to store JSON strings.

RFC 8259 describes JSON strings as follows:

A string is a sequence of zero or more Unicode characters.

To store objects in C++, a type is defined by the template parameter described below. Unicode values are split by the JSON class into byte-sized characters during deserialization.

Template parameters

StringType
the container to store strings (e.g., std::string). Note this container is used for keys/names in objects, see object_t.

Notes

Default type

With the default values for StringType (std::string), the default value for string_t is std::string.

Encoding

Strings are stored in UTF-8 encoding. Therefore, functions like std::string::size() or std::string::length() return the number of bytes in the string rather than the number of characters or glyphs.

String comparison

RFC 8259 states:

Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit, are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that "a\\b" and "a\u005Cb" are not equal.

This implementation is interoperable as it does compare strings code unit by code unit.

Storage

String values are stored as pointers in a basic_json type. That is, for any access to string values, a pointer of type string_t* must be dereferenced.

Examples

Example

The following code shows that string_t is by default, a typedef to std::string.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -10,4 +10,4 @@
     std::cout << std::boolalpha << std::is_same<std::string, json::string_t>::value << std::endl;
 }
 

Output:

true
-

Version history

  • Added in version 1.0.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/basic_json/swap/index.html b/api/basic_json/swap/index.html index 9490df382..f699a3820 100644 --- a/api/basic_json/swap/index.html +++ b/api/basic_json/swap/index.html @@ -1,4 +1,4 @@ - swap - JSON for Modern C++
Skip to content

nlohmann::basic_json::swap

// (1)
+ swap - JSON for Modern C++      

nlohmann::basic_json::swap

// (1)
 void swap(reference other) noexcept;
 
 // (2)
@@ -126,4 +126,4 @@
 }
 

Output:

value = {"bytes":[4,5,6],"subtype":null}
 binary = {"bytes":[1,2,3],"subtype":null}
-

See also

Version history

  1. Since version 1.0.0.
  2. Since version 1.0.0.
  3. Since version 1.0.0.
  4. Since version 1.0.0.
  5. Since version 1.0.0.
  6. Since version 3.8.0.
  7. Since version 3.8.0.
\ No newline at end of file +

See also

Version history

  1. Since version 1.0.0.
  2. Since version 1.0.0.
  3. Since version 1.0.0.
  4. Since version 1.0.0.
  5. Since version 1.0.0.
  6. Since version 3.8.0.
  7. Since version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/to_bjdata/index.html b/api/basic_json/to_bjdata/index.html index 9d8e704e8..9e5f61f87 100644 --- a/api/basic_json/to_bjdata/index.html +++ b/api/basic_json/to_bjdata/index.html @@ -1,4 +1,4 @@ - to_bjdata - JSON for Modern C++
Skip to content

nlohmann::basic_json::to_bjdata

// (1)
+ to_bjdata - JSON for Modern C++      

nlohmann::basic_json::to_bjdata

// (1)
 static std::vector<std::uint8_t> to_bjdata(const basic_json& j,
                                            const bool use_size = false,
                                            const bool use_type = false,
@@ -79,4 +79,4 @@
 [i1i2i3i4i5i6i7i8]
 [#i8i1i2i3i4i5i6i7i8
 [$i#i812345678
-

Version history

  • Added in version 3.11.0.
  • BJData version parameter (for draft3 binary encoding) added in version 3.12.0.
\ No newline at end of file +

Version history

  • Added in version 3.11.0.
  • BJData version parameter (for draft3 binary encoding) added in version 3.12.0.
\ No newline at end of file diff --git a/api/basic_json/to_bson/index.html b/api/basic_json/to_bson/index.html index 34b81c81c..6c1138b15 100644 --- a/api/basic_json/to_bson/index.html +++ b/api/basic_json/to_bson/index.html @@ -1,4 +1,4 @@ - to_bson - JSON for Modern C++
Skip to content

nlohmann::basic_json::to_bson

// (1)
+ to_bson - JSON for Modern C++      

nlohmann::basic_json::to_bson

// (1)
 static std::vector<std::uint8_t> to_bson(const basic_json& j);
 
 // (2)
@@ -27,4 +27,4 @@
     std::cout << std::endl;
 }
 

Output:

0x1b 0x00 0x00 0x00 0x08 0x63 0x6f 0x6d 0x70 0x61 0x63 0x74 0x00 0x01 0x10 0x73 0x63 0x68 0x65 0x6d 0x61 0x00 0x00 0x00 0x00 0x00 0x00 
-

Version history

  • Added in version 3.4.0.
\ No newline at end of file +

Version history

  • Added in version 3.4.0.
\ No newline at end of file diff --git a/api/basic_json/to_cbor/index.html b/api/basic_json/to_cbor/index.html index 7f885c305..15598e6ef 100644 --- a/api/basic_json/to_cbor/index.html +++ b/api/basic_json/to_cbor/index.html @@ -1,4 +1,4 @@ - to_cbor - JSON for Modern C++
Skip to content

nlohmann::basic_json::to_cbor

// (1)
+ to_cbor - JSON for Modern C++      

nlohmann::basic_json::to_cbor

// (1)
 static std::vector<std::uint8_t> to_cbor(const basic_json& j);
 
 // (2)
@@ -27,4 +27,4 @@
     std::cout << std::endl;
 }
 

Output:

0xa2 0x67 0x63 0x6f 0x6d 0x70 0x61 0x63 0x74 0xf5 0x66 0x73 0x63 0x68 0x65 0x6d 0x61 0x00 
-

Version history

  • Added in version 2.0.9.
  • Compact representation of floating-point numbers added in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 2.0.9.
  • Compact representation of floating-point numbers added in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/to_msgpack/index.html b/api/basic_json/to_msgpack/index.html index 9badd6626..62c847652 100644 --- a/api/basic_json/to_msgpack/index.html +++ b/api/basic_json/to_msgpack/index.html @@ -1,4 +1,4 @@ - to_msgpack - JSON for Modern C++
Skip to content

nlohmann::basic_json::to_msgpack

// (1)
+ to_msgpack - JSON for Modern C++      

nlohmann::basic_json::to_msgpack

// (1)
 static std::vector<std::uint8_t> to_msgpack(const basic_json& j);
 
 // (2)
@@ -27,4 +27,4 @@
     std::cout << std::endl;
 }
 

Output:

0x82 0xa7 0x63 0x6f 0x6d 0x70 0x61 0x63 0x74 0xc3 0xa6 0x73 0x63 0x68 0x65 0x6d 0x61 0x00 
-

Version history

  • Added in version 2.0.9.
\ No newline at end of file +

Version history

  • Added in version 2.0.9.
\ No newline at end of file diff --git a/api/basic_json/to_string/index.html b/api/basic_json/to_string/index.html index c791d4d4b..c2137b282 100644 --- a/api/basic_json/to_string/index.html +++ b/api/basic_json/to_string/index.html @@ -1,4 +1,4 @@ - to_string - JSON for Modern C++
Skip to content

to_string(basic_json)

template <typename BasicJsonType>
+ to_string - JSON for Modern C++      

to_string(basic_json)

template <typename BasicJsonType>
 std::string to_string(const BasicJsonType& j);
 

This function implements a user-defined to_string for JSON objects.

Template parameters

BasicJsonType
a specialization of basic_json

Return value

string containing the serialization of the JSON value

Exception safety

Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

Exceptions

Throws type_error.316 if a string stored inside the JSON value is not UTF-8 encoded

Complexity

Linear.

Possible implementation

template <typename BasicJsonType>
 std::string to_string(const BasicJsonType& j)
@@ -28,4 +28,4 @@
 

Output:

{"one":1,"two":2}
 
 42
-

See also

Version history

Added in version 3.7.0.

\ No newline at end of file +

See also

Version history

Added in version 3.7.0.

\ No newline at end of file diff --git a/api/basic_json/to_ubjson/index.html b/api/basic_json/to_ubjson/index.html index ed3d30349..7a73b3798 100644 --- a/api/basic_json/to_ubjson/index.html +++ b/api/basic_json/to_ubjson/index.html @@ -1,4 +1,4 @@ - to_ubjson - JSON for Modern C++
Skip to content

nlohmann::basic_json::to_ubjson

// (1)
+ to_ubjson - JSON for Modern C++      

nlohmann::basic_json::to_ubjson

// (1)
 static std::vector<std::uint8_t> to_ubjson(const basic_json& j,
                                            const bool use_size = false,
                                            const bool use_type = false);
@@ -76,4 +76,4 @@
 [i1i2i3i4i5i6i7i8]
 [#i8i1i2i3i4i5i6i7i8
 [$i#i812345678
-

Version history

  • Added in version 3.1.0.
\ No newline at end of file +

Version history

  • Added in version 3.1.0.
\ No newline at end of file diff --git a/api/basic_json/type/index.html b/api/basic_json/type/index.html index f3ff7eeda..de4c1a1d4 100644 --- a/api/basic_json/type/index.html +++ b/api/basic_json/type/index.html @@ -1,4 +1,4 @@ - type - JSON for Modern C++
Skip to content

nlohmann::basic_json::type

constexpr value_t type() const noexcept;
+ type - JSON for Modern C++      

nlohmann::basic_json::type

constexpr value_t type() const noexcept;
 

Return the type of the JSON value as a value from the value_t enumeration.

Return value

the type of the JSON value

Value type return value
null value_t::null
boolean value_t::boolean
string value_t::string
number (integer) value_t::number_integer
number (unsigned integer) value_t::number_unsigned
number (floating-point) value_t::number_float
object value_t::object
array value_t::array
binary value_t::binary
discarded value_t::discarded

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies type() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -35,4 +35,4 @@
 true
 true
 true
-

Version history

  • Added in version 1.0.0.
  • Added unsigned integer type in version 2.0.0.
  • Added binary type in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Added unsigned integer type in version 2.0.0.
  • Added binary type in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/type_error/index.html b/api/basic_json/type_error/index.html index 0044889ac..87f6bb8da 100644 --- a/api/basic_json/type_error/index.html +++ b/api/basic_json/type_error/index.html @@ -1,4 +1,4 @@ - type_error - JSON for Modern C++
Skip to content

nlohmann::basic_json::type_error

class type_error : public exception;
+ type_error - JSON for Modern C++      

nlohmann::basic_json::type_error

class type_error : public exception;
 

This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.

Exceptions have ids 3xx (see list of type errors).

classDiagram
   direction LR
 
@@ -49,4 +49,4 @@
 }
 

Output:

message: [json.exception.type_error.308] cannot use push_back() with string
 exception id: 308
-

See also

Version history

  • Since version 3.0.0.
\ No newline at end of file +

See also

Version history

\ No newline at end of file diff --git a/api/basic_json/type_name/index.html b/api/basic_json/type_name/index.html index ebd0de7f2..61f5d5b74 100644 --- a/api/basic_json/type_name/index.html +++ b/api/basic_json/type_name/index.html @@ -1,4 +1,4 @@ - type_name - JSON for Modern C++
Skip to content

nlohmann::basic_json::type_name

const char* type_name() const noexcept;
+ type_name - JSON for Modern C++      

nlohmann::basic_json::type_name

const char* type_name() const noexcept;
 

Returns the type name as string to be used in error messages -- usually to indicate that a function was called on a wrong JSON type.

Return value

a string representation of the type (value_t):

Value type return value
null "null"
boolean "boolean"
string "string"
number (integer, unsigned integer, floating-point) "number"
object "object"
array "array"
binary "binary"
discarded "discarded"

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies type_name() for all JSON types.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -34,4 +34,4 @@
 {"one":1,"two":2} is an object
 [1,2,4,8,16] is an array
 "Hello, world" is a string
-

Version history

  • Added in version 1.0.0.
  • Part of the public API version since 2.1.0.
  • Changed return value to const char* and added noexcept in version 3.0.0.
  • Added support for binary type in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Part of the public API version since 2.1.0.
  • Changed return value to const char* and added noexcept in version 3.0.0.
  • Added support for binary type in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/unflatten/index.html b/api/basic_json/unflatten/index.html index a89ee63cd..fe6e36633 100644 --- a/api/basic_json/unflatten/index.html +++ b/api/basic_json/unflatten/index.html @@ -1,4 +1,4 @@ - unflatten - JSON for Modern C++
Skip to content

nlohmann::basic_json::unflatten

basic_json unflatten() const;
+ unflatten - JSON for Modern C++      

nlohmann::basic_json::unflatten

basic_json unflatten() const;
 

The function restores the arbitrary nesting of a JSON value that has been flattened before using the flatten() function. The JSON value must meet certain constraints:

  1. The value must be an object.
  2. The keys must be JSON pointers (see RFC 6901)
  3. The mapped values must be primitive JSON types.

Return value

the original JSON from a flattened version

Exception safety

Strong exception safety: if an exception occurs, the original value stays intact.

Exceptions

The function can throw the following exceptions:

Complexity

Linear in the size of the JSON value.

Notes

Empty objects and arrays are flattened by flatten() to null values and cannot unflattened to their original type. Apart from this example, for a JSON value j, the following is always true: j == j.flatten().unflatten().

Examples

Example

The following code shows how a flattened JSON object is unflattened into the original nested JSON object.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -43,4 +43,4 @@
     },
     "pi": 3.141
 }
-

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file +

See also

Version history

  • Added in version 2.0.0.
\ No newline at end of file diff --git a/api/basic_json/update/index.html b/api/basic_json/update/index.html index 3ef2d047d..78ddc7920 100644 --- a/api/basic_json/update/index.html +++ b/api/basic_json/update/index.html @@ -1,4 +1,4 @@ - update - JSON for Modern C++
Skip to content

nlohmann::basic_json::update

// (1)
+ update - JSON for Modern C++      

nlohmann::basic_json::update

// (1)
 void update(const_reference j, bool merge_objects = false);
 
 // (2)
@@ -110,4 +110,4 @@
     "active": true,
     "name": {"de": "Maus", "en": "mouse", "es": "ratón"}
 }
-

Version history

  • Added in version 3.0.0.
  • Added merge_objects parameter in 3.10.5.
\ No newline at end of file +

Version history

  • Added in version 3.0.0.
  • Added merge_objects parameter in 3.10.5.
\ No newline at end of file diff --git a/api/basic_json/value/index.html b/api/basic_json/value/index.html index 2ac37a873..da7f1547c 100644 --- a/api/basic_json/value/index.html +++ b/api/basic_json/value/index.html @@ -1,4 +1,4 @@ - value - JSON for Modern C++
Skip to content

nlohmann::basic_json::value

// (1)
+ value - JSON for Modern C++      

nlohmann::basic_json::value

// (1)
 template<class ValueType>
 ValueType value(const typename object_t::key_type& key,
                 ValueType&& default_value) const;
@@ -136,4 +136,4 @@
               << " " << v_string << " " << v_boolean << "\n";
 }
 

Output:

1 42.23 oops false
-

See also

  • see at for access by reference with range checking
  • see operator[] for unchecked access by reference

Version history

  1. Added in version 1.0.0. Changed parameter default_value type from const ValueType& to ValueType&& in version 3.11.0.
  2. Added in version 3.11.0. Made ValueType the first template parameter in version 3.11.2.
  3. Added in version 2.0.2.
\ No newline at end of file +

See also

  • see at for access by reference with range checking
  • see operator[] for unchecked access by reference

Version history

  1. Added in version 1.0.0. Changed parameter default_value type from const ValueType& to ValueType&& in version 3.11.0.
  2. Added in version 3.11.0. Made ValueType the first template parameter in version 3.11.2.
  3. Added in version 2.0.2.
\ No newline at end of file diff --git a/api/basic_json/value_t/index.html b/api/basic_json/value_t/index.html index c89a5eb34..2f5d427fa 100644 --- a/api/basic_json/value_t/index.html +++ b/api/basic_json/value_t/index.html @@ -1,4 +1,4 @@ - value_t - JSON for Modern C++
Skip to content

nlohmann::basic_json::value_t

enum class value_t : std::uint8_t {
+ value_t - JSON for Modern C++      

nlohmann::basic_json::value_t

enum class value_t : std::uint8_t {
     null,
     object,
     array,
@@ -46,4 +46,4 @@
 true
 true
 true
-

Version history

  • Added in version 1.0.0.
  • Added unsigned integer type in version 2.0.0.
  • Added binary type in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Added unsigned integer type in version 2.0.0.
  • Added binary type in version 3.8.0.
\ No newline at end of file diff --git a/api/basic_json/~basic_json/index.html b/api/basic_json/~basic_json/index.html index 44bc74595..adf450fb7 100644 --- a/api/basic_json/~basic_json/index.html +++ b/api/basic_json/~basic_json/index.html @@ -1,2 +1,2 @@ - (Destructor) - JSON for Modern C++
Skip to content

nlohmann::basic_json::~basic_json

~basic_json() noexcept;
-

Destroys the JSON value and frees all allocated memory.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Linear.

Version history

  • Added in version 1.0.0.
\ No newline at end of file + (Destructor) - JSON for Modern C++
Skip to content

nlohmann::basic_json::~basic_json

~basic_json() noexcept;
+

Destroys the JSON value and frees all allocated memory.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Linear.

Version history

  • Added in version 1.0.0.
\ No newline at end of file diff --git a/api/byte_container_with_subtype/byte_container_with_subtype/index.html b/api/byte_container_with_subtype/byte_container_with_subtype/index.html index 0fd871c89..4f75fa71f 100644 --- a/api/byte_container_with_subtype/byte_container_with_subtype/index.html +++ b/api/byte_container_with_subtype/byte_container_with_subtype/index.html @@ -1,4 +1,4 @@ - (constructor) - JSON for Modern C++
Skip to content

nlohmann::byte_container_with_subtype::byte_container_with_subtype

// (1)
+ (constructor) - JSON for Modern C++      

nlohmann::byte_container_with_subtype::byte_container_with_subtype

// (1)
 byte_container_with_subtype();
 
 // (2)
@@ -34,4 +34,4 @@
 

Output:

{"bytes":[],"subtype":null}
 {"bytes":[202,254,186,190],"subtype":null}
 {"bytes":[202,254,186,190],"subtype":42}
-

Version history

Since version 3.8.0.

\ No newline at end of file +

Version history

Since version 3.8.0.

\ No newline at end of file diff --git a/api/byte_container_with_subtype/clear_subtype/index.html b/api/byte_container_with_subtype/clear_subtype/index.html index 01651588c..2d1c80e15 100644 --- a/api/byte_container_with_subtype/clear_subtype/index.html +++ b/api/byte_container_with_subtype/clear_subtype/index.html @@ -1,4 +1,4 @@ - clear_subtype - JSON for Modern C++
Skip to content

nlohmann::byte_container_with_subtype::clear_subtype

void clear_subtype() noexcept;
+ clear_subtype - JSON for Modern C++      

nlohmann::byte_container_with_subtype::clear_subtype

void clear_subtype() noexcept;
 

Clears the binary subtype and flags the value as not having a subtype, which has implications for serialization; for instance, MessagePack will prefer the bin family over the ext family.

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Constant.

Examples

Example

The example below demonstrates how clear_subtype can remove subtypes.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -22,4 +22,4 @@
 }
 

Output:

before calling clear_subtype(): {"bytes":[202,254,186,190],"subtype":42}
 after calling clear_subtype(): {"bytes":[202,254,186,190],"subtype":null}
-

Version history

Since version 3.8.0.

\ No newline at end of file +

Version history

Since version 3.8.0.

\ No newline at end of file diff --git a/api/byte_container_with_subtype/has_subtype/index.html b/api/byte_container_with_subtype/has_subtype/index.html index 0441959ad..c7881a9e1 100644 --- a/api/byte_container_with_subtype/has_subtype/index.html +++ b/api/byte_container_with_subtype/has_subtype/index.html @@ -1,4 +1,4 @@ - has_subtype - JSON for Modern C++
Skip to content

nlohmann::byte_container_with_subtype::has_subtype

constexpr bool has_subtype() const noexcept;
+ has_subtype - JSON for Modern C++      

nlohmann::byte_container_with_subtype::has_subtype

constexpr bool has_subtype() const noexcept;
 

Returns whether the value has a subtype.

Return value

whether the value has a subtype

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Constant.

Examples

Example

The example below demonstrates how has_subtype can check whether a subtype was set.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -20,4 +20,4 @@
 }
 

Output:

c1.has_subtype() = false
 c2.has_subtype() = true
-

Version history

Since version 3.8.0.

\ No newline at end of file +

Version history

Since version 3.8.0.

\ No newline at end of file diff --git a/api/byte_container_with_subtype/index.html b/api/byte_container_with_subtype/index.html index 1d97c10a8..4e4a5c3ff 100644 --- a/api/byte_container_with_subtype/index.html +++ b/api/byte_container_with_subtype/index.html @@ -1,3 +1,3 @@ - Overview - JSON for Modern C++
Skip to content

nlohmann::byte_container_with_subtype

template<typename BinaryType>
+ Overview - JSON for Modern C++      

nlohmann::byte_container_with_subtype

template<typename BinaryType>
 class byte_container_with_subtype : public BinaryType;
-

This type extends the template parameter BinaryType provided to basic_json with a subtype used by BSON and MessagePack. This type exists so that the user does not have to specify a type themselves with a specific naming scheme in order to override the binary type.

Template parameters

BinaryType
container to store bytes (std::vector<std::uint8_t> by default)

Member types

  • container_type - the type of the underlying container (BinaryType)
  • subtype_type - the type of the subtype (std::uint64_t)

Member functions

Version history

  • Added in version 3.8.0.
  • Changed the type of subtypes to std::uint64_t in 3.10.0.
\ No newline at end of file +

This type extends the template parameter BinaryType provided to basic_json with a subtype used by BSON and MessagePack. This type exists so that the user does not have to specify a type themselves with a specific naming scheme in order to override the binary type.

Template parameters

BinaryType
container to store bytes (std::vector<std::uint8_t> by default)

Member types

  • container_type - the type of the underlying container (BinaryType)
  • subtype_type - the type of the subtype (std::uint64_t)

Member functions

Version history

  • Added in version 3.8.0.
  • Changed the type of subtypes to std::uint64_t in 3.10.0.
\ No newline at end of file diff --git a/api/byte_container_with_subtype/set_subtype/index.html b/api/byte_container_with_subtype/set_subtype/index.html index 23134828e..43893e4d0 100644 --- a/api/byte_container_with_subtype/set_subtype/index.html +++ b/api/byte_container_with_subtype/set_subtype/index.html @@ -1,4 +1,4 @@ - set_subtype - JSON for Modern C++
Skip to content

nlohmann::byte_container_with_subtype::set_subtype

void set_subtype(subtype_type subtype) noexcept;
+ set_subtype - JSON for Modern C++      

nlohmann::byte_container_with_subtype::set_subtype

void set_subtype(subtype_type subtype) noexcept;
 

Sets the binary subtype of the value, also flags a binary JSON value as having a subtype, which has implications for serialization.

Parameters

subtype (in)
subtype to set

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Constant.

Examples

Example

The example below demonstrates how a subtype can be set with set_subtype.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -23,4 +23,4 @@
 }
 

Output:

before calling set_subtype(42): {"bytes":[202,254,186,190],"subtype":null}
 after calling set_subtype(42): {"bytes":[202,254,186,190],"subtype":42}
-

Version history

Since version 3.8.0.

\ No newline at end of file +

Version history

Since version 3.8.0.

\ No newline at end of file diff --git a/api/byte_container_with_subtype/subtype/index.html b/api/byte_container_with_subtype/subtype/index.html index 36a4aa9f3..e16701beb 100644 --- a/api/byte_container_with_subtype/subtype/index.html +++ b/api/byte_container_with_subtype/subtype/index.html @@ -1,4 +1,4 @@ - subtype - JSON for Modern C++
Skip to content

nlohmann::byte_container_with_subtype::subtype

constexpr subtype_type subtype() const noexcept;
+ subtype - JSON for Modern C++      

nlohmann::byte_container_with_subtype::subtype

constexpr subtype_type subtype() const noexcept;
 

Returns the numerical subtype of the value if it has a subtype. If it does not have a subtype, this function will return subtype_type(-1) as a sentinel value.

Return value

the numerical subtype of the binary value, or subtype_type(-1) if no subtype is set

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Constant.

Examples

Example

The example below demonstrates how the subtype can be retrieved with subtype. Note how subtype_type(-1) is returned for container c1.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -23,4 +23,4 @@
 }
 

Output:

c1.subtype() = 18446744073709551615
 c2.subtype() = 42
-

Version history

  • Added in version 3.8.0
  • Fixed return value to properly return subtype_type(-1) as documented in version 3.10.0.
\ No newline at end of file +

Version history

  • Added in version 3.8.0
  • Fixed return value to properly return subtype_type(-1) as documented in version 3.10.0.
\ No newline at end of file diff --git a/api/json/index.html b/api/json/index.html index c9b345f87..2190c5174 100644 --- a/api/json/index.html +++ b/api/json/index.html @@ -1,4 +1,4 @@ - json - JSON for Modern C++
Skip to content

nlohmann::json

using json = basic_json<>;
+ json - JSON for Modern C++      

nlohmann::json

using json = basic_json<>;
 

This type is the default specialization of the basic_json class which uses the standard template types.

Examples

Example

The example below demonstrates how to use the type nlohmann::json.

#include <iostream>
 #include <iomanip>
 #include <nlohmann/json.hpp>
@@ -65,4 +65,4 @@
     "pi": 3.141,
     "size": 8
 }
-

Version history

Since version 1.0.0.

\ No newline at end of file +

Version history

Since version 1.0.0.

\ No newline at end of file diff --git a/api/json_pointer/back/index.html b/api/json_pointer/back/index.html index 2d458527b..c6c6bee77 100644 --- a/api/json_pointer/back/index.html +++ b/api/json_pointer/back/index.html @@ -1,4 +1,4 @@ - back - JSON for Modern C++
Skip to content

nlohmann::json_pointer::back

const string_t& back() const;
+ back - JSON for Modern C++      

nlohmann::json_pointer::back

const string_t& back() const;
 

Return the last reference token.

Return value

Last reference token.

Exceptions

Throws out_of_range.405 if the JSON pointer has no parent.

Complexity

Constant.

Examples

Example

The example shows the usage of back.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -16,4 +16,4 @@
 }
 

Output:

last reference token of "/foo" is "foo"
 last reference token of "/foo/0" is "0"
-

Version history

  • Added in version 3.6.0.
  • Changed return type to string_t in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 3.6.0.
  • Changed return type to string_t in version 3.11.0.
\ No newline at end of file diff --git a/api/json_pointer/empty/index.html b/api/json_pointer/empty/index.html index 5e7b09e94..181c03b5c 100644 --- a/api/json_pointer/empty/index.html +++ b/api/json_pointer/empty/index.html @@ -1,4 +1,4 @@ - empty - JSON for Modern C++
Skip to content

nlohmann::json_pointer::empty

bool empty() const noexcept;
+ empty - JSON for Modern C++      

nlohmann::json_pointer::empty

bool empty() const noexcept;
 

Return whether the pointer points to the root document.

Return value

true iff the JSON pointer points to the root document.

Exception safety

No-throw guarantee: this function never throws exceptions.

Complexity

Constant.

Examples

Example

The example shows the result of empty for different JSON Pointers.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -23,4 +23,4 @@
 "": true
 "/foo": false
 "/foo/0": false
-

Version history

Added in version 3.6.0.

\ No newline at end of file +

Version history

Added in version 3.6.0.

\ No newline at end of file diff --git a/api/json_pointer/index.html b/api/json_pointer/index.html index 8fe78619f..b36c8fed7 100644 --- a/api/json_pointer/index.html +++ b/api/json_pointer/index.html @@ -1,3 +1,3 @@ - Overview - JSON for Modern C++
Skip to content

nlohmann::json_pointer

template<typename RefStringType>
+ Overview - JSON for Modern C++      

nlohmann::json_pointer

template<typename RefStringType>
 class json_pointer;
-

A JSON pointer defines a string syntax for identifying a specific value within a JSON document. It can be used with functions at and operator[]. Furthermore, JSON pointers are the base for JSON patches.

Template parameters

RefStringType
the string type used for the reference tokens making up the JSON pointer

Deprecation

For backwards compatibility RefStringType may also be a specialization of basic_json in which case string_t will be deduced as basic_json::string_t. This feature is deprecated and may be removed in a future major version.

Member types

  • string_t - the string type used for the reference tokens

Member functions

Literals

See also

Version history

  • Added in version 2.0.0.
  • Changed template parameter from basic_json to string type in version 3.11.0.
\ No newline at end of file +

A JSON pointer defines a string syntax for identifying a specific value within a JSON document. It can be used with functions at and operator[]. Furthermore, JSON pointers are the base for JSON patches.

Template parameters

RefStringType
the string type used for the reference tokens making up the JSON pointer

Deprecation

For backwards compatibility RefStringType may also be a specialization of basic_json in which case string_t will be deduced as basic_json::string_t. This feature is deprecated and may be removed in a future major version.

Member types

  • string_t - the string type used for the reference tokens

Member functions

Literals

See also

Version history

  • Added in version 2.0.0.
  • Changed template parameter from basic_json to string type in version 3.11.0.
\ No newline at end of file diff --git a/api/json_pointer/json_pointer/index.html b/api/json_pointer/json_pointer/index.html index 468b0abf9..8c8b15433 100644 --- a/api/json_pointer/json_pointer/index.html +++ b/api/json_pointer/json_pointer/index.html @@ -1,4 +1,4 @@ - (Constructor) - JSON for Modern C++
Skip to content

nlohmann::json_pointer::json_pointer

explicit json_pointer(const string_t& s = "");
+ (Constructor) - JSON for Modern C++      

nlohmann::json_pointer::json_pointer

explicit json_pointer(const string_t& s = "");
 

Create a JSON pointer according to the syntax described in Section 3 of RFC6901.

Parameters

s (in)
string representing the JSON pointer; if omitted, the empty string is assumed which references the whole JSON value

Exceptions

  • Throws parse_error.107 if the given JSON pointer s is nonempty and does not begin with a slash (/); see example below.
  • Throws parse_error.108 if a tilde (~) in the given JSON pointer s is not followed by 0 (representing ~) or 1 (representing /); see example below.

Examples

Example

The example shows the construction several valid JSON pointers as well as the exceptional behavior.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -49,4 +49,4 @@
 

Output:

[json.exception.parse_error.107] parse error at byte 1: JSON pointer must be empty or begin with '/' - was: 'foo'
 [json.exception.parse_error.108] parse error: escape character '~' must be followed with '0' or '1'
 [json.exception.parse_error.108] parse error: escape character '~' must be followed with '0' or '1'
-

Version history

  • Added in version 2.0.0.
  • Changed type of s to string_t in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 2.0.0.
  • Changed type of s to string_t in version 3.11.0.
\ No newline at end of file diff --git a/api/json_pointer/operator_eq/index.html b/api/json_pointer/operator_eq/index.html index e48f49e30..378d9f678 100644 --- a/api/json_pointer/operator_eq/index.html +++ b/api/json_pointer/operator_eq/index.html @@ -1,4 +1,4 @@ - operator== - JSON for Modern C++
Skip to content

nlohmann::json_pointer::operator==

// until C++20
+ operator== - JSON for Modern C++      

nlohmann::json_pointer::operator==

// until C++20
 template<typename RefStringTypeLhs, typename RefStringTypeRhs>
 bool operator==(
     const json_pointer<RefStringTypeLhs>& lhs,
@@ -82,4 +82,4 @@
 "" == "": true
 "/foo" == "/foo": true
 "bar" == "/foo": [json.exception.parse_error.107] parse error at byte 1: JSON pointer must be empty or begin with '/' - was: 'bar'
-

Version history

  1. Added in version 2.1.0. Added C++20 member functions in version 3.11.2.
  2. Added for backward compatibility and deprecated in version 3.11.2.
\ No newline at end of file +

Version history

  1. Added in version 2.1.0. Added C++20 member functions in version 3.11.2.
  2. Added for backward compatibility and deprecated in version 3.11.2.
\ No newline at end of file diff --git a/api/json_pointer/operator_ne/index.html b/api/json_pointer/operator_ne/index.html index 13f185b08..bf17ce616 100644 --- a/api/json_pointer/operator_ne/index.html +++ b/api/json_pointer/operator_ne/index.html @@ -1,4 +1,4 @@ - operator!= - JSON for Modern C++
Skip to content

nlohmann::json_pointer::operator!=

// until C++20
+ operator!= - JSON for Modern C++      

nlohmann::json_pointer::operator!=

// until C++20
 template<typename RefStringTypeLhs, typename RefStringTypeRhs>
 bool operator!=(
     const json_pointer<RefStringTypeLhs>& lhs,
@@ -72,4 +72,4 @@
 "" != "": false
 "/foo" != "/foo": false
 "bar" != "/foo": [json.exception.parse_error.107] parse error at byte 1: JSON pointer must be empty or begin with '/' - was: 'bar'
-

Version history

  1. Added in version 2.1.0.
  2. Added for backward compatibility and deprecated in version 3.11.2.
\ No newline at end of file +

Version history

  1. Added in version 2.1.0.
  2. Added for backward compatibility and deprecated in version 3.11.2.
\ No newline at end of file diff --git a/api/json_pointer/operator_slash/index.html b/api/json_pointer/operator_slash/index.html index 8e1921d45..e2607cb72 100644 --- a/api/json_pointer/operator_slash/index.html +++ b/api/json_pointer/operator_slash/index.html @@ -1,4 +1,4 @@ - operator/ - JSON for Modern C++
Skip to content

nlohmann::json_pointer::operator/

// (1)
+ operator/ - JSON for Modern C++      

nlohmann::json_pointer::operator/

// (1)
 json_pointer operator/(const json_pointer& lhs, const json_pointer& rhs);
 
 // (2)
@@ -28,4 +28,4 @@
 

Output:

"/foo/bar/baz"
 "/foo/fob"
 "/foo/42"
-

Version history

  1. Added in version 3.6.0.
  2. Added in version 3.6.0. Changed type of token to string_t in version 3.11.0.
  3. Added in version 3.6.0.
\ No newline at end of file +

Version history

  1. Added in version 3.6.0.
  2. Added in version 3.6.0. Changed type of token to string_t in version 3.11.0.
  3. Added in version 3.6.0.
\ No newline at end of file diff --git a/api/json_pointer/operator_slasheq/index.html b/api/json_pointer/operator_slasheq/index.html index f4eaa105b..4550ca1a7 100644 --- a/api/json_pointer/operator_slasheq/index.html +++ b/api/json_pointer/operator_slasheq/index.html @@ -1,4 +1,4 @@ - operator/= - JSON for Modern C++
Skip to content

nlohmann::json_pointer::operator/=

// (1)
+ operator/= - JSON for Modern C++      

nlohmann::json_pointer::operator/=

// (1)
 json_pointer& operator/=(const json_pointer& ptr);
 
 // (2)
@@ -33,4 +33,4 @@
 "/foo/bar/baz"
 "/foo/bar/baz/fob"
 "/foo/bar/baz/fob/42"
-

Version history

  1. Added in version 3.6.0.
  2. Added in version 3.6.0. Changed type of token to string_t in version 3.11.0.
  3. Added in version 3.6.0.
\ No newline at end of file +

Version history

  1. Added in version 3.6.0.
  2. Added in version 3.6.0. Changed type of token to string_t in version 3.11.0.
  3. Added in version 3.6.0.
\ No newline at end of file diff --git a/api/json_pointer/operator_string_t/index.html b/api/json_pointer/operator_string_t/index.html index 5a006aca8..635797302 100644 --- a/api/json_pointer/operator_string_t/index.html +++ b/api/json_pointer/operator_string_t/index.html @@ -1,4 +1,4 @@ - operator string_t - JSON for Modern C++
Skip to content

nlohmann::json_pointer::operator string_t

operator string_t() const
+ operator string_t - JSON for Modern C++      

nlohmann::json_pointer::operator string_t

operator string_t() const
 

Return a string representation of the JSON pointer.

Return value

A string representation of the JSON pointer

Possible implementation

operator string_t() const
 {
     return to_string();
@@ -24,4 +24,4 @@
 }
 

Output:

/foo/0
 /a~1b
-

See also

Version history

  • Since version 2.0.0.
  • Changed type to string_t and deprecated in version 3.11.0.
\ No newline at end of file +

See also

Version history

  • Since version 2.0.0.
  • Changed type to string_t and deprecated in version 3.11.0.
\ No newline at end of file diff --git a/api/json_pointer/parent_pointer/index.html b/api/json_pointer/parent_pointer/index.html index b5c508649..02e851240 100644 --- a/api/json_pointer/parent_pointer/index.html +++ b/api/json_pointer/parent_pointer/index.html @@ -1,4 +1,4 @@ - parent_pointer - JSON for Modern C++
Skip to content

nlohmann::json_pointer::parent_pointer

json_pointer parent_pointer() const;
+ parent_pointer - JSON for Modern C++      

nlohmann::json_pointer::parent_pointer

json_pointer parent_pointer() const;
 

Returns the parent of this JSON pointer.

Return value

Parent of this JSON pointer; in case this JSON pointer is the root, the root itself is returned.

Complexity

Linear in the length of the JSON pointer.

Examples

Example

The example shows the result of parent_pointer for different JSON Pointers.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -20,4 +20,4 @@
 

Output:

parent of "" is ""
 parent of "/foo" is ""
 parent of "/foo/0" is "/foo"
-

Version history

Added in version 3.6.0.

\ No newline at end of file +

Version history

Added in version 3.6.0.

\ No newline at end of file diff --git a/api/json_pointer/pop_back/index.html b/api/json_pointer/pop_back/index.html index a852f76ef..b933cac17 100644 --- a/api/json_pointer/pop_back/index.html +++ b/api/json_pointer/pop_back/index.html @@ -1,4 +1,4 @@ - pop_back - JSON for Modern C++
Skip to content

nlohmann::json_pointer::pop_back

void pop_back();
+ pop_back - JSON for Modern C++      

nlohmann::json_pointer::pop_back

void pop_back();
 

Remove the last reference token.

Exceptions

Throws out_of_range.405 if the JSON pointer has no parent.

Complexity

Constant.

Examples

Example

The example shows the usage of pop_back.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -24,4 +24,4 @@
 "/foo/bar"
 "/foo"
 ""
-

Version history

Added in version 3.6.0.

\ No newline at end of file +

Version history

Added in version 3.6.0.

\ No newline at end of file diff --git a/api/json_pointer/push_back/index.html b/api/json_pointer/push_back/index.html index 4f921372c..ebe4489dd 100644 --- a/api/json_pointer/push_back/index.html +++ b/api/json_pointer/push_back/index.html @@ -1,4 +1,4 @@ - push_back - JSON for Modern C++
Skip to content

nlohmann::json_pointer::push_back

void push_back(const string_t& token);
+ push_back - JSON for Modern C++      

nlohmann::json_pointer::push_back

void push_back(const string_t& token);
 
 void push_back(string_t&& token);
 

Append an unescaped token at the end of the reference pointer.

Parameters

token (in)
token to add

Complexity

Amortized constant.

Examples

Example

The example shows the result of push_back for different JSON Pointers.

#include <iostream>
@@ -26,4 +26,4 @@
 "/foo"
 "/foo/0"
 "/foo/0/bar"
-

Version history

  • Added in version 3.6.0.
  • Changed type of token to string_t in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 3.6.0.
  • Changed type of token to string_t in version 3.11.0.
\ No newline at end of file diff --git a/api/json_pointer/string_t/index.html b/api/json_pointer/string_t/index.html index a1f2cea8f..a703abe7f 100644 --- a/api/json_pointer/string_t/index.html +++ b/api/json_pointer/string_t/index.html @@ -1,4 +1,4 @@ - string_t - JSON for Modern C++
Skip to content

nlohmann::json_pointer::string_t

using string_t = RefStringType;
+ string_t - JSON for Modern C++      

nlohmann::json_pointer::string_t

using string_t = RefStringType;
 

The string type used for the reference tokens making up the JSON pointer.

See basic_json::string_t for more information.

Examples

Example

The example shows the type string_t and its relation to basic_json::string_t.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -14,4 +14,4 @@
 }
 

Output:

This is a string.
 true
-

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/json_pointer/to_string/index.html b/api/json_pointer/to_string/index.html index 103d05604..7515b2b36 100644 --- a/api/json_pointer/to_string/index.html +++ b/api/json_pointer/to_string/index.html @@ -1,4 +1,4 @@ - to_string - JSON for Modern C++
Skip to content

nlohmann::json_pointer::to_string

string_t to_string() const;
+ to_string - JSON for Modern C++      

nlohmann::json_pointer::to_string

string_t to_string() const;
 

Return a string representation of the JSON pointer.

Return value

A string representation of the JSON pointer

Notes

For each JSON pointer ptr, it holds:

ptr == json_pointer(ptr.to_string());
 

Examples

Example

The example shows the result of to_string.

#include <iostream>
 #include <nlohmann/json.hpp>
@@ -46,4 +46,4 @@
 "/k"l"
 "/ "
 "/m~0n"
-

Version history

  • Since version 2.0.0.
  • Changed return type to string_t in version 3.11.0.
\ No newline at end of file +

Version history

  • Since version 2.0.0.
  • Changed return type to string_t in version 3.11.0.
\ No newline at end of file diff --git a/api/json_sax/binary/index.html b/api/json_sax/binary/index.html index fabeffa99..ed80576da 100644 --- a/api/json_sax/binary/index.html +++ b/api/json_sax/binary/index.html @@ -1,4 +1,4 @@ - binary - JSON for Modern C++
Skip to content

nlohmann::json_sax::binary

virtual bool binary(binary_t& val) = 0;
+ binary - JSON for Modern C++      

nlohmann::json_sax::binary

virtual bool binary(binary_t& val) = 0;
 

A binary value was read.

Parameters

val (in)
binary value

Return value

Whether parsing should proceed.

Notes

It is safe to move the passed binary value.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -116,4 +116,4 @@
 

Output:

binary(val=[...])
 
 result: true
-

Version history

  • Added in version 3.8.0.
\ No newline at end of file +

Version history

  • Added in version 3.8.0.
\ No newline at end of file diff --git a/api/json_sax/boolean/index.html b/api/json_sax/boolean/index.html index ce8b89870..3b875f925 100644 --- a/api/json_sax/boolean/index.html +++ b/api/json_sax/boolean/index.html @@ -1,4 +1,4 @@ - boolean - JSON for Modern C++
Skip to content

nlohmann::json_sax::boolean

virtual bool boolean(bool val) = 0;
+ boolean - JSON for Modern C++      

nlohmann::json_sax::boolean

virtual bool boolean(bool val) = 0;
 

A boolean value was read.

Parameters

val (in)
boolean value

Return value

Whether parsing should proceed.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/end_array/index.html b/api/json_sax/end_array/index.html index 1f824ec27..3813b3b94 100644 --- a/api/json_sax/end_array/index.html +++ b/api/json_sax/end_array/index.html @@ -1,4 +1,4 @@ - end_array - JSON for Modern C++
Skip to content

nlohmann::json_sax::end_array

virtual bool end_array() = 0;
+ end_array - JSON for Modern C++      

nlohmann::json_sax::end_array

virtual bool end_array() = 0;
 

The end of an array was read.

Return value

Whether parsing should proceed.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/end_object/index.html b/api/json_sax/end_object/index.html index f49524505..7e0bebf6b 100644 --- a/api/json_sax/end_object/index.html +++ b/api/json_sax/end_object/index.html @@ -1,4 +1,4 @@ - end_object - JSON for Modern C++
Skip to content

nlohmann::json_sax::end_object

virtual bool end_object() = 0;
+ end_object - JSON for Modern C++      

nlohmann::json_sax::end_object

virtual bool end_object() = 0;
 

The end of an object was read.

Return value

Whether parsing should proceed.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/index.html b/api/json_sax/index.html index 8c5463c02..3fef237cc 100644 --- a/api/json_sax/index.html +++ b/api/json_sax/index.html @@ -1,3 +1,3 @@ - Overview - JSON for Modern C++
Skip to content

nlohmann::json_sax

template<typename BasicJsonType>
+ Overview - JSON for Modern C++      

nlohmann::json_sax

template<typename BasicJsonType>
 struct json_sax;
-

This class describes the SAX interface used by sax_parse. Each function is called in different situations while the input is parsed. The boolean return value informs the parser whether to continue processing the input.

Template parameters

BasicJsonType
a specialization of basic_json

Member types

Member functions

  • binary (virtual) - a binary value was read
  • boolean (virtual) - a boolean value was read
  • end_array (virtual) - the end of an array was read
  • end_object (virtual) - the end of an object was read
  • key (virtual) - an object key was read
  • null (virtual) - a null value was read
  • number_float (virtual) - a floating-point number was read
  • number_integer (virtual) - an integer number was read
  • number_unsigned (virtual) - an unsigned integer number was read
  • parse_error (virtual) - a parse error occurred
  • start_array (virtual) - the beginning of an array was read
  • start_object (virtual) - the beginning of an object was read
  • string (virtual) - a string value was read

Version history

  • Added in version 3.2.0.
  • Support for binary values (binary_t, binary) added in version 3.8.0.
\ No newline at end of file +

This class describes the SAX interface used by sax_parse. Each function is called in different situations while the input is parsed. The boolean return value informs the parser whether to continue processing the input.

Template parameters

BasicJsonType
a specialization of basic_json

Member types

Member functions

  • binary (virtual) - a binary value was read
  • boolean (virtual) - a boolean value was read
  • end_array (virtual) - the end of an array was read
  • end_object (virtual) - the end of an object was read
  • key (virtual) - an object key was read
  • null (virtual) - a null value was read
  • number_float (virtual) - a floating-point number was read
  • number_integer (virtual) - an integer number was read
  • number_unsigned (virtual) - an unsigned integer number was read
  • parse_error (virtual) - a parse error occurred
  • start_array (virtual) - the beginning of an array was read
  • start_object (virtual) - the beginning of an object was read
  • string (virtual) - a string value was read

Version history

  • Added in version 3.2.0.
  • Support for binary values (binary_t, binary) added in version 3.8.0.
\ No newline at end of file diff --git a/api/json_sax/key/index.html b/api/json_sax/key/index.html index d466babc8..c3eda5973 100644 --- a/api/json_sax/key/index.html +++ b/api/json_sax/key/index.html @@ -1,4 +1,4 @@ - key - JSON for Modern C++
Skip to content

nlohmann::json_sax::key

virtual bool key(string_t& val) = 0;
+ key - JSON for Modern C++      

nlohmann::json_sax::key

virtual bool key(string_t& val) = 0;
 

An object key was read.

Parameters

val (in)
object key

Return value

Whether parsing should proceed.

Notes

It is safe to move the passed object key value.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/null/index.html b/api/json_sax/null/index.html index f76f8204b..ae9a796ec 100644 --- a/api/json_sax/null/index.html +++ b/api/json_sax/null/index.html @@ -1,4 +1,4 @@ - null - JSON for Modern C++
Skip to content

nlohmann::json_sax::null

virtual bool null() = 0;
+ null - JSON for Modern C++      

nlohmann::json_sax::null

virtual bool null() = 0;
 

A null value was read.

Return value

Whether parsing should proceed.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/number_float/index.html b/api/json_sax/number_float/index.html index b839926eb..bed046b4c 100644 --- a/api/json_sax/number_float/index.html +++ b/api/json_sax/number_float/index.html @@ -1,4 +1,4 @@ - number_float - JSON for Modern C++
Skip to content

nlohmann::json_sax::number_float

virtual bool number_float(number_float_t val, const string_t& s) = 0;
+ number_float - JSON for Modern C++      

nlohmann::json_sax::number_float

virtual bool number_float(number_float_t val, const string_t& s) = 0;
 

A floating-point number was read.

Parameters

val (in)
floating-point value
s (in)
string representation of the original input

Return value

Whether parsing should proceed.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/number_integer/index.html b/api/json_sax/number_integer/index.html index 28cfe2ff1..6f7921a58 100644 --- a/api/json_sax/number_integer/index.html +++ b/api/json_sax/number_integer/index.html @@ -1,4 +1,4 @@ - number_integer - JSON for Modern C++
Skip to content

nlohmann::json_sax::number_integer

virtual bool number_integer(number_integer_t val) = 0;
+ number_integer - JSON for Modern C++      

nlohmann::json_sax::number_integer

virtual bool number_integer(number_integer_t val) = 0;
 

An integer number was read.

Parameters

val (in)
integer value

Return value

Whether parsing should proceed.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/number_unsigned/index.html b/api/json_sax/number_unsigned/index.html index 9661b2646..aac4d853f 100644 --- a/api/json_sax/number_unsigned/index.html +++ b/api/json_sax/number_unsigned/index.html @@ -1,4 +1,4 @@ - number_unsigned - JSON for Modern C++
Skip to content

nlohmann::json_sax::number_unsigned

virtual bool number_unsigned(number_unsigned_t val) = 0;
+ number_unsigned - JSON for Modern C++      

nlohmann::json_sax::number_unsigned

virtual bool number_unsigned(number_unsigned_t val) = 0;
 

An unsigned integer number was read.

Parameters

val (in)
unsigned integer value

Return value

Whether parsing should proceed.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/parse_error/index.html b/api/json_sax/parse_error/index.html index b77086b4d..8a66654d1 100644 --- a/api/json_sax/parse_error/index.html +++ b/api/json_sax/parse_error/index.html @@ -1,4 +1,4 @@ - parse_error - JSON for Modern C++
Skip to content

nlohmann::json_sax::parse_error

virtual bool parse_error(std::size_t position,
+ parse_error - JSON for Modern C++      

nlohmann::json_sax::parse_error

virtual bool parse_error(std::size_t position,
                          const std::string& last_token,
                          const detail::exception& ex) = 0;
 

A parse error occurred.

Parameters

position (in)
the position in the input where the error occurs
last_token (in)
the last read token
ex (in)
an exception object describing the error

Return value

Whether parsing should proceed (must return false).

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
@@ -169,4 +169,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/start_array/index.html b/api/json_sax/start_array/index.html index f844f3ead..23306034c 100644 --- a/api/json_sax/start_array/index.html +++ b/api/json_sax/start_array/index.html @@ -1,4 +1,4 @@ - start_array - JSON for Modern C++
Skip to content

nlohmann::json_sax::start_array

virtual bool start_array(std::size_t elements) = 0;
+ start_array - JSON for Modern C++      

nlohmann::json_sax::start_array

virtual bool start_array(std::size_t elements) = 0;
 

The beginning of an array was read.

Parameters

elements (in)
number of object elements or -1 if unknown

Return value

Whether parsing should proceed.

Notes

Binary formats may report the number of elements.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/start_object/index.html b/api/json_sax/start_object/index.html index 10902eab9..29f32dccf 100644 --- a/api/json_sax/start_object/index.html +++ b/api/json_sax/start_object/index.html @@ -1,4 +1,4 @@ - start_object - JSON for Modern C++
Skip to content

nlohmann::json_sax::start_object

virtual bool start_object(std::size_t elements) = 0;
+ start_object - JSON for Modern C++      

nlohmann::json_sax::start_object

virtual bool start_object(std::size_t elements) = 0;
 

The beginning of an object was read.

Parameters

elements (in)
number of object elements or -1 if unknown

Return value

Whether parsing should proceed.

Notes

Binary formats may report the number of elements.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/json_sax/string/index.html b/api/json_sax/string/index.html index 7446ca921..d97bf19bb 100644 --- a/api/json_sax/string/index.html +++ b/api/json_sax/string/index.html @@ -1,4 +1,4 @@ - string - JSON for Modern C++
Skip to content

nlohmann::json_sax::string

virtual bool string(string_t& val) = 0;
+ string - JSON for Modern C++      

nlohmann::json_sax::string

virtual bool string(string_t& val) = 0;
 

A string value was read.

Parameters

val (in)
string value

Return value

Whether parsing should proceed.

Notes

It is safe to move the passed string value.

Examples

Example

The example below shows how the SAX interface is used.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -167,4 +167,4 @@
             ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
 
 result: false
-

Version history

  • Added in version 3.2.0.
\ No newline at end of file +

Version history

  • Added in version 3.2.0.
\ No newline at end of file diff --git a/api/macros/index.html b/api/macros/index.html index 03a366d5f..b73b0ea46 100644 --- a/api/macros/index.html +++ b/api/macros/index.html @@ -1 +1 @@ - Overview - JSON for Modern C++
Skip to content

Macros

Some aspects of the library can be configured by defining preprocessor macros before including the json.hpp header. See also the macro overview page.

Runtime assertions

Exceptions

Language support

Library version

Library namespace

Type conversions

Comparison behavior

Serialization/deserialization macros

Enums

Classes and structs

\ No newline at end of file + Overview - JSON for Modern C++
Skip to content

Macros

Some aspects of the library can be configured by defining preprocessor macros before including the json.hpp header. See also the macro overview page.

Runtime assertions

Exceptions

Language support

Library version

Library namespace

Type conversions

Comparison behavior

Serialization/deserialization macros

Enums

Classes and structs

\ No newline at end of file diff --git a/api/macros/json_assert/index.html b/api/macros/json_assert/index.html index 1646c8627..5a6c927ff 100644 --- a/api/macros/json_assert/index.html +++ b/api/macros/json_assert/index.html @@ -1,4 +1,4 @@ - JSON_ASSERT - JSON for Modern C++
Skip to content

JSON_ASSERT

#define JSON_ASSERT(x) /* value */
+ JSON_ASSERT - JSON for Modern C++      

JSON_ASSERT

#define JSON_ASSERT(x) /* value */
 

This macro controls which code is executed for runtime assertions of the library.

Parameters

x (in)
expression of a scalar type

Default definition

The default value is assert(x).

#define JSON_ASSERT(x) assert(x)
 

Therefore, assertions can be switched off by defining NDEBUG.

Notes

  • The library uses numerous assertions to guarantee invariants and to abort in case of otherwise undefined behavior (e.g., when calling operator[] with a missing object key on a const object). See page runtime assertions for more information.
  • Defining the macro to code that does not call std::abort may leave the library in an undefined state.
  • The macro is undefined outside the library.

Examples

Example 1: default behavior

The following code will trigger an assertion at runtime:

#include <nlohmann/json.hpp>
 
@@ -24,4 +24,4 @@
     auto v = j["missing"];
 }
 

Output:

assertion error in operator[]
-

See also

Version history

  • Added in version 3.9.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.9.0.
\ No newline at end of file diff --git a/api/macros/json_diagnostic_positions/index.html b/api/macros/json_diagnostic_positions/index.html index 9615f43bb..2e4a42c0c 100644 --- a/api/macros/json_diagnostic_positions/index.html +++ b/api/macros/json_diagnostic_positions/index.html @@ -1,4 +1,4 @@ - JSON_DIAGNOSTIC_POSITIONS - JSON for Modern C++
Skip to content

JSON_DIAGNOSTIC_POSITIONS

#define JSON_DIAGNOSTIC_POSITIONS /* value */
+ JSON_DIAGNOSTIC_POSITIONS - JSON for Modern C++      

JSON_DIAGNOSTIC_POSITIONS

#define JSON_DIAGNOSTIC_POSITIONS /* value */
 

This macro enables position diagnostics for generated JSON objects.

When enabled, two new member functions start_pos() and end_pos() are added to basic_json values. If the value was created by calling theparse function, then these functions allow querying the byte positions of the value in the input it was parsed from. In case the value was constructed by other means, std::string::npos is returned.

start_pos() returns the position of the first character of a given value in the original JSON string, while end_pos() returns the position of the character following the last character. For objects and arrays, the first and last characters correspond to the opening or closing braces/brackets, respectively. For primitive values, the first and last character represents the opening and closing quotes (strings) or the first and last character of the field's numerical or predefined value (true, false, null), respectively.

JSON type return value start_pos() return value end_pos()
object position of the opening { position after the closing }
array position of the opening [ position after the closing ]
string position of the opening " position after the closing "
number position of the first character position after the last character
boolean position of t for true and f for false position after e
null position of n position after l

Given the above, end_pos()-start_pos() for a JSON value provides the length of the parsed JSON string for that value, including the opening or closing braces, brackets, or quotes.

Note that enabling this macro increases the size of every JSON value by two std::size_t fields and adds slight runtime overhead to parsing, copying JSON value objects, and the generation of error messages for exceptions. It also causes these values to be reported in those error messages.

Default definition

The default value is 0 (position diagnostics are switched off).

#define JSON_DIAGNOSTIC_POSITIONS 0
 

When the macro is not defined, the library will define it to its default value.

Notes

CMake option

Diagnostic positions can also be controlled with the CMake option JSON_Diagnostic_Positions (OFF by default) which defines JSON_DIAGNOSTIC_POSITIONS accordingly.

Availability

Diagnostic positions are only available if the value was created by the parse function. The sax_parse function or all other means to create a JSON value do not set the diagnostic positions and start_pos() and end_pos() will only return std::string::npos for these values.

Invalidation

The returned positions are only valid as long as the JSON value is not changed. The positions are not updated when the JSON value is changed.

Examples

Example: retrieving positions
#include <iostream>
 
@@ -165,4 +165,4 @@ Parsed string:
 }
 

Output:

[json.exception.type_error.302] (/address/housenumber) (bytes 92-95) type must be number, but is string
 
The output shows the exception with diagnostic path info and start/end positions.
-

See also

Version history

  • Added in version 3.12.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.12.0.
\ No newline at end of file diff --git a/api/macros/json_diagnostics/index.html b/api/macros/json_diagnostics/index.html index 7f344bba1..9befa3462 100644 --- a/api/macros/json_diagnostics/index.html +++ b/api/macros/json_diagnostics/index.html @@ -1,4 +1,4 @@ - JSON_DIAGNOSTICS - JSON for Modern C++
Skip to content

JSON_DIAGNOSTICS

#define JSON_DIAGNOSTICS /* value */
+ JSON_DIAGNOSTICS - JSON for Modern C++      

JSON_DIAGNOSTICS

#define JSON_DIAGNOSTICS /* value */
 

This macro enables extended diagnostics for exception messages. Possible values are 1 to enable or 0 to disable (default).

When enabled, exception messages contain a JSON Pointer to the JSON value that triggered the exception. Note that enabling this macro increases the size of every JSON value by one pointer and adds some runtime overhead.

Default definition

The default value is 0 (extended diagnostics are switched off).

#define JSON_DIAGNOSTICS 0
 

When the macro is not defined, the library will define it to its default value.

Notes

ABI compatibility

As of version 3.11.0, this macro is no longer required to be defined consistently throughout a codebase to avoid One Definition Rule (ODR) violations, as the value of this macro is encoded in the namespace, resulting in distinct symbol names.

This allows different parts of a codebase to use different versions or configurations of this library without causing improper behavior.

Where possible, it is still recommended that all code define this the same way for maximum interoperability.

CMake option

Diagnostic messages can also be controlled with the CMake option JSON_Diagnostics (OFF by default) which defines JSON_DIAGNOSTICS accordingly.

Examples

Example 1: default behavior
#include <iostream>
 #include <nlohmann/json.hpp>
@@ -75,4 +75,4 @@
     }
 }
 

Output:

[json.exception.type_error.302] (bytes 92-95) type must be number, but is string
-
The output shows the exception with start/end positions only.

See also

Version history

  • Added in version 3.10.0.
  • As of version 3.11.0, the definition is allowed to vary between translation units.
\ No newline at end of file +
The output shows the exception with start/end positions only.

See also

Version history

  • Added in version 3.10.0.
  • As of version 3.11.0, the definition is allowed to vary between translation units.
\ No newline at end of file diff --git a/api/macros/json_disable_enum_serialization/index.html b/api/macros/json_disable_enum_serialization/index.html index 281a9b819..1ed3353ab 100644 --- a/api/macros/json_disable_enum_serialization/index.html +++ b/api/macros/json_disable_enum_serialization/index.html @@ -1,4 +1,4 @@ - JSON_DISABLE_ENUM_SERIALIZATION - JSON for Modern C++
Skip to content

JSON_DISABLE_ENUM_SERIALIZATION

#define JSON_DISABLE_ENUM_SERIALIZATION /* value */
+ JSON_DISABLE_ENUM_SERIALIZATION - JSON for Modern C++      

JSON_DISABLE_ENUM_SERIALIZATION

#define JSON_DISABLE_ENUM_SERIALIZATION /* value */
 

When defined to 1, default serialization and deserialization functions for enums are excluded and have to be provided by the user, for example, using NLOHMANN_JSON_SERIALIZE_ENUM (see arbitrary type conversions for more details).

Parsing or serializing an enum will result in a compiler error.

This works for both unscoped and scoped enums.

Default definition

The default value is 0.

#define JSON_DISABLE_ENUM_SERIALIZATION 0
 

Notes

CMake option

Enum serialization can also be controlled with the CMake option JSON_DisableEnumSerialization (OFF by default) which defines JSON_DISABLE_ENUM_SERIALIZATION accordingly.

Examples

Example 1: Disabled behavior

The code below forces the library not to create default serialization/deserialization functions from_json and to_json, meaning the code below does not compile.

#define JSON_DISABLE_ENUM_SERIALIZATION 1
 #include <nlohmann/json.hpp>
@@ -89,4 +89,4 @@
     // uses user-defined from_json function
     Choice ch = j.get<Choice>();
 }
-

See also

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/macros/json_has_cpp_11/index.html b/api/macros/json_has_cpp_11/index.html index cb1348a4c..27fdc1051 100644 --- a/api/macros/json_has_cpp_11/index.html +++ b/api/macros/json_has_cpp_11/index.html @@ -1,4 +1,4 @@ - JSON_HAS_CPP_11, JSON_HAS_CPP_14, JSON_HAS_CPP_17, JSON_HAS_CPP_20 - JSON for Modern C++
Skip to content

JSON_HAS_CPP_11, JSON_HAS_CPP_14, JSON_HAS_CPP_17, JSON_HAS_CPP_20

#define JSON_HAS_CPP_11
+ JSON_HAS_CPP_11, JSON_HAS_CPP_14, JSON_HAS_CPP_17, JSON_HAS_CPP_20 - JSON for Modern C++      

JSON_HAS_CPP_11, JSON_HAS_CPP_14, JSON_HAS_CPP_17, JSON_HAS_CPP_20

#define JSON_HAS_CPP_11
 #define JSON_HAS_CPP_14
 #define JSON_HAS_CPP_17
 #define JSON_HAS_CPP_20
@@ -6,4 +6,4 @@
 #include <nlohmann/json.hpp>
 
 ...
-

Version history

  • Added in version 3.10.5.
\ No newline at end of file +

Version history

  • Added in version 3.10.5.
\ No newline at end of file diff --git a/api/macros/json_has_filesystem/index.html b/api/macros/json_has_filesystem/index.html index 7fe55c536..318b179d2 100644 --- a/api/macros/json_has_filesystem/index.html +++ b/api/macros/json_has_filesystem/index.html @@ -1,7 +1,7 @@ - JSON_HAS_EXPERIMENTAL_FILESYSTEM, JSON_HAS_FILESYSTEM - JSON for Modern C++
Skip to content

JSON_HAS_FILESYSTEM / JSON_HAS_EXPERIMENTAL_FILESYSTEM

#define JSON_HAS_FILESYSTEM /* value */
+ JSON_HAS_EXPERIMENTAL_FILESYSTEM, JSON_HAS_FILESYSTEM - JSON for Modern C++      

JSON_HAS_FILESYSTEM / JSON_HAS_EXPERIMENTAL_FILESYSTEM

#define JSON_HAS_FILESYSTEM /* value */
 #define JSON_HAS_EXPERIMENTAL_FILESYSTEM /* value */
 

When compiling with C++17, the library provides conversions from and to std::filesystem::path. As compiler support for filesystem is limited, the library tries to detect whether <filesystem>/std::filesystem (JSON_HAS_FILESYSTEM) or <experimental/filesystem>/std::experimental::filesystem (JSON_HAS_EXPERIMENTAL_FILESYSTEM) should be used. To override the built-in check, define JSON_HAS_FILESYSTEM or JSON_HAS_EXPERIMENTAL_FILESYSTEM to 1.

Default definition

The default value is detected based on the preprocessor macros __cpp_lib_filesystem, __cpp_lib_experimental_filesystem, __has_include(<filesystem>), or __has_include(<experimental/filesystem>).

Notes

  • Note that older compilers or older versions of libstd++ also require the library stdc++fs to be linked to for filesystem support.
  • Both macros are undefined outside the library.

Examples

Example

The code below forces the library to use the header <experimental/filesystem>.

#define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1
 #include <nlohmann/json.hpp>
 
 ...
-

Version history

  • Added in version 3.10.5.
\ No newline at end of file +

Version history

  • Added in version 3.10.5.
\ No newline at end of file diff --git a/api/macros/json_has_ranges/index.html b/api/macros/json_has_ranges/index.html index d2f9886d0..5aa8b6d95 100644 --- a/api/macros/json_has_ranges/index.html +++ b/api/macros/json_has_ranges/index.html @@ -1,6 +1,6 @@ - JSON_HAS_RANGES - JSON for Modern C++
Skip to content

JSON_HAS_RANGES

#define JSON_HAS_RANGES /* value */
+ JSON_HAS_RANGES - JSON for Modern C++      

JSON_HAS_RANGES

#define JSON_HAS_RANGES /* value */
 

This macro indicates whether the standard library has any support for ranges. Implies support for concepts. Possible values are 1 when supported or 0 when unsupported.

Default definition

The default value is detected based on the preprocessor macro __cpp_lib_ranges.

When the macro is not defined, the library will define it to its default value.

Examples

Example

The code below forces the library to enable support for ranges:

#define JSON_HAS_RANGES 1
 #include <nlohmann/json.hpp>
 
 ...
-

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/macros/json_has_static_rtti/index.html b/api/macros/json_has_static_rtti/index.html index 2c0743ef3..cd9e92cd0 100644 --- a/api/macros/json_has_static_rtti/index.html +++ b/api/macros/json_has_static_rtti/index.html @@ -1,6 +1,6 @@ - JSON_HAS_STATIC_RTTI - JSON for Modern C++
Skip to content

JSON_HAS_STATIC_RTTI

#define JSON_HAS_STATIC_RTTI /* value */
+ JSON_HAS_STATIC_RTTI - JSON for Modern C++      

JSON_HAS_STATIC_RTTI

#define JSON_HAS_STATIC_RTTI /* value */
 

This macro indicates whether the standard library has any support for RTTI (run time type information). Possible values are 1 when supported or 0 when unsupported.

Default definition

The default value is detected based on the preprocessor macro _HAS_STATIC_RTTI.

When the macro is not defined, the library will define it to its default value.

Examples

Example

The code below forces the library to enable support for libraries with RTTI dependence:

#define JSON_HAS_STATIC_RTTI 1
 #include <nlohmann/json.hpp>
 
 ...
-

Version history

  • Added in version 3.11.3.
\ No newline at end of file +

Version history

  • Added in version 3.11.3.
\ No newline at end of file diff --git a/api/macros/json_has_three_way_comparison/index.html b/api/macros/json_has_three_way_comparison/index.html index fd347d6ba..5500ee0a1 100644 --- a/api/macros/json_has_three_way_comparison/index.html +++ b/api/macros/json_has_three_way_comparison/index.html @@ -1,6 +1,6 @@ - JSON_HAS_THREE_WAY_COMPARISON - JSON for Modern C++
Skip to content

JSON_HAS_THREE_WAY_COMPARISON

#define JSON_HAS_THREE_WAY_COMPARISON /* value */
+ JSON_HAS_THREE_WAY_COMPARISON - JSON for Modern C++      

JSON_HAS_THREE_WAY_COMPARISON

#define JSON_HAS_THREE_WAY_COMPARISON /* value */
 

This macro indicates whether the compiler and standard library support 3-way comparison. Possible values are 1 when supported or 0 when unsupported.

Default definition

The default value is detected based on the preprocessor macros __cpp_impl_three_way_comparison and __cpp_lib_three_way_comparison.

When the macro is not defined, the library will define it to its default value.

Examples

Example

The code below forces the library to use 3-way comparison:

#define JSON_HAS_THREE_WAY_COMPARISON 1
 #include <nlohmann/json.hpp>
 
 ...
-

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/macros/json_no_io/index.html b/api/macros/json_no_io/index.html index 64bbfd674..68f7c8fd8 100644 --- a/api/macros/json_no_io/index.html +++ b/api/macros/json_no_io/index.html @@ -1,7 +1,7 @@ - JSON_NO_IO - JSON for Modern C++
Skip to content

JSON_NO_IO

#define JSON_NO_IO
+ JSON_NO_IO - JSON for Modern C++      

JSON_NO_IO

#define JSON_NO_IO
 

When defined, headers <cstdio>, <ios>, <iosfwd>, <istream>, and <ostream> are not included and parse functions relying on these headers are excluded. This is relevant for environments where these I/O functions are disallowed for security reasons (e.g., Intel Software Guard Extensions (SGX)).

Default definition

By default, JSON_NO_IO is not defined.

#undef JSON_NO_IO
 

Examples

Example

The code below forces the library not to use the headers <cstdio>, <ios>, <iosfwd>, <istream>, and <ostream>.

#define JSON_NO_IO 1
 #include <nlohmann/json.hpp>
 
 ...
-

Version history

  • Added in version 3.10.0.
\ No newline at end of file +

Version history

  • Added in version 3.10.0.
\ No newline at end of file diff --git a/api/macros/json_noexception/index.html b/api/macros/json_noexception/index.html index 40598ac6c..8c8418d6a 100644 --- a/api/macros/json_noexception/index.html +++ b/api/macros/json_noexception/index.html @@ -1,7 +1,7 @@ - JSON_NOEXCEPTION - JSON for Modern C++
Skip to content

JSON_NOEXCEPTION

#define JSON_NOEXCEPTION
+ JSON_NOEXCEPTION - JSON for Modern C++      

JSON_NOEXCEPTION

#define JSON_NOEXCEPTION
 

Exceptions can be switched off by defining the symbol JSON_NOEXCEPTION. When defining JSON_NOEXCEPTION, try is replaced by if (true), catch is replaced by if (false), and throw is replaced by std::abort().

The same effect is achieved by setting the compiler flag -fno-exceptions.

Default definition

By default, the macro is not defined.

#undef JSON_NOEXCEPTION
 

Notes

The explanatory what() string of exceptions is not available for MSVC if exceptions are disabled, see #2824.

Examples

Example

The code below switches off exceptions in the library.

#define JSON_NOEXCEPTION 1
 #include <nlohmann/json.hpp>
 
 ...
-

See also

Version history

Added in version 2.1.0.

\ No newline at end of file +

See also

Version history

Added in version 2.1.0.

\ No newline at end of file diff --git a/api/macros/json_skip_library_version_check/index.html b/api/macros/json_skip_library_version_check/index.html index 0992911e5..247b7e18d 100644 --- a/api/macros/json_skip_library_version_check/index.html +++ b/api/macros/json_skip_library_version_check/index.html @@ -1,4 +1,4 @@ - JSON_SKIP_LIBRARY_VERSION_CHECK - JSON for Modern C++
Skip to content

JSON_SKIP_LIBRARY_VERSION_CHECK

#define JSON_SKIP_LIBRARY_VERSION_CHECK
+ JSON_SKIP_LIBRARY_VERSION_CHECK - JSON for Modern C++      

JSON_SKIP_LIBRARY_VERSION_CHECK

#define JSON_SKIP_LIBRARY_VERSION_CHECK
 

When defined, the library will not create a compiler warning when a different version of the library was already included.

Default definition

By default, the macro is not defined.

#undef JSON_SKIP_LIBRARY_VERSION_CHECK
 

Notes

ABI compatibility

Mixing different library versions in the same code can be a problem as the different versions may not be ABI compatible.

Examples

Example

The following warning will be shown in case a different version of the library was already included:

Already included a different version of the library!
-

Version history

Added in version 3.11.0.

\ No newline at end of file +

Version history

Added in version 3.11.0.

\ No newline at end of file diff --git a/api/macros/json_skip_unsupported_compiler_check/index.html b/api/macros/json_skip_unsupported_compiler_check/index.html index 829c308ce..a2a55dd4f 100644 --- a/api/macros/json_skip_unsupported_compiler_check/index.html +++ b/api/macros/json_skip_unsupported_compiler_check/index.html @@ -1,7 +1,7 @@ - JSON_SKIP_UNSUPPORTED_COMPILER_CHECK - JSON for Modern C++
Skip to content

JSON_SKIP_UNSUPPORTED_COMPILER_CHECK

#define JSON_SKIP_UNSUPPORTED_COMPILER_CHECK
+ JSON_SKIP_UNSUPPORTED_COMPILER_CHECK - JSON for Modern C++      

JSON_SKIP_UNSUPPORTED_COMPILER_CHECK

#define JSON_SKIP_UNSUPPORTED_COMPILER_CHECK
 

When defined, the library will not create a compile error when a known unsupported compiler is detected. This allows using the library with compilers that do not fully support C++11 and may only work if unsupported features are not used.

Default definition

By default, the macro is not defined.

#undef JSON_SKIP_UNSUPPORTED_COMPILER_CHECK
 

Examples

Example

The code below switches off the check whether the compiler is supported.

#define JSON_SKIP_UNSUPPORTED_COMPILER_CHECK 1
 #include <nlohmann/json.hpp>
 
 ...
-

Version history

Added in version 3.2.0.

\ No newline at end of file +

Version history

Added in version 3.2.0.

\ No newline at end of file diff --git a/api/macros/json_throw_user/index.html b/api/macros/json_throw_user/index.html index 875371d3b..991175b1f 100644 --- a/api/macros/json_throw_user/index.html +++ b/api/macros/json_throw_user/index.html @@ -1,4 +1,4 @@ - JSON_CATCH_USER, JSON_THROW_USER, JSON_TRY_USER - JSON for Modern C++
Skip to content

JSON_CATCH_USER, JSON_THROW_USER, JSON_TRY_USER

// (1)
+ JSON_CATCH_USER, JSON_THROW_USER, JSON_TRY_USER - JSON for Modern C++      

JSON_CATCH_USER, JSON_THROW_USER, JSON_TRY_USER

// (1)
 #define JSON_CATCH_USER(exception) /* value */
 // (2)
 #define JSON_THROW_USER(exception) /* value */
@@ -21,4 +21,4 @@
      std::abort();}
 
 #include <nlohmann/json.hpp>
-

See also

Version history

  • Added in version 3.1.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.1.0.
\ No newline at end of file diff --git a/api/macros/json_use_global_udls/index.html b/api/macros/json_use_global_udls/index.html index 5a446d4b6..5b94196be 100644 --- a/api/macros/json_use_global_udls/index.html +++ b/api/macros/json_use_global_udls/index.html @@ -1,4 +1,4 @@ - JSON_USE_GLOBAL_UDLS - JSON for Modern C++
Skip to content

JSON_USE_GLOBAL_UDLS

#define JSON_USE_GLOBAL_UDLS /* value */
+ JSON_USE_GLOBAL_UDLS - JSON for Modern C++      

JSON_USE_GLOBAL_UDLS

#define JSON_USE_GLOBAL_UDLS /* value */
 

When defined to 1, the user-defined string literals (UDLs) are placed into the global namespace instead of nlohmann::literals::json_literals.

Default definition

The default value is 1.

#define JSON_USE_GLOBAL_UDLS 1
 

When the macro is not defined, the library will define it to its default value.

Notes

Future behavior change

The user-defined string literals will be removed from the global namespace in the next major release of the library.

To prepare existing code, define JSON_USE_GLOBAL_UDLS to 0 and bring the string literals into scope where needed. Refer to any of the string literals for details.

CMake option

The placement of user-defined string literals can also be controlled with the CMake option JSON_GlobalUDLs (ON by default) which defines JSON_USE_GLOBAL_UDLS accordingly.

Examples

Example 1: Default behavior

The code below shows the default behavior using the _json UDL.

#include <nlohmann/json.hpp>
 
@@ -29,4 +29,4 @@
     std::cout << j << std::endl;
 }
 

Output:

42
-

See also

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/macros/json_use_implicit_conversions/index.html b/api/macros/json_use_implicit_conversions/index.html index 7e36d1860..968751084 100644 --- a/api/macros/json_use_implicit_conversions/index.html +++ b/api/macros/json_use_implicit_conversions/index.html @@ -1,7 +1,7 @@ - JSON_USE_IMPLICIT_CONVERSIONS - JSON for Modern C++
Skip to content

JSON_USE_IMPLICIT_CONVERSIONS

#define JSON_USE_IMPLICIT_CONVERSIONS /* value */
+ JSON_USE_IMPLICIT_CONVERSIONS - JSON for Modern C++      

JSON_USE_IMPLICIT_CONVERSIONS

#define JSON_USE_IMPLICIT_CONVERSIONS /* value */
 

When defined to 0, implicit conversions are switched off. By default, implicit conversions are switched on. The value directly affects operator ValueType.

Default definition

By default, implicit conversions are enabled.

#define JSON_USE_IMPLICIT_CONVERSIONS 1
 

Notes

Future behavior change

Implicit conversions will be switched off by default in the next major release of the library.

You can prepare existing code by already defining JSON_USE_IMPLICIT_CONVERSIONS to 0 and replace any implicit conversions with calls to get.

CMake option

Implicit conversions can also be controlled with the CMake option JSON_ImplicitConversions (ON by default) which defines JSON_USE_IMPLICIT_CONVERSIONS accordingly.

Examples

Example

This is an example for an implicit conversion:

json j = "Hello, world!";
 std::string s = j;
 

When JSON_USE_IMPLICIT_CONVERSIONS is defined to 0, the code above does no longer compile. Instead, it must be written like this:

json j = "Hello, world!";
 auto s = j.get<std::string>();
-

See also

Version history

  • Added in version 3.9.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.9.0.
\ No newline at end of file diff --git a/api/macros/json_use_legacy_discarded_value_comparison/index.html b/api/macros/json_use_legacy_discarded_value_comparison/index.html index 2a8c77652..9e3b0edc8 100644 --- a/api/macros/json_use_legacy_discarded_value_comparison/index.html +++ b/api/macros/json_use_legacy_discarded_value_comparison/index.html @@ -1,7 +1,7 @@ - JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON - JSON for Modern C++
Skip to content

JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON

#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON /* value */
+ JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON - JSON for Modern C++      

JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON

#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON /* value */
 

This macro enables the (incorrect) legacy comparison behavior of discarded JSON values. Possible values are 1 to enable or 0 to disable (default).

When enabled, comparisons involving at least one discarded JSON value yield results as follows:

Operator Result
== false
!= true
< false
<= true
>= true
> false

Otherwise, comparisons involving at least one discarded JSON value always yield false.

Default definition

The default value is 0.

#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0
 

When the macro is not defined, the library will define it to its default value.

Notes

Inconsistent behavior in C++20 and beyond

When targeting C++20 or above, enabling the legacy comparison behavior is strongly discouraged.

  • The 3-way comparison operator (<=>) will always give the correct result (std::partial_ordering::unordered) regardless of the value of JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON.
  • Overloads for the equality and relational operators emulate the legacy behavior.

Code outside your control may use either 3-way comparison or the equality and relational operators, resulting in inconsistent and unpredictable behavior.

See operator<=> for more information on 3-way comparison.

Deprecation

The legacy comparison behavior is deprecated and may be removed in a future major version release.

New code should not depend on it and existing code should try to remove or rewrite expressions relying on it.

CMake option

Legacy comparison can also be controlled with the CMake option JSON_LegacyDiscardedValueComparison (OFF by default) which defines JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON accordingly.

Examples

Example

The code below switches on the legacy discarded value comparison behavior in the library.

#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 1
 #include <nlohmann/json.hpp>
 
 ...
-

See also

Version history

  • Added in version 3.11.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.11.0.
\ No newline at end of file diff --git a/api/macros/nlohmann_define_derived_type/index.html b/api/macros/nlohmann_define_derived_type/index.html index b0f7f2acd..cbdc0c590 100644 --- a/api/macros/nlohmann_define_derived_type/index.html +++ b/api/macros/nlohmann_define_derived_type/index.html @@ -1,4 +1,4 @@ - NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE - JSON for Modern C++
Skip to content

NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE

// (1)
+ NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE - JSON for Modern C++      

NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE

// (1)
 #define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE(type, base_type, member...)
 // (2)
 #define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT(type, base_type, member...)
@@ -86,4 +86,4 @@
     "Ba": 23,
     "Bb": 42
 }
-

Notes:

  • A and B are default-constructible. This is a requirement for using the macro.
  • A has private members and is not a derived class. Hence, macro NLOHMANN_DEFINE_TYPE_INTRUSIVE is used.
  • As B is a derived class, NLOHMANN_DEFINE_TYPE_INTRUSIVE is not applicable, but NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE must be used.
  • The macro NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE is used inside the class use as NLOHMANN_DEFINE_TYPE_INTRUSIVE.

See also

Version history

  1. Added in version 3.12.0.
  2. Added in version 3.12.0.
  3. Added in version 3.12.0.
  4. Added in version 3.12.0.
  5. Added in version 3.12.0.
  6. Added in version 3.12.0.
\ No newline at end of file +

Notes:

  • A and B are default-constructible. This is a requirement for using the macro.
  • A has private members and is not a derived class. Hence, macro NLOHMANN_DEFINE_TYPE_INTRUSIVE is used.
  • As B is a derived class, NLOHMANN_DEFINE_TYPE_INTRUSIVE is not applicable, but NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE must be used.
  • The macro NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE is used inside the class use as NLOHMANN_DEFINE_TYPE_INTRUSIVE.

See also

Version history

  1. Added in version 3.12.0.
  2. Added in version 3.12.0.
  3. Added in version 3.12.0.
  4. Added in version 3.12.0.
  5. Added in version 3.12.0.
  6. Added in version 3.12.0.
\ No newline at end of file diff --git a/api/macros/nlohmann_define_type_intrusive/index.html b/api/macros/nlohmann_define_type_intrusive/index.html index f1c8cee90..756c9be28 100644 --- a/api/macros/nlohmann_define_type_intrusive/index.html +++ b/api/macros/nlohmann_define_type_intrusive/index.html @@ -1,4 +1,4 @@ - NLOHMANN_DEFINE_TYPE_INTRUSIVE, NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE - JSON for Modern C++
Skip to content

NLOHMANN_DEFINE_TYPE_INTRUSIVE, NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE

#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(type, member...)              // (1)
+ NLOHMANN_DEFINE_TYPE_INTRUSIVE, NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE - JSON for Modern C++      

NLOHMANN_DEFINE_TYPE_INTRUSIVE, NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE

#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(type, member...)              // (1)
 #define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(type, member...) // (2)
 #define NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE(type, member...) // (3)
 

These macros can be used to simplify the serialization/deserialization of types if you want to use a JSON object as serialization and want to use the member variable names as object keys in that object. The macro is to be defined inside the class/struct to create code for. Unlike NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE, it can access private members. The first parameter is the name of the class/struct, and all remaining parameters name the members.

  1. Will use at during deserialization and will throw out_of_range.403 if a key is missing in the JSON object.
  2. Will use value during deserialization and fall back to the default value for the respective type of the member variable if a key in the JSON object is missing. The generated from_json() function default constructs an object and uses its values as the defaults when calling the value function.
  3. Only defines the serialization. Useful in cases when the type does not have a default constructor and only serialization is required.

Summary:

Need access to private members Need only de-serialization Allow missing values when de-serializing macro
NLOHMANN_DEFINE_TYPE_INTRUSIVE
NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT
NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE

Parameters

type (in)
name of the type (class, struct) to serialize/deserialize
member (in)
name of the member variable to serialize/deserialize; up to 64 members can be given as a comma-separated list

Default definition

The macros add two friend functions to the class which take care of the serialization and deserialization:

template<typename BasicJsonType>
@@ -291,4 +291,4 @@
     json j = p;
     std::cout << "serialization: " << j << std::endl;
 }
-

See also

Version history

  1. Added in version 3.9.0.
  2. Added in version 3.11.0.
  3. Added in version 3.11.3.
\ No newline at end of file +

See also

Version history

  1. Added in version 3.9.0.
  2. Added in version 3.11.0.
  3. Added in version 3.11.3.
\ No newline at end of file diff --git a/api/macros/nlohmann_define_type_non_intrusive/index.html b/api/macros/nlohmann_define_type_non_intrusive/index.html index 4fe519518..3f2efd74d 100644 --- a/api/macros/nlohmann_define_type_non_intrusive/index.html +++ b/api/macros/nlohmann_define_type_non_intrusive/index.html @@ -1,4 +1,4 @@ - NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE - JSON for Modern C++
Skip to content

NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE

#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(type, member...)              // (1)
+ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE - JSON for Modern C++      

NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE

#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(type, member...)              // (1)
 #define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(type, member...) // (2)
 #define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(type, member...) // (3)
 

These macros can be used to simplify the serialization/deserialization of types if you want to use a JSON object as serialization and want to use the member variable names as object keys in that object. The macro is to be defined outside the class/struct to create code for, but inside its namespace. Unlike NLOHMANN_DEFINE_TYPE_INTRUSIVE, it cannot access private members. The first parameter is the name of the class/struct, and all remaining parameters name the members.

  1. Will use at during deserialization and will throw out_of_range.403 if a key is missing in the JSON object.
  2. Will use value during deserialization and fall back to the default value for the respective type of the member variable if a key in the JSON object is missing. The generated from_json() function default constructs an object and uses its values as the defaults when calling the value function.
  3. Only defines the serialization. Useful in cases when the type does not have a default constructor and only serialization is required.

Summary:

Need access to private members Need only de-serialization Allow missing values when de-serializing macro
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE

Parameters

type (in)
name of the type (class, struct) to serialize/deserialize
member (in)
name of the (public) member variable to serialize/deserialize; up to 64 members can be given as a comma-separated list

Default definition

The macros add two functions to the namespace which take care of the serialization and deserialization:

template<typename BasicJsonType>
@@ -259,4 +259,4 @@
     json j = p;
     std::cout << "serialization: " << j << std::endl;
 }
-

See also

Version history

  1. Added in version 3.9.0.
  2. Added in version 3.11.0.
  3. Added in version 3.11.3.
\ No newline at end of file +

See also

Version history

  1. Added in version 3.9.0.
  2. Added in version 3.11.0.
  3. Added in version 3.11.3.
\ No newline at end of file diff --git a/api/macros/nlohmann_json_namespace/index.html b/api/macros/nlohmann_json_namespace/index.html index e2e3740e0..f167b976d 100644 --- a/api/macros/nlohmann_json_namespace/index.html +++ b/api/macros/nlohmann_json_namespace/index.html @@ -1,4 +1,4 @@ - NLOHMANN_JSON_NAMESPACE - JSON for Modern C++
Skip to content

NLOHMANN_JSON_NAMESPACE

#define NLOHMANN_JSON_NAMESPACE /* value */
+ NLOHMANN_JSON_NAMESPACE - JSON for Modern C++      

NLOHMANN_JSON_NAMESPACE

#define NLOHMANN_JSON_NAMESPACE /* value */
 

This macro evaluates to the full name of the nlohmann namespace.

Default definition

The default value consists of the root namespace (nlohmann) and an inline ABI namespace. See nlohmann Namespace for details.

When the macro is not defined, the library will define it to its default value. Overriding this value has no effect on the library.

Examples

Example

The example shows how to use NLOHMANN_JSON_NAMESPACE instead of just nlohmann, as well as how to output the value of NLOHMANN_JSON_NAMESPACE.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -14,4 +14,4 @@
     std::cout << QUOTE(NLOHMANN_JSON_NAMESPACE) << std::endl;
 }
 

Output:

nlohmann::json_abi_v3_12_0
-

See also

Version history

  • Added in version 3.11.0. Changed inline namespace name in version 3.11.2.
\ No newline at end of file +

See also

Version history

  • Added in version 3.11.0. Changed inline namespace name in version 3.11.2.
\ No newline at end of file diff --git a/api/macros/nlohmann_json_namespace_begin/index.html b/api/macros/nlohmann_json_namespace_begin/index.html index 774ff902f..8908b0fcc 100644 --- a/api/macros/nlohmann_json_namespace_begin/index.html +++ b/api/macros/nlohmann_json_namespace_begin/index.html @@ -1,4 +1,4 @@ - NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END - JSON for Modern C++
Skip to content

NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END

#define NLOHMANN_JSON_NAMESPACE_BEGIN /* value */  // (1)
+ NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END - JSON for Modern C++      

NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END

#define NLOHMANN_JSON_NAMESPACE_BEGIN /* value */  // (1)
 #define NLOHMANN_JSON_NAMESPACE_END   /* value */  // (2)
 

These macros can be used to open and close the nlohmann namespace. See nlohmann Namespace for details.

  1. Opens the namespace.
  2. Closes the namespace.

Default definition

The default definitions open and close the nlohmann namespace. The precise definition of [NLOHMANN_JSON_NAMESPACE_BEGIN] varies as described here.

  1. Default definition of NLOHMANN_JSON_NAMESPACE_BEGIN:

    namespace nlohmann
     {
    @@ -40,4 +40,4 @@
         std::cout << j << std::endl;
     }
     

    Output:

    [1,null]
    -

    See also

    Version history

    • Added in version 3.11.0. Changed inline namespace name in version 3.11.2.
\ No newline at end of file +

See also

Version history

  • Added in version 3.11.0. Changed inline namespace name in version 3.11.2.
\ No newline at end of file diff --git a/api/macros/nlohmann_json_namespace_no_version/index.html b/api/macros/nlohmann_json_namespace_no_version/index.html index abe9e54b9..ac9800722 100644 --- a/api/macros/nlohmann_json_namespace_no_version/index.html +++ b/api/macros/nlohmann_json_namespace_no_version/index.html @@ -1,4 +1,4 @@ - NLOHMANN_JSON_NAMESPACE_NO_VERSION - JSON for Modern C++
Skip to content

NLOHMANN_JSON_NAMESPACE_NO_VERSION

#define NLOHMANN_JSON_NAMESPACE_NO_VERSION /* value */
+ NLOHMANN_JSON_NAMESPACE_NO_VERSION - JSON for Modern C++      

NLOHMANN_JSON_NAMESPACE_NO_VERSION

#define NLOHMANN_JSON_NAMESPACE_NO_VERSION /* value */
 

If defined to 1, the version component is omitted from the inline namespace. See nlohmann Namespace for details.

Default definition

The default value is 0.

#define NLOHMANN_JSON_NAMESPACE_NO_VERSION 0
 

When the macro is not defined, the library will define it to its default value.

Examples

Example

The example shows how to use NLOHMANN_JSON_NAMESPACE_NO_VERSION to disable the version component of the inline namespace.

#include <iostream>
 
@@ -14,4 +14,4 @@
     std::cout << QUOTE(NLOHMANN_JSON_NAMESPACE) << std::endl;
 }
 

Output:

nlohmann::json_abi
-

See also

Version history

  • Added in version 3.11.2.
\ No newline at end of file +

See also

Version history

  • Added in version 3.11.2.
\ No newline at end of file diff --git a/api/macros/nlohmann_json_serialize_enum/index.html b/api/macros/nlohmann_json_serialize_enum/index.html index e55ec5003..649d585fd 100644 --- a/api/macros/nlohmann_json_serialize_enum/index.html +++ b/api/macros/nlohmann_json_serialize_enum/index.html @@ -1,4 +1,4 @@ - NLOHMANN_JSON_SERIALIZE_ENUM - JSON for Modern C++
Skip to content

NLOHMANN_JSON_SERIALIZE_ENUM

#define NLOHMANN_JSON_SERIALIZE_ENUM(type, conversion...)
+ NLOHMANN_JSON_SERIALIZE_ENUM - JSON for Modern C++      

NLOHMANN_JSON_SERIALIZE_ENUM

#define NLOHMANN_JSON_SERIALIZE_ENUM(type, conversion...)
 

By default, enum values are serialized to JSON as integers. In some cases, this could result in undesired behavior. If an enum is modified or re-ordered after data has been serialized to JSON, the later deserialized JSON data may be undefined or a different enum value than was originally intended.

The NLOHMANN_JSON_SERIALIZE_ENUM allows to define a user-defined serialization for every enumerator.

Parameters

type (in)
name of the enum to serialize/deserialize
conversion (in)
a pair of an enumerator and a JSON serialization; arbitrary pairs can be given as a comma-separated list

Default definition

The macro adds two functions to the namespace which take care of the serialization and deserialization:

template<typename BasicJsonType>
 inline void to_json(BasicJsonType& j, const type& e);
 template<typename BasicJsonType>
@@ -101,4 +101,4 @@
 

Output:

0 -> "red"
 "rot" -> 0
 "red" -> 0
-

See also

Version history

Added in version 3.4.0.

\ No newline at end of file +

See also

Version history

Added in version 3.4.0.

\ No newline at end of file diff --git a/api/macros/nlohmann_json_version_major/index.html b/api/macros/nlohmann_json_version_major/index.html index 639873670..80c8934db 100644 --- a/api/macros/nlohmann_json_version_major/index.html +++ b/api/macros/nlohmann_json_version_major/index.html @@ -1,4 +1,4 @@ - NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, NLOHMANN_JSON_VERSION_PATCH - JSON for Modern C++
Skip to content

NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, NLOHMANN_JSON_VERSION_PATCH

#define NLOHMANN_JSON_VERSION_MAJOR /* value */
+ NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, NLOHMANN_JSON_VERSION_PATCH - JSON for Modern C++      

NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, NLOHMANN_JSON_VERSION_PATCH

#define NLOHMANN_JSON_VERSION_MAJOR /* value */
 #define NLOHMANN_JSON_VERSION_MINOR /* value */
 #define NLOHMANN_JSON_VERSION_PATCH /* value */
 

These macros are defined by the library and contain the version numbers according to Semantic Versioning 2.0.0.

Default definition

The macros are defined according to the current library version.

Examples

Example

The example below shows how NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, and NLOHMANN_JSON_VERSION_PATCH are defined by the library.

#include <iostream>
@@ -14,4 +14,4 @@
               << NLOHMANN_JSON_VERSION_PATCH << std::endl;
 }
 

Output:

JSON for Modern C++ version 3.12.0
-

See also

Version history

  • Added in version 3.1.0.
\ No newline at end of file +

See also

Version history

  • Added in version 3.1.0.
\ No newline at end of file diff --git a/api/operator_gtgt/index.html b/api/operator_gtgt/index.html index 3c96e6709..56c7e0679 100644 --- a/api/operator_gtgt/index.html +++ b/api/operator_gtgt/index.html @@ -1,4 +1,4 @@ - operator>>(basic_json) - JSON for Modern C++
Skip to content

nlohmann::operator>>(basic_json)

std::istream& operator>>(std::istream& i, basic_json& j);
+ operator>>(basic_json) - JSON for Modern C++      

nlohmann::operator>>(basic_json)

std::istream& operator>>(std::istream& i, basic_json& j);
 

Deserializes an input stream to a JSON value.

Parameters

i (in, out)
input stream to read a serialized JSON value from
j (in, out)
JSON value to write the deserialized input to

Return value

the stream i

Exceptions

Complexity

Linear in the length of the input. The parser is a predictive LL(1) parser.

Notes

A UTF-8 byte order mark is silently ignored.

Deprecation

This function replaces function std::istream& operator<<(basic_json& j, std::istream& i) which has been deprecated in version 3.0.0. It will be removed in version 4.0.0. Please replace calls like j << i; with i >> j;.

Examples

Example

The example below shows how a JSON value is constructed by reading a serialization from a stream.

#include <iostream>
 #include <iomanip>
 #include <sstream>
@@ -38,4 +38,4 @@
   "number": 23,
   "string": "Hello, world!"
 }
-

See also

  • accept - check if the input is valid JSON
  • parse - deserialize from a compatible input

Version history

  • Added in version 1.0.0. Deprecated in version 3.0.0.
\ No newline at end of file +

See also

  • accept - check if the input is valid JSON
  • parse - deserialize from a compatible input

Version history

  • Added in version 1.0.0. Deprecated in version 3.0.0.
\ No newline at end of file diff --git a/api/operator_literal_json/index.html b/api/operator_literal_json/index.html index c80b6ff80..55f10248d 100644 --- a/api/operator_literal_json/index.html +++ b/api/operator_literal_json/index.html @@ -1,4 +1,4 @@ - operator""_json - JSON for Modern C++
Skip to content

nlohmann::operator""_json

json operator ""_json(const char* s, std::size_t n);
+ operator""_json - JSON for Modern C++      

nlohmann::operator""_json

json operator ""_json(const char* s, std::size_t n);
 json operator ""_json(const char8_t* s, std::size_t n);  // since C++20
 

This operator implements a user-defined string literal for JSON objects. It can be used by adding _json to a string literal and returns a json object if no parse error occurred.

It is recommended to bring the operator into scope using any of the following lines:

using nlohmann::literals::operator ""_json;
 using namespace nlohmann::literals;
@@ -22,4 +22,4 @@
   "answer": 42,
   "hello": "world"
 }
-

Version history

  • Added in version 1.0.0.
  • Moved to namespace nlohmann::literals::json_literals in 3.11.0.
  • Added char8_t* overload in 3.12.1.
\ No newline at end of file +

Version history

  • Added in version 1.0.0.
  • Moved to namespace nlohmann::literals::json_literals in 3.11.0.
  • Added char8_t* overload in 3.12.1.
\ No newline at end of file diff --git a/api/operator_literal_json_pointer/index.html b/api/operator_literal_json_pointer/index.html index 7e8ee79f5..232dae6a8 100644 --- a/api/operator_literal_json_pointer/index.html +++ b/api/operator_literal_json_pointer/index.html @@ -1,4 +1,4 @@ - operator""_json_pointer - JSON for Modern C++
Skip to content

nlohmann::operator""_json_pointer

json_pointer operator ""_json_pointer(const char* s, std::size_t n);
+ operator""_json_pointer - JSON for Modern C++      

nlohmann::operator""_json_pointer

json_pointer operator ""_json_pointer(const char* s, std::size_t n);
 json_pointer operator ""_json_pointer(const char8_t* s, std::size_t n);  // since C++20
 

This operator implements a user-defined string literal for JSON Pointers. It can be used by adding _json_pointer to a string literal and returns a json_pointer object if no parse error occurred.

It is recommended to bring the operator into scope using any of the following lines:

using nlohmann::literals::operator ""_json_pointer;
 using namespace nlohmann::literals;
@@ -20,4 +20,4 @@
     std::cout << std::setw(2) << val << '\n';
 }
 

Output:

"world"
-

See also

Version history

  • Added in version 2.0.0.
  • Moved to namespace nlohmann::literals::json_literals in 3.11.0.
  • Added char8_t* overload in 3.12.1.
\ No newline at end of file +

See also

Version history

  • Added in version 2.0.0.
  • Moved to namespace nlohmann::literals::json_literals in 3.11.0.
  • Added char8_t* overload in 3.12.1.
\ No newline at end of file diff --git a/api/operator_ltlt/index.html b/api/operator_ltlt/index.html index 6d7338b4a..8704e435e 100644 --- a/api/operator_ltlt/index.html +++ b/api/operator_ltlt/index.html @@ -1,4 +1,4 @@ - operator<<(basic_json), operator<<(json_pointer) - JSON for Modern C++
Skip to content

nlohmann::operator<<(basic_json), nlohmann::operator<<(json_pointer)

std::ostream& operator<<(std::ostream& o, const basic_json& j);      // (1)
+ operator<<(basic_json), operator<<(json_pointer) - JSON for Modern C++      

nlohmann::operator<<(basic_json), nlohmann::operator<<(json_pointer)

std::ostream& operator<<(std::ostream& o, const basic_json& j);      // (1)
 
 std::ostream& operator<<(std::ostream& o, const json_pointer& ptr);  // (2)
 
  1. Serialize the given JSON value j to the output stream o. The JSON value will be serialized using the dump member function.
    • The indentation of the output can be controlled with the member variable width of the output stream o. For instance, using the manipulator std::setw(4) on o sets the indentation level to 4 and the serialization result is the same as calling dump(4).
    • The indentation character can be controlled with the member variable fill of the output stream o. For instance, the manipulator std::setfill('\\t') sets indentation to use a tab character rather than the default space character.
  2. Write a string representation of the given JSON pointer ptr to the output stream o. The string representation is obtained using the to_string member function.

Parameters

o (in, out)
stream to write to
j (in)
JSON value to serialize
ptr (in)
JSON pointer to write

Return value

the stream o

Exceptions

  1. Throws type_error.316 if a string stored inside the JSON value is not UTF-8 encoded. Note that unlike the dump member functions, no error_handler can be set.
  2. None.

Complexity

Linear.

Notes

Deprecation

Function std::ostream& operator<<(std::ostream& o, const basic_json& j) replaces function std::ostream& operator>>(const basic_json& j, std::ostream& o) which has been deprecated in version 3.0.0. It will be removed in version 4.0.0. Please replace calls like j >> o; with o << j;.

Examples

Example: (1) serialize JSON value to stream

The example below shows the serialization with different parameters to width to adjust the indentation level.

#include <iostream>
@@ -57,4 +57,4 @@
     std::cout << ptr << std::endl;
 }
 

Output:

/foo/bar/baz
-

Version history

  1. Added in version 1.0.0. Added support for indentation character and deprecated std::ostream& operator>>(const basic_json& j, std::ostream& o) in version 3.0.0.
  2. Added in version 3.11.0.
\ No newline at end of file +

Version history

  1. Added in version 1.0.0. Added support for indentation character and deprecated std::ostream& operator>>(const basic_json& j, std::ostream& o) in version 3.0.0.
  2. Added in version 3.11.0.
\ No newline at end of file diff --git a/api/ordered_json/index.html b/api/ordered_json/index.html index b069e5ec0..8178e94b1 100644 --- a/api/ordered_json/index.html +++ b/api/ordered_json/index.html @@ -1,4 +1,4 @@ - ordered_json - JSON for Modern C++
Skip to content

nlohmann::ordered_json

using ordered_json = basic_json<ordered_map>;
+ ordered_json - JSON for Modern C++      

nlohmann::ordered_json

using ordered_json = basic_json<ordered_map>;
 

This type preserves the insertion order of object keys.

Iterator invalidation

The type is based on ordered_map which in turn uses a std::vector to store object elements. Therefore, adding object elements can yield a reallocation in which case all iterators (including the end() iterator) and all references to the elements are invalidated. Also, any iterator or reference after the insertion point will point to the same index, which is now a different value.

Examples

Example

The example below demonstrates how ordered_json preserves the insertion order of object keys.

#include <iostream>
 #include <nlohmann/json.hpp>
 
@@ -18,4 +18,4 @@
   "two": 2,
   "three": 3
 }
-

See also

Version history

Since version 3.9.0.

\ No newline at end of file +

See also

Version history

Since version 3.9.0.

\ No newline at end of file diff --git a/api/ordered_map/index.html b/api/ordered_map/index.html index 812b34851..68b915e3e 100644 --- a/api/ordered_map/index.html +++ b/api/ordered_map/index.html @@ -1,4 +1,4 @@ - ordered_map - JSON for Modern C++
Skip to content

nlohmann::ordered_map

template<class Key, class T, class IgnoredLess = std::less<Key>,
+ ordered_map - JSON for Modern C++      

nlohmann::ordered_map

template<class Key, class T, class IgnoredLess = std::less<Key>,
          class Allocator = std::allocator<std::pair<const Key, T>>>
 struct ordered_map : std::vector<std::pair<const Key, T>, Allocator>;
 

A minimal map-like container that preserves insertion order for use within nlohmann::ordered_json (nlohmann::basic_json<ordered_map>).

Template parameters

Key
key type
T
mapped type
IgnoredLess
comparison function (ignored and only added to ensure compatibility with std::map)
Allocator
allocator type

Iterator invalidation

The type uses a std::vector to store object elements. Therefore, adding elements can yield a reallocation in which case all iterators (including the end() iterator) and all references to the elements are invalidated.

Member types

  • key_type - key type (Key)
  • mapped_type - mapped type (T)
  • Container - base container type (std::vector<std::pair<const Key, T>, Allocator>)
  • iterator
  • const_iterator
  • size_type
  • value_type
  • key_compare - key comparison function
    std::equal_to<Key>  // until C++14
    @@ -51,4 +51,4 @@
     m_std = { one:eins three:drei two:zwei }
     m_ordered = { two:zwei three:drei one:eins }
     m_std = { one:eins three:drei two:zwei }
    -

    See also

    Version history

\ No newline at end of file +

See also

Version history

\ No newline at end of file diff --git a/assets/external/repology.org/badge/vertical-allrepos/nlohmann-json.svg b/assets/external/repology.org/badge/vertical-allrepos/nlohmann-json.svg index c2d3a8ae1..5a40124a2 100644 --- a/assets/external/repology.org/badge/vertical-allrepos/nlohmann-json.svg +++ b/assets/external/repology.org/badge/vertical-allrepos/nlohmann-json.svg @@ -1 +1 @@ -Packaging statusPackaging statusAdélie Linux currentAdélie Linux current3.11.33.11.3Alpine Linux 3.16Alpine Linux 3.163.10.53.10.5Alpine Linux 3.17Alpine Linux 3.173.11.23.11.2Alpine Linux 3.18Alpine Linux 3.183.11.23.11.2Alpine Linux 3.19Alpine Linux 3.193.11.33.11.3Alpine Linux 3.20Alpine Linux 3.203.11.33.11.3Alpine Linux 3.21Alpine Linux 3.213.11.33.11.3Alpine Linux 3.22Alpine Linux 3.223.11.33.11.3Alpine Linux 3.23Alpine Linux 3.233.11.33.11.3Alpine Linux EdgeAlpine Linux Edge3.11.33.11.3ALT Linux p9ALT Linux p93.4.03.4.0ALT Linux p10ALT Linux p103.10.43.10.4ALT Linux p11ALT Linux p113.11.33.11.3ALT SisyphusALT Sisyphus3.12.03.12.0AOSCAOSC3.12.03.12.0Apertis v2023Apertis v20233.9.13.9.1Apertis v2024Apertis v20243.11.23.11.2Apertis v2025Apertis v20253.11.23.11.2Apertis v2026 DevelopmentApertis v2026 Development3.11.33.11.3Arch LinuxArch Linux3.12.03.12.0ArchPOWER powerpcArchPOWER powerpc3.12.03.12.0ArchPOWER powerpc64leArchPOWER powerpc64le3.12.03.12.0ArchPOWER riscv64ArchPOWER riscv643.12.03.12.0AURAUR3.11.33.11.3ArtixArtix3.12.03.12.0Chimera LinuxChimera Linux3.12.03.12.0ConanCenterConanCenter3.12.03.12.0CRUX 3.7CRUX 3.73.12.03.12.0CRUX 3.8CRUX 3.83.12.03.12.0Debian 11Debian 113.9.13.9.1Debian 12Debian 123.11.23.11.2Debian 13Debian 133.11.33.11.3Debian 14Debian 143.12.0.reall…3.12.0.reall…Debian UnstableDebian Unstable3.12.0.reall…3.12.0.reall…Debian ExperimentalDebian Experimental3.12.0.reall…3.12.0.reall…deepin 20deepin 203.9.13.9.1deepin 23deepin 233.11.33.11.3Devuan 4.0Devuan 4.03.9.13.9.1Devuan UnstableDevuan Unstable3.12.0.reall…3.12.0.reall…EPEL 7EPEL 73.6.13.6.1EPEL 8EPEL 83.6.13.6.1EPEL 9EPEL 93.11.33.11.3EPEL 10EPEL 103.11.33.11.3ExherboExherbo3.12.03.12.0Fedora 38Fedora 383.11.23.11.2Fedora 39Fedora 393.11.23.11.2Fedora 40Fedora 403.11.33.11.3Fedora 41Fedora 413.11.33.11.3Fedora 42Fedora 423.11.33.11.3Fedora 43Fedora 433.11.33.11.3Fedora RawhideFedora Rawhide3.12.03.12.0FreeBSD PortsFreeBSD Ports3.12.03.12.0GentooGentoo3.12.03.12.0GNU GuixGNU Guix3.12.03.12.0HaikuPorts masterHaikuPorts master3.12.03.12.0HomebrewHomebrew3.12.03.12.0Kali Linux RollingKali Linux Rolling3.12.0.reall…3.12.0.reall…KaOSKaOS3.12.03.12.0LiGurOS stableLiGurOS stable3.12.03.12.0LiGurOS developLiGurOS develop3.12.03.12.0MacPortsMacPorts3.12.03.12.0Mageia 9Mageia 93.11.23.11.2Mageia cauldronMageia cauldron3.12.03.12.0Manjaro StableManjaro Stable3.12.03.12.0Manjaro TestingManjaro Testing3.12.03.12.0Manjaro UnstableManjaro Unstable3.12.03.12.0MSYS2 clang64MSYS2 clang643.12.03.12.0MSYS2 clangarm64MSYS2 clangarm643.12.03.12.0MSYS2 mingwMSYS2 mingw3.12.03.12.0MSYS2 ucrt64MSYS2 ucrt643.12.03.12.0nixpkgs stable 23.11nixpkgs stable 23.113.11.23.11.2nixpkgs stable 24.05nixpkgs stable 24.053.11.33.11.3nixpkgs stable 24.11nixpkgs stable 24.113.11.33.11.3nixpkgs stable 25.05nixpkgs stable 25.053.11.33.11.3nixpkgs stable 25.11nixpkgs stable 25.113.12.03.12.0nixpkgs unstablenixpkgs unstable3.12.03.12.0OpenBSD PortsOpenBSD Ports3.12.03.12.0OpenIndiana packagesOpenIndiana packages3.12.03.12.0openmambaopenmamba3.12.03.12.0OpenMandriva 5.0OpenMandriva 5.03.11.23.11.2OpenMandriva 6.0OpenMandriva 6.03.12.03.12.0OpenMandriva RollingOpenMandriva Rolling3.12.03.12.0OpenMandriva CookerOpenMandriva Cooker3.12.03.12.0openSUSE Leap 15.5openSUSE Leap 15.53.11.23.11.2openSUSE Leap 15.6openSUSE Leap 15.63.11.23.11.2openSUSE TumbleweedopenSUSE Tumbleweed3.12.03.12.0openSUSE hardware:sdr TumbleweedopenSUSE hardware:sdr Tumbleweed3.12.03.12.0PackMan SLE 12PackMan SLE 123.1.23.1.2ParabolaParabola3.12.03.12.0Pardus 21Pardus 213.9.13.9.1ParrotParrot3.11.33.11.3Pisi LinuxPisi Linux3.11.23.11.2pkgsrc-2025Q3pkgsrc-2025Q33.12.03.12.0pkgsrc-2025Q4pkgsrc-2025Q43.12.03.12.0pkgsrc currentpkgsrc current3.12.03.12.0PLD LinuxPLD Linux3.11.33.11.3PTXdistPTXdist3.11.33.11.3PureOS amberPureOS amber3.5.03.5.0PureOS byzantiumPureOS byzantium3.9.13.9.1PureOS landingPureOS landing3.11.33.11.3Raspbian OldstableRaspbian Oldstable3.11.23.11.2Raspbian StableRaspbian Stable3.11.33.11.3Raspbian TestingRaspbian Testing3.12.0.reall…3.12.0.reall…RavenportsRavenports3.12.03.12.0Rosa 2021.1Rosa 2021.13.11.33.11.3Rosa 13Rosa 133.11.33.11.3SlackBuildsSlackBuilds3.11.33.11.3Slackware currentSlackware current3.12.03.12.0Slackware64 currentSlackware64 current3.12.03.12.0SolusSolus3.11.33.11.3SpackSpack3.12.03.12.0stal/IXstal/IX3.12.03.12.0stal/IX devstal/IX dev3.12.03.12.0T2 SDET2 SDE3.12.03.12.0TermuxTermux3.12.03.12.0Trisquel 10.0Trisquel 10.03.7.33.7.3Trisquel 11.0Trisquel 11.03.10.53.10.5Ubuntu 18.04Ubuntu 18.042.1.12.1.1Ubuntu 20.04Ubuntu 20.043.7.33.7.3Ubuntu 22.04Ubuntu 22.043.10.53.10.5Ubuntu 24.04Ubuntu 24.043.11.33.11.3Ubuntu 25.04Ubuntu 25.043.11.33.11.3Ubuntu 25.10Ubuntu 25.103.12.03.12.0Ubuntu 26.04Ubuntu 26.043.12.0.reall…3.12.0.reall…VcpkgVcpkg3.12.03.12.0Void Linux x86_64Void Linux x86_643.11.33.11.3YACPYACP3.12.03.12.0 \ No newline at end of file +Packaging statusPackaging statusAdélie Linux currentAdélie Linux current3.11.33.11.3Alpine Linux 3.16Alpine Linux 3.163.10.53.10.5Alpine Linux 3.17Alpine Linux 3.173.11.23.11.2Alpine Linux 3.18Alpine Linux 3.183.11.23.11.2Alpine Linux 3.19Alpine Linux 3.193.11.33.11.3Alpine Linux 3.20Alpine Linux 3.203.11.33.11.3Alpine Linux 3.21Alpine Linux 3.213.11.33.11.3Alpine Linux 3.22Alpine Linux 3.223.11.33.11.3Alpine Linux 3.23Alpine Linux 3.233.11.33.11.3Alpine Linux EdgeAlpine Linux Edge3.11.33.11.3ALT Linux p9ALT Linux p93.4.03.4.0ALT Linux p10ALT Linux p103.10.43.10.4ALT Linux p11ALT Linux p113.11.33.11.3ALT SisyphusALT Sisyphus3.12.03.12.0AOSCAOSC3.12.03.12.0Apertis v2023Apertis v20233.9.13.9.1Apertis v2024Apertis v20243.11.23.11.2Apertis v2025Apertis v20253.11.23.11.2Apertis v2026Apertis v20263.11.33.11.3Apertis v2027 DevelopmentApertis v2027 Development3.11.33.11.3Arch LinuxArch Linux3.12.03.12.0ArchPOWER powerpcArchPOWER powerpc3.12.03.12.0ArchPOWER powerpc64leArchPOWER powerpc64le3.12.03.12.0ArchPOWER riscv64ArchPOWER riscv643.12.03.12.0AURAUR3.11.33.11.3ArtixArtix3.12.03.12.0Chimera LinuxChimera Linux3.12.03.12.0ConanCenterConanCenter3.12.03.12.0CRUX 3.7CRUX 3.73.12.03.12.0CRUX 3.8CRUX 3.83.12.03.12.0Debian 11Debian 113.9.13.9.1Debian 12Debian 123.11.23.11.2Debian 13Debian 133.11.33.11.3Debian 14Debian 143.12.0.reall…3.12.0.reall…Debian UnstableDebian Unstable3.12.0.reall…3.12.0.reall…Debian ExperimentalDebian Experimental3.12.0.reall…3.12.0.reall…deepin 20deepin 203.9.13.9.1deepin 23deepin 233.11.33.11.3Devuan 4.0Devuan 4.03.9.13.9.1Devuan UnstableDevuan Unstable3.12.0.reall…3.12.0.reall…EPEL 7EPEL 73.6.13.6.1EPEL 8EPEL 83.6.13.6.1EPEL 9EPEL 93.11.33.11.3EPEL 10EPEL 103.11.33.11.3ExherboExherbo3.12.03.12.0Fedora 38Fedora 383.11.23.11.2Fedora 39Fedora 393.11.23.11.2Fedora 40Fedora 403.11.33.11.3Fedora 41Fedora 413.11.33.11.3Fedora 42Fedora 423.11.33.11.3Fedora 43Fedora 433.11.33.11.3Fedora RawhideFedora Rawhide3.12.03.12.0FreeBSD PortsFreeBSD Ports3.12.03.12.0GentooGentoo3.12.03.12.0GNU GuixGNU Guix3.12.03.12.0HaikuPorts masterHaikuPorts master3.12.03.12.0HomebrewHomebrew3.12.03.12.0Kali Linux RollingKali Linux Rolling3.12.0.reall…3.12.0.reall…KaOSKaOS3.12.03.12.0LiGurOS stableLiGurOS stable3.12.03.12.0LiGurOS developLiGurOS develop3.12.03.12.0MacPortsMacPorts3.12.03.12.0Mageia 9Mageia 93.11.23.11.2Mageia cauldronMageia cauldron3.12.03.12.0Manjaro StableManjaro Stable3.12.03.12.0Manjaro TestingManjaro Testing3.12.03.12.0Manjaro UnstableManjaro Unstable3.12.03.12.0MSYS2 clang64MSYS2 clang643.12.03.12.0MSYS2 clangarm64MSYS2 clangarm643.12.03.12.0MSYS2 mingwMSYS2 mingw3.12.03.12.0MSYS2 ucrt64MSYS2 ucrt643.12.03.12.0nixpkgs stable 23.11nixpkgs stable 23.113.11.23.11.2nixpkgs stable 24.05nixpkgs stable 24.053.11.33.11.3nixpkgs stable 24.11nixpkgs stable 24.113.11.33.11.3nixpkgs stable 25.05nixpkgs stable 25.053.11.33.11.3nixpkgs stable 25.11nixpkgs stable 25.113.12.03.12.0nixpkgs unstablenixpkgs unstable3.12.03.12.0OpenBSD PortsOpenBSD Ports3.12.03.12.0OpenIndiana packagesOpenIndiana packages3.12.03.12.0openmambaopenmamba3.12.03.12.0OpenMandriva 5.0OpenMandriva 5.03.11.23.11.2OpenMandriva 6.0OpenMandriva 6.03.12.03.12.0OpenMandriva RollingOpenMandriva Rolling3.12.03.12.0OpenMandriva CookerOpenMandriva Cooker3.12.03.12.0openSUSE Leap 15.5openSUSE Leap 15.53.11.23.11.2openSUSE Leap 15.6openSUSE Leap 15.63.11.23.11.2openSUSE TumbleweedopenSUSE Tumbleweed3.12.03.12.0openSUSE hardware:sdr TumbleweedopenSUSE hardware:sdr Tumbleweed3.12.03.12.0PackMan SLE 12PackMan SLE 123.1.23.1.2ParabolaParabola3.12.03.12.0Pardus 21Pardus 213.9.13.9.1ParrotParrot3.11.33.11.3Pisi LinuxPisi Linux3.11.23.11.2pkgsrc-2025Q3pkgsrc-2025Q33.12.03.12.0pkgsrc-2025Q4pkgsrc-2025Q43.12.03.12.0pkgsrc currentpkgsrc current3.12.03.12.0PLD LinuxPLD Linux3.11.33.11.3PTXdistPTXdist3.11.33.11.3PureOS amberPureOS amber3.5.03.5.0PureOS byzantiumPureOS byzantium3.9.13.9.1PureOS landingPureOS landing3.11.33.11.3Raspbian OldstableRaspbian Oldstable3.11.23.11.2Raspbian StableRaspbian Stable3.11.33.11.3Raspbian TestingRaspbian Testing3.12.0.reall…3.12.0.reall…RavenportsRavenports3.12.03.12.0Rosa 2021.1Rosa 2021.13.11.33.11.3Rosa 13Rosa 133.11.33.11.3SlackBuildsSlackBuilds3.11.33.11.3Slackware currentSlackware current3.12.03.12.0Slackware64 currentSlackware64 current3.12.03.12.0SolusSolus3.11.33.11.3SpackSpack3.12.03.12.0stal/IXstal/IX3.12.03.12.0stal/IX devstal/IX dev3.12.03.12.0T2 SDET2 SDE3.12.03.12.0TermuxTermux3.12.03.12.0Trisquel 10.0Trisquel 10.03.7.33.7.3Trisquel 11.0Trisquel 11.03.10.53.10.5Ubuntu 18.04Ubuntu 18.042.1.12.1.1Ubuntu 20.04Ubuntu 20.043.7.33.7.3Ubuntu 22.04Ubuntu 22.043.10.53.10.5Ubuntu 24.04Ubuntu 24.043.11.33.11.3Ubuntu 25.04Ubuntu 25.043.11.33.11.3Ubuntu 25.10Ubuntu 25.103.12.03.12.0Ubuntu 26.04Ubuntu 26.043.12.0.reall…3.12.0.reall…VcpkgVcpkg3.12.03.12.0Void Linux x86_64Void Linux x86_643.11.33.11.3YACPYACP3.12.03.12.0 \ No newline at end of file diff --git a/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js b/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js index ed8de2806..6d69387af 100644 --- a/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +++ b/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js @@ -1,5 +1,5 @@ -"use strict";var __esbuild_esm_mermaid_nm;(__esbuild_esm_mermaid_nm||={}).mermaid=(()=>{var JCe=Object.create;var Zv=Object.defineProperty;var e6e=Object.getOwnPropertyDescriptor;var t6e=Object.getOwnPropertyNames;var r6e=Object.getPrototypeOf,n6e=Object.prototype.hasOwnProperty;var o=(t,e)=>Zv(t,"name",{value:e,configurable:!0});var I=(t,e)=>()=>(t&&(e=t(t=0)),e);var Jt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vr=(t,e)=>{for(var r in e)Zv(t,r,{get:e[r],enumerable:!0})},_3=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of t6e(e))!n6e.call(t,i)&&i!==r&&Zv(t,i,{get:()=>e[i],enumerable:!(n=e6e(e,i))||n.enumerable});return t},$r=(t,e,r)=>(_3(t,e,"default"),r&&_3(r,e,"default")),Aa=(t,e,r)=>(r=t!=null?JCe(r6e(t)):{},_3(e||!t||!t.__esModule?Zv(r,"default",{value:t,enumerable:!0}):r,t)),D3=t=>_3(Zv({},"__esModule",{value:!0}),t);var i6e,eg,R8,RW,R3=I(()=>{"use strict";i6e=Object.freeze({left:0,top:0,width:16,height:16}),eg=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),R8=Object.freeze({...i6e,...eg}),RW=Object.freeze({...R8,body:"",hidden:!1})});var a6e,LW,NW=I(()=>{"use strict";R3();a6e=Object.freeze({width:null,height:null}),LW=Object.freeze({...a6e,...eg})});var L8,L3,MW=I(()=>{"use strict";L8=o((t,e,r,n="")=>{let i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let l=i.pop(),u=i.pop(),h={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!L3(h)?null:h}let a=i[0],s=a.split("-");if(s.length>1){let l={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!L3(l)?null:l}if(r&&n===""){let l={provider:n,prefix:"",name:a};return e&&!L3(l,r)?null:l}return null},"stringToIcon"),L3=o((t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1,"validateIconName")});function IW(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var OW=I(()=>{"use strict";o(IW,"mergeIconTransformations")});function N8(t,e){let r=IW(t,e);for(let n in RW)n in eg?n in t&&!(n in r)&&(r[n]=eg[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var PW=I(()=>{"use strict";R3();OW();o(N8,"mergeIconData")});function BW(t,e){let r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;let l=n[s]&&n[s].parent,u=l&&a(l);u&&(i[s]=[l].concat(u))}return i[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var FW=I(()=>{"use strict";o(BW,"getIconsTree")});function $W(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function s(l){a=N8(n[l]||i[l],a)}return o(s,"parse"),s(e),r.forEach(s),N8(t,a)}function M8(t,e){if(t.icons[e])return $W(t,e,[]);let r=BW(t,[e])[e];return r?$W(t,e,r):null}var zW=I(()=>{"use strict";PW();FW();o($W,"internalGetIconData");o(M8,"getIconData")});function I8(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;let n=t.split(s6e);if(n===null||!n.length)return t;let i=[],a=n.shift(),s=o6e.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?i.push(a):i.push(Math.ceil(l*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}var s6e,o6e,GW=I(()=>{"use strict";s6e=/(-?[0-9.]*[0-9]+[0-9.]*)/g,o6e=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(I8,"calculateSize")});function l6e(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function c6e(t,e){return t?""+t+""+e:e}function VW(t,e,r){let n=l6e(t);return c6e(n.defs,e+n.content+r)}var qW=I(()=>{"use strict";o(l6e,"splitSVGDefs");o(c6e,"mergeDefsAndContent");o(VW,"wrapSVGContent")});function O8(t,e){let r={...R8,...t},n={...LW,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,T=y.rotate;x?b?T+=2:(v.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),v.push("scale(-1 1)"),i.top=i.left=0):b&&(v.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),v.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,v.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:v.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,v.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),v.length&&(a=VW(a,'',""))});let s=n.width,l=n.height,u=i.width,h=i.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=I8(d,u/h)):(f=s==="auto"?u:s,d=l===null?I8(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{u6e(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[i.left,i.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var u6e,UW=I(()=>{"use strict";R3();NW();GW();qW();u6e=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(O8,"iconToSVG")});function P8(t,e=f6e){let r=[],n;for(;n=h6e.exec(t);)r.push(n[1]);if(!r.length)return t;let i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(d6e++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),t=t.replace(new RegExp(i,"g"),""),t}var h6e,f6e,d6e,WW=I(()=>{"use strict";h6e=/\sid="(\S+)"/g,f6e="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),d6e=0;o(P8,"replaceIDs")});function B8(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}var HW=I(()=>{"use strict";o(B8,"iconToHTML")});var YW=I(()=>{"use strict";MW();zW();UW();WW();HW()});var F8,$n,tg=I(()=>{"use strict";F8=o((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>F8(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=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(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=F8(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),$n=F8});var N3=Jt(($8,z8)=>{"use strict";(function(t,e){typeof $8=="object"&&typeof z8<"u"?z8.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})($8,(function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:o(function(S){var A=["th","st","nd","rd"],_=S%100;return"["+S+(A[(_-20)%10]||A[_]||A[0])+"]"},"ordinal")},x=o(function(S,A,_){var N=String(S);return!N||N.length>=A?S:""+Array(A+1-N.length).join(_)+S},"m"),b={s:x,z:o(function(S){var A=-S.utcOffset(),_=Math.abs(A),N=Math.floor(_/60),M=_%60;return(A<=0?"+":"-")+x(N,2,"0")+":"+x(M,2,"0")},"z"),m:o(function S(A,_){if(A.date()<_.date())return-S(_,A);var N=12*(_.year()-A.year())+(_.month()-A.month()),M=A.clone().add(N,h),P=_-M<0,B=A.clone().add(N+(P?-1:1),h);return+(-(N+(_-M)/(P?M-B:B-M))||0)},"t"),a:o(function(S){return S<0?Math.ceil(S)||0:Math.floor(S)},"a"),p:o(function(S){return{M:h,y:d,w:u,d:l,D:p,h:s,m:a,s:i,ms:n,Q:f}[S]||String(S||"").toLowerCase().replace(/s$/,"")},"p"),u:o(function(S){return S===void 0},"u")},T="en",E={};E[T]=v;var w="$isDayjsObject",k=o(function(S){return S instanceof O||!(!S||!S[w])},"S"),C=o(function S(A,_,N){var M;if(!A)return T;if(typeof A=="string"){var P=A.toLowerCase();E[P]&&(M=P),_&&(E[P]=_,M=P);var B=A.split("-");if(!M&&B.length>1)return S(B[0])}else{var F=A.name;E[F]=A,M=F}return!N&&M&&(T=M),M||!N&&T},"t"),D=o(function(S,A){if(k(S))return S.clone();var _=typeof A=="object"?A:{};return _.date=S,_.args=arguments,new O(_)},"O"),R=b;R.l=C,R.i=k,R.w=function(S,A){return D(S,{locale:A.$L,utc:A.$u,x:A.$x,$offset:A.$offset})};var O=(function(){function S(_){this.$L=C(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[w]=!0}o(S,"M");var A=S.prototype;return A.parse=function(_){this.$d=(function(N){var M=N.date,P=N.utc;if(M===null)return new Date(NaN);if(R.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var B=M.match(g);if(B){var F=B[2]-1||0,G=(B[7]||"0").substring(0,3);return P?new Date(Date.UTC(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,G)):new Date(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,G)}}return new Date(M)})(_),this.init()},A.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},A.$utils=function(){return R},A.isValid=function(){return this.$d.toString()!==m},A.isSame=function(_,N){var M=D(_);return this.startOf(N)<=M&&M<=this.endOf(N)},A.isAfter=function(_,N){return D(_){"use strict";jW=Aa(N3(),1),ju={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},X={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},Jv=o(function(t="fatal"){let e=ju.fatal;typeof t=="string"?t.toLowerCase()in ju&&(e=ju[t]):typeof t=="number"&&(e=t),X.trace=()=>{},X.debug=()=>{},X.info=()=>{},X.warn=()=>{},X.error=()=>{},X.fatal=()=>{},e<=ju.fatal&&(X.fatal=console.error?console.error.bind(console,tl("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",tl("FATAL"))),e<=ju.error&&(X.error=console.error?console.error.bind(console,tl("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",tl("ERROR"))),e<=ju.warn&&(X.warn=console.warn?console.warn.bind(console,tl("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",tl("WARN"))),e<=ju.info&&(X.info=console.info?console.info.bind(console,tl("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",tl("INFO"))),e<=ju.debug&&(X.debug=console.debug?console.debug.bind(console,tl("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",tl("DEBUG"))),e<=ju.trace&&(X.trace=console.debug?console.debug.bind(console,tl("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",tl("TRACE")))},"setLogLevel"),tl=o(t=>`%c${(0,jW.default)().format("ss.SSS")} : ${t} : `,"format")});var M3,XW,KW=I(()=>{"use strict";M3={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:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return M3.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return M3.hue2rgb(a,i,t)*255;case"b":return M3.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;let l=i-a,u=s>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";p6e={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},QW=p6e});var m6e,JW,eH=I(()=>{"use strict";m6e={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},JW=m6e});var g6e,er,Nc=I(()=>{"use strict";KW();ZW();eH();g6e={channel:XW,lang:QW,unit:JW},er=g6e});var Xu,Yi,e2=I(()=>{"use strict";Nc();Xu={};for(let t=0;t<=255;t++)Xu[t]=er.unit.dec2hex(t);Yi={ALL:0,RGB:1,HSL:2}});var G8,tH,rH=I(()=>{"use strict";e2();G8=class{static{o(this,"Type")}constructor(){this.type=Yi.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=Yi.ALL}is(e){return this.type===e}},tH=G8});var V8,nH,iH=I(()=>{"use strict";Nc();rH();e2();V8=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new tH}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Yi.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=er.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=er.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=er.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=er.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=er.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=er.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Yi.HSL)&&r!==void 0?r:(this._ensureHSL(),er.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Yi.HSL)&&r!==void 0?r:(this._ensureHSL(),er.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Yi.HSL)&&r!==void 0?r:(this._ensureHSL(),er.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Yi.RGB)&&r!==void 0?r:(this._ensureRGB(),er.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Yi.RGB)&&r!==void 0?r:(this._ensureRGB(),er.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Yi.RGB)&&r!==void 0?r:(this._ensureRGB(),er.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Yi.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Yi.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Yi.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Yi.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Yi.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Yi.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},nH=V8});var y6e,of,t2=I(()=>{"use strict";iH();y6e=new nH({r:0,g:0,b:0,a:0},"transparent"),of=y6e});var aH,Sp,q8=I(()=>{"use strict";t2();e2();aH={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(aH.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return of.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${Xu[Math.round(e)]}${Xu[Math.round(r)]}${Xu[Math.round(n)]}${Xu[Math.round(i*255)]}`:`#${Xu[Math.round(e)]}${Xu[Math.round(r)]}${Xu[Math.round(n)]}`},"stringify")},Sp=aH});var I3,r2,sH=I(()=>{"use strict";Nc();t2();I3={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:o(t=>{let e=t.match(I3.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return er.channel.clamp.h(parseFloat(r)*.9);case"rad":return er.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return er.channel.clamp.h(parseFloat(r)*360)}}return er.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(I3.re);if(!r)return;let[,n,i,a,s,l]=r;return of.set({h:I3._hue2deg(n),s:er.channel.clamp.s(parseFloat(i)),l:er.channel.clamp.l(parseFloat(a)),a:s?er.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${er.lang.round(e)}, ${er.lang.round(r)}%, ${er.lang.round(n)}%, ${i})`:`hsl(${er.lang.round(e)}, ${er.lang.round(r)}%, ${er.lang.round(n)}%)`},"stringify")},r2=I3});var O3,U8,oH=I(()=>{"use strict";q8();O3={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:o(t=>{t=t.toLowerCase();let e=O3.colors[t];if(e)return Sp.parse(e)},"parse"),stringify:o(t=>{let e=Sp.stringify(t);for(let r in O3.colors)if(O3.colors[r]===e)return r},"stringify")},U8=O3});var lH,n2,cH=I(()=>{"use strict";Nc();t2();lH={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:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(lH.re);if(!r)return;let[,n,i,a,s,l,u,h,f]=r;return of.set({r:er.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:er.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:er.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?er.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${er.lang.round(e)}, ${er.lang.round(r)}, ${er.lang.round(n)}, ${er.lang.round(i)})`:`rgb(${er.lang.round(e)}, ${er.lang.round(r)}, ${er.lang.round(n)})`},"stringify")},n2=lH});var v6e,ji,Ku=I(()=>{"use strict";q8();sH();oH();cH();e2();v6e={format:{keyword:U8,hex:Sp,rgb:n2,rgba:n2,hsl:r2,hsla:r2},parse:o(t=>{if(typeof t!="string")return t;let e=Sp.parse(t)||n2.parse(t)||r2.parse(t)||U8.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(Yi.HSL)||t.data.r===void 0?r2.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?n2.stringify(t):Sp.stringify(t),"stringify")},ji=v6e});var x6e,P3,W8=I(()=>{"use strict";Nc();Ku();x6e=o((t,e)=>{let r=ji.parse(t);for(let n in e)r[n]=er.channel.clamp[n](e[n]);return ji.stringify(r)},"change"),P3=x6e});var b6e,vs,H8=I(()=>{"use strict";Nc();t2();Ku();W8();b6e=o((t,e,r=0,n=1)=>{if(typeof t!="number")return P3(t,{a:e});let i=of.set({r:er.channel.clamp.r(t),g:er.channel.clamp.g(e),b:er.channel.clamp.b(r),a:er.channel.clamp.a(n)});return ji.stringify(i)},"rgba"),vs=b6e});var T6e,Ep,uH=I(()=>{"use strict";Nc();Ku();T6e=o((t,e)=>er.lang.round(ji.parse(t)[e]),"channel"),Ep=T6e});var w6e,hH,fH=I(()=>{"use strict";Nc();Ku();w6e=o(t=>{let{r:e,g:r,b:n}=ji.parse(t),i=.2126*er.channel.toLinear(e)+.7152*er.channel.toLinear(r)+.0722*er.channel.toLinear(n);return er.lang.round(i)},"luminance"),hH=w6e});var k6e,dH,pH=I(()=>{"use strict";fH();k6e=o(t=>hH(t)>=.5,"isLight"),dH=k6e});var S6e,_a,mH=I(()=>{"use strict";pH();S6e=o(t=>!dH(t),"isDark"),_a=S6e});var E6e,B3,Y8=I(()=>{"use strict";Nc();Ku();E6e=o((t,e,r)=>{let n=ji.parse(t),i=n[e],a=er.channel.clamp[e](i+r);return i!==a&&(n[e]=a),ji.stringify(n)},"adjustChannel"),B3=E6e});var C6e,It,gH=I(()=>{"use strict";Y8();C6e=o((t,e)=>B3(t,"l",e),"lighten"),It=C6e});var A6e,$t,yH=I(()=>{"use strict";Y8();A6e=o((t,e)=>B3(t,"l",-e),"darken"),$t=A6e});var _6e,Be,vH=I(()=>{"use strict";Ku();W8();_6e=o((t,e)=>{let r=ji.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return P3(t,n)},"adjust"),Be=_6e});var D6e,xH,bH=I(()=>{"use strict";Ku();H8();D6e=o((t,e,r=50)=>{let{r:n,g:i,b:a,a:s}=ji.parse(t),{r:l,g:u,b:h,a:f}=ji.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,T=a*y+h*v,E=s*d+f*(1-d);return vs(x,b,T,E)},"mix"),xH=D6e});var R6e,At,TH=I(()=>{"use strict";Ku();bH();R6e=o((t,e=100)=>{let r=ji.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,xH(r,t,e)},"invert"),At=R6e});var wH=I(()=>{"use strict";H8();uH();mH();gH();yH();vH();TH()});var _o=I(()=>{"use strict";wH()});var lf,cf,i2=I(()=>{"use strict";lf="#ffffff",cf="#f2f2f2"});var Pi,rg=I(()=>{"use strict";_o();Pi=o((t,e)=>e?Be(t,{s:-40,l:10}):Be(t,{s:-40,l:-10}),"mkBorder")});var X8,kH,SH=I(()=>{"use strict";_o();i2();rg();X8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Be(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Be(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Pi(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Pi(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Pi(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||At(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||At(this.tertiaryColor),this.lineColor=this.lineColor||At(this.background),this.arrowheadColor=this.arrowheadColor||At(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?$t(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||$t(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||At(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||It(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.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||$t(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||$t(this.mainBkg,10)):(this.rowOdd=this.rowOdd||It(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||It(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Be(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Be(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Be(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Be(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Be(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Be(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Be(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Be(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Be(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},kH=o(t=>{let e=new X8;return e.calculate(t),e},"getThemeVariables")});var K8,EH,CH=I(()=>{"use strict";_o();rg();K8=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=It(this.primaryColor,16),this.tertiaryColor=Be(this.primaryColor,{h:-160}),this.primaryBorderColor=At(this.background),this.secondaryBorderColor=Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Pi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=It(At("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=vs(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=$t("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=$t(this.sectionBkgColor,10),this.taskBorderColor=vs(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=vs(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.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||It(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||$t(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=It(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=It(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=It(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Be(this.primaryColor,{h:64}),this.fillType3=Be(this.secondaryColor,{h:64}),this.fillType4=Be(this.primaryColor,{h:-64}),this.fillType5=Be(this.secondaryColor,{h:-64}),this.fillType6=Be(this.primaryColor,{h:128}),this.fillType7=Be(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||Be(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Be(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Be(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Be(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Be(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Be(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Be(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Be(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Be(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},EH=o(t=>{let e=new K8;return e.calculate(t),e},"getThemeVariables")});var Q8,uf,a2=I(()=>{"use strict";_o();rg();i2();Q8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Be(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Be(this.primaryColor,{h:-160}),this.primaryBorderColor=Pi(this.primaryColor,this.darkMode),this.secondaryBorderColor=Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Pi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=vs(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.vertLineColor="navy",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Be(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Be(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Be(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Be(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Be(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Be(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Be(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Be(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Be(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||$t(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||$t(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}let r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},uf=o(t=>{let e=new Q8;return e.calculate(t),e},"getThemeVariables")});var Z8,AH,_H=I(()=>{"use strict";_o();i2();rg();Z8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=It("#cde498",10),this.primaryBorderColor=Pi(this.primaryColor,this.darkMode),this.secondaryBorderColor=Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Pi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.primaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=$t(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Be(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Be(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Be(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Be(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Be(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Be(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Be(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Be(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Be(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||$t(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||$t(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},AH=o(t=>{let e=new Z8;return e.calculate(t),e},"getThemeVariables")});var J8,DH,RH=I(()=>{"use strict";_o();rg();i2();J8=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=It(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Be(this.primaryColor,{h:-160}),this.primaryBorderColor=Pi(this.primaryColor,this.darkMode),this.secondaryBorderColor=Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Pi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||It(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=It(this.contrast,55),this.border2=this.contrast,this.actorBorder=It(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},DH=o(t=>{let e=new J8;return e.calculate(t),e},"getThemeVariables")});var rl,F3=I(()=>{"use strict";SH();CH();a2();_H();RH();rl={base:{getThemeVariables:kH},dark:{getThemeVariables:EH},default:{getThemeVariables:uf},forest:{getThemeVariables:AH},neutral:{getThemeVariables:DH}}});var ql,LH=I(()=>{"use strict";ql={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var NH,MH,IH,gr,Ka=I(()=>{"use strict";F3();LH();NH={...ql,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:rl.default.getThemeVariables(),sequence:{...ql.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...ql.gantt,tickInterval:void 0,useWidth:void 0},c4:{...ql.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...ql.flowchart,inheritDir:!1},external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...ql.pie,useWidth:984},xyChart:{...ql.xyChart,useWidth:void 0},requirement:{...ql.requirement,useWidth:void 0},packet:{...ql.packet},radar:{...ql.radar},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","}},MH=o((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...MH(t[n],"")]:[...r,e+n],[]),"keyify"),IH=new Set(MH(NH,"")),gr=NH});var ng,L6e,e_=I(()=>{"use strict";Ka();gt();ng=o(t=>{if(X.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>ng(e));return}for(let e of Object.keys(t)){if(X.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!IH.has(e)||t[e]==null){X.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){X.debug("sanitizing object",e),ng(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(X.debug("sanitizing css option",e),t[e]=L6e(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}X.debug("After sanitization",t)}},"sanitizeDirective"),L6e=o(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";tg();gt();F3();Ka();e_();hf=Object.freeze(gr),Hs=$n({},hf),Cp=[],s2=$n({},hf),z3=o((t,e)=>{let r=$n({},t),n={};for(let i of e)FH(i),n=$n(n,i);if(r=$n(r,n),n.theme&&n.theme in rl){let i=$n({},$3),a=$n(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in rl&&(r.themeVariables=rl[r.theme].getThemeVariables(a))}return s2=r,zH(s2),s2},"updateCurrentConfig"),t_=o(t=>(Hs=$n({},hf),Hs=$n(Hs,t),t.theme&&rl[t.theme]&&(Hs.themeVariables=rl[t.theme].getThemeVariables(t.themeVariables)),z3(Hs,Cp),Hs),"setSiteConfig"),PH=o(t=>{$3=$n({},t)},"saveConfigFromInitialize"),BH=o(t=>(Hs=$n(Hs,t),z3(Hs,Cp),Hs),"updateSiteConfig"),r_=o(()=>$n({},Hs),"getSiteConfig"),G3=o(t=>(zH(t),$n(s2,t),tr()),"setConfig"),tr=o(()=>$n({},s2),"getConfig"),FH=o(t=>{t&&(["secure",...Hs.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(X.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&FH(t[e])}))},"sanitize"),$H=o(t=>{ng(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Cp.push(t),z3(Hs,Cp)},"addDirective"),o2=o((t=Hs)=>{Cp=[],z3(t,Cp)},"reset"),N6e={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},OH={},M6e=o(t=>{OH[t]||(X.warn(N6e[t]),OH[t]=!0)},"issueWarning"),zH=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&M6e("LAZY_LOAD_DEPRECATED")},"checkConfig"),GH=o(()=>{let t={};$3&&(t=$n(t,$3));for(let e of Cp)t=$n(t,e);return t},"getUserDefinedConfig")});function Ts(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:U3;VH&&VH(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let a=r(i);a!==i&&(I6e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function V6e(t){for(let e=0;e0&&arguments[0]!==void 0?arguments[0]:J6e(),e=o(Dt=>tY(Dt),"DOMPurify");if(e.version="3.2.6",e.removed=[],!t||!t.document||t.document.nodeType!==f2.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t,n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:u,NodeFilter:h,NamedNodeMap:f=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:m}=t,g=u.prototype,y=h2(g,"cloneNode"),v=h2(g,"remove"),x=h2(g,"nextSibling"),b=h2(g,"childNodes"),T=h2(g,"parentNode");if(typeof s=="function"){let Dt=r.createElement("template");Dt.content&&Dt.content.ownerDocument&&(r=Dt.content.ownerDocument)}let E,w="",{implementation:k,createNodeIterator:C,createDocumentFragment:D,getElementsByTagName:R}=r,{importNode:O}=n,L=KH();e.isSupported=typeof QH=="function"&&typeof T=="function"&&k&&k.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:S,ERB_EXPR:A,TMPLIT_EXPR:_,DATA_ATTR:N,ARIA_ATTR:M,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:B,CUSTOM_ELEMENT:F}=XH,{IS_ALLOWED_URI:G}=XH,$=null,V=Gr({},[...WH,...i_,...a_,...s_,...HH]),K=null,ee=Gr({},[...YH,...o_,...jH,...q3]),H=Object.seal(ZH(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}})),he=null,Z=null,de=!0,re=!0,ne=!1,te=!0,Q=!1,le=!0,J=!1,ge=!1,ie=!1,Te=!1,j=!1,Ge=!1,ye=!0,$e=!1,Xe="user-content-",Ue=!0,Le=!1,Ie={},Me=null,Ae=Gr({},["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"]),ze=null,Y=Gr({},["audio","video","img","source","image","track"]),ce=null,U=Gr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ue="http://www.w3.org/1998/Math/MathML",z="http://www.w3.org/2000/svg",se="http://www.w3.org/1999/xhtml",oe=se,be=!1,pe=null,me=Gr({},[ue,z,se],n_),De=Gr({},["mi","mo","mn","ms","mtext"]),Ce=Gr({},["annotation-xml"]),Fe=Gr({},["title","style","font","a","script"]),Ye=null,xt=["application/xhtml+xml","text/html"],je="text/html",Pe=null,rt=null,We=r.createElement("form"),ut=o(function(_e){return _e instanceof RegExp||_e instanceof Function},"isRegexOrFunction"),Ut=o(function(){let _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(rt&&rt===_e)){if((!_e||typeof _e!="object")&&(_e={}),_e=Qu(_e),Ye=xt.indexOf(_e.PARSER_MEDIA_TYPE)===-1?je:_e.PARSER_MEDIA_TYPE,Pe=Ye==="application/xhtml+xml"?n_:U3,$=Ul(_e,"ALLOWED_TAGS")?Gr({},_e.ALLOWED_TAGS,Pe):V,K=Ul(_e,"ALLOWED_ATTR")?Gr({},_e.ALLOWED_ATTR,Pe):ee,pe=Ul(_e,"ALLOWED_NAMESPACES")?Gr({},_e.ALLOWED_NAMESPACES,n_):me,ce=Ul(_e,"ADD_URI_SAFE_ATTR")?Gr(Qu(U),_e.ADD_URI_SAFE_ATTR,Pe):U,ze=Ul(_e,"ADD_DATA_URI_TAGS")?Gr(Qu(Y),_e.ADD_DATA_URI_TAGS,Pe):Y,Me=Ul(_e,"FORBID_CONTENTS")?Gr({},_e.FORBID_CONTENTS,Pe):Ae,he=Ul(_e,"FORBID_TAGS")?Gr({},_e.FORBID_TAGS,Pe):Qu({}),Z=Ul(_e,"FORBID_ATTR")?Gr({},_e.FORBID_ATTR,Pe):Qu({}),Ie=Ul(_e,"USE_PROFILES")?_e.USE_PROFILES:!1,de=_e.ALLOW_ARIA_ATTR!==!1,re=_e.ALLOW_DATA_ATTR!==!1,ne=_e.ALLOW_UNKNOWN_PROTOCOLS||!1,te=_e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Q=_e.SAFE_FOR_TEMPLATES||!1,le=_e.SAFE_FOR_XML!==!1,J=_e.WHOLE_DOCUMENT||!1,Te=_e.RETURN_DOM||!1,j=_e.RETURN_DOM_FRAGMENT||!1,Ge=_e.RETURN_TRUSTED_TYPE||!1,ie=_e.FORCE_BODY||!1,ye=_e.SANITIZE_DOM!==!1,$e=_e.SANITIZE_NAMED_PROPS||!1,Ue=_e.KEEP_CONTENT!==!1,Le=_e.IN_PLACE||!1,G=_e.ALLOWED_URI_REGEXP||JH,oe=_e.NAMESPACE||se,De=_e.MATHML_TEXT_INTEGRATION_POINTS||De,Ce=_e.HTML_INTEGRATION_POINTS||Ce,H=_e.CUSTOM_ELEMENT_HANDLING||{},_e.CUSTOM_ELEMENT_HANDLING&&ut(_e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=_e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),_e.CUSTOM_ELEMENT_HANDLING&&ut(_e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=_e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),_e.CUSTOM_ELEMENT_HANDLING&&typeof _e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(H.allowCustomizedBuiltInElements=_e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Q&&(re=!1),j&&(Te=!0),Ie&&($=Gr({},HH),K=[],Ie.html===!0&&(Gr($,WH),Gr(K,YH)),Ie.svg===!0&&(Gr($,i_),Gr(K,o_),Gr(K,q3)),Ie.svgFilters===!0&&(Gr($,a_),Gr(K,o_),Gr(K,q3)),Ie.mathMl===!0&&(Gr($,s_),Gr(K,jH),Gr(K,q3))),_e.ADD_TAGS&&($===V&&($=Qu($)),Gr($,_e.ADD_TAGS,Pe)),_e.ADD_ATTR&&(K===ee&&(K=Qu(K)),Gr(K,_e.ADD_ATTR,Pe)),_e.ADD_URI_SAFE_ATTR&&Gr(ce,_e.ADD_URI_SAFE_ATTR,Pe),_e.FORBID_CONTENTS&&(Me===Ae&&(Me=Qu(Me)),Gr(Me,_e.FORBID_CONTENTS,Pe)),Ue&&($["#text"]=!0),J&&Gr($,["html","head","body"]),$.table&&(Gr($,["tbody"]),delete he.tbody),_e.TRUSTED_TYPES_POLICY){if(typeof _e.TRUSTED_TYPES_POLICY.createHTML!="function")throw u2('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof _e.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw u2('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=_e.TRUSTED_TYPES_POLICY,w=E.createHTML("")}else E===void 0&&(E=eAe(m,i)),E!==null&&typeof w=="string"&&(w=E.createHTML(""));bs&&bs(_e),rt=_e}},"_parseConfig"),Tt=Gr({},[...i_,...a_,...q6e]),Mt=Gr({},[...s_,...U6e]),mt=o(function(_e){let ot=T(_e);(!ot||!ot.tagName)&&(ot={namespaceURI:oe,tagName:"template"});let Ot=U3(_e.tagName),Dr=U3(ot.tagName);return pe[_e.namespaceURI]?_e.namespaceURI===z?ot.namespaceURI===se?Ot==="svg":ot.namespaceURI===ue?Ot==="svg"&&(Dr==="annotation-xml"||De[Dr]):!!Tt[Ot]:_e.namespaceURI===ue?ot.namespaceURI===se?Ot==="math":ot.namespaceURI===z?Ot==="math"&&Ce[Dr]:!!Mt[Ot]:_e.namespaceURI===se?ot.namespaceURI===z&&!Ce[Dr]||ot.namespaceURI===ue&&!De[Dr]?!1:!Mt[Ot]&&(Fe[Ot]||!Tt[Ot]):!!(Ye==="application/xhtml+xml"&&pe[_e.namespaceURI]):!1},"_checkValidNamespace"),at=o(function(_e){l2(e.removed,{element:_e});try{T(_e).removeChild(_e)}catch{v(_e)}},"_forceRemove"),wt=o(function(_e,ot){try{l2(e.removed,{attribute:ot.getAttributeNode(_e),from:ot})}catch{l2(e.removed,{attribute:null,from:ot})}if(ot.removeAttribute(_e),_e==="is")if(Te||j)try{at(ot)}catch{}else try{ot.setAttribute(_e,"")}catch{}},"_removeAttribute"),St=o(function(_e){let ot=null,Ot=null;if(ie)_e=""+_e;else{let Cn=UH(_e,/^[\r\n\t ]+/);Ot=Cn&&Cn[0]}Ye==="application/xhtml+xml"&&oe===se&&(_e=''+_e+"");let Dr=E?E.createHTML(_e):_e;if(oe===se)try{ot=new p().parseFromString(Dr,Ye)}catch{}if(!ot||!ot.documentElement){ot=k.createDocument(oe,"template",null);try{ot.documentElement.innerHTML=be?w:Dr}catch{}}let Rn=ot.body||ot.documentElement;return _e&&Ot&&Rn.insertBefore(r.createTextNode(Ot),Rn.childNodes[0]||null),oe===se?R.call(ot,J?"html":"body")[0]:J?ot.documentElement:Rn},"_initDocument"),bt=o(function(_e){return C.call(_e.ownerDocument||_e,_e,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),pt=o(function(_e){return _e instanceof d&&(typeof _e.nodeName!="string"||typeof _e.textContent!="string"||typeof _e.removeChild!="function"||!(_e.attributes instanceof f)||typeof _e.removeAttribute!="function"||typeof _e.setAttribute!="function"||typeof _e.namespaceURI!="string"||typeof _e.insertBefore!="function"||typeof _e.hasChildNodes!="function")},"_isClobbered"),Zr=o(function(_e){return typeof l=="function"&&_e instanceof l},"_isNode");function Lt(Dt,_e,ot){V3(Dt,Ot=>{Ot.call(e,_e,ot,rt)})}o(Lt,"_executeHooks");let Dn=o(function(_e){let ot=null;if(Lt(L.beforeSanitizeElements,_e,null),pt(_e))return at(_e),!0;let Ot=Pe(_e.nodeName);if(Lt(L.uponSanitizeElement,_e,{tagName:Ot,allowedTags:$}),le&&_e.hasChildNodes()&&!Zr(_e.firstElementChild)&&xs(/<[/\w!]/g,_e.innerHTML)&&xs(/<[/\w!]/g,_e.textContent)||_e.nodeType===f2.progressingInstruction||le&&_e.nodeType===f2.comment&&xs(/<[/\w]/g,_e.data))return at(_e),!0;if(!$[Ot]||he[Ot]){if(!he[Ot]&&mr(Ot)&&(H.tagNameCheck instanceof RegExp&&xs(H.tagNameCheck,Ot)||H.tagNameCheck instanceof Function&&H.tagNameCheck(Ot)))return!1;if(Ue&&!Me[Ot]){let Dr=T(_e)||_e.parentNode,Rn=b(_e)||_e.childNodes;if(Rn&&Dr){let Cn=Rn.length;for(let mn=Cn-1;mn>=0;--mn){let oa=y(Rn[mn],!0);oa.__removalCount=(_e.__removalCount||0)+1,Dr.insertBefore(oa,x(_e))}}}return at(_e),!0}return _e instanceof u&&!mt(_e)||(Ot==="noscript"||Ot==="noembed"||Ot==="noframes")&&xs(/<\/no(script|embed|frames)/i,_e.innerHTML)?(at(_e),!0):(Q&&_e.nodeType===f2.text&&(ot=_e.textContent,V3([S,A,_],Dr=>{ot=c2(ot,Dr," ")}),_e.textContent!==ot&&(l2(e.removed,{element:_e.cloneNode()}),_e.textContent=ot)),Lt(L.afterSanitizeElements,_e,null),!1)},"_sanitizeElements"),Hr=o(function(_e,ot,Ot){if(ye&&(ot==="id"||ot==="name")&&(Ot in r||Ot in We))return!1;if(!(re&&!Z[ot]&&xs(N,ot))){if(!(de&&xs(M,ot))){if(!K[ot]||Z[ot]){if(!(mr(_e)&&(H.tagNameCheck instanceof RegExp&&xs(H.tagNameCheck,_e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(_e))&&(H.attributeNameCheck instanceof RegExp&&xs(H.attributeNameCheck,ot)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(ot))||ot==="is"&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&xs(H.tagNameCheck,Ot)||H.tagNameCheck instanceof Function&&H.tagNameCheck(Ot))))return!1}else if(!ce[ot]){if(!xs(G,c2(Ot,B,""))){if(!((ot==="src"||ot==="xlink:href"||ot==="href")&&_e!=="script"&&$6e(Ot,"data:")===0&&ze[_e])){if(!(ne&&!xs(P,c2(Ot,B,"")))){if(Ot)return!1}}}}}}return!0},"_isValidAttribute"),mr=o(function(_e){return _e!=="annotation-xml"&&UH(_e,F)},"_isBasicCustomElement"),hr=o(function(_e){Lt(L.beforeSanitizeAttributes,_e,null);let{attributes:ot}=_e;if(!ot||pt(_e))return;let Ot={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:K,forceKeepAttr:void 0},Dr=ot.length;for(;Dr--;){let Rn=ot[Dr],{name:Cn,namespaceURI:mn,value:oa}=Rn,Co=Pe(Cn),Xa=oa,br=Cn==="value"?Xa:z6e(Xa);if(Ot.attrName=Co,Ot.attrValue=br,Ot.keepAttr=!0,Ot.forceKeepAttr=void 0,Lt(L.uponSanitizeAttribute,_e,Ot),br=Ot.attrValue,$e&&(Co==="id"||Co==="name")&&(wt(Cn,_e),br=Xe+br),le&&xs(/((--!?|])>)|<\/(style|title)/i,br)){wt(Cn,_e);continue}if(Ot.forceKeepAttr)continue;if(!Ot.keepAttr){wt(Cn,_e);continue}if(!te&&xs(/\/>/i,br)){wt(Cn,_e);continue}Q&&V3([S,A,_],Ct=>{br=c2(br,Ct," ")});let st=Pe(_e.nodeName);if(!Hr(st,Co,br)){wt(Cn,_e);continue}if(E&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!mn)switch(m.getAttributeType(st,Co)){case"TrustedHTML":{br=E.createHTML(br);break}case"TrustedScriptURL":{br=E.createScriptURL(br);break}}if(br!==Xa)try{mn?_e.setAttributeNS(mn,Cn,br):_e.setAttribute(Cn,br),pt(_e)?at(_e):qH(e.removed)}catch{wt(Cn,_e)}}Lt(L.afterSanitizeAttributes,_e,null)},"_sanitizeAttributes"),Br=o(function Dt(_e){let ot=null,Ot=bt(_e);for(Lt(L.beforeSanitizeShadowDOM,_e,null);ot=Ot.nextNode();)Lt(L.uponSanitizeShadowNode,ot,null),Dn(ot),hr(ot),ot.content instanceof a&&Dt(ot.content);Lt(L.afterSanitizeShadowDOM,_e,null)},"_sanitizeShadowDOM");return e.sanitize=function(Dt){let _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ot=null,Ot=null,Dr=null,Rn=null;if(be=!Dt,be&&(Dt=""),typeof Dt!="string"&&!Zr(Dt))if(typeof Dt.toString=="function"){if(Dt=Dt.toString(),typeof Dt!="string")throw u2("dirty is not a string, aborting")}else throw u2("toString is not a function");if(!e.isSupported)return Dt;if(ge||Ut(_e),e.removed=[],typeof Dt=="string"&&(Le=!1),Le){if(Dt.nodeName){let oa=Pe(Dt.nodeName);if(!$[oa]||he[oa])throw u2("root node is forbidden and cannot be sanitized in-place")}}else if(Dt instanceof l)ot=St(""),Ot=ot.ownerDocument.importNode(Dt,!0),Ot.nodeType===f2.element&&Ot.nodeName==="BODY"||Ot.nodeName==="HTML"?ot=Ot:ot.appendChild(Ot);else{if(!Te&&!Q&&!J&&Dt.indexOf("<")===-1)return E&&Ge?E.createHTML(Dt):Dt;if(ot=St(Dt),!ot)return Te?null:Ge?w:""}ot&&ie&&at(ot.firstChild);let Cn=bt(Le?Dt:ot);for(;Dr=Cn.nextNode();)Dn(Dr),hr(Dr),Dr.content instanceof a&&Br(Dr.content);if(Le)return Dt;if(Te){if(j)for(Rn=D.call(ot.ownerDocument);ot.firstChild;)Rn.appendChild(ot.firstChild);else Rn=ot;return(K.shadowroot||K.shadowrootmode)&&(Rn=O.call(n,Rn,!0)),Rn}let mn=J?ot.outerHTML:ot.innerHTML;return J&&$["!doctype"]&&ot.ownerDocument&&ot.ownerDocument.doctype&&ot.ownerDocument.doctype.name&&xs(eY,ot.ownerDocument.doctype.name)&&(mn=" -`+mn),Q&&V3([S,A,_],oa=>{mn=c2(mn,oa," ")}),E&&Ge?E.createHTML(mn):mn},e.setConfig=function(){let Dt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ut(Dt),ge=!0},e.clearConfig=function(){rt=null,ge=!1},e.isValidAttribute=function(Dt,_e,ot){rt||Ut({});let Ot=Pe(Dt),Dr=Pe(_e);return Hr(Ot,Dr,ot)},e.addHook=function(Dt,_e){typeof _e=="function"&&l2(L[Dt],_e)},e.removeHook=function(Dt,_e){if(_e!==void 0){let ot=B6e(L[Dt],_e);return ot===-1?void 0:F6e(L[Dt],ot,1)[0]}return qH(L[Dt])},e.removeHooks=function(Dt){L[Dt]=[]},e.removeAllHooks=function(){L=KH()},e}var QH,VH,I6e,O6e,P6e,bs,nl,ZH,l_,c_,V3,B6e,qH,l2,F6e,U3,n_,UH,c2,$6e,z6e,Ul,xs,u2,WH,i_,a_,q6e,s_,U6e,HH,YH,o_,jH,q3,W6e,H6e,Y6e,j6e,X6e,JH,K6e,Q6e,eY,Z6e,XH,f2,J6e,eAe,KH,ff,u_=I(()=>{"use strict";({entries:QH,setPrototypeOf:VH,isFrozen:I6e,getPrototypeOf:O6e,getOwnPropertyDescriptor:P6e}=Object),{freeze:bs,seal:nl,create:ZH}=Object,{apply:l_,construct:c_}=typeof Reflect<"u"&&Reflect;bs||(bs=o(function(e){return e},"freeze"));nl||(nl=o(function(e){return e},"seal"));l_||(l_=o(function(e,r,n){return e.apply(r,n)},"apply"));c_||(c_=o(function(e,r){return new e(...r)},"construct"));V3=Ts(Array.prototype.forEach),B6e=Ts(Array.prototype.lastIndexOf),qH=Ts(Array.prototype.pop),l2=Ts(Array.prototype.push),F6e=Ts(Array.prototype.splice),U3=Ts(String.prototype.toLowerCase),n_=Ts(String.prototype.toString),UH=Ts(String.prototype.match),c2=Ts(String.prototype.replace),$6e=Ts(String.prototype.indexOf),z6e=Ts(String.prototype.trim),Ul=Ts(Object.prototype.hasOwnProperty),xs=Ts(RegExp.prototype.test),u2=G6e(TypeError);o(Ts,"unapply");o(G6e,"unconstruct");o(Gr,"addToSet");o(V6e,"cleanArray");o(Qu,"clone");o(h2,"lookupGetter");WH=bs(["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"]),i_=bs(["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"]),a_=bs(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),q6e=bs(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),s_=bs(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),U6e=bs(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),HH=bs(["#text"]),YH=bs(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),o_=bs(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),jH=bs(["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"]),q3=bs(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),W6e=nl(/\{\{[\w\W]*|[\w\W]*\}\}/gm),H6e=nl(/<%[\w\W]*|[\w\W]*%>/gm),Y6e=nl(/\$\{[\w\W]*/gm),j6e=nl(/^data-[\-\w.\u00B7-\uFFFF]+$/),X6e=nl(/^aria-[\-\w]+$/),JH=nl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),K6e=nl(/^(?:\w+script|data):/i),Q6e=nl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),eY=nl(/^html$/i),Z6e=nl(/^[a-z][.\w]*(-[.\w]+)+$/i),XH=Object.freeze({__proto__:null,ARIA_ATTR:X6e,ATTR_WHITESPACE:Q6e,CUSTOM_ELEMENT:Z6e,DATA_ATTR:j6e,DOCTYPE_NAME:eY,ERB_EXPR:H6e,IS_ALLOWED_URI:JH,IS_SCRIPT_OR_DATA:K6e,MUSTACHE_EXPR:W6e,TMPLIT_EXPR:Y6e}),f2={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},J6e=o(function(){return typeof window>"u"?null:window},"getGlobal"),eAe=o(function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));let a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},"_createTrustedTypesPolicy"),KH=o(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");o(tY,"createDOMPurify");ff=tY()});var Mj={};vr(Mj,{ParseError:()=>vt,SETTINGS_SCHEMA:()=>g2,__defineFunction:()=>Pt,__defineMacro:()=>fe,__defineSymbol:()=>q,__domTree:()=>Nj,__parse:()=>_j,__renderToDomTree:()=>yw,__renderToHTMLTree:()=>Rj,__setFontMetrics:()=>OY,default:()=>W7e,render:()=>J_,renderToString:()=>Aj,version:()=>Lj});function oAe(t){return String(t).replace(sAe,e=>aAe[e])}function hAe(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function vAe(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function IY(t){for(var e=0;e=rw[e]&&t<=rw[e+1])return!0;return!1}function OY(t,e){Oc[t]=e}function B_(t,e,r){if(!Oc[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Oc[e][n];if(!i&&t[0]in nY&&(n=nY[t[0]].charCodeAt(0),i=Oc[e][n]),!i&&r==="text"&&IY(n)&&(i=Oc[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function DAe(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!h_[e]){var r=h_[e]={cssEmPerMu:W3.quad[e]/18};for(var n in W3)W3.hasOwnProperty(n)&&(r[n]=W3[n][e])}return h_[e]}function sY(t){if(t instanceof js)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function IAe(t){if(t instanceof Dp)return t;throw new Error("Expected span but got "+String(t)+".")}function q(t,e,r,n,i,a){zn[t][i]={font:e,group:r,replace:n},a&&n&&(zn[t][n]=zn[t][i])}function Pt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(Z3(s,e)),s=[]),a.push(n[l]));s.length>0&&a.push(Z3(s,e));var h;r?(h=Z3(Xi(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=rh(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=_t(f.height+f.depth),f.depth&&(d.style.verticalAlign=_t(-f.depth))}return f}function YY(t){return new _p(t)}function p_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof al&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof al&&r.text===","}else return!1}function hY(t,e,r,n,i){var a=Xs(t,r),s;a.length===1&&a[0]instanceof ws&&ar.contains(["mrow","mtable"],a[0].type)?s=a[0]:s=new yt.MathNode("mrow",a);var l=new yt.MathNode("annotation",[new yt.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new yt.MathNode("semantics",[s,l]),h=new yt.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return Ve.makeSpan([f],[h])}function _r(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function G_(t){var e=dw(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function dw(t){return t&&(t.type==="atom"||PAe.hasOwnProperty(t.type))?t:null}function QY(t,e){var r=Xi(t.body,e,!0);return f7e([t.mclass],r,e)}function ZY(t,e){var r,n=Xs(t.body,e);return t.mclass==="minner"?r=new yt.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new yt.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new yt.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function m7e(t,e,r){var n=d7e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function g7e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new vt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=m7e(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=fY()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function mw(t,e){var r=dw(t);if(r&&ar.contains(D7e,r.text))return r;throw r?new vt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new vt("Invalid delimiter type '"+t.type+"'",t)}function mY(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function Bc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";Do=class t{static{o(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},sl=class t{static{o(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,Do.range(this,e))}},vt=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,a=s.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},sAe=/[&><"']/g;o(oAe,"escape");MY=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),lAe=o(function(e){var r=MY(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),cAe=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),uAe=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),ar={contains:tAe,deflt:rAe,escape:oAe,hyphenate:iAe,getBaseElem:MY,isCharacterBox:lAe,protocolFromUrl:uAe},g2={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(hAe,"getDefaultValue");v2=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in g2)if(g2.hasOwnProperty(r)){var n=g2[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:hAe(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new vt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=ar.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Mc=class{static{o(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Ic[fAe[this.id]]}sub(){return Ic[dAe[this.id]]}fracNum(){return Ic[pAe[this.id]]}fracDen(){return Ic[mAe[this.id]]}cramp(){return Ic[gAe[this.id]]}text(){return Ic[yAe[this.id]]}isTight(){return this.size>=2}},P_=0,nw=1,sg=2,eh=3,x2=4,il=5,og=6,ks=7,Ic=[new Mc(P_,0,!1),new Mc(nw,0,!0),new Mc(sg,1,!1),new Mc(eh,1,!0),new Mc(x2,2,!1),new Mc(il,2,!0),new Mc(og,3,!1),new Mc(ks,3,!0)],fAe=[x2,il,x2,il,og,ks,og,ks],dAe=[il,il,il,il,ks,ks,ks,ks],pAe=[sg,eh,x2,il,og,ks,og,ks],mAe=[eh,eh,il,il,ks,ks,ks,ks],gAe=[nw,nw,eh,eh,il,il,ks,ks],yAe=[P_,nw,sg,eh,sg,eh,sg,eh],lr={DISPLAY:Ic[P_],TEXT:Ic[sg],SCRIPT:Ic[x2],SCRIPTSCRIPT:Ic[og]},S_=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];o(vAe,"scriptFromCodepoint");rw=[];S_.forEach(t=>t.blocks.forEach(e=>rw.push(...e)));o(IY,"supportedCodepoint");ag=80,xAe=o(function(e,r){return"M95,"+(622+e+r)+` +"use strict";var __esbuild_esm_mermaid_nm;(__esbuild_esm_mermaid_nm||={}).mermaid=(()=>{var BAe=Object.create;var u2=Object.defineProperty;var FAe=Object.getOwnPropertyDescriptor;var $Ae=Object.getOwnPropertyNames;var zAe=Object.getPrototypeOf,GAe=Object.prototype.hasOwnProperty;var o=(t,e)=>u2(t,"name",{value:e,configurable:!0});var O=(t,e)=>()=>(t&&(e=t(t=0)),e);var nr=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vr=(t,e)=>{for(var r in e)u2(t,r,{get:e[r],enumerable:!0})},z3=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $Ae(e))!GAe.call(t,i)&&i!==r&&u2(t,i,{get:()=>e[i],enumerable:!(n=FAe(e,i))||n.enumerable});return t},jr=(t,e,r)=>(z3(t,e,"default"),r&&z3(r,e,"default")),Ra=(t,e,r)=>(r=t!=null?BAe(zAe(t)):{},z3(e||!t||!t.__esModule?u2(r,"default",{value:t,enumerable:!0}):r,t)),G3=t=>z3(u2({},"__esModule",{value:!0}),t);var VAe,ag,W_,uH,V3=O(()=>{"use strict";VAe=Object.freeze({left:0,top:0,width:16,height:16}),ag=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),W_=Object.freeze({...VAe,...ag}),uH=Object.freeze({...W_,body:"",hidden:!1})});var qAe,hH,fH=O(()=>{"use strict";V3();qAe=Object.freeze({width:null,height:null}),hH=Object.freeze({...qAe,...ag})});var H_,q3,dH=O(()=>{"use strict";H_=o((t,e,r,n="")=>{let i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let l=i.pop(),u=i.pop(),h={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!q3(h)?null:h}let a=i[0],s=a.split("-");if(s.length>1){let l={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!q3(l)?null:l}if(r&&n===""){let l={provider:n,prefix:"",name:a};return e&&!q3(l,r)?null:l}return null},"stringToIcon"),q3=o((t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1,"validateIconName")});function pH(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var mH=O(()=>{"use strict";o(pH,"mergeIconTransformations")});function Y_(t,e){let r=pH(t,e);for(let n in uH)n in ag?n in t&&!(n in r)&&(r[n]=ag[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var gH=O(()=>{"use strict";V3();mH();o(Y_,"mergeIconData")});function yH(t,e){let r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;let l=n[s]&&n[s].parent,u=l&&a(l);u&&(i[s]=[l].concat(u))}return i[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var vH=O(()=>{"use strict";o(yH,"getIconsTree")});function xH(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function s(l){a=Y_(n[l]||i[l],a)}return o(s,"parse"),s(e),r.forEach(s),Y_(t,a)}function j_(t,e){if(t.icons[e])return xH(t,e,[]);let r=yH(t,[e])[e];return r?xH(t,e,r):null}var bH=O(()=>{"use strict";gH();vH();o(xH,"internalGetIconData");o(j_,"getIconData")});function X_(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;let n=t.split(UAe);if(n===null||!n.length)return t;let i=[],a=n.shift(),s=WAe.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?i.push(a):i.push(Math.ceil(l*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}var UAe,WAe,TH=O(()=>{"use strict";UAe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,WAe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(X_,"calculateSize")});function HAe(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function YAe(t,e){return t?""+t+""+e:e}function wH(t,e,r){let n=HAe(t);return YAe(n.defs,e+n.content+r)}var kH=O(()=>{"use strict";o(HAe,"splitSVGDefs");o(YAe,"mergeDefsAndContent");o(wH,"wrapSVGContent")});function K_(t,e){let r={...W_,...t},n={...hH,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,T=y.rotate;x?b?T+=2:(v.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),v.push("scale(-1 1)"),i.top=i.left=0):b&&(v.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),v.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,v.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:v.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,v.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),v.length&&(a=wH(a,'',""))});let s=n.width,l=n.height,u=i.width,h=i.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=X_(d,u/h)):(f=s==="auto"?u:s,d=l===null?X_(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{jAe(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[i.left,i.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var jAe,EH=O(()=>{"use strict";V3();fH();TH();kH();jAe=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(K_,"iconToSVG")});function Q_(t,e=KAe){let r=[],n;for(;n=XAe.exec(t);)r.push(n[1]);if(!r.length)return t;let i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(QAe++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),t=t.replace(new RegExp(i,"g"),""),t}var XAe,KAe,QAe,SH=O(()=>{"use strict";XAe=/\sid="(\S+)"/g,KAe="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),QAe=0;o(Q_,"replaceIDs")});function Z_(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}var CH=O(()=>{"use strict";o(Z_,"iconToHTML")});var AH=O(()=>{"use strict";dH();bH();EH();SH();CH()});var J_,Vn,sg=O(()=>{"use strict";J_=o((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>J_(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=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(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=J_(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),Vn=J_});var U3=nr((e8,t8)=>{"use strict";(function(t,e){typeof e8=="object"&&typeof t8<"u"?t8.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(e8,(function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:o(function(C){var _=["th","st","nd","rd"],D=C%100;return"["+C+(_[(D-20)%10]||_[D]||_[0])+"]"},"ordinal")},x=o(function(C,_,D){var M=String(C);return!M||M.length>=_?C:""+Array(_+1-M.length).join(D)+C},"m"),b={s:x,z:o(function(C){var _=-C.utcOffset(),D=Math.abs(_),M=Math.floor(D/60),R=D%60;return(_<=0?"+":"-")+x(M,2,"0")+":"+x(R,2,"0")},"z"),m:o(function C(_,D){if(_.date()1)return C(B[0])}else{var F=_.name;E[F]=_,R=F}return!M&&R&&(T=R),R||!M&&T},"t"),A=o(function(C,_){if(k(C))return C.clone();var D=typeof _=="object"?_:{};return D.date=C,D.args=arguments,new I(D)},"O"),L=b;L.l=S,L.i=k,L.w=function(C,_){return A(C,{locale:_.$L,utc:_.$u,x:_.$x,$offset:_.$offset})};var I=(function(){function C(D){this.$L=S(D.locale,null,!0),this.parse(D),this.$x=this.$x||D.x||{},this[w]=!0}o(C,"M");var _=C.prototype;return _.parse=function(D){this.$d=(function(M){var R=M.date,P=M.utc;if(R===null)return new Date(NaN);if(L.u(R))return new Date;if(R instanceof Date)return new Date(R);if(typeof R=="string"&&!/Z$/i.test(R)){var B=R.match(g);if(B){var F=B[2]-1||0,G=(B[7]||"0").substring(0,3);return P?new Date(Date.UTC(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,G)):new Date(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,G)}}return new Date(R)})(D),this.init()},_.init=function(){var D=this.$d;this.$y=D.getFullYear(),this.$M=D.getMonth(),this.$D=D.getDate(),this.$W=D.getDay(),this.$H=D.getHours(),this.$m=D.getMinutes(),this.$s=D.getSeconds(),this.$ms=D.getMilliseconds()},_.$utils=function(){return L},_.isValid=function(){return this.$d.toString()!==m},_.isSame=function(D,M){var R=A(D);return this.startOf(M)<=R&&R<=this.endOf(M)},_.isAfter=function(D,M){return A(D){"use strict";_H=Ra(U3(),1),eh={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},K={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},h2=o(function(t="fatal"){let e=eh.fatal;typeof t=="string"?t.toLowerCase()in eh&&(e=eh[t]):typeof t=="number"&&(e=t),K.trace=()=>{},K.debug=()=>{},K.info=()=>{},K.warn=()=>{},K.error=()=>{},K.fatal=()=>{},e<=eh.fatal&&(K.fatal=console.error?console.error.bind(console,cl("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",cl("FATAL"))),e<=eh.error&&(K.error=console.error?console.error.bind(console,cl("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",cl("ERROR"))),e<=eh.warn&&(K.warn=console.warn?console.warn.bind(console,cl("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",cl("WARN"))),e<=eh.info&&(K.info=console.info?console.info.bind(console,cl("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",cl("INFO"))),e<=eh.debug&&(K.debug=console.debug?console.debug.bind(console,cl("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",cl("DEBUG"))),e<=eh.trace&&(K.trace=console.debug?console.debug.bind(console,cl("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",cl("TRACE")))},"setLogLevel"),cl=o(t=>`%c${(0,_H.default)().format("ss.SSS")} : ${t} : `,"format")});var W3,DH,RH=O(()=>{"use strict";W3={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:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return W3.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return W3.hue2rgb(a,i,t)*255;case"b":return W3.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;let l=i-a,u=s>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";ZAe={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},LH=ZAe});var JAe,MH,IH=O(()=>{"use strict";JAe={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},MH=JAe});var e7e,ir,$c=O(()=>{"use strict";RH();NH();IH();e7e={channel:DH,lang:LH,unit:MH},ir=e7e});var th,Qi,f2=O(()=>{"use strict";$c();th={};for(let t=0;t<=255;t++)th[t]=ir.unit.dec2hex(t);Qi={ALL:0,RGB:1,HSL:2}});var r8,OH,PH=O(()=>{"use strict";f2();r8=class{static{o(this,"Type")}constructor(){this.type=Qi.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=Qi.ALL}is(e){return this.type===e}},OH=r8});var n8,BH,FH=O(()=>{"use strict";$c();PH();f2();n8=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new OH}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Qi.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=ir.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=ir.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=ir.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=ir.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=ir.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=ir.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Qi.HSL)&&r!==void 0?r:(this._ensureHSL(),ir.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Qi.HSL)&&r!==void 0?r:(this._ensureHSL(),ir.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Qi.HSL)&&r!==void 0?r:(this._ensureHSL(),ir.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Qi.RGB)&&r!==void 0?r:(this._ensureRGB(),ir.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Qi.RGB)&&r!==void 0?r:(this._ensureRGB(),ir.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Qi.RGB)&&r!==void 0?r:(this._ensureRGB(),ir.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Qi.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Qi.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Qi.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Qi.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Qi.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Qi.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},BH=n8});var t7e,pf,d2=O(()=>{"use strict";FH();t7e=new BH({r:0,g:0,b:0,a:0},"transparent"),pf=t7e});var $H,Ap,i8=O(()=>{"use strict";d2();f2();$H={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match($H.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return pf.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${th[Math.round(e)]}${th[Math.round(r)]}${th[Math.round(n)]}${th[Math.round(i*255)]}`:`#${th[Math.round(e)]}${th[Math.round(r)]}${th[Math.round(n)]}`},"stringify")},Ap=$H});var H3,p2,zH=O(()=>{"use strict";$c();d2();H3={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:o(t=>{let e=t.match(H3.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return ir.channel.clamp.h(parseFloat(r)*.9);case"rad":return ir.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return ir.channel.clamp.h(parseFloat(r)*360)}}return ir.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(H3.re);if(!r)return;let[,n,i,a,s,l]=r;return pf.set({h:H3._hue2deg(n),s:ir.channel.clamp.s(parseFloat(i)),l:ir.channel.clamp.l(parseFloat(a)),a:s?ir.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${ir.lang.round(e)}, ${ir.lang.round(r)}%, ${ir.lang.round(n)}%, ${i})`:`hsl(${ir.lang.round(e)}, ${ir.lang.round(r)}%, ${ir.lang.round(n)}%)`},"stringify")},p2=H3});var Y3,a8,GH=O(()=>{"use strict";i8();Y3={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:o(t=>{t=t.toLowerCase();let e=Y3.colors[t];if(e)return Ap.parse(e)},"parse"),stringify:o(t=>{let e=Ap.stringify(t);for(let r in Y3.colors)if(Y3.colors[r]===e)return r},"stringify")},a8=Y3});var VH,m2,qH=O(()=>{"use strict";$c();d2();VH={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:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(VH.re);if(!r)return;let[,n,i,a,s,l,u,h,f]=r;return pf.set({r:ir.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:ir.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:ir.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?ir.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${ir.lang.round(e)}, ${ir.lang.round(r)}, ${ir.lang.round(n)}, ${ir.lang.round(i)})`:`rgb(${ir.lang.round(e)}, ${ir.lang.round(r)}, ${ir.lang.round(n)})`},"stringify")},m2=VH});var r7e,Zi,rh=O(()=>{"use strict";i8();zH();GH();qH();f2();r7e={format:{keyword:a8,hex:Ap,rgb:m2,rgba:m2,hsl:p2,hsla:p2},parse:o(t=>{if(typeof t!="string")return t;let e=Ap.parse(t)||m2.parse(t)||p2.parse(t)||a8.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(Qi.HSL)||t.data.r===void 0?p2.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?m2.stringify(t):Ap.stringify(t),"stringify")},Zi=r7e});var n7e,j3,s8=O(()=>{"use strict";$c();rh();n7e=o((t,e)=>{let r=Zi.parse(t);for(let n in e)r[n]=ir.channel.clamp[n](e[n]);return Zi.stringify(r)},"change"),j3=n7e});var i7e,bs,o8=O(()=>{"use strict";$c();d2();rh();s8();i7e=o((t,e,r=0,n=1)=>{if(typeof t!="number")return j3(t,{a:e});let i=pf.set({r:ir.channel.clamp.r(t),g:ir.channel.clamp.g(e),b:ir.channel.clamp.b(r),a:ir.channel.clamp.a(n)});return Zi.stringify(i)},"rgba"),bs=i7e});var a7e,_p,UH=O(()=>{"use strict";$c();rh();a7e=o((t,e)=>ir.lang.round(Zi.parse(t)[e]),"channel"),_p=a7e});var s7e,WH,HH=O(()=>{"use strict";$c();rh();s7e=o(t=>{let{r:e,g:r,b:n}=Zi.parse(t),i=.2126*ir.channel.toLinear(e)+.7152*ir.channel.toLinear(r)+.0722*ir.channel.toLinear(n);return ir.lang.round(i)},"luminance"),WH=s7e});var o7e,YH,jH=O(()=>{"use strict";HH();o7e=o(t=>WH(t)>=.5,"isLight"),YH=o7e});var l7e,Ji,XH=O(()=>{"use strict";jH();l7e=o(t=>!YH(t),"isDark"),Ji=l7e});var c7e,og,X3=O(()=>{"use strict";$c();rh();c7e=o((t,e,r)=>{let n=Zi.parse(t),i=n[e],a=ir.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Zi.stringify(n)},"adjustChannel"),og=c7e});var u7e,Lt,KH=O(()=>{"use strict";X3();u7e=o((t,e)=>og(t,"l",e),"lighten"),Lt=u7e});var h7e,Bt,QH=O(()=>{"use strict";X3();h7e=o((t,e)=>og(t,"l",-e),"darken"),Bt=h7e});var f7e,K3,ZH=O(()=>{"use strict";X3();f7e=o((t,e)=>og(t,"a",-e),"transparentize"),K3=f7e});var d7e,Fe,JH=O(()=>{"use strict";rh();s8();d7e=o((t,e)=>{let r=Zi.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return j3(t,n)},"adjust"),Fe=d7e});var p7e,eY,tY=O(()=>{"use strict";rh();o8();p7e=o((t,e,r=50)=>{let{r:n,g:i,b:a,a:s}=Zi.parse(t),{r:l,g:u,b:h,a:f}=Zi.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,T=a*y+h*v,E=s*d+f*(1-d);return bs(x,b,T,E)},"mix"),eY=p7e});var m7e,At,rY=O(()=>{"use strict";rh();tY();m7e=o((t,e=100)=>{let r=Zi.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,eY(r,t,e)},"invert"),At=m7e});var nY=O(()=>{"use strict";o8();UH();XH();KH();QH();ZH();JH();rY()});var Ys=O(()=>{"use strict";nY()});var mf,gf,g2=O(()=>{"use strict";mf="#ffffff",gf="#f2f2f2"});var zi,lg=O(()=>{"use strict";Ys();zi=o((t,e)=>e?Fe(t,{s:-40,l:10}):Fe(t,{s:-40,l:-10}),"mkBorder")});var c8,iY,aY=O(()=>{"use strict";Ys();g2();lg();c8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Fe(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Fe(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||zi(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||zi(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||zi(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||At(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||At(this.tertiaryColor),this.lineColor=this.lineColor||At(this.background),this.arrowheadColor=this.arrowheadColor||At(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Bt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Bt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||At(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||Lt(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.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||Bt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Bt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||Lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||Lt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Fe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Fe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Fe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Fe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Fe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Fe(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Fe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Fe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Fe(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},iY=o(t=>{let e=new c8;return e.calculate(t),e},"getThemeVariables")});var u8,sY,oY=O(()=>{"use strict";Ys();lg();u8=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Lt(this.primaryColor,16),this.tertiaryColor=Fe(this.primaryColor,{h:-160}),this.primaryBorderColor=At(this.background),this.secondaryBorderColor=zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=zi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Lt(At("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=bs(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=Bt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Bt(this.sectionBkgColor,10),this.taskBorderColor=bs(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=bs(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.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||Lt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Bt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=Lt(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=Lt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Lt(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=At(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Fe(this.primaryColor,{h:64}),this.fillType3=Fe(this.secondaryColor,{h:64}),this.fillType4=Fe(this.primaryColor,{h:-64}),this.fillType5=Fe(this.secondaryColor,{h:-64}),this.fillType6=Fe(this.primaryColor,{h:128}),this.fillType7=Fe(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||Fe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Fe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Fe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Fe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Fe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Fe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Fe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Fe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Fe(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},sY=o(t=>{let e=new u8;return e.calculate(t),e},"getThemeVariables")});var h8,yf,y2=O(()=>{"use strict";Ys();lg();g2();h8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Fe(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Fe(this.primaryColor,{h:-160}),this.primaryBorderColor=zi(this.primaryColor,this.darkMode),this.secondaryBorderColor=zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=zi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=bs(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.vertLineColor="navy",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Fe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Fe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Fe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Fe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Fe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Fe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Fe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Fe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Fe(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Bt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Bt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}let r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},yf=o(t=>{let e=new h8;return e.calculate(t),e},"getThemeVariables")});var f8,lY,cY=O(()=>{"use strict";Ys();g2();lg();f8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Lt("#cde498",10),this.primaryBorderColor=zi(this.primaryColor,this.darkMode),this.secondaryBorderColor=zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=zi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.primaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=Bt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Fe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Fe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Fe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Fe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Fe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Fe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Fe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Fe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Fe(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Bt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Bt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},lY=o(t=>{let e=new f8;return e.calculate(t),e},"getThemeVariables")});var d8,uY,hY=O(()=>{"use strict";Ys();lg();g2();d8=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Lt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Fe(this.primaryColor,{h:-160}),this.primaryBorderColor=zi(this.primaryColor,this.darkMode),this.secondaryBorderColor=zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=zi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||Lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=Lt(this.contrast,55),this.border2=this.contrast,this.actorBorder=Lt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},uY=o(t=>{let e=new d8;return e.calculate(t),e},"getThemeVariables")});var ul,Q3=O(()=>{"use strict";aY();oY();y2();cY();hY();ul={base:{getThemeVariables:iY},dark:{getThemeVariables:sY},default:{getThemeVariables:yf},forest:{getThemeVariables:lY},neutral:{getThemeVariables:uY}}});var Oo,fY=O(()=>{"use strict";Oo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var dY,pY,mY,gr,La=O(()=>{"use strict";Q3();fY();dY={...Oo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:ul.default.getThemeVariables(),sequence:{...Oo.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...Oo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Oo.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Oo.flowchart,inheritDir:!1},external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Oo.pie,useWidth:984},xyChart:{...Oo.xyChart,useWidth:void 0},requirement:{...Oo.requirement,useWidth:void 0},packet:{...Oo.packet},radar:{...Oo.radar},ishikawa:{...Oo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Oo.venn}},pY=o((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...pY(t[n],"")]:[...r,e+n],[]),"keyify"),mY=new Set(pY(dY,"")),gr=dY});var cg,g7e,p8=O(()=>{"use strict";La();xt();cg=o(t=>{if(K.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>cg(e));return}for(let e of Object.keys(t)){if(K.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!mY.has(e)||t[e]==null){K.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){K.debug("sanitizing object",e),cg(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(K.debug("sanitizing css option",e),t[e]=g7e(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}K.debug("After sanitization",t)}},"sanitizeDirective"),g7e=o(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";sg();xt();Q3();La();p8();vf=Object.freeze(gr),Xs=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),js=Vn({},vf),Dp=[],v2=Vn({},vf),J3=o((t,e)=>{let r=Vn({},t),n={};for(let i of e)xY(i),n=Vn(n,i);if(r=Vn(r,n),n.theme&&n.theme in ul){let i=Vn({},Z3),a=Vn(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in ul&&(r.themeVariables=ul[r.theme].getThemeVariables(a))}return v2=r,wY(v2),v2},"updateCurrentConfig"),m8=o(t=>(js=Vn({},vf),js=Vn(js,t),t.theme&&ul[t.theme]&&(js.themeVariables=ul[t.theme].getThemeVariables(t.themeVariables)),J3(js,Dp),js),"setSiteConfig"),yY=o(t=>{Z3=Vn({},t)},"saveConfigFromInitialize"),vY=o(t=>(js=Vn(js,t),J3(js,Dp),js),"updateSiteConfig"),g8=o(()=>Vn({},js),"getSiteConfig"),ew=o(t=>(wY(t),Vn(v2,t),Zt()),"setConfig"),Zt=o(()=>Vn({},v2),"getConfig"),xY=o(t=>{t&&(["secure",...js.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(K.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&xY(t[e])}))},"sanitize"),bY=o(t=>{cg(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Dp.push(t),J3(js,Dp)},"addDirective"),x2=o((t=js)=>{Dp=[],J3(t,Dp)},"reset"),y7e={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},gY={},TY=o(t=>{gY[t]||(K.warn(y7e[t]),gY[t]=!0)},"issueWarning"),wY=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&TY("LAZY_LOAD_DEPRECATED")},"checkConfig"),kY=o(()=>{let t={};Z3&&(t=Vn(t,Z3));for(let e of Dp)t=Vn(t,e);return t},"getUserDefinedConfig"),Sr=o(t=>(t.flowchart?.htmlLabels!=null&&TY("FLOWCHART_HTML_LABELS_DEPRECATED"),Xs(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels")});function ks(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:nw;EY&&EY(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let a=r(i);a!==i&&(v7e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function C7e(t){for(let e=0;e0&&arguments[0]!==void 0?arguments[0]:B7e(),e=o(mt=>OY(mt),"DOMPurify");if(e.version="3.3.1",e.removed=[],!t||!t.document||t.document.nodeType!==E2.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t,n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:u,NodeFilter:h,NamedNodeMap:f=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:m}=t,g=u.prototype,y=k2(g,"cloneNode"),v=k2(g,"remove"),x=k2(g,"nextSibling"),b=k2(g,"childNodes"),T=k2(g,"parentNode");if(typeof s=="function"){let mt=r.createElement("template");mt.content&&mt.content.ownerDocument&&(r=mt.content.ownerDocument)}let E,w="",{implementation:k,createNodeIterator:S,createDocumentFragment:A,getElementsByTagName:L}=r,{importNode:I}=n,N=LY();e.isSupported=typeof NY=="function"&&typeof T=="function"&&k&&k.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:C,ERB_EXPR:_,TMPLIT_EXPR:D,DATA_ATTR:M,ARIA_ATTR:R,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:B,CUSTOM_ELEMENT:F}=RY,{IS_ALLOWED_URI:G}=RY,$=null,V=Xr({},[...CY,...x8,...b8,...T8,...AY]),X=null,Q=Xr({},[..._Y,...w8,...DY,...rw]),H=Object.seal(k8(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}})),ie=null,Y=null,le=Object.seal(k8(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),ee=!0,J=!0,te=!1,Z=!0,xe=!1,de=!0,Se=!1,Me=!1,ke=!1,we=!1,_e=!1,$e=!1,fe=!0,Ke=!1,Te="user-content-",Be=!0,Ue=!1,Ge={},Ne=null,We=Xr({},["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"]),j=null,ae=Xr({},["audio","video","img","source","image","track"]),U=null,ce=Xr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),z="http://www.w3.org/1998/Math/MathML",ne="http://www.w3.org/2000/svg",se="http://www.w3.org/1999/xhtml",be=se,pe=!1,me=null,Re=Xr({},[z,ne,se],y8),ge=Xr({},["mi","mo","mn","ms","mtext"]),Ie=Xr({},["annotation-xml"]),qe=Xr({},["title","style","font","a","script"]),Pe=null,Xe=["application/xhtml+xml","text/html"],oe="text/html",et=null,he=null,ot=r.createElement("form"),Dt=o(function(Le){return Le instanceof RegExp||Le instanceof Function},"isRegexOrFunction"),It=o(function(){let Le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(he&&he===Le)){if((!Le||typeof Le!="object")&&(Le={}),Le=zc(Le),Pe=Xe.indexOf(Le.PARSER_MEDIA_TYPE)===-1?oe:Le.PARSER_MEDIA_TYPE,et=Pe==="application/xhtml+xml"?y8:nw,$=Kl(Le,"ALLOWED_TAGS")?Xr({},Le.ALLOWED_TAGS,et):V,X=Kl(Le,"ALLOWED_ATTR")?Xr({},Le.ALLOWED_ATTR,et):Q,me=Kl(Le,"ALLOWED_NAMESPACES")?Xr({},Le.ALLOWED_NAMESPACES,y8):Re,U=Kl(Le,"ADD_URI_SAFE_ATTR")?Xr(zc(ce),Le.ADD_URI_SAFE_ATTR,et):ce,j=Kl(Le,"ADD_DATA_URI_TAGS")?Xr(zc(ae),Le.ADD_DATA_URI_TAGS,et):ae,Ne=Kl(Le,"FORBID_CONTENTS")?Xr({},Le.FORBID_CONTENTS,et):We,ie=Kl(Le,"FORBID_TAGS")?Xr({},Le.FORBID_TAGS,et):zc({}),Y=Kl(Le,"FORBID_ATTR")?Xr({},Le.FORBID_ATTR,et):zc({}),Ge=Kl(Le,"USE_PROFILES")?Le.USE_PROFILES:!1,ee=Le.ALLOW_ARIA_ATTR!==!1,J=Le.ALLOW_DATA_ATTR!==!1,te=Le.ALLOW_UNKNOWN_PROTOCOLS||!1,Z=Le.ALLOW_SELF_CLOSE_IN_ATTR!==!1,xe=Le.SAFE_FOR_TEMPLATES||!1,de=Le.SAFE_FOR_XML!==!1,Se=Le.WHOLE_DOCUMENT||!1,we=Le.RETURN_DOM||!1,_e=Le.RETURN_DOM_FRAGMENT||!1,$e=Le.RETURN_TRUSTED_TYPE||!1,ke=Le.FORCE_BODY||!1,fe=Le.SANITIZE_DOM!==!1,Ke=Le.SANITIZE_NAMED_PROPS||!1,Be=Le.KEEP_CONTENT!==!1,Ue=Le.IN_PLACE||!1,G=Le.ALLOWED_URI_REGEXP||MY,be=Le.NAMESPACE||se,ge=Le.MATHML_TEXT_INTEGRATION_POINTS||ge,Ie=Le.HTML_INTEGRATION_POINTS||Ie,H=Le.CUSTOM_ELEMENT_HANDLING||{},Le.CUSTOM_ELEMENT_HANDLING&&Dt(Le.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=Le.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Le.CUSTOM_ELEMENT_HANDLING&&Dt(Le.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=Le.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Le.CUSTOM_ELEMENT_HANDLING&&typeof Le.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(H.allowCustomizedBuiltInElements=Le.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),xe&&(J=!1),_e&&(we=!0),Ge&&($=Xr({},AY),X=[],Ge.html===!0&&(Xr($,CY),Xr(X,_Y)),Ge.svg===!0&&(Xr($,x8),Xr(X,w8),Xr(X,rw)),Ge.svgFilters===!0&&(Xr($,b8),Xr(X,w8),Xr(X,rw)),Ge.mathMl===!0&&(Xr($,T8),Xr(X,DY),Xr(X,rw))),Le.ADD_TAGS&&(typeof Le.ADD_TAGS=="function"?le.tagCheck=Le.ADD_TAGS:($===V&&($=zc($)),Xr($,Le.ADD_TAGS,et))),Le.ADD_ATTR&&(typeof Le.ADD_ATTR=="function"?le.attributeCheck=Le.ADD_ATTR:(X===Q&&(X=zc(X)),Xr(X,Le.ADD_ATTR,et))),Le.ADD_URI_SAFE_ATTR&&Xr(U,Le.ADD_URI_SAFE_ATTR,et),Le.FORBID_CONTENTS&&(Ne===We&&(Ne=zc(Ne)),Xr(Ne,Le.FORBID_CONTENTS,et)),Le.ADD_FORBID_CONTENTS&&(Ne===We&&(Ne=zc(Ne)),Xr(Ne,Le.ADD_FORBID_CONTENTS,et)),Be&&($["#text"]=!0),Se&&Xr($,["html","head","body"]),$.table&&(Xr($,["tbody"]),delete ie.tbody),Le.TRUSTED_TYPES_POLICY){if(typeof Le.TRUSTED_TYPES_POLICY.createHTML!="function")throw w2('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Le.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw w2('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Le.TRUSTED_TYPES_POLICY,w=E.createHTML("")}else E===void 0&&(E=F7e(m,i)),E!==null&&typeof w=="string"&&(w=E.createHTML(""));ws&&ws(Le),he=Le}},"_parseConfig"),wt=Xr({},[...x8,...b8,...A7e]),Rt=Xr({},[...T8,..._7e]),it=o(function(Le){let ct=T(Le);(!ct||!ct.tagName)&&(ct={namespaceURI:be,tagName:"template"});let St=nw(Le.tagName),Mr=nw(ct.tagName);return me[Le.namespaceURI]?Le.namespaceURI===ne?ct.namespaceURI===se?St==="svg":ct.namespaceURI===z?St==="svg"&&(Mr==="annotation-xml"||ge[Mr]):!!wt[St]:Le.namespaceURI===z?ct.namespaceURI===se?St==="math":ct.namespaceURI===ne?St==="math"&&Ie[Mr]:!!Rt[St]:Le.namespaceURI===se?ct.namespaceURI===ne&&!Ie[Mr]||ct.namespaceURI===z&&!ge[Mr]?!1:!Rt[St]&&(qe[St]||!wt[St]):!!(Pe==="application/xhtml+xml"&&me[Le.namespaceURI]):!1},"_checkValidNamespace"),at=o(function(Le){b2(e.removed,{element:Le});try{T(Le).removeChild(Le)}catch{v(Le)}},"_forceRemove"),Ct=o(function(Le,ct){try{b2(e.removed,{attribute:ct.getAttributeNode(Le),from:ct})}catch{b2(e.removed,{attribute:null,from:ct})}if(ct.removeAttribute(Le),Le==="is")if(we||_e)try{at(ct)}catch{}else try{ct.setAttribute(Le,"")}catch{}},"_removeAttribute"),yt=o(function(Le){let ct=null,St=null;if(ke)Le=""+Le;else{let cn=v8(Le,/^[\r\n\t ]+/);St=cn&&cn[0]}Pe==="application/xhtml+xml"&&be===se&&(Le=''+Le+"");let Mr=E?E.createHTML(Le):Le;if(be===se)try{ct=new p().parseFromString(Mr,Pe)}catch{}if(!ct||!ct.documentElement){ct=k.createDocument(be,"template",null);try{ct.documentElement.innerHTML=pe?w:Mr}catch{}}let tn=ct.body||ct.documentElement;return Le&&St&&tn.insertBefore(r.createTextNode(St),tn.childNodes[0]||null),be===se?L.call(ct,Se?"html":"body")[0]:Se?ct.documentElement:tn},"_initDocument"),dt=o(function(Le){return S.call(Le.ownerDocument||Le,Le,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),Ht=o(function(Le){return Le instanceof d&&(typeof Le.nodeName!="string"||typeof Le.textContent!="string"||typeof Le.removeChild!="function"||!(Le.attributes instanceof f)||typeof Le.removeAttribute!="function"||typeof Le.setAttribute!="function"||typeof Le.namespaceURI!="string"||typeof Le.insertBefore!="function"||typeof Le.hasChildNodes!="function")},"_isClobbered"),cr=o(function(Le){return typeof l=="function"&&Le instanceof l},"_isNode");function Kt(mt,Le,ct){tw(mt,St=>{St.call(e,Le,ct,he)})}o(Kt,"_executeHooks");let kr=o(function(Le){let ct=null;if(Kt(N.beforeSanitizeElements,Le,null),Ht(Le))return at(Le),!0;let St=et(Le.nodeName);if(Kt(N.uponSanitizeElement,Le,{tagName:St,allowedTags:$}),de&&Le.hasChildNodes()&&!cr(Le.firstElementChild)&&Ts(/<[/\w!]/g,Le.innerHTML)&&Ts(/<[/\w!]/g,Le.textContent)||Le.nodeType===E2.progressingInstruction||de&&Le.nodeType===E2.comment&&Ts(/<[/\w]/g,Le.data))return at(Le),!0;if(!(le.tagCheck instanceof Function&&le.tagCheck(St))&&(!$[St]||ie[St])){if(!ie[St]&&tr(St)&&(H.tagNameCheck instanceof RegExp&&Ts(H.tagNameCheck,St)||H.tagNameCheck instanceof Function&&H.tagNameCheck(St)))return!1;if(Be&&!Ne[St]){let Mr=T(Le)||Le.parentNode,tn=b(Le)||Le.childNodes;if(tn&&Mr){let cn=tn.length;for(let Cr=cn-1;Cr>=0;--Cr){let Ki=y(tn[Cr],!0);Ki.__removalCount=(Le.__removalCount||0)+1,Mr.insertBefore(Ki,x(Le))}}}return at(Le),!0}return Le instanceof u&&!it(Le)||(St==="noscript"||St==="noembed"||St==="noframes")&&Ts(/<\/no(script|embed|frames)/i,Le.innerHTML)?(at(Le),!0):(xe&&Le.nodeType===E2.text&&(ct=Le.textContent,tw([C,_,D],Mr=>{ct=T2(ct,Mr," ")}),Le.textContent!==ct&&(b2(e.removed,{element:Le.cloneNode()}),Le.textContent=ct)),Kt(N.afterSanitizeElements,Le,null),!1)},"_sanitizeElements"),ur=o(function(Le,ct,St){if(fe&&(ct==="id"||ct==="name")&&(St in r||St in ot))return!1;if(!(J&&!Y[ct]&&Ts(M,ct))){if(!(ee&&Ts(R,ct))){if(!(le.attributeCheck instanceof Function&&le.attributeCheck(ct,Le))){if(!X[ct]||Y[ct]){if(!(tr(Le)&&(H.tagNameCheck instanceof RegExp&&Ts(H.tagNameCheck,Le)||H.tagNameCheck instanceof Function&&H.tagNameCheck(Le))&&(H.attributeNameCheck instanceof RegExp&&Ts(H.attributeNameCheck,ct)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(ct,Le))||ct==="is"&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&Ts(H.tagNameCheck,St)||H.tagNameCheck instanceof Function&&H.tagNameCheck(St))))return!1}else if(!U[ct]){if(!Ts(G,T2(St,B,""))){if(!((ct==="src"||ct==="xlink:href"||ct==="href")&&Le!=="script"&&k7e(St,"data:")===0&&j[Le])){if(!(te&&!Ts(P,T2(St,B,"")))){if(St)return!1}}}}}}}return!0},"_isValidAttribute"),tr=o(function(Le){return Le!=="annotation-xml"&&v8(Le,F)},"_isBasicCustomElement"),hr=o(function(Le){Kt(N.beforeSanitizeAttributes,Le,null);let{attributes:ct}=Le;if(!ct||Ht(Le))return;let St={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0},Mr=ct.length;for(;Mr--;){let tn=ct[Mr],{name:cn,namespaceURI:Cr,value:Ki}=tn,Da=et(cn),Dn=Ki,Pt=cn==="value"?Dn:E7e(Dn);if(St.attrName=Da,St.attrValue=Pt,St.keepAttr=!0,St.forceKeepAttr=void 0,Kt(N.uponSanitizeAttribute,Le,St),Pt=St.attrValue,Ke&&(Da==="id"||Da==="name")&&(Ct(cn,Le),Pt=Te+Pt),de&&Ts(/((--!?|])>)|<\/(style|title|textarea)/i,Pt)){Ct(cn,Le);continue}if(Da==="attributename"&&v8(Pt,"href")){Ct(cn,Le);continue}if(St.forceKeepAttr)continue;if(!St.keepAttr){Ct(cn,Le);continue}if(!Z&&Ts(/\/>/i,Pt)){Ct(cn,Le);continue}xe&&tw([C,_,D],Vt=>{Pt=T2(Pt,Vt," ")});let Tt=et(Le.nodeName);if(!ur(Tt,Da,Pt)){Ct(cn,Le);continue}if(E&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Cr)switch(m.getAttributeType(Tt,Da)){case"TrustedHTML":{Pt=E.createHTML(Pt);break}case"TrustedScriptURL":{Pt=E.createScriptURL(Pt);break}}if(Pt!==Dn)try{Cr?Le.setAttributeNS(Cr,cn,Pt):Le.setAttribute(cn,Pt),Ht(Le)?at(Le):SY(e.removed)}catch{Ct(cn,Le)}}Kt(N.afterSanitizeAttributes,Le,null)},"_sanitizeAttributes"),_n=o(function mt(Le){let ct=null,St=dt(Le);for(Kt(N.beforeSanitizeShadowDOM,Le,null);ct=St.nextNode();)Kt(N.uponSanitizeShadowNode,ct,null),kr(ct),hr(ct),ct.content instanceof a&&mt(ct.content);Kt(N.afterSanitizeShadowDOM,Le,null)},"_sanitizeShadowDOM");return e.sanitize=function(mt){let Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ct=null,St=null,Mr=null,tn=null;if(pe=!mt,pe&&(mt=""),typeof mt!="string"&&!cr(mt))if(typeof mt.toString=="function"){if(mt=mt.toString(),typeof mt!="string")throw w2("dirty is not a string, aborting")}else throw w2("toString is not a function");if(!e.isSupported)return mt;if(Me||It(Le),e.removed=[],typeof mt=="string"&&(Ue=!1),Ue){if(mt.nodeName){let Ki=et(mt.nodeName);if(!$[Ki]||ie[Ki])throw w2("root node is forbidden and cannot be sanitized in-place")}}else if(mt instanceof l)ct=yt(""),St=ct.ownerDocument.importNode(mt,!0),St.nodeType===E2.element&&St.nodeName==="BODY"||St.nodeName==="HTML"?ct=St:ct.appendChild(St);else{if(!we&&!xe&&!Se&&mt.indexOf("<")===-1)return E&&$e?E.createHTML(mt):mt;if(ct=yt(mt),!ct)return we?null:$e?w:""}ct&&ke&&at(ct.firstChild);let cn=dt(Ue?mt:ct);for(;Mr=cn.nextNode();)kr(Mr),hr(Mr),Mr.content instanceof a&&_n(Mr.content);if(Ue)return mt;if(we){if(_e)for(tn=A.call(ct.ownerDocument);ct.firstChild;)tn.appendChild(ct.firstChild);else tn=ct;return(X.shadowroot||X.shadowrootmode)&&(tn=I.call(n,tn,!0)),tn}let Cr=Se?ct.outerHTML:ct.innerHTML;return Se&&$["!doctype"]&&ct.ownerDocument&&ct.ownerDocument.doctype&&ct.ownerDocument.doctype.name&&Ts(IY,ct.ownerDocument.doctype.name)&&(Cr=" +`+Cr),xe&&tw([C,_,D],Ki=>{Cr=T2(Cr,Ki," ")}),E&&$e?E.createHTML(Cr):Cr},e.setConfig=function(){let mt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};It(mt),Me=!0},e.clearConfig=function(){he=null,Me=!1},e.isValidAttribute=function(mt,Le,ct){he||It({});let St=et(mt),Mr=et(Le);return ur(St,Mr,ct)},e.addHook=function(mt,Le){typeof Le=="function"&&b2(N[mt],Le)},e.removeHook=function(mt,Le){if(Le!==void 0){let ct=T7e(N[mt],Le);return ct===-1?void 0:w7e(N[mt],ct,1)[0]}return SY(N[mt])},e.removeHooks=function(mt){N[mt]=[]},e.removeAllHooks=function(){N=LY()},e}var NY,EY,v7e,x7e,b7e,ws,hl,k8,E8,S8,tw,T7e,SY,b2,w7e,nw,y8,v8,T2,k7e,E7e,Kl,Ts,w2,CY,x8,b8,A7e,T8,_7e,AY,_Y,w8,DY,rw,D7e,R7e,L7e,N7e,M7e,MY,I7e,O7e,IY,P7e,RY,E2,B7e,F7e,LY,fl,S2=O(()=>{"use strict";({entries:NY,setPrototypeOf:EY,isFrozen:v7e,getPrototypeOf:x7e,getOwnPropertyDescriptor:b7e}=Object),{freeze:ws,seal:hl,create:k8}=Object,{apply:E8,construct:S8}=typeof Reflect<"u"&&Reflect;ws||(ws=o(function(e){return e},"freeze"));hl||(hl=o(function(e){return e},"seal"));E8||(E8=o(function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i/gm),L7e=hl(/\$\{[\w\W]*/gm),N7e=hl(/^data-[\-\w.\u00B7-\uFFFF]+$/),M7e=hl(/^aria-[\-\w]+$/),MY=hl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),I7e=hl(/^(?:\w+script|data):/i),O7e=hl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),IY=hl(/^html$/i),P7e=hl(/^[a-z][.\w]*(-[.\w]+)+$/i),RY=Object.freeze({__proto__:null,ARIA_ATTR:M7e,ATTR_WHITESPACE:O7e,CUSTOM_ELEMENT:P7e,DATA_ATTR:N7e,DOCTYPE_NAME:IY,ERB_EXPR:R7e,IS_ALLOWED_URI:MY,IS_SCRIPT_OR_DATA:I7e,MUSTACHE_EXPR:D7e,TMPLIT_EXPR:L7e}),E2={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},B7e=o(function(){return typeof window>"u"?null:window},"getGlobal"),F7e=o(function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));let a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},"_createTrustedTypesPolicy"),LY=o(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");o(OY,"createDOMPurify");fl=OY()});var dX={};vr(dX,{ParseError:()=>bt,SETTINGS_SCHEMA:()=>D2,__defineFunction:()=>Ot,__defineMacro:()=>ue,__defineSymbol:()=>q,__domTree:()=>fX,__parse:()=>lX,__renderToDomTree:()=>Rw,__renderToHTMLTree:()=>uX,__setFontMetrics:()=>mj,default:()=>_8e,render:()=>pD,renderToString:()=>oX,version:()=>hX});function U7e(t){return String(t).replace(q7e,e=>V7e[e])}function j7e(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function t_e(t){for(var e=0;e<$8.length;e++)for(var r=$8[e],n=0;n=i[0]&&t<=i[1])return r.name}return null}function pj(t){for(var e=0;e=mw[e]&&t<=mw[e+1])return!0;return!1}function mj(t,e){qc[t]=e}function Z8(t,e,r){if(!qc[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=qc[e][n];if(!i&&t[0]in BY&&(n=BY[t[0]].charCodeAt(0),i=qc[e][n]),!i&&r==="text"&&pj(n)&&(i=qc[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function f_e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!C8[e]){var r=C8[e]={cssEmPerMu:iw.quad[e]/18};for(var n in iw)iw.hasOwnProperty(n)&&(r[n]=iw[n][e])}return C8[e]}function zY(t){if(t instanceof Zs)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function y_e(t){if(t instanceof Np)return t;throw new Error("Expected span but got "+String(t)+".")}function q(t,e,r,n,i,a){qn[t][i]={font:e,group:r,replace:n},a&&n&&(qn[t][n]=qn[t][i])}function Ot(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(hw(s,e)),s=[]),a.push(n[l]));s.length>0&&a.push(hw(s,e));var h;r?(h=hw(ea(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=oh(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=_t(f.height+f.depth),f.depth&&(d.style.verticalAlign=_t(-f.depth))}return f}function Aj(t){return new Lp(t)}function D8(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof pl&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof pl&&r.text===","}else return!1}function WY(t,e,r,n,i){var a=Js(t,r),s;a.length===1&&a[0]instanceof Es&&["mrow","mtable"].includes(a[0].type)?s=a[0]:s=new vt.MathNode("mrow",a);var l=new vt.MathNode("annotation",[new vt.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new vt.MathNode("semantics",[s,l]),h=new vt.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return He.makeSpan([f],[h])}function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function rD(t){var e=Cw(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Cw(t){return t&&(t.type==="atom"||x_e.hasOwnProperty(t.type))?t:null}function Lj(t,e){var r=ea(t.body,e,!0);return X_e([t.mclass],r,e)}function Nj(t,e){var r,n=Js(t.body,e);return t.mclass==="minner"?r=new vt.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new vt.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new vt.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function Z_e(t,e,r){var n=K_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function J_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new bt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=Z_e(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=HY()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function _w(t,e){var r=Cw(t);if(r&&f8e.includes(r.text))return r;throw r?new bt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new bt("Invalid delimiter type '"+t.type+"'",t)}function XY(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function Wc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";Qs=class t{static{o(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},Po=class t{static{o(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,Qs.range(this,e))}},bt=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,a=s.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},q7e=/[&><"']/g;o(U7e,"escape");dj=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),W7e=o(function(e){var r=dj(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),H7e=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),Y7e=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),un={deflt:$7e,escape:U7e,hyphenate:G7e,getBaseElem:dj,isCharacterBox:W7e,protocolFromUrl:Y7e},D2={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(j7e,"getDefaultValue");L2=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in D2)if(D2.hasOwnProperty(r)){var n=D2[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:j7e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new bt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=un.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Gc=class{static{o(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Vc[X7e[this.id]]}sub(){return Vc[K7e[this.id]]}fracNum(){return Vc[Q7e[this.id]]}fracDen(){return Vc[Z7e[this.id]]}cramp(){return Vc[J7e[this.id]]}text(){return Vc[e_e[this.id]]}isTight(){return this.size>=2}},Q8=0,gw=1,fg=2,ah=3,N2=4,dl=5,dg=6,Ss=7,Vc=[new Gc(Q8,0,!1),new Gc(gw,0,!0),new Gc(fg,1,!1),new Gc(ah,1,!0),new Gc(N2,2,!1),new Gc(dl,2,!0),new Gc(dg,3,!1),new Gc(Ss,3,!0)],X7e=[N2,dl,N2,dl,dg,Ss,dg,Ss],K7e=[dl,dl,dl,dl,Ss,Ss,Ss,Ss],Q7e=[fg,ah,N2,dl,dg,Ss,dg,Ss],Z7e=[ah,ah,dl,dl,Ss,Ss,Ss,Ss],J7e=[gw,gw,ah,ah,dl,dl,Ss,Ss],e_e=[Q8,gw,fg,ah,fg,ah,fg,ah],dr={DISPLAY:Vc[Q8],TEXT:Vc[fg],SCRIPT:Vc[N2],SCRIPTSCRIPT:Vc[dg]},$8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];o(t_e,"scriptFromCodepoint");mw=[];$8.forEach(t=>t.blocks.forEach(e=>mw.push(...e)));o(pj,"supportedCodepoint");hg=80,r_e=o(function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -10,7 +10,7 @@ c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),bAe=o(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),n_e=o(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` @@ -20,7 +20,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5, c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),TAe=o(function(e,r){return"M983 "+(10+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),i_e=o(function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 @@ -29,7 +29,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),wAe=o(function(e,r){return"M424,"+(2398+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),a_e=o(function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 @@ -39,18 +39,18 @@ v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),kAe=o(function(e,r){return"M473,"+(2713+e+r)+` +h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),s_e=o(function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),SAe=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),EAe=o(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),o_e=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),l_e=o(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),CAe=o(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=xAe(r,ag);break;case"sqrtSize1":i=bAe(r,ag);break;case"sqrtSize2":i=TAe(r,ag);break;case"sqrtSize3":i=wAe(r,ag);break;case"sqrtSize4":i=kAe(r,ag);break;case"sqrtTall":i=EAe(r,ag,n)}return i},"sqrtPath"),AAe=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),rY={doubleleftarrow:`M262 157 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),c_e=o(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=r_e(r,hg);break;case"sqrtSize1":i=n_e(r,hg);break;case"sqrtSize2":i=i_e(r,hg);break;case"sqrtSize3":i=a_e(r,hg);break;case"sqrtSize4":i=s_e(r,hg);break;case"sqrtTall":i=l_e(r,hg,n)}return i},"sqrtPath"),u_e=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),PY={doubleleftarrow:`M262 157 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 @@ -225,7 +225,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z` c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},_Ae=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},h_e=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 @@ -253,24 +253,24 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),_p=class{static{o(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return ar.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},Oc={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},W3={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},nY={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(OY,"setFontMetrics");o(B_,"getCharacterMetrics");h_={};o(DAe,"getGlobalMetrics");RAe=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],iY=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],aY=o(function(e,r){return r.size<2?e:RAe[e-1][r.size-1]},"sizeAtStyle"),iw=class t{static{o(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=iY[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:aY(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:iY[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=aY(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=DAe(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};iw.BASESIZE=6;E_={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},LAe={ex:!0,em:!0,mu:!0},PY=o(function(e){return typeof e!="string"&&(e=e.unit),e in E_||e in LAe||e==="ex"},"validUnit"),mi=o(function(e,r){var n;if(e.unit in E_)n=E_[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new vt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),_t=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),mf=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),BY=o(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),FY=o(function(e){var r=document.createElement(e);r.className=mf(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,$Y=o(function(e){var r="<"+e;this.classes.length&&(r+=' class="'+ar.escape(mf(this.classes))+'"');var n="";for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=ar.hyphenate(i)+":"+this.style[i]+";");n&&(r+=' style="'+ar.escape(n)+'"');for(var a in this.attributes)if(this.attributes.hasOwnProperty(a)){if(NAe.test(a))throw new vt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+ar.escape(this.attributes[a])+'"'}r+=">";for(var s=0;s",r},"toMarkup"),Dp=class{static{o(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,BY.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return ar.contains(this.classes,e)}toNode(){return FY.call(this,"span")}toMarkup(){return $Y.call(this,"span")}},b2=class{static{o(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,BY.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return ar.contains(this.classes,e)}toNode(){return FY.call(this,"a")}toMarkup(){return $Y.call(this,"a")}},C_=class{static{o(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return ar.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+ar.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=_t(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=mf(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=ar.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+ar.escape(n)+'"');var a=ar.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},Hl=class{static{o(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},T2=class{static{o(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);q(W,ae,Ee,"\u2208","\\in",!0);q(W,ae,Ee,"\uE020","\\@not");q(W,ae,Ee,"\u2282","\\subset",!0);q(W,ae,Ee,"\u2283","\\supset",!0);q(W,ae,Ee,"\u2286","\\subseteq",!0);q(W,ae,Ee,"\u2287","\\supseteq",!0);q(W,Se,Ee,"\u2288","\\nsubseteq",!0);q(W,Se,Ee,"\u2289","\\nsupseteq",!0);q(W,ae,Ee,"\u22A8","\\models");q(W,ae,Ee,"\u2190","\\leftarrow",!0);q(W,ae,Ee,"\u2264","\\le");q(W,ae,Ee,"\u2264","\\leq",!0);q(W,ae,Ee,"<","\\lt",!0);q(W,ae,Ee,"\u2192","\\rightarrow",!0);q(W,ae,Ee,"\u2192","\\to");q(W,Se,Ee,"\u2271","\\ngeq",!0);q(W,Se,Ee,"\u2270","\\nleq",!0);q(W,ae,ih,"\xA0","\\ ");q(W,ae,ih,"\xA0","\\space");q(W,ae,ih,"\xA0","\\nobreakspace");q(ht,ae,ih,"\xA0","\\ ");q(ht,ae,ih,"\xA0"," ");q(ht,ae,ih,"\xA0","\\space");q(ht,ae,ih,"\xA0","\\nobreakspace");q(W,ae,ih,null,"\\nobreak");q(W,ae,ih,null,"\\allowbreak");q(W,ae,hw,",",",");q(W,ae,hw,";",";");q(W,Se,Ft,"\u22BC","\\barwedge",!0);q(W,Se,Ft,"\u22BB","\\veebar",!0);q(W,ae,Ft,"\u2299","\\odot",!0);q(W,ae,Ft,"\u2295","\\oplus",!0);q(W,ae,Ft,"\u2297","\\otimes",!0);q(W,ae,Ne,"\u2202","\\partial",!0);q(W,ae,Ft,"\u2298","\\oslash",!0);q(W,Se,Ft,"\u229A","\\circledcirc",!0);q(W,Se,Ft,"\u22A1","\\boxdot",!0);q(W,ae,Ft,"\u25B3","\\bigtriangleup");q(W,ae,Ft,"\u25BD","\\bigtriangledown");q(W,ae,Ft,"\u2020","\\dagger");q(W,ae,Ft,"\u22C4","\\diamond");q(W,ae,Ft,"\u22C6","\\star");q(W,ae,Ft,"\u25C3","\\triangleleft");q(W,ae,Ft,"\u25B9","\\triangleright");q(W,ae,Ro,"{","\\{");q(ht,ae,Ne,"{","\\{");q(ht,ae,Ne,"{","\\textbraceleft");q(W,ae,Ss,"}","\\}");q(ht,ae,Ne,"}","\\}");q(ht,ae,Ne,"}","\\textbraceright");q(W,ae,Ro,"{","\\lbrace");q(W,ae,Ss,"}","\\rbrace");q(W,ae,Ro,"[","\\lbrack",!0);q(ht,ae,Ne,"[","\\lbrack",!0);q(W,ae,Ss,"]","\\rbrack",!0);q(ht,ae,Ne,"]","\\rbrack",!0);q(W,ae,Ro,"(","\\lparen",!0);q(W,ae,Ss,")","\\rparen",!0);q(ht,ae,Ne,"<","\\textless",!0);q(ht,ae,Ne,">","\\textgreater",!0);q(W,ae,Ro,"\u230A","\\lfloor",!0);q(W,ae,Ss,"\u230B","\\rfloor",!0);q(W,ae,Ro,"\u2308","\\lceil",!0);q(W,ae,Ss,"\u2309","\\rceil",!0);q(W,ae,Ne,"\\","\\backslash");q(W,ae,Ne,"\u2223","|");q(W,ae,Ne,"\u2223","\\vert");q(ht,ae,Ne,"|","\\textbar",!0);q(W,ae,Ne,"\u2225","\\|");q(W,ae,Ne,"\u2225","\\Vert");q(ht,ae,Ne,"\u2225","\\textbardbl");q(ht,ae,Ne,"~","\\textasciitilde");q(ht,ae,Ne,"\\","\\textbackslash");q(ht,ae,Ne,"^","\\textasciicircum");q(W,ae,Ee,"\u2191","\\uparrow",!0);q(W,ae,Ee,"\u21D1","\\Uparrow",!0);q(W,ae,Ee,"\u2193","\\downarrow",!0);q(W,ae,Ee,"\u21D3","\\Downarrow",!0);q(W,ae,Ee,"\u2195","\\updownarrow",!0);q(W,ae,Ee,"\u21D5","\\Updownarrow",!0);q(W,ae,Bi,"\u2210","\\coprod");q(W,ae,Bi,"\u22C1","\\bigvee");q(W,ae,Bi,"\u22C0","\\bigwedge");q(W,ae,Bi,"\u2A04","\\biguplus");q(W,ae,Bi,"\u22C2","\\bigcap");q(W,ae,Bi,"\u22C3","\\bigcup");q(W,ae,Bi,"\u222B","\\int");q(W,ae,Bi,"\u222B","\\intop");q(W,ae,Bi,"\u222C","\\iint");q(W,ae,Bi,"\u222D","\\iiint");q(W,ae,Bi,"\u220F","\\prod");q(W,ae,Bi,"\u2211","\\sum");q(W,ae,Bi,"\u2A02","\\bigotimes");q(W,ae,Bi,"\u2A01","\\bigoplus");q(W,ae,Bi,"\u2A00","\\bigodot");q(W,ae,Bi,"\u222E","\\oint");q(W,ae,Bi,"\u222F","\\oiint");q(W,ae,Bi,"\u2230","\\oiiint");q(W,ae,Bi,"\u2A06","\\bigsqcup");q(W,ae,Bi,"\u222B","\\smallint");q(ht,ae,lg,"\u2026","\\textellipsis");q(W,ae,lg,"\u2026","\\mathellipsis");q(ht,ae,lg,"\u2026","\\ldots",!0);q(W,ae,lg,"\u2026","\\ldots",!0);q(W,ae,lg,"\u22EF","\\@cdots",!0);q(W,ae,lg,"\u22F1","\\ddots",!0);q(W,ae,Ne,"\u22EE","\\varvdots");q(ht,ae,Ne,"\u22EE","\\varvdots");q(W,ae,ri,"\u02CA","\\acute");q(W,ae,ri,"\u02CB","\\grave");q(W,ae,ri,"\xA8","\\ddot");q(W,ae,ri,"~","\\tilde");q(W,ae,ri,"\u02C9","\\bar");q(W,ae,ri,"\u02D8","\\breve");q(W,ae,ri,"\u02C7","\\check");q(W,ae,ri,"^","\\hat");q(W,ae,ri,"\u20D7","\\vec");q(W,ae,ri,"\u02D9","\\dot");q(W,ae,ri,"\u02DA","\\mathring");q(W,ae,or,"\uE131","\\@imath");q(W,ae,or,"\uE237","\\@jmath");q(W,ae,Ne,"\u0131","\u0131");q(W,ae,Ne,"\u0237","\u0237");q(ht,ae,Ne,"\u0131","\\i",!0);q(ht,ae,Ne,"\u0237","\\j",!0);q(ht,ae,Ne,"\xDF","\\ss",!0);q(ht,ae,Ne,"\xE6","\\ae",!0);q(ht,ae,Ne,"\u0153","\\oe",!0);q(ht,ae,Ne,"\xF8","\\o",!0);q(ht,ae,Ne,"\xC6","\\AE",!0);q(ht,ae,Ne,"\u0152","\\OE",!0);q(ht,ae,Ne,"\xD8","\\O",!0);q(ht,ae,ri,"\u02CA","\\'");q(ht,ae,ri,"\u02CB","\\`");q(ht,ae,ri,"\u02C6","\\^");q(ht,ae,ri,"\u02DC","\\~");q(ht,ae,ri,"\u02C9","\\=");q(ht,ae,ri,"\u02D8","\\u");q(ht,ae,ri,"\u02D9","\\.");q(ht,ae,ri,"\xB8","\\c");q(ht,ae,ri,"\u02DA","\\r");q(ht,ae,ri,"\u02C7","\\v");q(ht,ae,ri,"\xA8",'\\"');q(ht,ae,ri,"\u02DD","\\H");q(ht,ae,ri,"\u25EF","\\textcircled");zY={"--":!0,"---":!0,"``":!0,"''":!0};q(ht,ae,Ne,"\u2013","--",!0);q(ht,ae,Ne,"\u2013","\\textendash");q(ht,ae,Ne,"\u2014","---",!0);q(ht,ae,Ne,"\u2014","\\textemdash");q(ht,ae,Ne,"\u2018","`",!0);q(ht,ae,Ne,"\u2018","\\textquoteleft");q(ht,ae,Ne,"\u2019","'",!0);q(ht,ae,Ne,"\u2019","\\textquoteright");q(ht,ae,Ne,"\u201C","``",!0);q(ht,ae,Ne,"\u201C","\\textquotedblleft");q(ht,ae,Ne,"\u201D","''",!0);q(ht,ae,Ne,"\u201D","\\textquotedblright");q(W,ae,Ne,"\xB0","\\degree",!0);q(ht,ae,Ne,"\xB0","\\degree");q(ht,ae,Ne,"\xB0","\\textdegree",!0);q(W,ae,Ne,"\xA3","\\pounds");q(W,ae,Ne,"\xA3","\\mathsterling",!0);q(ht,ae,Ne,"\xA3","\\pounds");q(ht,ae,Ne,"\xA3","\\textsterling",!0);q(W,Se,Ne,"\u2720","\\maltese");q(ht,Se,Ne,"\u2720","\\maltese");oY='0123456789/@."';for(H3=0;H30)return Wl(a,h,i,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=$Ae(a,i,r,s,n);d=m.fontName,p=[m.fontClass]}else l?(d=qY[u].fontName,p=[u]):(d=Q3(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(fw(a,d,i).metrics)return Wl(a,d,i,r,s.concat(p));if(zY.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(mf(t.classes)!==mf(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),VAe=o(t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),Ys=o(function(e,r,n,i){var a=new Dp(e,r,n,i);return F_(a),a},"makeSpan"),GY=o((t,e,r,n)=>new Dp(t,e,r,n),"makeSvgSpan"),qAe=o(function(e,r,n){var i=Ys([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=_t(i.height),i.maxFontSize=1,i},"makeLineSpan"),UAe=o(function(e,r,n,i){var a=new b2(e,r,n,i);return F_(a),a},"makeAnchor"),VY=o(function(e){var r=new _p(e);return F_(r),r},"makeFragment"),WAe=o(function(e,r){return e instanceof _p?Ys([],[e],r):e},"wrapFragment"),HAe=o(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Ys(["mspace"],[],e),n=mi(t,e);return r.style.marginRight=_t(n),r},"makeGlue"),Q3=o(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),qY={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},UY={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},XAe=o(function(e,r){var[n,i,a]=UY[e],s=new Pc(n),l=new Hl([s],{width:_t(i),height:_t(a),style:"width:"+_t(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=GY(["overlay"],[l],r);return u.height=a,u.style.height=_t(a),u.style.width=_t(i),u},"staticSvg"),Ve={fontMap:qY,makeSymbol:Wl,mathsym:FAe,makeSpan:Ys,makeSvgSpan:GY,makeLineSpan:qAe,makeAnchor:UAe,makeFragment:VY,wrapFragment:WAe,makeVList:YAe,makeOrd:zAe,makeGlue:jAe,staticSvg:XAe,svgData:UY,tryCombineChars:VAe},pi={number:3,unit:"mu"},Ap={number:4,unit:"mu"},Ju={number:5,unit:"mu"},KAe={mord:{mop:pi,mbin:Ap,mrel:Ju,minner:pi},mop:{mord:pi,mop:pi,mrel:Ju,minner:pi},mbin:{mord:Ap,mop:Ap,mopen:Ap,minner:Ap},mrel:{mord:Ju,mop:Ju,mopen:Ju,minner:Ju},mopen:{},mclose:{mop:pi,mbin:Ap,mrel:Ju,minner:pi},mpunct:{mord:pi,mop:pi,mrel:Ju,mopen:pi,mclose:pi,mpunct:pi,minner:pi},minner:{mord:pi,mop:pi,mbin:Ap,mrel:Ju,mopen:pi,mpunct:pi,minner:pi}},QAe={mord:{mop:pi},mop:{mord:pi,mop:pi},mbin:{},mrel:{},mopen:{},mclose:{mop:pi},mpunct:{},minner:{mop:pi}},WY={},sw={},ow={};o(Pt,"defineFunction");o(Rp,"defineFunctionBuilders");lw=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),Li=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),rh=Ve.makeSpan,ZAe=["leftmost","mbin","mopen","mrel","mop","mpunct"],JAe=["rightmost","mrel","mclose","mpunct"],e7e={display:lr.DISPLAY,text:lr.TEXT,script:lr.SCRIPT,scriptscript:lr.SCRIPTSCRIPT},t7e={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Xi=o(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&ar.contains(JAe,x)?y.classes[0]="mord":x==="mbin"&&ar.contains(ZAe,v)&&(g.classes[0]="mord")},{node:d},p,m),uY(a,(g,y)=>{var v=__(y),x=__(g),b=v&&x?g.hasClass("mtight")?QAe[v][x]:KAe[v][x]:null;if(b)return Ve.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),uY=o(function t(e,r,n,i,a){i&&e.push(i);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}i&&e.pop()},"traverseNonSpaceNodes"),HY=o(function(e){return e instanceof _p||e instanceof b2||e instanceof Dp&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),r7e=o(function t(e,r){var n=HY(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),__=o(function(e,r){return e?(r&&(e=r7e(e,r)),t7e[e.classes[0]]||null):null},"getTypeOfDomTree"),w2=o(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return rh(r.concat(n))},"makeNullDelimiter"),Jr=o(function(e,r,n){if(!e)return rh();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=rh(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new vt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(Z3,"buildHTMLUnbreakable");o(D_,"buildHTML");o(YY,"newDocumentFragment");ws=class{static{o(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=mf(this.classes));for(var n=0;n0&&(e+=' class ="'+ar.escape(mf(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},al=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return ar.escape(this.toText())}toText(){return this.text}},R_=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",_t(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},yt={MathNode:ws,TextNode:al,SpaceNode:R_,newDocumentFragment:YY},ol=o(function(e,r,n){return zn[r][e]&&zn[r][e].replace&&e.charCodeAt(0)!==55349&&!(zY.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=zn[r][e].replace),new yt.TextNode(e)},"makeText"),$_=o(function(e){return e.length===1?e[0]:new yt.MathNode("mrow",e)},"makeRow"),z_=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(ar.contains(["\\imath","\\jmath"],a))return null;zn[i][a]&&zn[i][a].replace&&(a=zn[i][a].replace);var s=Ve.fontMap[n].fontName;return B_(a,s,i)?Ve.fontMap[n].variant:null},"getVariant");o(p_,"isNumberPunctuation");Xs=o(function(e,r,n){if(e.length===1){var i=Ln(e[0],r);return n&&i instanceof ws&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,l=0;l=1&&(s.type==="mn"||p_(s))){var h=u.children[0];h instanceof ws&&h.type==="mn"&&(h.children=[...s.children,...h.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var f=s.children[0];if(f instanceof al&&f.text==="\u0338"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var d=u.children[0];d instanceof al&&d.text.length>0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),gf=o(function(e,r,n){return $_(Xs(e,r,n))},"buildExpressionRow"),Ln=o(function(e,r){if(!e)return new yt.MathNode("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new vt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(hY,"buildMathML");jY=o(function(e){return new iw({style:e.displayMode?lr.DISPLAY:lr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),XY=o(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Ve.makeSpan(n,[e])}return e},"displayWrap"),n7e=o(function(e,r,n){var i=jY(n),a;if(n.output==="mathml")return hY(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=D_(e,i);a=Ve.makeSpan(["katex"],[s])}else{var l=hY(e,r,i,n.displayMode,!1),u=D_(e,i);a=Ve.makeSpan(["katex"],[l,u])}return XY(a,n)},"buildTree"),i7e=o(function(e,r,n){var i=jY(n),a=D_(e,i),s=Ve.makeSpan(["katex"],[a]);return XY(s,n)},"buildHTMLTree"),a7e={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},s7e=o(function(e){var r=new yt.MathNode("mo",[new yt.TextNode(a7e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),o7e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},l7e=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),c7e=o(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(ar.contains(["widehat","widecheck","widetilde","utilde"],u)){var h=e,f=l7e(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new Pc(p),v=new Hl([y],{width:"100%",height:_t(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:Ve.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=o7e[u],[T,E,w]=b,k=w/1e3,C=T.length,D,R;if(C===1){var O=b[3];D=["hide-tail"],R=[O]}else if(C===2)D=["halfarrow-left","halfarrow-right"],R=["xMinYMin","xMaxYMin"];else if(C===3)D=["brace-left","brace-center","brace-right"],R=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+C+" children.");for(var L=0;L0&&(i.style.minWidth=_t(a)),i},"svgSpan"),u7e=o(function(e,r,n,i,a){var s,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Ve.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new T2({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new T2({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new Hl(h,{width:"100%",height:_t(l)});s=Ve.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=_t(l),s},"encloseSpan"),nh={encloseSpan:u7e,mathMLnode:s7e,svgSpan:c7e};o(_r,"assertNodeType");o(G_,"assertSymbolNodeType");o(dw,"checkSymbolNodeType");V_=o((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=_r(t.base,"accent"),r=n.base,t.base=r,i=IAe(Jr(t,e)),t.base=n):(n=_r(t,"accent"),r=n.base);var a=Jr(r,e.havingCrampedStyle()),s=n.isShifty&&ar.isCharacterBox(r),l=0;if(s){var u=ar.getBaseElem(r),h=Jr(u,e.havingCrampedStyle());l=sY(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=nh.svgSpan(n,e),p=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+_t(2*l)+")",marginLeft:_t(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=Ve.staticSvg("vec",e),g=Ve.svgData.vec[1]):(m=Ve.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=sY(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=Ve.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=_t(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=Ve.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),KY=o((t,e)=>{var r=t.isStretchy?nh.mathMLnode(t.label):new yt.MathNode("mo",[ol(t.label,t.mode)]),n=new yt.MathNode("mover",[Ln(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),h7e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Pt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:o((t,e)=>{var r=lw(e[0]),n=!h7e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:V_,mathmlBuilder:KY});Pt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:V_,mathmlBuilder:KY});Pt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:o((t,e)=>{var r=Jr(t.base,e),n=nh.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return Ve.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=nh.mathMLnode(t.label),n=new yt.MathNode("munder",[Ln(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});J3=o(t=>{var e=new yt.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");Pt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=Ve.wrapFragment(Jr(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=Ve.wrapFragment(Jr(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var l=nh.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),Ve.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=nh.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=J3(Ln(t.body,e));if(t.below){var a=J3(Ln(t.below,e));n=new yt.MathNode("munderover",[r,a,i])}else n=new yt.MathNode("mover",[r,i])}else if(t.below){var s=J3(Ln(t.below,e));n=new yt.MathNode("munder",[r,s])}else n=J3(),n=new yt.MathNode("mover",[r,n]);return n}});f7e=Ve.makeSpan;o(QY,"htmlBuilder$9");o(ZY,"mathmlBuilder$8");Pt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:Li(i),isCharacterBox:ar.isCharacterBox(i)}},htmlBuilder:QY,mathmlBuilder:ZY});pw=o(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");Pt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:pw(e[0]),body:Li(e[1]),isCharacterBox:ar.isCharacterBox(e[1])}}});Pt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=pw(i):s="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:Li(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:ar.isCharacterBox(u)}},htmlBuilder:QY,mathmlBuilder:ZY});Pt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:pw(e[0]),body:Li(e[0])}},htmlBuilder(t,e){var r=Xi(t.body,e,!0),n=Ve.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=Xs(t.body,e),n=new yt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});d7e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},fY=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),dY=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),p7e=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(m7e,"cdArrow");o(g7e,"parseCD");Pt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=Ve.wrapFragment(Jr(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=_t(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new yt.MathNode("mrow",[Ln(t.label,e)]);return r=new yt.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new yt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Pt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=Ve.wrapFragment(Jr(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new yt.MathNode("mrow",[Ln(t.fragment,e)])}});Pt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=_r(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new vt("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});JY=o((t,e)=>{var r=Xi(t.body,e.withColor(t.color),!1);return Ve.makeFragment(r)},"htmlBuilder$8"),ej=o((t,e)=>{var r=Xs(t.body,e.withColor(t.color)),n=new yt.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");Pt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=_r(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:Li(i)}},htmlBuilder:JY,mathmlBuilder:ej});Pt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=_r(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:JY,mathmlBuilder:ej});Pt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&_r(i,"size").value}},htmlBuilder(t,e){var r=Ve.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=_t(mi(t.size,e)))),r},mathmlBuilder(t,e){var r=new yt.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",_t(mi(t.size,e)))),r}});L_={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},tj=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new vt("Expected a control sequence",t);return e},"checkControlSequence"),y7e=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),rj=o((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");Pt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(L_[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=L_[n.text]),_r(e.parseFunction(),"internal");throw new vt("Invalid token after macro prefix",n)}});Pt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new vt("Expected a control sequence",n);for(var a=0,s,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new vt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new vt('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new vt("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===L_[r]),{type:"internal",mode:e.mode}}});Pt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=tj(e.gullet.popToken());e.gullet.consumeSpaces();var i=y7e(e);return rj(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Pt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=tj(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return rj(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});m2=o(function(e,r,n){var i=zn.math[e]&&zn.math[e].replace,a=B_(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),q_=o(function(e,r,n,i){var a=n.havingBaseStyle(r),s=Ve.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),nj=o(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=_t(a),e.height-=a,e.depth+=a},"centerSpan"),v7e=o(function(e,r,n,i,a,s){var l=Ve.makeSymbol(e,"Main-Regular",a,i),u=q_(l,r,i,s);return n&&nj(u,i,r),u},"makeSmallDelim"),x7e=o(function(e,r,n,i){return Ve.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),ij=o(function(e,r,n,i,a,s){var l=x7e(e,r,a,i),u=q_(Ve.makeSpan(["delimsizing","size"+r],[l],i),lr.TEXT,i,s);return n&&nj(u,i,lr.TEXT),u},"makeLargeDelim"),m_=o(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Ve.makeSpan(["delimsizinginner",i],[Ve.makeSpan([],[Ve.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),g_=o(function(e,r,n){var i=Oc["Size4-Regular"][e.charCodeAt(0)]?Oc["Size4-Regular"][e.charCodeAt(0)][4]:Oc["Size1-Regular"][e.charCodeAt(0)][4],a=new Pc("inner",AAe(e,Math.round(1e3*r))),s=new Hl([a],{width:_t(i),height:_t(r),style:"width:"+_t(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=Ve.makeSvgSpan([],[s],n);return l.height=r,l.style.height=_t(r),l.style.width=_t(i),{type:"elem",elem:l}},"makeInner"),N_=.008,ew={type:"kern",size:-1*N_},b7e=["|","\\lvert","\\rvert","\\vert"],T7e=["\\|","\\lVert","\\rVert","\\Vert"],aj=o(function(e,r,n,i,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):ar.contains(b7e,e)?(h="\u2223",d="vert",p=333):ar.contains(T7e,e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=m2(l,m,a),y=g.height+g.depth,v=m2(h,m,a),x=v.height+v.depth,b=m2(f,m,a),T=b.height+b.depth,E=0,w=1;if(u!==null){var k=m2(u,m,a);E=k.height+k.depth,w=2}var C=y+T+E,D=Math.max(0,Math.ceil((r-C)/(w*x))),R=C+D*w*x,O=i.fontMetrics().axisHeight;n&&(O*=i.sizeMultiplier);var L=R/2-O,S=[];if(d.length>0){var A=R-y-T,_=Math.round(R*1e3),N=_Ae(d,Math.round(A*1e3)),M=new Pc(d,N),P=(p/1e3).toFixed(3)+"em",B=(_/1e3).toFixed(3)+"em",F=new Hl([M],{width:P,height:B,viewBox:"0 0 "+p+" "+_}),G=Ve.makeSvgSpan([],[F],i);G.height=_/1e3,G.style.width=P,G.style.height=B,S.push({type:"elem",elem:G})}else{if(S.push(m_(f,m,a)),S.push(ew),u===null){var $=R-y-T+2*N_;S.push(g_(h,$,i))}else{var V=(R-y-T-E)/2+2*N_;S.push(g_(h,V,i)),S.push(ew),S.push(m_(u,m,a)),S.push(ew),S.push(g_(h,V,i))}S.push(ew),S.push(m_(l,m,a))}var K=i.havingBaseStyle(lr.TEXT),ee=Ve.makeVList({positionType:"bottom",positionData:L,children:S},K);return q_(Ve.makeSpan(["delimsizing","mult"],[ee],K),lr.TEXT,i,s)},"makeStackedDelim"),y_=80,v_=.08,x_=o(function(e,r,n,i,a){var s=CAe(e,i,n),l=new Pc(e,s),u=new Hl([l],{width:"400em",height:_t(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Ve.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),w7e=o(function(e,r){var n=r.havingBaseSizing(),i=cj("\\surd",e*n.sizeMultiplier,lj,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*s+y_,e<1?a=1:e<1.4&&(a=.7),u=(1+s+v_)/a,h=(1+s)/a,l=x_("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+y_)*y2[i.size],h=(y2[i.size]+s)/a,u=(y2[i.size]+s+v_)/a,l=x_("sqrtSize"+i.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+v_,h=e+s,f=Math.floor(1e3*e+s)+y_,l=x_("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=_t(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),sj=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],k7e=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],oj=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],y2=[0,1.2,1.8,2.4,3],S7e=o(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),ar.contains(sj,e)||ar.contains(oj,e))return ij(e,r,!1,n,i,a);if(ar.contains(k7e,e))return aj(e,y2[r],!1,n,i,a);throw new vt("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),E7e=[{type:"small",style:lr.SCRIPTSCRIPT},{type:"small",style:lr.SCRIPT},{type:"small",style:lr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],C7e=[{type:"small",style:lr.SCRIPTSCRIPT},{type:"small",style:lr.SCRIPT},{type:"small",style:lr.TEXT},{type:"stack"}],lj=[{type:"small",style:lr.SCRIPTSCRIPT},{type:"small",style:lr.SCRIPT},{type:"small",style:lr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],A7e=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),cj=o(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return n[s]}return n[n.length-1]},"traverseSequence"),uj=o(function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;ar.contains(oj,e)?l=E7e:ar.contains(sj,e)?l=lj:l=C7e;var u=cj(e,r,l,i);return u.type==="small"?v7e(e,u.style,n,i,a,s):u.type==="large"?ij(e,u.size,n,i,a,s):aj(e,r,n,i,a,s)},"makeCustomSizedDelim"),_7e=o(function(e,r,n,i,a,s){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return uj(e,d,!0,i,a,s)},"makeLeftRightDelim"),th={sqrtImage:w7e,sizedDelim:S7e,sizeToMaxHeight:y2,customSizedDelim:uj,leftRightDelim:_7e},pY={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},D7e=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(mw,"checkDelimiter");Pt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:o((t,e)=>{var r=mw(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:pY[t.funcName].size,mclass:pY[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?Ve.makeSpan([t.mclass]):th.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(ol(t.delim,t.mode));var r=new yt.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=_t(th.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});o(mY,"assertParsed");Pt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new vt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:mw(e[0],t).text,color:r}},"handler")});Pt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=mw(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=_r(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{mY(t);for(var r=Xi(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{mY(t);var r=Xs(t.body,e);if(t.left!=="."){var n=new yt.MathNode("mo",[ol(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new yt.MathNode("mo",[ol(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return $_(r)},"mathmlBuilder")});Pt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=mw(e[0],t);if(!t.parser.leftrightDepth)throw new vt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=w2(e,[]);else{r=th.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?ol("|","text"):ol(t.delim,t.mode),n=new yt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});U_=o((t,e)=>{var r=Ve.wrapFragment(Jr(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,l=ar.isCharacterBox(t.body);if(n==="sout")a=Ve.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=mi({number:.6,unit:"pt"},e),h=mi({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=_t(d/2+u);var p=Math.floor(1e3*d*i),m=SAe(p),g=new Hl([new Pc("phase",m)],{width:"400em",height:_t(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=Ve.makeSvgSpan(["hide-tail"],[g],e),a.style.height=_t(d),s=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=nh.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=_t(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=_t(x),a.style.borderRightWidth=_t(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var T=/cancel|phase/.test(n)?["svg-align"]:[];b=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?Ve.makeSpan(["mord","cancel-lap"],[b],e):Ve.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),W_=o((t,e)=>{var r=0,n=new yt.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Ln(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");Pt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=_r(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:U_,mathmlBuilder:W_});Pt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=_r(e[0],"color-token").color,s=_r(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:U_,mathmlBuilder:W_});Pt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Pt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:U_,mathmlBuilder:W_});Pt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});hj={};o(Bc,"defineEnvironment");fj={};o(fe,"defineMacro");o(gY,"getHLines");gw=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new vt("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o(H_,"getAutoTag");o(yf,"parseArray");o(Y_,"dCellStyle");Fc=o(function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(lr.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?mi({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,T=0;function E(j){for(var Ge=0;Ge0&&(T+=.25),h.push({pos:T,isDashed:j[Ge]})}for(o(E,"setHLinePos"),E(s[0]),n=0;n0&&(L+=b,Cj))for(n=0;n=l)){var Z=void 0;(i>0||e.hskipBeforeAndAfter)&&(Z=ar.deflt(V.pregap,p),Z!==0&&(N=Ve.makeSpan(["arraycolsep"],[]),N.style.width=_t(Z),_.push(N)));var de=[];for(n=0;n0){for(var Q=Ve.makeLineSpan("hline",r,f),le=Ve.makeLineSpan("hdashline",r,f),J=[{type:"elem",elem:u,shift:0}];h.length>0;){var ge=h.pop(),ie=ge.pos-S;ge.isDashed?J.push({type:"elem",elem:le,shift:ie}):J.push({type:"elem",elem:Q,shift:ie})}u=Ve.makeVList({positionType:"individualShift",children:J},r)}if(P.length===0)return Ve.makeSpan(["mord"],[u],r);var Te=Ve.makeVList({positionType:"individualShift",children:P},r);return Te=Ve.makeSpan(["tag"],[Te],r),Ve.makeFragment([u,Te])},"htmlBuilder"),R7e={c:"center ",l:"left ",r:"right "},$c=o(function(e,r){for(var n=[],i=new yt.MathNode("mtd",[],["mtr-glue"]),a=new yt.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var T=x;T0?"left ":"",p+=D[D.length-1].length>0?"right ":"";for(var R=1;R-1?"alignat":"align",a=e.envName==="split",s=yf(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:H_(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");Bc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=dw(e[0]),n=r?[e[0]]:_r(e[0],"ordgroup").body,i=n.map(function(s){var l=G_(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new vt("Unknown column alignment: "+u,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return yf(t.parser,a,Y_(t.envName))},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new vt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=yf(t.parser,n,Y_(t.envName)),s=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=yf(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=dw(e[0]),n=r?[e[0]]:_r(e[0],"ordgroup").body,i=n.map(function(s){var l=G_(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new vt("Unknown column alignment: "+u,s)});if(i.length>1)throw new vt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=yf(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new vt("{subarray} can contain only one column");return a},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=yf(t.parser,e,Y_(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:dj,htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){ar.contains(["gather","gather*"],t.envName)&&gw(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:H_(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return yf(t.parser,e,"display")},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:dj,htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){gw(t);var e={autoTag:H_(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return yf(t.parser,e,"display")},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return gw(t),g7e(t.parser)},htmlBuilder:Fc,mathmlBuilder:$c});fe("\\nonumber","\\gdef\\@eqnsw{0}");fe("\\notag","\\nonumber");Pt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new vt(t.funcName+" valid only within array environment")}});yY=hj;Pt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new vt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return Jr(t.body,n)},"htmlBuilder$5"),mj=o((t,e)=>{var r=t.font,n=e.withFont(r);return Ln(t.body,n)},"mathmlBuilder$4"),vY={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Pt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in vY&&(a=vY[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:pj,mathmlBuilder:mj});Pt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,n=e[0],i=ar.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:pw(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});Pt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:pj,mathmlBuilder:mj});gj=o((t,e)=>{var r=e;return t==="display"?r=r.id>=lr.SCRIPT.id?r.text():lr.DISPLAY:t==="text"&&r.size===lr.DISPLAY.size?r=lr.TEXT:t==="script"?r=lr.SCRIPT:t==="scriptscript"&&(r=lr.SCRIPTSCRIPT),r},"adjustStyle"),j_=o((t,e)=>{var r=gj(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=Jr(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new yt.MathNode("mfrac",[Ln(t.numer,e),Ln(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=mi(t.barSize,e);r.setAttribute("linethickness",_t(n))}var i=gj(t.size,e.style);if(i.size!==e.style.size){r=new yt.MathNode("mstyle",[r]);var a=i.size===lr.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new yt.MathNode("mo",[new yt.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new yt.MathNode("mo",[new yt.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return $_(s)}return r},"mathmlBuilder$3");Pt({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:j_,mathmlBuilder:X_});Pt({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});Pt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});xY=["display","text","script","scriptscript"],bY=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");Pt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?bY(a.text):null,l=lw(e[1]),u=l.type==="atom"&&l.family==="close"?bY(l.text):null,h=_r(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=_r(m.body[0],"textord");p=xY[Number(g.text)]}}else m=_r(m,"textord"),p=xY[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:j_,mathmlBuilder:X_});Pt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:_r(e[0],"size").value,token:i}}});Pt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=cAe(_r(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:j_,mathmlBuilder:X_});yj=o((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?Jr(t.sup,e.havingStyle(r.sup()),e):Jr(t.sub,e.havingStyle(r.sub()),e),i=_r(t.base,"horizBrace")):i=_r(t,"horizBrace");var a=Jr(i.base,e.havingBaseStyle(lr.DISPLAY)),s=nh.svgSpan(i,e),l;if(i.isOver?(l=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Ve.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=Ve.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=Ve.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return Ve.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),L7e=o((t,e)=>{var r=nh.mathMLnode(t.label);return new yt.MathNode(t.isOver?"mover":"munder",[Ln(t.base,e),r])},"mathmlBuilder$2");Pt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:yj,mathmlBuilder:L7e});Pt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[1],i=_r(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:Li(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=Xi(t.body,e,!1);return Ve.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=gf(t.body,e);return r instanceof ws||(r=new ws("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});Pt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=_r(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=_r(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=Xi(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Ve.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:o((t,e)=>gf(t.body,e),"mathmlBuilder")});Pt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:Li(e[0]),mathml:Li(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=Xi(t.html,e,!1);return Ve.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>gf(t.mathml,e),"mathmlBuilder")});b_=o(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new vt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!PY(n))throw new vt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");Pt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=_r(r[0],"raw").string,h=u.split(","),f=0;f{var r=mi(t.height,e),n=0;t.totalheight.number>0&&(n=mi(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=mi(t.width,e));var a={height:_t(r+n)};i>0&&(a.width=_t(i)),n>0&&(a.verticalAlign=_t(-n));var s=new C_(t.src,t.alt,a);return s.height=r,s.depth=n,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new yt.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=mi(t.height,e),i=0;if(t.totalheight.number>0&&(i=mi(t.totalheight,e)-n,r.setAttribute("valign",_t(-i))),r.setAttribute("height",_t(n+i)),t.width.number>0){var a=mi(t.width,e);r.setAttribute("width",_t(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});Pt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=_r(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return Ve.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=mi(t.dimension,e);return new yt.SpaceNode(r)}});Pt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=Ve.makeSpan([],[Jr(t.body,e)]),r=Ve.makeSpan(["inner"],[r],e)):r=Ve.makeSpan(["inner"],[Jr(t.body,e)]);var n=Ve.makeSpan(["fix"],[]),i=Ve.makeSpan([t.alignment],[r,n],e),a=Ve.makeSpan(["strut"]);return a.style.height=_t(i.height+i.depth),i.depth&&(a.style.verticalAlign=_t(-i.depth)),i.children.unshift(a),i=Ve.makeSpan(["thinbox"],[i],e),Ve.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new yt.MathNode("mpadded",[Ln(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});Pt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Pt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new vt("Mismatched "+t.funcName)}});TY=o((t,e)=>{switch(e.style.size){case lr.DISPLAY.size:return t.display;case lr.TEXT.size:return t.text;case lr.SCRIPT.size:return t.script;case lr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");Pt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:Li(e[0]),text:Li(e[1]),script:Li(e[2]),scriptscript:Li(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=TY(t,e),n=Xi(r,e,!1);return Ve.makeFragment(n)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=TY(t,e);return gf(r,e)},"mathmlBuilder")});vj=o((t,e,r,n,i,a,s)=>{t=Ve.makeSpan([],[t]);var l=r&&ar.isCharacterBox(r),u,h;if(e){var f=Jr(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=Jr(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=Ve.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:_t(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:_t(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-s;p=Ve.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:_t(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+s;p=Ve.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:_t(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=Ve.makeSpan(["mspace"],[],n);x.style.marginRight=_t(a),v.unshift(x)}return Ve.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),xj=["\\smallint"],cg=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=_r(t.base,"op"),i=!0):a=_r(t,"op");var s=e.style,l=!1;s.size===lr.DISPLAY.size&&a.symbol&&!ar.contains(xj,a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=Ve.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=Ve.staticSvg(f+"Size"+(l?"2":"1"),e);u=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=Xi(a.body,e,!0);m.length===1&&m[0]instanceof js?(u=m[0],u.classes[0]="mop"):u=Ve.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new ws("mo",[ol(t.name,t.mode)]),ar.contains(xj,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new ws("mo",Xs(t.body,e));else{r=new ws("mi",[new al(t.name.slice(1))]);var n=new ws("mo",[ol("\u2061","text")]);t.parentIsSupSub?r=new ws("mrow",[r,n]):r=YY([r,n])}return r},"mathmlBuilder$1"),N7e={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};Pt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=N7e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:cg,mathmlBuilder:k2});Pt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Li(n)}},"handler"),htmlBuilder:cg,mathmlBuilder:k2});M7e={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};Pt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:cg,mathmlBuilder:k2});Pt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:cg,mathmlBuilder:k2});Pt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=M7e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:cg,mathmlBuilder:k2});bj=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=_r(t.base,"operatorname"),i=!0):a=_r(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=Xi(l,e.withFont("mathrm"),!0),h=0;h{for(var r=Xs(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new yt.TextNode(l)]}var u=new yt.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new yt.MathNode("mo",[ol("\u2061","text")]);return t.parentIsSupSub?new yt.MathNode("mrow",[u,h]):yt.newDocumentFragment([u,h])},"mathmlBuilder");Pt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:Li(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:bj,mathmlBuilder:I7e});fe("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Rp({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Ve.makeFragment(Xi(t.body,e,!1)):Ve.makeSpan(["mord"],Xi(t.body,e,!0),e)},mathmlBuilder(t,e){return gf(t.body,e,!0)}});Pt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=Jr(t.body,e.havingCrampedStyle()),n=Ve.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return Ve.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new yt.MathNode("mo",[new yt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new yt.MathNode("mover",[Ln(t.body,e),r]);return n.setAttribute("accent","true"),n}});Pt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:Li(n)}},"handler"),htmlBuilder:o((t,e)=>{var r=Xi(t.body,e.withPhantom(),!1);return Ve.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Xs(t.body,e);return new yt.MathNode("mphantom",r)},"mathmlBuilder")});Pt({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Ve.makeSpan([],[Jr(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=Xs(Li(t.body),e),n=new yt.MathNode("mphantom",r),i=new yt.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});Pt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Ve.makeSpan(["inner"],[Jr(t.body,e.withPhantom())]),n=Ve.makeSpan(["fix"],[]);return Ve.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Xs(Li(t.body),e),n=new yt.MathNode("mphantom",r),i=new yt.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});Pt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=_r(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=Jr(t.body,e),n=mi(t.dy,e);return Ve.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new yt.MathNode("mpadded",[Ln(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Pt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Pt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=_r(e[0],"size"),s=_r(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&_r(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Ve.makeSpan(["mord","rule"],[],e),n=mi(t.width,e),i=mi(t.height,e),a=t.shift?mi(t.shift,e):0;return r.style.borderRightWidth=_t(n),r.style.borderTopWidth=_t(i),r.style.bottom=_t(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=mi(t.width,e),n=mi(t.height,e),i=t.shift?mi(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new yt.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",_t(r)),s.setAttribute("height",_t(n));var l=new yt.MathNode("mpadded",[s]);return i>=0?l.setAttribute("height",_t(i)):(l.setAttribute("height",_t(i)),l.setAttribute("depth",_t(-i))),l.setAttribute("voffset",_t(i)),l}});o(Tj,"sizingGroup");wY=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],O7e=o((t,e)=>{var r=e.havingSize(t.size);return Tj(t.body,r,e)},"htmlBuilder");Pt({type:"sizing",names:wY,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:wY.indexOf(n)+1,body:a}},"handler"),htmlBuilder:O7e,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),n=Xs(t.body,r),i=new yt.MathNode("mstyle",n);return i.setAttribute("mathsize",_t(r.sizeMultiplier)),i},"mathmlBuilder")});Pt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&_r(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=Ve.makeSpan([],[Jr(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new yt.MathNode("mpadded",[Ln(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});Pt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=Jr(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=Ve.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=_t(f);var m=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(lr.SCRIPTSCRIPT),y=Jr(t.index,g,e),v=.6*(m.height-m.depth),x=Ve.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=Ve.makeSpan(["root"],[x]);return Ve.makeSpan(["mord","sqrt"],[b,m],e)}else return Ve.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new yt.MathNode("mroot",[Ln(r,e),Ln(n,e)]):new yt.MathNode("msqrt",[Ln(r,e)])}});kY={display:lr.DISPLAY,text:lr.TEXT,script:lr.SCRIPT,scriptscript:lr.SCRIPTSCRIPT};Pt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=kY[t.style],n=e.havingStyle(r).withFont("");return Tj(t.body,n,e)},mathmlBuilder(t,e){var r=kY[t.style],n=e.havingStyle(r),i=Xs(t.body,n),a=new yt.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});P7e=o(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===lr.DISPLAY.size||n.alwaysHandleSupSub);return i?cg:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===lr.DISPLAY.size||n.limits);return a?bj:null}else{if(n.type==="accent")return ar.isCharacterBox(n.base)?V_:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?yj:null}else return null}else return null},"htmlBuilderDelegate");Rp({type:"supsub",htmlBuilder(t,e){var r=P7e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=Jr(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&ar.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=Jr(i,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=Jr(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===lr.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=_t(.5/h.ptPerEm/v),b=null;if(u){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof js||T)&&(b=_t(-s.italic))}var E;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=h.defaultRuleThickness,k=4*w;if(f-l.depth-(u.height-d)0&&(f+=C,d-=C)}var D=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];E=Ve.makeVList({positionType:"individualShift",children:D},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var R=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];E=Ve.makeVList({positionType:"shift",positionData:d,children:R},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),E=Ve.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var O=__(s,"right")||"mord";return Ve.makeSpan([O],[s,Ve.makeSpan(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Ln(t.base,e)];t.sub&&a.push(Ln(t.sub,e)),t.sup&&a.push(Ln(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===lr.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===lr.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===lr.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===lr.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===lr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===lr.DISPLAY)?s="mover":s="msup"}return new yt.MathNode(s,a)}});Rp({type:"atom",htmlBuilder(t,e){return Ve.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new yt.MathNode("mo",[ol(t.text,t.mode)]);if(t.family==="bin"){var n=z_(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});wj={mi:"italic",mn:"normal",mtext:"normal"};Rp({type:"mathord",htmlBuilder(t,e){return Ve.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new yt.MathNode("mi",[ol(t.text,t.mode,e)]),n=z_(t,e)||"italic";return n!==wj[r.type]&&r.setAttribute("mathvariant",n),r}});Rp({type:"textord",htmlBuilder(t,e){return Ve.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=ol(t.text,t.mode,e),n=z_(t,e)||"normal",i;return t.mode==="text"?i=new yt.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new yt.MathNode("mn",[r]):t.text==="\\prime"?i=new yt.MathNode("mo",[r]):i=new yt.MathNode("mi",[r]),n!==wj[i.type]&&i.setAttribute("mathvariant",n),i}});T_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},w_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Rp({type:"spacing",htmlBuilder(t,e){if(w_.hasOwnProperty(t.text)){var r=w_[t.text].className||"";if(t.mode==="text"){var n=Ve.makeOrd(t,e,"textord");return n.classes.push(r),n}else return Ve.makeSpan(["mspace",r],[Ve.mathsym(t.text,t.mode,e)],e)}else{if(T_.hasOwnProperty(t.text))return Ve.makeSpan(["mspace",T_[t.text]],[],e);throw new vt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(w_.hasOwnProperty(t.text))r=new yt.MathNode("mtext",[new yt.TextNode("\xA0")]);else{if(T_.hasOwnProperty(t.text))return new yt.MathNode("mspace");throw new vt('Unknown type of space "'+t.text+'"')}return r}});SY=o(()=>{var t=new yt.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Rp({type:"tag",mathmlBuilder(t,e){var r=new yt.MathNode("mtable",[new yt.MathNode("mtr",[SY(),new yt.MathNode("mtd",[gf(t.body,e)]),SY(),new yt.MathNode("mtd",[gf(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});EY={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},CY={"\\textbf":"textbf","\\textmd":"textmd"},B7e={"\\textit":"textit","\\textup":"textup"},AY=o((t,e)=>{var r=t.font;if(r){if(EY[r])return e.withTextFontFamily(EY[r]);if(CY[r])return e.withTextFontWeight(CY[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(B7e[r])},"optionsWithFont");Pt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:Li(i),font:n}},htmlBuilder(t,e){var r=AY(t,e),n=Xi(t.body,r,!0);return Ve.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=AY(t,e);return gf(t.body,r)}});Pt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Jr(t.body,e),n=Ve.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return Ve.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new yt.MathNode("mo",[new yt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new yt.MathNode("munder",[Ln(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Pt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Jr(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return Ve.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new yt.MathNode("mpadded",[Ln(t.body,e)],["vcenter"])}});Pt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new vt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=_Y(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),pf=WY,kj=`[ \r - ]`,F7e="\\\\[a-zA-Z@]+",$7e="\\\\[^\uD800-\uDFFF]",z7e="("+F7e+")"+kj+"*",G7e=`\\\\( +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Lp=class{static{o(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},qc={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},iw={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},BY={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(mj,"setFontMetrics");o(Z8,"getCharacterMetrics");C8={};o(f_e,"getGlobalMetrics");d_e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],FY=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],$Y=o(function(e,r){return r.size<2?e:d_e[e-1][r.size-1]},"sizeAtStyle"),yw=class t{static{o(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=FY[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:$Y(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:FY[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=$Y(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=f_e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};yw.BASESIZE=6;z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},p_e={ex:!0,em:!0,mu:!0},gj=o(function(e){return typeof e!="string"&&(e=e.unit),e in z8||e in p_e||e==="ex"},"validUnit"),bi=o(function(e,r){var n;if(e.unit in z8)n=z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new bt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),_t=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),Tf=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),yj=o(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),vj=o(function(e){var r=document.createElement(e);r.className=Tf(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,xj=o(function(e){var r="<"+e;this.classes.length&&(r+=' class="'+un.escape(Tf(this.classes))+'"');var n="";for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=un.hyphenate(i)+":"+this.style[i]+";");n&&(r+=' style="'+un.escape(n)+'"');for(var a in this.attributes)if(this.attributes.hasOwnProperty(a)){if(m_e.test(a))throw new bt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+un.escape(this.attributes[a])+'"'}r+=">";for(var s=0;s",r},"toMarkup"),Np=class{static{o(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,yj.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return vj.call(this,"span")}toMarkup(){return xj.call(this,"span")}},M2=class{static{o(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,yj.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return vj.call(this,"a")}toMarkup(){return xj.call(this,"a")}},G8=class{static{o(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+un.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=_t(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=Tf(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=un.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+un.escape(n)+'"');var a=un.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},Zl=class{static{o(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},I2=class{static{o(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);q(W,re,De,"\u2208","\\in",!0);q(W,re,De,"\uE020","\\@not");q(W,re,De,"\u2282","\\subset",!0);q(W,re,De,"\u2283","\\supset",!0);q(W,re,De,"\u2286","\\subseteq",!0);q(W,re,De,"\u2287","\\supseteq",!0);q(W,Ae,De,"\u2288","\\nsubseteq",!0);q(W,Ae,De,"\u2289","\\nsupseteq",!0);q(W,re,De,"\u22A8","\\models");q(W,re,De,"\u2190","\\leftarrow",!0);q(W,re,De,"\u2264","\\le");q(W,re,De,"\u2264","\\leq",!0);q(W,re,De,"<","\\lt",!0);q(W,re,De,"\u2192","\\rightarrow",!0);q(W,re,De,"\u2192","\\to");q(W,Ae,De,"\u2271","\\ngeq",!0);q(W,Ae,De,"\u2270","\\nleq",!0);q(W,re,ch,"\xA0","\\ ");q(W,re,ch,"\xA0","\\space");q(W,re,ch,"\xA0","\\nobreakspace");q(ft,re,ch,"\xA0","\\ ");q(ft,re,ch,"\xA0"," ");q(ft,re,ch,"\xA0","\\space");q(ft,re,ch,"\xA0","\\nobreakspace");q(W,re,ch,null,"\\nobreak");q(W,re,ch,null,"\\allowbreak");q(W,re,Ew,",",",");q(W,re,Ew,";",";");q(W,Ae,Ft,"\u22BC","\\barwedge",!0);q(W,Ae,Ft,"\u22BB","\\veebar",!0);q(W,re,Ft,"\u2299","\\odot",!0);q(W,re,Ft,"\u2295","\\oplus",!0);q(W,re,Ft,"\u2297","\\otimes",!0);q(W,re,ze,"\u2202","\\partial",!0);q(W,re,Ft,"\u2298","\\oslash",!0);q(W,Ae,Ft,"\u229A","\\circledcirc",!0);q(W,Ae,Ft,"\u22A1","\\boxdot",!0);q(W,re,Ft,"\u25B3","\\bigtriangleup");q(W,re,Ft,"\u25BD","\\bigtriangledown");q(W,re,Ft,"\u2020","\\dagger");q(W,re,Ft,"\u22C4","\\diamond");q(W,re,Ft,"\u22C6","\\star");q(W,re,Ft,"\u25C3","\\triangleleft");q(W,re,Ft,"\u25B9","\\triangleright");q(W,re,Bo,"{","\\{");q(ft,re,ze,"{","\\{");q(ft,re,ze,"{","\\textbraceleft");q(W,re,Cs,"}","\\}");q(ft,re,ze,"}","\\}");q(ft,re,ze,"}","\\textbraceright");q(W,re,Bo,"{","\\lbrace");q(W,re,Cs,"}","\\rbrace");q(W,re,Bo,"[","\\lbrack",!0);q(ft,re,ze,"[","\\lbrack",!0);q(W,re,Cs,"]","\\rbrack",!0);q(ft,re,ze,"]","\\rbrack",!0);q(W,re,Bo,"(","\\lparen",!0);q(W,re,Cs,")","\\rparen",!0);q(ft,re,ze,"<","\\textless",!0);q(ft,re,ze,">","\\textgreater",!0);q(W,re,Bo,"\u230A","\\lfloor",!0);q(W,re,Cs,"\u230B","\\rfloor",!0);q(W,re,Bo,"\u2308","\\lceil",!0);q(W,re,Cs,"\u2309","\\rceil",!0);q(W,re,ze,"\\","\\backslash");q(W,re,ze,"\u2223","|");q(W,re,ze,"\u2223","\\vert");q(ft,re,ze,"|","\\textbar",!0);q(W,re,ze,"\u2225","\\|");q(W,re,ze,"\u2225","\\Vert");q(ft,re,ze,"\u2225","\\textbardbl");q(ft,re,ze,"~","\\textasciitilde");q(ft,re,ze,"\\","\\textbackslash");q(ft,re,ze,"^","\\textasciicircum");q(W,re,De,"\u2191","\\uparrow",!0);q(W,re,De,"\u21D1","\\Uparrow",!0);q(W,re,De,"\u2193","\\downarrow",!0);q(W,re,De,"\u21D3","\\Downarrow",!0);q(W,re,De,"\u2195","\\updownarrow",!0);q(W,re,De,"\u21D5","\\Updownarrow",!0);q(W,re,Gi,"\u2210","\\coprod");q(W,re,Gi,"\u22C1","\\bigvee");q(W,re,Gi,"\u22C0","\\bigwedge");q(W,re,Gi,"\u2A04","\\biguplus");q(W,re,Gi,"\u22C2","\\bigcap");q(W,re,Gi,"\u22C3","\\bigcup");q(W,re,Gi,"\u222B","\\int");q(W,re,Gi,"\u222B","\\intop");q(W,re,Gi,"\u222C","\\iint");q(W,re,Gi,"\u222D","\\iiint");q(W,re,Gi,"\u220F","\\prod");q(W,re,Gi,"\u2211","\\sum");q(W,re,Gi,"\u2A02","\\bigotimes");q(W,re,Gi,"\u2A01","\\bigoplus");q(W,re,Gi,"\u2A00","\\bigodot");q(W,re,Gi,"\u222E","\\oint");q(W,re,Gi,"\u222F","\\oiint");q(W,re,Gi,"\u2230","\\oiiint");q(W,re,Gi,"\u2A06","\\bigsqcup");q(W,re,Gi,"\u222B","\\smallint");q(ft,re,pg,"\u2026","\\textellipsis");q(W,re,pg,"\u2026","\\mathellipsis");q(ft,re,pg,"\u2026","\\ldots",!0);q(W,re,pg,"\u2026","\\ldots",!0);q(W,re,pg,"\u22EF","\\@cdots",!0);q(W,re,pg,"\u22F1","\\ddots",!0);q(W,re,ze,"\u22EE","\\varvdots");q(ft,re,ze,"\u22EE","\\varvdots");q(W,re,ai,"\u02CA","\\acute");q(W,re,ai,"\u02CB","\\grave");q(W,re,ai,"\xA8","\\ddot");q(W,re,ai,"~","\\tilde");q(W,re,ai,"\u02C9","\\bar");q(W,re,ai,"\u02D8","\\breve");q(W,re,ai,"\u02C7","\\check");q(W,re,ai,"^","\\hat");q(W,re,ai,"\u20D7","\\vec");q(W,re,ai,"\u02D9","\\dot");q(W,re,ai,"\u02DA","\\mathring");q(W,re,fr,"\uE131","\\@imath");q(W,re,fr,"\uE237","\\@jmath");q(W,re,ze,"\u0131","\u0131");q(W,re,ze,"\u0237","\u0237");q(ft,re,ze,"\u0131","\\i",!0);q(ft,re,ze,"\u0237","\\j",!0);q(ft,re,ze,"\xDF","\\ss",!0);q(ft,re,ze,"\xE6","\\ae",!0);q(ft,re,ze,"\u0153","\\oe",!0);q(ft,re,ze,"\xF8","\\o",!0);q(ft,re,ze,"\xC6","\\AE",!0);q(ft,re,ze,"\u0152","\\OE",!0);q(ft,re,ze,"\xD8","\\O",!0);q(ft,re,ai,"\u02CA","\\'");q(ft,re,ai,"\u02CB","\\`");q(ft,re,ai,"\u02C6","\\^");q(ft,re,ai,"\u02DC","\\~");q(ft,re,ai,"\u02C9","\\=");q(ft,re,ai,"\u02D8","\\u");q(ft,re,ai,"\u02D9","\\.");q(ft,re,ai,"\xB8","\\c");q(ft,re,ai,"\u02DA","\\r");q(ft,re,ai,"\u02C7","\\v");q(ft,re,ai,"\xA8",'\\"');q(ft,re,ai,"\u02DD","\\H");q(ft,re,ai,"\u25EF","\\textcircled");bj={"--":!0,"---":!0,"``":!0,"''":!0};q(ft,re,ze,"\u2013","--",!0);q(ft,re,ze,"\u2013","\\textendash");q(ft,re,ze,"\u2014","---",!0);q(ft,re,ze,"\u2014","\\textemdash");q(ft,re,ze,"\u2018","`",!0);q(ft,re,ze,"\u2018","\\textquoteleft");q(ft,re,ze,"\u2019","'",!0);q(ft,re,ze,"\u2019","\\textquoteright");q(ft,re,ze,"\u201C","``",!0);q(ft,re,ze,"\u201C","\\textquotedblleft");q(ft,re,ze,"\u201D","''",!0);q(ft,re,ze,"\u201D","\\textquotedblright");q(W,re,ze,"\xB0","\\degree",!0);q(ft,re,ze,"\xB0","\\degree");q(ft,re,ze,"\xB0","\\textdegree",!0);q(W,re,ze,"\xA3","\\pounds");q(W,re,ze,"\xA3","\\mathsterling",!0);q(ft,re,ze,"\xA3","\\pounds");q(ft,re,ze,"\xA3","\\textsterling",!0);q(W,Ae,ze,"\u2720","\\maltese");q(ft,Ae,ze,"\u2720","\\maltese");GY='0123456789/@."';for(aw=0;aw0)return Ql(a,h,i,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=w_e(a,i,r,s,n);d=m.fontName,p=[m.fontClass]}else l?(d=kj[u].fontName,p=[u]):(d=uw(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(Sw(a,d,i).metrics)return Ql(a,d,i,r,s.concat(p));if(bj.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(Tf(t.classes)!==Tf(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),S_e=o(t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),Ks=o(function(e,r,n,i){var a=new Np(e,r,n,i);return J8(a),a},"makeSpan"),Tj=o((t,e,r,n)=>new Np(t,e,r,n),"makeSvgSpan"),C_e=o(function(e,r,n){var i=Ks([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=_t(i.height),i.maxFontSize=1,i},"makeLineSpan"),A_e=o(function(e,r,n,i){var a=new M2(e,r,n,i);return J8(a),a},"makeAnchor"),wj=o(function(e){var r=new Lp(e);return J8(r),r},"makeFragment"),__e=o(function(e,r){return e instanceof Lp?Ks([],[e],r):e},"wrapFragment"),D_e=o(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Ks(["mspace"],[],e),n=bi(t,e);return r.style.marginRight=_t(n),r},"makeGlue"),uw=o(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),kj={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Ej={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},N_e=o(function(e,r){var[n,i,a]=Ej[e],s=new Uc(n),l=new Zl([s],{width:_t(i),height:_t(a),style:"width:"+_t(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=Tj(["overlay"],[l],r);return u.height=a,u.style.height=_t(a),u.style.width=_t(i),u},"staticSvg"),He={fontMap:kj,makeSymbol:Ql,mathsym:T_e,makeSpan:Ks,makeSvgSpan:Tj,makeLineSpan:C_e,makeAnchor:A_e,makeFragment:wj,wrapFragment:__e,makeVList:R_e,makeOrd:k_e,makeGlue:L_e,staticSvg:N_e,svgData:Ej,tryCombineChars:S_e},xi={number:3,unit:"mu"},Rp={number:4,unit:"mu"},ih={number:5,unit:"mu"},M_e={mord:{mop:xi,mbin:Rp,mrel:ih,minner:xi},mop:{mord:xi,mop:xi,mrel:ih,minner:xi},mbin:{mord:Rp,mop:Rp,mopen:Rp,minner:Rp},mrel:{mord:ih,mop:ih,mopen:ih,minner:ih},mopen:{},mclose:{mop:xi,mbin:Rp,mrel:ih,minner:xi},mpunct:{mord:xi,mop:xi,mrel:ih,mopen:xi,mclose:xi,mpunct:xi,minner:xi},minner:{mord:xi,mop:xi,mbin:Rp,mrel:ih,mopen:xi,mpunct:xi,minner:xi}},I_e={mord:{mop:xi},mop:{mord:xi,mop:xi},mbin:{},mrel:{},mopen:{},mclose:{mop:xi},mpunct:{},minner:{mop:xi}},Sj={},xw={},bw={};o(Ot,"defineFunction");o(Mp,"defineFunctionBuilders");Tw=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),Oi=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),oh=He.makeSpan,O_e=["leftmost","mbin","mopen","mrel","mop","mpunct"],P_e=["rightmost","mrel","mclose","mpunct"],B_e={display:dr.DISPLAY,text:dr.TEXT,script:dr.SCRIPT,scriptscript:dr.SCRIPTSCRIPT},F_e={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},ea=o(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&P_e.includes(x)?y.classes[0]="mord":x==="mbin"&&O_e.includes(v)&&(g.classes[0]="mord")},{node:d},p,m),UY(a,(g,y)=>{var v=q8(y),x=q8(g),b=v&&x?g.hasClass("mtight")?I_e[v][x]:M_e[v][x]:null;if(b)return He.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),UY=o(function t(e,r,n,i,a){i&&e.push(i);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}i&&e.pop()},"traverseNonSpaceNodes"),Cj=o(function(e){return e instanceof Lp||e instanceof M2||e instanceof Np&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),$_e=o(function t(e,r){var n=Cj(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),q8=o(function(e,r){return e?(r&&(e=$_e(e,r)),F_e[e.classes[0]]||null):null},"getTypeOfDomTree"),O2=o(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return oh(r.concat(n))},"makeNullDelimiter"),rn=o(function(e,r,n){if(!e)return oh();if(xw[e.type]){var i=xw[e.type](e,r);if(n&&r.size!==n.size){i=oh(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new bt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(hw,"buildHTMLUnbreakable");o(U8,"buildHTML");o(Aj,"newDocumentFragment");Es=class{static{o(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=Tf(this.classes));for(var n=0;n0&&(e+=' class ="'+un.escape(Tf(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},pl=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return un.escape(this.toText())}toText(){return this.text}},W8=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",_t(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},vt={MathNode:Es,TextNode:pl,SpaceNode:W8,newDocumentFragment:Aj},ml=o(function(e,r,n){return qn[r][e]&&qn[r][e].replace&&e.charCodeAt(0)!==55349&&!(bj.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=qn[r][e].replace),new vt.TextNode(e)},"makeText"),eD=o(function(e){return e.length===1?e[0]:new vt.MathNode("mrow",e)},"makeRow"),tD=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(["\\imath","\\jmath"].includes(a))return null;qn[i][a]&&qn[i][a].replace&&(a=qn[i][a].replace);var s=He.fontMap[n].fontName;return Z8(a,s,i)?He.fontMap[n].variant:null},"getVariant");o(D8,"isNumberPunctuation");Js=o(function(e,r,n){if(e.length===1){var i=Mn(e[0],r);return n&&i instanceof Es&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,l=0;l=1&&(s.type==="mn"||D8(s))){var h=u.children[0];h instanceof Es&&h.type==="mn"&&(h.children=[...s.children,...h.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var f=s.children[0];if(f instanceof pl&&f.text==="\u0338"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var d=u.children[0];d instanceof pl&&d.text.length>0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),wf=o(function(e,r,n){return eD(Js(e,r,n))},"buildExpressionRow"),Mn=o(function(e,r){if(!e)return new vt.MathNode("mrow");if(bw[e.type]){var n=bw[e.type](e,r);return n}else throw new bt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(WY,"buildMathML");_j=o(function(e){return new yw({style:e.displayMode?dr.DISPLAY:dr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),Dj=o(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=He.makeSpan(n,[e])}return e},"displayWrap"),z_e=o(function(e,r,n){var i=_j(n),a;if(n.output==="mathml")return WY(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=U8(e,i);a=He.makeSpan(["katex"],[s])}else{var l=WY(e,r,i,n.displayMode,!1),u=U8(e,i);a=He.makeSpan(["katex"],[l,u])}return Dj(a,n)},"buildTree"),G_e=o(function(e,r,n){var i=_j(n),a=U8(e,i),s=He.makeSpan(["katex"],[a]);return Dj(s,n)},"buildHTMLTree"),V_e={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},q_e=o(function(e){var r=new vt.MathNode("mo",[new vt.TextNode(V_e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),U_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},W_e=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),H_e=o(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(["widehat","widecheck","widetilde","utilde"].includes(u)){var h=e,f=W_e(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new Uc(p),v=new Zl([y],{width:"100%",height:_t(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:He.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=U_e[u],[T,E,w]=b,k=w/1e3,S=T.length,A,L;if(S===1){var I=b[3];A=["hide-tail"],L=[I]}else if(S===2)A=["halfarrow-left","halfarrow-right"],L=["xMinYMin","xMaxYMin"];else if(S===3)A=["brace-left","brace-center","brace-right"],L=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+S+" children.");for(var N=0;N0&&(i.style.minWidth=_t(a)),i},"svgSpan"),Y_e=o(function(e,r,n,i,a){var s,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=He.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new I2({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new I2({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new Zl(h,{width:"100%",height:_t(l)});s=He.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=_t(l),s},"encloseSpan"),lh={encloseSpan:Y_e,mathMLnode:q_e,svgSpan:H_e};o(Ir,"assertNodeType");o(rD,"assertSymbolNodeType");o(Cw,"checkSymbolNodeType");nD=o((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=y_e(rn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=rn(r,e.havingCrampedStyle()),s=n.isShifty&&un.isCharacterBox(r),l=0;if(s){var u=un.getBaseElem(r),h=rn(u,e.havingCrampedStyle());l=zY(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=lh.svgSpan(n,e),p=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+_t(2*l)+")",marginLeft:_t(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=He.staticSvg("vec",e),g=He.svgData.vec[1]):(m=He.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=zY(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=He.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=_t(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=He.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),Rj=o((t,e)=>{var r=t.isStretchy?lh.mathMLnode(t.label):new vt.MathNode("mo",[ml(t.label,t.mode)]),n=new vt.MathNode("mover",[Mn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),j_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Ot({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:o((t,e)=>{var r=Tw(e[0]),n=!j_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:nD,mathmlBuilder:Rj});Ot({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:nD,mathmlBuilder:Rj});Ot({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:o((t,e)=>{var r=rn(t.base,e),n=lh.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=He.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return He.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=lh.mathMLnode(t.label),n=new vt.MathNode("munder",[Mn(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});fw=o(t=>{var e=new vt.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");Ot({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=He.wrapFragment(rn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=He.wrapFragment(rn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var l=lh.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),He.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=lh.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=fw(Mn(t.body,e));if(t.below){var a=fw(Mn(t.below,e));n=new vt.MathNode("munderover",[r,a,i])}else n=new vt.MathNode("mover",[r,i])}else if(t.below){var s=fw(Mn(t.below,e));n=new vt.MathNode("munder",[r,s])}else n=fw(),n=new vt.MathNode("mover",[r,n]);return n}});X_e=He.makeSpan;o(Lj,"htmlBuilder$9");o(Nj,"mathmlBuilder$8");Ot({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:Oi(i),isCharacterBox:un.isCharacterBox(i)}},htmlBuilder:Lj,mathmlBuilder:Nj});Aw=o(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");Ot({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:Aw(e[0]),body:Oi(e[1]),isCharacterBox:un.isCharacterBox(e[1])}}});Ot({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=Aw(i):s="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:Oi(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:un.isCharacterBox(u)}},htmlBuilder:Lj,mathmlBuilder:Nj});Ot({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:Aw(e[0]),body:Oi(e[0])}},htmlBuilder(t,e){var r=ea(t.body,e,!0),n=He.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=Js(t.body,e),n=new vt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});K_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},HY=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),YY=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),Q_e=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(Z_e,"cdArrow");o(J_e,"parseCD");Ot({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=He.wrapFragment(rn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=_t(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new vt.MathNode("mrow",[Mn(t.label,e)]);return r=new vt.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new vt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Ot({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=He.wrapFragment(rn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new vt.MathNode("mrow",[Mn(t.fragment,e)])}});Ot({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new bt("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});Mj=o((t,e)=>{var r=ea(t.body,e.withColor(t.color),!1);return He.makeFragment(r)},"htmlBuilder$8"),Ij=o((t,e)=>{var r=Js(t.body,e.withColor(t.color)),n=new vt.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");Ot({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:Oi(i)}},htmlBuilder:Mj,mathmlBuilder:Ij});Ot({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Mj,mathmlBuilder:Ij});Ot({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=He.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=_t(bi(t.size,e)))),r},mathmlBuilder(t,e){var r=new vt.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",_t(bi(t.size,e)))),r}});H8={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Oj=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new bt("Expected a control sequence",t);return e},"checkControlSequence"),e8e=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),Pj=o((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");Ot({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(H8[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=H8[n.text]),Ir(e.parseFunction(),"internal");throw new bt("Invalid token after macro prefix",n)}});Ot({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new bt("Expected a control sequence",n);for(var a=0,s,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new bt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new bt('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new bt("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===H8[r]),{type:"internal",mode:e.mode}}});Ot({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Oj(e.gullet.popToken());e.gullet.consumeSpaces();var i=e8e(e);return Pj(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Ot({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Oj(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return Pj(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});_2=o(function(e,r,n){var i=qn.math[e]&&qn.math[e].replace,a=Z8(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),iD=o(function(e,r,n,i){var a=n.havingBaseStyle(r),s=He.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),Bj=o(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=_t(a),e.height-=a,e.depth+=a},"centerSpan"),t8e=o(function(e,r,n,i,a,s){var l=He.makeSymbol(e,"Main-Regular",a,i),u=iD(l,r,i,s);return n&&Bj(u,i,r),u},"makeSmallDelim"),r8e=o(function(e,r,n,i){return He.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),Fj=o(function(e,r,n,i,a,s){var l=r8e(e,r,a,i),u=iD(He.makeSpan(["delimsizing","size"+r],[l],i),dr.TEXT,i,s);return n&&Bj(u,i,dr.TEXT),u},"makeLargeDelim"),R8=o(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=He.makeSpan(["delimsizinginner",i],[He.makeSpan([],[He.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),L8=o(function(e,r,n){var i=qc["Size4-Regular"][e.charCodeAt(0)]?qc["Size4-Regular"][e.charCodeAt(0)][4]:qc["Size1-Regular"][e.charCodeAt(0)][4],a=new Uc("inner",u_e(e,Math.round(1e3*r))),s=new Zl([a],{width:_t(i),height:_t(r),style:"width:"+_t(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=He.makeSvgSpan([],[s],n);return l.height=r,l.style.height=_t(r),l.style.width=_t(i),{type:"elem",elem:l}},"makeInner"),Y8=.008,dw={type:"kern",size:-1*Y8},n8e=["|","\\lvert","\\rvert","\\vert"],i8e=["\\|","\\lVert","\\rVert","\\Vert"],$j=o(function(e,r,n,i,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):n8e.includes(e)?(h="\u2223",d="vert",p=333):i8e.includes(e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=_2(l,m,a),y=g.height+g.depth,v=_2(h,m,a),x=v.height+v.depth,b=_2(f,m,a),T=b.height+b.depth,E=0,w=1;if(u!==null){var k=_2(u,m,a);E=k.height+k.depth,w=2}var S=y+T+E,A=Math.max(0,Math.ceil((r-S)/(w*x))),L=S+A*w*x,I=i.fontMetrics().axisHeight;n&&(I*=i.sizeMultiplier);var N=L/2-I,C=[];if(d.length>0){var _=L-y-T,D=Math.round(L*1e3),M=h_e(d,Math.round(_*1e3)),R=new Uc(d,M),P=(p/1e3).toFixed(3)+"em",B=(D/1e3).toFixed(3)+"em",F=new Zl([R],{width:P,height:B,viewBox:"0 0 "+p+" "+D}),G=He.makeSvgSpan([],[F],i);G.height=D/1e3,G.style.width=P,G.style.height=B,C.push({type:"elem",elem:G})}else{if(C.push(R8(f,m,a)),C.push(dw),u===null){var $=L-y-T+2*Y8;C.push(L8(h,$,i))}else{var V=(L-y-T-E)/2+2*Y8;C.push(L8(h,V,i)),C.push(dw),C.push(R8(u,m,a)),C.push(dw),C.push(L8(h,V,i))}C.push(dw),C.push(R8(l,m,a))}var X=i.havingBaseStyle(dr.TEXT),Q=He.makeVList({positionType:"bottom",positionData:N,children:C},X);return iD(He.makeSpan(["delimsizing","mult"],[Q],X),dr.TEXT,i,s)},"makeStackedDelim"),N8=80,M8=.08,I8=o(function(e,r,n,i,a){var s=c_e(e,i,n),l=new Uc(e,s),u=new Zl([l],{width:"400em",height:_t(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return He.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),a8e=o(function(e,r){var n=r.havingBaseSizing(),i=qj("\\surd",e*n.sizeMultiplier,Vj,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*s+N8,e<1?a=1:e<1.4&&(a=.7),u=(1+s+M8)/a,h=(1+s)/a,l=I8("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+N8)*R2[i.size],h=(R2[i.size]+s)/a,u=(R2[i.size]+s+M8)/a,l=I8("sqrtSize"+i.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+M8,h=e+s,f=Math.floor(1e3*e+s)+N8,l=I8("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=_t(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),zj=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],s8e=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],Gj=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],R2=[0,1.2,1.8,2.4,3],o8e=o(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),zj.includes(e)||Gj.includes(e))return Fj(e,r,!1,n,i,a);if(s8e.includes(e))return $j(e,R2[r],!1,n,i,a);throw new bt("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),l8e=[{type:"small",style:dr.SCRIPTSCRIPT},{type:"small",style:dr.SCRIPT},{type:"small",style:dr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],c8e=[{type:"small",style:dr.SCRIPTSCRIPT},{type:"small",style:dr.SCRIPT},{type:"small",style:dr.TEXT},{type:"stack"}],Vj=[{type:"small",style:dr.SCRIPTSCRIPT},{type:"small",style:dr.SCRIPT},{type:"small",style:dr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],u8e=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),qj=o(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return n[s]}return n[n.length-1]},"traverseSequence"),Uj=o(function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;Gj.includes(e)?l=l8e:zj.includes(e)?l=Vj:l=c8e;var u=qj(e,r,l,i);return u.type==="small"?t8e(e,u.style,n,i,a,s):u.type==="large"?Fj(e,u.size,n,i,a,s):$j(e,r,n,i,a,s)},"makeCustomSizedDelim"),h8e=o(function(e,r,n,i,a,s){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return Uj(e,d,!0,i,a,s)},"makeLeftRightDelim"),sh={sqrtImage:a8e,sizedDelim:o8e,sizeToMaxHeight:R2,customSizedDelim:Uj,leftRightDelim:h8e},jY={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},f8e=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(_w,"checkDelimiter");Ot({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:o((t,e)=>{var r=_w(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:jY[t.funcName].size,mclass:jY[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?He.makeSpan([t.mclass]):sh.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(ml(t.delim,t.mode));var r=new vt.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=_t(sh.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});o(XY,"assertParsed");Ot({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new bt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:_w(e[0],t).text,color:r}},"handler")});Ot({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=_w(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{XY(t);for(var r=ea(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{XY(t);var r=Js(t.body,e);if(t.left!=="."){var n=new vt.MathNode("mo",[ml(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new vt.MathNode("mo",[ml(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return eD(r)},"mathmlBuilder")});Ot({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=_w(e[0],t);if(!t.parser.leftrightDepth)throw new bt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=O2(e,[]);else{r=sh.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?ml("|","text"):ml(t.delim,t.mode),n=new vt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});aD=o((t,e)=>{var r=He.wrapFragment(rn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,l=un.isCharacterBox(t.body);if(n==="sout")a=He.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=bi({number:.6,unit:"pt"},e),h=bi({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=_t(d/2+u);var p=Math.floor(1e3*d*i),m=o_e(p),g=new Zl([new Uc("phase",m)],{width:"400em",height:_t(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=He.makeSvgSpan(["hide-tail"],[g],e),a.style.height=_t(d),s=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=lh.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=_t(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=_t(x),a.style.borderRightWidth=_t(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var T=/cancel|phase/.test(n)?["svg-align"]:[];b=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?He.makeSpan(["mord","cancel-lap"],[b],e):He.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),sD=o((t,e)=>{var r=0,n=new vt.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Mn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");Ot({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:aD,mathmlBuilder:sD});Ot({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:aD,mathmlBuilder:sD});Ot({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Ot({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:aD,mathmlBuilder:sD});Ot({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});Wj={};o(Wc,"defineEnvironment");Hj={};o(ue,"defineMacro");o(KY,"getHLines");Dw=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new bt("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o(oD,"getAutoTag");o(kf,"parseArray");o(lD,"dCellStyle");Hc=o(function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(dr.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?bi({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,T=0;function E(we){for(var _e=0;_e0&&(T+=.25),h.push({pos:T,isDashed:we[_e]})}for(o(E,"setHLinePos"),E(s[0]),n=0;n0&&(N+=b,Swe))for(n=0;n=l)){var Y=void 0;(i>0||e.hskipBeforeAndAfter)&&(Y=un.deflt(V.pregap,p),Y!==0&&(M=He.makeSpan(["arraycolsep"],[]),M.style.width=_t(Y),D.push(M)));var le=[];for(n=0;n0){for(var Z=He.makeLineSpan("hline",r,f),xe=He.makeLineSpan("hdashline",r,f),de=[{type:"elem",elem:u,shift:0}];h.length>0;){var Se=h.pop(),Me=Se.pos-C;Se.isDashed?de.push({type:"elem",elem:xe,shift:Me}):de.push({type:"elem",elem:Z,shift:Me})}u=He.makeVList({positionType:"individualShift",children:de},r)}if(P.length===0)return He.makeSpan(["mord"],[u],r);var ke=He.makeVList({positionType:"individualShift",children:P},r);return ke=He.makeSpan(["tag"],[ke],r),He.makeFragment([u,ke])},"htmlBuilder"),d8e={c:"center ",l:"left ",r:"right "},Yc=o(function(e,r){for(var n=[],i=new vt.MathNode("mtd",[],["mtr-glue"]),a=new vt.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var T=x;T0?"left ":"",p+=A[A.length-1].length>0?"right ":"";for(var L=1;L-1?"alignat":"align",a=e.envName==="split",s=kf(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:oD(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");Wc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=Cw(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var l=rD(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new bt("Unknown column alignment: "+u,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return kf(t.parser,a,lD(t.envName))},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new bt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=kf(t.parser,n,lD(t.envName)),s=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=kf(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=Cw(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var l=rD(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new bt("Unknown column alignment: "+u,s)});if(i.length>1)throw new bt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=kf(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new bt("{subarray} can contain only one column");return a},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=kf(t.parser,e,lD(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Yj,htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){["gather","gather*"].includes(t.envName)&&Dw(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:oD(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return kf(t.parser,e,"display")},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Yj,htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){Dw(t);var e={autoTag:oD(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return kf(t.parser,e,"display")},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return Dw(t),J_e(t.parser)},htmlBuilder:Hc,mathmlBuilder:Yc});ue("\\nonumber","\\gdef\\@eqnsw{0}");ue("\\notag","\\nonumber");Ot({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new bt(t.funcName+" valid only within array environment")}});QY=Wj;Ot({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new bt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return rn(t.body,n)},"htmlBuilder$5"),Xj=o((t,e)=>{var r=t.font,n=e.withFont(r);return Mn(t.body,n)},"mathmlBuilder$4"),ZY={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Ot({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=Tw(e[0]),a=n;return a in ZY&&(a=ZY[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:jj,mathmlBuilder:Xj});Ot({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,n=e[0],i=un.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Aw(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});Ot({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:jj,mathmlBuilder:Xj});Kj=o((t,e)=>{var r=e;return t==="display"?r=r.id>=dr.SCRIPT.id?r.text():dr.DISPLAY:t==="text"&&r.size===dr.DISPLAY.size?r=dr.TEXT:t==="script"?r=dr.SCRIPT:t==="scriptscript"&&(r=dr.SCRIPTSCRIPT),r},"adjustStyle"),cD=o((t,e)=>{var r=Kj(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=rn(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new vt.MathNode("mfrac",[Mn(t.numer,e),Mn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=bi(t.barSize,e);r.setAttribute("linethickness",_t(n))}var i=Kj(t.size,e.style);if(i.size!==e.style.size){r=new vt.MathNode("mstyle",[r]);var a=i.size===dr.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new vt.MathNode("mo",[new vt.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new vt.MathNode("mo",[new vt.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return eD(s)}return r},"mathmlBuilder$3");Ot({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:cD,mathmlBuilder:uD});Ot({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});Ot({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});JY=["display","text","script","scriptscript"],ej=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");Ot({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=Tw(e[0]),s=a.type==="atom"&&a.family==="open"?ej(a.text):null,l=Tw(e[1]),u=l.type==="atom"&&l.family==="close"?ej(l.text):null,h=Ir(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=Ir(m.body[0],"textord");p=JY[Number(g.text)]}}else m=Ir(m,"textord"),p=JY[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:cD,mathmlBuilder:uD});Ot({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Ot({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=H7e(Ir(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:cD,mathmlBuilder:uD});Qj=o((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?rn(t.sup,e.havingStyle(r.sup()),e):rn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=rn(i.base,e.havingBaseStyle(dr.DISPLAY)),s=lh.svgSpan(i,e),l;if(i.isOver?(l=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=He.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=He.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=He.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return He.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),p8e=o((t,e)=>{var r=lh.mathMLnode(t.label);return new vt.MathNode(t.isOver?"mover":"munder",[Mn(t.base,e),r])},"mathmlBuilder$2");Ot({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:Qj,mathmlBuilder:p8e});Ot({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:Oi(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=ea(t.body,e,!1);return He.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=wf(t.body,e);return r instanceof Es||(r=new Es("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});Ot({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=ea(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=He.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:o((t,e)=>wf(t.body,e),"mathmlBuilder")});Ot({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:Oi(e[0]),mathml:Oi(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=ea(t.html,e,!1);return He.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>wf(t.mathml,e),"mathmlBuilder")});O8=o(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new bt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!gj(n))throw new bt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");Ot({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=Ir(r[0],"raw").string,h=u.split(","),f=0;f{var r=bi(t.height,e),n=0;t.totalheight.number>0&&(n=bi(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=bi(t.width,e));var a={height:_t(r+n)};i>0&&(a.width=_t(i)),n>0&&(a.verticalAlign=_t(-n));var s=new G8(t.src,t.alt,a);return s.height=r,s.depth=n,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new vt.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=bi(t.height,e),i=0;if(t.totalheight.number>0&&(i=bi(t.totalheight,e)-n,r.setAttribute("valign",_t(-i))),r.setAttribute("height",_t(n+i)),t.width.number>0){var a=bi(t.width,e);r.setAttribute("width",_t(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});Ot({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return He.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=bi(t.dimension,e);return new vt.SpaceNode(r)}});Ot({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=He.makeSpan([],[rn(t.body,e)]),r=He.makeSpan(["inner"],[r],e)):r=He.makeSpan(["inner"],[rn(t.body,e)]);var n=He.makeSpan(["fix"],[]),i=He.makeSpan([t.alignment],[r,n],e),a=He.makeSpan(["strut"]);return a.style.height=_t(i.height+i.depth),i.depth&&(a.style.verticalAlign=_t(-i.depth)),i.children.unshift(a),i=He.makeSpan(["thinbox"],[i],e),He.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new vt.MathNode("mpadded",[Mn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});Ot({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Ot({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new bt("Mismatched "+t.funcName)}});tj=o((t,e)=>{switch(e.style.size){case dr.DISPLAY.size:return t.display;case dr.TEXT.size:return t.text;case dr.SCRIPT.size:return t.script;case dr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");Ot({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:Oi(e[0]),text:Oi(e[1]),script:Oi(e[2]),scriptscript:Oi(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=tj(t,e),n=ea(r,e,!1);return He.makeFragment(n)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=tj(t,e);return wf(r,e)},"mathmlBuilder")});Zj=o((t,e,r,n,i,a,s)=>{t=He.makeSpan([],[t]);var l=r&&un.isCharacterBox(r),u,h;if(e){var f=rn(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=rn(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=He.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:_t(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:_t(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-s;p=He.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:_t(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+s;p=He.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:_t(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=He.makeSpan(["mspace"],[],n);x.style.marginRight=_t(a),v.unshift(x)}return He.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),Jj=["\\smallint"],mg=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,l=!1;s.size===dr.DISPLAY.size&&a.symbol&&!Jj.includes(a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=He.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=He.staticSvg(f+"Size"+(l?"2":"1"),e);u=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=ea(a.body,e,!0);m.length===1&&m[0]instanceof Zs?(u=m[0],u.classes[0]="mop"):u=He.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new Es("mo",[ml(t.name,t.mode)]),Jj.includes(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Es("mo",Js(t.body,e));else{r=new Es("mi",[new pl(t.name.slice(1))]);var n=new Es("mo",[ml("\u2061","text")]);t.parentIsSupSub?r=new Es("mrow",[r,n]):r=Aj([r,n])}return r},"mathmlBuilder$1"),m8e={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};Ot({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=m8e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:mg,mathmlBuilder:P2});Ot({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Oi(n)}},"handler"),htmlBuilder:mg,mathmlBuilder:P2});g8e={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};Ot({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:mg,mathmlBuilder:P2});Ot({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:mg,mathmlBuilder:P2});Ot({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=g8e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:mg,mathmlBuilder:P2});eX=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=ea(l,e.withFont("mathrm"),!0),h=0;h{for(var r=Js(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new vt.TextNode(l)]}var u=new vt.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new vt.MathNode("mo",[ml("\u2061","text")]);return t.parentIsSupSub?new vt.MathNode("mrow",[u,h]):vt.newDocumentFragment([u,h])},"mathmlBuilder");Ot({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:Oi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:eX,mathmlBuilder:y8e});ue("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Mp({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?He.makeFragment(ea(t.body,e,!1)):He.makeSpan(["mord"],ea(t.body,e,!0),e)},mathmlBuilder(t,e){return wf(t.body,e,!0)}});Ot({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=rn(t.body,e.havingCrampedStyle()),n=He.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return He.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new vt.MathNode("mo",[new vt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new vt.MathNode("mover",[Mn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Ot({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:Oi(n)}},"handler"),htmlBuilder:o((t,e)=>{var r=ea(t.body,e.withPhantom(),!1);return He.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Js(t.body,e);return new vt.MathNode("mphantom",r)},"mathmlBuilder")});Ot({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=He.makeSpan([],[rn(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=Js(Oi(t.body),e),n=new vt.MathNode("mphantom",r),i=new vt.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});Ot({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=He.makeSpan(["inner"],[rn(t.body,e.withPhantom())]),n=He.makeSpan(["fix"],[]);return He.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Js(Oi(t.body),e),n=new vt.MathNode("mphantom",r),i=new vt.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});Ot({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=rn(t.body,e),n=bi(t.dy,e);return He.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new vt.MathNode("mpadded",[Mn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Ot({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Ot({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=He.makeSpan(["mord","rule"],[],e),n=bi(t.width,e),i=bi(t.height,e),a=t.shift?bi(t.shift,e):0;return r.style.borderRightWidth=_t(n),r.style.borderTopWidth=_t(i),r.style.bottom=_t(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=bi(t.width,e),n=bi(t.height,e),i=t.shift?bi(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new vt.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",_t(r)),s.setAttribute("height",_t(n));var l=new vt.MathNode("mpadded",[s]);return i>=0?l.setAttribute("height",_t(i)):(l.setAttribute("height",_t(i)),l.setAttribute("depth",_t(-i))),l.setAttribute("voffset",_t(i)),l}});o(tX,"sizingGroup");rj=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],v8e=o((t,e)=>{var r=e.havingSize(t.size);return tX(t.body,r,e)},"htmlBuilder");Ot({type:"sizing",names:rj,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:rj.indexOf(n)+1,body:a}},"handler"),htmlBuilder:v8e,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),n=Js(t.body,r),i=new vt.MathNode("mstyle",n);return i.setAttribute("mathsize",_t(r.sizeMultiplier)),i},"mathmlBuilder")});Ot({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=He.makeSpan([],[rn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new vt.MathNode("mpadded",[Mn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});Ot({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=rn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=He.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=_t(f);var m=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(dr.SCRIPTSCRIPT),y=rn(t.index,g,e),v=.6*(m.height-m.depth),x=He.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=He.makeSpan(["root"],[x]);return He.makeSpan(["mord","sqrt"],[b,m],e)}else return He.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new vt.MathNode("mroot",[Mn(r,e),Mn(n,e)]):new vt.MathNode("msqrt",[Mn(r,e)])}});nj={display:dr.DISPLAY,text:dr.TEXT,script:dr.SCRIPT,scriptscript:dr.SCRIPTSCRIPT};Ot({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=nj[t.style],n=e.havingStyle(r).withFont("");return tX(t.body,n,e)},mathmlBuilder(t,e){var r=nj[t.style],n=e.havingStyle(r),i=Js(t.body,n),a=new vt.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});x8e=o(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===dr.DISPLAY.size||n.alwaysHandleSupSub);return i?mg:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===dr.DISPLAY.size||n.limits);return a?eX:null}else{if(n.type==="accent")return un.isCharacterBox(n.base)?nD:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?Qj:null}else return null}else return null},"htmlBuilderDelegate");Mp({type:"supsub",htmlBuilder(t,e){var r=x8e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=rn(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&un.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=rn(i,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=rn(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===dr.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=_t(.5/h.ptPerEm/v),b=null;if(u){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof Zs||T)&&(b=_t(-s.italic))}var E;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=h.defaultRuleThickness,k=4*w;if(f-l.depth-(u.height-d)0&&(f+=S,d-=S)}var A=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];E=He.makeVList({positionType:"individualShift",children:A},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var L=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];E=He.makeVList({positionType:"shift",positionData:d,children:L},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),E=He.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var I=q8(s,"right")||"mord";return He.makeSpan([I],[s,He.makeSpan(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Mn(t.base,e)];t.sub&&a.push(Mn(t.sub,e)),t.sup&&a.push(Mn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===dr.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===dr.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===dr.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===dr.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===dr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===dr.DISPLAY)?s="mover":s="msup"}return new vt.MathNode(s,a)}});Mp({type:"atom",htmlBuilder(t,e){return He.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new vt.MathNode("mo",[ml(t.text,t.mode)]);if(t.family==="bin"){var n=tD(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});rX={mi:"italic",mn:"normal",mtext:"normal"};Mp({type:"mathord",htmlBuilder(t,e){return He.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new vt.MathNode("mi",[ml(t.text,t.mode,e)]),n=tD(t,e)||"italic";return n!==rX[r.type]&&r.setAttribute("mathvariant",n),r}});Mp({type:"textord",htmlBuilder(t,e){return He.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=ml(t.text,t.mode,e),n=tD(t,e)||"normal",i;return t.mode==="text"?i=new vt.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new vt.MathNode("mn",[r]):t.text==="\\prime"?i=new vt.MathNode("mo",[r]):i=new vt.MathNode("mi",[r]),n!==rX[i.type]&&i.setAttribute("mathvariant",n),i}});P8={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},B8={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Mp({type:"spacing",htmlBuilder(t,e){if(B8.hasOwnProperty(t.text)){var r=B8[t.text].className||"";if(t.mode==="text"){var n=He.makeOrd(t,e,"textord");return n.classes.push(r),n}else return He.makeSpan(["mspace",r],[He.mathsym(t.text,t.mode,e)],e)}else{if(P8.hasOwnProperty(t.text))return He.makeSpan(["mspace",P8[t.text]],[],e);throw new bt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(B8.hasOwnProperty(t.text))r=new vt.MathNode("mtext",[new vt.TextNode("\xA0")]);else{if(P8.hasOwnProperty(t.text))return new vt.MathNode("mspace");throw new bt('Unknown type of space "'+t.text+'"')}return r}});ij=o(()=>{var t=new vt.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Mp({type:"tag",mathmlBuilder(t,e){var r=new vt.MathNode("mtable",[new vt.MathNode("mtr",[ij(),new vt.MathNode("mtd",[wf(t.body,e)]),ij(),new vt.MathNode("mtd",[wf(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});aj={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},sj={"\\textbf":"textbf","\\textmd":"textmd"},b8e={"\\textit":"textit","\\textup":"textup"},oj=o((t,e)=>{var r=t.font;if(r){if(aj[r])return e.withTextFontFamily(aj[r]);if(sj[r])return e.withTextFontWeight(sj[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(b8e[r])},"optionsWithFont");Ot({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:Oi(i),font:n}},htmlBuilder(t,e){var r=oj(t,e),n=ea(t.body,r,!0);return He.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=oj(t,e);return wf(t.body,r)}});Ot({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=rn(t.body,e),n=He.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=He.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return He.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new vt.MathNode("mo",[new vt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new vt.MathNode("munder",[Mn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Ot({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=rn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return He.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new vt.MathNode("mpadded",[Mn(t.body,e)],["vcenter"])}});Ot({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new bt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=lj(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),bf=Sj,nX=`[ \r + ]`,T8e="\\\\[a-zA-Z@]+",w8e="\\\\[^\uD800-\uDFFF]",k8e="("+T8e+")"+nX+"*",E8e=`\\\\( |[ \r ]+ -?)[ \r ]*`,M_="[\u0300-\u036F]",V7e=new RegExp(M_+"+$"),q7e="("+kj+"+)|"+(G7e+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(M_+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(M_+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+z7e)+("|"+$7e+")"),cw=class{static{o(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(q7e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new sl("EOF",new Do(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new vt("Unexpected character: '"+e[r]+"'",new sl(e[r],new Do(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new sl(i,new Do(this,r,this.tokenRegex.lastIndex))}},I_=class{static{o(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new vt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},U7e=fj;fe("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});fe("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});fe("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});fe("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});fe("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});fe("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");fe("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});DY={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};fe("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new vt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=DY[e.text],n==null||n>=r)throw new vt("Invalid base-"+r+" digit "+e.text);for(var i;(i=DY[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new vt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new vt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new vt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var l=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var u="",h=t.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=t.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new vt("Invalid number of arguments: "+u);l=parseInt(u),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:l}),""},"newcommand");fe("\\newcommand",t=>K_(t,!1,!0,!1));fe("\\renewcommand",t=>K_(t,!0,!1,!1));fe("\\providecommand",t=>K_(t,!0,!0,!0));fe("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});fe("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});fe("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),pf[r],zn.math[r],zn.text[r]),""});fe("\\bgroup","{");fe("\\egroup","}");fe("~","\\nobreakspace");fe("\\lq","`");fe("\\rq","'");fe("\\aa","\\r a");fe("\\AA","\\r A");fe("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");fe("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");fe("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");fe("\u212C","\\mathscr{B}");fe("\u2130","\\mathscr{E}");fe("\u2131","\\mathscr{F}");fe("\u210B","\\mathscr{H}");fe("\u2110","\\mathscr{I}");fe("\u2112","\\mathscr{L}");fe("\u2133","\\mathscr{M}");fe("\u211B","\\mathscr{R}");fe("\u212D","\\mathfrak{C}");fe("\u210C","\\mathfrak{H}");fe("\u2128","\\mathfrak{Z}");fe("\\Bbbk","\\Bbb{k}");fe("\xB7","\\cdotp");fe("\\llap","\\mathllap{\\textrm{#1}}");fe("\\rlap","\\mathrlap{\\textrm{#1}}");fe("\\clap","\\mathclap{\\textrm{#1}}");fe("\\mathstrut","\\vphantom{(}");fe("\\underbar","\\underline{\\text{#1}}");fe("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');fe("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");fe("\\ne","\\neq");fe("\u2260","\\neq");fe("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");fe("\u2209","\\notin");fe("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");fe("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");fe("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");fe("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");fe("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");fe("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");fe("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");fe("\u27C2","\\perp");fe("\u203C","\\mathclose{!\\mkern-0.8mu!}");fe("\u220C","\\notni");fe("\u231C","\\ulcorner");fe("\u231D","\\urcorner");fe("\u231E","\\llcorner");fe("\u231F","\\lrcorner");fe("\xA9","\\copyright");fe("\xAE","\\textregistered");fe("\uFE0F","\\textregistered");fe("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');fe("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');fe("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');fe("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');fe("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");fe("\u22EE","\\vdots");fe("\\varGamma","\\mathit{\\Gamma}");fe("\\varDelta","\\mathit{\\Delta}");fe("\\varTheta","\\mathit{\\Theta}");fe("\\varLambda","\\mathit{\\Lambda}");fe("\\varXi","\\mathit{\\Xi}");fe("\\varPi","\\mathit{\\Pi}");fe("\\varSigma","\\mathit{\\Sigma}");fe("\\varUpsilon","\\mathit{\\Upsilon}");fe("\\varPhi","\\mathit{\\Phi}");fe("\\varPsi","\\mathit{\\Psi}");fe("\\varOmega","\\mathit{\\Omega}");fe("\\substack","\\begin{subarray}{c}#1\\end{subarray}");fe("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");fe("\\boxed","\\fbox{$\\displaystyle{#1}$}");fe("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");fe("\\implies","\\DOTSB\\;\\Longrightarrow\\;");fe("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");fe("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");fe("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");RY={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};fe("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in RY?e=RY[r]:(r.slice(0,4)==="\\not"||r in zn.math&&ar.contains(["bin","rel"],zn.math[r].group))&&(e="\\dotsb"),e});Q_={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};fe("\\dotso",function(t){var e=t.future().text;return e in Q_?"\\ldots\\,":"\\ldots"});fe("\\dotsc",function(t){var e=t.future().text;return e in Q_&&e!==","?"\\ldots\\,":"\\ldots"});fe("\\cdots",function(t){var e=t.future().text;return e in Q_?"\\@cdots\\,":"\\@cdots"});fe("\\dotsb","\\cdots");fe("\\dotsm","\\cdots");fe("\\dotsi","\\!\\cdots");fe("\\dotsx","\\ldots\\,");fe("\\DOTSI","\\relax");fe("\\DOTSB","\\relax");fe("\\DOTSX","\\relax");fe("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");fe("\\,","\\tmspace+{3mu}{.1667em}");fe("\\thinspace","\\,");fe("\\>","\\mskip{4mu}");fe("\\:","\\tmspace+{4mu}{.2222em}");fe("\\medspace","\\:");fe("\\;","\\tmspace+{5mu}{.2777em}");fe("\\thickspace","\\;");fe("\\!","\\tmspace-{3mu}{.1667em}");fe("\\negthinspace","\\!");fe("\\negmedspace","\\tmspace-{4mu}{.2222em}");fe("\\negthickspace","\\tmspace-{5mu}{.277em}");fe("\\enspace","\\kern.5em ");fe("\\enskip","\\hskip.5em\\relax");fe("\\quad","\\hskip1em\\relax");fe("\\qquad","\\hskip2em\\relax");fe("\\tag","\\@ifstar\\tag@literal\\tag@paren");fe("\\tag@paren","\\tag@literal{({#1})}");fe("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new vt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});fe("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");fe("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");fe("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");fe("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");fe("\\newline","\\\\\\relax");fe("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");Sj=_t(Oc["Main-Regular"][84][1]-.7*Oc["Main-Regular"][65][1]);fe("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Sj+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");fe("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Sj+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");fe("\\hspace","\\@ifstar\\@hspacer\\@hspace");fe("\\@hspace","\\hskip #1\\relax");fe("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");fe("\\ordinarycolon",":");fe("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");fe("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');fe("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');fe("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');fe("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');fe("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');fe("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');fe("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');fe("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');fe("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');fe("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');fe("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');fe("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');fe("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');fe("\u2237","\\dblcolon");fe("\u2239","\\eqcolon");fe("\u2254","\\coloneqq");fe("\u2255","\\eqqcolon");fe("\u2A74","\\Coloneqq");fe("\\ratio","\\vcentcolon");fe("\\coloncolon","\\dblcolon");fe("\\colonequals","\\coloneqq");fe("\\coloncolonequals","\\Coloneqq");fe("\\equalscolon","\\eqqcolon");fe("\\equalscoloncolon","\\Eqqcolon");fe("\\colonminus","\\coloneq");fe("\\coloncolonminus","\\Coloneq");fe("\\minuscolon","\\eqcolon");fe("\\minuscoloncolon","\\Eqcolon");fe("\\coloncolonapprox","\\Colonapprox");fe("\\coloncolonsim","\\Colonsim");fe("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");fe("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");fe("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");fe("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");fe("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");fe("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");fe("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");fe("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");fe("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");fe("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");fe("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");fe("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");fe("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");fe("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");fe("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");fe("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");fe("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");fe("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");fe("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");fe("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");fe("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");fe("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");fe("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");fe("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");fe("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");fe("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");fe("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");fe("\\imath","\\html@mathml{\\@imath}{\u0131}");fe("\\jmath","\\html@mathml{\\@jmath}{\u0237}");fe("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");fe("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");fe("\u27E6","\\llbracket");fe("\u27E7","\\rrbracket");fe("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");fe("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");fe("\u2983","\\lBrace");fe("\u2984","\\rBrace");fe("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");fe("\u29B5","\\minuso");fe("\\darr","\\downarrow");fe("\\dArr","\\Downarrow");fe("\\Darr","\\Downarrow");fe("\\lang","\\langle");fe("\\rang","\\rangle");fe("\\uarr","\\uparrow");fe("\\uArr","\\Uparrow");fe("\\Uarr","\\Uparrow");fe("\\N","\\mathbb{N}");fe("\\R","\\mathbb{R}");fe("\\Z","\\mathbb{Z}");fe("\\alef","\\aleph");fe("\\alefsym","\\aleph");fe("\\Alpha","\\mathrm{A}");fe("\\Beta","\\mathrm{B}");fe("\\bull","\\bullet");fe("\\Chi","\\mathrm{X}");fe("\\clubs","\\clubsuit");fe("\\cnums","\\mathbb{C}");fe("\\Complex","\\mathbb{C}");fe("\\Dagger","\\ddagger");fe("\\diamonds","\\diamondsuit");fe("\\empty","\\emptyset");fe("\\Epsilon","\\mathrm{E}");fe("\\Eta","\\mathrm{H}");fe("\\exist","\\exists");fe("\\harr","\\leftrightarrow");fe("\\hArr","\\Leftrightarrow");fe("\\Harr","\\Leftrightarrow");fe("\\hearts","\\heartsuit");fe("\\image","\\Im");fe("\\infin","\\infty");fe("\\Iota","\\mathrm{I}");fe("\\isin","\\in");fe("\\Kappa","\\mathrm{K}");fe("\\larr","\\leftarrow");fe("\\lArr","\\Leftarrow");fe("\\Larr","\\Leftarrow");fe("\\lrarr","\\leftrightarrow");fe("\\lrArr","\\Leftrightarrow");fe("\\Lrarr","\\Leftrightarrow");fe("\\Mu","\\mathrm{M}");fe("\\natnums","\\mathbb{N}");fe("\\Nu","\\mathrm{N}");fe("\\Omicron","\\mathrm{O}");fe("\\plusmn","\\pm");fe("\\rarr","\\rightarrow");fe("\\rArr","\\Rightarrow");fe("\\Rarr","\\Rightarrow");fe("\\real","\\Re");fe("\\reals","\\mathbb{R}");fe("\\Reals","\\mathbb{R}");fe("\\Rho","\\mathrm{P}");fe("\\sdot","\\cdot");fe("\\sect","\\S");fe("\\spades","\\spadesuit");fe("\\sub","\\subset");fe("\\sube","\\subseteq");fe("\\supe","\\supseteq");fe("\\Tau","\\mathrm{T}");fe("\\thetasym","\\vartheta");fe("\\weierp","\\wp");fe("\\Zeta","\\mathrm{Z}");fe("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");fe("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");fe("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");fe("\\bra","\\mathinner{\\langle{#1}|}");fe("\\ket","\\mathinner{|{#1}\\rangle}");fe("\\braket","\\mathinner{\\langle{#1}\\rangle}");fe("\\Bra","\\left\\langle#1\\right|");fe("\\Ket","\\left|#1\\right\\rangle");Ej=o(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");fe("\\bra@ket",Ej(!1));fe("\\bra@set",Ej(!0));fe("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");fe("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");fe("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");fe("\\angln","{\\angl n}");fe("\\blue","\\textcolor{##6495ed}{#1}");fe("\\orange","\\textcolor{##ffa500}{#1}");fe("\\pink","\\textcolor{##ff00af}{#1}");fe("\\red","\\textcolor{##df0030}{#1}");fe("\\green","\\textcolor{##28ae7b}{#1}");fe("\\gray","\\textcolor{gray}{#1}");fe("\\purple","\\textcolor{##9d38bd}{#1}");fe("\\blueA","\\textcolor{##ccfaff}{#1}");fe("\\blueB","\\textcolor{##80f6ff}{#1}");fe("\\blueC","\\textcolor{##63d9ea}{#1}");fe("\\blueD","\\textcolor{##11accd}{#1}");fe("\\blueE","\\textcolor{##0c7f99}{#1}");fe("\\tealA","\\textcolor{##94fff5}{#1}");fe("\\tealB","\\textcolor{##26edd5}{#1}");fe("\\tealC","\\textcolor{##01d1c1}{#1}");fe("\\tealD","\\textcolor{##01a995}{#1}");fe("\\tealE","\\textcolor{##208170}{#1}");fe("\\greenA","\\textcolor{##b6ffb0}{#1}");fe("\\greenB","\\textcolor{##8af281}{#1}");fe("\\greenC","\\textcolor{##74cf70}{#1}");fe("\\greenD","\\textcolor{##1fab54}{#1}");fe("\\greenE","\\textcolor{##0d923f}{#1}");fe("\\goldA","\\textcolor{##ffd0a9}{#1}");fe("\\goldB","\\textcolor{##ffbb71}{#1}");fe("\\goldC","\\textcolor{##ff9c39}{#1}");fe("\\goldD","\\textcolor{##e07d10}{#1}");fe("\\goldE","\\textcolor{##a75a05}{#1}");fe("\\redA","\\textcolor{##fca9a9}{#1}");fe("\\redB","\\textcolor{##ff8482}{#1}");fe("\\redC","\\textcolor{##f9685d}{#1}");fe("\\redD","\\textcolor{##e84d39}{#1}");fe("\\redE","\\textcolor{##bc2612}{#1}");fe("\\maroonA","\\textcolor{##ffbde0}{#1}");fe("\\maroonB","\\textcolor{##ff92c6}{#1}");fe("\\maroonC","\\textcolor{##ed5fa6}{#1}");fe("\\maroonD","\\textcolor{##ca337c}{#1}");fe("\\maroonE","\\textcolor{##9e034e}{#1}");fe("\\purpleA","\\textcolor{##ddd7ff}{#1}");fe("\\purpleB","\\textcolor{##c6b9fc}{#1}");fe("\\purpleC","\\textcolor{##aa87ff}{#1}");fe("\\purpleD","\\textcolor{##7854ab}{#1}");fe("\\purpleE","\\textcolor{##543b78}{#1}");fe("\\mintA","\\textcolor{##f5f9e8}{#1}");fe("\\mintB","\\textcolor{##edf2df}{#1}");fe("\\mintC","\\textcolor{##e0e5cc}{#1}");fe("\\grayA","\\textcolor{##f6f7f7}{#1}");fe("\\grayB","\\textcolor{##f0f1f2}{#1}");fe("\\grayC","\\textcolor{##e3e5e6}{#1}");fe("\\grayD","\\textcolor{##d6d8da}{#1}");fe("\\grayE","\\textcolor{##babec2}{#1}");fe("\\grayF","\\textcolor{##888d93}{#1}");fe("\\grayG","\\textcolor{##626569}{#1}");fe("\\grayH","\\textcolor{##3b3e40}{#1}");fe("\\grayI","\\textcolor{##21242c}{#1}");fe("\\kaBlue","\\textcolor{##314453}{#1}");fe("\\kaGreen","\\textcolor{##71B307}{#1}");Cj={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},O_=class{static{o(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new I_(U7e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new cw(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new sl("EOF",n.loc)),this.pushTokens(i),r.range(n,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new vt("Extra }",a)}else if(a.text==="EOF")throw new vt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new vt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new vt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new vt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new vt("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new vt("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new sl(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var s=i.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new cw(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||pf.hasOwnProperty(e)||zn.math.hasOwnProperty(e)||zn.text.hasOwnProperty(e)||Cj.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:pf.hasOwnProperty(e)&&!pf[e].primitive}},LY=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,tw=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),k_={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},NY={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},uw=class t{static{o(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new O_(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new vt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new sl("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&pf[i.text]&&pf[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=zn[this.mode][r].group,u=Do.range(e),h;if(OAe.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(IY(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Do.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),ff.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var Lp,H7e,Y7e,Bj,Oj,fr,X7e,K7e,Q7e,Z7e,Fj,Np,Sr,J7e,e8e,zc,eD,t8e,r8e,Pj,vw,Nn,Mp,n8e,vf,nt,wr=I(()=>{"use strict";u_();Lp=//gi,H7e=o(t=>t?Fj(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Y7e=(()=>{let t=!1;return()=>{t||(j7e(),t=!0)}})();o(j7e,"setupDompurifyHooks");Bj=o(t=>(Y7e(),ff.sanitize(t)),"removeScript"),Oj=o((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;r==="antiscript"||r==="strict"?t=Bj(t):r!=="loose"&&(t=Fj(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Z7e(t))}return t},"sanitizeMore"),fr=o((t,e)=>t&&(e.dompurifyConfig?t=ff.sanitize(Oj(t,e),e.dompurifyConfig).toString():t=ff.sanitize(Oj(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),X7e=o((t,e)=>typeof t=="string"?fr(t,e):t.flat().map(r=>fr(r,e)),"sanitizeTextOrArray"),K7e=o(t=>Lp.test(t),"hasBreaks"),Q7e=o(t=>t.split(Lp),"splitBreaks"),Z7e=o(t=>t.replace(/#br#/g,"
"),"placeholderToBreak"),Fj=o(t=>t.replace(Lp,"#br#"),"breakToPlaceholder"),Np=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),Sr=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),J7e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),e8e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),zc=o(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),t8e=o((t,e)=>{let r=eD(t,"~"),n=eD(e,"~");return r===1&&n===1},"shouldCombineSets"),r8e=o(t=>{let e=eD(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),Pj=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),vw=/\$\$(.*)\$\$/g,Nn=o(t=>(t.match(vw)?.length??0)>0,"hasKatex"),Mp=o(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await vf(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),n8e=o(async(t,e)=>{if(!Nn(t))return t;if(!(Pj()||e.legacyMathML||e.forceLegacyMathML))return t.replace(vw,"MathML is unsupported in this environment.");{let{default:r}=await Promise.resolve().then(()=>(Ij(),Mj)),n=e.forceLegacyMathML||!Pj()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Lp).map(i=>Nn(i)?`
${i}
`:`
${i}
`).join("").replace(vw,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}return t.replace(vw,"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.")},"renderKatexUnsanitized"),vf=o(async(t,e)=>fr(await n8e(t,e),e),"renderKatexSanitized"),nt={getRows:H7e,sanitizeText:fr,sanitizeTextOrArray:X7e,hasBreaks:K7e,splitBreaks:Q7e,lineBreakRegex:Lp,removeScript:Bj,getUrl:Np,evaluate:Sr,getMax:J7e,getMin:e8e}});var rD,tD,$j,xw,zj,Gj,Ks,Gc=I(()=>{"use strict";YW();ti();wr();gt();rD={body:'?',height:80,width:80},tD=new Map,$j=new Map,xw=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(X.debug("Registering icon pack:",e.name),"loader"in e)$j.set(e.name,e.loader);else if("icons"in e)tD.set(e.name,e.icons);else throw X.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),zj=o(async(t,e)=>{let r=L8(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=tD.get(n);if(!i){let s=$j.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},tD.set(n,i)}catch(l){throw X.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=M8(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),Gj=o(async t=>{try{return await zj(t),!0}catch{return!1}},"isIconAvailable"),Ks=o(async(t,e,r)=>{let n;try{n=await zj(t,e?.fallbackPrefix)}catch(s){X.error(s),n=rD}let i=O8(n,e),a=B8(P8(i.body),{...i.attributes,...r});return fr(a,tr())},"getIconSVG")});function bw(t){for(var e=[],r=1;r0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},A8e=Hj;ue("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ue("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ue("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ue("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ue("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ue("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ue("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});cj={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ue("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new bt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=cj[e.text],n==null||n>=r)throw new bt("Invalid base-"+r+" digit "+e.text);for(var i;(i=cj[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new bt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new bt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new bt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var l=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var u="",h=t.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=t.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new bt("Invalid number of arguments: "+u);l=parseInt(u),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:l}),""},"newcommand");ue("\\newcommand",t=>hD(t,!1,!0,!1));ue("\\renewcommand",t=>hD(t,!0,!1,!1));ue("\\providecommand",t=>hD(t,!0,!0,!0));ue("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ue("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ue("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),bf[r],qn.math[r],qn.text[r]),""});ue("\\bgroup","{");ue("\\egroup","}");ue("~","\\nobreakspace");ue("\\lq","`");ue("\\rq","'");ue("\\aa","\\r a");ue("\\AA","\\r A");ue("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");ue("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ue("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");ue("\u212C","\\mathscr{B}");ue("\u2130","\\mathscr{E}");ue("\u2131","\\mathscr{F}");ue("\u210B","\\mathscr{H}");ue("\u2110","\\mathscr{I}");ue("\u2112","\\mathscr{L}");ue("\u2133","\\mathscr{M}");ue("\u211B","\\mathscr{R}");ue("\u212D","\\mathfrak{C}");ue("\u210C","\\mathfrak{H}");ue("\u2128","\\mathfrak{Z}");ue("\\Bbbk","\\Bbb{k}");ue("\xB7","\\cdotp");ue("\\llap","\\mathllap{\\textrm{#1}}");ue("\\rlap","\\mathrlap{\\textrm{#1}}");ue("\\clap","\\mathclap{\\textrm{#1}}");ue("\\mathstrut","\\vphantom{(}");ue("\\underbar","\\underline{\\text{#1}}");ue("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');ue("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");ue("\\ne","\\neq");ue("\u2260","\\neq");ue("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");ue("\u2209","\\notin");ue("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");ue("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");ue("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");ue("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");ue("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");ue("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");ue("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");ue("\u27C2","\\perp");ue("\u203C","\\mathclose{!\\mkern-0.8mu!}");ue("\u220C","\\notni");ue("\u231C","\\ulcorner");ue("\u231D","\\urcorner");ue("\u231E","\\llcorner");ue("\u231F","\\lrcorner");ue("\xA9","\\copyright");ue("\xAE","\\textregistered");ue("\uFE0F","\\textregistered");ue("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ue("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ue("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ue("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ue("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ue("\u22EE","\\vdots");ue("\\varGamma","\\mathit{\\Gamma}");ue("\\varDelta","\\mathit{\\Delta}");ue("\\varTheta","\\mathit{\\Theta}");ue("\\varLambda","\\mathit{\\Lambda}");ue("\\varXi","\\mathit{\\Xi}");ue("\\varPi","\\mathit{\\Pi}");ue("\\varSigma","\\mathit{\\Sigma}");ue("\\varUpsilon","\\mathit{\\Upsilon}");ue("\\varPhi","\\mathit{\\Phi}");ue("\\varPsi","\\mathit{\\Psi}");ue("\\varOmega","\\mathit{\\Omega}");ue("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ue("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ue("\\boxed","\\fbox{$\\displaystyle{#1}$}");ue("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ue("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ue("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ue("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ue("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");uj={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};ue("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in uj?e=uj[r]:(r.slice(0,4)==="\\not"||r in qn.math&&["bin","rel"].includes(qn.math[r].group))&&(e="\\dotsb"),e});fD={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ue("\\dotso",function(t){var e=t.future().text;return e in fD?"\\ldots\\,":"\\ldots"});ue("\\dotsc",function(t){var e=t.future().text;return e in fD&&e!==","?"\\ldots\\,":"\\ldots"});ue("\\cdots",function(t){var e=t.future().text;return e in fD?"\\@cdots\\,":"\\@cdots"});ue("\\dotsb","\\cdots");ue("\\dotsm","\\cdots");ue("\\dotsi","\\!\\cdots");ue("\\dotsx","\\ldots\\,");ue("\\DOTSI","\\relax");ue("\\DOTSB","\\relax");ue("\\DOTSX","\\relax");ue("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ue("\\,","\\tmspace+{3mu}{.1667em}");ue("\\thinspace","\\,");ue("\\>","\\mskip{4mu}");ue("\\:","\\tmspace+{4mu}{.2222em}");ue("\\medspace","\\:");ue("\\;","\\tmspace+{5mu}{.2777em}");ue("\\thickspace","\\;");ue("\\!","\\tmspace-{3mu}{.1667em}");ue("\\negthinspace","\\!");ue("\\negmedspace","\\tmspace-{4mu}{.2222em}");ue("\\negthickspace","\\tmspace-{5mu}{.277em}");ue("\\enspace","\\kern.5em ");ue("\\enskip","\\hskip.5em\\relax");ue("\\quad","\\hskip1em\\relax");ue("\\qquad","\\hskip2em\\relax");ue("\\tag","\\@ifstar\\tag@literal\\tag@paren");ue("\\tag@paren","\\tag@literal{({#1})}");ue("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new bt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ue("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ue("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ue("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ue("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ue("\\newline","\\\\\\relax");ue("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");iX=_t(qc["Main-Regular"][84][1]-.7*qc["Main-Regular"][65][1]);ue("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+iX+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ue("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+iX+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ue("\\hspace","\\@ifstar\\@hspacer\\@hspace");ue("\\@hspace","\\hskip #1\\relax");ue("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ue("\\ordinarycolon",":");ue("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ue("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ue("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ue("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ue("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ue("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ue("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ue("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ue("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ue("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ue("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ue("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ue("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ue("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ue("\u2237","\\dblcolon");ue("\u2239","\\eqcolon");ue("\u2254","\\coloneqq");ue("\u2255","\\eqqcolon");ue("\u2A74","\\Coloneqq");ue("\\ratio","\\vcentcolon");ue("\\coloncolon","\\dblcolon");ue("\\colonequals","\\coloneqq");ue("\\coloncolonequals","\\Coloneqq");ue("\\equalscolon","\\eqqcolon");ue("\\equalscoloncolon","\\Eqqcolon");ue("\\colonminus","\\coloneq");ue("\\coloncolonminus","\\Coloneq");ue("\\minuscolon","\\eqcolon");ue("\\minuscoloncolon","\\Eqcolon");ue("\\coloncolonapprox","\\Colonapprox");ue("\\coloncolonsim","\\Colonsim");ue("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ue("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ue("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ue("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ue("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");ue("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ue("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ue("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ue("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ue("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ue("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ue("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ue("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ue("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");ue("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");ue("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");ue("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");ue("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");ue("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");ue("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");ue("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");ue("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");ue("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");ue("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");ue("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");ue("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");ue("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");ue("\\imath","\\html@mathml{\\@imath}{\u0131}");ue("\\jmath","\\html@mathml{\\@jmath}{\u0237}");ue("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");ue("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");ue("\u27E6","\\llbracket");ue("\u27E7","\\rrbracket");ue("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");ue("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");ue("\u2983","\\lBrace");ue("\u2984","\\rBrace");ue("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");ue("\u29B5","\\minuso");ue("\\darr","\\downarrow");ue("\\dArr","\\Downarrow");ue("\\Darr","\\Downarrow");ue("\\lang","\\langle");ue("\\rang","\\rangle");ue("\\uarr","\\uparrow");ue("\\uArr","\\Uparrow");ue("\\Uarr","\\Uparrow");ue("\\N","\\mathbb{N}");ue("\\R","\\mathbb{R}");ue("\\Z","\\mathbb{Z}");ue("\\alef","\\aleph");ue("\\alefsym","\\aleph");ue("\\Alpha","\\mathrm{A}");ue("\\Beta","\\mathrm{B}");ue("\\bull","\\bullet");ue("\\Chi","\\mathrm{X}");ue("\\clubs","\\clubsuit");ue("\\cnums","\\mathbb{C}");ue("\\Complex","\\mathbb{C}");ue("\\Dagger","\\ddagger");ue("\\diamonds","\\diamondsuit");ue("\\empty","\\emptyset");ue("\\Epsilon","\\mathrm{E}");ue("\\Eta","\\mathrm{H}");ue("\\exist","\\exists");ue("\\harr","\\leftrightarrow");ue("\\hArr","\\Leftrightarrow");ue("\\Harr","\\Leftrightarrow");ue("\\hearts","\\heartsuit");ue("\\image","\\Im");ue("\\infin","\\infty");ue("\\Iota","\\mathrm{I}");ue("\\isin","\\in");ue("\\Kappa","\\mathrm{K}");ue("\\larr","\\leftarrow");ue("\\lArr","\\Leftarrow");ue("\\Larr","\\Leftarrow");ue("\\lrarr","\\leftrightarrow");ue("\\lrArr","\\Leftrightarrow");ue("\\Lrarr","\\Leftrightarrow");ue("\\Mu","\\mathrm{M}");ue("\\natnums","\\mathbb{N}");ue("\\Nu","\\mathrm{N}");ue("\\Omicron","\\mathrm{O}");ue("\\plusmn","\\pm");ue("\\rarr","\\rightarrow");ue("\\rArr","\\Rightarrow");ue("\\Rarr","\\Rightarrow");ue("\\real","\\Re");ue("\\reals","\\mathbb{R}");ue("\\Reals","\\mathbb{R}");ue("\\Rho","\\mathrm{P}");ue("\\sdot","\\cdot");ue("\\sect","\\S");ue("\\spades","\\spadesuit");ue("\\sub","\\subset");ue("\\sube","\\subseteq");ue("\\supe","\\supseteq");ue("\\Tau","\\mathrm{T}");ue("\\thetasym","\\vartheta");ue("\\weierp","\\wp");ue("\\Zeta","\\mathrm{Z}");ue("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ue("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ue("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ue("\\bra","\\mathinner{\\langle{#1}|}");ue("\\ket","\\mathinner{|{#1}\\rangle}");ue("\\braket","\\mathinner{\\langle{#1}\\rangle}");ue("\\Bra","\\left\\langle#1\\right|");ue("\\Ket","\\left|#1\\right\\rangle");aX=o(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");ue("\\bra@ket",aX(!1));ue("\\bra@set",aX(!0));ue("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ue("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ue("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ue("\\angln","{\\angl n}");ue("\\blue","\\textcolor{##6495ed}{#1}");ue("\\orange","\\textcolor{##ffa500}{#1}");ue("\\pink","\\textcolor{##ff00af}{#1}");ue("\\red","\\textcolor{##df0030}{#1}");ue("\\green","\\textcolor{##28ae7b}{#1}");ue("\\gray","\\textcolor{gray}{#1}");ue("\\purple","\\textcolor{##9d38bd}{#1}");ue("\\blueA","\\textcolor{##ccfaff}{#1}");ue("\\blueB","\\textcolor{##80f6ff}{#1}");ue("\\blueC","\\textcolor{##63d9ea}{#1}");ue("\\blueD","\\textcolor{##11accd}{#1}");ue("\\blueE","\\textcolor{##0c7f99}{#1}");ue("\\tealA","\\textcolor{##94fff5}{#1}");ue("\\tealB","\\textcolor{##26edd5}{#1}");ue("\\tealC","\\textcolor{##01d1c1}{#1}");ue("\\tealD","\\textcolor{##01a995}{#1}");ue("\\tealE","\\textcolor{##208170}{#1}");ue("\\greenA","\\textcolor{##b6ffb0}{#1}");ue("\\greenB","\\textcolor{##8af281}{#1}");ue("\\greenC","\\textcolor{##74cf70}{#1}");ue("\\greenD","\\textcolor{##1fab54}{#1}");ue("\\greenE","\\textcolor{##0d923f}{#1}");ue("\\goldA","\\textcolor{##ffd0a9}{#1}");ue("\\goldB","\\textcolor{##ffbb71}{#1}");ue("\\goldC","\\textcolor{##ff9c39}{#1}");ue("\\goldD","\\textcolor{##e07d10}{#1}");ue("\\goldE","\\textcolor{##a75a05}{#1}");ue("\\redA","\\textcolor{##fca9a9}{#1}");ue("\\redB","\\textcolor{##ff8482}{#1}");ue("\\redC","\\textcolor{##f9685d}{#1}");ue("\\redD","\\textcolor{##e84d39}{#1}");ue("\\redE","\\textcolor{##bc2612}{#1}");ue("\\maroonA","\\textcolor{##ffbde0}{#1}");ue("\\maroonB","\\textcolor{##ff92c6}{#1}");ue("\\maroonC","\\textcolor{##ed5fa6}{#1}");ue("\\maroonD","\\textcolor{##ca337c}{#1}");ue("\\maroonE","\\textcolor{##9e034e}{#1}");ue("\\purpleA","\\textcolor{##ddd7ff}{#1}");ue("\\purpleB","\\textcolor{##c6b9fc}{#1}");ue("\\purpleC","\\textcolor{##aa87ff}{#1}");ue("\\purpleD","\\textcolor{##7854ab}{#1}");ue("\\purpleE","\\textcolor{##543b78}{#1}");ue("\\mintA","\\textcolor{##f5f9e8}{#1}");ue("\\mintB","\\textcolor{##edf2df}{#1}");ue("\\mintC","\\textcolor{##e0e5cc}{#1}");ue("\\grayA","\\textcolor{##f6f7f7}{#1}");ue("\\grayB","\\textcolor{##f0f1f2}{#1}");ue("\\grayC","\\textcolor{##e3e5e6}{#1}");ue("\\grayD","\\textcolor{##d6d8da}{#1}");ue("\\grayE","\\textcolor{##babec2}{#1}");ue("\\grayF","\\textcolor{##888d93}{#1}");ue("\\grayG","\\textcolor{##626569}{#1}");ue("\\grayH","\\textcolor{##3b3e40}{#1}");ue("\\grayI","\\textcolor{##21242c}{#1}");ue("\\kaBlue","\\textcolor{##314453}{#1}");ue("\\kaGreen","\\textcolor{##71B307}{#1}");sX={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},K8=class{static{o(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new X8(A8e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new ww(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new Po("EOF",n.loc)),this.pushTokens(i),new Po("",Qs.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new bt("Extra }",a)}else if(a.text==="EOF")throw new bt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new bt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new bt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new bt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new bt("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new bt("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Po(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var s=i.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new ww(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||bf.hasOwnProperty(e)||qn.math.hasOwnProperty(e)||qn.text.hasOwnProperty(e)||sX.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:bf.hasOwnProperty(e)&&!bf[e].primitive}},hj=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,pw=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),F8={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},fj={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},kw=class t{static{o(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new K8(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new bt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new Po("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&bf[i.text]&&bf[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=qn[this.mode][r].group,u=Qs.range(e),h;if(v_e.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(pj(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Qs.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),fl.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var Ip,D8e,R8e,yX,mX,wr,N8e,M8e,I8e,O8e,vX,Op,P8e,B8e,jc,mD,F8e,$8e,gX,Lw,Jn,Pp,z8e,gg,st,Ur=O(()=>{"use strict";S2();$r();Ip=//gi,D8e=o(t=>t?vX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),R8e=(()=>{let t=!1;return()=>{t||(L8e(),t=!0)}})();o(L8e,"setupDompurifyHooks");yX=o(t=>(R8e(),fl.sanitize(t)),"removeScript"),mX=o((t,e)=>{if(Sr(e)){let r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=yX(t):r!=="loose"&&(t=vX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=O8e(t))}return t},"sanitizeMore"),wr=o((t,e)=>t&&(e.dompurifyConfig?t=fl.sanitize(mX(t,e),e.dompurifyConfig).toString():t=fl.sanitize(mX(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),N8e=o((t,e)=>typeof t=="string"?wr(t,e):t.flat().map(r=>wr(r,e)),"sanitizeTextOrArray"),M8e=o(t=>Ip.test(t),"hasBreaks"),I8e=o(t=>t.split(Ip),"splitBreaks"),O8e=o(t=>t.replace(/#br#/g,"
"),"placeholderToBreak"),vX=o(t=>t.replace(Ip,"#br#"),"breakToPlaceholder"),Op=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),P8e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),B8e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),jc=o(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),F8e=o((t,e)=>{let r=mD(t,"~"),n=mD(e,"~");return r===1&&n===1},"shouldCombineSets"),$8e=o(t=>{let e=mD(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),gX=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),Lw=/\$\$(.*)\$\$/g,Jn=o(t=>(t.match(Lw)?.length??0)>0,"hasKatex"),Pp=o(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await gg(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),z8e=o(async(t,e)=>{if(!Jn(t))return t;if(!(gX()||e.legacyMathML||e.forceLegacyMathML))return t.replace(Lw,"MathML is unsupported in this environment.");{let{default:r}=await Promise.resolve().then(()=>(pX(),dX)),n=e.forceLegacyMathML||!gX()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Ip).map(i=>Jn(i)?`
${i}
`:`
${i}
`).join("").replace(Lw,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}return t.replace(Lw,"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.")},"renderKatexUnsanitized"),gg=o(async(t,e)=>wr(await z8e(t,e),e),"renderKatexSanitized"),st={getRows:D8e,sanitizeText:wr,sanitizeTextOrArray:N8e,hasBreaks:M8e,splitBreaks:I8e,lineBreakRegex:Ip,removeScript:yX,getUrl:Op,evaluate:Xs,getMax:P8e,getMin:B8e}});var yD,gD,xX,Nw,bX,TX,eo,Xc=O(()=>{"use strict";AH();$r();Ur();xt();yD={body:'?',height:80,width:80},gD=new Map,xX=new Map,Nw=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(K.debug("Registering icon pack:",e.name),"loader"in e)xX.set(e.name,e.loader);else if("icons"in e)gD.set(e.name,e.icons);else throw K.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),bX=o(async(t,e)=>{let r=H_(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=gD.get(n);if(!i){let s=xX.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},gD.set(n,i)}catch(l){throw K.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=j_(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),TX=o(async t=>{try{return await bX(t),!0}catch{return!1}},"isIconAvailable"),eo=o(async(t,e,r)=>{let n;try{n=await bX(t,e?.fallbackPrefix)}catch(s){K.error(s),n=yD}let i=K_(n,e),a=Z_(Q_(i.body),{...i.attributes,...r});return wr(a,Zt())},"getIconSVG")});function Mw(t){for(var e=[],r=1;r{"use strict";o(bw,"dedent")});var Tw,Ip,Vj,ww=I(()=>{"use strict";Tw=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Ip=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Vj=/\s*%%.*\n/gm});var ug,iD=I(()=>{"use strict";ug=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var ah,hg,S2,aD,qj,Op=I(()=>{"use strict";gt();ww();iD();ah={},hg=o(function(t,e){t=t.replace(Tw,"").replace(Ip,"").replace(Vj,` -`);for(let[r,{detector:n}]of Object.entries(ah))if(n(t,e))return r;throw new ug(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),S2=o((...t)=>{for(let{id:e,detector:r,loader:n}of t)aD(e,r,n)},"registerLazyLoadedDiagrams"),aD=o((t,e,r)=>{ah[t]&&X.warn(`Detector with key ${t} already exists. Overwriting.`),ah[t]={detector:e,loader:r},X.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),qj=o(t=>ah[t].loader,"getDiagramLoader")});var E2,Uj,sD=I(()=>{"use strict";E2=(function(){var t=o(function(Ue,Le,Ie,Me){for(Ie=Ie||{},Me=Ue.length;Me--;Ie[Ue[Me]]=Le);return Ie},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],T=[1,35],E=[1,36],w=[1,37],k=[1,38],C=[1,39],D=[1,40],R=[1,41],O=[1,42],L=[1,43],S=[1,44],A=[1,45],_=[1,46],N=[1,47],M=[1,48],P=[1,50],B=[1,51],F=[1,52],G=[1,53],$=[1,54],V=[1,55],K=[1,56],ee=[1,57],H=[1,58],he=[1,59],Z=[1,60],de=[14,42],re=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ne=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],te=[1,82],Q=[1,83],le=[1,84],J=[1,85],ge=[12,14,42],ie=[12,14,33,42],Te=[12,14,33,42,76,77,79,80],j=[12,33],Ge=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ye={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:o(function(Le,Ie,Me,Ae,ze,Y,ce){var U=Y.length-1;switch(ze){case 3:Ae.setDirection("TB");break;case 4:Ae.setDirection("BT");break;case 5:Ae.setDirection("RL");break;case 6:Ae.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ae.setC4Type(Y[U-3]);break;case 19:Ae.setTitle(Y[U].substring(6)),this.$=Y[U].substring(6);break;case 20:Ae.setAccDescription(Y[U].substring(15)),this.$=Y[U].substring(15);break;case 21:this.$=Y[U].trim(),Ae.setTitle(this.$);break;case 22:case 23:this.$=Y[U].trim(),Ae.setAccDescription(this.$);break;case 28:Y[U].splice(2,0,"ENTERPRISE"),Ae.addPersonOrSystemBoundary(...Y[U]),this.$=Y[U];break;case 29:Y[U].splice(2,0,"SYSTEM"),Ae.addPersonOrSystemBoundary(...Y[U]),this.$=Y[U];break;case 30:Ae.addPersonOrSystemBoundary(...Y[U]),this.$=Y[U];break;case 31:Y[U].splice(2,0,"CONTAINER"),Ae.addContainerBoundary(...Y[U]),this.$=Y[U];break;case 32:Ae.addDeploymentNode("node",...Y[U]),this.$=Y[U];break;case 33:Ae.addDeploymentNode("nodeL",...Y[U]),this.$=Y[U];break;case 34:Ae.addDeploymentNode("nodeR",...Y[U]),this.$=Y[U];break;case 35:Ae.popBoundaryParseStack();break;case 39:Ae.addPersonOrSystem("person",...Y[U]),this.$=Y[U];break;case 40:Ae.addPersonOrSystem("external_person",...Y[U]),this.$=Y[U];break;case 41:Ae.addPersonOrSystem("system",...Y[U]),this.$=Y[U];break;case 42:Ae.addPersonOrSystem("system_db",...Y[U]),this.$=Y[U];break;case 43:Ae.addPersonOrSystem("system_queue",...Y[U]),this.$=Y[U];break;case 44:Ae.addPersonOrSystem("external_system",...Y[U]),this.$=Y[U];break;case 45:Ae.addPersonOrSystem("external_system_db",...Y[U]),this.$=Y[U];break;case 46:Ae.addPersonOrSystem("external_system_queue",...Y[U]),this.$=Y[U];break;case 47:Ae.addContainer("container",...Y[U]),this.$=Y[U];break;case 48:Ae.addContainer("container_db",...Y[U]),this.$=Y[U];break;case 49:Ae.addContainer("container_queue",...Y[U]),this.$=Y[U];break;case 50:Ae.addContainer("external_container",...Y[U]),this.$=Y[U];break;case 51:Ae.addContainer("external_container_db",...Y[U]),this.$=Y[U];break;case 52:Ae.addContainer("external_container_queue",...Y[U]),this.$=Y[U];break;case 53:Ae.addComponent("component",...Y[U]),this.$=Y[U];break;case 54:Ae.addComponent("component_db",...Y[U]),this.$=Y[U];break;case 55:Ae.addComponent("component_queue",...Y[U]),this.$=Y[U];break;case 56:Ae.addComponent("external_component",...Y[U]),this.$=Y[U];break;case 57:Ae.addComponent("external_component_db",...Y[U]),this.$=Y[U];break;case 58:Ae.addComponent("external_component_queue",...Y[U]),this.$=Y[U];break;case 60:Ae.addRel("rel",...Y[U]),this.$=Y[U];break;case 61:Ae.addRel("birel",...Y[U]),this.$=Y[U];break;case 62:Ae.addRel("rel_u",...Y[U]),this.$=Y[U];break;case 63:Ae.addRel("rel_d",...Y[U]),this.$=Y[U];break;case 64:Ae.addRel("rel_l",...Y[U]),this.$=Y[U];break;case 65:Ae.addRel("rel_r",...Y[U]),this.$=Y[U];break;case 66:Ae.addRel("rel_b",...Y[U]),this.$=Y[U];break;case 67:Y[U].splice(0,1),Ae.addRel("rel",...Y[U]),this.$=Y[U];break;case 68:Ae.updateElStyle("update_el_style",...Y[U]),this.$=Y[U];break;case 69:Ae.updateRelStyle("update_rel_style",...Y[U]),this.$=Y[U];break;case 70:Ae.updateLayoutConfig("update_layout_config",...Y[U]),this.$=Y[U];break;case 71:this.$=[Y[U]];break;case 72:Y[U].unshift(Y[U-1]),this.$=Y[U];break;case 73:case 75:this.$=Y[U].trim();break;case 74:let ue={};ue[Y[U-1].trim()]=Y[U].trim(),this.$=ue;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{14:[1,74]},t(de,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z}),t(de,[2,14]),t(re,[2,16],{12:[1,76]}),t(de,[2,36],{12:[1,77]}),t(ne,[2,19]),t(ne,[2,20]),{25:[1,78]},{27:[1,79]},t(ne,[2,23]),{35:80,75:81,76:te,77:Q,79:le,80:J},{35:86,75:81,76:te,77:Q,79:le,80:J},{35:87,75:81,76:te,77:Q,79:le,80:J},{35:88,75:81,76:te,77:Q,79:le,80:J},{35:89,75:81,76:te,77:Q,79:le,80:J},{35:90,75:81,76:te,77:Q,79:le,80:J},{35:91,75:81,76:te,77:Q,79:le,80:J},{35:92,75:81,76:te,77:Q,79:le,80:J},{35:93,75:81,76:te,77:Q,79:le,80:J},{35:94,75:81,76:te,77:Q,79:le,80:J},{35:95,75:81,76:te,77:Q,79:le,80:J},{35:96,75:81,76:te,77:Q,79:le,80:J},{35:97,75:81,76:te,77:Q,79:le,80:J},{35:98,75:81,76:te,77:Q,79:le,80:J},{35:99,75:81,76:te,77:Q,79:le,80:J},{35:100,75:81,76:te,77:Q,79:le,80:J},{35:101,75:81,76:te,77:Q,79:le,80:J},{35:102,75:81,76:te,77:Q,79:le,80:J},{35:103,75:81,76:te,77:Q,79:le,80:J},{35:104,75:81,76:te,77:Q,79:le,80:J},t(ge,[2,59]),{35:105,75:81,76:te,77:Q,79:le,80:J},{35:106,75:81,76:te,77:Q,79:le,80:J},{35:107,75:81,76:te,77:Q,79:le,80:J},{35:108,75:81,76:te,77:Q,79:le,80:J},{35:109,75:81,76:te,77:Q,79:le,80:J},{35:110,75:81,76:te,77:Q,79:le,80:J},{35:111,75:81,76:te,77:Q,79:le,80:J},{35:112,75:81,76:te,77:Q,79:le,80:J},{35:113,75:81,76:te,77:Q,79:le,80:J},{35:114,75:81,76:te,77:Q,79:le,80:J},{35:115,75:81,76:te,77:Q,79:le,80:J},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{12:[1,118],33:[1,117]},{35:119,75:81,76:te,77:Q,79:le,80:J},{35:120,75:81,76:te,77:Q,79:le,80:J},{35:121,75:81,76:te,77:Q,79:le,80:J},{35:122,75:81,76:te,77:Q,79:le,80:J},{35:123,75:81,76:te,77:Q,79:le,80:J},{35:124,75:81,76:te,77:Q,79:le,80:J},{35:125,75:81,76:te,77:Q,79:le,80:J},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(de,[2,15]),t(re,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(de,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z}),t(ne,[2,21]),t(ne,[2,22]),t(ge,[2,39]),t(ie,[2,71],{75:81,35:132,76:te,77:Q,79:le,80:J}),t(Te,[2,73]),{78:[1,133]},t(Te,[2,75]),t(Te,[2,76]),t(ge,[2,40]),t(ge,[2,41]),t(ge,[2,42]),t(ge,[2,43]),t(ge,[2,44]),t(ge,[2,45]),t(ge,[2,46]),t(ge,[2,47]),t(ge,[2,48]),t(ge,[2,49]),t(ge,[2,50]),t(ge,[2,51]),t(ge,[2,52]),t(ge,[2,53]),t(ge,[2,54]),t(ge,[2,55]),t(ge,[2,56]),t(ge,[2,57]),t(ge,[2,58]),t(ge,[2,60]),t(ge,[2,61]),t(ge,[2,62]),t(ge,[2,63]),t(ge,[2,64]),t(ge,[2,65]),t(ge,[2,66]),t(ge,[2,67]),t(ge,[2,68]),t(ge,[2,69]),t(ge,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(j,[2,28]),t(j,[2,29]),t(j,[2,30]),t(j,[2,31]),t(j,[2,32]),t(j,[2,33]),t(j,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(re,[2,18]),t(de,[2,38]),t(ie,[2,72]),t(Te,[2,74]),t(ge,[2,24]),t(ge,[2,35]),t(Ge,[2,25]),t(Ge,[2,26],{12:[1,138]}),t(Ge,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:o(function(Le,Ie){if(Ie.recoverable)this.trace(Le);else{var Me=new Error(Le);throw Me.hash=Ie,Me}},"parseError"),parse:o(function(Le){var Ie=this,Me=[0],Ae=[],ze=[null],Y=[],ce=this.table,U="",ue=0,z=0,se=0,oe=2,be=1,pe=Y.slice.call(arguments,1),me=Object.create(this.lexer),De={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(De.yy[Ce]=this.yy[Ce]);me.setInput(Le,De.yy),De.yy.lexer=me,De.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var Fe=me.yylloc;Y.push(Fe);var Ye=me.options&&me.options.ranges;typeof De.yy.parseError=="function"?this.parseError=De.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xt(pt){Me.length=Me.length-2*pt,ze.length=ze.length-pt,Y.length=Y.length-pt}o(xt,"popStack");function je(){var pt;return pt=Ae.pop()||me.lex()||be,typeof pt!="number"&&(pt instanceof Array&&(Ae=pt,pt=Ae.pop()),pt=Ie.symbols_[pt]||pt),pt}o(je,"lex");for(var Pe,rt,We,ut,Ut,Tt,Mt={},mt,at,wt,St;;){if(We=Me[Me.length-1],this.defaultActions[We]?ut=this.defaultActions[We]:((Pe===null||typeof Pe>"u")&&(Pe=je()),ut=ce[We]&&ce[We][Pe]),typeof ut>"u"||!ut.length||!ut[0]){var bt="";St=[];for(mt in ce[We])this.terminals_[mt]&&mt>oe&&St.push("'"+this.terminals_[mt]+"'");me.showPosition?bt="Parse error on line "+(ue+1)+`: +`)),s+=d+n[u+1]}),s}var vD=O(()=>{"use strict";o(Mw,"dedent")});var Iw,Bp,wX,Ow=O(()=>{"use strict";Iw=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Bp=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,wX=/\s*%%.*\n/gm});var yg,xD=O(()=>{"use strict";yg=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var uh,vg,B2,bD,kX,Fp=O(()=>{"use strict";xt();Ow();xD();uh={},vg=o(function(t,e){t=t.replace(Iw,"").replace(Bp,"").replace(wX,` +`);for(let[r,{detector:n}]of Object.entries(uh))if(n(t,e))return r;throw new yg(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),B2=o((...t)=>{for(let{id:e,detector:r,loader:n}of t)bD(e,r,n)},"registerLazyLoadedDiagrams"),bD=o((t,e,r)=>{uh[t]&&K.warn(`Detector with key ${t} already exists. Overwriting.`),uh[t]={detector:e,loader:r},K.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),kX=o(t=>uh[t].loader,"getDiagramLoader")});var F2,EX,TD=O(()=>{"use strict";F2=(function(){var t=o(function(Te,Be,Ue,Ge){for(Ue=Ue||{},Ge=Te.length;Ge--;Ue[Te[Ge]]=Be);return Ue},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],T=[1,35],E=[1,36],w=[1,37],k=[1,38],S=[1,39],A=[1,40],L=[1,41],I=[1,42],N=[1,43],C=[1,44],_=[1,45],D=[1,46],M=[1,47],R=[1,48],P=[1,50],B=[1,51],F=[1,52],G=[1,53],$=[1,54],V=[1,55],X=[1,56],Q=[1,57],H=[1,58],ie=[1,59],Y=[1,60],le=[14,42],ee=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],J=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],te=[1,82],Z=[1,83],xe=[1,84],de=[1,85],Se=[12,14,42],Me=[12,14,33,42],ke=[12,14,33,42,76,77,79,80],we=[12,33],_e=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],$e={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:o(function(Be,Ue,Ge,Ne,We,j,ae){var U=j.length-1;switch(We){case 3:Ne.setDirection("TB");break;case 4:Ne.setDirection("BT");break;case 5:Ne.setDirection("RL");break;case 6:Ne.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ne.setC4Type(j[U-3]);break;case 19:Ne.setTitle(j[U].substring(6)),this.$=j[U].substring(6);break;case 20:Ne.setAccDescription(j[U].substring(15)),this.$=j[U].substring(15);break;case 21:this.$=j[U].trim(),Ne.setTitle(this.$);break;case 22:case 23:this.$=j[U].trim(),Ne.setAccDescription(this.$);break;case 28:j[U].splice(2,0,"ENTERPRISE"),Ne.addPersonOrSystemBoundary(...j[U]),this.$=j[U];break;case 29:j[U].splice(2,0,"SYSTEM"),Ne.addPersonOrSystemBoundary(...j[U]),this.$=j[U];break;case 30:Ne.addPersonOrSystemBoundary(...j[U]),this.$=j[U];break;case 31:j[U].splice(2,0,"CONTAINER"),Ne.addContainerBoundary(...j[U]),this.$=j[U];break;case 32:Ne.addDeploymentNode("node",...j[U]),this.$=j[U];break;case 33:Ne.addDeploymentNode("nodeL",...j[U]),this.$=j[U];break;case 34:Ne.addDeploymentNode("nodeR",...j[U]),this.$=j[U];break;case 35:Ne.popBoundaryParseStack();break;case 39:Ne.addPersonOrSystem("person",...j[U]),this.$=j[U];break;case 40:Ne.addPersonOrSystem("external_person",...j[U]),this.$=j[U];break;case 41:Ne.addPersonOrSystem("system",...j[U]),this.$=j[U];break;case 42:Ne.addPersonOrSystem("system_db",...j[U]),this.$=j[U];break;case 43:Ne.addPersonOrSystem("system_queue",...j[U]),this.$=j[U];break;case 44:Ne.addPersonOrSystem("external_system",...j[U]),this.$=j[U];break;case 45:Ne.addPersonOrSystem("external_system_db",...j[U]),this.$=j[U];break;case 46:Ne.addPersonOrSystem("external_system_queue",...j[U]),this.$=j[U];break;case 47:Ne.addContainer("container",...j[U]),this.$=j[U];break;case 48:Ne.addContainer("container_db",...j[U]),this.$=j[U];break;case 49:Ne.addContainer("container_queue",...j[U]),this.$=j[U];break;case 50:Ne.addContainer("external_container",...j[U]),this.$=j[U];break;case 51:Ne.addContainer("external_container_db",...j[U]),this.$=j[U];break;case 52:Ne.addContainer("external_container_queue",...j[U]),this.$=j[U];break;case 53:Ne.addComponent("component",...j[U]),this.$=j[U];break;case 54:Ne.addComponent("component_db",...j[U]),this.$=j[U];break;case 55:Ne.addComponent("component_queue",...j[U]),this.$=j[U];break;case 56:Ne.addComponent("external_component",...j[U]),this.$=j[U];break;case 57:Ne.addComponent("external_component_db",...j[U]),this.$=j[U];break;case 58:Ne.addComponent("external_component_queue",...j[U]),this.$=j[U];break;case 60:Ne.addRel("rel",...j[U]),this.$=j[U];break;case 61:Ne.addRel("birel",...j[U]),this.$=j[U];break;case 62:Ne.addRel("rel_u",...j[U]),this.$=j[U];break;case 63:Ne.addRel("rel_d",...j[U]),this.$=j[U];break;case 64:Ne.addRel("rel_l",...j[U]),this.$=j[U];break;case 65:Ne.addRel("rel_r",...j[U]),this.$=j[U];break;case 66:Ne.addRel("rel_b",...j[U]),this.$=j[U];break;case 67:j[U].splice(0,1),Ne.addRel("rel",...j[U]),this.$=j[U];break;case 68:Ne.updateElStyle("update_el_style",...j[U]),this.$=j[U];break;case 69:Ne.updateRelStyle("update_rel_style",...j[U]),this.$=j[U];break;case 70:Ne.updateLayoutConfig("update_layout_config",...j[U]),this.$=j[U];break;case 71:this.$=[j[U]];break;case 72:j[U].unshift(j[U-1]),this.$=j[U];break;case 73:case 75:this.$=j[U].trim();break;case 74:let ce={};ce[j[U-1].trim()]=j[U].trim(),this.$=ce;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{14:[1,74]},t(le,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y}),t(le,[2,14]),t(ee,[2,16],{12:[1,76]}),t(le,[2,36],{12:[1,77]}),t(J,[2,19]),t(J,[2,20]),{25:[1,78]},{27:[1,79]},t(J,[2,23]),{35:80,75:81,76:te,77:Z,79:xe,80:de},{35:86,75:81,76:te,77:Z,79:xe,80:de},{35:87,75:81,76:te,77:Z,79:xe,80:de},{35:88,75:81,76:te,77:Z,79:xe,80:de},{35:89,75:81,76:te,77:Z,79:xe,80:de},{35:90,75:81,76:te,77:Z,79:xe,80:de},{35:91,75:81,76:te,77:Z,79:xe,80:de},{35:92,75:81,76:te,77:Z,79:xe,80:de},{35:93,75:81,76:te,77:Z,79:xe,80:de},{35:94,75:81,76:te,77:Z,79:xe,80:de},{35:95,75:81,76:te,77:Z,79:xe,80:de},{35:96,75:81,76:te,77:Z,79:xe,80:de},{35:97,75:81,76:te,77:Z,79:xe,80:de},{35:98,75:81,76:te,77:Z,79:xe,80:de},{35:99,75:81,76:te,77:Z,79:xe,80:de},{35:100,75:81,76:te,77:Z,79:xe,80:de},{35:101,75:81,76:te,77:Z,79:xe,80:de},{35:102,75:81,76:te,77:Z,79:xe,80:de},{35:103,75:81,76:te,77:Z,79:xe,80:de},{35:104,75:81,76:te,77:Z,79:xe,80:de},t(Se,[2,59]),{35:105,75:81,76:te,77:Z,79:xe,80:de},{35:106,75:81,76:te,77:Z,79:xe,80:de},{35:107,75:81,76:te,77:Z,79:xe,80:de},{35:108,75:81,76:te,77:Z,79:xe,80:de},{35:109,75:81,76:te,77:Z,79:xe,80:de},{35:110,75:81,76:te,77:Z,79:xe,80:de},{35:111,75:81,76:te,77:Z,79:xe,80:de},{35:112,75:81,76:te,77:Z,79:xe,80:de},{35:113,75:81,76:te,77:Z,79:xe,80:de},{35:114,75:81,76:te,77:Z,79:xe,80:de},{35:115,75:81,76:te,77:Z,79:xe,80:de},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{12:[1,118],33:[1,117]},{35:119,75:81,76:te,77:Z,79:xe,80:de},{35:120,75:81,76:te,77:Z,79:xe,80:de},{35:121,75:81,76:te,77:Z,79:xe,80:de},{35:122,75:81,76:te,77:Z,79:xe,80:de},{35:123,75:81,76:te,77:Z,79:xe,80:de},{35:124,75:81,76:te,77:Z,79:xe,80:de},{35:125,75:81,76:te,77:Z,79:xe,80:de},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(le,[2,15]),t(ee,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(le,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y}),t(J,[2,21]),t(J,[2,22]),t(Se,[2,39]),t(Me,[2,71],{75:81,35:132,76:te,77:Z,79:xe,80:de}),t(ke,[2,73]),{78:[1,133]},t(ke,[2,75]),t(ke,[2,76]),t(Se,[2,40]),t(Se,[2,41]),t(Se,[2,42]),t(Se,[2,43]),t(Se,[2,44]),t(Se,[2,45]),t(Se,[2,46]),t(Se,[2,47]),t(Se,[2,48]),t(Se,[2,49]),t(Se,[2,50]),t(Se,[2,51]),t(Se,[2,52]),t(Se,[2,53]),t(Se,[2,54]),t(Se,[2,55]),t(Se,[2,56]),t(Se,[2,57]),t(Se,[2,58]),t(Se,[2,60]),t(Se,[2,61]),t(Se,[2,62]),t(Se,[2,63]),t(Se,[2,64]),t(Se,[2,65]),t(Se,[2,66]),t(Se,[2,67]),t(Se,[2,68]),t(Se,[2,69]),t(Se,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(we,[2,28]),t(we,[2,29]),t(we,[2,30]),t(we,[2,31]),t(we,[2,32]),t(we,[2,33]),t(we,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(ee,[2,18]),t(le,[2,38]),t(Me,[2,72]),t(ke,[2,74]),t(Se,[2,24]),t(Se,[2,35]),t(_e,[2,25]),t(_e,[2,26],{12:[1,138]}),t(_e,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:o(function(Be,Ue){if(Ue.recoverable)this.trace(Be);else{var Ge=new Error(Be);throw Ge.hash=Ue,Ge}},"parseError"),parse:o(function(Be){var Ue=this,Ge=[0],Ne=[],We=[null],j=[],ae=this.table,U="",ce=0,z=0,ne=0,se=2,be=1,pe=j.slice.call(arguments,1),me=Object.create(this.lexer),Re={yy:{}};for(var ge in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ge)&&(Re.yy[ge]=this.yy[ge]);me.setInput(Be,Re.yy),Re.yy.lexer=me,Re.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var Ie=me.yylloc;j.push(Ie);var qe=me.options&&me.options.ranges;typeof Re.yy.parseError=="function"?this.parseError=Re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(dt){Ge.length=Ge.length-2*dt,We.length=We.length-dt,j.length=j.length-dt}o(Pe,"popStack");function Xe(){var dt;return dt=Ne.pop()||me.lex()||be,typeof dt!="number"&&(dt instanceof Array&&(Ne=dt,dt=Ne.pop()),dt=Ue.symbols_[dt]||dt),dt}o(Xe,"lex");for(var oe,et,he,ot,Dt,It,wt={},Rt,it,at,Ct;;){if(he=Ge[Ge.length-1],this.defaultActions[he]?ot=this.defaultActions[he]:((oe===null||typeof oe>"u")&&(oe=Xe()),ot=ae[he]&&ae[he][oe]),typeof ot>"u"||!ot.length||!ot[0]){var yt="";Ct=[];for(Rt in ae[he])this.terminals_[Rt]&&Rt>se&&Ct.push("'"+this.terminals_[Rt]+"'");me.showPosition?yt="Parse error on line "+(ce+1)+`: `+me.showPosition()+` -Expecting `+St.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":bt="Parse error on line "+(ue+1)+": Unexpected "+(Pe==be?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(bt,{text:me.match,token:this.terminals_[Pe]||Pe,line:me.yylineno,loc:Fe,expected:St})}if(ut[0]instanceof Array&&ut.length>1)throw new Error("Parse Error: multiple actions possible at state: "+We+", token: "+Pe);switch(ut[0]){case 1:Me.push(Pe),ze.push(me.yytext),Y.push(me.yylloc),Me.push(ut[1]),Pe=null,rt?(Pe=rt,rt=null):(z=me.yyleng,U=me.yytext,ue=me.yylineno,Fe=me.yylloc,se>0&&se--);break;case 2:if(at=this.productions_[ut[1]][1],Mt.$=ze[ze.length-at],Mt._$={first_line:Y[Y.length-(at||1)].first_line,last_line:Y[Y.length-1].last_line,first_column:Y[Y.length-(at||1)].first_column,last_column:Y[Y.length-1].last_column},Ye&&(Mt._$.range=[Y[Y.length-(at||1)].range[0],Y[Y.length-1].range[1]]),Tt=this.performAction.apply(Mt,[U,z,ue,De.yy,ut[1],ze,Y].concat(pe)),typeof Tt<"u")return Tt;at&&(Me=Me.slice(0,-1*at*2),ze=ze.slice(0,-1*at),Y=Y.slice(0,-1*at)),Me.push(this.productions_[ut[1]][0]),ze.push(Mt.$),Y.push(Mt._$),wt=ce[Me[Me.length-2]][Me[Me.length-1]],Me.push(wt);break;case 3:return!0}}return!0},"parse")},$e=(function(){var Ue={EOF:1,parseError:o(function(Ie,Me){if(this.yy.parser)this.yy.parser.parseError(Ie,Me);else throw new Error(Ie)},"parseError"),setInput:o(function(Le,Ie){return this.yy=Ie||this.yy||{},this._input=Le,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Le=this._input[0];this.yytext+=Le,this.yyleng++,this.offset++,this.match+=Le,this.matched+=Le;var Ie=Le.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Le},"input"),unput:o(function(Le){var Ie=Le.length,Me=Le.split(/(?:\r\n?|\n)/g);this._input=Le+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ae=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),Me.length-1&&(this.yylineno-=Me.length-1);var ze=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:Me?(Me.length===Ae.length?this.yylloc.first_column:0)+Ae[Ae.length-Me.length].length-Me[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[ze[0],ze[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Le){this.unput(this.match.slice(Le))},"less"),pastInput:o(function(){var Le=this.matched.substr(0,this.matched.length-this.match.length);return(Le.length>20?"...":"")+Le.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Le=this.match;return Le.length<20&&(Le+=this._input.substr(0,20-Le.length)),(Le.substr(0,20)+(Le.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Le=this.pastInput(),Ie=new Array(Le.length+1).join("-");return Le+this.upcomingInput()+` -`+Ie+"^"},"showPosition"),test_match:o(function(Le,Ie){var Me,Ae,ze;if(this.options.backtrack_lexer&&(ze={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&&(ze.yylloc.range=this.yylloc.range.slice(0))),Ae=Le[0].match(/(?:\r\n?|\n).*/g),Ae&&(this.yylineno+=Ae.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ae?Ae[Ae.length-1].length-Ae[Ae.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Le[0].length},this.yytext+=Le[0],this.match+=Le[0],this.matches=Le,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(Le[0].length),this.matched+=Le[0],Me=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Me)return Me;if(this._backtrack){for(var Y in ze)this[Y]=ze[Y];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Le,Ie,Me,Ae;this._more||(this.yytext="",this.match="");for(var ze=this._currentRules(),Y=0;YIe[0].length)){if(Ie=Me,Ae=Y,this.options.backtrack_lexer){if(Le=this.test_match(Me,ze[Y]),Le!==!1)return Le;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(Le=this.test_match(Ie,ze[Ae]),Le!==!1?Le:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ie=this.next();return Ie||this.lex()},"lex"),begin:o(function(Ie){this.conditionStack.push(Ie)},"begin"),popState:o(function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},"topState"),pushState:o(function(Ie){this.begin(Ie)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ie,Me,Ae,ze){var Y=ze;switch(Ae){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Ue})();ye.lexer=$e;function Xe(){this.yy={}}return o(Xe,"Parser"),Xe.prototype=ye,ye.Parser=Xe,new Xe})();E2.parser=E2;Uj=E2});var i8e,a8e,Sn,Vc,Fi=I(()=>{"use strict";gt();i8e=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),a8e=o(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},"calculateSvgSizeAttrs"),Sn=o(function(t,e,r,n){let i=a8e(e,r,n);i8e(t,i)},"configureSvgSize"),Vc=o(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,s=i.height;X.info(`SVG bounds: ${a}x${s}`,i);let l=0,u=0;X.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,X.info(`Calculated bounds: ${l}x${u}`),Sn(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var kw,s8e,Wj,Hj,oD=I(()=>{"use strict";gt();kw={},s8e=o((t,e,r)=>{let n="";return t in kw&&kw[t]?n=kw[t](r):X.warn(`No theme found for ${t}`),` & { +Expecting `+Ct.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":yt="Parse error on line "+(ce+1)+": Unexpected "+(oe==be?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(yt,{text:me.match,token:this.terminals_[oe]||oe,line:me.yylineno,loc:Ie,expected:Ct})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+he+", token: "+oe);switch(ot[0]){case 1:Ge.push(oe),We.push(me.yytext),j.push(me.yylloc),Ge.push(ot[1]),oe=null,et?(oe=et,et=null):(z=me.yyleng,U=me.yytext,ce=me.yylineno,Ie=me.yylloc,ne>0&&ne--);break;case 2:if(it=this.productions_[ot[1]][1],wt.$=We[We.length-it],wt._$={first_line:j[j.length-(it||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(it||1)].first_column,last_column:j[j.length-1].last_column},qe&&(wt._$.range=[j[j.length-(it||1)].range[0],j[j.length-1].range[1]]),It=this.performAction.apply(wt,[U,z,ce,Re.yy,ot[1],We,j].concat(pe)),typeof It<"u")return It;it&&(Ge=Ge.slice(0,-1*it*2),We=We.slice(0,-1*it),j=j.slice(0,-1*it)),Ge.push(this.productions_[ot[1]][0]),We.push(wt.$),j.push(wt._$),at=ae[Ge[Ge.length-2]][Ge[Ge.length-1]],Ge.push(at);break;case 3:return!0}}return!0},"parse")},fe=(function(){var Te={EOF:1,parseError:o(function(Ue,Ge){if(this.yy.parser)this.yy.parser.parseError(Ue,Ge);else throw new Error(Ue)},"parseError"),setInput:o(function(Be,Ue){return this.yy=Ue||this.yy||{},this._input=Be,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Be=this._input[0];this.yytext+=Be,this.yyleng++,this.offset++,this.match+=Be,this.matched+=Be;var Ue=Be.match(/(?:\r\n?|\n).*/g);return Ue?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Be},"input"),unput:o(function(Be){var Ue=Be.length,Ge=Be.split(/(?:\r\n?|\n)/g);this._input=Be+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ue),this.offset-=Ue;var Ne=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),Ge.length-1&&(this.yylineno-=Ge.length-1);var We=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:Ge?(Ge.length===Ne.length?this.yylloc.first_column:0)+Ne[Ne.length-Ge.length].length-Ge[0].length:this.yylloc.first_column-Ue},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-Ue]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Be){this.unput(this.match.slice(Be))},"less"),pastInput:o(function(){var Be=this.matched.substr(0,this.matched.length-this.match.length);return(Be.length>20?"...":"")+Be.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Be=this.match;return Be.length<20&&(Be+=this._input.substr(0,20-Be.length)),(Be.substr(0,20)+(Be.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Be=this.pastInput(),Ue=new Array(Be.length+1).join("-");return Be+this.upcomingInput()+` +`+Ue+"^"},"showPosition"),test_match:o(function(Be,Ue){var Ge,Ne,We;if(this.options.backtrack_lexer&&(We={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&&(We.yylloc.range=this.yylloc.range.slice(0))),Ne=Be[0].match(/(?:\r\n?|\n).*/g),Ne&&(this.yylineno+=Ne.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ne?Ne[Ne.length-1].length-Ne[Ne.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Be[0].length},this.yytext+=Be[0],this.match+=Be[0],this.matches=Be,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(Be[0].length),this.matched+=Be[0],Ge=this.performAction.call(this,this.yy,this,Ue,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ge)return Ge;if(this._backtrack){for(var j in We)this[j]=We[j];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Be,Ue,Ge,Ne;this._more||(this.yytext="",this.match="");for(var We=this._currentRules(),j=0;jUe[0].length)){if(Ue=Ge,Ne=j,this.options.backtrack_lexer){if(Be=this.test_match(Ge,We[j]),Be!==!1)return Be;if(this._backtrack){Ue=!1;continue}else return!1}else if(!this.options.flex)break}return Ue?(Be=this.test_match(Ue,We[Ne]),Be!==!1?Be:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ue=this.next();return Ue||this.lex()},"lex"),begin:o(function(Ue){this.conditionStack.push(Ue)},"begin"),popState:o(function(){var Ue=this.conditionStack.length-1;return Ue>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ue){return Ue=this.conditionStack.length-1-Math.abs(Ue||0),Ue>=0?this.conditionStack[Ue]:"INITIAL"},"topState"),pushState:o(function(Ue){this.begin(Ue)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ue,Ge,Ne,We){var j=We;switch(Ne){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Te})();$e.lexer=fe;function Ke(){this.yy={}}return o(Ke,"Parser"),Ke.prototype=$e,$e.Parser=Ke,new Ke})();F2.parser=F2;EX=F2});var G8e,V8e,Zr,Kc,Ti=O(()=>{"use strict";xt();G8e=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),V8e=o(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},"calculateSvgSizeAttrs"),Zr=o(function(t,e,r,n){let i=V8e(e,r,n);G8e(t,i)},"configureSvgSize"),Kc=o(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,s=i.height;K.info(`SVG bounds: ${a}x${s}`,i);let l=0,u=0;K.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,K.info(`Calculated bounds: ${l}x${u}`),Zr(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var Pw,q8e,SX,CX,wD=O(()=>{"use strict";xt();Pw={},q8e=o((t,e,r)=>{let n="";return t in Pw&&Pw[t]?n=Pw[t](r):K.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -346,49 +346,49 @@ Expecting `+St.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":bt="Parse erro ${n} ${e} -`},"getStyles"),Wj=o((t,e)=>{e!==void 0&&(kw[t]=e)},"addStylesForDiagram"),Hj=s8e});var C2={};vr(C2,{clear:()=>Mr,getAccDescription:()=>Ur,getAccTitle:()=>Vr,getDiagramTitle:()=>Wr,setAccDescription:()=>qr,setAccTitle:()=>zr,setDiagramTitle:()=>Xr});var lD,cD,uD,hD,Mr,zr,Vr,qr,Ur,Xr,Wr,ki=I(()=>{"use strict";wr();ti();lD="",cD="",uD="",hD=o(t=>fr(t,tr()),"sanitizeText"),Mr=o(()=>{lD="",uD="",cD=""},"clear"),zr=o(t=>{lD=hD(t).replace(/^\s+/g,"")},"setAccTitle"),Vr=o(()=>lD,"getAccTitle"),qr=o(t=>{uD=hD(t).replace(/\n\s+/g,` -`)},"setAccDescription"),Ur=o(()=>uD,"getAccDescription"),Xr=o(t=>{cD=hD(t)},"setDiagramTitle"),Wr=o(()=>cD,"getDiagramTitle")});var Yj,o8e,xe,A2,Ew,_2,dD,l8e,Sw,Pp,D2,fD,Qt=I(()=>{"use strict";Op();gt();ti();wr();Fi();oD();ki();Yj=X,o8e=Jv,xe=tr,A2=G3,Ew=hf,_2=o(t=>fr(t,xe()),"sanitizeText"),dD=Vc,l8e=o(()=>C2,"getCommonDb"),Sw={},Pp=o((t,e,r)=>{Sw[t]&&Yj.warn(`Diagram with id ${t} already registered. Overwriting.`),Sw[t]=e,r&&aD(t,r),Wj(t,e.styles),e.injectUtils?.(Yj,o8e,xe,_2,dD,l8e(),()=>{})},"registerDiagram"),D2=o(t=>{if(t in Sw)return Sw[t];throw new fD(t)},"getDiagram"),fD=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var jl,xf,Es,Yl,qc,R2,pD,mD,Cw,Aw,jj,c8e,u8e,h8e,f8e,d8e,p8e,m8e,g8e,y8e,v8e,x8e,b8e,T8e,w8e,k8e,S8e,E8e,Xj,C8e,A8e,Kj,_8e,D8e,R8e,L8e,bf,N8e,M8e,I8e,O8e,P8e,L2,gD=I(()=>{"use strict";Qt();wr();ki();jl=[],xf=[""],Es="global",Yl="",qc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],R2=[],pD="",mD=!1,Cw=4,Aw=2,c8e=o(function(){return jj},"getC4Type"),u8e=o(function(t){jj=fr(t,xe())},"setC4Type"),h8e=o(function(t,e,r,n,i,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=R2.find(d=>d.from===e&&d.to===r);if(f?h=f:R2.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=bf()},"addRel"),f8e=o(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let l={},u=jl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,jl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=Es,l.wrap=bf()},"addPersonOrSystem"),d8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=jl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,jl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=bf(),u.typeC4Shape={text:t},u.parentBoundary=Es},"addContainer"),p8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=jl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,jl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=bf(),u.typeC4Shape={text:t},u.parentBoundary=Es},"addComponent"),m8e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=qc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,qc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Es,a.wrap=bf(),Yl=Es,Es=t,xf.push(Yl)},"addPersonOrSystemBoundary"),g8e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=qc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,qc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Es,a.wrap=bf(),Yl=Es,Es=t,xf.push(Yl)},"addContainerBoundary"),y8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=qc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,qc.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=Es,u.wrap=bf(),Yl=Es,Es=e,xf.push(Yl)},"addDeploymentNode"),v8e=o(function(){Es=Yl,xf.pop(),Yl=xf.pop(),xf.push(Yl)},"popBoundaryParseStack"),x8e=o(function(t,e,r,n,i,a,s,l,u,h,f){let d=jl.find(p=>p.alias===e);if(!(d===void 0&&(d=qc.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),b8e=o(function(t,e,r,n,i,a,s){let l=R2.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),T8e=o(function(t,e,r){let n=Cw,i=Aw;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(Cw=n),i>=1&&(Aw=i)},"updateLayoutConfig"),w8e=o(function(){return Cw},"getC4ShapeInRow"),k8e=o(function(){return Aw},"getC4BoundaryInRow"),S8e=o(function(){return Es},"getCurrentBoundaryParse"),E8e=o(function(){return Yl},"getParentBoundaryParse"),Xj=o(function(t){return t==null?jl:jl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),C8e=o(function(t){return jl.find(e=>e.alias===t)},"getC4Shape"),A8e=o(function(t){return Object.keys(Xj(t))},"getC4ShapeKeys"),Kj=o(function(t){return t==null?qc:qc.filter(e=>e.parentBoundary===t)},"getBoundaries"),_8e=Kj,D8e=o(function(){return R2},"getRels"),R8e=o(function(){return pD},"getTitle"),L8e=o(function(t){mD=t},"setWrap"),bf=o(function(){return mD},"autoWrap"),N8e=o(function(){jl=[],qc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Yl="",Es="global",xf=[""],R2=[],xf=[""],pD="",mD=!1,Cw=4,Aw=2},"clear"),M8e={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},I8e={FILLED:0,OPEN:1},O8e={LEFTOF:0,RIGHTOF:1,OVER:2},P8e=o(function(t){pD=fr(t,xe())},"setTitle"),L2={addPersonOrSystem:f8e,addPersonOrSystemBoundary:m8e,addContainer:d8e,addContainerBoundary:g8e,addComponent:p8e,addDeploymentNode:y8e,popBoundaryParseStack:v8e,addRel:h8e,updateElStyle:x8e,updateRelStyle:b8e,updateLayoutConfig:T8e,autoWrap:bf,setWrap:L8e,getC4ShapeArray:Xj,getC4Shape:C8e,getC4ShapeKeys:A8e,getBoundaries:Kj,getBoundarys:_8e,getCurrentBoundaryParse:S8e,getParentBoundaryParse:E8e,getRels:D8e,getTitle:R8e,getC4Type:c8e,getC4ShapeInRow:w8e,getC4BoundaryInRow:k8e,setAccTitle:zr,getAccTitle:Vr,getAccDescription:Ur,setAccDescription:qr,getConfig:o(()=>xe().c4,"getConfig"),clear:N8e,LINETYPE:M8e,ARROWTYPE:I8e,PLACEMENT:O8e,setTitle:P8e,setC4Type:u8e}});function Bp(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var yD=I(()=>{"use strict";o(Bp,"ascending")});function vD(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var Qj=I(()=>{"use strict";o(vD,"descending")});function Fp(t){let e,r,n;t.length!==2?(e=Bp,r=o((l,u)=>Bp(t(l),u),"compare2"),n=o((l,u)=>t(l)-u,"delta")):(e=t===Bp||t===vD?t:B8e,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return o(s,"center"),{left:i,center:s,right:a}}function B8e(){return 0}var xD=I(()=>{"use strict";yD();Qj();o(Fp,"bisector");o(B8e,"zero")});function bD(t){return t===null?NaN:+t}var Zj=I(()=>{"use strict";o(bD,"number")});var Jj,eX,F8e,$8e,TD,tX=I(()=>{"use strict";yD();xD();Zj();Jj=Fp(Bp),eX=Jj.right,F8e=Jj.left,$8e=Fp(bD).center,TD=eX});function rX({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function z8e({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function G8e({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function V8e(t){return t!==null&&typeof t=="object"?t.valueOf():t}var fg,nX=I(()=>{"use strict";fg=class extends Map{static{o(this,"InternMap")}constructor(e,r=V8e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(rX(this,e))}has(e){return super.has(rX(this,e))}set(e,r){return super.set(z8e(this,e),r)}delete(e){return super.delete(G8e(this,e))}};o(rX,"intern_get");o(z8e,"intern_set");o(G8e,"intern_delete");o(V8e,"keyof")});function _w(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=q8e?10:a>=U8e?5:a>=W8e?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(s<0)for(let h=0;h{"use strict";q8e=Math.sqrt(50),U8e=Math.sqrt(10),W8e=Math.sqrt(2);o(_w,"tickSpec");o(Dw,"ticks");o(N2,"tickIncrement");o(dg,"tickStep")});function Rw(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var aX=I(()=>{"use strict";o(Rw,"max")});function Lw(t,e){let r;if(e===void 0)for(let 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}var sX=I(()=>{"use strict";o(Lw,"min")});function Nw(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";o(Nw,"range")});var Tf=I(()=>{"use strict";tX();xD();aX();sX();oX();iX();nX()});function wD(t){return t}var lX=I(()=>{"use strict";o(wD,"default")});function H8e(t){return"translate("+t+",0)"}function Y8e(t){return"translate(0,"+t+")"}function j8e(t){return e=>+t(e)}function X8e(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function K8e(){return!this.__axis}function uX(t,e){var r=[],n=null,i=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===Iw||t===Mw?-1:1,f=t===Mw||t===kD?"x":"y",d=t===Iw||t===SD?H8e:Y8e;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):wD),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,T=+x[x.length-1]+u,E=(e.bandwidth?X8e:j8e)(e.copy(),u),w=m.selection?m.selection():m,k=w.selectAll(".domain").data([null]),C=w.selectAll(".tick").data(g,e).order(),D=C.exit(),R=C.enter().append("g").attr("class","tick"),O=C.select("line"),L=C.select("text");k=k.merge(k.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge(R),O=O.merge(R.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),L=L.merge(R.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===Iw?"0em":t===SD?"0.71em":"0.32em")),m!==w&&(k=k.transition(m),C=C.transition(m),O=O.transition(m),L=L.transition(m),D=D.transition(m).attr("opacity",cX).attr("transform",function(S){return isFinite(S=E(S))?d(S+u):this.getAttribute("transform")}),R.attr("opacity",cX).attr("transform",function(S){var A=this.parentNode.__axis;return d((A&&isFinite(A=A(S))?A:E(S))+u)})),D.remove(),k.attr("d",t===Mw||t===kD?s?"M"+h*s+","+b+"H"+u+"V"+T+"H"+h*s:"M"+u+","+b+"V"+T:s?"M"+b+","+h*s+"V"+u+"H"+T+"V"+h*s:"M"+b+","+u+"H"+T),C.attr("opacity",1).attr("transform",function(S){return d(E(S)+u)}),O.attr(f+"2",h*a),L.attr(f,h*v).text(y),w.filter(K8e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===kD?"start":t===Mw?"end":"middle"),w.each(function(){this.__axis=E})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function ED(t){return uX(Iw,t)}function CD(t){return uX(SD,t)}var Iw,kD,SD,Mw,cX,hX=I(()=>{"use strict";lX();Iw=1,kD=2,SD=3,Mw=4,cX=1e-6;o(H8e,"translateX");o(Y8e,"translateY");o(j8e,"number");o(X8e,"center");o(K8e,"entering");o(uX,"axis");o(ED,"axisTop");o(CD,"axisBottom")});var fX=I(()=>{"use strict";hX()});function pX(){for(var t=0,e=arguments.length,r={},n;t=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}})}function J8e(t,e){for(var r=0,n=t.length,i;r{"use strict";Q8e={value:o(()=>{},"value")};o(pX,"dispatch");o(Ow,"Dispatch");o(Z8e,"parseTypenames");Ow.prototype=pX.prototype={constructor:Ow,on:o(function(t,e){var r=this._,n=Z8e(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";mX()});var Pw,DD,RD=I(()=>{"use strict";Pw="http://www.w3.org/1999/xhtml",DD={svg:"http://www.w3.org/2000/svg",xhtml:Pw,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function Uc(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),DD.hasOwnProperty(e)?{space:DD[e],local:t}:t}var Bw=I(()=>{"use strict";RD();o(Uc,"default")});function e_e(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===Pw&&e.documentElement.namespaceURI===Pw?e.createElement(t):e.createElementNS(r,t)}}function t_e(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function M2(t){var e=Uc(t);return(e.local?t_e:e_e)(e)}var LD=I(()=>{"use strict";Bw();RD();o(e_e,"creatorInherit");o(t_e,"creatorFixed");o(M2,"default")});function r_e(){}function wf(t){return t==null?r_e:function(){return this.querySelector(t)}}var Fw=I(()=>{"use strict";o(r_e,"none");o(wf,"default")});function ND(t){typeof t!="function"&&(t=wf(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Xl();Fw();o(ND,"default")});function MD(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var yX=I(()=>{"use strict";o(MD,"array")});function n_e(){return[]}function pg(t){return t==null?n_e:function(){return this.querySelectorAll(t)}}var ID=I(()=>{"use strict";o(n_e,"empty");o(pg,"default")});function i_e(t){return function(){return MD(t.apply(this,arguments))}}function OD(t){typeof t=="function"?t=i_e(t):t=pg(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";Xl();yX();ID();o(i_e,"arrayAll");o(OD,"default")});function mg(t){return function(){return this.matches(t)}}function $w(t){return function(e){return e.matches(t)}}var I2=I(()=>{"use strict";o(mg,"default");o($w,"childMatcher")});function s_e(t){return function(){return a_e.call(this.children,t)}}function o_e(){return this.firstElementChild}function PD(t){return this.select(t==null?o_e:s_e(typeof t=="function"?t:$w(t)))}var a_e,xX=I(()=>{"use strict";I2();a_e=Array.prototype.find;o(s_e,"childFind");o(o_e,"childFirst");o(PD,"default")});function c_e(){return Array.from(this.children)}function u_e(t){return function(){return l_e.call(this.children,t)}}function BD(t){return this.selectAll(t==null?c_e:u_e(typeof t=="function"?t:$w(t)))}var l_e,bX=I(()=>{"use strict";I2();l_e=Array.prototype.filter;o(c_e,"children");o(u_e,"childrenFilter");o(BD,"default")});function FD(t){typeof t!="function"&&(t=mg(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Xl();I2();o(FD,"default")});function O2(t){return new Array(t.length)}var $D=I(()=>{"use strict";o(O2,"default")});function zD(){return new Si(this._enter||this._groups.map(O2),this._parents)}function P2(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var GD=I(()=>{"use strict";$D();Xl();o(zD,"default");o(P2,"EnterNode");P2.prototype={constructor:P2,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function VD(t){return function(){return t}}var wX=I(()=>{"use strict";o(VD,"default")});function h_e(t,e,r,n,i,a){for(var s=0,l,u=e.length,h=a.length;s=T&&(T=b+1);!(w=v[T])&&++T{"use strict";Xl();GD();wX();o(h_e,"bindIndex");o(f_e,"bindKey");o(d_e,"datum");o(qD,"default");o(p_e,"arraylike")});function UD(){return new Si(this._exit||this._groups.map(O2),this._parents)}var SX=I(()=>{"use strict";$D();Xl();o(UD,"default")});function WD(t,e,r){var n=this.enter(),i=this,a=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?a.remove():r(a),n&&i?n.merge(i).order():i}var EX=I(()=>{"use strict";o(WD,"default")});function HD(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,s=Math.min(i,a),l=new Array(i),u=0;u{"use strict";Xl();o(HD,"default")});function YD(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var AX=I(()=>{"use strict";o(YD,"default")});function jD(t){t||(t=m_e);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var _X=I(()=>{"use strict";Xl();o(jD,"default");o(m_e,"ascending")});function XD(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var DX=I(()=>{"use strict";o(XD,"default")});function KD(){return Array.from(this)}var RX=I(()=>{"use strict";o(KD,"default")});function QD(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(QD,"default")});function ZD(){let t=0;for(let e of this)++t;return t}var NX=I(()=>{"use strict";o(ZD,"default")});function JD(){return!this.node()}var MX=I(()=>{"use strict";o(JD,"default")});function eR(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";o(eR,"default")});function g_e(t){return function(){this.removeAttribute(t)}}function y_e(t){return function(){this.removeAttributeNS(t.space,t.local)}}function v_e(t,e){return function(){this.setAttribute(t,e)}}function x_e(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function b_e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function T_e(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 tR(t,e){var r=Uc(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?y_e:g_e:typeof e=="function"?r.local?T_e:b_e:r.local?x_e:v_e)(r,e))}var OX=I(()=>{"use strict";Bw();o(g_e,"attrRemove");o(y_e,"attrRemoveNS");o(v_e,"attrConstant");o(x_e,"attrConstantNS");o(b_e,"attrFunction");o(T_e,"attrFunctionNS");o(tR,"default")});function B2(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var rR=I(()=>{"use strict";o(B2,"default")});function w_e(t){return function(){this.style.removeProperty(t)}}function k_e(t,e,r){return function(){this.style.setProperty(t,e,r)}}function S_e(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function nR(t,e,r){return arguments.length>1?this.each((e==null?w_e:typeof e=="function"?S_e:k_e)(t,e,r??"")):kf(this.node(),t)}function kf(t,e){return t.style.getPropertyValue(e)||B2(t).getComputedStyle(t,null).getPropertyValue(e)}var iR=I(()=>{"use strict";rR();o(w_e,"styleRemove");o(k_e,"styleConstant");o(S_e,"styleFunction");o(nR,"default");o(kf,"styleValue")});function E_e(t){return function(){delete this[t]}}function C_e(t,e){return function(){this[t]=e}}function A_e(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function aR(t,e){return arguments.length>1?this.each((e==null?E_e:typeof e=="function"?A_e:C_e)(t,e)):this.node()[t]}var PX=I(()=>{"use strict";o(E_e,"propertyRemove");o(C_e,"propertyConstant");o(A_e,"propertyFunction");o(aR,"default")});function BX(t){return t.trim().split(/^|\s+/)}function sR(t){return t.classList||new FX(t)}function FX(t){this._node=t,this._names=BX(t.getAttribute("class")||"")}function $X(t,e){for(var r=sR(t),n=-1,i=e.length;++n{"use strict";o(BX,"classArray");o(sR,"classList");o(FX,"ClassList");FX.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o($X,"classedAdd");o(zX,"classedRemove");o(__e,"classedTrue");o(D_e,"classedFalse");o(R_e,"classedFunction");o(oR,"default")});function L_e(){this.textContent=""}function N_e(t){return function(){this.textContent=t}}function M_e(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function lR(t){return arguments.length?this.each(t==null?L_e:(typeof t=="function"?M_e:N_e)(t)):this.node().textContent}var VX=I(()=>{"use strict";o(L_e,"textRemove");o(N_e,"textConstant");o(M_e,"textFunction");o(lR,"default")});function I_e(){this.innerHTML=""}function O_e(t){return function(){this.innerHTML=t}}function P_e(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function cR(t){return arguments.length?this.each(t==null?I_e:(typeof t=="function"?P_e:O_e)(t)):this.node().innerHTML}var qX=I(()=>{"use strict";o(I_e,"htmlRemove");o(O_e,"htmlConstant");o(P_e,"htmlFunction");o(cR,"default")});function B_e(){this.nextSibling&&this.parentNode.appendChild(this)}function uR(){return this.each(B_e)}var UX=I(()=>{"use strict";o(B_e,"raise");o(uR,"default")});function F_e(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function hR(){return this.each(F_e)}var WX=I(()=>{"use strict";o(F_e,"lower");o(hR,"default")});function fR(t){var e=typeof t=="function"?t:M2(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var HX=I(()=>{"use strict";LD();o(fR,"default")});function $_e(){return null}function dR(t,e){var r=typeof t=="function"?t:M2(t),n=e==null?$_e:typeof e=="function"?e:wf(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var YX=I(()=>{"use strict";LD();Fw();o($_e,"constantNull");o(dR,"default")});function z_e(){var t=this.parentNode;t&&t.removeChild(this)}function pR(){return this.each(z_e)}var jX=I(()=>{"use strict";o(z_e,"remove");o(pR,"default")});function G_e(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function V_e(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function mR(t){return this.select(t?V_e:G_e)}var XX=I(()=>{"use strict";o(G_e,"selection_cloneShallow");o(V_e,"selection_cloneDeep");o(mR,"default")});function gR(t){return arguments.length?this.property("__data__",t):this.node().__data__}var KX=I(()=>{"use strict";o(gR,"default")});function q_e(t){return function(e){t.call(this,e,this.__data__)}}function U_e(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 W_e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";o(q_e,"contextListener");o(U_e,"parseTypenames");o(W_e,"onRemove");o(H_e,"onAdd");o(yR,"default")});function ZX(t,e,r){var n=B2(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 Y_e(t,e){return function(){return ZX(this,t,e)}}function j_e(t,e){return function(){return ZX(this,t,e.apply(this,arguments))}}function vR(t,e){return this.each((typeof e=="function"?j_e:Y_e)(t,e))}var JX=I(()=>{"use strict";rR();o(ZX,"dispatchEvent");o(Y_e,"dispatchConstant");o(j_e,"dispatchFunction");o(vR,"default")});function*xR(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(xR,"default")});function Si(t,e){this._groups=t,this._parents=e}function tK(){return new Si([[document.documentElement]],bR)}function X_e(){return this}var bR,sh,Xl=I(()=>{"use strict";gX();vX();xX();bX();TX();kX();GD();SX();EX();CX();AX();_X();DX();RX();LX();NX();MX();IX();OX();iR();PX();GX();VX();qX();UX();WX();HX();YX();jX();XX();KX();QX();JX();eK();bR=[null];o(Si,"Selection");o(tK,"selection");o(X_e,"selection_selection");Si.prototype=tK.prototype={constructor:Si,select:ND,selectAll:OD,selectChild:PD,selectChildren:BD,filter:FD,data:qD,enter:zD,exit:UD,join:WD,merge:HD,selection:X_e,order:YD,sort:jD,call:XD,nodes:KD,node:QD,size:ZD,empty:JD,each:eR,attr:tR,style:nR,property:aR,classed:oR,text:lR,html:cR,raise:uR,lower:hR,append:fR,insert:dR,remove:pR,clone:mR,datum:gR,on:yR,dispatch:vR,[Symbol.iterator]:xR};sh=tK});function He(t){return typeof t=="string"?new Si([[document.querySelector(t)]],[document.documentElement]):new Si([[t]],bR)}var rK=I(()=>{"use strict";Xl();o(He,"default")});var Kl=I(()=>{"use strict";I2();Bw();rK();Xl();Fw();ID();iR()});var nK=I(()=>{"use strict"});function Sf(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function gg(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var TR=I(()=>{"use strict";o(Sf,"default");o(gg,"extend")});function Ef(){}function aK(){return this.rgb().formatHex()}function nDe(){return this.rgb().formatHex8()}function iDe(){return fK(this).formatHsl()}function sK(){return this.rgb().formatRgb()}function Zl(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=K_e.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?oK(e):r===3?new Da(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?zw(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?zw(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Q_e.exec(t))?new Da(e[1],e[2],e[3],1):(e=Z_e.exec(t))?new Da(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=J_e.exec(t))?zw(e[1],e[2],e[3],e[4]):(e=eDe.exec(t))?zw(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=tDe.exec(t))?uK(e[1],e[2]/100,e[3]/100,1):(e=rDe.exec(t))?uK(e[1],e[2]/100,e[3]/100,e[4]):iK.hasOwnProperty(t)?oK(iK[t]):t==="transparent"?new Da(NaN,NaN,NaN,0):null}function oK(t){return new Da(t>>16&255,t>>8&255,t&255,1)}function zw(t,e,r,n){return n<=0&&(t=e=r=NaN),new Da(t,e,r,n)}function kR(t){return t instanceof Ef||(t=Zl(t)),t?(t=t.rgb(),new Da(t.r,t.g,t.b,t.opacity)):new Da}function vg(t,e,r,n){return arguments.length===1?kR(t):new Da(t,e,r,n??1)}function Da(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function lK(){return`#${$p(this.r)}${$p(this.g)}${$p(this.b)}`}function aDe(){return`#${$p(this.r)}${$p(this.g)}${$p(this.b)}${$p((isNaN(this.opacity)?1:this.opacity)*255)}`}function cK(){let t=qw(this.opacity);return`${t===1?"rgb(":"rgba("}${zp(this.r)}, ${zp(this.g)}, ${zp(this.b)}${t===1?")":`, ${t})`}`}function qw(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function zp(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function $p(t){return t=zp(t),(t<16?"0":"")+t.toString(16)}function uK(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Ql(t,e,r,n)}function fK(t){if(t instanceof Ql)return new Ql(t.h,t.s,t.l,t.opacity);if(t instanceof Ef||(t=Zl(t)),!t)return new Ql;if(t instanceof Ql)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,l=a-i,u=(a+i)/2;return l?(e===a?s=(r-n)/l+(r0&&u<1?0:s,new Ql(s,l,u,t.opacity)}function dK(t,e,r,n){return arguments.length===1?fK(t):new Ql(t,e,r,n??1)}function Ql(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function hK(t){return t=(t||0)%360,t<0?t+360:t}function Gw(t){return Math.max(0,Math.min(1,t||0))}function wR(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var F2,Vw,yg,$2,Wc,K_e,Q_e,Z_e,J_e,eDe,tDe,rDe,iK,SR=I(()=>{"use strict";TR();o(Ef,"Color");F2=.7,Vw=1/F2,yg="\\s*([+-]?\\d+)\\s*",$2="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Wc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",K_e=/^#([0-9a-f]{3,8})$/,Q_e=new RegExp(`^rgb\\(${yg},${yg},${yg}\\)$`),Z_e=new RegExp(`^rgb\\(${Wc},${Wc},${Wc}\\)$`),J_e=new RegExp(`^rgba\\(${yg},${yg},${yg},${$2}\\)$`),eDe=new RegExp(`^rgba\\(${Wc},${Wc},${Wc},${$2}\\)$`),tDe=new RegExp(`^hsl\\(${$2},${Wc},${Wc}\\)$`),rDe=new RegExp(`^hsla\\(${$2},${Wc},${Wc},${$2}\\)$`),iK={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};Sf(Ef,Zl,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:aK,formatHex:aK,formatHex8:nDe,formatHsl:iDe,formatRgb:sK,toString:sK});o(aK,"color_formatHex");o(nDe,"color_formatHex8");o(iDe,"color_formatHsl");o(sK,"color_formatRgb");o(Zl,"color");o(oK,"rgbn");o(zw,"rgba");o(kR,"rgbConvert");o(vg,"rgb");o(Da,"Rgb");Sf(Da,vg,gg(Ef,{brighter(t){return t=t==null?Vw:Math.pow(Vw,t),new Da(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?F2:Math.pow(F2,t),new Da(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Da(zp(this.r),zp(this.g),zp(this.b),qw(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:lK,formatHex:lK,formatHex8:aDe,formatRgb:cK,toString:cK}));o(lK,"rgb_formatHex");o(aDe,"rgb_formatHex8");o(cK,"rgb_formatRgb");o(qw,"clampa");o(zp,"clampi");o($p,"hex");o(uK,"hsla");o(fK,"hslConvert");o(dK,"hsl");o(Ql,"Hsl");Sf(Ql,dK,gg(Ef,{brighter(t){return t=t==null?Vw:Math.pow(Vw,t),new Ql(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?F2:Math.pow(F2,t),new Ql(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Da(wR(t>=240?t-240:t+120,i,n),wR(t,i,n),wR(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Ql(hK(this.h),Gw(this.s),Gw(this.l),qw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=qw(this.opacity);return`${t===1?"hsl(":"hsla("}${hK(this.h)}, ${Gw(this.s)*100}%, ${Gw(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(hK,"clamph");o(Gw,"clampt");o(wR,"hsl2rgb")});var pK,mK,gK=I(()=>{"use strict";pK=Math.PI/180,mK=180/Math.PI});function wK(t){if(t instanceof Hc)return new Hc(t.l,t.a,t.b,t.opacity);if(t instanceof oh)return kK(t);t instanceof Da||(t=kR(t));var e=_R(t.r),r=_R(t.g),n=_R(t.b),i=ER((.2225045*e+.7168786*r+.0606169*n)/vK),a,s;return e===r&&r===n?a=s=i:(a=ER((.4360747*e+.3850649*r+.1430804*n)/yK),s=ER((.0139322*e+.0971045*r+.7141733*n)/xK)),new Hc(116*i-16,500*(a-i),200*(i-s),t.opacity)}function DR(t,e,r,n){return arguments.length===1?wK(t):new Hc(t,e,r,n??1)}function Hc(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function ER(t){return t>sDe?Math.pow(t,1/3):t/TK+bK}function CR(t){return t>xg?t*t*t:TK*(t-bK)}function AR(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function _R(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function oDe(t){if(t instanceof oh)return new oh(t.h,t.c,t.l,t.opacity);if(t instanceof Hc||(t=wK(t)),t.a===0&&t.b===0)return new oh(NaN,0{"use strict";TR();SR();gK();Uw=18,yK=.96422,vK=1,xK=.82521,bK=4/29,xg=6/29,TK=3*xg*xg,sDe=xg*xg*xg;o(wK,"labConvert");o(DR,"lab");o(Hc,"Lab");Sf(Hc,DR,gg(Ef,{brighter(t){return new Hc(this.l+Uw*(t??1),this.a,this.b,this.opacity)},darker(t){return new Hc(this.l-Uw*(t??1),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=yK*CR(e),t=vK*CR(t),r=xK*CR(r),new Da(AR(3.1338561*e-1.6168667*t-.4906146*r),AR(-.9787684*e+1.9161415*t+.033454*r),AR(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(ER,"xyz2lab");o(CR,"lab2xyz");o(AR,"lrgb2rgb");o(_R,"rgb2lrgb");o(oDe,"hclConvert");o(z2,"hcl");o(oh,"Hcl");o(kK,"hcl2lab");Sf(oh,z2,gg(Ef,{brighter(t){return new oh(this.h,this.c,this.l+Uw*(t??1),this.opacity)},darker(t){return new oh(this.h,this.c,this.l-Uw*(t??1),this.opacity)},rgb(){return kK(this).rgb()}}))});var bg=I(()=>{"use strict";SR();SK()});function RR(t,e,r,n,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*n+s*i)/6}function LR(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,l=n{"use strict";o(RR,"basis");o(LR,"default")});function MR(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],s=t[(n+1)%e],l=t[(n+2)%e];return RR((r-n/e)*e,i,a,s,l)}}var EK=I(()=>{"use strict";NR();o(MR,"default")});var Tg,IR=I(()=>{"use strict";Tg=o(t=>()=>t,"default")});function CK(t,e){return function(r){return t+r*e}}function lDe(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 AK(t,e){var r=e-t;return r?CK(t,r>180||r<-180?r-360*Math.round(r/360):r):Tg(isNaN(t)?e:t)}function _K(t){return(t=+t)==1?lh:function(e,r){return r-e?lDe(e,r,t):Tg(isNaN(e)?r:e)}}function lh(t,e){var r=e-t;return r?CK(t,r):Tg(isNaN(t)?e:t)}var OR=I(()=>{"use strict";IR();o(CK,"linear");o(lDe,"exponential");o(AK,"hue");o(_K,"gamma");o(lh,"nogamma")});function DK(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";bg();NR();EK();OR();Gp=o((function t(e){var r=_K(e);function n(i,a){var s=r((i=vg(i)).r,(a=vg(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=lh(i.opacity,a.opacity);return function(f){return i.r=s(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return o(n,"rgb"),n.gamma=t,n}),"rgbGamma")(1);o(DK,"rgbSpline");cDe=DK(LR),uDe=DK(MR)});function BR(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";o(BR,"default");o(RK,"isNumberArray")});function NK(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),s;for(s=0;s{"use strict";Ww();o(NK,"genericArray")});function FR(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var IK=I(()=>{"use strict";o(FR,"default")});function ca(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var G2=I(()=>{"use strict";o(ca,"default")});function $R(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]=Cf(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var OK=I(()=>{"use strict";Ww();o($R,"default")});function hDe(t){return function(){return t}}function fDe(t){return function(e){return t(e)+""}}function wg(t,e){var r=GR.lastIndex=zR.lastIndex=0,n,i,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(n=GR.exec(t))&&(i=zR.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(n=n[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,u.push({i:s,x:ca(n,i)})),r=zR.lastIndex;return r{"use strict";G2();GR=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,zR=new RegExp(GR.source,"g");o(hDe,"zero");o(fDe,"one");o(wg,"default")});function Cf(t,e){var r=typeof e,n;return e==null||r==="boolean"?Tg(e):(r==="number"?ca:r==="string"?(n=Zl(e))?(e=n,Gp):wg:e instanceof Zl?Gp:e instanceof Date?FR:RK(e)?BR:Array.isArray(e)?NK:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?$R:ca)(t,e)}var Ww=I(()=>{"use strict";bg();PR();MK();IK();G2();OK();VR();IR();LK();o(Cf,"default")});function Hw(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var PK=I(()=>{"use strict";o(Hw,"default")});function jw(t,e,r,n,i,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";BK=180/Math.PI,Yw={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(jw,"default")});function $K(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Yw:jw(e.a,e.b,e.c,e.d,e.e,e.f)}function zK(t){return t==null?Yw:(Xw||(Xw=document.createElementNS("http://www.w3.org/2000/svg","g")),Xw.setAttribute("transform",t),(t=Xw.transform.baseVal.consolidate())?(t=t.matrix,jw(t.a,t.b,t.c,t.d,t.e,t.f)):Yw)}var Xw,GK=I(()=>{"use strict";FK();o($K,"parseCss");o(zK,"parseSvg")});function VK(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}o(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:ca(h,d)},{i:y-2,x:ca(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:ca(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:ca(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:ca(h,d)},{i:y-2,x:ca(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";G2();GK();o(VK,"interpolateTransform");qR=VK($K,"px, ","px)","deg)"),UR=VK(zK,", ",")",")")});function UK(t){return function(e,r){var n=t((e=z2(e)).h,(r=z2(r)).h),i=lh(e.c,r.c),a=lh(e.l,r.l),s=lh(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=s(l),e+""}}}var WR,dDe,WK=I(()=>{"use strict";bg();OR();o(UK,"hcl");WR=UK(AK),dDe=UK(lh)});var kg=I(()=>{"use strict";Ww();G2();PK();VR();qK();PR();WK()});function Y2(){return Vp||(jK(pDe),Vp=W2.now()+Zw)}function pDe(){Vp=0}function H2(){this._call=this._time=this._next=null}function Jw(t,e,r){var n=new H2;return n.restart(t,e,r),n}function XK(){Y2(),++Sg;for(var t=Kw,e;t;)(e=Vp-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Sg}function HK(){Vp=(Qw=W2.now())+Zw,Sg=q2=0;try{XK()}finally{Sg=0,gDe(),Vp=0}}function mDe(){var t=W2.now(),e=t-Qw;e>YK&&(Zw-=e,Qw=t)}function gDe(){for(var t,e=Kw,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:Kw=r);U2=t,HR(n)}function HR(t){if(!Sg){q2&&(q2=clearTimeout(q2));var e=t-Vp;e>24?(t<1/0&&(q2=setTimeout(HK,t-W2.now()-Zw)),V2&&(V2=clearInterval(V2))):(V2||(Qw=W2.now(),V2=setInterval(mDe,YK)),Sg=1,jK(HK))}}var Sg,q2,V2,YK,Kw,U2,Qw,Vp,Zw,W2,jK,YR=I(()=>{"use strict";Sg=0,q2=0,V2=0,YK=1e3,Qw=0,Vp=0,Zw=0,W2=typeof performance=="object"&&performance.now?performance:Date,jK=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(Y2,"now");o(pDe,"clearNow");o(H2,"Timer");H2.prototype=Jw.prototype={constructor:H2,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?Y2():+r)+(e==null?0:+e),!this._next&&U2!==this&&(U2?U2._next=this:Kw=this,U2=this),this._call=t,this._time=r,HR()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,HR())},"stop")};o(Jw,"timer");o(XK,"timerFlush");o(HK,"wake");o(mDe,"poke");o(gDe,"nap");o(HR,"sleep")});function j2(t,e,r){var n=new H2;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var KK=I(()=>{"use strict";YR();o(j2,"default")});var e5=I(()=>{"use strict";YR();KK()});function ch(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;xDe(t,r,{name:e,index:n,group:i,on:yDe,tween:vDe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:JK})}function K2(t,e){var r=Ki(t,e);if(r.state>JK)throw new Error("too late; already scheduled");return r}function Ra(t,e){var r=Ki(t,e);if(r.state>t5)throw new Error("too late; already running");return r}function Ki(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function xDe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=Jw(a,0,r.time);function a(h){r.state=QK,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==QK)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===t5)return j2(s);m.state===ZK?(m.state=X2,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";_D();e5();yDe=AD("start","end","cancel","interrupt"),vDe=[],JK=0,QK=1,r5=2,t5=3,ZK=4,n5=5,X2=6;o(ch,"default");o(K2,"init");o(Ra,"set");o(Ki,"get");o(xDe,"create")});function Q2(t,e){var r=t.__transition,n,i,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((n=r[s]).name!==e){a=!1;continue}i=n.state>r5&&n.state{"use strict";Qs();o(Q2,"default")});function jR(t){return this.each(function(){Q2(this,t)})}var tQ=I(()=>{"use strict";eQ();o(jR,"default")});function bDe(t,e){var r,n;return function(){var i=Ra(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,l=n.length;s{"use strict";Qs();o(bDe,"tweenRemove");o(TDe,"tweenFunction");o(XR,"default");o(Eg,"tweenValue")});function J2(t,e){var r;return(typeof e=="number"?ca:e instanceof Zl?Gp:(r=Zl(e))?(e=r,Gp):wg)(t,e)}var KR=I(()=>{"use strict";bg();kg();o(J2,"default")});function wDe(t){return function(){this.removeAttribute(t)}}function kDe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function SDe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttribute(t);return s===i?null:s===n?a:a=e(n=s,r)}}function EDe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===n?a:a=e(n=s,r)}}function CDe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function ADe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function QR(t,e){var r=Uc(t),n=r==="transform"?UR:J2;return this.attrTween(t,typeof e=="function"?(r.local?ADe:CDe)(r,n,Eg(this,"attr."+t,e)):e==null?(r.local?kDe:wDe)(r):(r.local?EDe:SDe)(r,n,e))}var rQ=I(()=>{"use strict";kg();Kl();Z2();KR();o(wDe,"attrRemove");o(kDe,"attrRemoveNS");o(SDe,"attrConstant");o(EDe,"attrConstantNS");o(CDe,"attrFunction");o(ADe,"attrFunctionNS");o(QR,"default")});function _De(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function DDe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function RDe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&DDe(t,a)),r}return o(i,"tween"),i._value=e,i}function LDe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&_De(t,a)),r}return o(i,"tween"),i._value=e,i}function ZR(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=Uc(t);return this.tween(r,(n.local?RDe:LDe)(n,e))}var nQ=I(()=>{"use strict";Kl();o(_De,"attrInterpolate");o(DDe,"attrInterpolateNS");o(RDe,"attrTweenNS");o(LDe,"attrTween");o(ZR,"default")});function NDe(t,e){return function(){K2(this,t).delay=+e.apply(this,arguments)}}function MDe(t,e){return e=+e,function(){K2(this,t).delay=e}}function JR(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?NDe:MDe)(e,t)):Ki(this.node(),e).delay}var iQ=I(()=>{"use strict";Qs();o(NDe,"delayFunction");o(MDe,"delayConstant");o(JR,"default")});function IDe(t,e){return function(){Ra(this,t).duration=+e.apply(this,arguments)}}function ODe(t,e){return e=+e,function(){Ra(this,t).duration=e}}function eL(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?IDe:ODe)(e,t)):Ki(this.node(),e).duration}var aQ=I(()=>{"use strict";Qs();o(IDe,"durationFunction");o(ODe,"durationConstant");o(eL,"default")});function PDe(t,e){if(typeof e!="function")throw new Error;return function(){Ra(this,t).ease=e}}function tL(t){var e=this._id;return arguments.length?this.each(PDe(e,t)):Ki(this.node(),e).ease}var sQ=I(()=>{"use strict";Qs();o(PDe,"easeConstant");o(tL,"default")});function BDe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;Ra(this,t).ease=r}}function rL(t){if(typeof t!="function")throw new Error;return this.each(BDe(this._id,t))}var oQ=I(()=>{"use strict";Qs();o(BDe,"easeVarying");o(rL,"default")});function nL(t){typeof t!="function"&&(t=mg(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Kl();qp();o(nL,"default")});function iL(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),s=new Array(n),l=0;l{"use strict";qp();o(iL,"default")});function FDe(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 $De(t,e,r){var n,i,a=FDe(e)?K2:Ra;return function(){var s=a(this,t),l=s.on;l!==n&&(i=(n=l).copy()).on(e,r),s.on=i}}function aL(t,e){var r=this._id;return arguments.length<2?Ki(this.node(),r).on.on(t):this.each($De(r,t,e))}var uQ=I(()=>{"use strict";Qs();o(FDe,"start");o($De,"onFunction");o(aL,"default")});function zDe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function sL(){return this.on("end.remove",zDe(this._id))}var hQ=I(()=>{"use strict";o(zDe,"removeFunction");o(sL,"default")});function oL(t){var e=this._name,r=this._id;typeof t!="function"&&(t=wf(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s{"use strict";Kl();qp();Qs();o(oL,"default")});function lL(t){var e=this._name,r=this._id;typeof t!="function"&&(t=pg(t));for(var n=this._groups,i=n.length,a=[],s=[],l=0;l{"use strict";Kl();qp();Qs();o(lL,"default")});function cL(){return new GDe(this._groups,this._parents)}var GDe,pQ=I(()=>{"use strict";Kl();GDe=sh.prototype.constructor;o(cL,"default")});function VDe(t,e){var r,n,i;return function(){var a=kf(this,t),s=(this.style.removeProperty(t),kf(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function mQ(t){return function(){this.style.removeProperty(t)}}function qDe(t,e,r){var n,i=r+"",a;return function(){var s=kf(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function UDe(t,e,r){var n,i,a;return function(){var s=kf(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),kf(this,t))),s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l))}}function WDe(t,e){var r,n,i,a="style."+e,s="end."+a,l;return function(){var u=Ra(this,t),h=u.on,f=u.value[a]==null?l||(l=mQ(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(s,i=f),u.on=n}}function uL(t,e,r){var n=(t+="")=="transform"?qR:J2;return e==null?this.styleTween(t,VDe(t,n)).on("end.style."+t,mQ(t)):typeof e=="function"?this.styleTween(t,UDe(t,n,Eg(this,"style."+t,e))).each(WDe(this._id,t)):this.styleTween(t,qDe(t,n,e),r).on("end.style."+t,null)}var gQ=I(()=>{"use strict";kg();Kl();Qs();Z2();KR();o(VDe,"styleNull");o(mQ,"styleRemove");o(qDe,"styleConstant");o(UDe,"styleFunction");o(WDe,"styleMaybeRemove");o(uL,"default")});function HDe(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function YDe(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&HDe(t,s,r)),n}return o(a,"tween"),a._value=e,a}function hL(t,e,r){var n="style."+(t+="");if(arguments.length<2)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,YDe(t,e,r??""))}var yQ=I(()=>{"use strict";o(HDe,"styleInterpolate");o(YDe,"styleTween");o(hL,"default")});function jDe(t){return function(){this.textContent=t}}function XDe(t){return function(){var e=t(this);this.textContent=e??""}}function fL(t){return this.tween("text",typeof t=="function"?XDe(Eg(this,"text",t)):jDe(t==null?"":t+""))}var vQ=I(()=>{"use strict";Z2();o(jDe,"textConstant");o(XDe,"textFunction");o(fL,"default")});function KDe(t){return function(e){this.textContent=t.call(this,e)}}function QDe(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&KDe(i)),e}return o(n,"tween"),n._value=t,n}function dL(t){var e="text";if(arguments.length<1)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,QDe(t))}var xQ=I(()=>{"use strict";o(KDe,"textInterpolate");o(QDe,"textTween");o(dL,"default")});function pL(){for(var t=this._name,e=this._id,r=i5(),n=this._groups,i=n.length,a=0;a{"use strict";qp();Qs();o(pL,"default")});function mL(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--i===0&&a()},"value")};r.each(function(){var h=Ra(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var TQ=I(()=>{"use strict";Qs();o(mL,"default")});function Cs(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function wQ(t){return sh().transition(t)}function i5(){return++ZDe}var ZDe,uh,qp=I(()=>{"use strict";Kl();rQ();nQ();iQ();aQ();sQ();oQ();lQ();cQ();uQ();hQ();fQ();dQ();pQ();gQ();yQ();vQ();xQ();bQ();Z2();TQ();ZDe=0;o(Cs,"Transition");o(wQ,"transition");o(i5,"newId");uh=sh.prototype;Cs.prototype=wQ.prototype={constructor:Cs,select:oL,selectAll:lL,selectChild:uh.selectChild,selectChildren:uh.selectChildren,filter:nL,merge:iL,selection:cL,transition:pL,call:uh.call,nodes:uh.nodes,node:uh.node,size:uh.size,empty:uh.empty,each:uh.each,on:aL,attr:QR,attrTween:ZR,style:uL,styleTween:hL,text:fL,textTween:dL,remove:sL,tween:XR,delay:JR,duration:eL,ease:tL,easeVarying:rL,end:mL,[Symbol.iterator]:uh[Symbol.iterator]}});function a5(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var kQ=I(()=>{"use strict";o(a5,"cubicInOut")});var gL=I(()=>{"use strict";kQ()});function eRe(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 yL(t){var e,r;t instanceof Cs?(e=t._id,t=t._name):(e=i5(),(r=JDe).time=Y2(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";qp();Qs();gL();e5();JDe={time:null,delay:0,duration:250,ease:a5};o(eRe,"inherit");o(yL,"default")});var EQ=I(()=>{"use strict";Kl();tQ();SQ();sh.prototype.interrupt=jR;sh.prototype.transition=yL});var s5=I(()=>{"use strict";EQ()});var CQ=I(()=>{"use strict"});var AQ=I(()=>{"use strict"});var _Q=I(()=>{"use strict"});function DQ(t){return[+t[0],+t[1]]}function tRe(t){return[DQ(t[0]),DQ(t[1])]}function vL(t){return{type:t}}var f3t,d3t,p3t,m3t,g3t,y3t,RQ=I(()=>{"use strict";s5();CQ();AQ();_Q();({abs:f3t,max:d3t,min:p3t}=Math);o(DQ,"number1");o(tRe,"number2");m3t={name:"x",handles:["w","e"].map(vL),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},g3t={name:"y",handles:["n","s"].map(vL),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},y3t={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(vL),input:o(function(t){return t==null?null:tRe(t)},"input"),output:o(function(t){return t},"output")};o(vL,"type")});var LQ=I(()=>{"use strict";RQ()});function NQ(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return NQ;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";xL=Math.PI,bL=2*xL,Up=1e-6,rRe=bL-Up;o(NQ,"append");o(nRe,"appendRound");Wp=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?NQ:nRe(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,s){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,l=this._y1,u=n-e,h=i-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>Up)if(!(Math.abs(d*u-h*f)>Up)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-s,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),T=a*Math.tan((xL-Math.acos((y+p-v)/(2*x*b)))/2),E=T/b,w=T/x;Math.abs(E-1)>Up&&this._append`L${e+E*f},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+w*u},${this._y1=r+w*h}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^s,p=s?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>Up||Math.abs(this._y1-f)>Up)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%bL+bL),p>rRe?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>Up&&this._append`A${n},${n},0,${+(p>=xL)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};o(MQ,"path");MQ.prototype=Wp.prototype});var TL=I(()=>{"use strict";IQ()});var OQ=I(()=>{"use strict"});var PQ=I(()=>{"use strict"});var BQ=I(()=>{"use strict"});var FQ=I(()=>{"use strict"});var $Q=I(()=>{"use strict"});var zQ=I(()=>{"use strict"});var GQ=I(()=>{"use strict"});function wL(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Hp(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var ex=I(()=>{"use strict";o(wL,"default");o(Hp,"formatDecimalParts")});function Jl(t){return t=Hp(Math.abs(t)),t?t[1]:NaN}var tx=I(()=>{"use strict";ex();o(Jl,"default")});function kL(t,e){return function(r,n){for(var i=r.length,a=[],s=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var VQ=I(()=>{"use strict";o(kL,"default")});function SL(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var qQ=I(()=>{"use strict";o(SL,"default")});function Af(t){if(!(e=iRe.exec(t)))throw new Error("invalid format: "+t);var e;return new o5({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function o5(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+""}var iRe,EL=I(()=>{"use strict";iRe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(Af,"formatSpecifier");Af.prototype=o5.prototype;o(o5,"FormatSpecifier");o5.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 CL(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var UQ=I(()=>{"use strict";o(CL,"default")});function _L(t,e){var r=Hp(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(AL=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Hp(t,Math.max(0,e+a-1))[0]}var AL,DL=I(()=>{"use strict";ex();o(_L,"default")});function l5(t,e){var r=Hp(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"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")}var WQ=I(()=>{"use strict";ex();o(l5,"default")});var RL,HQ=I(()=>{"use strict";ex();DL();WQ();RL={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:wL,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>l5(t*100,e),"p"),r:l5,s:_L,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function c5(t){return t}var YQ=I(()=>{"use strict";o(c5,"default")});function LL(t){var e=t.grouping===void 0||t.thousands===void 0?c5:kL(jQ.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+"",a=t.numerals===void 0?c5:SL(jQ.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Af(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,T=d.precision,E=d.trim,w=d.type;w==="n"?(b=!0,w="g"):RL[w]||(T===void 0&&(T=12),E=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var k=y==="$"?r:y==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",C=y==="$"?n:/[%p]/.test(w)?s:"",D=RL[w],R=/[defgprs%]/.test(w);T=T===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function O(L){var S=k,A=C,_,N,M;if(w==="c")A=D(L)+A,L="";else{L=+L;var P=L<0||1/L<0;if(L=isNaN(L)?u:D(Math.abs(L),T),E&&(L=CL(L)),P&&+L==0&&g!=="+"&&(P=!1),S=(P?g==="("?g:l:g==="-"||g==="("?"":g)+S,A=(w==="s"?XQ[8+AL/3]:"")+A+(P&&g==="("?")":""),R){for(_=-1,N=L.length;++_M||M>57){A=(M===46?i+L.slice(_+1):L.slice(_))+A,L=L.slice(0,_);break}}}b&&!v&&(L=e(L,1/0));var B=S.length+L.length+A.length,F=B>1)+S+L+A+F.slice(B);break;default:L=F+S+L+A;break}return a(L)}return o(O,"format"),O.toString=function(){return d+""},O}o(h,"newFormat");function f(d,p){var m=h((d=Af(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(Jl(p)/3)))*3,y=Math.pow(10,-g),v=XQ[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var jQ,XQ,KQ=I(()=>{"use strict";tx();VQ();qQ();EL();UQ();HQ();DL();YQ();jQ=Array.prototype.map,XQ=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(LL,"default")});function NL(t){return u5=LL(t),Yc=u5.format,h5=u5.formatPrefix,u5}var u5,Yc,h5,QQ=I(()=>{"use strict";KQ();NL({thousands:",",grouping:[3],currency:["$",""]});o(NL,"defaultLocale")});function f5(t){return Math.max(0,-Jl(Math.abs(t)))}var ZQ=I(()=>{"use strict";tx();o(f5,"default")});function d5(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Jl(e)/3)))*3-Jl(Math.abs(t)))}var JQ=I(()=>{"use strict";tx();o(d5,"default")});function p5(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Jl(e)-Jl(t))+1}var eZ=I(()=>{"use strict";tx();o(p5,"default")});var ML=I(()=>{"use strict";QQ();EL();ZQ();JQ();eZ()});var tZ=I(()=>{"use strict"});function aRe(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function IL(){return this.eachAfter(aRe)}var rZ=I(()=>{"use strict";o(aRe,"count");o(IL,"default")});function OL(t,e){let r=-1;for(let n of this)t.call(e,n,++r,this);return this}var nZ=I(()=>{"use strict";o(OL,"default")});function PL(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}var iZ=I(()=>{"use strict";o(PL,"default")});function BL(t,e){for(var r=this,n=[r],i=[],a,s,l,u=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,l=a.length;s{"use strict";o(BL,"default")});function FL(t,e){let r=-1;for(let n of this)if(t.call(e,n,++r,this))return n}var sZ=I(()=>{"use strict";o(FL,"default")});function $L(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r})}var oZ=I(()=>{"use strict";o($L,"default")});function zL(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}var lZ=I(()=>{"use strict";o(zL,"default")});function GL(t){for(var e=this,r=sRe(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function sRe(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}var cZ=I(()=>{"use strict";o(GL,"default");o(sRe,"leastCommonAncestor")});function VL(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}var uZ=I(()=>{"use strict";o(VL,"default")});function qL(){return Array.from(this)}var hZ=I(()=>{"use strict";o(qL,"default")});function UL(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}var fZ=I(()=>{"use strict";o(UL,"default")});function WL(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}var dZ=I(()=>{"use strict";o(WL,"default")});function*HL(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i{"use strict";o(HL,"default")});function Cg(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=cRe)):e===void 0&&(e=lRe);for(var r=new rx(t),n,i=[r],a,s,l,u;n=i.pop();)if((s=e(n.data))&&(u=(s=Array.from(s)).length))for(n.children=s,l=u-1;l>=0;--l)i.push(a=s[l]=new rx(s[l])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(hRe)}function oRe(){return Cg(this).eachBefore(uRe)}function lRe(t){return t.children}function cRe(t){return Array.isArray(t)?t[1]:null}function uRe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function hRe(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function rx(t){this.data=t,this.depth=this.height=0,this.parent=null}var mZ=I(()=>{"use strict";rZ();nZ();iZ();aZ();sZ();oZ();lZ();cZ();uZ();hZ();fZ();dZ();pZ();o(Cg,"hierarchy");o(oRe,"node_copy");o(lRe,"objectChildren");o(cRe,"mapChildren");o(uRe,"copyData");o(hRe,"computeHeight");o(rx,"Node");rx.prototype=Cg.prototype={constructor:rx,count:IL,each:OL,eachAfter:BL,eachBefore:PL,find:FL,sum:$L,sort:zL,path:GL,ancestors:VL,descendants:qL,leaves:UL,links:WL,copy:oRe,[Symbol.iterator]:HL}});function gZ(t){if(typeof t!="function")throw new Error;return t}var yZ=I(()=>{"use strict";o(gZ,"required")});function Ag(){return 0}function Yp(t){return function(){return t}}var vZ=I(()=>{"use strict";o(Ag,"constantZero");o(Yp,"default")});function YL(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}var xZ=I(()=>{"use strict";o(YL,"default")});function jL(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(n-e)/t.value;++l{"use strict";o(jL,"default")});function XL(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(i-r)/t.value;++l{"use strict";o(XL,"default")});function dRe(t,e,r,n,i,a){for(var s=[],l=e.children,u,h,f=0,d=0,p=l.length,m,g,y=e.value,v,x,b,T,E,w,k;fb&&(b=h),k=v*v*w,T=Math.max(b/k,k/x),T>E){v-=h;break}E=T}s.push(u={value:v,dice:m{"use strict";bZ();TZ();fRe=(1+Math.sqrt(5))/2;o(dRe,"squarifyRatio");wZ=o((function t(e){function r(n,i,a,s,l){dRe(e,n,i,a,s,l)}return o(r,"squarify"),r.ratio=function(n){return t((n=+n)>1?n:1)},r}),"custom")(fRe)});function m5(){var t=wZ,e=!1,r=1,n=1,i=[0],a=Ag,s=Ag,l=Ag,u=Ag,h=Ag;function f(p){return p.x0=p.y0=0,p.x1=r,p.y1=n,p.eachBefore(d),i=[0],e&&p.eachBefore(YL),p}o(f,"treemap");function d(p){var m=i[p.depth],g=p.x0+m,y=p.y0+m,v=p.x1-m,x=p.y1-m;v{"use strict";xZ();kZ();yZ();vZ();o(m5,"default")});var EZ=I(()=>{"use strict";mZ();SZ()});var CZ=I(()=>{"use strict"});var AZ=I(()=>{"use strict"});function _f(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var nx=I(()=>{"use strict";o(_f,"initRange")});function Lo(){var t=new fg,e=[],r=[],n=KL;function i(a){let s=t.get(a);if(s===void 0){if(n!==KL)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new fg;for(let s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return Lo(e,r).unknown(n)},_f.apply(i,arguments),i}var KL,QL=I(()=>{"use strict";Tf();nx();KL=Symbol("implicit");o(Lo,"ordinal")});function _g(){var t=Lo().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";Tf();nx();QL();o(_g,"band")});function ZL(t){return function(){return t}}var DZ=I(()=>{"use strict";o(ZL,"constants")});function JL(t){return+t}var RZ=I(()=>{"use strict";o(JL,"number")});function Dg(t){return t}function e9(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:ZL(isNaN(e)?NaN:.5)}function pRe(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function mRe(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?gRe:mRe,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(s(p)))}return o(d,"scale"),d.invert=function(p){return s(i((h||(h=l(e,t.map(n),ca)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,JL),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=Hw,f()},d.clamp=function(p){return arguments.length?(s=p?!0:Dg,f()):s!==Dg},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function ix(){return yRe()(Dg,Dg)}var LZ,t9=I(()=>{"use strict";Tf();kg();DZ();RZ();LZ=[0,1];o(Dg,"identity");o(e9,"normalize");o(pRe,"clamper");o(mRe,"bimap");o(gRe,"polymap");o(g5,"copy");o(yRe,"transformer");o(ix,"continuous")});function r9(t,e,r,n){var i=dg(t,e,r),a;switch(n=Af(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=d5(i,s))&&(n.precision=a),h5(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=p5(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=f5(i))&&(n.precision=a-(n.type==="%")*2);break}}return Yc(n)}var NZ=I(()=>{"use strict";Tf();ML();o(r9,"tickFormat")});function vRe(t){var e=t.domain;return t.ticks=function(r){var n=e();return Dw(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return r9(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],l=n[a],u,h,f=10;for(l0;){if(h=N2(s,l,r),h===u)return n[i]=s,n[a]=l,e(n);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function ec(){var t=ix();return t.copy=function(){return g5(t,ec())},_f.apply(t,arguments),vRe(t)}var MZ=I(()=>{"use strict";Tf();t9();nx();NZ();o(vRe,"linearish");o(ec,"linear")});function n9(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a{"use strict";o(n9,"nice")});function Mn(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let s=i(a),l=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hMn(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(i9.setTime(+a),a9.setTime(+s),t(i9),t(a9),Math.floor(r(i9,a9))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}var i9,a9,hh=I(()=>{"use strict";i9=new Date,a9=new Date;o(Mn,"timeInterval")});var jc,OZ,s9=I(()=>{"use strict";hh();jc=Mn(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);jc.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Mn(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):jc);OZ=jc.range});var No,PZ,o9=I(()=>{"use strict";hh();No=Mn(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),PZ=No.range});var fh,xRe,y5,bRe,l9=I(()=>{"use strict";hh();fh=Mn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),xRe=fh.range,y5=Mn(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),bRe=y5.range});var dh,TRe,v5,wRe,c9=I(()=>{"use strict";hh();dh=Mn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),TRe=dh.range,v5=Mn(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),wRe=v5.range});var ll,kRe,sx,SRe,x5,ERe,u9=I(()=>{"use strict";hh();ll=Mn(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),kRe=ll.range,sx=Mn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),SRe=sx.range,x5=Mn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),ERe=x5.range});function Kp(t){return Mn(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function Qp(t){return Mn(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var tc,Df,b5,T5,Kc,w5,k5,FZ,CRe,ARe,_Re,DRe,RRe,LRe,Zp,Rg,$Z,zZ,Rf,GZ,VZ,qZ,NRe,MRe,IRe,ORe,PRe,BRe,h9=I(()=>{"use strict";hh();o(Kp,"timeWeekday");tc=Kp(0),Df=Kp(1),b5=Kp(2),T5=Kp(3),Kc=Kp(4),w5=Kp(5),k5=Kp(6),FZ=tc.range,CRe=Df.range,ARe=b5.range,_Re=T5.range,DRe=Kc.range,RRe=w5.range,LRe=k5.range;o(Qp,"utcWeekday");Zp=Qp(0),Rg=Qp(1),$Z=Qp(2),zZ=Qp(3),Rf=Qp(4),GZ=Qp(5),VZ=Qp(6),qZ=Zp.range,NRe=Rg.range,MRe=$Z.range,IRe=zZ.range,ORe=Rf.range,PRe=GZ.range,BRe=VZ.range});var ph,FRe,S5,$Re,f9=I(()=>{"use strict";hh();ph=Mn(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),FRe=ph.range,S5=Mn(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),$Re=S5.range});var Mo,zRe,rc,GRe,d9=I(()=>{"use strict";hh();Mo=Mn(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Mo.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Mn(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});zRe=Mo.range,rc=Mn(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());rc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Mn(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});GRe=rc.range});function WZ(t,e,r,n,i,a){let s=[[No,1,1e3],[No,5,5*1e3],[No,15,15*1e3],[No,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(dg(h/31536e6,f/31536e6,d));if(m===0)return jc.every(Math.max(dg(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";Tf();s9();o9();l9();c9();u9();h9();f9();d9();o(WZ,"ticker");[qRe,URe]=WZ(rc,S5,Zp,x5,v5,y5),[p9,m9]=WZ(Mo,ph,tc,ll,dh,fh)});var E5=I(()=>{"use strict";s9();o9();l9();c9();u9();h9();f9();d9();HZ()});function g9(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function y9(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ox(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function v9(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=lx(i),f=cx(i),d=lx(a),p=cx(a),m=lx(s),g=cx(s),y=lx(l),v=cx(l),x=lx(u),b=cx(u),T={a:P,A:B,b:F,B:G,c:null,d:ZZ,e:ZZ,f:dLe,g:kLe,G:ELe,H:uLe,I:hLe,j:fLe,L:nJ,m:pLe,M:mLe,p:$,q:V,Q:tJ,s:rJ,S:gLe,u:yLe,U:vLe,V:xLe,w:bLe,W:TLe,x:null,X:null,y:wLe,Y:SLe,Z:CLe,"%":eJ},E={a:K,A:ee,b:H,B:he,c:null,d:JZ,e:JZ,f:RLe,g:zLe,G:VLe,H:ALe,I:_Le,j:DLe,L:aJ,m:LLe,M:NLe,p:Z,q:de,Q:tJ,s:rJ,S:MLe,u:ILe,U:OLe,V:PLe,w:BLe,W:FLe,x:null,X:null,y:$Le,Y:GLe,Z:qLe,"%":eJ},w={a:O,A:L,b:S,B:A,c:_,d:KZ,e:KZ,f:sLe,g:XZ,G:jZ,H:QZ,I:QZ,j:rLe,L:aLe,m:tLe,M:nLe,p:R,q:eLe,Q:lLe,s:cLe,S:iLe,u:XRe,U:KRe,V:QRe,w:jRe,W:ZRe,x:N,X:M,y:XZ,Y:jZ,Z:JRe,"%":oLe};T.x=k(r,T),T.X=k(n,T),T.c=k(e,T),E.x=k(r,E),E.X=k(n,E),E.c=k(e,E);function k(re,ne){return function(te){var Q=[],le=-1,J=0,ge=re.length,ie,Te,j;for(te instanceof Date||(te=new Date(+te));++le53)return null;"w"in Q||(Q.w=1),"Z"in Q?(J=y9(ox(Q.y,0,1)),ge=J.getUTCDay(),J=ge>4||ge===0?Rg.ceil(J):Rg(J),J=sx.offset(J,(Q.V-1)*7),Q.y=J.getUTCFullYear(),Q.m=J.getUTCMonth(),Q.d=J.getUTCDate()+(Q.w+6)%7):(J=g9(ox(Q.y,0,1)),ge=J.getDay(),J=ge>4||ge===0?Df.ceil(J):Df(J),J=ll.offset(J,(Q.V-1)*7),Q.y=J.getFullYear(),Q.m=J.getMonth(),Q.d=J.getDate()+(Q.w+6)%7)}else("W"in Q||"U"in Q)&&("w"in Q||(Q.w="u"in Q?Q.u%7:"W"in Q?1:0),ge="Z"in Q?y9(ox(Q.y,0,1)).getUTCDay():g9(ox(Q.y,0,1)).getDay(),Q.m=0,Q.d="W"in Q?(Q.w+6)%7+Q.W*7-(ge+5)%7:Q.w+Q.U*7-(ge+6)%7);return"Z"in Q?(Q.H+=Q.Z/100|0,Q.M+=Q.Z%100,y9(Q)):g9(Q)}}o(C,"newParse");function D(re,ne,te,Q){for(var le=0,J=ne.length,ge=te.length,ie,Te;le=ge)return-1;if(ie=ne.charCodeAt(le++),ie===37){if(ie=ne.charAt(le++),Te=w[ie in YZ?ne.charAt(le++):ie],!Te||(Q=Te(re,te,Q))<0)return-1}else if(ie!=te.charCodeAt(Q++))return-1}return Q}o(D,"parseSpecifier");function R(re,ne,te){var Q=h.exec(ne.slice(te));return Q?(re.p=f.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(R,"parsePeriod");function O(re,ne,te){var Q=m.exec(ne.slice(te));return Q?(re.w=g.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(O,"parseShortWeekday");function L(re,ne,te){var Q=d.exec(ne.slice(te));return Q?(re.w=p.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(L,"parseWeekday");function S(re,ne,te){var Q=x.exec(ne.slice(te));return Q?(re.m=b.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(S,"parseShortMonth");function A(re,ne,te){var Q=y.exec(ne.slice(te));return Q?(re.m=v.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(A,"parseMonth");function _(re,ne,te){return D(re,e,ne,te)}o(_,"parseLocaleDateTime");function N(re,ne,te){return D(re,r,ne,te)}o(N,"parseLocaleDate");function M(re,ne,te){return D(re,n,ne,te)}o(M,"parseLocaleTime");function P(re){return s[re.getDay()]}o(P,"formatShortWeekday");function B(re){return a[re.getDay()]}o(B,"formatWeekday");function F(re){return u[re.getMonth()]}o(F,"formatShortMonth");function G(re){return l[re.getMonth()]}o(G,"formatMonth");function $(re){return i[+(re.getHours()>=12)]}o($,"formatPeriod");function V(re){return 1+~~(re.getMonth()/3)}o(V,"formatQuarter");function K(re){return s[re.getUTCDay()]}o(K,"formatUTCShortWeekday");function ee(re){return a[re.getUTCDay()]}o(ee,"formatUTCWeekday");function H(re){return u[re.getUTCMonth()]}o(H,"formatUTCShortMonth");function he(re){return l[re.getUTCMonth()]}o(he,"formatUTCMonth");function Z(re){return i[+(re.getUTCHours()>=12)]}o(Z,"formatUTCPeriod");function de(re){return 1+~~(re.getUTCMonth()/3)}return o(de,"formatUTCQuarter"),{format:o(function(re){var ne=k(re+="",T);return ne.toString=function(){return re},ne},"format"),parse:o(function(re){var ne=C(re+="",!1);return ne.toString=function(){return re},ne},"parse"),utcFormat:o(function(re){var ne=k(re+="",E);return ne.toString=function(){return re},ne},"utcFormat"),utcParse:o(function(re){var ne=C(re+="",!0);return ne.toString=function(){return re},ne},"utcParse")}}function on(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function jRe(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function XRe(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function KRe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function QRe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function ZRe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function jZ(t,e,r){var n=ua.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function XZ(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function JRe(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 eLe(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function tLe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function KZ(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function rLe(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function QZ(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function nLe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function iLe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function aLe(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function sLe(t,e,r){var n=ua.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function oLe(t,e,r){var n=WRe.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function lLe(t,e,r){var n=ua.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function cLe(t,e,r){var n=ua.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function ZZ(t,e){return on(t.getDate(),e,2)}function uLe(t,e){return on(t.getHours(),e,2)}function hLe(t,e){return on(t.getHours()%12||12,e,2)}function fLe(t,e){return on(1+ll.count(Mo(t),t),e,3)}function nJ(t,e){return on(t.getMilliseconds(),e,3)}function dLe(t,e){return nJ(t,e)+"000"}function pLe(t,e){return on(t.getMonth()+1,e,2)}function mLe(t,e){return on(t.getMinutes(),e,2)}function gLe(t,e){return on(t.getSeconds(),e,2)}function yLe(t){var e=t.getDay();return e===0?7:e}function vLe(t,e){return on(tc.count(Mo(t)-1,t),e,2)}function iJ(t){var e=t.getDay();return e>=4||e===0?Kc(t):Kc.ceil(t)}function xLe(t,e){return t=iJ(t),on(Kc.count(Mo(t),t)+(Mo(t).getDay()===4),e,2)}function bLe(t){return t.getDay()}function TLe(t,e){return on(Df.count(Mo(t)-1,t),e,2)}function wLe(t,e){return on(t.getFullYear()%100,e,2)}function kLe(t,e){return t=iJ(t),on(t.getFullYear()%100,e,2)}function SLe(t,e){return on(t.getFullYear()%1e4,e,4)}function ELe(t,e){var r=t.getDay();return t=r>=4||r===0?Kc(t):Kc.ceil(t),on(t.getFullYear()%1e4,e,4)}function CLe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+on(e/60|0,"0",2)+on(e%60,"0",2)}function JZ(t,e){return on(t.getUTCDate(),e,2)}function ALe(t,e){return on(t.getUTCHours(),e,2)}function _Le(t,e){return on(t.getUTCHours()%12||12,e,2)}function DLe(t,e){return on(1+sx.count(rc(t),t),e,3)}function aJ(t,e){return on(t.getUTCMilliseconds(),e,3)}function RLe(t,e){return aJ(t,e)+"000"}function LLe(t,e){return on(t.getUTCMonth()+1,e,2)}function NLe(t,e){return on(t.getUTCMinutes(),e,2)}function MLe(t,e){return on(t.getUTCSeconds(),e,2)}function ILe(t){var e=t.getUTCDay();return e===0?7:e}function OLe(t,e){return on(Zp.count(rc(t)-1,t),e,2)}function sJ(t){var e=t.getUTCDay();return e>=4||e===0?Rf(t):Rf.ceil(t)}function PLe(t,e){return t=sJ(t),on(Rf.count(rc(t),t)+(rc(t).getUTCDay()===4),e,2)}function BLe(t){return t.getUTCDay()}function FLe(t,e){return on(Rg.count(rc(t)-1,t),e,2)}function $Le(t,e){return on(t.getUTCFullYear()%100,e,2)}function zLe(t,e){return t=sJ(t),on(t.getUTCFullYear()%100,e,2)}function GLe(t,e){return on(t.getUTCFullYear()%1e4,e,4)}function VLe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Rf(t):Rf.ceil(t),on(t.getUTCFullYear()%1e4,e,4)}function qLe(){return"+0000"}function eJ(){return"%"}function tJ(t){return+t}function rJ(t){return Math.floor(+t/1e3)}var YZ,ua,WRe,HRe,oJ=I(()=>{"use strict";E5();o(g9,"localDate");o(y9,"utcDate");o(ox,"newDate");o(v9,"formatLocale");YZ={"-":"",_:" ",0:"0"},ua=/^\s*\d+/,WRe=/^%/,HRe=/[\\^$*+?|[\]().{}]/g;o(on,"pad");o(YRe,"requote");o(lx,"formatRe");o(cx,"formatLookup");o(jRe,"parseWeekdayNumberSunday");o(XRe,"parseWeekdayNumberMonday");o(KRe,"parseWeekNumberSunday");o(QRe,"parseWeekNumberISO");o(ZRe,"parseWeekNumberMonday");o(jZ,"parseFullYear");o(XZ,"parseYear");o(JRe,"parseZone");o(eLe,"parseQuarter");o(tLe,"parseMonthNumber");o(KZ,"parseDayOfMonth");o(rLe,"parseDayOfYear");o(QZ,"parseHour24");o(nLe,"parseMinutes");o(iLe,"parseSeconds");o(aLe,"parseMilliseconds");o(sLe,"parseMicroseconds");o(oLe,"parseLiteralPercent");o(lLe,"parseUnixTimestamp");o(cLe,"parseUnixTimestampSeconds");o(ZZ,"formatDayOfMonth");o(uLe,"formatHour24");o(hLe,"formatHour12");o(fLe,"formatDayOfYear");o(nJ,"formatMilliseconds");o(dLe,"formatMicroseconds");o(pLe,"formatMonthNumber");o(mLe,"formatMinutes");o(gLe,"formatSeconds");o(yLe,"formatWeekdayNumberMonday");o(vLe,"formatWeekNumberSunday");o(iJ,"dISO");o(xLe,"formatWeekNumberISO");o(bLe,"formatWeekdayNumberSunday");o(TLe,"formatWeekNumberMonday");o(wLe,"formatYear");o(kLe,"formatYearISO");o(SLe,"formatFullYear");o(ELe,"formatFullYearISO");o(CLe,"formatZone");o(JZ,"formatUTCDayOfMonth");o(ALe,"formatUTCHour24");o(_Le,"formatUTCHour12");o(DLe,"formatUTCDayOfYear");o(aJ,"formatUTCMilliseconds");o(RLe,"formatUTCMicroseconds");o(LLe,"formatUTCMonthNumber");o(NLe,"formatUTCMinutes");o(MLe,"formatUTCSeconds");o(ILe,"formatUTCWeekdayNumberMonday");o(OLe,"formatUTCWeekNumberSunday");o(sJ,"UTCdISO");o(PLe,"formatUTCWeekNumberISO");o(BLe,"formatUTCWeekdayNumberSunday");o(FLe,"formatUTCWeekNumberMonday");o($Le,"formatUTCYear");o(zLe,"formatUTCYearISO");o(GLe,"formatUTCFullYear");o(VLe,"formatUTCFullYearISO");o(qLe,"formatUTCZone");o(eJ,"formatLiteralPercent");o(tJ,"formatUnixTimestamp");o(rJ,"formatUnixTimestampSeconds")});function x9(t){return Lg=v9(t),Jp=Lg.format,lJ=Lg.parse,cJ=Lg.utcFormat,uJ=Lg.utcParse,Lg}var Lg,Jp,lJ,cJ,uJ,hJ=I(()=>{"use strict";oJ();x9({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"]});o(x9,"defaultLocale")});var b9=I(()=>{"use strict";hJ()});function ULe(t){return new Date(t)}function WLe(t){return t instanceof Date?+t:+new Date(+t)}function fJ(t,e,r,n,i,a,s,l,u,h){var f=ix(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),T=h("%B"),E=h("%Y");function w(k){return(u(k){"use strict";E5();b9();t9();nx();IZ();o(ULe,"date");o(WLe,"number");o(fJ,"calendar");o(C5,"time")});var pJ=I(()=>{"use strict";_Z();MZ();QL();dJ()});function T9(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";o(T9,"default")});var w9,gJ=I(()=>{"use strict";mJ();w9=T9("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var yJ=I(()=>{"use strict";gJ()});function Xn(t){return o(function(){return t},"constant")}var A5=I(()=>{"use strict";o(Xn,"default")});function xJ(t){return t>1?0:t<-1?Ng:Math.acos(t)}function S9(t){return t>=1?ux:t<=-1?-ux:Math.asin(t)}var k9,La,Lf,vJ,_5,nc,e0,ha,Ng,ux,Mg,D5=I(()=>{"use strict";k9=Math.abs,La=Math.atan2,Lf=Math.cos,vJ=Math.max,_5=Math.min,nc=Math.sin,e0=Math.sqrt,ha=1e-12,Ng=Math.PI,ux=Ng/2,Mg=2*Ng;o(xJ,"acos");o(S9,"asin")});function R5(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Wp(e)}var E9=I(()=>{"use strict";TL();o(R5,"withPath")});function HLe(t){return t.innerRadius}function YLe(t){return t.outerRadius}function jLe(t){return t.startAngle}function XLe(t){return t.endAngle}function KLe(t){return t&&t.padAngle}function QLe(t,e,r,n,i,a,s,l){var u=r-t,h=n-e,f=s-i,d=l-a,p=d*u-f*h;if(!(p*p_*_+N*N&&(D=O,R=L),{cx:D,cy:R,x01:-f,y01:-d,x11:D*(i/w-1),y11:R*(i/w-1)}}function ic(){var t=HLe,e=YLe,r=Xn(0),n=null,i=jLe,a=XLe,s=KLe,l=null,u=R5(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-ux,y=a.apply(this,arguments)-ux,v=k9(y-g),x=y>g;if(l||(l=f=u()),mha))l.moveTo(0,0);else if(v>Mg-ha)l.moveTo(m*Lf(g),m*nc(g)),l.arc(0,0,m,g,y,!x),p>ha&&(l.moveTo(p*Lf(y),p*nc(y)),l.arc(0,0,p,y,g,x));else{var b=g,T=y,E=g,w=y,k=v,C=v,D=s.apply(this,arguments)/2,R=D>ha&&(n?+n.apply(this,arguments):e0(p*p+m*m)),O=_5(k9(m-p)/2,+r.apply(this,arguments)),L=O,S=O,A,_;if(R>ha){var N=S9(R/p*nc(D)),M=S9(R/m*nc(D));(k-=N*2)>ha?(N*=x?1:-1,E+=N,w-=N):(k=0,E=w=(g+y)/2),(C-=M*2)>ha?(M*=x?1:-1,b+=M,T-=M):(C=0,b=T=(g+y)/2)}var P=m*Lf(b),B=m*nc(b),F=p*Lf(w),G=p*nc(w);if(O>ha){var $=m*Lf(T),V=m*nc(T),K=p*Lf(E),ee=p*nc(E),H;if(vha?S>ha?(A=L5(K,ee,P,B,m,S,x),_=L5($,V,F,G,m,S,x),l.moveTo(A.cx+A.x01,A.cy+A.y01),Sha)||!(k>ha)?l.lineTo(F,G):L>ha?(A=L5(F,G,$,V,p,-L,x),_=L5(P,B,K,ee,p,-L,x),l.lineTo(A.cx+A.x01,A.cy+A.y01),L{"use strict";A5();D5();E9();o(HLe,"arcInnerRadius");o(YLe,"arcOuterRadius");o(jLe,"arcStartAngle");o(XLe,"arcEndAngle");o(KLe,"arcPadAngle");o(QLe,"intersect");o(L5,"cornerTangents");o(ic,"default")});function hx(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var tEt,C9=I(()=>{"use strict";tEt=Array.prototype.slice;o(hx,"default")});function TJ(t){this._context=t}function mh(t){return new TJ(t)}var A9=I(()=>{"use strict";o(TJ,"Linear");TJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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}},"point")};o(mh,"default")});function wJ(t){return t[0]}function kJ(t){return t[1]}var SJ=I(()=>{"use strict";o(wJ,"x");o(kJ,"y")});function ac(t,e){var r=Xn(!0),n=null,i=mh,a=null,s=R5(l);t=typeof t=="function"?t:t===void 0?wJ:Xn(t),e=typeof e=="function"?e:e===void 0?kJ:Xn(e);function l(u){var h,f=(u=hx(u)).length,d,p=!1,m;for(n==null&&(a=i(m=s())),h=0;h<=f;++h)!(h{"use strict";C9();A5();A9();E9();SJ();o(ac,"default")});function _9(t,e){return et?1:e>=t?0:NaN}var CJ=I(()=>{"use strict";o(_9,"default")});function D9(t){return t}var AJ=I(()=>{"use strict";o(D9,"default")});function N5(){var t=D9,e=_9,r=null,n=Xn(0),i=Xn(Mg),a=Xn(0);function s(l){var u,h=(l=hx(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(Mg,Math.max(-Mg,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),T=b*(v<0?-1:1),E;for(u=0;u0&&(p+=E);for(e!=null?m.sort(function(w,k){return e(g[w],g[k])}):r!=null&&m.sort(function(w,k){return r(l[w],l[k])}),u=0,d=p?(v-h*T)/p:0;u0?E*d:0)+T,g[f]={data:l[f],index:u,value:E,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:Xn(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:Xn(+l),s):n},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Xn(+l),s):i},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Xn(+l),s):a},s}var _J=I(()=>{"use strict";C9();A5();CJ();AJ();D5();o(N5,"default")});function fx(t){return new M5(t,!0)}function dx(t){return new M5(t,!1)}var M5,DJ=I(()=>{"use strict";M5=class{static{o(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};o(fx,"bumpX");o(dx,"bumpY")});function Io(){}var px=I(()=>{"use strict";o(Io,"default")});function Ig(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 mx(t){this._context=t}function cl(t){return new mx(t)}var gx=I(()=>{"use strict";o(Ig,"point");o(mx,"Basis");mx.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:Ig(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},"lineEnd"),point:o(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:Ig(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(cl,"default")});function RJ(t){this._context=t}function I5(t){return new RJ(t)}var LJ=I(()=>{"use strict";px();gx();o(RJ,"BasisClosed");RJ.prototype={areaStart:Io,areaEnd:Io,lineStart:o(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},"lineStart"),lineEnd:o(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}}},"lineEnd"),point:o(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:Ig(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(I5,"default")});function NJ(t){this._context=t}function O5(t){return new NJ(t)}var MJ=I(()=>{"use strict";gx();o(NJ,"BasisOpen");NJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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:Ig(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(O5,"default")});function IJ(t,e){this._basis=new mx(t),this._beta=e}var R9,OJ=I(()=>{"use strict";gx();o(IJ,"Bundle");IJ.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};R9=o((function t(e){function r(n){return e===1?new mx(n):new IJ(n,e)}return o(r,"bundle"),r.beta=function(n){return t(+n)},r}),"custom")(.85)});function Og(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function P5(t,e){this._context=t,this._k=(1-e)/6}var yx,vx=I(()=>{"use strict";o(Og,"point");o(P5,"Cardinal");P5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Og(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Og(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};yx=o((function t(e){function r(n){return new P5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function B5(t,e){this._context=t,this._k=(1-e)/6}var L9,N9=I(()=>{"use strict";px();vx();o(B5,"CardinalClosed");B5.prototype={areaStart:Io,areaEnd:Io,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Og(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};L9=o((function t(e){function r(n){return new B5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function F5(t,e){this._context=t,this._k=(1-e)/6}var M9,I9=I(()=>{"use strict";vx();o(F5,"CardinalOpen");F5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Og(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};M9=o((function t(e){function r(n){return new F5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function xx(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>ha){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>ha){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function PJ(t,e){this._context=t,this._alpha=e}var bx,$5=I(()=>{"use strict";D5();vx();o(xx,"point");o(PJ,"CatmullRom");PJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:xx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};bx=o((function t(e){function r(n){return e?new PJ(n,e):new P5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function BJ(t,e){this._context=t,this._alpha=e}var O9,FJ=I(()=>{"use strict";N9();px();$5();o(BJ,"CatmullRomClosed");BJ.prototype={areaStart:Io,areaEnd:Io,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:xx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};O9=o((function t(e){function r(n){return e?new BJ(n,e):new B5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function $J(t,e){this._context=t,this._alpha=e}var P9,zJ=I(()=>{"use strict";I9();$5();o($J,"CatmullRomOpen");$J.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:xx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};P9=o((function t(e){function r(n){return e?new $J(n,e):new F5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function GJ(t){this._context=t}function z5(t){return new GJ(t)}var VJ=I(()=>{"use strict";px();o(GJ,"LinearClosed");GJ.prototype={areaStart:Io,areaEnd:Io,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(z5,"default")});function qJ(t){return t<0?-1:1}function UJ(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),l=(a*i+s*n)/(n+i);return(qJ(a)+qJ(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function WJ(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function B9(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,s-l*r,a,s)}function G5(t){this._context=t}function HJ(t){this._context=new YJ(t)}function YJ(t){this._context=t}function Tx(t){return new G5(t)}function wx(t){return new HJ(t)}var jJ=I(()=>{"use strict";o(qJ,"sign");o(UJ,"slope3");o(WJ,"slope2");o(B9,"point");o(G5,"MonotoneX");G5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:B9(this,this._t0,WJ(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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,B9(this,WJ(this,r=UJ(this,t,e)),r);break;default:B9(this,this._t0,r=UJ(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(HJ,"MonotoneY");(HJ.prototype=Object.create(G5.prototype)).point=function(t,e){G5.prototype.point.call(this,e,t)};o(YJ,"ReflectContext");YJ.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};o(Tx,"monotoneX");o(wx,"monotoneY")});function KJ(t){this._context=t}function XJ(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";o(KJ,"Natural");KJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(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=XJ(t),i=XJ(e),a=0,s=1;s{"use strict";o(V5,"Step");V5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var 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},"point")};o(Bg,"default");o(kx,"stepBefore");o(Sx,"stepAfter")});var JJ=I(()=>{"use strict";bJ();EJ();_J();LJ();MJ();gx();DJ();OJ();N9();I9();vx();FJ();zJ();$5();VJ();A9();jJ();QJ();ZJ()});var eee=I(()=>{"use strict"});var tee=I(()=>{"use strict"});function Nf(t,e,r){this.k=t,this.x=e,this.y=r}function $9(t){for(;!t.__zoom;)if(!(t=t.parentNode))return F9;return t.__zoom}var F9,z9=I(()=>{"use strict";o(Nf,"Transform");Nf.prototype={constructor:Nf,scale:o(function(t){return t===1?this:new Nf(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Nf(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};F9=new Nf(1,0,0);$9.prototype=Nf.prototype;o($9,"transform")});var ree=I(()=>{"use strict"});var nee=I(()=>{"use strict";s5();eee();tee();z9();ree()});var iee=I(()=>{"use strict";nee();z9()});var kr=I(()=>{"use strict";Tf();fX();LQ();OQ();bg();PQ();BQ();_D();nK();FQ();gL();$Q();GQ();ML();tZ();EZ();kg();TL();CZ();zQ();AZ();pJ();yJ();Kl();JJ();E5();b9();e5();s5();iee()});var aee=Jt(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.BLANK_URL=fa.relativeFirstCharacters=fa.whitespaceEscapeCharsRegex=fa.urlSchemeRegex=fa.ctrlCharactersRegex=fa.htmlCtrlEntityRegex=fa.htmlEntitiesRegex=fa.invalidProtocolRegex=void 0;fa.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;fa.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;fa.htmlCtrlEntityRegex=/&(newline|tab);/gi;fa.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;fa.urlSchemeRegex=/^.+(:|:)/gim;fa.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;fa.relativeFirstCharacters=[".","/"];fa.BLANK_URL="about:blank"});var Fg=Jt(q5=>{"use strict";Object.defineProperty(q5,"__esModule",{value:!0});q5.sanitizeUrl=void 0;var Za=aee();function ZLe(t){return Za.relativeFirstCharacters.indexOf(t[0])>-1}o(ZLe,"isRelativeUrlWithoutProtocol");function JLe(t){var e=t.replace(Za.ctrlCharactersRegex,"");return e.replace(Za.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}o(JLe,"decodeHtmlCharacters");function e9e(t){return URL.canParse(t)}o(e9e,"isValidUrl");function see(t){try{return decodeURIComponent(t)}catch{return t}}o(see,"decodeURI");function t9e(t){if(!t)return Za.BLANK_URL;var e,r=see(t.trim());do r=JLe(r).replace(Za.htmlCtrlEntityRegex,"").replace(Za.ctrlCharactersRegex,"").replace(Za.whitespaceEscapeCharsRegex,"").trim(),r=see(r),e=r.match(Za.ctrlCharactersRegex)||r.match(Za.htmlEntitiesRegex)||r.match(Za.htmlCtrlEntityRegex)||r.match(Za.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Za.BLANK_URL;if(ZLe(n))return n;var i=n.trimStart(),a=i.match(Za.urlSchemeRegex);if(!a)return n;var s=a[0].toLowerCase().trim();if(Za.invalidProtocolRegex.test(s))return Za.BLANK_URL;var l=i.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!e9e(l))return Za.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(t9e,"sanitizeUrl");q5.sanitizeUrl=t9e});var G9,t0,U5,oee,W5,H5,Na,Ex,Cx=I(()=>{"use strict";G9=Aa(Fg(),1);wr();t0=o((t,e)=>{let 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),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),U5=o((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};t0(t,r).lower()},"drawBackgroundRect"),oee=o((t,e)=>{let r=e.text.replace(Lp," "),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&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),W5=o((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,G9.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),H5=o((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,G9.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),Na=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Ex=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var lee,V9,cee,r9e,n9e,i9e,a9e,s9e,o9e,l9e,c9e,u9e,h9e,f9e,d9e,gh,sc,uee=I(()=>{"use strict";wr();Cx();lee=Aa(Fg(),1),V9=o(function(t,e){return t0(t,e)},"drawRect"),cee=o(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,lee.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),r9e=o((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();gh(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:s},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),gh(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},d))}},"drawRels"),n9e=o(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};V9(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,gh(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,gh(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,gh(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),i9e=o(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"],a=e.fontColor?e.fontColor:"#FFFFFF",s="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":s="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":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=Na();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},V9(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",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)),l.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":l.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)),l.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 h=d9e(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":cee(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,gh(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?gh(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&gh(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,gh(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),a9e=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),s9e=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),o9e=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),l9e=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),c9e=o(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),u9e=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),h9e=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),f9e=o(function(t){let 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")},"insertArrowCrossHead"),d9e=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),gh=(function(){function t(i,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split(nt.lineBreakRegex);for(let v=0;v{"use strict";p9e=typeof global=="object"&&global&&global.Object===Object&&global,j5=p9e});var m9e,g9e,Ei,ul=I(()=>{"use strict";q9();m9e=typeof self=="object"&&self&&self.Object===Object&&self,g9e=j5||m9e||Function("return this")(),Ei=g9e});var y9e,da,r0=I(()=>{"use strict";ul();y9e=Ei.Symbol,da=y9e});function b9e(t){var e=v9e.call(t,Ax),r=t[Ax];try{t[Ax]=void 0;var n=!0}catch{}var i=x9e.call(t);return n&&(e?t[Ax]=r:delete t[Ax]),i}var hee,v9e,x9e,Ax,fee,dee=I(()=>{"use strict";r0();hee=Object.prototype,v9e=hee.hasOwnProperty,x9e=hee.toString,Ax=da?da.toStringTag:void 0;o(b9e,"getRawTag");fee=b9e});function k9e(t){return w9e.call(t)}var T9e,w9e,pee,mee=I(()=>{"use strict";T9e=Object.prototype,w9e=T9e.toString;o(k9e,"objectToString");pee=k9e});function C9e(t){return t==null?t===void 0?E9e:S9e:gee&&gee in Object(t)?fee(t):pee(t)}var S9e,E9e,gee,Ma,yh=I(()=>{"use strict";r0();dee();mee();S9e="[object Null]",E9e="[object Undefined]",gee=da?da.toStringTag:void 0;o(C9e,"baseGetTag");Ma=C9e});function A9e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var In,Oo=I(()=>{"use strict";o(A9e,"isObject");In=A9e});function N9e(t){if(!In(t))return!1;var e=Ma(t);return e==D9e||e==R9e||e==_9e||e==L9e}var _9e,D9e,R9e,L9e,$i,_x=I(()=>{"use strict";yh();Oo();_9e="[object AsyncFunction]",D9e="[object Function]",R9e="[object GeneratorFunction]",L9e="[object Proxy]";o(N9e,"isFunction");$i=N9e});var M9e,X5,yee=I(()=>{"use strict";ul();M9e=Ei["__core-js_shared__"],X5=M9e});function I9e(t){return!!vee&&vee in t}var vee,xee,bee=I(()=>{"use strict";yee();vee=(function(){var t=/[^.]+$/.exec(X5&&X5.keys&&X5.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();o(I9e,"isMasked");xee=I9e});function B9e(t){if(t!=null){try{return P9e.call(t)}catch{}try{return t+""}catch{}}return""}var O9e,P9e,vh,U9=I(()=>{"use strict";O9e=Function.prototype,P9e=O9e.toString;o(B9e,"toSource");vh=B9e});function W9e(t){if(!In(t)||xee(t))return!1;var e=$i(t)?U9e:$9e;return e.test(vh(t))}var F9e,$9e,z9e,G9e,V9e,q9e,U9e,Tee,wee=I(()=>{"use strict";_x();bee();Oo();U9();F9e=/[\\^$.*+?()[\]{}|]/g,$9e=/^\[object .+?Constructor\]$/,z9e=Function.prototype,G9e=Object.prototype,V9e=z9e.toString,q9e=G9e.hasOwnProperty,U9e=RegExp("^"+V9e.call(q9e).replace(F9e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(W9e,"baseIsNative");Tee=W9e});function H9e(t,e){return t?.[e]}var kee,See=I(()=>{"use strict";o(H9e,"getValue");kee=H9e});function Y9e(t,e){var r=kee(t,e);return Tee(r)?r:void 0}var Zs,Mf=I(()=>{"use strict";wee();See();o(Y9e,"getNative");Zs=Y9e});var j9e,xh,Dx=I(()=>{"use strict";Mf();j9e=Zs(Object,"create"),xh=j9e});function X9e(){this.__data__=xh?xh(null):{},this.size=0}var Eee,Cee=I(()=>{"use strict";Dx();o(X9e,"hashClear");Eee=X9e});function K9e(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Aee,_ee=I(()=>{"use strict";o(K9e,"hashDelete");Aee=K9e});function eNe(t){var e=this.__data__;if(xh){var r=e[t];return r===Q9e?void 0:r}return J9e.call(e,t)?e[t]:void 0}var Q9e,Z9e,J9e,Dee,Ree=I(()=>{"use strict";Dx();Q9e="__lodash_hash_undefined__",Z9e=Object.prototype,J9e=Z9e.hasOwnProperty;o(eNe,"hashGet");Dee=eNe});function nNe(t){var e=this.__data__;return xh?e[t]!==void 0:rNe.call(e,t)}var tNe,rNe,Lee,Nee=I(()=>{"use strict";Dx();tNe=Object.prototype,rNe=tNe.hasOwnProperty;o(nNe,"hashHas");Lee=nNe});function aNe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=xh&&e===void 0?iNe:e,this}var iNe,Mee,Iee=I(()=>{"use strict";Dx();iNe="__lodash_hash_undefined__";o(aNe,"hashSet");Mee=aNe});function $g(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Cee();_ee();Ree();Nee();Iee();o($g,"Hash");$g.prototype.clear=Eee;$g.prototype.delete=Aee;$g.prototype.get=Dee;$g.prototype.has=Lee;$g.prototype.set=Mee;W9=$g});function sNe(){this.__data__=[],this.size=0}var Pee,Bee=I(()=>{"use strict";o(sNe,"listCacheClear");Pee=sNe});function oNe(t,e){return t===e||t!==t&&e!==e}var hl,n0=I(()=>{"use strict";o(oNe,"eq");hl=oNe});function lNe(t,e){for(var r=t.length;r--;)if(hl(t[r][0],e))return r;return-1}var If,Rx=I(()=>{"use strict";n0();o(lNe,"assocIndexOf");If=lNe});function hNe(t){var e=this.__data__,r=If(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():uNe.call(e,r,1),--this.size,!0}var cNe,uNe,Fee,$ee=I(()=>{"use strict";Rx();cNe=Array.prototype,uNe=cNe.splice;o(hNe,"listCacheDelete");Fee=hNe});function fNe(t){var e=this.__data__,r=If(e,t);return r<0?void 0:e[r][1]}var zee,Gee=I(()=>{"use strict";Rx();o(fNe,"listCacheGet");zee=fNe});function dNe(t){return If(this.__data__,t)>-1}var Vee,qee=I(()=>{"use strict";Rx();o(dNe,"listCacheHas");Vee=dNe});function pNe(t,e){var r=this.__data__,n=If(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Uee,Wee=I(()=>{"use strict";Rx();o(pNe,"listCacheSet");Uee=pNe});function zg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Bee();$ee();Gee();qee();Wee();o(zg,"ListCache");zg.prototype.clear=Pee;zg.prototype.delete=Fee;zg.prototype.get=zee;zg.prototype.has=Vee;zg.prototype.set=Uee;Of=zg});var mNe,Pf,K5=I(()=>{"use strict";Mf();ul();mNe=Zs(Ei,"Map"),Pf=mNe});function gNe(){this.size=0,this.__data__={hash:new W9,map:new(Pf||Of),string:new W9}}var Hee,Yee=I(()=>{"use strict";Oee();Lx();K5();o(gNe,"mapCacheClear");Hee=gNe});function yNe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var jee,Xee=I(()=>{"use strict";o(yNe,"isKeyable");jee=yNe});function vNe(t,e){var r=t.__data__;return jee(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Bf,Nx=I(()=>{"use strict";Xee();o(vNe,"getMapData");Bf=vNe});function xNe(t){var e=Bf(this,t).delete(t);return this.size-=e?1:0,e}var Kee,Qee=I(()=>{"use strict";Nx();o(xNe,"mapCacheDelete");Kee=xNe});function bNe(t){return Bf(this,t).get(t)}var Zee,Jee=I(()=>{"use strict";Nx();o(bNe,"mapCacheGet");Zee=bNe});function TNe(t){return Bf(this,t).has(t)}var ete,tte=I(()=>{"use strict";Nx();o(TNe,"mapCacheHas");ete=TNe});function wNe(t,e){var r=Bf(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var rte,nte=I(()=>{"use strict";Nx();o(wNe,"mapCacheSet");rte=wNe});function Gg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Yee();Qee();Jee();tte();nte();o(Gg,"MapCache");Gg.prototype.clear=Hee;Gg.prototype.delete=Kee;Gg.prototype.get=Zee;Gg.prototype.has=ete;Gg.prototype.set=rte;i0=Gg});function H9(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(kNe);var r=o(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(H9.Cache||i0),r}var kNe,Vg,Y9=I(()=>{"use strict";Q5();kNe="Expected a function";o(H9,"memoize");H9.Cache=i0;Vg=H9});function SNe(){this.__data__=new Of,this.size=0}var ite,ate=I(()=>{"use strict";Lx();o(SNe,"stackClear");ite=SNe});function ENe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var ste,ote=I(()=>{"use strict";o(ENe,"stackDelete");ste=ENe});function CNe(t){return this.__data__.get(t)}var lte,cte=I(()=>{"use strict";o(CNe,"stackGet");lte=CNe});function ANe(t){return this.__data__.has(t)}var ute,hte=I(()=>{"use strict";o(ANe,"stackHas");ute=ANe});function DNe(t,e){var r=this.__data__;if(r instanceof Of){var n=r.__data__;if(!Pf||n.length<_Ne-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new i0(n)}return r.set(t,e),this.size=r.size,this}var _Ne,fte,dte=I(()=>{"use strict";Lx();K5();Q5();_Ne=200;o(DNe,"stackSet");fte=DNe});function qg(t){var e=this.__data__=new Of(t);this.size=e.size}var Qc,Mx=I(()=>{"use strict";Lx();ate();ote();cte();hte();dte();o(qg,"Stack");qg.prototype.clear=ite;qg.prototype.delete=ste;qg.prototype.get=lte;qg.prototype.has=ute;qg.prototype.set=fte;Qc=qg});var RNe,Ug,j9=I(()=>{"use strict";Mf();RNe=(function(){try{var t=Zs(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Ug=RNe});function LNe(t,e,r){e=="__proto__"&&Ug?Ug(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var Zc,Wg=I(()=>{"use strict";j9();o(LNe,"baseAssignValue");Zc=LNe});function NNe(t,e,r){(r!==void 0&&!hl(t[e],r)||r===void 0&&!(e in t))&&Zc(t,e,r)}var Ix,X9=I(()=>{"use strict";Wg();n0();o(NNe,"assignMergeValue");Ix=NNe});function MNe(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),l=s.length;l--;){var u=s[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var pte,mte=I(()=>{"use strict";o(MNe,"createBaseFor");pte=MNe});var INe,Hg,Z5=I(()=>{"use strict";mte();INe=pte(),Hg=INe});function PNe(t,e){if(e)return t.slice();var r=t.length,n=vte?vte(r):new t.constructor(r);return t.copy(n),n}var xte,gte,ONe,yte,vte,J5,K9=I(()=>{"use strict";ul();xte=typeof exports=="object"&&exports&&!exports.nodeType&&exports,gte=xte&&typeof module=="object"&&module&&!module.nodeType&&module,ONe=gte&>e.exports===xte,yte=ONe?Ei.Buffer:void 0,vte=yte?yte.allocUnsafe:void 0;o(PNe,"cloneBuffer");J5=PNe});var BNe,Yg,Q9=I(()=>{"use strict";ul();BNe=Ei.Uint8Array,Yg=BNe});function FNe(t){var e=new t.constructor(t.byteLength);return new Yg(e).set(new Yg(t)),e}var jg,ek=I(()=>{"use strict";Q9();o(FNe,"cloneArrayBuffer");jg=FNe});function $Ne(t,e){var r=e?jg(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var tk,Z9=I(()=>{"use strict";ek();o($Ne,"cloneTypedArray");tk=$Ne});function zNe(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";o(zNe,"copyArray");rk=zNe});var bte,GNe,Tte,wte=I(()=>{"use strict";Oo();bte=Object.create,GNe=(function(){function t(){}return o(t,"object"),function(e){if(!In(e))return{};if(bte)return bte(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),Tte=GNe});function VNe(t,e){return function(r){return t(e(r))}}var nk,eN=I(()=>{"use strict";o(VNe,"overArg");nk=VNe});var qNe,Xg,ik=I(()=>{"use strict";eN();qNe=nk(Object.getPrototypeOf,Object),Xg=qNe});function WNe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||UNe;return t===r}var UNe,Jc,Kg=I(()=>{"use strict";UNe=Object.prototype;o(WNe,"isPrototype");Jc=WNe});function HNe(t){return typeof t.constructor=="function"&&!Jc(t)?Tte(Xg(t)):{}}var ak,tN=I(()=>{"use strict";wte();ik();Kg();o(HNe,"initCloneObject");ak=HNe});function YNe(t){return t!=null&&typeof t=="object"}var gi,fl=I(()=>{"use strict";o(YNe,"isObjectLike");gi=YNe});function XNe(t){return gi(t)&&Ma(t)==jNe}var jNe,rN,kte=I(()=>{"use strict";yh();fl();jNe="[object Arguments]";o(XNe,"baseIsArguments");rN=XNe});var Ste,KNe,QNe,ZNe,oc,Qg=I(()=>{"use strict";kte();fl();Ste=Object.prototype,KNe=Ste.hasOwnProperty,QNe=Ste.propertyIsEnumerable,ZNe=rN((function(){return arguments})())?rN:function(t){return gi(t)&&KNe.call(t,"callee")&&!QNe.call(t,"callee")},oc=ZNe});var JNe,zt,ni=I(()=>{"use strict";JNe=Array.isArray,zt=JNe});function tMe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=eMe}var eMe,Zg,sk=I(()=>{"use strict";eMe=9007199254740991;o(tMe,"isLength");Zg=tMe});function rMe(t){return t!=null&&Zg(t.length)&&!$i(t)}var Ci,dl=I(()=>{"use strict";_x();sk();o(rMe,"isArrayLike");Ci=rMe});function nMe(t){return gi(t)&&Ci(t)}var a0,ok=I(()=>{"use strict";dl();fl();o(nMe,"isArrayLikeObject");a0=nMe});function iMe(){return!1}var Ete,Cte=I(()=>{"use strict";o(iMe,"stubFalse");Ete=iMe});var Dte,Ate,aMe,_te,sMe,oMe,lc,Jg=I(()=>{"use strict";ul();Cte();Dte=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ate=Dte&&typeof module=="object"&&module&&!module.nodeType&&module,aMe=Ate&&Ate.exports===Dte,_te=aMe?Ei.Buffer:void 0,sMe=_te?_te.isBuffer:void 0,oMe=sMe||Ete,lc=oMe});function dMe(t){if(!gi(t)||Ma(t)!=lMe)return!1;var e=Xg(t);if(e===null)return!0;var r=hMe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Rte.call(r)==fMe}var lMe,cMe,uMe,Rte,hMe,fMe,Lte,Nte=I(()=>{"use strict";yh();ik();fl();lMe="[object Object]",cMe=Function.prototype,uMe=Object.prototype,Rte=cMe.toString,hMe=uMe.hasOwnProperty,fMe=Rte.call(Object);o(dMe,"isPlainObject");Lte=dMe});function FMe(t){return gi(t)&&Zg(t.length)&&!!Kn[Ma(t)]}var pMe,mMe,gMe,yMe,vMe,xMe,bMe,TMe,wMe,kMe,SMe,EMe,CMe,AMe,_Me,DMe,RMe,LMe,NMe,MMe,IMe,OMe,PMe,BMe,Kn,Mte,Ite=I(()=>{"use strict";yh();sk();fl();pMe="[object Arguments]",mMe="[object Array]",gMe="[object Boolean]",yMe="[object Date]",vMe="[object Error]",xMe="[object Function]",bMe="[object Map]",TMe="[object Number]",wMe="[object Object]",kMe="[object RegExp]",SMe="[object Set]",EMe="[object String]",CMe="[object WeakMap]",AMe="[object ArrayBuffer]",_Me="[object DataView]",DMe="[object Float32Array]",RMe="[object Float64Array]",LMe="[object Int8Array]",NMe="[object Int16Array]",MMe="[object Int32Array]",IMe="[object Uint8Array]",OMe="[object Uint8ClampedArray]",PMe="[object Uint16Array]",BMe="[object Uint32Array]",Kn={};Kn[DMe]=Kn[RMe]=Kn[LMe]=Kn[NMe]=Kn[MMe]=Kn[IMe]=Kn[OMe]=Kn[PMe]=Kn[BMe]=!0;Kn[pMe]=Kn[mMe]=Kn[AMe]=Kn[gMe]=Kn[_Me]=Kn[yMe]=Kn[vMe]=Kn[xMe]=Kn[bMe]=Kn[TMe]=Kn[wMe]=Kn[kMe]=Kn[SMe]=Kn[EMe]=Kn[CMe]=!1;o(FMe,"baseIsTypedArray");Mte=FMe});function $Me(t){return function(e){return t(e)}}var pl,s0=I(()=>{"use strict";o($Me,"baseUnary");pl=$Me});var Ote,Ox,zMe,nN,GMe,ml,Px=I(()=>{"use strict";q9();Ote=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ox=Ote&&typeof module=="object"&&module&&!module.nodeType&&module,zMe=Ox&&Ox.exports===Ote,nN=zMe&&j5.process,GMe=(function(){try{var t=Ox&&Ox.require&&Ox.require("util").types;return t||nN&&nN.binding&&nN.binding("util")}catch{}})(),ml=GMe});var Pte,VMe,Ff,Bx=I(()=>{"use strict";Ite();s0();Px();Pte=ml&&ml.isTypedArray,VMe=Pte?pl(Pte):Mte,Ff=VMe});function qMe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Fx,iN=I(()=>{"use strict";o(qMe,"safeGet");Fx=qMe});function HMe(t,e,r){var n=t[e];(!(WMe.call(t,e)&&hl(n,r))||r===void 0&&!(e in t))&&Zc(t,e,r)}var UMe,WMe,eu,e1=I(()=>{"use strict";Wg();n0();UMe=Object.prototype,WMe=UMe.hasOwnProperty;o(HMe,"assignValue");eu=HMe});function YMe(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";e1();Wg();o(YMe,"copyObject");gl=YMe});function jMe(t,e){for(var r=-1,n=Array(t);++r{"use strict";o(jMe,"baseTimes");Bte=jMe});function QMe(t,e){var r=typeof t;return e=e??XMe,!!e&&(r=="number"||r!="symbol"&&KMe.test(t))&&t>-1&&t%1==0&&t{"use strict";XMe=9007199254740991,KMe=/^(?:0|[1-9]\d*)$/;o(QMe,"isIndex");$f=QMe});function eIe(t,e){var r=zt(t),n=!r&&oc(t),i=!r&&!n&&lc(t),a=!r&&!n&&!i&&Ff(t),s=r||n||i||a,l=s?Bte(t.length,String):[],u=l.length;for(var h in t)(e||JMe.call(t,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||$f(h,u)))&&l.push(h);return l}var ZMe,JMe,lk,aN=I(()=>{"use strict";Fte();Qg();ni();Jg();$x();Bx();ZMe=Object.prototype,JMe=ZMe.hasOwnProperty;o(eIe,"arrayLikeKeys");lk=eIe});function tIe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var $te,zte=I(()=>{"use strict";o(tIe,"nativeKeysIn");$te=tIe});function iIe(t){if(!In(t))return $te(t);var e=Jc(t),r=[];for(var n in t)n=="constructor"&&(e||!nIe.call(t,n))||r.push(n);return r}var rIe,nIe,Gte,Vte=I(()=>{"use strict";Oo();Kg();zte();rIe=Object.prototype,nIe=rIe.hasOwnProperty;o(iIe,"baseKeysIn");Gte=iIe});function aIe(t){return Ci(t)?lk(t,!0):Gte(t)}var Js,zf=I(()=>{"use strict";aN();Vte();dl();o(aIe,"keysIn");Js=aIe});function sIe(t){return gl(t,Js(t))}var qte,Ute=I(()=>{"use strict";o0();zf();o(sIe,"toPlainObject");qte=sIe});function oIe(t,e,r,n,i,a,s){var l=Fx(t,r),u=Fx(e,r),h=s.get(u);if(h){Ix(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=zt(u),m=!p&&lc(u),g=!p&&!m&&Ff(u);f=u,p||m||g?zt(l)?f=l:a0(l)?f=rk(l):m?(d=!1,f=J5(u,!0)):g?(d=!1,f=tk(u,!0)):f=[]:Lte(u)||oc(u)?(f=l,oc(l)?f=qte(l):(!In(l)||$i(l))&&(f=ak(u))):d=!1}d&&(s.set(u,f),i(f,u,n,a,s),s.delete(u)),Ix(t,r,f)}var Wte,Hte=I(()=>{"use strict";X9();K9();Z9();J9();tN();Qg();ni();ok();Jg();_x();Oo();Nte();Bx();iN();Ute();o(oIe,"baseMergeDeep");Wte=oIe});function Yte(t,e,r,n,i){t!==e&&Hg(e,function(a,s){if(i||(i=new Qc),In(a))Wte(t,e,s,r,Yte,n,i);else{var l=n?n(Fx(t,s),a,s+"",t,e,i):void 0;l===void 0&&(l=a),Ix(t,s,l)}},Js)}var jte,Xte=I(()=>{"use strict";Mx();X9();Z5();Hte();Oo();zf();iN();o(Yte,"baseMerge");jte=Yte});function lIe(t){return t}var pa,bh=I(()=>{"use strict";o(lIe,"identity");pa=lIe});function cIe(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)}var Kte,Qte=I(()=>{"use strict";o(cIe,"apply");Kte=cIe});function uIe(t,e,r){return e=Zte(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=Zte(n.length-e,0),s=Array(a);++i{"use strict";Qte();Zte=Math.max;o(uIe,"overRest");ck=uIe});function hIe(t){return function(){return t}}var eo,oN=I(()=>{"use strict";o(hIe,"constant");eo=hIe});var fIe,Jte,ere=I(()=>{"use strict";oN();j9();bh();fIe=Ug?function(t,e){return Ug(t,"toString",{configurable:!0,enumerable:!1,value:eo(e),writable:!0})}:pa,Jte=fIe});function gIe(t){var e=0,r=0;return function(){var n=mIe(),i=pIe-(n-r);if(r=n,i>0){if(++e>=dIe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var dIe,pIe,mIe,tre,rre=I(()=>{"use strict";dIe=800,pIe=16,mIe=Date.now;o(gIe,"shortOut");tre=gIe});var yIe,uk,lN=I(()=>{"use strict";ere();rre();yIe=tre(Jte),uk=yIe});function vIe(t,e){return uk(ck(t,e,pa),t+"")}var tu,t1=I(()=>{"use strict";bh();sN();lN();o(vIe,"baseRest");tu=vIe});function xIe(t,e,r){if(!In(r))return!1;var n=typeof e;return(n=="number"?Ci(r)&&$f(e,r.length):n=="string"&&e in r)?hl(r[e],t):!1}var Po,l0=I(()=>{"use strict";n0();dl();$x();Oo();o(xIe,"isIterateeCall");Po=xIe});function bIe(t){return tu(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&Po(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";t1();l0();o(bIe,"createAssigner");hk=bIe});var TIe,Gf,uN=I(()=>{"use strict";Xte();cN();TIe=hk(function(t,e,r){jte(t,e,r)}),Gf=TIe});function dN(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return wIe[r]??e}function CIe(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,are.sanitizeUrl)(r):r}function lre(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function _Ie(t){let e,r=0;t.forEach(i=>{r+=lre(i,e),e=i});let n=r/2;return pN(t,n)}function DIe(t){return t.length===1?t[0]:_Ie(t)}function LIe(t,e,r){let n=structuredClone(r);X.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=pN(n,i),s=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2),u}function mN(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function NIe(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;iMath.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}var are,fN,wIe,kIe,SIe,sre,ore,EIe,AIe,nre,pN,RIe,ire,gN,yN,MIe,IIe,vN,OIe,xN,hN,fk,PIe,BIe,ru,jt,cre,ga,nu,sr=I(()=>{"use strict";are=Aa(Fg(),1);kr();wr();e_();gt();Op();tg();Y9();uN();ww();fN="\u200B",wIe={curveBasis:cl,curveBasisClosed:I5,curveBasisOpen:O5,curveBumpX:fx,curveBumpY:dx,curveBundle:R9,curveCardinalClosed:L9,curveCardinalOpen:M9,curveCardinal:yx,curveCatmullRomClosed:O9,curveCatmullRomOpen:P9,curveCatmullRom:bx,curveLinear:mh,curveLinearClosed:z5,curveMonotoneX:Tx,curveMonotoneY:wx,curveNatural:Pg,curveStep:Bg,curveStepAfter:Sx,curveStepBefore:kx},kIe=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,SIe=o(function(t,e){let r=sre(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let s=r.map(l=>l.args);ng(s),n=$n(n,[...s])}else n=r.args;if(!n)return;let i=hg(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),sre=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${kIe.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),X.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=Ip.exec(t))!==null;)if(n.index===Ip.lastIndex&&Ip.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return X.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),ore=o(function(t){return t.replace(Ip,"")},"removeDirectives"),EIe=o(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");o(dN,"interpolateToCurve");o(CIe,"formatUrl");AIe=o((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),pN=o((t,e)=>{let r,n=e;for(let i of t){if(r){let a=lre(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:nre((1-s)*r.x+s*i.x,5),y:nre((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),RIe=o((t,e,r)=>{X.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=pN(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+i.x)/2,l.y=-Math.cos(s)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");o(LIe,"calcTerminalLabelPosition");o(mN,"getStylesFromArray");ire=0,gN=o(()=>(ire++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ire),"generateId");o(NIe,"makeRandomHex");yN=o(t=>NIe(t.length),"random"),MIe=o(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),IIe=o(function(t,e){let r=e.text.replace(nt.lineBreakRegex," "),[,n]=ru(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),vN=Vg((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),nt.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((s,l)=>{let u=ma(`${s} `,r),h=ma(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=OIe(s,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),OIe=Vg((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],s="";return i.forEach((l,u)=>{let h=`${s}${l}`;if(ma(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);o(dk,"calculateTextHeight");o(ma,"calculateTextWidth");xN=Vg((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=ru(r),s=["sans-serif",n],l=t.split(nt.lineBreakRegex),u=[],h=He("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=MIe();v.text=y||fN;let x=IIe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),hN=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},PIe=o(function(t){return fk=fk||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),fk.innerHTML=t,unescape(fk.textContent)},"entityDecode");o(bN,"isDetailedError");BIe=o((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),ru=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(Qn,"cleanAndMerge");jt={assignWithDepth:$n,wrapLabel:vN,calculateTextHeight:dk,calculateTextWidth:ma,calculateTextDimensions:xN,cleanAndMerge:Qn,detectInit:SIe,detectDirective:sre,isSubstringInArray:EIe,interpolateToCurve:dN,calcLabelPosition:DIe,calcCardinalityPosition:RIe,calcTerminalLabelPosition:LIe,formatUrl:CIe,getStylesFromArray:mN,generateId:gN,random:yN,runFunc:AIe,entityDecode:PIe,insertTitle:BIe,isLabelCoordinateInPath:FIe,parseFontSize:ru,InitIDGenerator:hN},cre=o(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){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),ga=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),nu=o((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");o(On,"handleUndefinedAttr");o(FIe,"isLabelCoordinateInPath")});function cc(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=vN(e[t].text,i,n),e[t].textLines=e[t].text.split(nt.lineBreakRegex).length,e[t].width=i,e[t].height=dk(e[t].text,n);else{let a=e[t].text.split(nt.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(ma(l,n),e[t].width),s=dk(l,n),e[t].height=e[t].height+s}}function pre(t,e,r,n,i){let a=new yk(i);a.data.widthLimit=r.data.widthLimit/Math.min(TN,n.length);for(let[s,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&Xt.wrap,f=pk(Xt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",cc("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=pk(Xt);cc("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=pk(Xt);g.fontSize=g.fontSize-2,cc("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%TN===0){let g=r.data.startx+Xt.diagramMarginX,y=r.data.stopy+Xt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Xt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&dre(a,t,d,p),e=l.alias;let m=i.db.getBoundaries(e);m.length>0&&pre(t,e,a,m,i),l.alias!=="global"&&fre(t,l,a),r.data.stopy=Math.max(a.data.stopy+Xt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Xt.c4ShapeMargin,r.data.stopx),mk=Math.max(mk,r.data.stopx),gk=Math.max(gk,r.data.stopy)}}var mk,gk,hre,TN,Xt,yk,wN,zx,pk,$Ie,fre,dre,to,ure,zIe,GIe,VIe,kN,mre=I(()=>{"use strict";kr();uee();gt();sD();wr();gD();Qt();tg();sr();Fi();mk=0,gk=0,hre=4,TN=2;E2.yy=L2;Xt={},yk=class{static{o(this,"Bounds")}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,wN(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,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>hre)&&(r=this.nextData.startx+e.margin+Xt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=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",a,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",a,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},wN(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},wN=o(function(t){$n(Xt,t),t.fontFamily&&(Xt.personFontFamily=Xt.systemFontFamily=Xt.messageFontFamily=t.fontFamily),t.fontSize&&(Xt.personFontSize=Xt.systemFontSize=Xt.messageFontSize=t.fontSize),t.fontWeight&&(Xt.personFontWeight=Xt.systemFontWeight=Xt.messageFontWeight=t.fontWeight)},"setConf"),zx=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),pk=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),$Ie=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(cc,"calcC4ShapeTextWH");fre=o(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=Xt.c4ShapeMargin-35;let n=e.wrap&&Xt.wrap,i=pk(Xt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=ma(e.label.text,i);cc("label",e,n,i,a),sc.drawBoundary(t,e,Xt)},"drawBoundary"),dre=o(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],l=zx(Xt,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=ma("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=Xt.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let u=s.wrap&&Xt.wrap,h=Xt.width-Xt.c4ShapePadding*2,f=zx(Xt,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",cc("label",s,u,f,h),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=zx(Xt,s.typeC4Shape.text);cc("type",s,u,m,h),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let m=zx(Xt,s.techn.text);cc("techn",s,u,m,h),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=zx(Xt,s.typeC4Shape.text);cc("descr",s,u,m,h),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}p=p+Xt.c4ShapePadding,s.width=Math.max(s.width||Xt.width,p,Xt.width),s.height=Math.max(s.height||Xt.height,d,Xt.height),s.margin=s.margin||Xt.c4ShapeMargin,t.insert(s),sc.drawC4Shape(e,s,Xt)}t.bumpLastMargin(Xt.c4ShapeMargin)},"drawC4ShapeArray"),to=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},ure=o(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new to(r,l):r==i&&na&&(p=new to(s,n)),r>i&&n=f?p=new to(r,l+f*t.width/2):p=new to(s-u/h*t.height/2,n+t.height):r=f?p=new to(r+t.width,l+f*t.width/2):p=new to(s+u/h*t.height/2,n+t.height):ra?d>=f?p=new to(r+t.width,l-f*t.width/2):p=new to(s+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new to(r,l-t.width/2*f):p=new to(s-t.height/2*u/h,n)),p},"getIntersectPoint"),zIe=o(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=ure(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=ure(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),GIe=o(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Xt.wrap,l=$Ie(Xt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=ma(a.label.text,l);cc("label",a,s,l,h),a.techn&&a.techn.text!==""&&(h=ma(a.techn.text,l),cc("techn",a,s,l,h)),a.descr&&a.descr.text!==""&&(h=ma(a.descr.text,l),cc("descr",a,s,l,h));let f=r(a.from),d=r(a.to),p=zIe(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}sc.drawRels(t,e,Xt)},"drawRels");o(pre,"drawInsideBoundary");VIe=o(function(t,e,r,n){Xt=xe().c4;let i=xe().securityLevel,a;i==="sandbox"&&(a=He("#i"+e));let s=i==="sandbox"?He(a.nodes()[0].contentDocument.body):He("body"),l=n.db;n.db.setWrap(Xt.wrap),hre=l.getC4ShapeInRow(),TN=l.getC4BoundaryInRow(),X.debug(`C:${JSON.stringify(Xt,null,2)}`);let u=i==="sandbox"?s.select(`[id="${e}"]`):He(`[id="${e}"]`);sc.insertComputerIcon(u),sc.insertDatabaseIcon(u),sc.insertClockIcon(u);let h=new yk(n);h.setData(Xt.diagramMarginX,Xt.diagramMarginX,Xt.diagramMarginY,Xt.diagramMarginY),h.data.widthLimit=screen.availWidth,mk=Xt.diagramMarginX,gk=Xt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundaries("");pre(u,"",h,d,n),sc.insertArrowHead(u),sc.insertArrowEnd(u),sc.insertArrowCrossHead(u),sc.insertArrowFilledHead(u),GIe(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=mk,h.data.stopy=gk;let p=h.data,g=p.stopy-p.starty+2*Xt.diagramMarginY,v=p.stopx-p.startx+2*Xt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*Xt.diagramMarginX).attr("y",p.starty+Xt.diagramMarginY),Sn(u,g,v,Xt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-Xt.diagramMarginX+" -"+(Xt.diagramMarginY+x)+" "+v+" "+(g+x)),X.debug("models:",p)},"draw"),kN={drawPersonOrSystemArray:dre,drawBoundary:fre,setConf:wN,draw:VIe}});var qIe,gre,yre=I(()=>{"use strict";qIe=o(t=>`.person { +`},"getStyles"),SX=o((t,e)=>{e!==void 0&&(Pw[t]=e)},"addStylesForDiagram"),CX=q8e});var $2={};vr($2,{clear:()=>_r,getAccDescription:()=>Br,getAccTitle:()=>Or,getDiagramTitle:()=>Fr,setAccDescription:()=>Pr,setAccTitle:()=>Lr,setDiagramTitle:()=>zr});var kD,ED,SD,CD,_r,Lr,Or,Pr,Br,zr,Fr,si=O(()=>{"use strict";Ur();$r();kD="",ED="",SD="",CD=o(t=>wr(t,Zt()),"sanitizeText"),_r=o(()=>{kD="",SD="",ED=""},"clear"),Lr=o(t=>{kD=CD(t).replace(/^\s+/g,"")},"setAccTitle"),Or=o(()=>kD,"getAccTitle"),Pr=o(t=>{SD=CD(t).replace(/\n\s+/g,` +`)},"setAccDescription"),Br=o(()=>SD,"getAccDescription"),zr=o(t=>{ED=CD(t)},"setDiagramTitle"),Fr=o(()=>ED,"getDiagramTitle")});var AX,U8e,ve,z2,Fw,G2,_D,W8e,Bw,$p,V2,AD,jt=O(()=>{"use strict";Fp();xt();$r();Ur();Ti();wD();si();AX=K,U8e=h2,ve=Zt,z2=ew,Fw=vf,G2=o(t=>wr(t,ve()),"sanitizeText"),_D=Kc,W8e=o(()=>$2,"getCommonDb"),Bw={},$p=o((t,e,r)=>{Bw[t]&&AX.warn(`Diagram with id ${t} already registered. Overwriting.`),Bw[t]=e,r&&bD(t,r),SX(t,e.styles),e.injectUtils?.(AX,U8e,ve,G2,_D,W8e(),()=>{})},"registerDiagram"),V2=o(t=>{if(t in Bw)return Bw[t];throw new AD(t)},"getDiagram"),AD=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var ec,Ef,As,Jl,Qc,q2,DD,RD,$w,zw,_X,H8e,Y8e,j8e,X8e,K8e,Q8e,Z8e,J8e,eDe,tDe,rDe,nDe,iDe,aDe,sDe,oDe,lDe,DX,cDe,uDe,RX,hDe,fDe,dDe,pDe,Sf,mDe,gDe,yDe,vDe,xDe,U2,LD=O(()=>{"use strict";jt();Ur();si();ec=[],Ef=[""],As="global",Jl="",Qc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],q2=[],DD="",RD=!1,$w=4,zw=2,H8e=o(function(){return _X},"getC4Type"),Y8e=o(function(t){_X=wr(t,ve())},"setC4Type"),j8e=o(function(t,e,r,n,i,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=q2.find(d=>d.from===e&&d.to===r);if(f?h=f:q2.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=Sf()},"addRel"),X8e=o(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let l={},u=ec.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,ec.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=As,l.wrap=Sf()},"addPersonOrSystem"),K8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ec.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ec.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=Sf(),u.typeC4Shape={text:t},u.parentBoundary=As},"addContainer"),Q8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ec.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ec.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=Sf(),u.typeC4Shape={text:t},u.parentBoundary=As},"addComponent"),Z8e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=Qc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,Qc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=As,a.wrap=Sf(),Jl=As,As=t,Ef.push(Jl)},"addPersonOrSystemBoundary"),J8e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=Qc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,Qc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=As,a.wrap=Sf(),Jl=As,As=t,Ef.push(Jl)},"addContainerBoundary"),eDe=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=Qc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Qc.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=As,u.wrap=Sf(),Jl=As,As=e,Ef.push(Jl)},"addDeploymentNode"),tDe=o(function(){As=Jl,Ef.pop(),Jl=Ef.pop(),Ef.push(Jl)},"popBoundaryParseStack"),rDe=o(function(t,e,r,n,i,a,s,l,u,h,f){let d=ec.find(p=>p.alias===e);if(!(d===void 0&&(d=Qc.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),nDe=o(function(t,e,r,n,i,a,s){let l=q2.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),iDe=o(function(t,e,r){let n=$w,i=zw;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&($w=n),i>=1&&(zw=i)},"updateLayoutConfig"),aDe=o(function(){return $w},"getC4ShapeInRow"),sDe=o(function(){return zw},"getC4BoundaryInRow"),oDe=o(function(){return As},"getCurrentBoundaryParse"),lDe=o(function(){return Jl},"getParentBoundaryParse"),DX=o(function(t){return t==null?ec:ec.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),cDe=o(function(t){return ec.find(e=>e.alias===t)},"getC4Shape"),uDe=o(function(t){return Object.keys(DX(t))},"getC4ShapeKeys"),RX=o(function(t){return t==null?Qc:Qc.filter(e=>e.parentBoundary===t)},"getBoundaries"),hDe=RX,fDe=o(function(){return q2},"getRels"),dDe=o(function(){return DD},"getTitle"),pDe=o(function(t){RD=t},"setWrap"),Sf=o(function(){return RD},"autoWrap"),mDe=o(function(){ec=[],Qc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Jl="",As="global",Ef=[""],q2=[],Ef=[""],DD="",RD=!1,$w=4,zw=2},"clear"),gDe={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},yDe={FILLED:0,OPEN:1},vDe={LEFTOF:0,RIGHTOF:1,OVER:2},xDe=o(function(t){DD=wr(t,ve())},"setTitle"),U2={addPersonOrSystem:X8e,addPersonOrSystemBoundary:Z8e,addContainer:K8e,addContainerBoundary:J8e,addComponent:Q8e,addDeploymentNode:eDe,popBoundaryParseStack:tDe,addRel:j8e,updateElStyle:rDe,updateRelStyle:nDe,updateLayoutConfig:iDe,autoWrap:Sf,setWrap:pDe,getC4ShapeArray:DX,getC4Shape:cDe,getC4ShapeKeys:uDe,getBoundaries:RX,getBoundarys:hDe,getCurrentBoundaryParse:oDe,getParentBoundaryParse:lDe,getRels:fDe,getTitle:dDe,getC4Type:H8e,getC4ShapeInRow:aDe,getC4BoundaryInRow:sDe,setAccTitle:Lr,getAccTitle:Or,getAccDescription:Br,setAccDescription:Pr,getConfig:o(()=>ve().c4,"getConfig"),clear:mDe,LINETYPE:gDe,ARROWTYPE:yDe,PLACEMENT:vDe,setTitle:xDe,setC4Type:Y8e}});function zp(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var ND=O(()=>{"use strict";o(zp,"ascending")});function MD(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var LX=O(()=>{"use strict";o(MD,"descending")});function Gp(t){let e,r,n;t.length!==2?(e=zp,r=o((l,u)=>zp(t(l),u),"compare2"),n=o((l,u)=>t(l)-u,"delta")):(e=t===zp||t===MD?t:bDe,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return o(s,"center"),{left:i,center:s,right:a}}function bDe(){return 0}var ID=O(()=>{"use strict";ND();LX();o(Gp,"bisector");o(bDe,"zero")});function OD(t){return t===null?NaN:+t}var NX=O(()=>{"use strict";o(OD,"number")});var MX,IX,TDe,wDe,PD,OX=O(()=>{"use strict";ND();ID();NX();MX=Gp(zp),IX=MX.right,TDe=MX.left,wDe=Gp(OD).center,PD=IX});function PX({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function kDe({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function EDe({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function SDe(t){return t!==null&&typeof t=="object"?t.valueOf():t}var xg,BX=O(()=>{"use strict";xg=class extends Map{static{o(this,"InternMap")}constructor(e,r=SDe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(PX(this,e))}has(e){return super.has(PX(this,e))}set(e,r){return super.set(kDe(this,e),r)}delete(e){return super.delete(EDe(this,e))}};o(PX,"intern_get");o(kDe,"intern_set");o(EDe,"intern_delete");o(SDe,"keyof")});function Gw(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=CDe?10:a>=ADe?5:a>=_De?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(s<0)for(let h=0;h{"use strict";CDe=Math.sqrt(50),ADe=Math.sqrt(10),_De=Math.sqrt(2);o(Gw,"tickSpec");o(Vw,"ticks");o(W2,"tickIncrement");o(bg,"tickStep")});function qw(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var $X=O(()=>{"use strict";o(qw,"max")});function Uw(t,e){let r;if(e===void 0)for(let 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}var zX=O(()=>{"use strict";o(Uw,"min")});function Ww(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";o(Ww,"range")});var Cf=O(()=>{"use strict";OX();ID();$X();zX();GX();FX();BX()});function BD(t){return t}var VX=O(()=>{"use strict";o(BD,"default")});function DDe(t){return"translate("+t+",0)"}function RDe(t){return"translate(0,"+t+")"}function LDe(t){return e=>+t(e)}function NDe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function MDe(){return!this.__axis}function UX(t,e){var r=[],n=null,i=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===Yw||t===Hw?-1:1,f=t===Hw||t===FD?"x":"y",d=t===Yw||t===$D?DDe:RDe;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):BD),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,T=+x[x.length-1]+u,E=(e.bandwidth?NDe:LDe)(e.copy(),u),w=m.selection?m.selection():m,k=w.selectAll(".domain").data([null]),S=w.selectAll(".tick").data(g,e).order(),A=S.exit(),L=S.enter().append("g").attr("class","tick"),I=S.select("line"),N=S.select("text");k=k.merge(k.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),S=S.merge(L),I=I.merge(L.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),N=N.merge(L.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===Yw?"0em":t===$D?"0.71em":"0.32em")),m!==w&&(k=k.transition(m),S=S.transition(m),I=I.transition(m),N=N.transition(m),A=A.transition(m).attr("opacity",qX).attr("transform",function(C){return isFinite(C=E(C))?d(C+u):this.getAttribute("transform")}),L.attr("opacity",qX).attr("transform",function(C){var _=this.parentNode.__axis;return d((_&&isFinite(_=_(C))?_:E(C))+u)})),A.remove(),k.attr("d",t===Hw||t===FD?s?"M"+h*s+","+b+"H"+u+"V"+T+"H"+h*s:"M"+u+","+b+"V"+T:s?"M"+b+","+h*s+"V"+u+"H"+T+"V"+h*s:"M"+b+","+u+"H"+T),S.attr("opacity",1).attr("transform",function(C){return d(E(C)+u)}),I.attr(f+"2",h*a),N.attr(f,h*v).text(y),w.filter(MDe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===FD?"start":t===Hw?"end":"middle"),w.each(function(){this.__axis=E})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function zD(t){return UX(Yw,t)}function GD(t){return UX($D,t)}var Yw,FD,$D,Hw,qX,WX=O(()=>{"use strict";VX();Yw=1,FD=2,$D=3,Hw=4,qX=1e-6;o(DDe,"translateX");o(RDe,"translateY");o(LDe,"number");o(NDe,"center");o(MDe,"entering");o(UX,"axis");o(zD,"axisTop");o(GD,"axisBottom")});var HX=O(()=>{"use strict";WX()});function jX(){for(var t=0,e=arguments.length,r={},n;t=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}})}function PDe(t,e){for(var r=0,n=t.length,i;r{"use strict";IDe={value:o(()=>{},"value")};o(jX,"dispatch");o(jw,"Dispatch");o(ODe,"parseTypenames");jw.prototype=jX.prototype={constructor:jw,on:o(function(t,e){var r=this._,n=ODe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";XX()});var Xw,UD,WD=O(()=>{"use strict";Xw="http://www.w3.org/1999/xhtml",UD={svg:"http://www.w3.org/2000/svg",xhtml:Xw,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function Zc(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),UD.hasOwnProperty(e)?{space:UD[e],local:t}:t}var Kw=O(()=>{"use strict";WD();o(Zc,"default")});function BDe(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===Xw&&e.documentElement.namespaceURI===Xw?e.createElement(t):e.createElementNS(r,t)}}function FDe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function H2(t){var e=Zc(t);return(e.local?FDe:BDe)(e)}var HD=O(()=>{"use strict";Kw();WD();o(BDe,"creatorInherit");o(FDe,"creatorFixed");o(H2,"default")});function $De(){}function Af(t){return t==null?$De:function(){return this.querySelector(t)}}var Qw=O(()=>{"use strict";o($De,"none");o(Af,"default")});function YD(t){typeof t!="function"&&(t=Af(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";tc();Qw();o(YD,"default")});function jD(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var QX=O(()=>{"use strict";o(jD,"array")});function zDe(){return[]}function Tg(t){return t==null?zDe:function(){return this.querySelectorAll(t)}}var XD=O(()=>{"use strict";o(zDe,"empty");o(Tg,"default")});function GDe(t){return function(){return jD(t.apply(this,arguments))}}function KD(t){typeof t=="function"?t=GDe(t):t=Tg(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";tc();QX();XD();o(GDe,"arrayAll");o(KD,"default")});function wg(t){return function(){return this.matches(t)}}function Zw(t){return function(e){return e.matches(t)}}var Y2=O(()=>{"use strict";o(wg,"default");o(Zw,"childMatcher")});function qDe(t){return function(){return VDe.call(this.children,t)}}function UDe(){return this.firstElementChild}function QD(t){return this.select(t==null?UDe:qDe(typeof t=="function"?t:Zw(t)))}var VDe,JX=O(()=>{"use strict";Y2();VDe=Array.prototype.find;o(qDe,"childFind");o(UDe,"childFirst");o(QD,"default")});function HDe(){return Array.from(this.children)}function YDe(t){return function(){return WDe.call(this.children,t)}}function ZD(t){return this.selectAll(t==null?HDe:YDe(typeof t=="function"?t:Zw(t)))}var WDe,eK=O(()=>{"use strict";Y2();WDe=Array.prototype.filter;o(HDe,"children");o(YDe,"childrenFilter");o(ZD,"default")});function JD(t){typeof t!="function"&&(t=wg(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";tc();Y2();o(JD,"default")});function j2(t){return new Array(t.length)}var eR=O(()=>{"use strict";o(j2,"default")});function tR(){return new Di(this._enter||this._groups.map(j2),this._parents)}function X2(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var rR=O(()=>{"use strict";eR();tc();o(tR,"default");o(X2,"EnterNode");X2.prototype={constructor:X2,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function nR(t){return function(){return t}}var rK=O(()=>{"use strict";o(nR,"default")});function jDe(t,e,r,n,i,a){for(var s=0,l,u=e.length,h=a.length;s=T&&(T=b+1);!(w=v[T])&&++T{"use strict";tc();rR();rK();o(jDe,"bindIndex");o(XDe,"bindKey");o(KDe,"datum");o(iR,"default");o(QDe,"arraylike")});function aR(){return new Di(this._exit||this._groups.map(j2),this._parents)}var iK=O(()=>{"use strict";eR();tc();o(aR,"default")});function sR(t,e,r){var n=this.enter(),i=this,a=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?a.remove():r(a),n&&i?n.merge(i).order():i}var aK=O(()=>{"use strict";o(sR,"default")});function oR(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,s=Math.min(i,a),l=new Array(i),u=0;u{"use strict";tc();o(oR,"default")});function lR(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var oK=O(()=>{"use strict";o(lR,"default")});function cR(t){t||(t=ZDe);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var lK=O(()=>{"use strict";tc();o(cR,"default");o(ZDe,"ascending")});function uR(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var cK=O(()=>{"use strict";o(uR,"default")});function hR(){return Array.from(this)}var uK=O(()=>{"use strict";o(hR,"default")});function fR(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(fR,"default")});function dR(){let t=0;for(let e of this)++t;return t}var fK=O(()=>{"use strict";o(dR,"default")});function pR(){return!this.node()}var dK=O(()=>{"use strict";o(pR,"default")});function mR(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";o(mR,"default")});function JDe(t){return function(){this.removeAttribute(t)}}function eRe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function tRe(t,e){return function(){this.setAttribute(t,e)}}function rRe(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function nRe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function iRe(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 gR(t,e){var r=Zc(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?eRe:JDe:typeof e=="function"?r.local?iRe:nRe:r.local?rRe:tRe)(r,e))}var mK=O(()=>{"use strict";Kw();o(JDe,"attrRemove");o(eRe,"attrRemoveNS");o(tRe,"attrConstant");o(rRe,"attrConstantNS");o(nRe,"attrFunction");o(iRe,"attrFunctionNS");o(gR,"default")});function K2(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var yR=O(()=>{"use strict";o(K2,"default")});function aRe(t){return function(){this.style.removeProperty(t)}}function sRe(t,e,r){return function(){this.style.setProperty(t,e,r)}}function oRe(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function vR(t,e,r){return arguments.length>1?this.each((e==null?aRe:typeof e=="function"?oRe:sRe)(t,e,r??"")):_f(this.node(),t)}function _f(t,e){return t.style.getPropertyValue(e)||K2(t).getComputedStyle(t,null).getPropertyValue(e)}var xR=O(()=>{"use strict";yR();o(aRe,"styleRemove");o(sRe,"styleConstant");o(oRe,"styleFunction");o(vR,"default");o(_f,"styleValue")});function lRe(t){return function(){delete this[t]}}function cRe(t,e){return function(){this[t]=e}}function uRe(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function bR(t,e){return arguments.length>1?this.each((e==null?lRe:typeof e=="function"?uRe:cRe)(t,e)):this.node()[t]}var gK=O(()=>{"use strict";o(lRe,"propertyRemove");o(cRe,"propertyConstant");o(uRe,"propertyFunction");o(bR,"default")});function yK(t){return t.trim().split(/^|\s+/)}function TR(t){return t.classList||new vK(t)}function vK(t){this._node=t,this._names=yK(t.getAttribute("class")||"")}function xK(t,e){for(var r=TR(t),n=-1,i=e.length;++n{"use strict";o(yK,"classArray");o(TR,"classList");o(vK,"ClassList");vK.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o(xK,"classedAdd");o(bK,"classedRemove");o(hRe,"classedTrue");o(fRe,"classedFalse");o(dRe,"classedFunction");o(wR,"default")});function pRe(){this.textContent=""}function mRe(t){return function(){this.textContent=t}}function gRe(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function kR(t){return arguments.length?this.each(t==null?pRe:(typeof t=="function"?gRe:mRe)(t)):this.node().textContent}var wK=O(()=>{"use strict";o(pRe,"textRemove");o(mRe,"textConstant");o(gRe,"textFunction");o(kR,"default")});function yRe(){this.innerHTML=""}function vRe(t){return function(){this.innerHTML=t}}function xRe(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function ER(t){return arguments.length?this.each(t==null?yRe:(typeof t=="function"?xRe:vRe)(t)):this.node().innerHTML}var kK=O(()=>{"use strict";o(yRe,"htmlRemove");o(vRe,"htmlConstant");o(xRe,"htmlFunction");o(ER,"default")});function bRe(){this.nextSibling&&this.parentNode.appendChild(this)}function SR(){return this.each(bRe)}var EK=O(()=>{"use strict";o(bRe,"raise");o(SR,"default")});function TRe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function CR(){return this.each(TRe)}var SK=O(()=>{"use strict";o(TRe,"lower");o(CR,"default")});function AR(t){var e=typeof t=="function"?t:H2(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var CK=O(()=>{"use strict";HD();o(AR,"default")});function wRe(){return null}function _R(t,e){var r=typeof t=="function"?t:H2(t),n=e==null?wRe:typeof e=="function"?e:Af(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var AK=O(()=>{"use strict";HD();Qw();o(wRe,"constantNull");o(_R,"default")});function kRe(){var t=this.parentNode;t&&t.removeChild(this)}function DR(){return this.each(kRe)}var _K=O(()=>{"use strict";o(kRe,"remove");o(DR,"default")});function ERe(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function SRe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function RR(t){return this.select(t?SRe:ERe)}var DK=O(()=>{"use strict";o(ERe,"selection_cloneShallow");o(SRe,"selection_cloneDeep");o(RR,"default")});function LR(t){return arguments.length?this.property("__data__",t):this.node().__data__}var RK=O(()=>{"use strict";o(LR,"default")});function CRe(t){return function(e){t.call(this,e,this.__data__)}}function ARe(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 _Re(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";o(CRe,"contextListener");o(ARe,"parseTypenames");o(_Re,"onRemove");o(DRe,"onAdd");o(NR,"default")});function NK(t,e,r){var n=K2(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 RRe(t,e){return function(){return NK(this,t,e)}}function LRe(t,e){return function(){return NK(this,t,e.apply(this,arguments))}}function MR(t,e){return this.each((typeof e=="function"?LRe:RRe)(t,e))}var MK=O(()=>{"use strict";yR();o(NK,"dispatchEvent");o(RRe,"dispatchConstant");o(LRe,"dispatchFunction");o(MR,"default")});function*IR(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(IR,"default")});function Di(t,e){this._groups=t,this._parents=e}function OK(){return new Di([[document.documentElement]],OR)}function NRe(){return this}var OR,hh,tc=O(()=>{"use strict";KX();ZX();JX();eK();tK();nK();rR();iK();aK();sK();oK();lK();cK();uK();hK();fK();dK();pK();mK();xR();gK();TK();wK();kK();EK();SK();CK();AK();_K();DK();RK();LK();MK();IK();OR=[null];o(Di,"Selection");o(OK,"selection");o(NRe,"selection_selection");Di.prototype=OK.prototype={constructor:Di,select:YD,selectAll:KD,selectChild:QD,selectChildren:ZD,filter:JD,data:iR,enter:tR,exit:aR,join:sR,merge:oR,selection:NRe,order:lR,sort:cR,call:uR,nodes:hR,node:fR,size:dR,empty:pR,each:mR,attr:gR,style:vR,property:bR,classed:wR,text:kR,html:ER,raise:SR,lower:CR,append:AR,insert:_R,remove:DR,clone:RR,datum:LR,on:NR,dispatch:MR,[Symbol.iterator]:IR};hh=OK});function je(t){return typeof t=="string"?new Di([[document.querySelector(t)]],[document.documentElement]):new Di([[t]],OR)}var PK=O(()=>{"use strict";tc();o(je,"default")});var rc=O(()=>{"use strict";Y2();Kw();PK();tc();Qw();XD();xR()});var BK=O(()=>{"use strict"});function Df(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function kg(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var PR=O(()=>{"use strict";o(Df,"default");o(kg,"extend")});function Rf(){}function $K(){return this.rgb().formatHex()}function zRe(){return this.rgb().formatHex8()}function GRe(){return HK(this).formatHsl()}function zK(){return this.rgb().formatRgb()}function ic(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=MRe.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?GK(e):r===3?new Na(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Jw(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Jw(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=IRe.exec(t))?new Na(e[1],e[2],e[3],1):(e=ORe.exec(t))?new Na(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=PRe.exec(t))?Jw(e[1],e[2],e[3],e[4]):(e=BRe.exec(t))?Jw(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=FRe.exec(t))?UK(e[1],e[2]/100,e[3]/100,1):(e=$Re.exec(t))?UK(e[1],e[2]/100,e[3]/100,e[4]):FK.hasOwnProperty(t)?GK(FK[t]):t==="transparent"?new Na(NaN,NaN,NaN,0):null}function GK(t){return new Na(t>>16&255,t>>8&255,t&255,1)}function Jw(t,e,r,n){return n<=0&&(t=e=r=NaN),new Na(t,e,r,n)}function FR(t){return t instanceof Rf||(t=ic(t)),t?(t=t.rgb(),new Na(t.r,t.g,t.b,t.opacity)):new Na}function Sg(t,e,r,n){return arguments.length===1?FR(t):new Na(t,e,r,n??1)}function Na(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function VK(){return`#${Vp(this.r)}${Vp(this.g)}${Vp(this.b)}`}function VRe(){return`#${Vp(this.r)}${Vp(this.g)}${Vp(this.b)}${Vp((isNaN(this.opacity)?1:this.opacity)*255)}`}function qK(){let t=r5(this.opacity);return`${t===1?"rgb(":"rgba("}${qp(this.r)}, ${qp(this.g)}, ${qp(this.b)}${t===1?")":`, ${t})`}`}function r5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function qp(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Vp(t){return t=qp(t),(t<16?"0":"")+t.toString(16)}function UK(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new nc(t,e,r,n)}function HK(t){if(t instanceof nc)return new nc(t.h,t.s,t.l,t.opacity);if(t instanceof Rf||(t=ic(t)),!t)return new nc;if(t instanceof nc)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,l=a-i,u=(a+i)/2;return l?(e===a?s=(r-n)/l+(r0&&u<1?0:s,new nc(s,l,u,t.opacity)}function YK(t,e,r,n){return arguments.length===1?HK(t):new nc(t,e,r,n??1)}function nc(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function WK(t){return t=(t||0)%360,t<0?t+360:t}function e5(t){return Math.max(0,Math.min(1,t||0))}function BR(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var Q2,t5,Eg,Z2,Jc,MRe,IRe,ORe,PRe,BRe,FRe,$Re,FK,$R=O(()=>{"use strict";PR();o(Rf,"Color");Q2=.7,t5=1/Q2,Eg="\\s*([+-]?\\d+)\\s*",Z2="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Jc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",MRe=/^#([0-9a-f]{3,8})$/,IRe=new RegExp(`^rgb\\(${Eg},${Eg},${Eg}\\)$`),ORe=new RegExp(`^rgb\\(${Jc},${Jc},${Jc}\\)$`),PRe=new RegExp(`^rgba\\(${Eg},${Eg},${Eg},${Z2}\\)$`),BRe=new RegExp(`^rgba\\(${Jc},${Jc},${Jc},${Z2}\\)$`),FRe=new RegExp(`^hsl\\(${Z2},${Jc},${Jc}\\)$`),$Re=new RegExp(`^hsla\\(${Z2},${Jc},${Jc},${Z2}\\)$`),FK={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};Df(Rf,ic,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:$K,formatHex:$K,formatHex8:zRe,formatHsl:GRe,formatRgb:zK,toString:zK});o($K,"color_formatHex");o(zRe,"color_formatHex8");o(GRe,"color_formatHsl");o(zK,"color_formatRgb");o(ic,"color");o(GK,"rgbn");o(Jw,"rgba");o(FR,"rgbConvert");o(Sg,"rgb");o(Na,"Rgb");Df(Na,Sg,kg(Rf,{brighter(t){return t=t==null?t5:Math.pow(t5,t),new Na(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Q2:Math.pow(Q2,t),new Na(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Na(qp(this.r),qp(this.g),qp(this.b),r5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:VK,formatHex:VK,formatHex8:VRe,formatRgb:qK,toString:qK}));o(VK,"rgb_formatHex");o(VRe,"rgb_formatHex8");o(qK,"rgb_formatRgb");o(r5,"clampa");o(qp,"clampi");o(Vp,"hex");o(UK,"hsla");o(HK,"hslConvert");o(YK,"hsl");o(nc,"Hsl");Df(nc,YK,kg(Rf,{brighter(t){return t=t==null?t5:Math.pow(t5,t),new nc(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Q2:Math.pow(Q2,t),new nc(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Na(BR(t>=240?t-240:t+120,i,n),BR(t,i,n),BR(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new nc(WK(this.h),e5(this.s),e5(this.l),r5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=r5(this.opacity);return`${t===1?"hsl(":"hsla("}${WK(this.h)}, ${e5(this.s)*100}%, ${e5(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(WK,"clamph");o(e5,"clampt");o(BR,"hsl2rgb")});var jK,XK,KK=O(()=>{"use strict";jK=Math.PI/180,XK=180/Math.PI});function rQ(t){if(t instanceof eu)return new eu(t.l,t.a,t.b,t.opacity);if(t instanceof fh)return nQ(t);t instanceof Na||(t=FR(t));var e=qR(t.r),r=qR(t.g),n=qR(t.b),i=zR((.2225045*e+.7168786*r+.0606169*n)/ZK),a,s;return e===r&&r===n?a=s=i:(a=zR((.4360747*e+.3850649*r+.1430804*n)/QK),s=zR((.0139322*e+.0971045*r+.7141733*n)/JK)),new eu(116*i-16,500*(a-i),200*(i-s),t.opacity)}function UR(t,e,r,n){return arguments.length===1?rQ(t):new eu(t,e,r,n??1)}function eu(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function zR(t){return t>qRe?Math.pow(t,1/3):t/tQ+eQ}function GR(t){return t>Cg?t*t*t:tQ*(t-eQ)}function VR(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function qR(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function URe(t){if(t instanceof fh)return new fh(t.h,t.c,t.l,t.opacity);if(t instanceof eu||(t=rQ(t)),t.a===0&&t.b===0)return new fh(NaN,0{"use strict";PR();$R();KK();n5=18,QK=.96422,ZK=1,JK=.82521,eQ=4/29,Cg=6/29,tQ=3*Cg*Cg,qRe=Cg*Cg*Cg;o(rQ,"labConvert");o(UR,"lab");o(eu,"Lab");Df(eu,UR,kg(Rf,{brighter(t){return new eu(this.l+n5*(t??1),this.a,this.b,this.opacity)},darker(t){return new eu(this.l-n5*(t??1),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=QK*GR(e),t=ZK*GR(t),r=JK*GR(r),new Na(VR(3.1338561*e-1.6168667*t-.4906146*r),VR(-.9787684*e+1.9161415*t+.033454*r),VR(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(zR,"xyz2lab");o(GR,"lab2xyz");o(VR,"lrgb2rgb");o(qR,"rgb2lrgb");o(URe,"hclConvert");o(J2,"hcl");o(fh,"Hcl");o(nQ,"hcl2lab");Df(fh,J2,kg(Rf,{brighter(t){return new fh(this.h,this.c,this.l+n5*(t??1),this.opacity)},darker(t){return new fh(this.h,this.c,this.l-n5*(t??1),this.opacity)},rgb(){return nQ(this).rgb()}}))});var Ag=O(()=>{"use strict";$R();iQ()});function WR(t,e,r,n,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*n+s*i)/6}function HR(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,l=n{"use strict";o(WR,"basis");o(HR,"default")});function jR(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],s=t[(n+1)%e],l=t[(n+2)%e];return WR((r-n/e)*e,i,a,s,l)}}var aQ=O(()=>{"use strict";YR();o(jR,"default")});var _g,XR=O(()=>{"use strict";_g=o(t=>()=>t,"default")});function sQ(t,e){return function(r){return t+r*e}}function WRe(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 oQ(t,e){var r=e-t;return r?sQ(t,r>180||r<-180?r-360*Math.round(r/360):r):_g(isNaN(t)?e:t)}function lQ(t){return(t=+t)==1?dh:function(e,r){return r-e?WRe(e,r,t):_g(isNaN(e)?r:e)}}function dh(t,e){var r=e-t;return r?sQ(t,r):_g(isNaN(t)?e:t)}var KR=O(()=>{"use strict";XR();o(sQ,"linear");o(WRe,"exponential");o(oQ,"hue");o(lQ,"gamma");o(dh,"nogamma")});function cQ(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";Ag();YR();aQ();KR();Up=o((function t(e){var r=lQ(e);function n(i,a){var s=r((i=Sg(i)).r,(a=Sg(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=dh(i.opacity,a.opacity);return function(f){return i.r=s(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return o(n,"rgb"),n.gamma=t,n}),"rgbGamma")(1);o(cQ,"rgbSpline");HRe=cQ(HR),YRe=cQ(jR)});function ZR(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";o(ZR,"default");o(uQ,"isNumberArray")});function fQ(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),s;for(s=0;s{"use strict";i5();o(fQ,"genericArray")});function JR(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var pQ=O(()=>{"use strict";o(JR,"default")});function da(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var ex=O(()=>{"use strict";o(da,"default")});function eL(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]=Lf(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var mQ=O(()=>{"use strict";i5();o(eL,"default")});function jRe(t){return function(){return t}}function XRe(t){return function(e){return t(e)+""}}function Dg(t,e){var r=rL.lastIndex=tL.lastIndex=0,n,i,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(n=rL.exec(t))&&(i=tL.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(n=n[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,u.push({i:s,x:da(n,i)})),r=tL.lastIndex;return r{"use strict";ex();rL=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tL=new RegExp(rL.source,"g");o(jRe,"zero");o(XRe,"one");o(Dg,"default")});function Lf(t,e){var r=typeof e,n;return e==null||r==="boolean"?_g(e):(r==="number"?da:r==="string"?(n=ic(e))?(e=n,Up):Dg:e instanceof ic?Up:e instanceof Date?JR:uQ(e)?ZR:Array.isArray(e)?fQ:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?eL:da)(t,e)}var i5=O(()=>{"use strict";Ag();QR();dQ();pQ();ex();mQ();nL();XR();hQ();o(Lf,"default")});function a5(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var gQ=O(()=>{"use strict";o(a5,"default")});function o5(t,e,r,n,i,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";yQ=180/Math.PI,s5={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(o5,"default")});function xQ(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?s5:o5(e.a,e.b,e.c,e.d,e.e,e.f)}function bQ(t){return t==null?s5:(l5||(l5=document.createElementNS("http://www.w3.org/2000/svg","g")),l5.setAttribute("transform",t),(t=l5.transform.baseVal.consolidate())?(t=t.matrix,o5(t.a,t.b,t.c,t.d,t.e,t.f)):s5)}var l5,TQ=O(()=>{"use strict";vQ();o(xQ,"parseCss");o(bQ,"parseSvg")});function wQ(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}o(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:da(h,d)},{i:y-2,x:da(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:da(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:da(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:da(h,d)},{i:y-2,x:da(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";ex();TQ();o(wQ,"interpolateTransform");iL=wQ(xQ,"px, ","px)","deg)"),aL=wQ(bQ,", ",")",")")});function EQ(t){return function(e,r){var n=t((e=J2(e)).h,(r=J2(r)).h),i=dh(e.c,r.c),a=dh(e.l,r.l),s=dh(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=s(l),e+""}}}var sL,KRe,SQ=O(()=>{"use strict";Ag();KR();o(EQ,"hcl");sL=EQ(oQ),KRe=EQ(dh)});var Rg=O(()=>{"use strict";i5();ex();gQ();nL();kQ();QR();SQ()});function sx(){return Wp||(_Q(QRe),Wp=ix.now()+h5)}function QRe(){Wp=0}function ax(){this._call=this._time=this._next=null}function f5(t,e,r){var n=new ax;return n.restart(t,e,r),n}function DQ(){sx(),++Lg;for(var t=c5,e;t;)(e=Wp-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Lg}function CQ(){Wp=(u5=ix.now())+h5,Lg=rx=0;try{DQ()}finally{Lg=0,JRe(),Wp=0}}function ZRe(){var t=ix.now(),e=t-u5;e>AQ&&(h5-=e,u5=t)}function JRe(){for(var t,e=c5,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:c5=r);nx=t,oL(n)}function oL(t){if(!Lg){rx&&(rx=clearTimeout(rx));var e=t-Wp;e>24?(t<1/0&&(rx=setTimeout(CQ,t-ix.now()-h5)),tx&&(tx=clearInterval(tx))):(tx||(u5=ix.now(),tx=setInterval(ZRe,AQ)),Lg=1,_Q(CQ))}}var Lg,rx,tx,AQ,c5,nx,u5,Wp,h5,ix,_Q,lL=O(()=>{"use strict";Lg=0,rx=0,tx=0,AQ=1e3,u5=0,Wp=0,h5=0,ix=typeof performance=="object"&&performance.now?performance:Date,_Q=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(sx,"now");o(QRe,"clearNow");o(ax,"Timer");ax.prototype=f5.prototype={constructor:ax,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?sx():+r)+(e==null?0:+e),!this._next&&nx!==this&&(nx?nx._next=this:c5=this,nx=this),this._call=t,this._time=r,oL()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,oL())},"stop")};o(f5,"timer");o(DQ,"timerFlush");o(CQ,"wake");o(ZRe,"poke");o(JRe,"nap");o(oL,"sleep")});function ox(t,e,r){var n=new ax;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var RQ=O(()=>{"use strict";lL();o(ox,"default")});var d5=O(()=>{"use strict";lL();RQ()});function ph(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;rLe(t,r,{name:e,index:n,group:i,on:eLe,tween:tLe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:MQ})}function cx(t,e){var r=ta(t,e);if(r.state>MQ)throw new Error("too late; already scheduled");return r}function Ma(t,e){var r=ta(t,e);if(r.state>p5)throw new Error("too late; already running");return r}function ta(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function rLe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=f5(a,0,r.time);function a(h){r.state=LQ,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==LQ)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===p5)return ox(s);m.state===NQ?(m.state=lx,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";qD();d5();eLe=VD("start","end","cancel","interrupt"),tLe=[],MQ=0,LQ=1,m5=2,p5=3,NQ=4,g5=5,lx=6;o(ph,"default");o(cx,"init");o(Ma,"set");o(ta,"get");o(rLe,"create")});function ux(t,e){var r=t.__transition,n,i,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((n=r[s]).name!==e){a=!1;continue}i=n.state>m5&&n.state{"use strict";to();o(ux,"default")});function cL(t){return this.each(function(){ux(this,t)})}var OQ=O(()=>{"use strict";IQ();o(cL,"default")});function nLe(t,e){var r,n;return function(){var i=Ma(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,l=n.length;s{"use strict";to();o(nLe,"tweenRemove");o(iLe,"tweenFunction");o(uL,"default");o(Ng,"tweenValue")});function fx(t,e){var r;return(typeof e=="number"?da:e instanceof ic?Up:(r=ic(e))?(e=r,Up):Dg)(t,e)}var hL=O(()=>{"use strict";Ag();Rg();o(fx,"default")});function aLe(t){return function(){this.removeAttribute(t)}}function sLe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function oLe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttribute(t);return s===i?null:s===n?a:a=e(n=s,r)}}function lLe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===n?a:a=e(n=s,r)}}function cLe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function uLe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function fL(t,e){var r=Zc(t),n=r==="transform"?aL:fx;return this.attrTween(t,typeof e=="function"?(r.local?uLe:cLe)(r,n,Ng(this,"attr."+t,e)):e==null?(r.local?sLe:aLe)(r):(r.local?lLe:oLe)(r,n,e))}var PQ=O(()=>{"use strict";Rg();rc();hx();hL();o(aLe,"attrRemove");o(sLe,"attrRemoveNS");o(oLe,"attrConstant");o(lLe,"attrConstantNS");o(cLe,"attrFunction");o(uLe,"attrFunctionNS");o(fL,"default")});function hLe(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function fLe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function dLe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&fLe(t,a)),r}return o(i,"tween"),i._value=e,i}function pLe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&hLe(t,a)),r}return o(i,"tween"),i._value=e,i}function dL(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=Zc(t);return this.tween(r,(n.local?dLe:pLe)(n,e))}var BQ=O(()=>{"use strict";rc();o(hLe,"attrInterpolate");o(fLe,"attrInterpolateNS");o(dLe,"attrTweenNS");o(pLe,"attrTween");o(dL,"default")});function mLe(t,e){return function(){cx(this,t).delay=+e.apply(this,arguments)}}function gLe(t,e){return e=+e,function(){cx(this,t).delay=e}}function pL(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?mLe:gLe)(e,t)):ta(this.node(),e).delay}var FQ=O(()=>{"use strict";to();o(mLe,"delayFunction");o(gLe,"delayConstant");o(pL,"default")});function yLe(t,e){return function(){Ma(this,t).duration=+e.apply(this,arguments)}}function vLe(t,e){return e=+e,function(){Ma(this,t).duration=e}}function mL(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?yLe:vLe)(e,t)):ta(this.node(),e).duration}var $Q=O(()=>{"use strict";to();o(yLe,"durationFunction");o(vLe,"durationConstant");o(mL,"default")});function xLe(t,e){if(typeof e!="function")throw new Error;return function(){Ma(this,t).ease=e}}function gL(t){var e=this._id;return arguments.length?this.each(xLe(e,t)):ta(this.node(),e).ease}var zQ=O(()=>{"use strict";to();o(xLe,"easeConstant");o(gL,"default")});function bLe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;Ma(this,t).ease=r}}function yL(t){if(typeof t!="function")throw new Error;return this.each(bLe(this._id,t))}var GQ=O(()=>{"use strict";to();o(bLe,"easeVarying");o(yL,"default")});function vL(t){typeof t!="function"&&(t=wg(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";rc();Hp();o(vL,"default")});function xL(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),s=new Array(n),l=0;l{"use strict";Hp();o(xL,"default")});function TLe(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 wLe(t,e,r){var n,i,a=TLe(e)?cx:Ma;return function(){var s=a(this,t),l=s.on;l!==n&&(i=(n=l).copy()).on(e,r),s.on=i}}function bL(t,e){var r=this._id;return arguments.length<2?ta(this.node(),r).on.on(t):this.each(wLe(r,t,e))}var UQ=O(()=>{"use strict";to();o(TLe,"start");o(wLe,"onFunction");o(bL,"default")});function kLe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function TL(){return this.on("end.remove",kLe(this._id))}var WQ=O(()=>{"use strict";o(kLe,"removeFunction");o(TL,"default")});function wL(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Af(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s{"use strict";rc();Hp();to();o(wL,"default")});function kL(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Tg(t));for(var n=this._groups,i=n.length,a=[],s=[],l=0;l{"use strict";rc();Hp();to();o(kL,"default")});function EL(){return new ELe(this._groups,this._parents)}var ELe,jQ=O(()=>{"use strict";rc();ELe=hh.prototype.constructor;o(EL,"default")});function SLe(t,e){var r,n,i;return function(){var a=_f(this,t),s=(this.style.removeProperty(t),_f(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function XQ(t){return function(){this.style.removeProperty(t)}}function CLe(t,e,r){var n,i=r+"",a;return function(){var s=_f(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function ALe(t,e,r){var n,i,a;return function(){var s=_f(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),_f(this,t))),s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l))}}function _Le(t,e){var r,n,i,a="style."+e,s="end."+a,l;return function(){var u=Ma(this,t),h=u.on,f=u.value[a]==null?l||(l=XQ(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(s,i=f),u.on=n}}function SL(t,e,r){var n=(t+="")=="transform"?iL:fx;return e==null?this.styleTween(t,SLe(t,n)).on("end.style."+t,XQ(t)):typeof e=="function"?this.styleTween(t,ALe(t,n,Ng(this,"style."+t,e))).each(_Le(this._id,t)):this.styleTween(t,CLe(t,n,e),r).on("end.style."+t,null)}var KQ=O(()=>{"use strict";Rg();rc();to();hx();hL();o(SLe,"styleNull");o(XQ,"styleRemove");o(CLe,"styleConstant");o(ALe,"styleFunction");o(_Le,"styleMaybeRemove");o(SL,"default")});function DLe(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function RLe(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&DLe(t,s,r)),n}return o(a,"tween"),a._value=e,a}function CL(t,e,r){var n="style."+(t+="");if(arguments.length<2)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,RLe(t,e,r??""))}var QQ=O(()=>{"use strict";o(DLe,"styleInterpolate");o(RLe,"styleTween");o(CL,"default")});function LLe(t){return function(){this.textContent=t}}function NLe(t){return function(){var e=t(this);this.textContent=e??""}}function AL(t){return this.tween("text",typeof t=="function"?NLe(Ng(this,"text",t)):LLe(t==null?"":t+""))}var ZQ=O(()=>{"use strict";hx();o(LLe,"textConstant");o(NLe,"textFunction");o(AL,"default")});function MLe(t){return function(e){this.textContent=t.call(this,e)}}function ILe(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&MLe(i)),e}return o(n,"tween"),n._value=t,n}function _L(t){var e="text";if(arguments.length<1)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,ILe(t))}var JQ=O(()=>{"use strict";o(MLe,"textInterpolate");o(ILe,"textTween");o(_L,"default")});function DL(){for(var t=this._name,e=this._id,r=y5(),n=this._groups,i=n.length,a=0;a{"use strict";Hp();to();o(DL,"default")});function RL(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--i===0&&a()},"value")};r.each(function(){var h=Ma(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var tZ=O(()=>{"use strict";to();o(RL,"default")});function _s(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function rZ(t){return hh().transition(t)}function y5(){return++OLe}var OLe,mh,Hp=O(()=>{"use strict";rc();PQ();BQ();FQ();$Q();zQ();GQ();VQ();qQ();UQ();WQ();HQ();YQ();jQ();KQ();QQ();ZQ();JQ();eZ();hx();tZ();OLe=0;o(_s,"Transition");o(rZ,"transition");o(y5,"newId");mh=hh.prototype;_s.prototype=rZ.prototype={constructor:_s,select:wL,selectAll:kL,selectChild:mh.selectChild,selectChildren:mh.selectChildren,filter:vL,merge:xL,selection:EL,transition:DL,call:mh.call,nodes:mh.nodes,node:mh.node,size:mh.size,empty:mh.empty,each:mh.each,on:bL,attr:fL,attrTween:dL,style:SL,styleTween:CL,text:AL,textTween:_L,remove:TL,tween:uL,delay:pL,duration:mL,ease:gL,easeVarying:yL,end:RL,[Symbol.iterator]:mh[Symbol.iterator]}});function v5(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var nZ=O(()=>{"use strict";o(v5,"cubicInOut")});var LL=O(()=>{"use strict";nZ()});function BLe(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 NL(t){var e,r;t instanceof _s?(e=t._id,t=t._name):(e=y5(),(r=PLe).time=sx(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";Hp();to();LL();d5();PLe={time:null,delay:0,duration:250,ease:v5};o(BLe,"inherit");o(NL,"default")});var aZ=O(()=>{"use strict";rc();OQ();iZ();hh.prototype.interrupt=cL;hh.prototype.transition=NL});var x5=O(()=>{"use strict";aZ()});var sZ=O(()=>{"use strict"});var oZ=O(()=>{"use strict"});var lZ=O(()=>{"use strict"});function cZ(t){return[+t[0],+t[1]]}function FLe(t){return[cZ(t[0]),cZ(t[1])]}function ML(t){return{type:t}}var akt,skt,okt,lkt,ckt,ukt,uZ=O(()=>{"use strict";x5();sZ();oZ();lZ();({abs:akt,max:skt,min:okt}=Math);o(cZ,"number1");o(FLe,"number2");lkt={name:"x",handles:["w","e"].map(ML),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},ckt={name:"y",handles:["n","s"].map(ML),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},ukt={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(ML),input:o(function(t){return t==null?null:FLe(t)},"input"),output:o(function(t){return t},"output")};o(ML,"type")});var hZ=O(()=>{"use strict";uZ()});function fZ(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return fZ;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";IL=Math.PI,OL=2*IL,Yp=1e-6,$Le=OL-Yp;o(fZ,"append");o(zLe,"appendRound");jp=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?fZ:zLe(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,s){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,l=this._y1,u=n-e,h=i-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>Yp)if(!(Math.abs(d*u-h*f)>Yp)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-s,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),T=a*Math.tan((IL-Math.acos((y+p-v)/(2*x*b)))/2),E=T/b,w=T/x;Math.abs(E-1)>Yp&&this._append`L${e+E*f},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+w*u},${this._y1=r+w*h}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^s,p=s?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>Yp||Math.abs(this._y1-f)>Yp)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%OL+OL),p>$Le?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>Yp&&this._append`A${n},${n},0,${+(p>=IL)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};o(dZ,"path");dZ.prototype=jp.prototype});var PL=O(()=>{"use strict";pZ()});var mZ=O(()=>{"use strict"});var gZ=O(()=>{"use strict"});var yZ=O(()=>{"use strict"});var vZ=O(()=>{"use strict"});var xZ=O(()=>{"use strict"});var bZ=O(()=>{"use strict"});var TZ=O(()=>{"use strict"});function BL(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Xp(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var dx=O(()=>{"use strict";o(BL,"default");o(Xp,"formatDecimalParts")});function ac(t){return t=Xp(Math.abs(t)),t?t[1]:NaN}var px=O(()=>{"use strict";dx();o(ac,"default")});function FL(t,e){return function(r,n){for(var i=r.length,a=[],s=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var wZ=O(()=>{"use strict";o(FL,"default")});function $L(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var kZ=O(()=>{"use strict";o($L,"default")});function Nf(t){if(!(e=GLe.exec(t)))throw new Error("invalid format: "+t);var e;return new b5({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function b5(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+""}var GLe,zL=O(()=>{"use strict";GLe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(Nf,"formatSpecifier");Nf.prototype=b5.prototype;o(b5,"FormatSpecifier");b5.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 GL(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var EZ=O(()=>{"use strict";o(GL,"default")});function qL(t,e){var r=Xp(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(VL=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Xp(t,Math.max(0,e+a-1))[0]}var VL,UL=O(()=>{"use strict";dx();o(qL,"default")});function T5(t,e){var r=Xp(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"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")}var SZ=O(()=>{"use strict";dx();o(T5,"default")});var WL,CZ=O(()=>{"use strict";dx();UL();SZ();WL={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:BL,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>T5(t*100,e),"p"),r:T5,s:qL,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function w5(t){return t}var AZ=O(()=>{"use strict";o(w5,"default")});function HL(t){var e=t.grouping===void 0||t.thousands===void 0?w5:FL(_Z.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+"",a=t.numerals===void 0?w5:$L(_Z.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Nf(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,T=d.precision,E=d.trim,w=d.type;w==="n"?(b=!0,w="g"):WL[w]||(T===void 0&&(T=12),E=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var k=y==="$"?r:y==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",S=y==="$"?n:/[%p]/.test(w)?s:"",A=WL[w],L=/[defgprs%]/.test(w);T=T===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function I(N){var C=k,_=S,D,M,R;if(w==="c")_=A(N)+_,N="";else{N=+N;var P=N<0||1/N<0;if(N=isNaN(N)?u:A(Math.abs(N),T),E&&(N=GL(N)),P&&+N==0&&g!=="+"&&(P=!1),C=(P?g==="("?g:l:g==="-"||g==="("?"":g)+C,_=(w==="s"?DZ[8+VL/3]:"")+_+(P&&g==="("?")":""),L){for(D=-1,M=N.length;++DR||R>57){_=(R===46?i+N.slice(D+1):N.slice(D))+_,N=N.slice(0,D);break}}}b&&!v&&(N=e(N,1/0));var B=C.length+N.length+_.length,F=B>1)+C+N+_+F.slice(B);break;default:N=F+C+N+_;break}return a(N)}return o(I,"format"),I.toString=function(){return d+""},I}o(h,"newFormat");function f(d,p){var m=h((d=Nf(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(ac(p)/3)))*3,y=Math.pow(10,-g),v=DZ[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var _Z,DZ,RZ=O(()=>{"use strict";px();wZ();kZ();zL();EZ();CZ();UL();AZ();_Z=Array.prototype.map,DZ=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(HL,"default")});function YL(t){return k5=HL(t),tu=k5.format,E5=k5.formatPrefix,k5}var k5,tu,E5,LZ=O(()=>{"use strict";RZ();YL({thousands:",",grouping:[3],currency:["$",""]});o(YL,"defaultLocale")});function S5(t){return Math.max(0,-ac(Math.abs(t)))}var NZ=O(()=>{"use strict";px();o(S5,"default")});function C5(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ac(e)/3)))*3-ac(Math.abs(t)))}var MZ=O(()=>{"use strict";px();o(C5,"default")});function A5(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ac(e)-ac(t))+1}var IZ=O(()=>{"use strict";px();o(A5,"default")});var jL=O(()=>{"use strict";LZ();zL();NZ();MZ();IZ()});var OZ=O(()=>{"use strict"});function VLe(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function XL(){return this.eachAfter(VLe)}var PZ=O(()=>{"use strict";o(VLe,"count");o(XL,"default")});function KL(t,e){let r=-1;for(let n of this)t.call(e,n,++r,this);return this}var BZ=O(()=>{"use strict";o(KL,"default")});function QL(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}var FZ=O(()=>{"use strict";o(QL,"default")});function ZL(t,e){for(var r=this,n=[r],i=[],a,s,l,u=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,l=a.length;s{"use strict";o(ZL,"default")});function JL(t,e){let r=-1;for(let n of this)if(t.call(e,n,++r,this))return n}var zZ=O(()=>{"use strict";o(JL,"default")});function e9(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r})}var GZ=O(()=>{"use strict";o(e9,"default")});function t9(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}var VZ=O(()=>{"use strict";o(t9,"default")});function r9(t){for(var e=this,r=qLe(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function qLe(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}var qZ=O(()=>{"use strict";o(r9,"default");o(qLe,"leastCommonAncestor")});function n9(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}var UZ=O(()=>{"use strict";o(n9,"default")});function i9(){return Array.from(this)}var WZ=O(()=>{"use strict";o(i9,"default")});function a9(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}var HZ=O(()=>{"use strict";o(a9,"default")});function s9(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}var YZ=O(()=>{"use strict";o(s9,"default")});function*o9(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i{"use strict";o(o9,"default")});function Mg(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=HLe)):e===void 0&&(e=WLe);for(var r=new mx(t),n,i=[r],a,s,l,u;n=i.pop();)if((s=e(n.data))&&(u=(s=Array.from(s)).length))for(n.children=s,l=u-1;l>=0;--l)i.push(a=s[l]=new mx(s[l])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(jLe)}function ULe(){return Mg(this).eachBefore(YLe)}function WLe(t){return t.children}function HLe(t){return Array.isArray(t)?t[1]:null}function YLe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function jLe(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function mx(t){this.data=t,this.depth=this.height=0,this.parent=null}var XZ=O(()=>{"use strict";PZ();BZ();FZ();$Z();zZ();GZ();VZ();qZ();UZ();WZ();HZ();YZ();jZ();o(Mg,"hierarchy");o(ULe,"node_copy");o(WLe,"objectChildren");o(HLe,"mapChildren");o(YLe,"copyData");o(jLe,"computeHeight");o(mx,"Node");mx.prototype=Mg.prototype={constructor:mx,count:XL,each:KL,eachAfter:ZL,eachBefore:QL,find:JL,sum:e9,sort:t9,path:r9,ancestors:n9,descendants:i9,leaves:a9,links:s9,copy:ULe,[Symbol.iterator]:o9}});function KZ(t){if(typeof t!="function")throw new Error;return t}var QZ=O(()=>{"use strict";o(KZ,"required")});function Ig(){return 0}function Kp(t){return function(){return t}}var ZZ=O(()=>{"use strict";o(Ig,"constantZero");o(Kp,"default")});function l9(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}var JZ=O(()=>{"use strict";o(l9,"default")});function c9(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(n-e)/t.value;++l{"use strict";o(c9,"default")});function u9(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(i-r)/t.value;++l{"use strict";o(u9,"default")});function KLe(t,e,r,n,i,a){for(var s=[],l=e.children,u,h,f=0,d=0,p=l.length,m,g,y=e.value,v,x,b,T,E,w,k;fb&&(b=h),k=v*v*w,T=Math.max(b/k,k/x),T>E){v-=h;break}E=T}s.push(u={value:v,dice:m{"use strict";eJ();tJ();XLe=(1+Math.sqrt(5))/2;o(KLe,"squarifyRatio");rJ=o((function t(e){function r(n,i,a,s,l){KLe(e,n,i,a,s,l)}return o(r,"squarify"),r.ratio=function(n){return t((n=+n)>1?n:1)},r}),"custom")(XLe)});function _5(){var t=rJ,e=!1,r=1,n=1,i=[0],a=Ig,s=Ig,l=Ig,u=Ig,h=Ig;function f(p){return p.x0=p.y0=0,p.x1=r,p.y1=n,p.eachBefore(d),i=[0],e&&p.eachBefore(l9),p}o(f,"treemap");function d(p){var m=i[p.depth],g=p.x0+m,y=p.y0+m,v=p.x1-m,x=p.y1-m;v{"use strict";JZ();nJ();QZ();ZZ();o(_5,"default")});var aJ=O(()=>{"use strict";XZ();iJ()});var sJ=O(()=>{"use strict"});var oJ=O(()=>{"use strict"});function Mf(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var gx=O(()=>{"use strict";o(Mf,"initRange")});function Fo(){var t=new xg,e=[],r=[],n=h9;function i(a){let s=t.get(a);if(s===void 0){if(n!==h9)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new xg;for(let s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return Fo(e,r).unknown(n)},Mf.apply(i,arguments),i}var h9,f9=O(()=>{"use strict";Cf();gx();h9=Symbol("implicit");o(Fo,"ordinal")});function Og(){var t=Fo().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";Cf();gx();f9();o(Og,"band")});function d9(t){return function(){return t}}var cJ=O(()=>{"use strict";o(d9,"constants")});function p9(t){return+t}var uJ=O(()=>{"use strict";o(p9,"number")});function Pg(t){return t}function m9(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:d9(isNaN(e)?NaN:.5)}function QLe(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function ZLe(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?JLe:ZLe,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(s(p)))}return o(d,"scale"),d.invert=function(p){return s(i((h||(h=l(e,t.map(n),da)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,p9),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=a5,f()},d.clamp=function(p){return arguments.length?(s=p?!0:Pg,f()):s!==Pg},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function yx(){return e9e()(Pg,Pg)}var hJ,g9=O(()=>{"use strict";Cf();Rg();cJ();uJ();hJ=[0,1];o(Pg,"identity");o(m9,"normalize");o(QLe,"clamper");o(ZLe,"bimap");o(JLe,"polymap");o(D5,"copy");o(e9e,"transformer");o(yx,"continuous")});function y9(t,e,r,n){var i=bg(t,e,r),a;switch(n=Nf(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=C5(i,s))&&(n.precision=a),E5(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=A5(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=S5(i))&&(n.precision=a-(n.type==="%")*2);break}}return tu(n)}var fJ=O(()=>{"use strict";Cf();jL();o(y9,"tickFormat")});function t9e(t){var e=t.domain;return t.ticks=function(r){var n=e();return Vw(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return y9(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],l=n[a],u,h,f=10;for(l0;){if(h=W2(s,l,r),h===u)return n[i]=s,n[a]=l,e(n);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function sc(){var t=yx();return t.copy=function(){return D5(t,sc())},Mf.apply(t,arguments),t9e(t)}var dJ=O(()=>{"use strict";Cf();g9();gx();fJ();o(t9e,"linearish");o(sc,"linear")});function v9(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a{"use strict";o(v9,"nice")});function In(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let s=i(a),l=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hIn(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(x9.setTime(+a),b9.setTime(+s),t(x9),t(b9),Math.floor(r(x9,b9))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}var x9,b9,gh=O(()=>{"use strict";x9=new Date,b9=new Date;o(In,"timeInterval")});var ru,mJ,T9=O(()=>{"use strict";gh();ru=In(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);ru.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?In(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):ru);mJ=ru.range});var $o,gJ,w9=O(()=>{"use strict";gh();$o=In(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),gJ=$o.range});var yh,r9e,R5,n9e,k9=O(()=>{"use strict";gh();yh=In(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),r9e=yh.range,R5=In(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),n9e=R5.range});var vh,i9e,L5,a9e,E9=O(()=>{"use strict";gh();vh=In(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),i9e=vh.range,L5=In(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),a9e=L5.range});var gl,s9e,xx,o9e,N5,l9e,S9=O(()=>{"use strict";gh();gl=In(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),s9e=gl.range,xx=In(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),o9e=xx.range,N5=In(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),l9e=N5.range});function Jp(t){return In(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function e0(t){return In(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var oc,If,M5,I5,iu,O5,P5,vJ,c9e,u9e,h9e,f9e,d9e,p9e,t0,Bg,xJ,bJ,Of,TJ,wJ,kJ,m9e,g9e,y9e,v9e,x9e,b9e,C9=O(()=>{"use strict";gh();o(Jp,"timeWeekday");oc=Jp(0),If=Jp(1),M5=Jp(2),I5=Jp(3),iu=Jp(4),O5=Jp(5),P5=Jp(6),vJ=oc.range,c9e=If.range,u9e=M5.range,h9e=I5.range,f9e=iu.range,d9e=O5.range,p9e=P5.range;o(e0,"utcWeekday");t0=e0(0),Bg=e0(1),xJ=e0(2),bJ=e0(3),Of=e0(4),TJ=e0(5),wJ=e0(6),kJ=t0.range,m9e=Bg.range,g9e=xJ.range,y9e=bJ.range,v9e=Of.range,x9e=TJ.range,b9e=wJ.range});var xh,T9e,B5,w9e,A9=O(()=>{"use strict";gh();xh=In(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),T9e=xh.range,B5=In(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),w9e=B5.range});var zo,k9e,lc,E9e,_9=O(()=>{"use strict";gh();zo=In(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());zo.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:In(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});k9e=zo.range,lc=In(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());lc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:In(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});E9e=lc.range});function SJ(t,e,r,n,i,a){let s=[[$o,1,1e3],[$o,5,5*1e3],[$o,15,15*1e3],[$o,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(bg(h/31536e6,f/31536e6,d));if(m===0)return ru.every(Math.max(bg(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";Cf();T9();w9();k9();E9();S9();C9();A9();_9();o(SJ,"ticker");[C9e,A9e]=SJ(lc,B5,t0,N5,L5,R5),[D9,R9]=SJ(zo,xh,oc,gl,vh,yh)});var F5=O(()=>{"use strict";T9();w9();k9();E9();S9();C9();A9();_9();CJ()});function L9(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function N9(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function bx(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function M9(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=Tx(i),f=wx(i),d=Tx(a),p=wx(a),m=Tx(s),g=wx(s),y=Tx(l),v=wx(l),x=Tx(u),b=wx(u),T={a:P,A:B,b:F,B:G,c:null,d:NJ,e:NJ,f:K9e,g:sNe,G:lNe,H:Y9e,I:j9e,j:X9e,L:BJ,m:Q9e,M:Z9e,p:$,q:V,Q:OJ,s:PJ,S:J9e,u:eNe,U:tNe,V:rNe,w:nNe,W:iNe,x:null,X:null,y:aNe,Y:oNe,Z:cNe,"%":IJ},E={a:X,A:Q,b:H,B:ie,c:null,d:MJ,e:MJ,f:dNe,g:kNe,G:SNe,H:uNe,I:hNe,j:fNe,L:$J,m:pNe,M:mNe,p:Y,q:le,Q:OJ,s:PJ,S:gNe,u:yNe,U:vNe,V:xNe,w:bNe,W:TNe,x:null,X:null,y:wNe,Y:ENe,Z:CNe,"%":IJ},w={a:I,A:N,b:C,B:_,c:D,d:RJ,e:RJ,f:q9e,g:DJ,G:_J,H:LJ,I:LJ,j:$9e,L:V9e,m:F9e,M:z9e,p:L,q:B9e,Q:W9e,s:H9e,S:G9e,u:N9e,U:M9e,V:I9e,w:L9e,W:O9e,x:M,X:R,y:DJ,Y:_J,Z:P9e,"%":U9e};T.x=k(r,T),T.X=k(n,T),T.c=k(e,T),E.x=k(r,E),E.X=k(n,E),E.c=k(e,E);function k(ee,J){return function(te){var Z=[],xe=-1,de=0,Se=ee.length,Me,ke,we;for(te instanceof Date||(te=new Date(+te));++xe53)return null;"w"in Z||(Z.w=1),"Z"in Z?(de=N9(bx(Z.y,0,1)),Se=de.getUTCDay(),de=Se>4||Se===0?Bg.ceil(de):Bg(de),de=xx.offset(de,(Z.V-1)*7),Z.y=de.getUTCFullYear(),Z.m=de.getUTCMonth(),Z.d=de.getUTCDate()+(Z.w+6)%7):(de=L9(bx(Z.y,0,1)),Se=de.getDay(),de=Se>4||Se===0?If.ceil(de):If(de),de=gl.offset(de,(Z.V-1)*7),Z.y=de.getFullYear(),Z.m=de.getMonth(),Z.d=de.getDate()+(Z.w+6)%7)}else("W"in Z||"U"in Z)&&("w"in Z||(Z.w="u"in Z?Z.u%7:"W"in Z?1:0),Se="Z"in Z?N9(bx(Z.y,0,1)).getUTCDay():L9(bx(Z.y,0,1)).getDay(),Z.m=0,Z.d="W"in Z?(Z.w+6)%7+Z.W*7-(Se+5)%7:Z.w+Z.U*7-(Se+6)%7);return"Z"in Z?(Z.H+=Z.Z/100|0,Z.M+=Z.Z%100,N9(Z)):L9(Z)}}o(S,"newParse");function A(ee,J,te,Z){for(var xe=0,de=J.length,Se=te.length,Me,ke;xe=Se)return-1;if(Me=J.charCodeAt(xe++),Me===37){if(Me=J.charAt(xe++),ke=w[Me in AJ?J.charAt(xe++):Me],!ke||(Z=ke(ee,te,Z))<0)return-1}else if(Me!=te.charCodeAt(Z++))return-1}return Z}o(A,"parseSpecifier");function L(ee,J,te){var Z=h.exec(J.slice(te));return Z?(ee.p=f.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(L,"parsePeriod");function I(ee,J,te){var Z=m.exec(J.slice(te));return Z?(ee.w=g.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(I,"parseShortWeekday");function N(ee,J,te){var Z=d.exec(J.slice(te));return Z?(ee.w=p.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(N,"parseWeekday");function C(ee,J,te){var Z=x.exec(J.slice(te));return Z?(ee.m=b.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(C,"parseShortMonth");function _(ee,J,te){var Z=y.exec(J.slice(te));return Z?(ee.m=v.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(_,"parseMonth");function D(ee,J,te){return A(ee,e,J,te)}o(D,"parseLocaleDateTime");function M(ee,J,te){return A(ee,r,J,te)}o(M,"parseLocaleDate");function R(ee,J,te){return A(ee,n,J,te)}o(R,"parseLocaleTime");function P(ee){return s[ee.getDay()]}o(P,"formatShortWeekday");function B(ee){return a[ee.getDay()]}o(B,"formatWeekday");function F(ee){return u[ee.getMonth()]}o(F,"formatShortMonth");function G(ee){return l[ee.getMonth()]}o(G,"formatMonth");function $(ee){return i[+(ee.getHours()>=12)]}o($,"formatPeriod");function V(ee){return 1+~~(ee.getMonth()/3)}o(V,"formatQuarter");function X(ee){return s[ee.getUTCDay()]}o(X,"formatUTCShortWeekday");function Q(ee){return a[ee.getUTCDay()]}o(Q,"formatUTCWeekday");function H(ee){return u[ee.getUTCMonth()]}o(H,"formatUTCShortMonth");function ie(ee){return l[ee.getUTCMonth()]}o(ie,"formatUTCMonth");function Y(ee){return i[+(ee.getUTCHours()>=12)]}o(Y,"formatUTCPeriod");function le(ee){return 1+~~(ee.getUTCMonth()/3)}return o(le,"formatUTCQuarter"),{format:o(function(ee){var J=k(ee+="",T);return J.toString=function(){return ee},J},"format"),parse:o(function(ee){var J=S(ee+="",!1);return J.toString=function(){return ee},J},"parse"),utcFormat:o(function(ee){var J=k(ee+="",E);return J.toString=function(){return ee},J},"utcFormat"),utcParse:o(function(ee){var J=S(ee+="",!0);return J.toString=function(){return ee},J},"utcParse")}}function hn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function L9e(t,e,r){var n=pa.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function N9e(t,e,r){var n=pa.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function M9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function I9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function O9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function _J(t,e,r){var n=pa.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function DJ(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function P9e(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 B9e(t,e,r){var n=pa.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function F9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function RJ(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $9e(t,e,r){var n=pa.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function LJ(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function z9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function G9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function V9e(t,e,r){var n=pa.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function q9e(t,e,r){var n=pa.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U9e(t,e,r){var n=_9e.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function W9e(t,e,r){var n=pa.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function H9e(t,e,r){var n=pa.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function NJ(t,e){return hn(t.getDate(),e,2)}function Y9e(t,e){return hn(t.getHours(),e,2)}function j9e(t,e){return hn(t.getHours()%12||12,e,2)}function X9e(t,e){return hn(1+gl.count(zo(t),t),e,3)}function BJ(t,e){return hn(t.getMilliseconds(),e,3)}function K9e(t,e){return BJ(t,e)+"000"}function Q9e(t,e){return hn(t.getMonth()+1,e,2)}function Z9e(t,e){return hn(t.getMinutes(),e,2)}function J9e(t,e){return hn(t.getSeconds(),e,2)}function eNe(t){var e=t.getDay();return e===0?7:e}function tNe(t,e){return hn(oc.count(zo(t)-1,t),e,2)}function FJ(t){var e=t.getDay();return e>=4||e===0?iu(t):iu.ceil(t)}function rNe(t,e){return t=FJ(t),hn(iu.count(zo(t),t)+(zo(t).getDay()===4),e,2)}function nNe(t){return t.getDay()}function iNe(t,e){return hn(If.count(zo(t)-1,t),e,2)}function aNe(t,e){return hn(t.getFullYear()%100,e,2)}function sNe(t,e){return t=FJ(t),hn(t.getFullYear()%100,e,2)}function oNe(t,e){return hn(t.getFullYear()%1e4,e,4)}function lNe(t,e){var r=t.getDay();return t=r>=4||r===0?iu(t):iu.ceil(t),hn(t.getFullYear()%1e4,e,4)}function cNe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+hn(e/60|0,"0",2)+hn(e%60,"0",2)}function MJ(t,e){return hn(t.getUTCDate(),e,2)}function uNe(t,e){return hn(t.getUTCHours(),e,2)}function hNe(t,e){return hn(t.getUTCHours()%12||12,e,2)}function fNe(t,e){return hn(1+xx.count(lc(t),t),e,3)}function $J(t,e){return hn(t.getUTCMilliseconds(),e,3)}function dNe(t,e){return $J(t,e)+"000"}function pNe(t,e){return hn(t.getUTCMonth()+1,e,2)}function mNe(t,e){return hn(t.getUTCMinutes(),e,2)}function gNe(t,e){return hn(t.getUTCSeconds(),e,2)}function yNe(t){var e=t.getUTCDay();return e===0?7:e}function vNe(t,e){return hn(t0.count(lc(t)-1,t),e,2)}function zJ(t){var e=t.getUTCDay();return e>=4||e===0?Of(t):Of.ceil(t)}function xNe(t,e){return t=zJ(t),hn(Of.count(lc(t),t)+(lc(t).getUTCDay()===4),e,2)}function bNe(t){return t.getUTCDay()}function TNe(t,e){return hn(Bg.count(lc(t)-1,t),e,2)}function wNe(t,e){return hn(t.getUTCFullYear()%100,e,2)}function kNe(t,e){return t=zJ(t),hn(t.getUTCFullYear()%100,e,2)}function ENe(t,e){return hn(t.getUTCFullYear()%1e4,e,4)}function SNe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Of(t):Of.ceil(t),hn(t.getUTCFullYear()%1e4,e,4)}function CNe(){return"+0000"}function IJ(){return"%"}function OJ(t){return+t}function PJ(t){return Math.floor(+t/1e3)}var AJ,pa,_9e,D9e,GJ=O(()=>{"use strict";F5();o(L9,"localDate");o(N9,"utcDate");o(bx,"newDate");o(M9,"formatLocale");AJ={"-":"",_:" ",0:"0"},pa=/^\s*\d+/,_9e=/^%/,D9e=/[\\^$*+?|[\]().{}]/g;o(hn,"pad");o(R9e,"requote");o(Tx,"formatRe");o(wx,"formatLookup");o(L9e,"parseWeekdayNumberSunday");o(N9e,"parseWeekdayNumberMonday");o(M9e,"parseWeekNumberSunday");o(I9e,"parseWeekNumberISO");o(O9e,"parseWeekNumberMonday");o(_J,"parseFullYear");o(DJ,"parseYear");o(P9e,"parseZone");o(B9e,"parseQuarter");o(F9e,"parseMonthNumber");o(RJ,"parseDayOfMonth");o($9e,"parseDayOfYear");o(LJ,"parseHour24");o(z9e,"parseMinutes");o(G9e,"parseSeconds");o(V9e,"parseMilliseconds");o(q9e,"parseMicroseconds");o(U9e,"parseLiteralPercent");o(W9e,"parseUnixTimestamp");o(H9e,"parseUnixTimestampSeconds");o(NJ,"formatDayOfMonth");o(Y9e,"formatHour24");o(j9e,"formatHour12");o(X9e,"formatDayOfYear");o(BJ,"formatMilliseconds");o(K9e,"formatMicroseconds");o(Q9e,"formatMonthNumber");o(Z9e,"formatMinutes");o(J9e,"formatSeconds");o(eNe,"formatWeekdayNumberMonday");o(tNe,"formatWeekNumberSunday");o(FJ,"dISO");o(rNe,"formatWeekNumberISO");o(nNe,"formatWeekdayNumberSunday");o(iNe,"formatWeekNumberMonday");o(aNe,"formatYear");o(sNe,"formatYearISO");o(oNe,"formatFullYear");o(lNe,"formatFullYearISO");o(cNe,"formatZone");o(MJ,"formatUTCDayOfMonth");o(uNe,"formatUTCHour24");o(hNe,"formatUTCHour12");o(fNe,"formatUTCDayOfYear");o($J,"formatUTCMilliseconds");o(dNe,"formatUTCMicroseconds");o(pNe,"formatUTCMonthNumber");o(mNe,"formatUTCMinutes");o(gNe,"formatUTCSeconds");o(yNe,"formatUTCWeekdayNumberMonday");o(vNe,"formatUTCWeekNumberSunday");o(zJ,"UTCdISO");o(xNe,"formatUTCWeekNumberISO");o(bNe,"formatUTCWeekdayNumberSunday");o(TNe,"formatUTCWeekNumberMonday");o(wNe,"formatUTCYear");o(kNe,"formatUTCYearISO");o(ENe,"formatUTCFullYear");o(SNe,"formatUTCFullYearISO");o(CNe,"formatUTCZone");o(IJ,"formatLiteralPercent");o(OJ,"formatUnixTimestamp");o(PJ,"formatUnixTimestampSeconds")});function I9(t){return Fg=M9(t),r0=Fg.format,VJ=Fg.parse,qJ=Fg.utcFormat,UJ=Fg.utcParse,Fg}var Fg,r0,VJ,qJ,UJ,WJ=O(()=>{"use strict";GJ();I9({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"]});o(I9,"defaultLocale")});var O9=O(()=>{"use strict";WJ()});function ANe(t){return new Date(t)}function _Ne(t){return t instanceof Date?+t:+new Date(+t)}function HJ(t,e,r,n,i,a,s,l,u,h){var f=yx(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),T=h("%B"),E=h("%Y");function w(k){return(u(k){"use strict";F5();O9();g9();gx();pJ();o(ANe,"date");o(_Ne,"number");o(HJ,"calendar");o($5,"time")});var jJ=O(()=>{"use strict";lJ();dJ();f9();YJ()});function P9(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";o(P9,"default")});var B9,KJ=O(()=>{"use strict";XJ();B9=P9("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var QJ=O(()=>{"use strict";KJ()});function ei(t){return o(function(){return t},"constant")}var z5=O(()=>{"use strict";o(ei,"default")});function JJ(t){return t>1?0:t<-1?$g:Math.acos(t)}function $9(t){return t>=1?kx:t<=-1?-kx:Math.asin(t)}var F9,Ia,Pf,ZJ,G5,cc,n0,ma,$g,kx,zg,V5=O(()=>{"use strict";F9=Math.abs,Ia=Math.atan2,Pf=Math.cos,ZJ=Math.max,G5=Math.min,cc=Math.sin,n0=Math.sqrt,ma=1e-12,$g=Math.PI,kx=$g/2,zg=2*$g;o(JJ,"acos");o($9,"asin")});function q5(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new jp(e)}var z9=O(()=>{"use strict";PL();o(q5,"withPath")});function DNe(t){return t.innerRadius}function RNe(t){return t.outerRadius}function LNe(t){return t.startAngle}function NNe(t){return t.endAngle}function MNe(t){return t&&t.padAngle}function INe(t,e,r,n,i,a,s,l){var u=r-t,h=n-e,f=s-i,d=l-a,p=d*u-f*h;if(!(p*pD*D+M*M&&(A=I,L=N),{cx:A,cy:L,x01:-f,y01:-d,x11:A*(i/w-1),y11:L*(i/w-1)}}function uc(){var t=DNe,e=RNe,r=ei(0),n=null,i=LNe,a=NNe,s=MNe,l=null,u=q5(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-kx,y=a.apply(this,arguments)-kx,v=F9(y-g),x=y>g;if(l||(l=f=u()),mma))l.moveTo(0,0);else if(v>zg-ma)l.moveTo(m*Pf(g),m*cc(g)),l.arc(0,0,m,g,y,!x),p>ma&&(l.moveTo(p*Pf(y),p*cc(y)),l.arc(0,0,p,y,g,x));else{var b=g,T=y,E=g,w=y,k=v,S=v,A=s.apply(this,arguments)/2,L=A>ma&&(n?+n.apply(this,arguments):n0(p*p+m*m)),I=G5(F9(m-p)/2,+r.apply(this,arguments)),N=I,C=I,_,D;if(L>ma){var M=$9(L/p*cc(A)),R=$9(L/m*cc(A));(k-=M*2)>ma?(M*=x?1:-1,E+=M,w-=M):(k=0,E=w=(g+y)/2),(S-=R*2)>ma?(R*=x?1:-1,b+=R,T-=R):(S=0,b=T=(g+y)/2)}var P=m*Pf(b),B=m*cc(b),F=p*Pf(w),G=p*cc(w);if(I>ma){var $=m*Pf(T),V=m*cc(T),X=p*Pf(E),Q=p*cc(E),H;if(v<$g)if(H=INe(P,B,X,Q,$,V,F,G)){var ie=P-H[0],Y=B-H[1],le=$-H[0],ee=V-H[1],J=1/cc(JJ((ie*le+Y*ee)/(n0(ie*ie+Y*Y)*n0(le*le+ee*ee)))/2),te=n0(H[0]*H[0]+H[1]*H[1]);N=G5(I,(p-te)/(J-1)),C=G5(I,(m-te)/(J+1))}else N=C=0}S>ma?C>ma?(_=U5(X,Q,P,B,m,C,x),D=U5($,V,F,G,m,C,x),l.moveTo(_.cx+_.x01,_.cy+_.y01),Cma)||!(k>ma)?l.lineTo(F,G):N>ma?(_=U5(F,G,$,V,p,-N,x),D=U5(P,B,X,Q,p,-N,x),l.lineTo(_.cx+_.x01,_.cy+_.y01),N{"use strict";z5();V5();z9();o(DNe,"arcInnerRadius");o(RNe,"arcOuterRadius");o(LNe,"arcStartAngle");o(NNe,"arcEndAngle");o(MNe,"arcPadAngle");o(INe,"intersect");o(U5,"cornerTangents");o(uc,"default")});function Ex(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var j6t,G9=O(()=>{"use strict";j6t=Array.prototype.slice;o(Ex,"default")});function tee(t){this._context=t}function au(t){return new tee(t)}var V9=O(()=>{"use strict";o(tee,"Linear");tee.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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}},"point")};o(au,"default")});function ree(t){return t[0]}function nee(t){return t[1]}var iee=O(()=>{"use strict";o(ree,"x");o(nee,"y")});function hc(t,e){var r=ei(!0),n=null,i=au,a=null,s=q5(l);t=typeof t=="function"?t:t===void 0?ree:ei(t),e=typeof e=="function"?e:e===void 0?nee:ei(e);function l(u){var h,f=(u=Ex(u)).length,d,p=!1,m;for(n==null&&(a=i(m=s())),h=0;h<=f;++h)!(h{"use strict";G9();z5();V9();z9();iee();o(hc,"default")});function q9(t,e){return et?1:e>=t?0:NaN}var see=O(()=>{"use strict";o(q9,"default")});function U9(t){return t}var oee=O(()=>{"use strict";o(U9,"default")});function W5(){var t=U9,e=q9,r=null,n=ei(0),i=ei(zg),a=ei(0);function s(l){var u,h=(l=Ex(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(zg,Math.max(-zg,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),T=b*(v<0?-1:1),E;for(u=0;u0&&(p+=E);for(e!=null?m.sort(function(w,k){return e(g[w],g[k])}):r!=null&&m.sort(function(w,k){return r(l[w],l[k])}),u=0,d=p?(v-h*T)/p:0;u0?E*d:0)+T,g[f]={data:l[f],index:u,value:E,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:ei(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:ei(+l),s):n},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:ei(+l),s):i},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:ei(+l),s):a},s}var lee=O(()=>{"use strict";G9();z5();see();oee();V5();o(W5,"default")});function Sx(t){return new H5(t,!0)}function Cx(t){return new H5(t,!1)}var H5,cee=O(()=>{"use strict";H5=class{static{o(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};o(Sx,"bumpX");o(Cx,"bumpY")});function Go(){}var Ax=O(()=>{"use strict";o(Go,"default")});function Gg(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 _x(t){this._context=t}function fc(t){return new _x(t)}var Dx=O(()=>{"use strict";o(Gg,"point");o(_x,"Basis");_x.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:Gg(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},"lineEnd"),point:o(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:Gg(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(fc,"default")});function uee(t){this._context=t}function Y5(t){return new uee(t)}var hee=O(()=>{"use strict";Ax();Dx();o(uee,"BasisClosed");uee.prototype={areaStart:Go,areaEnd:Go,lineStart:o(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},"lineStart"),lineEnd:o(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}}},"lineEnd"),point:o(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:Gg(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(Y5,"default")});function fee(t){this._context=t}function j5(t){return new fee(t)}var dee=O(()=>{"use strict";Dx();o(fee,"BasisOpen");fee.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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:Gg(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(j5,"default")});function pee(t,e){this._basis=new _x(t),this._beta=e}var W9,mee=O(()=>{"use strict";Dx();o(pee,"Bundle");pee.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};W9=o((function t(e){function r(n){return e===1?new _x(n):new pee(n,e)}return o(r,"bundle"),r.beta=function(n){return t(+n)},r}),"custom")(.85)});function Vg(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function X5(t,e){this._context=t,this._k=(1-e)/6}var Rx,Lx=O(()=>{"use strict";o(Vg,"point");o(X5,"Cardinal");X5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Vg(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Vg(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};Rx=o((function t(e){function r(n){return new X5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function K5(t,e){this._context=t,this._k=(1-e)/6}var H9,Y9=O(()=>{"use strict";Ax();Lx();o(K5,"CardinalClosed");K5.prototype={areaStart:Go,areaEnd:Go,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Vg(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};H9=o((function t(e){function r(n){return new K5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function Q5(t,e){this._context=t,this._k=(1-e)/6}var j9,X9=O(()=>{"use strict";Lx();o(Q5,"CardinalOpen");Q5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Vg(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};j9=o((function t(e){function r(n){return new Q5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function Nx(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>ma){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>ma){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function gee(t,e){this._context=t,this._alpha=e}var Mx,Z5=O(()=>{"use strict";V5();Lx();o(Nx,"point");o(gee,"CatmullRom");gee.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Nx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};Mx=o((function t(e){function r(n){return e?new gee(n,e):new X5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function yee(t,e){this._context=t,this._alpha=e}var K9,vee=O(()=>{"use strict";Y9();Ax();Z5();o(yee,"CatmullRomClosed");yee.prototype={areaStart:Go,areaEnd:Go,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Nx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};K9=o((function t(e){function r(n){return e?new yee(n,e):new K5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function xee(t,e){this._context=t,this._alpha=e}var Q9,bee=O(()=>{"use strict";X9();Z5();o(xee,"CatmullRomOpen");xee.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Nx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};Q9=o((function t(e){function r(n){return e?new xee(n,e):new Q5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function Tee(t){this._context=t}function J5(t){return new Tee(t)}var wee=O(()=>{"use strict";Ax();o(Tee,"LinearClosed");Tee.prototype={areaStart:Go,areaEnd:Go,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(J5,"default")});function kee(t){return t<0?-1:1}function Eee(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),l=(a*i+s*n)/(n+i);return(kee(a)+kee(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function See(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Z9(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,s-l*r,a,s)}function ek(t){this._context=t}function Cee(t){this._context=new Aee(t)}function Aee(t){this._context=t}function Ix(t){return new ek(t)}function Ox(t){return new Cee(t)}var _ee=O(()=>{"use strict";o(kee,"sign");o(Eee,"slope3");o(See,"slope2");o(Z9,"point");o(ek,"MonotoneX");ek.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Z9(this,this._t0,See(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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,Z9(this,See(this,r=Eee(this,t,e)),r);break;default:Z9(this,this._t0,r=Eee(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(Cee,"MonotoneY");(Cee.prototype=Object.create(ek.prototype)).point=function(t,e){ek.prototype.point.call(this,e,t)};o(Aee,"ReflectContext");Aee.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};o(Ix,"monotoneX");o(Ox,"monotoneY")});function Ree(t){this._context=t}function Dee(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";o(Ree,"Natural");Ree.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(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=Dee(t),i=Dee(e),a=0,s=1;s{"use strict";o(tk,"Step");tk.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var 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},"point")};o(Ug,"default");o(Px,"stepBefore");o(Bx,"stepAfter")});var Mee=O(()=>{"use strict";eee();aee();lee();hee();dee();Dx();cee();mee();Y9();X9();Lx();vee();bee();Z5();wee();V9();_ee();Lee();Nee()});var Iee=O(()=>{"use strict"});var Oee=O(()=>{"use strict"});function Bf(t,e,r){this.k=t,this.x=e,this.y=r}function eN(t){for(;!t.__zoom;)if(!(t=t.parentNode))return J9;return t.__zoom}var J9,tN=O(()=>{"use strict";o(Bf,"Transform");Bf.prototype={constructor:Bf,scale:o(function(t){return t===1?this:new Bf(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Bf(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};J9=new Bf(1,0,0);eN.prototype=Bf.prototype;o(eN,"transform")});var Pee=O(()=>{"use strict"});var Bee=O(()=>{"use strict";x5();Iee();Oee();tN();Pee()});var Fee=O(()=>{"use strict";Bee();tN()});var Ar=O(()=>{"use strict";Cf();HX();hZ();mZ();Ag();gZ();yZ();qD();BK();vZ();LL();xZ();TZ();jL();OZ();aJ();Rg();PL();sJ();bZ();oJ();jJ();QJ();rc();Mee();F5();O9();d5();x5();Fee()});var $ee=nr(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.BLANK_URL=ga.relativeFirstCharacters=ga.whitespaceEscapeCharsRegex=ga.urlSchemeRegex=ga.ctrlCharactersRegex=ga.htmlCtrlEntityRegex=ga.htmlEntitiesRegex=ga.invalidProtocolRegex=void 0;ga.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;ga.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;ga.htmlCtrlEntityRegex=/&(newline|tab);/gi;ga.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;ga.urlSchemeRegex=/^.+(:|:)/gim;ga.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;ga.relativeFirstCharacters=[".","/"];ga.BLANK_URL="about:blank"});var Wg=nr(rk=>{"use strict";Object.defineProperty(rk,"__esModule",{value:!0});rk.sanitizeUrl=void 0;var Ja=$ee();function ONe(t){return Ja.relativeFirstCharacters.indexOf(t[0])>-1}o(ONe,"isRelativeUrlWithoutProtocol");function PNe(t){var e=t.replace(Ja.ctrlCharactersRegex,"");return e.replace(Ja.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}o(PNe,"decodeHtmlCharacters");function BNe(t){return URL.canParse(t)}o(BNe,"isValidUrl");function zee(t){try{return decodeURIComponent(t)}catch{return t}}o(zee,"decodeURI");function FNe(t){if(!t)return Ja.BLANK_URL;var e,r=zee(t.trim());do r=PNe(r).replace(Ja.htmlCtrlEntityRegex,"").replace(Ja.ctrlCharactersRegex,"").replace(Ja.whitespaceEscapeCharsRegex,"").trim(),r=zee(r),e=r.match(Ja.ctrlCharactersRegex)||r.match(Ja.htmlEntitiesRegex)||r.match(Ja.htmlCtrlEntityRegex)||r.match(Ja.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Ja.BLANK_URL;if(ONe(n))return n;var i=n.trimStart(),a=i.match(Ja.urlSchemeRegex);if(!a)return n;var s=a[0].toLowerCase().trim();if(Ja.invalidProtocolRegex.test(s))return Ja.BLANK_URL;var l=i.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!BNe(l))return Ja.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(FNe,"sanitizeUrl");rk.sanitizeUrl=FNe});var rN,i0,nk,Gee,ik,ak,Oa,Fx,sk,a0=O(()=>{"use strict";rN=Ra(Wg(),1);Ar();Ur();i0=o((t,e)=>{let 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),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),nk=o((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};i0(t,r).lower()},"drawBackgroundRect"),Gee=o((t,e)=>{let r=e.text.replace(Ip," "),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&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),ik=o((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,rN.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),ak=o((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,rN.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),Oa=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Fx=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),sk=o(()=>{let t=je(".mermaidTooltip");return t.empty()&&(t=je("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")});var Vee,nN,qee,$Ne,zNe,GNe,VNe,qNe,UNe,WNe,HNe,YNe,jNe,XNe,KNe,bh,dc,Uee=O(()=>{"use strict";Ur();a0();Vee=Ra(Wg(),1),nN=o(function(t,e){return i0(t,e)},"drawRect"),qee=o(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,Vee.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),$Ne=o((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();bh(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:s},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),bh(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},d))}},"drawRels"),zNe=o(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};nN(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,bh(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,bh(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,bh(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),GNe=o(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"],a=e.fontColor?e.fontColor:"#FFFFFF",s="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":s="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":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=Oa();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},nN(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",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)),l.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":l.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)),l.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 h=KNe(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":qee(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,bh(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?bh(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&bh(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,bh(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),VNe=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),qNe=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),UNe=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),WNe=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),HNe=o(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),YNe=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),jNe=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),XNe=o(function(t){let 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")},"insertArrowCrossHead"),KNe=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),bh=(function(){function t(i,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split(st.lineBreakRegex);for(let v=0;v{"use strict";QNe=typeof global=="object"&&global&&global.Object===Object&&global,lk=QNe});var ZNe,JNe,Ri,yl=O(()=>{"use strict";iN();ZNe=typeof self=="object"&&self&&self.Object===Object&&self,JNe=lk||ZNe||Function("return this")(),Ri=JNe});var eMe,ya,s0=O(()=>{"use strict";yl();eMe=Ri.Symbol,ya=eMe});function nMe(t){var e=tMe.call(t,$x),r=t[$x];try{t[$x]=void 0;var n=!0}catch{}var i=rMe.call(t);return n&&(e?t[$x]=r:delete t[$x]),i}var Wee,tMe,rMe,$x,Hee,Yee=O(()=>{"use strict";s0();Wee=Object.prototype,tMe=Wee.hasOwnProperty,rMe=Wee.toString,$x=ya?ya.toStringTag:void 0;o(nMe,"getRawTag");Hee=nMe});function sMe(t){return aMe.call(t)}var iMe,aMe,jee,Xee=O(()=>{"use strict";iMe=Object.prototype,aMe=iMe.toString;o(sMe,"objectToString");jee=sMe});function cMe(t){return t==null?t===void 0?lMe:oMe:Kee&&Kee in Object(t)?Hee(t):jee(t)}var oMe,lMe,Kee,Pa,Th=O(()=>{"use strict";s0();Yee();Xee();oMe="[object Null]",lMe="[object Undefined]",Kee=ya?ya.toStringTag:void 0;o(cMe,"baseGetTag");Pa=cMe});function uMe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var On,Vo=O(()=>{"use strict";o(uMe,"isObject");On=uMe});function mMe(t){if(!On(t))return!1;var e=Pa(t);return e==fMe||e==dMe||e==hMe||e==pMe}var hMe,fMe,dMe,pMe,Vi,zx=O(()=>{"use strict";Th();Vo();hMe="[object AsyncFunction]",fMe="[object Function]",dMe="[object GeneratorFunction]",pMe="[object Proxy]";o(mMe,"isFunction");Vi=mMe});var gMe,ck,Qee=O(()=>{"use strict";yl();gMe=Ri["__core-js_shared__"],ck=gMe});function yMe(t){return!!Zee&&Zee in t}var Zee,Jee,ete=O(()=>{"use strict";Qee();Zee=(function(){var t=/[^.]+$/.exec(ck&&ck.keys&&ck.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();o(yMe,"isMasked");Jee=yMe});function bMe(t){if(t!=null){try{return xMe.call(t)}catch{}try{return t+""}catch{}}return""}var vMe,xMe,wh,aN=O(()=>{"use strict";vMe=Function.prototype,xMe=vMe.toString;o(bMe,"toSource");wh=bMe});function _Me(t){if(!On(t)||Jee(t))return!1;var e=Vi(t)?AMe:wMe;return e.test(wh(t))}var TMe,wMe,kMe,EMe,SMe,CMe,AMe,tte,rte=O(()=>{"use strict";zx();ete();Vo();aN();TMe=/[\\^$.*+?()[\]{}|]/g,wMe=/^\[object .+?Constructor\]$/,kMe=Function.prototype,EMe=Object.prototype,SMe=kMe.toString,CMe=EMe.hasOwnProperty,AMe=RegExp("^"+SMe.call(CMe).replace(TMe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(_Me,"baseIsNative");tte=_Me});function DMe(t,e){return t?.[e]}var nte,ite=O(()=>{"use strict";o(DMe,"getValue");nte=DMe});function RMe(t,e){var r=nte(t,e);return tte(r)?r:void 0}var ro,Ff=O(()=>{"use strict";rte();ite();o(RMe,"getNative");ro=RMe});var LMe,kh,Gx=O(()=>{"use strict";Ff();LMe=ro(Object,"create"),kh=LMe});function NMe(){this.__data__=kh?kh(null):{},this.size=0}var ate,ste=O(()=>{"use strict";Gx();o(NMe,"hashClear");ate=NMe});function MMe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var ote,lte=O(()=>{"use strict";o(MMe,"hashDelete");ote=MMe});function BMe(t){var e=this.__data__;if(kh){var r=e[t];return r===IMe?void 0:r}return PMe.call(e,t)?e[t]:void 0}var IMe,OMe,PMe,cte,ute=O(()=>{"use strict";Gx();IMe="__lodash_hash_undefined__",OMe=Object.prototype,PMe=OMe.hasOwnProperty;o(BMe,"hashGet");cte=BMe});function zMe(t){var e=this.__data__;return kh?e[t]!==void 0:$Me.call(e,t)}var FMe,$Me,hte,fte=O(()=>{"use strict";Gx();FMe=Object.prototype,$Me=FMe.hasOwnProperty;o(zMe,"hashHas");hte=zMe});function VMe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=kh&&e===void 0?GMe:e,this}var GMe,dte,pte=O(()=>{"use strict";Gx();GMe="__lodash_hash_undefined__";o(VMe,"hashSet");dte=VMe});function Hg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";ste();lte();ute();fte();pte();o(Hg,"Hash");Hg.prototype.clear=ate;Hg.prototype.delete=ote;Hg.prototype.get=cte;Hg.prototype.has=hte;Hg.prototype.set=dte;sN=Hg});function qMe(){this.__data__=[],this.size=0}var gte,yte=O(()=>{"use strict";o(qMe,"listCacheClear");gte=qMe});function UMe(t,e){return t===e||t!==t&&e!==e}var vl,o0=O(()=>{"use strict";o(UMe,"eq");vl=UMe});function WMe(t,e){for(var r=t.length;r--;)if(vl(t[r][0],e))return r;return-1}var $f,Vx=O(()=>{"use strict";o0();o(WMe,"assocIndexOf");$f=WMe});function jMe(t){var e=this.__data__,r=$f(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():YMe.call(e,r,1),--this.size,!0}var HMe,YMe,vte,xte=O(()=>{"use strict";Vx();HMe=Array.prototype,YMe=HMe.splice;o(jMe,"listCacheDelete");vte=jMe});function XMe(t){var e=this.__data__,r=$f(e,t);return r<0?void 0:e[r][1]}var bte,Tte=O(()=>{"use strict";Vx();o(XMe,"listCacheGet");bte=XMe});function KMe(t){return $f(this.__data__,t)>-1}var wte,kte=O(()=>{"use strict";Vx();o(KMe,"listCacheHas");wte=KMe});function QMe(t,e){var r=this.__data__,n=$f(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Ete,Ste=O(()=>{"use strict";Vx();o(QMe,"listCacheSet");Ete=QMe});function Yg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";yte();xte();Tte();kte();Ste();o(Yg,"ListCache");Yg.prototype.clear=gte;Yg.prototype.delete=vte;Yg.prototype.get=bte;Yg.prototype.has=wte;Yg.prototype.set=Ete;zf=Yg});var ZMe,Gf,uk=O(()=>{"use strict";Ff();yl();ZMe=ro(Ri,"Map"),Gf=ZMe});function JMe(){this.size=0,this.__data__={hash:new sN,map:new(Gf||zf),string:new sN}}var Cte,Ate=O(()=>{"use strict";mte();qx();uk();o(JMe,"mapCacheClear");Cte=JMe});function eIe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var _te,Dte=O(()=>{"use strict";o(eIe,"isKeyable");_te=eIe});function tIe(t,e){var r=t.__data__;return _te(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Vf,Ux=O(()=>{"use strict";Dte();o(tIe,"getMapData");Vf=tIe});function rIe(t){var e=Vf(this,t).delete(t);return this.size-=e?1:0,e}var Rte,Lte=O(()=>{"use strict";Ux();o(rIe,"mapCacheDelete");Rte=rIe});function nIe(t){return Vf(this,t).get(t)}var Nte,Mte=O(()=>{"use strict";Ux();o(nIe,"mapCacheGet");Nte=nIe});function iIe(t){return Vf(this,t).has(t)}var Ite,Ote=O(()=>{"use strict";Ux();o(iIe,"mapCacheHas");Ite=iIe});function aIe(t,e){var r=Vf(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var Pte,Bte=O(()=>{"use strict";Ux();o(aIe,"mapCacheSet");Pte=aIe});function jg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Ate();Lte();Mte();Ote();Bte();o(jg,"MapCache");jg.prototype.clear=Cte;jg.prototype.delete=Rte;jg.prototype.get=Nte;jg.prototype.has=Ite;jg.prototype.set=Pte;l0=jg});function oN(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(sIe);var r=o(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(oN.Cache||l0),r}var sIe,Xg,lN=O(()=>{"use strict";hk();sIe="Expected a function";o(oN,"memoize");oN.Cache=l0;Xg=oN});function oIe(){this.__data__=new zf,this.size=0}var Fte,$te=O(()=>{"use strict";qx();o(oIe,"stackClear");Fte=oIe});function lIe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var zte,Gte=O(()=>{"use strict";o(lIe,"stackDelete");zte=lIe});function cIe(t){return this.__data__.get(t)}var Vte,qte=O(()=>{"use strict";o(cIe,"stackGet");Vte=cIe});function uIe(t){return this.__data__.has(t)}var Ute,Wte=O(()=>{"use strict";o(uIe,"stackHas");Ute=uIe});function fIe(t,e){var r=this.__data__;if(r instanceof zf){var n=r.__data__;if(!Gf||n.length{"use strict";qx();uk();hk();hIe=200;o(fIe,"stackSet");Hte=fIe});function Kg(t){var e=this.__data__=new zf(t);this.size=e.size}var su,Wx=O(()=>{"use strict";qx();$te();Gte();qte();Wte();Yte();o(Kg,"Stack");Kg.prototype.clear=Fte;Kg.prototype.delete=zte;Kg.prototype.get=Vte;Kg.prototype.has=Ute;Kg.prototype.set=Hte;su=Kg});var dIe,Qg,cN=O(()=>{"use strict";Ff();dIe=(function(){try{var t=ro(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Qg=dIe});function pIe(t,e,r){e=="__proto__"&&Qg?Qg(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var ou,Zg=O(()=>{"use strict";cN();o(pIe,"baseAssignValue");ou=pIe});function mIe(t,e,r){(r!==void 0&&!vl(t[e],r)||r===void 0&&!(e in t))&&ou(t,e,r)}var Hx,uN=O(()=>{"use strict";Zg();o0();o(mIe,"assignMergeValue");Hx=mIe});function gIe(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),l=s.length;l--;){var u=s[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var jte,Xte=O(()=>{"use strict";o(gIe,"createBaseFor");jte=gIe});var yIe,Jg,fk=O(()=>{"use strict";Xte();yIe=jte(),Jg=yIe});function xIe(t,e){if(e)return t.slice();var r=t.length,n=Zte?Zte(r):new t.constructor(r);return t.copy(n),n}var Jte,Kte,vIe,Qte,Zte,dk,hN=O(()=>{"use strict";yl();Jte=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Kte=Jte&&typeof module=="object"&&module&&!module.nodeType&&module,vIe=Kte&&Kte.exports===Jte,Qte=vIe?Ri.Buffer:void 0,Zte=Qte?Qte.allocUnsafe:void 0;o(xIe,"cloneBuffer");dk=xIe});var bIe,e1,fN=O(()=>{"use strict";yl();bIe=Ri.Uint8Array,e1=bIe});function TIe(t){var e=new t.constructor(t.byteLength);return new e1(e).set(new e1(t)),e}var t1,pk=O(()=>{"use strict";fN();o(TIe,"cloneArrayBuffer");t1=TIe});function wIe(t,e){var r=e?t1(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var mk,dN=O(()=>{"use strict";pk();o(wIe,"cloneTypedArray");mk=wIe});function kIe(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";o(kIe,"copyArray");gk=kIe});var ere,EIe,tre,rre=O(()=>{"use strict";Vo();ere=Object.create,EIe=(function(){function t(){}return o(t,"object"),function(e){if(!On(e))return{};if(ere)return ere(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),tre=EIe});function SIe(t,e){return function(r){return t(e(r))}}var yk,mN=O(()=>{"use strict";o(SIe,"overArg");yk=SIe});var CIe,r1,vk=O(()=>{"use strict";mN();CIe=yk(Object.getPrototypeOf,Object),r1=CIe});function _Ie(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||AIe;return t===r}var AIe,lu,n1=O(()=>{"use strict";AIe=Object.prototype;o(_Ie,"isPrototype");lu=_Ie});function DIe(t){return typeof t.constructor=="function"&&!lu(t)?tre(r1(t)):{}}var xk,gN=O(()=>{"use strict";rre();vk();n1();o(DIe,"initCloneObject");xk=DIe});function RIe(t){return t!=null&&typeof t=="object"}var wi,xl=O(()=>{"use strict";o(RIe,"isObjectLike");wi=RIe});function NIe(t){return wi(t)&&Pa(t)==LIe}var LIe,yN,nre=O(()=>{"use strict";Th();xl();LIe="[object Arguments]";o(NIe,"baseIsArguments");yN=NIe});var ire,MIe,IIe,OIe,pc,i1=O(()=>{"use strict";nre();xl();ire=Object.prototype,MIe=ire.hasOwnProperty,IIe=ire.propertyIsEnumerable,OIe=yN((function(){return arguments})())?yN:function(t){return wi(t)&&MIe.call(t,"callee")&&!IIe.call(t,"callee")},pc=OIe});var PIe,zt,oi=O(()=>{"use strict";PIe=Array.isArray,zt=PIe});function FIe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=BIe}var BIe,a1,bk=O(()=>{"use strict";BIe=9007199254740991;o(FIe,"isLength");a1=FIe});function $Ie(t){return t!=null&&a1(t.length)&&!Vi(t)}var Li,bl=O(()=>{"use strict";zx();bk();o($Ie,"isArrayLike");Li=$Ie});function zIe(t){return wi(t)&&Li(t)}var c0,Tk=O(()=>{"use strict";bl();xl();o(zIe,"isArrayLikeObject");c0=zIe});function GIe(){return!1}var are,sre=O(()=>{"use strict";o(GIe,"stubFalse");are=GIe});var cre,ore,VIe,lre,qIe,UIe,mc,s1=O(()=>{"use strict";yl();sre();cre=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ore=cre&&typeof module=="object"&&module&&!module.nodeType&&module,VIe=ore&&ore.exports===cre,lre=VIe?Ri.Buffer:void 0,qIe=lre?lre.isBuffer:void 0,UIe=qIe||are,mc=UIe});function KIe(t){if(!wi(t)||Pa(t)!=WIe)return!1;var e=r1(t);if(e===null)return!0;var r=jIe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&ure.call(r)==XIe}var WIe,HIe,YIe,ure,jIe,XIe,hre,fre=O(()=>{"use strict";Th();vk();xl();WIe="[object Object]",HIe=Function.prototype,YIe=Object.prototype,ure=HIe.toString,jIe=YIe.hasOwnProperty,XIe=ure.call(Object);o(KIe,"isPlainObject");hre=KIe});function TOe(t){return wi(t)&&a1(t.length)&&!!ti[Pa(t)]}var QIe,ZIe,JIe,eOe,tOe,rOe,nOe,iOe,aOe,sOe,oOe,lOe,cOe,uOe,hOe,fOe,dOe,pOe,mOe,gOe,yOe,vOe,xOe,bOe,ti,dre,pre=O(()=>{"use strict";Th();bk();xl();QIe="[object Arguments]",ZIe="[object Array]",JIe="[object Boolean]",eOe="[object Date]",tOe="[object Error]",rOe="[object Function]",nOe="[object Map]",iOe="[object Number]",aOe="[object Object]",sOe="[object RegExp]",oOe="[object Set]",lOe="[object String]",cOe="[object WeakMap]",uOe="[object ArrayBuffer]",hOe="[object DataView]",fOe="[object Float32Array]",dOe="[object Float64Array]",pOe="[object Int8Array]",mOe="[object Int16Array]",gOe="[object Int32Array]",yOe="[object Uint8Array]",vOe="[object Uint8ClampedArray]",xOe="[object Uint16Array]",bOe="[object Uint32Array]",ti={};ti[fOe]=ti[dOe]=ti[pOe]=ti[mOe]=ti[gOe]=ti[yOe]=ti[vOe]=ti[xOe]=ti[bOe]=!0;ti[QIe]=ti[ZIe]=ti[uOe]=ti[JIe]=ti[hOe]=ti[eOe]=ti[tOe]=ti[rOe]=ti[nOe]=ti[iOe]=ti[aOe]=ti[sOe]=ti[oOe]=ti[lOe]=ti[cOe]=!1;o(TOe,"baseIsTypedArray");dre=TOe});function wOe(t){return function(e){return t(e)}}var Tl,u0=O(()=>{"use strict";o(wOe,"baseUnary");Tl=wOe});var mre,Yx,kOe,vN,EOe,wl,jx=O(()=>{"use strict";iN();mre=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Yx=mre&&typeof module=="object"&&module&&!module.nodeType&&module,kOe=Yx&&Yx.exports===mre,vN=kOe&&lk.process,EOe=(function(){try{var t=Yx&&Yx.require&&Yx.require("util").types;return t||vN&&vN.binding&&vN.binding("util")}catch{}})(),wl=EOe});var gre,SOe,qf,Xx=O(()=>{"use strict";pre();u0();jx();gre=wl&&wl.isTypedArray,SOe=gre?Tl(gre):dre,qf=SOe});function COe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Kx,xN=O(()=>{"use strict";o(COe,"safeGet");Kx=COe});function DOe(t,e,r){var n=t[e];(!(_Oe.call(t,e)&&vl(n,r))||r===void 0&&!(e in t))&&ou(t,e,r)}var AOe,_Oe,cu,o1=O(()=>{"use strict";Zg();o0();AOe=Object.prototype,_Oe=AOe.hasOwnProperty;o(DOe,"assignValue");cu=DOe});function ROe(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";o1();Zg();o(ROe,"copyObject");kl=ROe});function LOe(t,e){for(var r=-1,n=Array(t);++r{"use strict";o(LOe,"baseTimes");yre=LOe});function IOe(t,e){var r=typeof t;return e=e??NOe,!!e&&(r=="number"||r!="symbol"&&MOe.test(t))&&t>-1&&t%1==0&&t{"use strict";NOe=9007199254740991,MOe=/^(?:0|[1-9]\d*)$/;o(IOe,"isIndex");Uf=IOe});function BOe(t,e){var r=zt(t),n=!r&&pc(t),i=!r&&!n&&mc(t),a=!r&&!n&&!i&&qf(t),s=r||n||i||a,l=s?yre(t.length,String):[],u=l.length;for(var h in t)(e||POe.call(t,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Uf(h,u)))&&l.push(h);return l}var OOe,POe,wk,bN=O(()=>{"use strict";vre();i1();oi();s1();Qx();Xx();OOe=Object.prototype,POe=OOe.hasOwnProperty;o(BOe,"arrayLikeKeys");wk=BOe});function FOe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var xre,bre=O(()=>{"use strict";o(FOe,"nativeKeysIn");xre=FOe});function GOe(t){if(!On(t))return xre(t);var e=lu(t),r=[];for(var n in t)n=="constructor"&&(e||!zOe.call(t,n))||r.push(n);return r}var $Oe,zOe,Tre,wre=O(()=>{"use strict";Vo();n1();bre();$Oe=Object.prototype,zOe=$Oe.hasOwnProperty;o(GOe,"baseKeysIn");Tre=GOe});function VOe(t){return Li(t)?wk(t,!0):Tre(t)}var no,Wf=O(()=>{"use strict";bN();wre();bl();o(VOe,"keysIn");no=VOe});function qOe(t){return kl(t,no(t))}var kre,Ere=O(()=>{"use strict";h0();Wf();o(qOe,"toPlainObject");kre=qOe});function UOe(t,e,r,n,i,a,s){var l=Kx(t,r),u=Kx(e,r),h=s.get(u);if(h){Hx(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=zt(u),m=!p&&mc(u),g=!p&&!m&&qf(u);f=u,p||m||g?zt(l)?f=l:c0(l)?f=gk(l):m?(d=!1,f=dk(u,!0)):g?(d=!1,f=mk(u,!0)):f=[]:hre(u)||pc(u)?(f=l,pc(l)?f=kre(l):(!On(l)||Vi(l))&&(f=xk(u))):d=!1}d&&(s.set(u,f),i(f,u,n,a,s),s.delete(u)),Hx(t,r,f)}var Sre,Cre=O(()=>{"use strict";uN();hN();dN();pN();gN();i1();oi();Tk();s1();zx();Vo();fre();Xx();xN();Ere();o(UOe,"baseMergeDeep");Sre=UOe});function Are(t,e,r,n,i){t!==e&&Jg(e,function(a,s){if(i||(i=new su),On(a))Sre(t,e,s,r,Are,n,i);else{var l=n?n(Kx(t,s),a,s+"",t,e,i):void 0;l===void 0&&(l=a),Hx(t,s,l)}},no)}var _re,Dre=O(()=>{"use strict";Wx();uN();fk();Cre();Vo();Wf();xN();o(Are,"baseMerge");_re=Are});function WOe(t){return t}var va,Eh=O(()=>{"use strict";o(WOe,"identity");va=WOe});function HOe(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)}var Rre,Lre=O(()=>{"use strict";o(HOe,"apply");Rre=HOe});function YOe(t,e,r){return e=Nre(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=Nre(n.length-e,0),s=Array(a);++i{"use strict";Lre();Nre=Math.max;o(YOe,"overRest");kk=YOe});function jOe(t){return function(){return t}}var io,wN=O(()=>{"use strict";o(jOe,"constant");io=jOe});var XOe,Mre,Ire=O(()=>{"use strict";wN();cN();Eh();XOe=Qg?function(t,e){return Qg(t,"toString",{configurable:!0,enumerable:!1,value:io(e),writable:!0})}:va,Mre=XOe});function JOe(t){var e=0,r=0;return function(){var n=ZOe(),i=QOe-(n-r);if(r=n,i>0){if(++e>=KOe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var KOe,QOe,ZOe,Ore,Pre=O(()=>{"use strict";KOe=800,QOe=16,ZOe=Date.now;o(JOe,"shortOut");Ore=JOe});var ePe,Ek,kN=O(()=>{"use strict";Ire();Pre();ePe=Ore(Mre),Ek=ePe});function tPe(t,e){return Ek(kk(t,e,va),t+"")}var uu,l1=O(()=>{"use strict";Eh();TN();kN();o(tPe,"baseRest");uu=tPe});function rPe(t,e,r){if(!On(r))return!1;var n=typeof e;return(n=="number"?Li(r)&&Uf(e,r.length):n=="string"&&e in r)?vl(r[e],t):!1}var qo,f0=O(()=>{"use strict";o0();bl();Qx();Vo();o(rPe,"isIterateeCall");qo=rPe});function nPe(t){return uu(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&qo(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";l1();f0();o(nPe,"createAssigner");Sk=nPe});var iPe,Hf,SN=O(()=>{"use strict";Dre();EN();iPe=Sk(function(t,e,r){_re(t,e,r)}),Hf=iPe});function _N(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return aPe[r]??e}function cPe(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,$re.sanitizeUrl)(r):r}function Vre(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function hPe(t){let e,r=0;t.forEach(i=>{r+=Vre(i,e),e=i});let n=r/2;return DN(t,n)}function fPe(t){return t.length===1?t[0]:hPe(t)}function pPe(t,e,r){let n=structuredClone(r);K.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=DN(n,i),s=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2),u}function RN(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function mPe(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;iMath.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}var $re,AN,aPe,sPe,oPe,zre,Gre,lPe,uPe,Bre,DN,dPe,Fre,LN,NN,gPe,yPe,MN,vPe,IN,CN,Ck,xPe,bPe,Uo,Xt,qre,ao,hu,ar=O(()=>{"use strict";$re=Ra(Wg(),1);Ar();Ur();p8();xt();Fp();sg();lN();SN();Ow();AN="\u200B",aPe={curveBasis:fc,curveBasisClosed:Y5,curveBasisOpen:j5,curveBumpX:Sx,curveBumpY:Cx,curveBundle:W9,curveCardinalClosed:H9,curveCardinalOpen:j9,curveCardinal:Rx,curveCatmullRomClosed:K9,curveCatmullRomOpen:Q9,curveCatmullRom:Mx,curveLinear:au,curveLinearClosed:J5,curveMonotoneX:Ix,curveMonotoneY:Ox,curveNatural:qg,curveStep:Ug,curveStepAfter:Bx,curveStepBefore:Px},sPe=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,oPe=o(function(t,e){let r=zre(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let s=r.map(l=>l.args);cg(s),n=Vn(n,[...s])}else n=r.args;if(!n)return;let i=vg(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),zre=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${sPe.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),K.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=Bp.exec(t))!==null;)if(n.index===Bp.lastIndex&&Bp.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return K.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),Gre=o(function(t){return t.replace(Bp,"")},"removeDirectives"),lPe=o(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");o(_N,"interpolateToCurve");o(cPe,"formatUrl");uPe=o((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),DN=o((t,e)=>{let r,n=e;for(let i of t){if(r){let a=Vre(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:Bre((1-s)*r.x+s*i.x,5),y:Bre((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),dPe=o((t,e,r)=>{K.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=DN(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+i.x)/2,l.y=-Math.cos(s)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");o(pPe,"calcTerminalLabelPosition");o(RN,"getStylesFromArray");Fre=0,LN=o(()=>(Fre++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Fre),"generateId");o(mPe,"makeRandomHex");NN=o(t=>mPe(t.length),"random"),gPe=o(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),yPe=o(function(t,e){let r=e.text.replace(st.lineBreakRegex," "),[,n]=Uo(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),MN=Xg((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),st.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((s,l)=>{let u=xa(`${s} `,r),h=xa(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=vPe(s,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),vPe=Xg((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],s="";return i.forEach((l,u)=>{let h=`${s}${l}`;if(xa(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);o(Ak,"calculateTextHeight");o(xa,"calculateTextWidth");IN=Xg((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=Uo(r),s=["sans-serif",n],l=t.split(st.lineBreakRegex),u=[],h=je("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=gPe();v.text=y||AN;let x=yPe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),CN=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},xPe=o(function(t){return Ck=Ck||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Ck.innerHTML=t,unescape(Ck.textContent)},"entityDecode");o(ON,"isDetailedError");bPe=o((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),Uo=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(Pn,"cleanAndMerge");Xt={assignWithDepth:Vn,wrapLabel:MN,calculateTextHeight:Ak,calculateTextWidth:xa,calculateTextDimensions:IN,cleanAndMerge:Pn,detectInit:oPe,detectDirective:zre,isSubstringInArray:lPe,interpolateToCurve:_N,calcLabelPosition:fPe,calcCardinalityPosition:dPe,calcTerminalLabelPosition:pPe,formatUrl:cPe,getStylesFromArray:RN,generateId:LN,random:NN,runFunc:uPe,entityDecode:xPe,insertTitle:bPe,isLabelCoordinateInPath:TPe,parseFontSize:Uo,InitIDGenerator:CN},qre=o(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){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),ao=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),hu=o((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");o(Bn,"handleUndefinedAttr");o(TPe,"isLabelCoordinateInPath")});function gc(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=MN(e[t].text,i,n),e[t].textLines=e[t].text.split(st.lineBreakRegex).length,e[t].width=i,e[t].height=Ak(e[t].text,n);else{let a=e[t].text.split(st.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(xa(l,n),e[t].width),s=Ak(l,n),e[t].height=e[t].height+s}}function jre(t,e,r,n,i){let a=new Lk(i);a.data.widthLimit=r.data.widthLimit/Math.min(PN,n.length);for(let[s,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&Jt.wrap,f=_k(Jt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",gc("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=_k(Jt);gc("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=_k(Jt);g.fontSize=g.fontSize-2,gc("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%PN===0){let g=r.data.startx+Jt.diagramMarginX,y=r.data.stopy+Jt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Jt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&Yre(a,t,d,p),e=l.alias;let m=i.db.getBoundaries(e);m.length>0&&jre(t,e,a,m,i),l.alias!=="global"&&Hre(t,l,a),r.data.stopy=Math.max(a.data.stopy+Jt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Jt.c4ShapeMargin,r.data.stopx),Dk=Math.max(Dk,r.data.stopx),Rk=Math.max(Rk,r.data.stopy)}}var Dk,Rk,Wre,PN,Jt,Lk,BN,Zx,_k,wPe,Hre,Yre,so,Ure,kPe,EPe,SPe,FN,Xre=O(()=>{"use strict";Ar();Uee();xt();TD();Ur();LD();jt();sg();ar();Ti();Dk=0,Rk=0,Wre=4,PN=2;F2.yy=U2;Jt={},Lk=class{static{o(this,"Bounds")}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,BN(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,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Wre)&&(r=this.nextData.startx+e.margin+Jt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=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",a,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",a,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},BN(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},BN=o(function(t){Vn(Jt,t),t.fontFamily&&(Jt.personFontFamily=Jt.systemFontFamily=Jt.messageFontFamily=t.fontFamily),t.fontSize&&(Jt.personFontSize=Jt.systemFontSize=Jt.messageFontSize=t.fontSize),t.fontWeight&&(Jt.personFontWeight=Jt.systemFontWeight=Jt.messageFontWeight=t.fontWeight)},"setConf"),Zx=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),_k=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),wPe=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(gc,"calcC4ShapeTextWH");Hre=o(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=Jt.c4ShapeMargin-35;let n=e.wrap&&Jt.wrap,i=_k(Jt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=xa(e.label.text,i);gc("label",e,n,i,a),dc.drawBoundary(t,e,Jt)},"drawBoundary"),Yre=o(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],l=Zx(Jt,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=xa("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=Jt.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let u=s.wrap&&Jt.wrap,h=Jt.width-Jt.c4ShapePadding*2,f=Zx(Jt,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",gc("label",s,u,f,h),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=Zx(Jt,s.typeC4Shape.text);gc("type",s,u,m,h),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let m=Zx(Jt,s.techn.text);gc("techn",s,u,m,h),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=Zx(Jt,s.typeC4Shape.text);gc("descr",s,u,m,h),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}p=p+Jt.c4ShapePadding,s.width=Math.max(s.width||Jt.width,p,Jt.width),s.height=Math.max(s.height||Jt.height,d,Jt.height),s.margin=s.margin||Jt.c4ShapeMargin,t.insert(s),dc.drawC4Shape(e,s,Jt)}t.bumpLastMargin(Jt.c4ShapeMargin)},"drawC4ShapeArray"),so=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},Ure=o(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new so(r,l):r==i&&na&&(p=new so(s,n)),r>i&&n=f?p=new so(r,l+f*t.width/2):p=new so(s-u/h*t.height/2,n+t.height):r=f?p=new so(r+t.width,l+f*t.width/2):p=new so(s+u/h*t.height/2,n+t.height):ra?d>=f?p=new so(r+t.width,l-f*t.width/2):p=new so(s+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new so(r,l-t.width/2*f):p=new so(s-t.height/2*u/h,n)),p},"getIntersectPoint"),kPe=o(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=Ure(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=Ure(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),EPe=o(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Jt.wrap,l=wPe(Jt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=xa(a.label.text,l);gc("label",a,s,l,h),a.techn&&a.techn.text!==""&&(h=xa(a.techn.text,l),gc("techn",a,s,l,h)),a.descr&&a.descr.text!==""&&(h=xa(a.descr.text,l),gc("descr",a,s,l,h));let f=r(a.from),d=r(a.to),p=kPe(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}dc.drawRels(t,e,Jt)},"drawRels");o(jre,"drawInsideBoundary");SPe=o(function(t,e,r,n){Jt=ve().c4;let i=ve().securityLevel,a;i==="sandbox"&&(a=je("#i"+e));let s=i==="sandbox"?je(a.nodes()[0].contentDocument.body):je("body"),l=n.db;n.db.setWrap(Jt.wrap),Wre=l.getC4ShapeInRow(),PN=l.getC4BoundaryInRow(),K.debug(`C:${JSON.stringify(Jt,null,2)}`);let u=i==="sandbox"?s.select(`[id="${e}"]`):je(`[id="${e}"]`);dc.insertComputerIcon(u),dc.insertDatabaseIcon(u),dc.insertClockIcon(u);let h=new Lk(n);h.setData(Jt.diagramMarginX,Jt.diagramMarginX,Jt.diagramMarginY,Jt.diagramMarginY),h.data.widthLimit=screen.availWidth,Dk=Jt.diagramMarginX,Rk=Jt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundaries("");jre(u,"",h,d,n),dc.insertArrowHead(u),dc.insertArrowEnd(u),dc.insertArrowCrossHead(u),dc.insertArrowFilledHead(u),EPe(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=Dk,h.data.stopy=Rk;let p=h.data,g=p.stopy-p.starty+2*Jt.diagramMarginY,v=p.stopx-p.startx+2*Jt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*Jt.diagramMarginX).attr("y",p.starty+Jt.diagramMarginY),Zr(u,g,v,Jt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-Jt.diagramMarginX+" -"+(Jt.diagramMarginY+x)+" "+v+" "+(g+x)),K.debug("models:",p)},"draw"),FN={drawPersonOrSystemArray:Yre,drawBoundary:Hre,setConf:BN,draw:SPe}});var CPe,Kre,Qre=O(()=>{"use strict";CPe=o(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } -`,"getStyles"),gre=qIe});var vre={};vr(vre,{diagram:()=>UIe});var UIe,xre=I(()=>{"use strict";sD();gD();mre();yre();UIe={parser:Uj,db:L2,renderer:kN,styles:gre,init:o(({c4:t,wrap:e})=>{kN.setConf(t),L2.setWrap(e)},"init")}});function Pre(t){return typeof t>"u"||t===null}function jIe(t){return typeof t=="object"&&t!==null}function XIe(t){return Array.isArray(t)?t:Pre(t)?[]:[t]}function KIe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rAPe});var APe,Jre=O(()=>{"use strict";TD();LD();Xre();Qre();APe={parser:EX,db:U2,renderer:FN,styles:Kre,init:o(({c4:t,wrap:e})=>{FN.setConf(t),U2.setWrap(e)},"init")}});function gne(t){return typeof t>"u"||t===null}function LPe(t){return typeof t=="object"&&t!==null}function NPe(t){return Array.isArray(t)?t:gne(t)?[]:[t]}function MPe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rl&&(a=" ... ",e=n-l+a.length),r-n>l&&(s=" ...",r=n+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:n-e+a.length}}function EN(t,e){return Qi.repeat(" ",e-t.length)+t}function aOe(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=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=SN(t.buffer,n[s-u],i[s-u],t.position-(n[s]-n[s-u]),d),l=Qi.repeat(" ",e.indent)+EN((t.line-u+1).toString(),f)+" | "+h.str+` -`+l;for(h=SN(t.buffer,n[s],i[s],t.position,d),l+=Qi.repeat(" ",e.indent)+EN((t.line+1).toString(),f)+" | "+h.str+` -`,l+=Qi.repeat("-",e.indent+f+3+h.pos)+`^ -`,u=1;u<=e.linesAfter&&!(s+u>=i.length);u++)h=SN(t.buffer,n[s+u],i[s+u],t.position-(n[s]-n[s+u]),d),l+=Qi.repeat(" ",e.indent)+EN((t.line+u+1).toString(),f)+" | "+h.str+` -`;return l.replace(/\n$/,"")}function cOe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}function uOe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(oOe.indexOf(r)===-1)throw new ro('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=cOe(e.styleAliases||null),lOe.indexOf(this.kind)===-1)throw new ro('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function Tre(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}function hOe(){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(o(n,"collectType"),e=0,r=arguments.length;e=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}function POe(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(Qi.isNegativeZero(t))return"-0.0";return r=t.toString(10),OOe.test(r)?r.replace("e",".e"):r}function BOe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Qi.isNegativeZero(t))}function zOe(t){return t===null?!1:$re.exec(t)!==null||zre.exec(t)!==null}function GOe(t){var e,r,n,i,a,s,l,u=0,h=null,f,d,p;if(e=$re.exec(t),e===null&&(e=zre.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(a=+e[4],s=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}function VOe(t){return t.toISOString()}function UOe(t){return t==="<<"||t===null}function HOe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=NN;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}function YOe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=NN,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}function jOe(t){var e="",r=0,n,i,a=t.length,s=NN;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}function XOe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function JOe(t){if(t===null)return!0;var e=[],r,n,i,a,s,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}function vPe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Gre,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 jre(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=sOe(r),new ro(e,r)}function rr(t,e){throw jre(t,e)}function bk(t,e){t.onWarning&&t.onWarning.call(null,jre(t,e))}function Vf(t,e,r,n){var i,a,s,l;if(e1&&(t.result+=Qi.repeat(` -`,e-1))}function xPe(t,e,r){var n,i,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),no(m)||n1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),no(i)||r&&n1(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),no(i)||r&&n1(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),no(n))break}else{if(t.position===t.lineStart&&kk(t)||r&&n1(m))break;if(iu(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,zi(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Vf(t,a,s,!1),IN(t,t.line-u),a=s=t.position,l=!1),u0(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return Vf(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}function bPe(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(Vf(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 iu(r)?(Vf(t,n,i,!0),IN(t,zi(t,!1,e)),n=i=t.position):t.position===t.lineStart&&kk(t)?rr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);rr(t,"unexpected end of the stream within a single quoted scalar")}function TPe(t,e){var r,n,i,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Vf(t,r,t.position,!0),t.position++,!0;if(l===92){if(Vf(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),iu(l))zi(t,!1,e);else if(l<256&&Hre[l])t.result+=Yre[l],t.position++;else if((s=mPe(l))>0){for(i=s,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(s=pPe(l))>=0?a=(a<<4)+s:rr(t,"expected hexadecimal character");t.result+=yPe(a),t.position++}else rr(t,"unknown escape sequence");r=n=t.position}else iu(l)?(Vf(t,r,n,!0),IN(t,zi(t,!1,e)),r=n=t.position):t.position===t.lineStart&&kk(t)?rr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}rr(t,"unexpected end of the stream within a double quoted scalar")}function wPe(t,e){var r=!0,n,i,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(zi(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&rr(t,"expected the node content, but found ','"):rr(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),no(h)&&(d=p=!0,t.position++,zi(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,a1(t,e,vk,!1,!0),v=t.tag,y=t.result,zi(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),zi(t,!0,e),a1(t,e,vk,!1,!0),x=t.result),m?i1(t,l,g,v,y,x,n,i,a):d?l.push(i1(t,null,g,v,y,x,n,i,a)):l.push(y),zi(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}rr(t,"unexpected end of the stream within a flow collection")}function kPe(t,e){var r,n,i=CN,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)CN===i?i=d===43?wre:uPe:rr(t,"repeat of a chomping mode identifier");else if((f=gPe(d))>=0)f===0?rr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?rr(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(u0(d)){do d=t.input.charCodeAt(++t.position);while(u0(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!iu(d)&&d!==0)}for(;d!==0;){for(MN(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),iu(d)){u++;continue}if(t.lineIndente)&&u!==0)rr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),a1(t,e,xk,!0,i)&&(v?g=t.result:y=t.result),v||(i1(t,d,p,m,g,y,s,l,u),m=g=y=null),zi(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)rr(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&rr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):rr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}function _Pe(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(zi(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!no(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&rr(t,"directive name must not be less than one character in length");s!==0;){for(;u0(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!iu(s));break}if(iu(s))break;for(r=t.position;s!==0&&!no(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&MN(t),qf.call(Ere,n)?Ere[n](t,n,i):bk(t,'unknown document directive "'+n+'"')}if(zi(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,zi(t,!0,-1)):a&&rr(t,"directives end mark is expected"),a1(t,t.lineIndent-1,xk,!1,!0),zi(t,!0,-1),t.checkLineBreaks&&fPe.test(t.input.slice(e,t.position))&&bk(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&kk(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,zi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=Xre(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;il&&(a=" ... ",e=n-l+a.length),r-n>l&&(s=" ...",r=n+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:n-e+a.length}}function zN(t,e){return ra.repeat(" ",e-t.length)+t}function VPe(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=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=$N(t.buffer,n[s-u],i[s-u],t.position-(n[s]-n[s-u]),d),l=ra.repeat(" ",e.indent)+zN((t.line-u+1).toString(),f)+" | "+h.str+` +`+l;for(h=$N(t.buffer,n[s],i[s],t.position,d),l+=ra.repeat(" ",e.indent)+zN((t.line+1).toString(),f)+" | "+h.str+` +`,l+=ra.repeat("-",e.indent+f+3+h.pos)+`^ +`,u=1;u<=e.linesAfter&&!(s+u>=i.length);u++)h=$N(t.buffer,n[s+u],i[s+u],t.position-(n[s]-n[s+u]),d),l+=ra.repeat(" ",e.indent)+zN((t.line+u+1).toString(),f)+" | "+h.str+` +`;return l.replace(/\n$/,"")}function HPe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}function YPe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(UPe.indexOf(r)===-1)throw new oo('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=HPe(e.styleAliases||null),WPe.indexOf(this.kind)===-1)throw new oo('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function tne(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}function jPe(){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(o(n,"collectType"),e=0,r=arguments.length;e=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}function xBe(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(ra.isNegativeZero(t))return"-0.0";return r=t.toString(10),vBe.test(r)?r.replace("e",".e"):r}function bBe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ra.isNegativeZero(t))}function kBe(t){return t===null?!1:xne.exec(t)!==null||bne.exec(t)!==null}function EBe(t){var e,r,n,i,a,s,l,u=0,h=null,f,d,p;if(e=xne.exec(t),e===null&&(e=bne.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(a=+e[4],s=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}function SBe(t){return t.toISOString()}function ABe(t){return t==="<<"||t===null}function DBe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=YN;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}function RBe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=YN,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}function LBe(t){var e="",r=0,n,i,a=t.length,s=YN;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}function NBe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function PBe(t){if(t===null)return!0;var e=[],r,n,i,a,s,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}function Cne(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}function tFe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Tne,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 Dne(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=qPe(r),new oo(e,r)}function sr(t,e){throw Dne(t,e)}function Ik(t,e){t.onWarning&&t.onWarning.call(null,Dne(t,e))}function Yf(t,e,r,n){var i,a,s,l;if(e1&&(t.result+=ra.repeat(` +`,e-1))}function rFe(t,e,r){var n,i,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),lo(m)||u1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),lo(i)||r&&u1(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),lo(i)||r&&u1(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),lo(n))break}else{if(t.position===t.lineStart&&Bk(t)||r&&u1(m))break;if(fu(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,qi(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Yf(t,a,s,!1),XN(t,t.line-u),a=s=t.position,l=!1),p0(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return Yf(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}function nFe(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(Yf(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 fu(r)?(Yf(t,n,i,!0),XN(t,qi(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Bk(t)?sr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);sr(t,"unexpected end of the stream within a single quoted scalar")}function iFe(t,e){var r,n,i,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Yf(t,r,t.position,!0),t.position++,!0;if(l===92){if(Yf(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),fu(l))qi(t,!1,e);else if(l<256&&Ane[l])t.result+=_ne[l],t.position++;else if((s=ZBe(l))>0){for(i=s,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(s=QBe(l))>=0?a=(a<<4)+s:sr(t,"expected hexadecimal character");t.result+=eFe(a),t.position++}else sr(t,"unknown escape sequence");r=n=t.position}else fu(l)?(Yf(t,r,n,!0),XN(t,qi(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Bk(t)?sr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}sr(t,"unexpected end of the stream within a double quoted scalar")}function aFe(t,e){var r=!0,n,i,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(qi(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&sr(t,"expected the node content, but found ','"):sr(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),lo(h)&&(d=p=!0,t.position++,qi(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,f1(t,e,Nk,!1,!0),v=t.tag,y=t.result,qi(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),qi(t,!0,e),f1(t,e,Nk,!1,!0),x=t.result),m?h1(t,l,g,v,y,x,n,i,a):d?l.push(h1(t,null,g,v,y,x,n,i,a)):l.push(y),qi(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}sr(t,"unexpected end of the stream within a flow collection")}function sFe(t,e){var r,n,i=GN,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)GN===i?i=d===43?rne:YBe:sr(t,"repeat of a chomping mode identifier");else if((f=JBe(d))>=0)f===0?sr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?sr(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(p0(d)){do d=t.input.charCodeAt(++t.position);while(p0(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!fu(d)&&d!==0)}for(;d!==0;){for(jN(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),fu(d)){u++;continue}if(t.lineIndente)&&u!==0)sr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),f1(t,e,Mk,!0,i)&&(v?g=t.result:y=t.result),v||(h1(t,d,p,m,g,y,s,l,u),m=g=y=null),qi(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)sr(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&sr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):sr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}function hFe(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(qi(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!lo(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&sr(t,"directive name must not be less than one character in length");s!==0;){for(;p0(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!fu(s));break}if(fu(s))break;for(r=t.position;s!==0&&!lo(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&jN(t),jf.call(ane,n)?ane[n](t,n,i):Ik(t,'unknown document directive "'+n+'"')}if(qi(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,qi(t,!0,-1)):a&&sr(t,"directives end mark is expected"),f1(t,t.lineIndent-1,Mk,!1,!0),qi(t,!0,-1),t.checkLineBreaks&&XBe.test(t.input.slice(e,t.position))&&Ik(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Bk(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,qi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=Rne(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function ine(t){var e=/^\n* /;return e.test(t)}function iBe(t,e,r,n,i,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=rBe(Gx(t,0))&&nBe(Gx(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=Gx(t,u),!Wx(h))return r1;y=y&&Rre(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=Gx(t,u),h===qx)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!Wx(h))return r1;y=y&&Rre(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!s&&!i(t)?ane:a===Ux?r1:RN:r>9&&ine(t)?r1:s?a===Ux?r1:RN:p?one:sne}function aBe(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Ux?'""':"''";if(!t.noCompatMode&&(XPe.indexOf(e)!==-1||KPe.test(e)))return t.quotingType===Ux?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return tBe(t,h)}switch(o(u,"testAmbiguity"),iBe(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!n,i)){case ane:return e;case RN:return"'"+e.replace(/'/g,"''")+"'";case sne:return"|"+Lre(e,t.indent)+Nre(_re(e,a));case one:return">"+Lre(e,t.indent)+Nre(_re(sBe(e,s),a));case r1:return'"'+oBe(e)+'"';default:throw new ro("impossible error: invalid scalar style")}})()}function Lre(t,e){var r=ine(t)?String(e):"",n=t[t.length-1]===` +`&&(a+=r),a+=s;return a}function UN(t,e){return` +`+ra.repeat(" ",t.indent*e)}function FFe(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function $ne(t){var e=/^\n* /;return e.test(t)}function GFe(t,e,r,n,i,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=$Fe(Jx(t,0))&&zFe(Jx(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=Jx(t,u),!nb(h))return c1;y=y&&une(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=Jx(t,u),h===tb)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!nb(h))return c1;y=y&&une(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!s&&!i(t)?zne:a===rb?c1:WN:r>9&&$ne(t)?c1:s?a===rb?c1:WN:p?Vne:Gne}function VFe(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===rb?'""':"''";if(!t.noCompatMode&&(NFe.indexOf(e)!==-1||MFe.test(e)))return t.quotingType===rb?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return FFe(t,h)}switch(o(u,"testAmbiguity"),GFe(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!n,i)){case zne:return e;case WN:return"'"+e.replace(/'/g,"''")+"'";case Gne:return"|"+hne(e,t.indent)+fne(lne(e,a));case Vne:return">"+hne(e,t.indent)+fne(lne(qFe(e,s),a));case c1:return'"'+UFe(e)+'"';default:throw new oo("impossible error: invalid scalar style")}})()}function hne(t,e){var r=$ne(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` -`}function Nre(t){return t[t.length-1]===` -`?t.slice(0,-1):t}function sBe(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var h=t.indexOf(` -`);return h=h!==-1?h:t.length,r.lastIndex=h,Mre(t.slice(0,h),e)})(),i=t[0]===` +`}function fne(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function qFe(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,dne(t.slice(0,h),e)})(),i=t[0]===` `||t[0]===" ",a,s;s=r.exec(t);){var l=s[1],u=s[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?` -`:"")+Mre(u,e),i=a}return n}function Mre(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=s>i?s:l,u+=` +`:"")+dne(u,e),i=a}return n}function dne(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=s>i?s:l,u+=` `+t.slice(i,a),i=a+1),s=l;return u+=` `,t.length-i>e&&s>i?u+=t.slice(i,s)+` -`+t.slice(s+1):u+=t.slice(i),u.slice(1)}function oBe(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=Gx(t,i),n=es[r],!n&&Wx(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||ZPe(r);return e}function lBe(t,e,r){var n="",i=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&Th(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}function Ire(t,e,r,n){var i="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&Th(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=DN(t,e)),t.dump&&qx===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}function cBe(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Th(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}function uBe(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new ro("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&qx===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=DN(t,e)),Th(t,e+1,f,!0,d)&&(t.dump&&qx===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}function Ore(t,e,r){var n,i,a,s,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}function Th(t,e,r,n,i,a,s){t.tag=null,t.dump=r,Ore(t,r,!1)||Ore(t,r,!0);var l=Qre.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(uBe(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(cBe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?Ire(t,e-1,t.dump,i):Ire(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(lBe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&aBe(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new ro("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}function hBe(t,e){var r=[],n=[],i,a;for(LN(t,r,n),i=0,a=n.length;i{"use strict";o(Pre,"isNothing");o(jIe,"isObject");o(XIe,"toArray");o(KIe,"extend");o(QIe,"repeat");o(ZIe,"isNegativeZero");JIe=Pre,eOe=jIe,tOe=XIe,rOe=QIe,nOe=ZIe,iOe=KIe,Qi={isNothing:JIe,isObject:eOe,toArray:tOe,repeat:rOe,isNegativeZero:nOe,extend:iOe};o(Bre,"formatError");o(Vx,"YAMLException$1");Vx.prototype=Object.create(Error.prototype);Vx.prototype.constructor=Vx;Vx.prototype.toString=o(function(e){return this.name+": "+Bre(this,e)},"toString");ro=Vx;o(SN,"getLine");o(EN,"padStart");o(aOe,"makeSnippet");sOe=aOe,oOe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],lOe=["scalar","sequence","mapping"];o(cOe,"compileStyleAliases");o(uOe,"Type$1");Ja=uOe;o(Tre,"compileList");o(hOe,"compileMap");o(AN,"Schema$1");AN.prototype.extend=o(function(e){var r=[],n=[];if(e instanceof Ja)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 ro("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof Ja))throw new ro("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new ro("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new ro("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(a){if(!(a instanceof Ja))throw new ro("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(AN.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=Tre(i,"implicit"),i.compiledExplicit=Tre(i,"explicit"),i.compiledTypeMap=hOe(i.compiledImplicit,i.compiledExplicit),i},"extend");fOe=AN,dOe=new Ja("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(t){return t!==null?t:""},"construct")}),pOe=new Ja("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(t){return t!==null?t:[]},"construct")}),mOe=new Ja("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(t){return t!==null?t:{}},"construct")}),gOe=new fOe({explicit:[dOe,pOe,mOe]});o(yOe,"resolveYamlNull");o(vOe,"constructYamlNull");o(xOe,"isNull");bOe=new Ja("tag:yaml.org,2002:null",{kind:"scalar",resolve:yOe,construct:vOe,predicate:xOe,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});o(TOe,"resolveYamlBoolean");o(wOe,"constructYamlBoolean");o(kOe,"isBoolean");SOe=new Ja("tag:yaml.org,2002:bool",{kind:"scalar",resolve:TOe,construct:wOe,predicate:kOe,represent:{lowercase:o(function(t){return t?"true":"false"},"lowercase"),uppercase:o(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});o(EOe,"isHexCode");o(COe,"isOctCode");o(AOe,"isDecCode");o(_Oe,"resolveYamlInteger");o(DOe,"constructYamlInteger");o(ROe,"isInteger");LOe=new Ja("tag:yaml.org,2002:int",{kind:"scalar",resolve:_Oe,construct:DOe,predicate:ROe,represent:{binary:o(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),NOe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");o(MOe,"resolveYamlFloat");o(IOe,"constructYamlFloat");OOe=/^[-+]?[0-9]+e/;o(POe,"representYamlFloat");o(BOe,"isFloat");FOe=new Ja("tag:yaml.org,2002:float",{kind:"scalar",resolve:MOe,construct:IOe,predicate:BOe,represent:POe,defaultStyle:"lowercase"}),Fre=gOe.extend({implicit:[bOe,SOe,LOe,FOe]}),$Oe=Fre,$re=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),zre=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]))?))?$");o(zOe,"resolveYamlTimestamp");o(GOe,"constructYamlTimestamp");o(VOe,"representYamlTimestamp");qOe=new Ja("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:zOe,construct:GOe,instanceOf:Date,represent:VOe});o(UOe,"resolveYamlMerge");WOe=new Ja("tag:yaml.org,2002:merge",{kind:"scalar",resolve:UOe}),NN=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;o(HOe,"resolveYamlBinary");o(YOe,"constructYamlBinary");o(jOe,"representYamlBinary");o(XOe,"isBinary");KOe=new Ja("tag:yaml.org,2002:binary",{kind:"scalar",resolve:HOe,construct:YOe,predicate:XOe,represent:jOe}),QOe=Object.prototype.hasOwnProperty,ZOe=Object.prototype.toString;o(JOe,"resolveYamlOmap");o(ePe,"constructYamlOmap");tPe=new Ja("tag:yaml.org,2002:omap",{kind:"sequence",resolve:JOe,construct:ePe}),rPe=Object.prototype.toString;o(nPe,"resolveYamlPairs");o(iPe,"constructYamlPairs");aPe=new Ja("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:nPe,construct:iPe}),sPe=Object.prototype.hasOwnProperty;o(oPe,"resolveYamlSet");o(lPe,"constructYamlSet");cPe=new Ja("tag:yaml.org,2002:set",{kind:"mapping",resolve:oPe,construct:lPe}),Gre=$Oe.extend({implicit:[qOe,WOe],explicit:[KOe,tPe,aPe,cPe]}),qf=Object.prototype.hasOwnProperty,vk=1,Vre=2,qre=3,xk=4,CN=1,uPe=2,wre=3,hPe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,fPe=/[\x85\u2028\u2029]/,dPe=/[,\[\]\{\}]/,Ure=/^(?:!|!!|![a-z\-]+!)$/i,Wre=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o(kre,"_class");o(iu,"is_EOL");o(u0,"is_WHITE_SPACE");o(no,"is_WS_OR_EOL");o(n1,"is_FLOW_INDICATOR");o(pPe,"fromHexCode");o(mPe,"escapedHexLen");o(gPe,"fromDecimalCode");o(Sre,"simpleEscapeSequence");o(yPe,"charFromCodepoint");Hre=new Array(256),Yre=new Array(256);for(c0=0;c0<256;c0++)Hre[c0]=Sre(c0)?1:0,Yre[c0]=Sre(c0);o(vPe,"State$1");o(jre,"generateError");o(rr,"throwError");o(bk,"throwWarning");Ere={YAML:o(function(e,r,n){var i,a,s;e.version!==null&&rr(e,"duplication of %YAML directive"),n.length!==1&&rr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&rr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&rr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&bk(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,n){var i,a;n.length!==2&&rr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],Ure.test(i)||rr(e,"ill-formed tag handle (first argument) of the TAG directive"),qf.call(e.tagMap,i)&&rr(e,'there is a previously declared suffix for "'+i+'" tag handle'),Wre.test(a)||rr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{rr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};o(Vf,"captureSegment");o(Cre,"mergeMappings");o(i1,"storeMappingPair");o(MN,"readLineBreak");o(zi,"skipSeparationSpace");o(kk,"testDocumentSeparator");o(IN,"writeFoldedLines");o(xPe,"readPlainScalar");o(bPe,"readSingleQuotedScalar");o(TPe,"readDoubleQuotedScalar");o(wPe,"readFlowCollection");o(kPe,"readBlockScalar");o(Are,"readBlockSequence");o(SPe,"readBlockMapping");o(EPe,"readTagProperty");o(CPe,"readAnchorProperty");o(APe,"readAlias");o(a1,"composeNode");o(_Pe,"readDocument");o(Xre,"loadDocuments");o(DPe,"loadAll$1");o(RPe,"load$1");LPe=DPe,NPe=RPe,Kre={loadAll:LPe,load:NPe},Qre=Object.prototype.toString,Zre=Object.prototype.hasOwnProperty,ON=65279,MPe=9,qx=10,IPe=13,OPe=32,PPe=33,BPe=34,_N=35,FPe=37,$Pe=38,zPe=39,GPe=42,Jre=44,VPe=45,Tk=58,qPe=61,UPe=62,WPe=63,HPe=64,ene=91,tne=93,YPe=96,rne=123,jPe=124,nne=125,es={};es[0]="\\0";es[7]="\\a";es[8]="\\b";es[9]="\\t";es[10]="\\n";es[11]="\\v";es[12]="\\f";es[13]="\\r";es[27]="\\e";es[34]='\\"';es[92]="\\\\";es[133]="\\N";es[160]="\\_";es[8232]="\\L";es[8233]="\\P";XPe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],KPe=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;o(QPe,"compileStyleMap");o(ZPe,"encodeHex");JPe=1,Ux=2;o(eBe,"State");o(_re,"indentString");o(DN,"generateNextLine");o(tBe,"testImplicitResolving");o(wk,"isWhitespace");o(Wx,"isPrintable");o(Dre,"isNsCharOrWhitespace");o(Rre,"isPlainSafe");o(rBe,"isPlainSafeFirst");o(nBe,"isPlainSafeLast");o(Gx,"codePointAt");o(ine,"needIndentIndicator");ane=1,RN=2,sne=3,one=4,r1=5;o(iBe,"chooseScalarStyle");o(aBe,"writeScalar");o(Lre,"blockHeader");o(Nre,"dropEndingNewline");o(sBe,"foldString");o(Mre,"foldLine");o(oBe,"escapeString");o(lBe,"writeFlowSequence");o(Ire,"writeBlockSequence");o(cBe,"writeFlowMapping");o(uBe,"writeBlockMapping");o(Ore,"detectType");o(Th,"writeNode");o(hBe,"getDuplicateReferences");o(LN,"inspectNode");o(fBe,"dump$1");dBe=fBe,pBe={dump:dBe};o(PN,"renamed");Uf=Fre,Wf=Kre.load,RLt=Kre.loadAll,LLt=pBe.dump,NLt=PN("safeLoad","load"),MLt=PN("safeLoadAll","loadAll"),ILt=PN("safeDump","dump")});function zN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function dne(t){f0=t}function gn(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:o((i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(As.caret,"$1"),r=r.replace(i,s),n},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return n}function au(t,e){if(e){if(As.escapeTest.test(t))return t.replace(As.escapeReplace,cne)}else if(As.escapeTestNoEncode.test(t))return t.replace(As.escapeReplaceNoEncode,cne);return t}function une(t){try{t=encodeURI(t).replace(As.percentDecode,"%")}catch{return null}return t}function hne(t,e){let r=t.replace(As.findPipe,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(As.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fne(t,e,r,n,i){let a=e.href,s=e.title||null,l=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let u={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:l,tokens:n.inlineTokens(l)};return n.state.inLink=!1,u}function XBe(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` +`+t.slice(s+1):u+=t.slice(i),u.slice(1)}function UFe(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=Jx(t,i),n=ts[r],!n&&nb(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||OFe(r);return e}function WFe(t,e,r){var n="",i=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&Sh(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}function pne(t,e,r,n){var i="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&Sh(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=UN(t,e)),t.dump&&tb===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}function HFe(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Sh(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}function YFe(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new oo("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&tb===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=UN(t,e)),Sh(t,e+1,f,!0,d)&&(t.dump&&tb===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}function mne(t,e,r){var n,i,a,s,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}function Sh(t,e,r,n,i,a,s){t.tag=null,t.dump=r,mne(t,r,!1)||mne(t,r,!0);var l=Nne.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(YFe(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(HFe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?pne(t,e-1,t.dump,i):pne(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(WFe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&VFe(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new oo("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}function jFe(t,e){var r=[],n=[],i,a;for(HN(t,r,n),i=0,a=n.length;i{"use strict";o(gne,"isNothing");o(LPe,"isObject");o(NPe,"toArray");o(MPe,"extend");o(IPe,"repeat");o(OPe,"isNegativeZero");PPe=gne,BPe=LPe,FPe=NPe,$Pe=IPe,zPe=OPe,GPe=MPe,ra={isNothing:PPe,isObject:BPe,toArray:FPe,repeat:$Pe,isNegativeZero:zPe,extend:GPe};o(yne,"formatError");o(eb,"YAMLException$1");eb.prototype=Object.create(Error.prototype);eb.prototype.constructor=eb;eb.prototype.toString=o(function(e){return this.name+": "+yne(this,e)},"toString");oo=eb;o($N,"getLine");o(zN,"padStart");o(VPe,"makeSnippet");qPe=VPe,UPe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],WPe=["scalar","sequence","mapping"];o(HPe,"compileStyleAliases");o(YPe,"Type$1");es=YPe;o(tne,"compileList");o(jPe,"compileMap");o(VN,"Schema$1");VN.prototype.extend=o(function(e){var r=[],n=[];if(e instanceof es)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 oo("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof es))throw new oo("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new oo("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new oo("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(a){if(!(a instanceof es))throw new oo("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(VN.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=tne(i,"implicit"),i.compiledExplicit=tne(i,"explicit"),i.compiledTypeMap=jPe(i.compiledImplicit,i.compiledExplicit),i},"extend");XPe=VN,KPe=new es("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(t){return t!==null?t:""},"construct")}),QPe=new es("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(t){return t!==null?t:[]},"construct")}),ZPe=new es("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(t){return t!==null?t:{}},"construct")}),JPe=new XPe({explicit:[KPe,QPe,ZPe]});o(eBe,"resolveYamlNull");o(tBe,"constructYamlNull");o(rBe,"isNull");nBe=new es("tag:yaml.org,2002:null",{kind:"scalar",resolve:eBe,construct:tBe,predicate:rBe,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});o(iBe,"resolveYamlBoolean");o(aBe,"constructYamlBoolean");o(sBe,"isBoolean");oBe=new es("tag:yaml.org,2002:bool",{kind:"scalar",resolve:iBe,construct:aBe,predicate:sBe,represent:{lowercase:o(function(t){return t?"true":"false"},"lowercase"),uppercase:o(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});o(lBe,"isHexCode");o(cBe,"isOctCode");o(uBe,"isDecCode");o(hBe,"resolveYamlInteger");o(fBe,"constructYamlInteger");o(dBe,"isInteger");pBe=new es("tag:yaml.org,2002:int",{kind:"scalar",resolve:hBe,construct:fBe,predicate:dBe,represent:{binary:o(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),mBe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");o(gBe,"resolveYamlFloat");o(yBe,"constructYamlFloat");vBe=/^[-+]?[0-9]+e/;o(xBe,"representYamlFloat");o(bBe,"isFloat");TBe=new es("tag:yaml.org,2002:float",{kind:"scalar",resolve:gBe,construct:yBe,predicate:bBe,represent:xBe,defaultStyle:"lowercase"}),vne=JPe.extend({implicit:[nBe,oBe,pBe,TBe]}),wBe=vne,xne=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),bne=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]))?))?$");o(kBe,"resolveYamlTimestamp");o(EBe,"constructYamlTimestamp");o(SBe,"representYamlTimestamp");CBe=new es("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:kBe,construct:EBe,instanceOf:Date,represent:SBe});o(ABe,"resolveYamlMerge");_Be=new es("tag:yaml.org,2002:merge",{kind:"scalar",resolve:ABe}),YN=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;o(DBe,"resolveYamlBinary");o(RBe,"constructYamlBinary");o(LBe,"representYamlBinary");o(NBe,"isBinary");MBe=new es("tag:yaml.org,2002:binary",{kind:"scalar",resolve:DBe,construct:RBe,predicate:NBe,represent:LBe}),IBe=Object.prototype.hasOwnProperty,OBe=Object.prototype.toString;o(PBe,"resolveYamlOmap");o(BBe,"constructYamlOmap");FBe=new es("tag:yaml.org,2002:omap",{kind:"sequence",resolve:PBe,construct:BBe}),$Be=Object.prototype.toString;o(zBe,"resolveYamlPairs");o(GBe,"constructYamlPairs");VBe=new es("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:zBe,construct:GBe}),qBe=Object.prototype.hasOwnProperty;o(UBe,"resolveYamlSet");o(WBe,"constructYamlSet");HBe=new es("tag:yaml.org,2002:set",{kind:"mapping",resolve:UBe,construct:WBe}),Tne=wBe.extend({implicit:[CBe,_Be],explicit:[MBe,FBe,VBe,HBe]}),jf=Object.prototype.hasOwnProperty,Nk=1,wne=2,kne=3,Mk=4,GN=1,YBe=2,rne=3,jBe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,XBe=/[\x85\u2028\u2029]/,KBe=/[,\[\]\{\}]/,Ene=/^(?:!|!!|![a-z\-]+!)$/i,Sne=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o(nne,"_class");o(fu,"is_EOL");o(p0,"is_WHITE_SPACE");o(lo,"is_WS_OR_EOL");o(u1,"is_FLOW_INDICATOR");o(QBe,"fromHexCode");o(ZBe,"escapedHexLen");o(JBe,"fromDecimalCode");o(ine,"simpleEscapeSequence");o(eFe,"charFromCodepoint");o(Cne,"setProperty");Ane=new Array(256),_ne=new Array(256);for(d0=0;d0<256;d0++)Ane[d0]=ine(d0)?1:0,_ne[d0]=ine(d0);o(tFe,"State$1");o(Dne,"generateError");o(sr,"throwError");o(Ik,"throwWarning");ane={YAML:o(function(e,r,n){var i,a,s;e.version!==null&&sr(e,"duplication of %YAML directive"),n.length!==1&&sr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&sr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&sr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&Ik(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,n){var i,a;n.length!==2&&sr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],Ene.test(i)||sr(e,"ill-formed tag handle (first argument) of the TAG directive"),jf.call(e.tagMap,i)&&sr(e,'there is a previously declared suffix for "'+i+'" tag handle'),Sne.test(a)||sr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{sr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};o(Yf,"captureSegment");o(sne,"mergeMappings");o(h1,"storeMappingPair");o(jN,"readLineBreak");o(qi,"skipSeparationSpace");o(Bk,"testDocumentSeparator");o(XN,"writeFoldedLines");o(rFe,"readPlainScalar");o(nFe,"readSingleQuotedScalar");o(iFe,"readDoubleQuotedScalar");o(aFe,"readFlowCollection");o(sFe,"readBlockScalar");o(one,"readBlockSequence");o(oFe,"readBlockMapping");o(lFe,"readTagProperty");o(cFe,"readAnchorProperty");o(uFe,"readAlias");o(f1,"composeNode");o(hFe,"readDocument");o(Rne,"loadDocuments");o(fFe,"loadAll$1");o(dFe,"load$1");pFe=fFe,mFe=dFe,Lne={loadAll:pFe,load:mFe},Nne=Object.prototype.toString,Mne=Object.prototype.hasOwnProperty,KN=65279,gFe=9,tb=10,yFe=13,vFe=32,xFe=33,bFe=34,qN=35,TFe=37,wFe=38,kFe=39,EFe=42,Ine=44,SFe=45,Ok=58,CFe=61,AFe=62,_Fe=63,DFe=64,One=91,Pne=93,RFe=96,Bne=123,LFe=124,Fne=125,ts={};ts[0]="\\0";ts[7]="\\a";ts[8]="\\b";ts[9]="\\t";ts[10]="\\n";ts[11]="\\v";ts[12]="\\f";ts[13]="\\r";ts[27]="\\e";ts[34]='\\"';ts[92]="\\\\";ts[133]="\\N";ts[160]="\\_";ts[8232]="\\L";ts[8233]="\\P";NFe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],MFe=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;o(IFe,"compileStyleMap");o(OFe,"encodeHex");PFe=1,rb=2;o(BFe,"State");o(lne,"indentString");o(UN,"generateNextLine");o(FFe,"testImplicitResolving");o(Pk,"isWhitespace");o(nb,"isPrintable");o(cne,"isNsCharOrWhitespace");o(une,"isPlainSafe");o($Fe,"isPlainSafeFirst");o(zFe,"isPlainSafeLast");o(Jx,"codePointAt");o($ne,"needIndentIndicator");zne=1,WN=2,Gne=3,Vne=4,c1=5;o(GFe,"chooseScalarStyle");o(VFe,"writeScalar");o(hne,"blockHeader");o(fne,"dropEndingNewline");o(qFe,"foldString");o(dne,"foldLine");o(UFe,"escapeString");o(WFe,"writeFlowSequence");o(pne,"writeBlockSequence");o(HFe,"writeFlowMapping");o(YFe,"writeBlockMapping");o(mne,"detectType");o(Sh,"writeNode");o(jFe,"getDuplicateReferences");o(HN,"inspectNode");o(XFe,"dump$1");KFe=XFe,QFe={dump:KFe};o(QN,"renamed");Xf=vne,Kf=Lne.load,EMt=Lne.loadAll,SMt=QFe.dump,CMt=QN("safeLoad","load"),AMt=QN("safeLoadAll","loadAll"),_Mt=QN("safeDump","dump")});function tM(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function jne(t){g0=t}function bn(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:o((i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(Ds.caret,"$1"),r=r.replace(i,s),n},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return n}function du(t,e){if(e){if(Ds.escapeTest.test(t))return t.replace(Ds.escapeReplace,Une)}else if(Ds.escapeTestNoEncode.test(t))return t.replace(Ds.escapeReplaceNoEncode,Une);return t}function Wne(t){try{t=encodeURI(t).replace(Ds.percentDecode,"%")}catch{return null}return t}function Hne(t,e){let r=t.replace(Ds.findPipe,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(Ds.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function Yne(t,e,r,n,i){let a=e.href,s=e.title||null,l=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let u={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:l,tokens:n.inlineTokens(l)};return n.state.inLink=!1,u}function N$e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` `).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[l]=s;return l.length>=i.length?a.slice(i.length):a}).join(` -`)}function dn(t,e){return h0.parse(t,e)}var f0,Kx,As,mBe,gBe,yBe,Qx,vBe,GN,pne,mne,xBe,VN,bBe,qN,TBe,wBe,Dk,UN,kBe,gne,SBe,WN,lne,EBe,CBe,ABe,_Be,yne,DBe,Rk,HN,vne,RBe,xne,LBe,NBe,MBe,bne,IBe,OBe,Tne,PBe,BBe,FBe,$Be,zBe,GBe,VBe,Ck,qBe,wne,kne,UBe,YN,WBe,BN,HBe,Ek,Yx,YBe,cne,Ak,wh,_k,jN,kh,Xx,KBe,h0,PLt,BLt,FLt,$Lt,zLt,GLt,VLt,Sne=I(()=>{"use strict";o(zN,"L");f0=zN();o(dne,"G");Kx={exec:o(()=>null,"exec")};o(gn,"h");As={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o(t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),"headingBeginRegex"),htmlBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},mBe=/^(?:[ \t]*(?:\n|$))+/,gBe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,yBe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Qx=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,vBe=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,GN=/(?:[*+-]|\d{1,9}[.)])/,pne=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,mne=gn(pne).replace(/bull/g,GN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),xBe=gn(pne).replace(/bull/g,GN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),VN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,bBe=/^[^\n]+/,qN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,TBe=gn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",qN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),wBe=gn(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,GN).getRegex(),Dk="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",UN=/|$))/,kBe=gn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",UN).replace("tag",Dk).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),gne=gn(VN).replace("hr",Qx).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Dk).getRegex(),SBe=gn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",gne).getRegex(),WN={blockquote:SBe,code:gBe,def:TBe,fences:yBe,heading:vBe,hr:Qx,html:kBe,lheading:mne,list:wBe,newline:mBe,paragraph:gne,table:Kx,text:bBe},lne=gn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Qx).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Dk).getRegex(),EBe={...WN,lheading:xBe,table:lne,paragraph:gn(VN).replace("hr",Qx).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lne).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Dk).getRegex()},CBe={...WN,html:gn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",UN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Kx,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:gn(VN).replace("hr",Qx).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",mne).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ABe=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_Be=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,yne=/^( {2,}|\\)\n(?!\s*$)/,DBe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,bne=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,IBe=gn(bne,"u").replace(/punct/g,Rk).getRegex(),OBe=gn(bne,"u").replace(/punct/g,xne).getRegex(),Tne="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",PBe=gn(Tne,"gu").replace(/notPunctSpace/g,vne).replace(/punctSpace/g,HN).replace(/punct/g,Rk).getRegex(),BBe=gn(Tne,"gu").replace(/notPunctSpace/g,NBe).replace(/punctSpace/g,LBe).replace(/punct/g,xne).getRegex(),FBe=gn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,vne).replace(/punctSpace/g,HN).replace(/punct/g,Rk).getRegex(),$Be=gn(/\\(punct)/,"gu").replace(/punct/g,Rk).getRegex(),zBe=gn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),GBe=gn(UN).replace("(?:-->|$)","-->").getRegex(),VBe=gn("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",GBe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ck=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,qBe=gn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Ck).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),wne=gn(/^!?\[(label)\]\[(ref)\]/).replace("label",Ck).replace("ref",qN).getRegex(),kne=gn(/^!?\[(ref)\](?:\[\])?/).replace("ref",qN).getRegex(),UBe=gn("reflink|nolink(?!\\()","g").replace("reflink",wne).replace("nolink",kne).getRegex(),YN={_backpedal:Kx,anyPunctuation:$Be,autolink:zBe,blockSkip:MBe,br:yne,code:_Be,del:Kx,emStrongLDelim:IBe,emStrongRDelimAst:PBe,emStrongRDelimUnd:FBe,escape:ABe,link:qBe,nolink:kne,punctuation:RBe,reflink:wne,reflinkSearch:UBe,tag:VBe,text:DBe,url:Kx},WBe={...YN,link:gn(/^!?\[(label)\]\((.*?)\)/).replace("label",Ck).getRegex(),reflink:gn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ck).getRegex()},BN={...YN,emStrongRDelimAst:BBe,emStrongLDelim:OBe,url:gn(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},cne=o(t=>YBe[t],"ke");o(au,"w");o(une,"J");o(hne,"V");o(jx,"z");o(jBe,"ge");o(fne,"fe");o(XBe,"Je");Ak=class{static{o(this,"y")}options;rules;lexer;constructor(t){this.options=t||f0}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:jx(r,` -`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let r=e[0],n=XBe(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let n=jx(r,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(r=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:jx(e[0],` -`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let r=jx(e[0],` +`)}function yn(t,e){return m0.parse(t,e)}var g0,lb,Ds,ZFe,JFe,e$e,cb,t$e,rM,Xne,Kne,r$e,nM,n$e,iM,i$e,a$e,qk,aM,s$e,Qne,o$e,sM,qne,l$e,c$e,u$e,h$e,Zne,f$e,Uk,oM,Jne,d$e,eie,p$e,m$e,g$e,tie,y$e,v$e,rie,x$e,b$e,T$e,w$e,k$e,E$e,S$e,zk,C$e,nie,iie,A$e,lM,_$e,ZN,D$e,$k,ab,R$e,Une,Gk,Ch,Vk,cM,Ah,ob,M$e,m0,RMt,LMt,NMt,MMt,IMt,OMt,PMt,aie=O(()=>{"use strict";o(tM,"L");g0=tM();o(jne,"G");lb={exec:o(()=>null,"exec")};o(bn,"h");Ds={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o(t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),"headingBeginRegex"),htmlBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},ZFe=/^(?:[ \t]*(?:\n|$))+/,JFe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,e$e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,cb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,t$e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,rM=/(?:[*+-]|\d{1,9}[.)])/,Xne=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Kne=bn(Xne).replace(/bull/g,rM).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),r$e=bn(Xne).replace(/bull/g,rM).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),nM=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,n$e=/^[^\n]+/,iM=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,i$e=bn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",iM).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),a$e=bn(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,rM).getRegex(),qk="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",aM=/|$))/,s$e=bn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",aM).replace("tag",qk).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Qne=bn(nM).replace("hr",cb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",qk).getRegex(),o$e=bn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qne).getRegex(),sM={blockquote:o$e,code:JFe,def:i$e,fences:e$e,heading:t$e,hr:cb,html:s$e,lheading:Kne,list:a$e,newline:ZFe,paragraph:Qne,table:lb,text:n$e},qne=bn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",cb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",qk).getRegex(),l$e={...sM,lheading:r$e,table:qne,paragraph:bn(nM).replace("hr",cb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",qne).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",qk).getRegex()},c$e={...sM,html:bn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",aM).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:lb,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:bn(nM).replace("hr",cb).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Kne).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},u$e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,h$e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Zne=/^( {2,}|\\)\n(?!\s*$)/,f$e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,tie=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,y$e=bn(tie,"u").replace(/punct/g,Uk).getRegex(),v$e=bn(tie,"u").replace(/punct/g,eie).getRegex(),rie="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",x$e=bn(rie,"gu").replace(/notPunctSpace/g,Jne).replace(/punctSpace/g,oM).replace(/punct/g,Uk).getRegex(),b$e=bn(rie,"gu").replace(/notPunctSpace/g,m$e).replace(/punctSpace/g,p$e).replace(/punct/g,eie).getRegex(),T$e=bn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Jne).replace(/punctSpace/g,oM).replace(/punct/g,Uk).getRegex(),w$e=bn(/\\(punct)/,"gu").replace(/punct/g,Uk).getRegex(),k$e=bn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),E$e=bn(aM).replace("(?:-->|$)","-->").getRegex(),S$e=bn("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",E$e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),zk=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,C$e=bn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",zk).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),nie=bn(/^!?\[(label)\]\[(ref)\]/).replace("label",zk).replace("ref",iM).getRegex(),iie=bn(/^!?\[(ref)\](?:\[\])?/).replace("ref",iM).getRegex(),A$e=bn("reflink|nolink(?!\\()","g").replace("reflink",nie).replace("nolink",iie).getRegex(),lM={_backpedal:lb,anyPunctuation:w$e,autolink:k$e,blockSkip:g$e,br:Zne,code:h$e,del:lb,emStrongLDelim:y$e,emStrongRDelimAst:x$e,emStrongRDelimUnd:T$e,escape:u$e,link:C$e,nolink:iie,punctuation:d$e,reflink:nie,reflinkSearch:A$e,tag:S$e,text:f$e,url:lb},_$e={...lM,link:bn(/^!?\[(label)\]\((.*?)\)/).replace("label",zk).getRegex(),reflink:bn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",zk).getRegex()},ZN={...lM,emStrongRDelimAst:b$e,emStrongLDelim:v$e,url:bn(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},Une=o(t=>R$e[t],"ke");o(du,"w");o(Wne,"J");o(Hne,"V");o(sb,"z");o(L$e,"ge");o(Yne,"fe");o(N$e,"Je");Gk=class{static{o(this,"y")}options;rules;lexer;constructor(t){this.options=t||g0}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:sb(r,` +`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let r=e[0],n=N$e(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let n=sb(r,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(r=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:sb(e[0],` +`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let r=sb(e[0],` `).split(` `),n="",i="",a=[];for(;r.length>0;){let s=!1,l=[],u;for(u=0;u" ".repeat(3*x.length)),p=t.split(` `,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=e[1].length+1:(g=e[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,f=d.slice(g),g+=e[1].length),m&&this.rules.other.blankLine.test(p)&&(h+=p+` `,t=t.substring(p.length+1),u=!0),!u){let x=this.rules.other.nextBulletRegex(g),b=this.rules.other.hrRegex(g),T=this.rules.other.fencesBeginRegex(g),E=this.rules.other.headingBeginRegex(g),w=this.rules.other.htmlBeginRegex(g);for(;t;){let k=t.split(` -`,1)[0],C;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),C=p):C=p.replace(this.rules.other.tabCharGlobal," "),T.test(p)||E.test(p)||w.test(p)||x.test(p)||b.test(p))break;if(C.search(this.rules.other.nonSpaceChar)>=g||!p.trim())f+=` -`+C.slice(g);else{if(m||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||T.test(d)||E.test(d)||b.test(d))break;f+=` +`,1)[0],S;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),S=p):S=p.replace(this.rules.other.tabCharGlobal," "),T.test(p)||E.test(p)||w.test(p)||x.test(p)||b.test(p))break;if(S.search(this.rules.other.nonSpaceChar)>=g||!p.trim())f+=` +`+S.slice(g);else{if(m||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||T.test(d)||E.test(d)||b.test(d))break;f+=` `+p}!m&&!p.trim()&&(m=!0),h+=k+` -`,t=t.substring(k.length+1),d=C.slice(g)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(s=!0));let y=null,v;this.options.gfm&&(y=this.rules.other.listIsTask.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),i.raw+=h}let l=i.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=f}if(i.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[u]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let r=e[1].charAt(e[1].length-1)===` -`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let a=jx(r.slice(0,-1),"\\");if((r.length-a.length)%2===0)return}else{let a=jBe(e[2],"()");if(a===-2)return;if(a>-1){let s=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,s).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(n);a&&(n=a[1],i=a[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?n=n.slice(1):n=n.slice(1,-1)),fne(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let n=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[n.toLowerCase()];if(!i){let a=r[0].charAt(0);return{type:"text",raw:a,text:a}}return fne(r,i,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!(!n||n[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[2])||!r||this.rules.inline.punctuation.exec(r))){let i=[...n[0]].length-1,a,s,l=i,u=0,h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*t.length+i);(n=h.exec(e))!=null;){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(s=[...a].length,n[3]||n[4]){l+=s;continue}else if((n[5]||n[6])&&i%3&&!((i+s)%3)){u+=s;continue}if(l-=s,l>0)continue;s=Math.min(s,s+l+u);let f=[...n[0]][0].length,d=t.slice(0,i+n.index+f+s);if(Math.min(i,s)%2){let m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(r),i=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return n&&i&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let r,n;return e[2]==="@"?(r=e[1],n="mailto:"+r):(r=e[1],n=r),{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let r,n;if(e[2]==="@")r=e[0],n="mailto:"+r;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);r=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},wh=class FN{static{o(this,"l")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||f0,this.options.tokenizer=this.options.tokenizer||new Ak,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:As,block:Ek.normal,inline:Yx.normal};this.options.pedantic?(r.block=Ek.pedantic,r.inline=Yx.pedantic):this.options.gfm&&(r.block=Ek.gfm,this.options.breaks?r.inline=Yx.breaks:r.inline=Yx.gfm),this.tokenizer.rules=r}static get rules(){return{block:Ek,inline:Yx}}static lex(e,r){return new FN(r).lex(e)}static lexInline(e,r){return new FN(r).inlineTokens(e)}lex(e){e=e.replace(As.carriageReturn,` -`),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` +`,t=t.substring(k.length+1),d=S.slice(g)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(s=!0));let y=null,v;this.options.gfm&&(y=this.rules.other.listIsTask.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),i.raw+=h}let l=i.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=f}if(i.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[u]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let r=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let a=sb(r.slice(0,-1),"\\");if((r.length-a.length)%2===0)return}else{let a=L$e(e[2],"()");if(a===-2)return;if(a>-1){let s=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,s).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(n);a&&(n=a[1],i=a[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?n=n.slice(1):n=n.slice(1,-1)),Yne(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let n=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[n.toLowerCase()];if(!i){let a=r[0].charAt(0);return{type:"text",raw:a,text:a}}return Yne(r,i,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!(!n||n[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[2])||!r||this.rules.inline.punctuation.exec(r))){let i=[...n[0]].length-1,a,s,l=i,u=0,h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*t.length+i);(n=h.exec(e))!=null;){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(s=[...a].length,n[3]||n[4]){l+=s;continue}else if((n[5]||n[6])&&i%3&&!((i+s)%3)){u+=s;continue}if(l-=s,l>0)continue;s=Math.min(s,s+l+u);let f=[...n[0]][0].length,d=t.slice(0,i+n.index+f+s);if(Math.min(i,s)%2){let m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(r),i=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return n&&i&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let r,n;return e[2]==="@"?(r=e[1],n="mailto:"+r):(r=e[1],n=r),{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let r,n;if(e[2]==="@")r=e[0],n="mailto:"+r;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);r=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},Ch=class JN{static{o(this,"l")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||g0,this.options.tokenizer=this.options.tokenizer||new Gk,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:Ds,block:$k.normal,inline:ab.normal};this.options.pedantic?(r.block=$k.pedantic,r.inline=ab.pedantic):this.options.gfm&&(r.block=$k.gfm,this.options.breaks?r.inline=ab.breaks:r.inline=ab.gfm),this.tokenizer.rules=r}static get rules(){return{block:$k,inline:ab}}static lex(e,r){return new JN(r).lex(e)}static lexInline(e,r){return new JN(r).inlineTokens(e)}lex(e){e=e.replace(Ds.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` `:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` `)+i.raw,s.text+=` @@ -422,16 +422,16 @@ ${f}`:f;let d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` `)+i.raw,s.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,s="";for(;e;){a||(s=""),a=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,s)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,f=e.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},f),typeof d=="number"&&d>=0&&(h=Math.min(h,d))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(s=l.raw.slice(-1)),a=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},_k=class{static{o(this,"P")}options;parser;constructor(t){this.options=t||f0}space(t){return""}code({text:t,lang:e,escaped:r}){let n=(e||"").match(As.notSpaceStart)?.[0],i=t.replace(As.endingNewline,"")+` -`;return n?'
'+(r?i:au(i,!0))+`
-`:"
"+(r?i:au(i,!0))+`
+`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,s="";for(;e;){a||(s=""),a=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,s)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,f=e.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},f),typeof d=="number"&&d>=0&&(h=Math.min(h,d))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(s=l.raw.slice(-1)),a=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},Vk=class{static{o(this,"P")}options;parser;constructor(t){this.options=t||g0}space(t){return""}code({text:t,lang:e,escaped:r}){let n=(e||"").match(Ds.notSpaceStart)?.[0],i=t.replace(Ds.endingNewline,"")+` +`;return n?'
'+(r?i:du(i,!0))+`
+`:"
"+(r?i:du(i,!0))+`
`}blockquote({tokens:t}){return`
${this.parser.parse(t)}
`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)} `}hr(t){return`
`}list(t){let e=t.ordered,r=t.start,n="";for(let s=0;s `+n+" -`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=r+" "+au(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
  • ${e}
  • +`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=r+" "+du(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
  • ${e}
  • `}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    `}table(t){let e="",r="";for(let i=0;i${n}`),` @@ -440,24 +440,23 @@ ${this.parser.parse(t)} `}tablerow({text:t}){return` ${t} `}tablecell(t){let e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+` -`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${au(t,!0)}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:r}){let n=this.parser.parseInline(r),i=une(t);if(i===null)return n;t=i;let a='",a}image({href:t,title:e,text:r,tokens:n}){n&&(r=this.parser.parseInline(n,this.parser.textRenderer));let i=une(t);if(i===null)return au(r);t=i;let a=`${r}{let s=i[a].flat(1/0);r=r.concat(this.walkTokens(s,e))}):i.tokens&&(r=r.concat(this.walkTokens(i.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(r=>{let n={...r};if(n.async=this.defaults.async||n.async||!1,r.extensions&&(r.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let a=e.renderers[i.name];a?e.renderers[i.name]=function(...s){let l=i.renderer.apply(this,s);return l===!1&&(l=a.apply(this,s)),l}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[i.level];a?a.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),n.extensions=e),r.renderer){let i=this.defaults.renderer||new _k(this.defaults);for(let a in r.renderer){if(!(a in i))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let s=a,l=r.renderer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f||""}}n.renderer=i}if(r.tokenizer){let i=this.defaults.tokenizer||new Ak(this.defaults);for(let a in r.tokenizer){if(!(a in i))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let s=a,l=r.tokenizer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.tokenizer=i}if(r.hooks){let i=this.defaults.hooks||new Xx;for(let a in r.hooks){if(!(a in i))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let s=a,l=r.hooks[s],u=i[s];Xx.passThroughHooks.has(a)?i[s]=h=>{if(this.defaults.async&&Xx.passThroughHooksRespectAsync.has(a))return Promise.resolve(l.call(i,h)).then(d=>u.call(i,d));let f=l.call(i,h);return u.call(i,f)}:i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.hooks=i}if(r.walkTokens){let i=this.defaults.walkTokens,a=r.walkTokens;n.walkTokens=function(s){let l=[];return l.push(a.call(this,s)),i&&(l=l.concat(i.call(this,s))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return wh.lex(t,e??this.defaults)}parser(t,e){return kh.parse(t,e??this.defaults)}parseMarkdown(t){return(e,r)=>{let n={...r},i={...this.defaults,...n},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=t);let s=i.hooks?i.hooks.provideLexer():t?wh.lex:wh.lexInline,l=i.hooks?i.hooks.provideParser():t?kh.parse:kh.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(e):e).then(u=>s(u,i)).then(u=>i.hooks?i.hooks.processAllTokens(u):u).then(u=>i.walkTokens?Promise.all(this.walkTokens(u,i.walkTokens)).then(()=>u):u).then(u=>l(u,i)).then(u=>i.hooks?i.hooks.postprocess(u):u).catch(a);try{i.hooks&&(e=i.hooks.preprocess(e));let u=s(e,i);i.hooks&&(u=i.hooks.processAllTokens(u)),i.walkTokens&&this.walkTokens(u,i.walkTokens);let h=l(u,i);return i.hooks&&(h=i.hooks.postprocess(h)),h}catch(u){return a(u)}}}onError(t,e){return r=>{if(r.message+=` -Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error occurred:

    "+au(r.message+"",!0)+"
    ";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},h0=new KBe;o(dn,"d");dn.options=dn.setOptions=function(t){return h0.setOptions(t),dn.defaults=h0.defaults,dne(dn.defaults),dn};dn.getDefaults=zN;dn.defaults=f0;dn.use=function(...t){return h0.use(...t),dn.defaults=h0.defaults,dne(dn.defaults),dn};dn.walkTokens=function(t,e){return h0.walkTokens(t,e)};dn.parseInline=h0.parseInline;dn.Parser=kh;dn.parser=kh.parse;dn.Renderer=_k;dn.TextRenderer=jN;dn.Lexer=wh;dn.lexer=wh.lex;dn.Tokenizer=Ak;dn.Hooks=Xx;dn.parse=dn;PLt=dn.options,BLt=dn.setOptions,FLt=dn.use,$Lt=dn.walkTokens,zLt=dn.parseInline,GLt=kh.parse,VLt=wh.lex});function QBe(t,{markdownAutoWrap:e}){let n=t.replace(//g,` +`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${du(t,!0)}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:r}){let n=this.parser.parseInline(r),i=Wne(t);if(i===null)return n;t=i;let a='
    ",a}image({href:t,title:e,text:r,tokens:n}){n&&(r=this.parser.parseInline(n,this.parser.textRenderer));let i=Wne(t);if(i===null)return du(r);t=i;let a=`${r}{let s=i[a].flat(1/0);r=r.concat(this.walkTokens(s,e))}):i.tokens&&(r=r.concat(this.walkTokens(i.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(r=>{let n={...r};if(n.async=this.defaults.async||n.async||!1,r.extensions&&(r.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let a=e.renderers[i.name];a?e.renderers[i.name]=function(...s){let l=i.renderer.apply(this,s);return l===!1&&(l=a.apply(this,s)),l}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[i.level];a?a.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),n.extensions=e),r.renderer){let i=this.defaults.renderer||new Vk(this.defaults);for(let a in r.renderer){if(!(a in i))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let s=a,l=r.renderer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f||""}}n.renderer=i}if(r.tokenizer){let i=this.defaults.tokenizer||new Gk(this.defaults);for(let a in r.tokenizer){if(!(a in i))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let s=a,l=r.tokenizer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.tokenizer=i}if(r.hooks){let i=this.defaults.hooks||new ob;for(let a in r.hooks){if(!(a in i))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let s=a,l=r.hooks[s],u=i[s];ob.passThroughHooks.has(a)?i[s]=h=>{if(this.defaults.async&&ob.passThroughHooksRespectAsync.has(a))return Promise.resolve(l.call(i,h)).then(d=>u.call(i,d));let f=l.call(i,h);return u.call(i,f)}:i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.hooks=i}if(r.walkTokens){let i=this.defaults.walkTokens,a=r.walkTokens;n.walkTokens=function(s){let l=[];return l.push(a.call(this,s)),i&&(l=l.concat(i.call(this,s))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return Ch.lex(t,e??this.defaults)}parser(t,e){return Ah.parse(t,e??this.defaults)}parseMarkdown(t){return(e,r)=>{let n={...r},i={...this.defaults,...n},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=t);let s=i.hooks?i.hooks.provideLexer():t?Ch.lex:Ch.lexInline,l=i.hooks?i.hooks.provideParser():t?Ah.parse:Ah.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(e):e).then(u=>s(u,i)).then(u=>i.hooks?i.hooks.processAllTokens(u):u).then(u=>i.walkTokens?Promise.all(this.walkTokens(u,i.walkTokens)).then(()=>u):u).then(u=>l(u,i)).then(u=>i.hooks?i.hooks.postprocess(u):u).catch(a);try{i.hooks&&(e=i.hooks.preprocess(e));let u=s(e,i);i.hooks&&(u=i.hooks.processAllTokens(u)),i.walkTokens&&this.walkTokens(u,i.walkTokens);let h=l(u,i);return i.hooks&&(h=i.hooks.postprocess(h)),h}catch(u){return a(u)}}}onError(t,e){return r=>{if(r.message+=` +Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error occurred:

    "+du(r.message+"",!0)+"
    ";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},m0=new M$e;o(yn,"d");yn.options=yn.setOptions=function(t){return m0.setOptions(t),yn.defaults=m0.defaults,jne(yn.defaults),yn};yn.getDefaults=tM;yn.defaults=g0;yn.use=function(...t){return m0.use(...t),yn.defaults=m0.defaults,jne(yn.defaults),yn};yn.walkTokens=function(t,e){return m0.walkTokens(t,e)};yn.parseInline=m0.parseInline;yn.Parser=Ah;yn.parser=Ah.parse;yn.Renderer=Vk;yn.TextRenderer=cM;yn.Lexer=Ch;yn.lexer=Ch.lex;yn.Tokenizer=Gk;yn.Hooks=ob;yn.parse=yn;RMt=yn.options,LMt=yn.setOptions,NMt=yn.use,MMt=yn.walkTokens,IMt=yn.parseInline,OMt=Ah.parse,PMt=Ch.lex});function I$e(t,{markdownAutoWrap:e}){let n=t.replace(//g,` `).replace(/\n{2,}/g,` -`),i=bw(n);return e===!1?i.replace(/ /g," "):i}function Ene(t,e={}){let r=QBe(t,e),n=dn.lexer(r),i=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` -`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p=p.replace(/'/g,"'"),p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"?i[a].push({content:l.text,type:"normal"}):i[a].push({content:l.raw,type:"normal"})}),i}function Cne(t,{markdownAutoWrap:e}={}){let r=dn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(X.warn(`Unsupported markdown: ${i.type}`),i.raw)}return o(n,"output"),r.map(n).join("")}var Ane=I(()=>{"use strict";Sne();nD();gt();o(QBe,"preprocessMarkdown");o(Ene,"markdownToLines");o(Cne,"markdownToHTML")});function ZBe(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function JBe(t,e){let r=ZBe(e.content);return _ne(t,[],r,e.type)}function _ne(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?_ne(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function Dne(t,e){if(t.some(({content:r})=>r.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return XN(t,e)}function XN(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return XN(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=JBe(e,a);r.push([l]),u.content&&t.unshift(u)}return XN(t,e,r)}var Rne=I(()=>{"use strict";o(ZBe,"splitTextToChars");o(JBe,"splitWordToFitWidth");o(_ne,"splitWordToFitWidthRecursion");o(Dne,"splitLineToFitWidth");o(XN,"splitLineToFitWidthRecursion")});function Lne(t,e){e&&t.attr("style",e)}async function eFe(t,e,r,n,i=!1,a=tr()){let s=t.append("foreignObject");s.attr("width",`${10*r}px`),s.attr("height",`${10*r}px`);let l=s.append("xhtml:div"),u=Nn(e.label)?await vf(e.label.replace(nt.lineBreakRegex,` -`),a):fr(e.label,a),h=e.isNode?"nodeLabel":"edgeLabel",f=l.append("span");f.html(u),Lne(f,e.labelStyle),f.attr("class",`${h} ${n}`),Lne(l,e.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("line-height","1.5"),l.style("max-width",r+"px"),l.style("text-align","center"),l.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&l.attr("class","labelBkg");let d=l.node().getBoundingClientRect();return d.width===r&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",r+"px"),d=l.node().getBoundingClientRect()),s.node()}function KN(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function tFe(t,e,r){let n=t.append("text"),i=KN(n,1,e);QN(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function Nne(t,e,r){let n=t.append("text"),i=KN(n,1,e);QN(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function rFe(t,e,r,n=!1){let a=e.append("g"),s=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=o(p=>tFe(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:Dne(h,f);for(let p of d){let m=KN(l,u,1.1);QN(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return s.attr("x",h.x-f).attr("y",h.y-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function QN(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}async function ZN(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{let l=`${a}:${s}`;return await Gj(l)?await Ks(l,void 0,{class:"label-icon"}):``})()),i));let n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}var Ai,yl=I(()=>{"use strict";kr();wr();gt();Ane();sr();Gc();Rne();ti();o(Lne,"applyStyle");o(eFe,"addHtmlSpan");o(KN,"createTspan");o(tFe,"computeWidthOfText");o(Nne,"computeDimensionOfText");o(rFe,"createFormattedText");o(QN,"updateTextContentAndStyles");o(ZN,"replaceIconSubstring");Ai=o(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:s=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(X.debug("XYZ createText",e,r,n,i,a,s,"addSvgBackground: ",u),a){let f=Cne(e,h),d=await ZN(ga(f),h),p=e.replace(/\\\\/g,"\\"),m={isNode:s,label:Nn(e)?p:d,labelStyle:r.replace("fill:","color:")};return await eFe(t,m,l,i,u,h)}else{let f=e.replace(//g,"
    "),d=Ene(f.replace("
    ","
    "),h),p=rFe(l,t,d,e?u:!1);if(s){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");He(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");He(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");He(p).select("text").attr("style",g)}return p}},"createText")});function Wt(t){let e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}function vl(t,e,r,n,i,a){let s=[],u=r-t,h=n-e,f=u/a,d=2*Math.PI/f,p=e+h/2;for(let m=0;m<=50;m++){let g=m/50,y=t+g*u,v=p+i*Math.sin(d*(y-t));s.push({x:y,y:v})}return s}function d0(t,e,r,n,i,a){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;d{"use strict";yl();Qt();kr();Ka();wr();sr();ft=o(async(t,e,r)=>{let n,i=e.useHtmlLabels||Sr(xe()?.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",On(e.labelStyle)),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u=await Ai(s,fr(ga(l),xe()),{useHtmlLabels:i,width:e.width||xe().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle,addSvgBackground:!!e.icon||!!e.img}),h=u.getBBox(),f=(e?.padding??0)/2;if(i){let d=u.children[0],p=He(u),m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=xe().fontSize?xe().fontSize:window.getComputedStyle(document.body).fontSize,T=5,[E=gr.fontSize]=ru(b),w=E*T+"px";y.style.minWidth=w,y.style.maxWidth=w}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}return i?s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):s.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:h,halfPadding:f,label:s}},"labelHelper"),Lk=o(async(t,e,r)=>{let n=r.useHtmlLabels||Sr(xe()?.flowchart?.htmlLabels),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await Ai(i,fr(ga(e),xe()),{useHtmlLabels:n,width:r.width||xe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),s=a.getBBox(),l=r.padding/2;if(Sr(xe()?.flowchart?.htmlLabels)){let u=a.children[0],h=He(a);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:l,label:i}},"insertLabel"),Ze=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),lt=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");o(Wt,"createPathFromPoints");o(vl,"generateFullSineWavePoints");o(d0,"generateCirclePoints")});function nFe(t,e){return t.intersect(e)}var Mne,Ine=I(()=>{"use strict";o(nFe,"intersectNode");Mne=nFe});function iFe(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(iFe,"intersectEllipse");Nk=iFe});function aFe(t,e,r){return Nk(t,e,e,r)}var One,Pne=I(()=>{"use strict";JN();o(aFe,"intersectCircle");One=aFe});function sFe(t,e,r,n){{let i=e.y-t.y,a=t.x-e.x,s=e.x*t.y-t.x*e.y,l=i*r.x+a*r.y+s,u=i*n.x+a*n.y+s,h=1e-6;if(l!==0&&u!==0&&Bne(l,u))return;let f=n.y-r.y,d=r.x-n.x,p=n.x*r.y-r.x*n.y,m=f*t.x+d*t.y+p,g=f*e.x+d*e.y+p;if(Math.abs(m)0}var Fne,$ne=I(()=>{"use strict";o(sFe,"intersectLine");o(Bne,"sameSign");Fne=sFe});function oFe(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=n-t.width/2-s,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";$ne();o(oFe,"intersectPolygon");zne=oFe});var lFe,Hf,eM=I(()=>{"use strict";lFe=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Hf=lFe});var Ke,Ht=I(()=>{"use strict";Ine();Pne();JN();Gne();eM();Ke={node:Mne,circle:One,ellipse:Nk,polygon:zne,rect:Hf}});var Vne,su,cFe,Zx,Qe,tt,uFe,Vt=I(()=>{"use strict";Qt();Vne=o(t=>{let{handDrawnSeed:e}=xe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),su=o(t=>{let e=cFe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),cFe=o(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),Zx=o(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),Qe=o(t=>{let{stylesArray:e}=su(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{let l=s[0];Zx(l)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),l.includes("stroke")&&i.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),tt=o((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=xe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=su(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:uFe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),uFe=o(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(e.length===1){let i=isNaN(e[0])?0:e[0];return[i,i]}let r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray")});function tM(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*s-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*s+i}}}function hFe(t,e){return t[0]===e[0]&&t[1]===e[1]}function fFe(t,e,r,n=1){let i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of s)tM(h,l,i);let u=(function(h,f,d){let p=[];for(let b of h){let T=[...b];hFe(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&p.push(T)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let T=0;Tb.yminT.ymin?1:b.xT.x?1:b.ymax===T.ymax?0:(b.ymax-T.ymax)/Math.abs(b.ymax-T.ymax))),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let T=0;Tv);T++)b=T;g.splice(0,b+1).forEach((T=>{y.push({s:v,edge:T})}))}if(y=y.filter((b=>!(b.edge.ymax<=v))),y.sort(((b,T)=>b.edge.x===T.edge.x?0:(b.edge.x-T.edge.x)/Math.abs(b.edge.x-T.edge.x))),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let E=y[b].edge,w=y[T].edge;m.push([[Math.round(E.x),v],[Math.round(w.x),v]])}v+=d,y.forEach((b=>{b.edge.x=b.edge.x+d*b.edge.islope})),x++}return m})(s,a,n);if(i){for(let h of s)tM(h,l,-i);(function(h,f,d){let p=[];h.forEach((m=>p.push(...m))),tM(p,f,d)})(u,l,-i)}return u}function rb(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),fFe(t,i,n,a||1)}function Gk(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function nM(t,e){return t.type===e}function yM(t){let e=[],r=(function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:dFe,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:rM,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:qne,text:""},l})(t),n="BOD",i=0,a=r[i];for(;!nM(a,qne);){let s=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return yM("M0,0"+t);i++,s=Mk[a.text],n=a.text}else nM(a,rM)?s=Mk[n]:(i++,s=Mk[a.text],n=a.text);if(!(i+sf%2?h+r:h+e));a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function Zne(t){let e=[],r="",n=0,i=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(Jne(n,i,v,x,d,p,m,g,y).forEach((function(b){e.push({key:"C",data:b})})),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=h}return e}function Jx(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function Jne(t,e,r,n,i,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=Jx(t,e,-f),[r,n]=Jx(r,n,-f);let A=(t-r)/2,_=(e-n)/2,N=A*A/(i*i)+_*_/(a*a);N>1&&(N=Math.sqrt(N),i*=N,a*=N);let M=i*i,P=a*a,B=M*P-M*_*_-P*A*A,F=M*_*_+P*A*A,G=(l===u?-1:1)*Math.sqrt(Math.abs(B/F));y=G*i*_/a+(t+r)/2,v=G*-a*A/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let A=g,_=r,N=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=Jne(r=y+i*Math.cos(g),n=v+a*Math.sin(g),_,N,i,a,s,0,u,[g,A,y,v])}x=g-m;let b=Math.cos(m),T=Math.sin(m),E=Math.cos(g),w=Math.sin(g),k=Math.tan(x/4),C=4/3*i*k,D=4/3*a*k,R=[t,e],O=[t+C*T,e-D*b],L=[r+C*w,n-D*E],S=[r,n];if(O[0]=2*R[0]-O[0],O[1]=2*R[1]-O[1],h)return[O,L,S].concat(p);{p=[O,L,S].concat(p);let A=[];for(let _=0;_2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=Xne(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=Xne(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...Yf(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Yf(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function Hne(t,e){let r=Zne(Qne(yM(t))),n=[],i=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Yf(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...gFe(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Yf(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function iM(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+dr(i,e),n[0][1]+dr(i,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*rie(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=dr(m,i,h),g=dr(g,i,h);let y=[],v=o(()=>dr(d,i,h),"M"),x=o(()=>dr(f,i,h),"k"),b=i.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:dr(f,i,h)),e+(b?0:dr(f,i,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function Ik(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+dr(e,r),t[0][1]+dr(e,r)]),n.push([t[0][0]+dr(e,r),t[0][1]+dr(e,r)]);for(let i=1;i3){let a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=p0(u,h,.5),m=p0(h,f,.5),g=p0(f,d,.5),y=p0(p,m,.5),v=p0(m,g,.5),x=p0(y,v,.5);pM([u,p,y,x],0,r,i),pM([x,v,g,d],0,r,i)}var a,s;return i}function vFe(t,e){return zk(t,0,t.length,e)}function zk(t,e,r,n,i){let a=i||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(zk(t,e,h+1,n,a),zk(t,h,r,n,a)):(a.length||a.push(s),a.push(l)),a}function aM(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?zk(n,0,n.length,r):n}var tb,sM,oM,lM,cM,uM,io,hM,dFe,rM,qne,Mk,pFe,Bo,o1,mM,Ok,gM,Je,Yt=I(()=>{"use strict";o(tM,"t");o(hFe,"e");o(fFe,"s");o(rb,"n");tb=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=rb(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};o(Gk,"a");sM=class extends tb{static{o(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=rb(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)Gk([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},oM=class extends tb{static{o(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},lM=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=rb(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=i/4;for(let l of e){let u=Gk(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=Gk(s),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=Gk(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(C=0,D=2*Math.PI);let R=(D-C)/b.curveStepCount,O=[];for(let L=C;L<=D;L+=R)O.push([T+w*Math.cos(L),E+k*Math.sin(L)]);return O.push([T+w*Math.cos(D),E+k*Math.sin(D)]),O.push([T,E]),s1([O],b)})(e,r,n,i,a,s,h));return h.stroke!==Bo&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=Une(e,n);if(n.fill&&n.fill!==Bo)if(n.fillStyle==="solid"){let s=Une(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...aM(Kne([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):s.push(...aM(Kne(h),10,(1+n.roughness)/2))}s.length&&i.push(s1([s],n))}return n.stroke!==Bo&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=Pk(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(iM([e],n)):i.push(s1([e],n))),n.stroke!==Bo&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==Bo,s=n.stroke!==Bo,l=!!(n.simplification&&n.simplification<1),u=(function(f,d,p){let m=Zne(Qne(yM(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...aM(x,d)),x=[]},"i"),T=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:w,data:k}of m)switch(w){case"M":T(),v=[k[0],k[1]],y.push(v);break;case"L":b(),y.push([k[0],k[1]]);break;case"C":if(!x.length){let C=y.length?y[y.length-1]:v;x.push([C[0],C[1]])}x.push([k[0],k[1]]),x.push([k[2],k[3]]),x.push([k[4],k[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(T(),!p)return g;let E=[];for(let w of g){let k=vFe(w,p);k.length&&E.push(k)}return E})(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=Hne(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=Hne(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(iM(u,n));else i.push(s1(u,n));return s&&(l?u.forEach((f=>{i.push(Pk(f,!1,n))})):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Bo};break;case"fillPath":s={d:this.opsToPath(a),stroke:Bo,strokeWidth:0,fill:n.fill||Bo};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||Bo,strokeWidth:n,fill:Bo}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}},mM=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new o1(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let s=typeof n=="number"&&n>=0?a.data.map((l=>+l.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},Ok="http://www.w3.org/2000/svg",gM=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new o1(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(Ok,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(Ok,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(Ok,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(Ok,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Je={canvas:o((t,e)=>new mM(t,e),"canvas"),svg:o((t,e)=>new gM(t,e),"svg"),generator:o(t=>new o1(t),"generator"),newSeed:o(()=>o1.newSeed(),"newSeed")}});function nie(t,e){let{labelStyles:r}=Qe(e);e.labelStyle=r;let n=lt(e),i=n;n||(i="anchor");let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=1,{cssStyles:l}=e,u=Je.svg(a),h=tt(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);let f=u.circle(0,0,s*2,h),d=a.insert(()=>f,":first-child");return d.attr("class","anchor").attr("style",On(l)),Ze(e,d),e.intersect=function(p){return X.info("Circle intersect",e,s,p),Ke.circle(e,s,p)},a}var iie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();sr();o(nie,"anchor")});function aie(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let k=[];for(let C=0;C<20;C++){let D=C/19,R=T+D*w,O=x+i*Math.cos(R),L=b+a*Math.sin(R);k.push({x:O,y:L})}return k}async function sie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.width+e.padding+20,l=a.height+e.padding,u=l/2,h=u/(2.5+l/50),{cssStyles:f}=e,d=[{x:s/2,y:-l/2},{x:-s/2,y:-l/2},...aie(-s/2,-l/2,-s/2,l/2,h,u,!1),{x:s/2,y:l/2},...aie(s/2,l/2,s/2,-l/2,h,u,!0)],p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=Wt(d),y=p.path(g,m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${h/2}, 0)`),Ze(e,v),e.intersect=function(x){return Ke.polygon(e,d,x)},i}var oie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(aie,"generateArcPoints");o(sie,"bowTieRect")});function ao(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+")")}var jf=I(()=>{"use strict";o(ao,"insertPolygonShape")});async function lie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.height+e.padding,l=12,u=a.width+e.padding+l,h=0,f=u,d=-s,p=0,m=[{x:h+l,y:d},{x:f,y:d},{x:f,y:p},{x:h,y:p},{x:h,y:d+l},{x:h+l,y:d}],g,{cssStyles:y}=e;if(e.look==="handDrawn"){let v=Je.svg(i),x=tt(e,{}),b=Wt(m),T=v.path(b,x);g=i.insert(()=>T,":first-child").attr("transform",`translate(${-u/2}, ${s/2})`),y&&g.attr("style",y)}else g=ao(i,u,s,m);return n&&g.attr("style",n),Ze(e,g),e.intersect=function(v){return Ke.polygon(e,m,v)},i}var cie=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();Bt();o(lie,"card")});function uie(t,e){let{nodeStyles:r}=Qe(e);e.label="";let n=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],l=Je.svg(n),u=tt(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=Wt(s),f=l.path(h,u),d=n.insert(()=>f,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(p){return Ke.polygon(e,s,p)},n}var hie=I(()=>{"use strict";Ht();Yt();Vt();Bt();o(uie,"choice")});async function Vk(t,e,r){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n;let{shapeSvg:a,bbox:s,halfPadding:l}=await ft(t,e,lt(e)),u=r?.padding??l,h=s.width/2+u,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Je.svg(a),m=tt(e,{}),g=p.circle(0,0,h*2,m);f=a.insert(()=>g,":first-child"),f.attr("class","basic label-container").attr("style",On(d))}else f=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return Ze(e,f),e.calcIntersect=function(p,m){let g=p.width/2;return Ke.circle(p,g,m)},e.intersect=function(p){return X.info("Circle intersect",e,h,p),Ke.circle(e,h,p)},a}var vM=I(()=>{"use strict";Yt();gt();sr();Ht();Vt();Bt();o(Vk,"circle")});function xFe(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},l={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${l.x},${l.y} - M ${i.x},${i.y} L ${s.x},${s.y}`}function fie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r,e.label="";let i=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=Je.svg(i),u=tt(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=l.circle(0,0,a*2,u),f=xFe(a),d=l.path(f,u),p=i.insert(()=>h,":first-child");return p.insert(()=>d),s&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",n),Ze(e,p),e.intersect=function(m){return X.info("crossedCircle intersect",e,{radius:a,point:m}),Ke.circle(e,a,m)},i}var die=I(()=>{"use strict";gt();Bt();Vt();Yt();Ht();o(xFe,"createLine");o(fie,"crossedCircle")});function Xf(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),E.insert(()=>x,":first-child"),E.attr("class","text"),f&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(${h}, 0)`),s.attr("transform",`translate(${-l/2+h-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ze(e,E),e.intersect=function(w){return Ke.polygon(e,p,w)},i}var mie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Xf,"generateCirclePoints");o(pie,"curlyBraceLeft")});function Kf(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),E.insert(()=>x,":first-child"),E.attr("class","text"),f&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(${-h}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ze(e,E),e.intersect=function(w){return Ke.polygon(e,p,w)},i}var yie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Kf,"generateCirclePoints");o(gie,"curlyBraceRight")});function ts(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dC,":first-child").attr("stroke-opacity",0),D.insert(()=>b,":first-child"),D.insert(()=>w,":first-child"),D.attr("class","text"),f&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",n),D.attr("transform",`translate(${h-h/4}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ze(e,D),e.intersect=function(R){return Ke.polygon(e,m,R)},i}var xie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(ts,"generateCirclePoints");o(vie,"curlyBraces")});async function bie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=80,l=20,u=Math.max(s,(a.width+(e.padding??0)*2)*1.25,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=u,y=h,v=g-f,x=y/4,b=[{x:v,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:v,y},...d0(-v,-y/2,f,50,270,90)],T=Wt(b),E=p.path(T,m),w=i.insert(()=>E,":first-child");return w.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",n),w.attr("transform",`translate(${-u/2}, ${-h/2})`),Ze(e,w),e.intersect=function(k){return Ke.polygon(e,b,k)},i}var Tie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(bie,"curvedTrapezoid")});async function wie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+e.padding,e.height??0),d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=TFe(0,0,l,f,u,h),y=wFe(0,h,l,f,u,h),v=m.path(g,tt(e,{})),x=m.path(y,tt(e,{fill:"none"}));d=i.insert(()=>x,":first-child"),d=i.insert(()=>v,":first-child"),d.attr("class","basic label-container"),p&&d.attr("style",p)}else{let m=bFe(0,0,l,f,u,h);d=i.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",On(p)).attr("style",n)}return d.attr("label-offset-y",h),d.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Ze(e,d),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(m){let g=Ke.rect(e,m),y=g.x-(e.x??0);if(u!=0&&(Math.abs(y)<(e.width??0)/2||Math.abs(y)==(e.width??0)/2&&Math.abs(g.y-(e.y??0))>(e.height??0)/2-h)){let v=h*h*(1-y*y/(u*u));v>0&&(v=Math.sqrt(v)),v=h-v,m.y-(e.y??0)>0&&(v=-v),g.y+=v}return g},i}var bFe,TFe,wFe,kie=I(()=>{"use strict";Bt();Ht();Vt();Yt();sr();bFe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),TFe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),wFe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(wie,"cylinder")});async function Sie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=a.width+e.padding,u=a.height+e.padding,h=u*.2,f=-l/2,d=-u/2-h/2,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d+h},{x:-f,y:d+h},{x:-f,y:-d},{x:f,y:-d},{x:f,y:d},{x:-f,y:d},{x:-f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${f+(e.padding??0)/2-(a.x-(a.left??0))}, ${d+h+(e.padding??0)/2-(a.y-(a.top??0))})`),Ze(e,x),e.intersect=function(b){return Ke.rect(e,b)},i}var Eie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Sie,"dividedRectangle")});async function Cie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await ft(t,e,lt(e)),u=a.width/2+s+5,h=a.width/2+s,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Je.svg(i),m=tt(e,{roughness:.2,strokeWidth:2.5}),g=tt(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",On(e.cssClasses)).attr("style",On(d)),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return Ze(e,f),e.intersect=function(p){return X.info("DoubleCircle intersect",e,u,p),Ke.circle(e,u,p)},i}var Aie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();sr();o(Cie,"doublecircle")});function _ie(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Qe(e);e.label="",e.labelStyle=n;let a=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),s=7,{cssStyles:l}=e,u=Je.svg(a),{nodeBorder:h}=r,f=tt(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(f.roughness=0);let d=u.circle(0,0,s*2,f),p=a.insert(()=>d,":first-child");return p.selectAll("path").attr("style",`fill: ${h} !important;`),l&&l.length>0&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",l),i&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",i),Ze(e,p),e.intersect=function(m){return X.info("filledCircle intersect",e,{radius:s,point:m}),Ke.circle(e,s,m)},a}var Die=I(()=>{"use strict";Yt();gt();Ht();Vt();Bt();o(_ie,"filledCircle")});async function Rie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=a.width+(e.padding??0),u=l+a.height,h=l+a.height,f=[{x:0,y:-u},{x:h,y:-u},{x:h/2,y:0}],{cssStyles:d}=e,p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=Wt(f),y=p.path(g,m),v=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return d&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),e.width=l,e.height=u,Ze(e,v),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(x){return X.info("Triangle intersect",e,f,x),Ke.polygon(e,f,x)},i}var Lie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();Bt();o(Rie,"flippedTriangle")});function Nie(t,e,{dir:r,config:{state:n,themeVariables:i}}){let{nodeStyles:a}=Qe(e);e.label="";let s=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,u=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);r==="LR"&&(u=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));let f=-1*u/2,d=-1*h/2,p=Je.svg(s),m=tt(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=p.rectangle(f,d,u,h,m),y=s.insert(()=>g,":first-child");l&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",l),a&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",a),Ze(e,y);let v=n?.padding??0;return e.width&&e.height&&(e.width+=v/2||0,e.height+=v/2||0),e.intersect=function(x){return Ke.rect(e,x)},s}var Mie=I(()=>{"use strict";Yt();Ht();Vt();Bt();o(Nie,"forkJoin")});async function Iie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let i=80,a=50,{shapeSvg:s,bbox:l}=await ft(t,e,lt(e)),u=Math.max(i,l.width+(e.padding??0)*2,e?.width??0),h=Math.max(a,l.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Je.svg(s),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-u/2,y:-h/2},{x:u/2-f,y:-h/2},...d0(-u/2+f,0,f,50,90,270),{x:u/2-f,y:h/2},{x:-u/2,y:h/2}],y=Wt(g),v=p.path(y,m),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),Ze(e,x),e.intersect=function(b){return X.info("Pill intersect",e,{radius:f,point:b}),Ke.polygon(e,g,b)},s}var Oie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();o(Iie,"halfRoundedRectangle")});async function Pie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.height+(e.padding??0),l=a.width+(e.padding??0)*2.5,{cssStyles:u}=e,h=Je.svg(i),f=tt(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");let d=l/2,p=d/6;d=d+p;let m=s/2,g=m/2,y=d-g,v=[{x:-y,y:-m},{x:0,y:-m},{x:y,y:-m},{x:d,y:0},{x:y,y:m},{x:0,y:m},{x:-y,y:m},{x:-d,y:0}],x=Wt(v),b=h.path(x,f),T=i.insert(()=>b,":first-child");return T.attr("class","basic label-container"),u&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",u),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=l,e.height=s,Ze(e,T),e.intersect=function(E){return Ke.polygon(e,v,E)},i}var Bie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Pie,"hexagon")});async function Fie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.label="",e.labelStyle=r;let{shapeSvg:i}=await ft(t,e,lt(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=Je.svg(i),h=tt(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let f=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Wt(f),p=u.path(d,h),m=i.insert(()=>p,":first-child");return m.attr("class","basic label-container"),l&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",l),n&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",n),m.attr("transform",`translate(${-a/2}, ${-s/2})`),Ze(e,m),e.intersect=function(g){return X.info("Pill intersect",e,{points:f}),Ke.polygon(e,f,g)},i}var $ie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();o(Fie,"hourglass")});async function zie(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await ft(t,e,"icon-shape default"),p=e.pos==="t",m=l,g=l,{nodeBorder:y}=r,{stylesMap:v}=su(e),x=-g/2,b=-m/2,T=e.label?8:0,E=Je.svg(h),w=tt(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let k=E.rectangle(x,b,g,m,w),C=Math.max(g,f.width),D=m+f.height+T,R=E.rectangle(-C/2,-D/2,C,D,{...w,fill:"transparent",stroke:"none"}),O=h.insert(()=>k,":first-child"),L=h.insert(()=>R);if(e.icon){let S=h.append("g");S.html(`${await Ks(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let A=S.node().getBBox(),_=A.width,N=A.height,M=A.x,P=A.y;S.attr("transform",`translate(${-_/2-M},${p?f.height/2+T/2-N/2-P:-f.height/2-T/2-N/2-P})`),S.attr("style",`color: ${v.get("stroke")??y};`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-D/2:D/2-f.height})`),O.attr("transform",`translate(0,${p?f.height/2+T/2:-f.height/2-T/2})`),Ze(e,L),e.intersect=function(S){if(X.info("iconSquare intersect",e,S),!e.label)return Ke.rect(e,S);let A=e.x??0,_=e.y??0,N=e.height??0,M=[];return p?M=[{x:A-f.width/2,y:_-N/2},{x:A+f.width/2,y:_-N/2},{x:A+f.width/2,y:_-N/2+f.height+T},{x:A+g/2,y:_-N/2+f.height+T},{x:A+g/2,y:_+N/2},{x:A-g/2,y:_+N/2},{x:A-g/2,y:_-N/2+f.height+T},{x:A-f.width/2,y:_-N/2+f.height+T}]:M=[{x:A-g/2,y:_-N/2},{x:A+g/2,y:_-N/2},{x:A+g/2,y:_-N/2+m},{x:A+f.width/2,y:_-N/2+m},{x:A+f.width/2/2,y:_+N/2},{x:A-f.width/2,y:_+N/2},{x:A-f.width/2,y:_-N/2+m},{x:A-g/2,y:_-N/2+m}],Ke.polygon(e,M,S)},h}var Gie=I(()=>{"use strict";Yt();gt();Gc();Ht();Vt();Bt();o(zie,"icon")});async function Vie(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await ft(t,e,"icon-shape default"),p=20,m=e.label?8:0,g=e.pos==="t",{nodeBorder:y,mainBkg:v}=r,{stylesMap:x}=su(e),b=Je.svg(h),T=tt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=x.get("fill");T.stroke=E??v;let w=h.append("g");e.icon&&w.html(`${await Ks(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let k=w.node().getBBox(),C=k.width,D=k.height,R=k.x,O=k.y,L=Math.max(C,D)*Math.SQRT2+p*2,S=b.circle(0,0,L,T),A=Math.max(L,f.width),_=L+f.height+m,N=b.rectangle(-A/2,-_/2,A,_,{...T,fill:"transparent",stroke:"none"}),M=h.insert(()=>S,":first-child"),P=h.insert(()=>N);return w.attr("transform",`translate(${-C/2-R},${g?f.height/2+m/2-D/2-O:-f.height/2-m/2-D/2-O})`),w.attr("style",`color: ${x.get("stroke")??y};`),d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-_/2:_/2-f.height})`),M.attr("transform",`translate(0,${g?f.height/2+m/2:-f.height/2-m/2})`),Ze(e,P),e.intersect=function(B){return X.info("iconSquare intersect",e,B),Ke.rect(e,B)},h}var qie=I(()=>{"use strict";Yt();gt();Gc();Ht();Vt();Bt();o(Vie,"iconCircle")});var so,m0=I(()=>{"use strict";so=o((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});async function Uie(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await ft(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=su(e),T=-y/2,E=-g/2,w=e.label?8:0,k=Je.svg(h),C=tt(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");let D=b.get("fill");C.stroke=D??x;let R=k.path(so(T,E,y,g,5),C),O=Math.max(y,f.width),L=g+f.height+w,S=k.rectangle(-O/2,-L/2,O,L,{...C,fill:"transparent",stroke:"none"}),A=h.insert(()=>R,":first-child").attr("class","icon-shape2"),_=h.insert(()=>S);if(e.icon){let N=h.append("g");N.html(`${await Ks(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let M=N.node().getBBox(),P=M.width,B=M.height,F=M.x,G=M.y;N.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-G:-f.height/2-w/2-B/2-G})`),N.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-L/2:L/2-f.height})`),A.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),Ze(e,_),e.intersect=function(N){if(X.info("iconSquare intersect",e,N),!e.label)return Ke.rect(e,N);let M=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:M-f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2+f.height+w},{x:M+y/2,y:P-B/2+f.height+w},{x:M+y/2,y:P+B/2},{x:M-y/2,y:P+B/2},{x:M-y/2,y:P-B/2+f.height+w},{x:M-f.width/2,y:P-B/2+f.height+w}]:F=[{x:M-y/2,y:P-B/2},{x:M+y/2,y:P-B/2},{x:M+y/2,y:P-B/2+g},{x:M+f.width/2,y:P-B/2+g},{x:M+f.width/2/2,y:P+B/2},{x:M-f.width/2,y:P+B/2},{x:M-f.width/2,y:P-B/2+g},{x:M-y/2,y:P-B/2+g}],Ke.polygon(e,F,N)},h}var Wie=I(()=>{"use strict";Yt();gt();Gc();Ht();Vt();m0();Bt();o(Uie,"iconRounded")});async function Hie(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await ft(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=su(e),T=-y/2,E=-g/2,w=e.label?8:0,k=Je.svg(h),C=tt(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");let D=b.get("fill");C.stroke=D??x;let R=k.path(so(T,E,y,g,.1),C),O=Math.max(y,f.width),L=g+f.height+w,S=k.rectangle(-O/2,-L/2,O,L,{...C,fill:"transparent",stroke:"none"}),A=h.insert(()=>R,":first-child"),_=h.insert(()=>S);if(e.icon){let N=h.append("g");N.html(`${await Ks(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let M=N.node().getBBox(),P=M.width,B=M.height,F=M.x,G=M.y;N.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-G:-f.height/2-w/2-B/2-G})`),N.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-L/2:L/2-f.height})`),A.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),Ze(e,_),e.intersect=function(N){if(X.info("iconSquare intersect",e,N),!e.label)return Ke.rect(e,N);let M=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:M-f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2+f.height+w},{x:M+y/2,y:P-B/2+f.height+w},{x:M+y/2,y:P+B/2},{x:M-y/2,y:P+B/2},{x:M-y/2,y:P-B/2+f.height+w},{x:M-f.width/2,y:P-B/2+f.height+w}]:F=[{x:M-y/2,y:P-B/2},{x:M+y/2,y:P-B/2},{x:M+y/2,y:P-B/2+g},{x:M+f.width/2,y:P-B/2+g},{x:M+f.width/2/2,y:P+B/2},{x:M-f.width/2,y:P+B/2},{x:M-f.width/2,y:P-B/2+g},{x:M-y/2,y:P-B/2+g}],Ke.polygon(e,F,N)},h}var Yie=I(()=>{"use strict";Yt();gt();Gc();Ht();m0();Vt();Bt();o(Hie,"iconSquare")});async function jie(t,e,{config:{flowchart:r}}){let n=new Image;n.src=e?.img??"",await n.decode();let i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;let{labelStyles:s}=Qe(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let u=Math.max(e.label?l??0:0,e?.assetWidth??i),h=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f=e.constraint==="on"?h/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(h,l??0);let{shapeSvg:d,bbox:p,label:m}=await ft(t,e,"image-shape default"),g=e.pos==="t",y=-h/2,v=-f/2,x=e.label?8:0,b=Je.svg(d),T=tt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=b.rectangle(y,v,h,f,T),w=Math.max(h,p.width),k=f+p.height+x,C=b.rectangle(-w/2,-k/2,w,k,{...T,fill:"none",stroke:"none"}),D=d.insert(()=>E,":first-child"),R=d.insert(()=>C);if(e.img){let O=d.append("image");O.attr("href",e.img),O.attr("width",h),O.attr("height",f),O.attr("preserveAspectRatio","none"),O.attr("transform",`translate(${-h/2},${g?k/2-f:-k/2})`)}return m.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${g?-f/2-p.height/2-x/2:f/2-p.height/2+x/2})`),D.attr("transform",`translate(0,${g?p.height/2+x/2:-p.height/2-x/2})`),Ze(e,R),e.intersect=function(O){if(X.info("iconSquare intersect",e,O),!e.label)return Ke.rect(e,O);let L=e.x??0,S=e.y??0,A=e.height??0,_=[];return g?_=[{x:L-p.width/2,y:S-A/2},{x:L+p.width/2,y:S-A/2},{x:L+p.width/2,y:S-A/2+p.height+x},{x:L+h/2,y:S-A/2+p.height+x},{x:L+h/2,y:S+A/2},{x:L-h/2,y:S+A/2},{x:L-h/2,y:S-A/2+p.height+x},{x:L-p.width/2,y:S-A/2+p.height+x}]:_=[{x:L-h/2,y:S-A/2},{x:L+h/2,y:S-A/2},{x:L+h/2,y:S-A/2+f},{x:L+p.width/2,y:S-A/2+f},{x:L+p.width/2/2,y:S+A/2},{x:L-p.width/2,y:S+A/2},{x:L-p.width/2,y:S-A/2+f},{x:L-h/2,y:S-A/2+f}],Ke.polygon(e,_,O)},d}var Xie=I(()=>{"use strict";Yt();gt();Ht();Vt();Bt();o(jie,"imageSquare")});async function Kie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=[{x:0,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:-3*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=tt(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=ao(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ze(e,h),e.intersect=function(d){return Ke.polygon(e,u,d)},i}var Qie=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();o(Kie,"inv_trapezoid")});async function g0(t,e,r){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await ft(t,e,lt(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Je.svg(a),v=tt(e,{}),x=p||m?y.path(so(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",On(g))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",On(p)).attr("ry",On(m)).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return Ze(e,d),e.calcIntersect=function(y,v){return Ke.rect(y,v)},e.intersect=function(y){return Ke.rect(e,y)},a}var nb=I(()=>{"use strict";Bt();Ht();m0();Vt();Yt();sr();o(g0,"drawRect")});async function Zie(t,e){let{shapeSvg:r,bbox:n,label:i}=await ft(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),Ze(e,a),e.intersect=function(u){return Ke.rect(e,u)},r}var Jie=I(()=>{"use strict";nb();Bt();Ht();o(Zie,"labelRect")});async function eae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:0,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:-(3*l)/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=tt(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=ao(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ze(e,h),e.intersect=function(d){return Ke.polygon(e,u,d)},i}var tae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();o(eae,"lean_left")});async function rae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:-3*l/6,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=tt(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=ao(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ze(e,h),e.intersect=function(d){return Ke.polygon(e,u,d)},i}var nae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();o(rae,"lean_right")});function iae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.label="",e.labelStyle=r;let i=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),u=7,h=[{x:s,y:0},{x:0,y:l+u/2},{x:s-2*u,y:l+u/2},{x:0,y:2*l},{x:s,y:l-u/2},{x:2*u,y:l-u/2}],f=Je.svg(i),d=tt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=Wt(h),m=f.path(p,d),g=i.insert(()=>m,":first-child");return a&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",n),g.attr("transform",`translate(-${s/2},${-l})`),Ze(e,g),e.intersect=function(y){return X.info("lightningBolt intersect",e,y),Ke.polygon(e,h,y)},i}var aae=I(()=>{"use strict";gt();Bt();Vt();Yt();Ht();Bt();o(iae,"lightningBolt")});async function sae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+(e.padding??0),e.height??0),d=f*.1,p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=Je.svg(i),y=SFe(0,0,l,f,u,h,d),v=EFe(0,h,l,f,u,h),x=tt(e,{}),b=g.path(y,x),T=g.path(v,x);i.insert(()=>T,":first-child").attr("class","line"),p=i.insert(()=>b,":first-child"),p.attr("class","basic label-container"),m&&p.attr("style",m)}else{let g=kFe(0,0,l,f,u,h,d);p=i.insert("path",":first-child").attr("d",g).attr("class","basic label-container").attr("style",On(m)).attr("style",n)}return p.attr("label-offset-y",h),p.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Ze(e,p),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),e.intersect=function(g){let y=Ke.rect(e,g),v=y.x-(e.x??0);if(u!=0&&(Math.abs(v)<(e.width??0)/2||Math.abs(v)==(e.width??0)/2&&Math.abs(y.y-(e.y??0))>(e.height??0)/2-h)){let x=h*h*(1-v*v/(u*u));x>0&&(x=Math.sqrt(x)),x=h-x,g.y-(e.y??0)>0&&(x=-x),y.y+=x}return y},i}var kFe,SFe,EFe,oae=I(()=>{"use strict";Bt();Ht();Vt();Yt();sr();kFe=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),SFe=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),EFe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(sae,"linedCylinder")});async function lae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,{cssStyles:d}=e,p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-l/2-l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:f/2},...vl(-l/2-l/2*.1,f/2,l/2+l/2*.1,f/2,h,.8),{x:l/2+l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:-f/2},{x:-l/2,y:-f/2},{x:-l/2,y:f/2*1.1},{x:-l/2,y:-f/2}],y=p.polygon(g.map(x=>[x.x,x.y]),m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)+l/2*.1/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Ze(e,v),e.intersect=function(x){return Ke.polygon(e,g,x)},i}var cae=I(()=>{"use strict";Bt();Ht();Yt();Vt();o(lae,"linedWaveEdgedRect")});async function uae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{}),y=[{x:f-h,y:d+h},{x:f-h,y:d+u+h},{x:f+l-h,y:d+u+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d+u-h},{x:f+l+h,y:d+u-h},{x:f+l+h,y:d-h},{x:f+h,y:d-h},{x:f+h,y:d},{x:f,y:d},{x:f,y:d+h}],v=[{x:f,y:d+h},{x:f+l-h,y:d+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d},{x:f,y:d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=Wt(y),b=m.path(x,g),T=Wt(v),E=m.path(T,{...g,fill:"none"}),w=i.insert(()=>E,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)-h-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),Ze(e,w),e.intersect=function(k){return Ke.polygon(e,y,k)},i}var hae=I(()=>{"use strict";Bt();Vt();Yt();Ht();o(uae,"multiRect")});async function fae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,d=-l/2,p=-f/2,m=5,{cssStyles:g}=e,y=vl(d-m,p+f+m,d+l-m,p+f+m,h,.8),v=y?.[y.length-1],x=[{x:d-m,y:p+m},{x:d-m,y:p+f+m},...y,{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:v.y-2*m},{x:d+l+m,y:v.y-2*m},{x:d+l+m,y:p-m},{x:d+m,y:p-m},{x:d+m,y:p},{x:d,y:p},{x:d,y:p+m}],b=[{x:d,y:p+m},{x:d+l-m,y:p+m},{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:p},{x:d,y:p}],T=Je.svg(i),E=tt(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");let w=Wt(x),k=T.path(w,E),C=Wt(b),D=T.path(C,E),R=i.insert(()=>k,":first-child");return R.insert(()=>D),R.attr("class","basic label-container"),g&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-(a.width/2)-m-(a.x-(a.left??0))}, ${-(a.height/2)+m-h/2-(a.y-(a.top??0))})`),Ze(e,R),e.intersect=function(O){return Ke.polygon(e,x,O)},i}var dae=I(()=>{"use strict";Bt();Ht();Yt();Vt();o(fae,"multiWaveEdgedRectangle")});async function pae(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n,e.useHtmlLabels||tr().flowchart?.htmlLabels!==!1||(e.centerLabel=!0);let{shapeSvg:s,bbox:l,label:u}=await ft(t,e,lt(e)),h=Math.max(l.width+(e.padding??0)*2,e?.width??0),f=Math.max(l.height+(e.padding??0)*2,e?.height??0),d=-h/2,p=-f/2,{cssStyles:m}=e,g=Je.svg(s),y=tt(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=g.rectangle(d,p,h,f,y),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",m),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),Ze(e,x),e.intersect=function(b){return Ke.rect(e,b)},s}var mae=I(()=>{"use strict";Yt();Ht();Vt();Bt();ti();o(pae,"note")});async function gae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.width+e.padding,l=a.height+e.padding,u=s+l,h=.5,f=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=tt(e,{}),y=CFe(0,0,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-u/2+h}, ${u/2})`),p&&d.attr("style",p)}else d=ao(i,u,u,f),d.attr("transform",`translate(${-u/2+h}, ${u/2})`);return n&&d.attr("style",n),Ze(e,d),e.calcIntersect=function(m,g){let y=m.width,v=[{x:y/2,y:0},{x:y,y:-y/2},{x:y/2,y:-y},{x:0,y:-y/2}],x=Ke.polygon(m,v,g);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(m){return this.calcIntersect(e,m)},i}var CFe,yae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();CFe=o((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");o(gae,"question")});async function vae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0),e?.width??0),u=Math.max(a.height+(e.padding??0),e?.height??0),h=-l/2,f=-u/2,d=f/2,p=[{x:h+d,y:f},{x:h,y:0},{x:h+d,y:-f},{x:-h,y:-f},{x:-h,y:f}],{cssStyles:m}=e,g=Je.svg(i),y=tt(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=Wt(p),x=g.path(v,y),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-d/2},0)`),s.attr("transform",`translate(${-d/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Ze(e,b),e.intersect=function(T){return Ke.polygon(e,p,T)},i}var xae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(vae,"rect_left_inv_arrow")});function AFe(t,e){e&&t.attr("style",e)}async function _Fe(t){let e=He(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=xe(),i=t.label;t.label&&Nn(t.label)&&(i=await vf(t.label.replace(nt.lineBreakRegex,` -`),n));let s='"+i+"";return r.html(fr(s,n)),AFe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var DFe,ou,qk=I(()=>{"use strict";kr();Qt();wr();gt();sr();o(AFe,"applyStyle");o(_Fe,"addHtmlLabel");DFe=o(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),Sr(xe().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),X.info("vertexText"+i);let a={isNode:n,label:ga(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:e&&e.replace("fill:","color:")};return await _Fe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(let l of s){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),ou=DFe});async function bae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=l.node().appendChild(await ou(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(Sr(xe()?.flowchart?.htmlLabels)){let D=f.children[0],R=He(f);d=D.getBoundingClientRect(),R.attr("width",d.width),R.attr("height",d.height)}X.info("Text 2",u);let p=u||[],m=f.getBBox(),g=l.node().appendChild(await ou(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),y=g.children[0],v=He(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;He(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),He(f).attr("transform","translate( "+(d.width(X.debug("Rough node insert CXC",O),L),":first-child"),k=a.insert(()=>(X.debug("Rough node insert CXC",O),O),":first-child")}else k=s.insert("rect",":first-child"),C=s.insert("line"),k.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),C.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return Ze(e,k),e.intersect=function(D){return Ke.rect(e,D)},a}var Tae=I(()=>{"use strict";kr();wr();Bt();qk();Ht();Vt();Yt();Qt();m0();gt();o(bae,"rectWithTitle")});function Uk(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let k=[];for(let C=0;C<20;C++){let D=C/19,R=T+D*w,O=x+i*Math.cos(R),L=b+a*Math.sin(R);k.push({x:O,y:L})}return k}async function wae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=e?.padding??0,l=e?.padding??0,u=(e?.width?e?.width:a.width)+s*2,h=(e?.height?e?.height:a.height)+l*2,f=e.radius||5,d=e.taper||5,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{});e.stroke&&(g.stroke=e.stroke),e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:-u/2+d,y:-h/2},{x:u/2-d,y:-h/2},...Uk(u/2-d,-h/2,u/2,-h/2+d,f,f,!0),{x:u/2,y:-h/2+d},{x:u/2,y:h/2-d},...Uk(u/2,h/2-d,u/2-d,h/2,f,f,!0),{x:u/2-d,y:h/2},{x:-u/2+d,y:h/2},...Uk(-u/2+d,h/2,-u/2,h/2-d,f,f,!0),{x:-u/2,y:h/2-d},{x:-u/2,y:-h/2+d},...Uk(-u/2,-h/2+d,-u/2+d,-h/2,f,f,!0)],v=Wt(y),x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",n),Ze(e,b),e.intersect=function(T){return Ke.polygon(e,y,T)},i}var kae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Uk,"generateArcPoints");o(wae,"roundedRect")});async function Sae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=e?.padding??0,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=-a.width/2-l,d=-a.height/2-l,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d},{x:f+u+8,y:d},{x:f+u+8,y:d+h},{x:f-8,y:d+h},{x:f-8,y:d},{x:f,y:d},{x:f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container").attr("style",On(p)),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-h/2+(e.padding??0)-(a.y-(a.top??0))})`),Ze(e,x),e.intersect=function(b){return Ke.rect(e,b)},i}var Eae=I(()=>{"use strict";Bt();Ht();Vt();Yt();sr();o(Sae,"shadedProcess")});async function Cae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=-l/2,f=-u/2,{cssStyles:d}=e,p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:h,y:f},{x:h,y:f+u},{x:h+l,y:f+u},{x:h+l,y:f-u/2}],y=Wt(g),v=p.path(y,m),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),x.attr("transform",`translate(0, ${u/4})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))}, ${-u/4+(e.padding??0)-(a.y-(a.top??0))})`),Ze(e,x),e.intersect=function(b){return Ke.polygon(e,g,b)},i}var Aae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Cae,"slopedRect")});async function _ae(t,e){let r={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return g0(t,e,r)}var Dae=I(()=>{"use strict";nb();o(_ae,"squareRect")});async function Rae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,u=s/2,{cssStyles:h}=e,f=Je.svg(i),d=tt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-l/2+u,y:-s/2},{x:l/2-u,y:-s/2},...d0(-l/2+u,0,u,50,90,270),{x:l/2-u,y:s/2},...d0(l/2-u,0,u,50,270,450)],m=Wt(p),g=f.path(m,d),y=i.insert(()=>g,":first-child");return y.attr("class","basic label-container outer-path"),h&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",h),n&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",n),Ze(e,y),e.intersect=function(v){return Ke.polygon(e,p,v)},i}var Lae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Rae,"stadium")});async function Nae(t,e){return g0(t,e,{rx:5,ry:5,classes:"flowchart-node"})}var Mae=I(()=>{"use strict";nb();o(Nae,"state")});function Iae(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n;let{cssStyles:a}=e,{lineColor:s,stateBorder:l,nodeBorder:u}=r,h=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),f=Je.svg(h),d=tt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=f.circle(0,0,14,{...d,stroke:s,strokeWidth:2}),m=l??u,g=f.circle(0,0,5,{...d,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),y=h.insert(()=>p,":first-child");return y.insert(()=>g),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),Ze(e,y),e.intersect=function(v){return Ke.circle(e,7,v)},h}var Oae=I(()=>{"use strict";Yt();Ht();Vt();Bt();o(Iae,"stateEnd")});function Pae(t,e,{config:{themeVariables:r}}){let{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Je.svg(i).circle(0,0,14,Vne(n));a=i.insert(()=>l),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return Ze(e,a),e.intersect=function(s){return Ke.circle(e,7,s)},i}var Bae=I(()=>{"use strict";Yt();Ht();Vt();Bt();o(Pae,"stateStart")});async function Fae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-s,f=-a.height/2-s,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Je.svg(i),m=tt(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",On(b)),Ze(e,x)}else{let p=ao(i,l,u,d);n&&p.attr("style",n),Ze(e,p)}return e.intersect=function(p){return Ke.polygon(e,d,p)},i}var $ae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();sr();o(Fae,"subroutine")});async function zae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=-s/2,h=-l/2,f=.2*l,d=.2*l,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{}),y=[{x:u-f/2,y:h},{x:u+s+f/2,y:h},{x:u+s+f/2,y:h+l},{x:u-f/2,y:h+l}],v=[{x:u+s-f/2,y:h+l},{x:u+s+f/2,y:h+l},{x:u+s+f/2,y:h+l-d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=Wt(y),b=m.path(x,g),T=Wt(v),E=m.path(T,{...g,fillStyle:"solid"}),w=i.insert(()=>E,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),Ze(e,w),e.intersect=function(k){return Ke.polygon(e,y,k)},i}var Gae=I(()=>{"use strict";Bt();Vt();Yt();Ht();o(zae,"taggedRect")});async function Vae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=.2*l,d=.2*u,p=u+h,{cssStyles:m}=e,g=Je.svg(i),y=tt(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-l/2-l/2*.1,y:p/2},...vl(-l/2-l/2*.1,p/2,l/2+l/2*.1,p/2,h,.8),{x:l/2+l/2*.1,y:-p/2},{x:-l/2-l/2*.1,y:-p/2}],x=-l/2+l/2*.1,b=-p/2-d*.4,T=[{x:x+l-f,y:(b+u)*1.4},{x:x+l,y:b+u-d},{x:x+l,y:(b+u)*.9},...vl(x+l,(b+u)*1.3,x+l-f,(b+u)*1.5,-u*.03,.5)],E=Wt(v),w=g.path(E,y),k=Wt(T),C=g.path(k,{...y,fillStyle:"solid"}),D=i.insert(()=>C,":first-child");return D.insert(()=>w,":first-child"),D.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",n),D.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Ze(e,D),e.intersect=function(R){return Ke.polygon(e,v,R)},i}var qae=I(()=>{"use strict";Bt();Ht();Yt();Vt();o(Vae,"taggedWaveEdgedRectangle")});async function Uae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+e.padding,e?.width||0),l=Math.max(a.height+e.padding,e?.height||0),u=-s/2,h=-l/2,f=i.insert("rect",":first-child");return f.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",u).attr("y",h).attr("width",s).attr("height",l),Ze(e,f),e.intersect=function(d){return Ke.rect(e,d)},i}var Wae=I(()=>{"use strict";Bt();Ht();Vt();o(Uae,"text")});async function Hae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s,halfPadding:l}=await ft(t,e,lt(e)),u=e.look==="neo"?l*2:l,h=a.height+u,f=h/2,d=f/(2.5+h/50),p=a.width+d+u,{cssStyles:m}=e,g;if(e.look==="handDrawn"){let y=Je.svg(i),v=LFe(0,0,p,h,d,f),x=NFe(0,0,p,h,d,f),b=y.path(v,tt(e,{})),T=y.path(x,tt(e,{fill:"none"}));g=i.insert(()=>T,":first-child"),g=i.insert(()=>b,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{let y=RFe(0,0,p,h,d,f);g=i.insert("path",":first-child").attr("d",y).attr("class","basic label-container").attr("style",On(m)).attr("style",n),g.attr("class","basic label-container"),m&&g.selectAll("path").attr("style",m),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-p/2}, ${h/2} )`),s.attr("transform",`translate(${-(a.width/2)-d-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Ze(e,g),e.intersect=function(y){let v=Ke.rect(e,y),x=v.y-(e.y??0);if(f!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-d)){let b=d*d*(1-x*x/(f*f));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,y.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},i}var RFe,LFe,NFe,Yae=I(()=>{"use strict";Bt();Vt();Yt();Ht();sr();RFe=o((t,e,r,n,i,a)=>`M${t},${e} +`);return Mw(n)}function sie(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}function oie(t,e={}){let r=I$e(t,e),n=yn.lexer(r),i=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` +`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p=p.replace(/'/g,"'"),p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"?i[a].push({content:l.text,type:"normal"}):i[a].push({content:l.raw,type:"normal"})}),i}function lie(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}function cie(t,{markdownAutoWrap:e}={}){let r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(K.warn(`Unsupported markdown: ${i.type}`),i.raw)}return o(n,"output"),r.map(n).join("")}var uie=O(()=>{"use strict";aie();vD();xt();o(I$e,"preprocessMarkdown");o(sie,"nonMarkdownToLines");o(oie,"markdownToLines");o(lie,"nonMarkdownToHTML");o(cie,"markdownToHTML")});function O$e(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function P$e(t,e){let r=O$e(e.content);return hie(t,[],r,e.type)}function hie(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?hie(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function fie(t,e){if(t.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return uM(t,e)}function uM(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return uM(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=P$e(e,a);r.push([l]),u.content&&t.unshift(u)}return uM(t,e,r)}var die=O(()=>{"use strict";o(O$e,"splitTextToChars");o(P$e,"splitWordToFitWidth");o(hie,"splitWordToFitWidthRecursion");o(fie,"splitLineToFitWidth");o(uM,"splitLineToFitWidthRecursion")});function pie(t,e){e&&t.attr("style",e)}async function B$e(t,e,r,n,i=!1,a=Zt()){let s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,mie)}px`),s.attr("height",`${Math.min(10*r,mie)}px`);let l=s.append("xhtml:div"),u=Jn(e.label)?await gg(e.label.replace(st.lineBreakRegex,` +`),a):wr(e.label,a),h=e.isNode?"nodeLabel":"edgeLabel",f=l.append("span");f.html(u),pie(f,e.labelStyle),f.attr("class",`${h} ${n}`),pie(l,e.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(l.style("max-width",r+"px"),l.style("text-align","center")),l.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&l.attr("class","labelBkg");let d=l.node().getBoundingClientRect();return d.width===r&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",r+"px"),d=l.node().getBoundingClientRect()),s.node()}function hM(t,e,r,n=!1){let i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}function F$e(t,e,r){let n=t.append("text"),i=hM(n,1,e);fM(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function gie(t,e,r){let n=t.append("text"),i=hM(n,1,e);fM(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function $$e(t,e,r,n=!1,i=!1){let s=e.append("g"),l=s.insert("rect").attr("class","background").attr("style","stroke: none"),u=s.append("text").attr("y","-10.1");i&&u.attr("text-anchor","middle");let h=0;for(let f of r){let d=o(m=>F$e(s,1.1,m)<=t,"checkWidth"),p=d(f)?[f]:fie(f,d);for(let m of p){let g=hM(u,h,1.1,i);fM(g,m),h++}}if(n){let f=u.node().getBBox(),d=2;return l.attr("x",f.x-d).attr("y",f.y-d).attr("width",f.width+2*d).attr("height",f.height+2*d),s.node()}else return u.node()}function fM(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}async function z$e(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{let l=`${a}:${s}`;return await TX(l)?await eo(l,void 0,{class:"label-icon"}):``})()),i));let n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}var mie,Fn,co=O(()=>{"use strict";Ar();Ur();xt();uie();ar();Xc();die();$r();o(pie,"applyStyle");mie=16384;o(B$e,"addHtmlSpan");o(hM,"createTspan");o(F$e,"computeWidthOfText");o(gie,"computeDimensionOfText");o($$e,"createFormattedText");o(fM,"updateTextContentAndStyles");o(z$e,"replaceIconSubstring");Fn=o(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:l=!0,width:u=200,addSvgBackground:h=!1}={},f)=>{if(K.debug("XYZ createText",e,r,n,i,a,l,"addSvgBackground: ",h),a){let d=s?cie(e,f):lie(e),p=await z$e(ao(d),f),m=e.replace(/\\\\/g,"\\"),g={isNode:l,label:Jn(e)?m:p,labelStyle:r.replace("fill:","color:")};return await B$e(t,g,u,i,h,f)}else{let d=e.replace(//g,"
    "),p=s?oie(d.replace("
    ","
    "),f):sie(d),m=$$e(u,t,p,e?h:!1,!l);if(l){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");je(m).attr("style",g)}else{let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");je(m).select("rect").attr("style",g.replace(/background:/g,"fill:"));let y=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");je(m).select("text").attr("style",y)}return n?je(m).selectAll("tspan.text-outer-tspan").classed("title-row",!0):je(m).selectAll("tspan.text-outer-tspan").classed("row",!0),m}},"createText")});async function Wk(t,e){let r=t.getElementsByTagName("img");if(!r||r.length===0)return;let n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){let l=ve().fontSize?ve().fontSize:window.getComputedStyle(document.body).fontSize,u=5,[h=gr.fontSize]=Uo(l),f=h*u+"px";i.style.minWidth=f,i.style.maxWidth=f}else i.style.width="100%";a(i)}o(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}var dM=O(()=>{"use strict";jt();La();ar();o(Wk,"configureLabelImages")});function er(t){let e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}function El(t,e,r,n,i,a){let s=[],u=r-t,h=n-e,f=u/a,d=2*Math.PI/f,p=e+h/2;for(let m=0;m<=50;m++){let g=m/50,y=t+g*u,v=p+i*Math.sin(d*(y-t));s.push({x:y,y:v})}return s}function y0(t,e,r,n,i,a){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;d{"use strict";co();jt();$r();Ar();Ur();ar();dM();pt=o(async(t,e,r)=>{let n,i=e.useHtmlLabels||Xs(ve()?.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",Bn(e.labelStyle)),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u=!!e.icon||!!e.img,h=e.labelType==="markdown",f=await Fn(s,wr(ao(l),ve()),{useHtmlLabels:i,width:e.width||ve().flowchart?.wrappingWidth,cssClasses:h?"markdown-node-label":void 0,style:e.labelStyle,addSvgBackground:u,markdown:h},ve()),d=f.getBBox(),p=(e?.padding??0)/2;if(i){let m=f.children[0],g=je(f);await Wk(m,l),d=m.getBoundingClientRect(),g.attr("width",d.width),g.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:p,label:s}},"labelHelper"),Hk=o(async(t,e,r)=>{let n=r.useHtmlLabels??Sr(ve()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await Fn(i,wr(ao(e),ve()),{useHtmlLabels:n,width:r.width||ve()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),s=a.getBBox(),l=r.padding/2;if(Sr(ve())){let u=a.children[0],h=je(a);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:l,label:i}},"insertLabel"),rt=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),ht=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");o(er,"createPathFromPoints");o(El,"generateFullSineWavePoints");o(y0,"generateCirclePoints")});function G$e(t,e){return t.intersect(e)}var yie,vie=O(()=>{"use strict";o(G$e,"intersectNode");yie=G$e});function V$e(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(V$e,"intersectEllipse");Yk=V$e});function q$e(t,e,r){return Yk(t,e,e,r)}var xie,bie=O(()=>{"use strict";pM();o(q$e,"intersectCircle");xie=q$e});function U$e(t,e,r,n){{let i=e.y-t.y,a=t.x-e.x,s=e.x*t.y-t.x*e.y,l=i*r.x+a*r.y+s,u=i*n.x+a*n.y+s,h=1e-6;if(l!==0&&u!==0&&Tie(l,u))return;let f=n.y-r.y,d=r.x-n.x,p=n.x*r.y-r.x*n.y,m=f*t.x+d*t.y+p,g=f*e.x+d*e.y+p;if(Math.abs(m)0}var wie,kie=O(()=>{"use strict";o(U$e,"intersectLine");o(Tie,"sameSign");wie=U$e});function W$e(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=n-t.width/2-s,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";kie();o(W$e,"intersectPolygon");Eie=W$e});var H$e,Qf,mM=O(()=>{"use strict";H$e=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Qf=H$e});var Qe,Yt=O(()=>{"use strict";vie();bie();pM();Sie();mM();Qe={node:yie,circle:xie,ellipse:Yk,polygon:Eie,rect:Qf}});var Cie,pu,Y$e,ub,Ze,nt,j$e,Ut=O(()=>{"use strict";jt();Cie=o(t=>{let{handDrawnSeed:e}=ve();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),pu=o(t=>{let e=Y$e([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),Y$e=o(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),ub=o(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),Ze=o(t=>{let{stylesArray:e}=pu(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{let l=s[0];ub(l)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),l.includes("stroke")&&i.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),nt=o((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=ve(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=pu(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:j$e(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),j$e=o(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(e.length===1){let i=isNaN(e[0])?0:e[0];return[i,i]}let r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray")});function gM(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*s-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*s+i}}}function X$e(t,e){return t[0]===e[0]&&t[1]===e[1]}function K$e(t,e,r,n=1){let i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of s)gM(h,l,i);let u=(function(h,f,d){let p=[];for(let b of h){let T=[...b];X$e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&p.push(T)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let T=0;Tb.yminT.ymin?1:b.xT.x?1:b.ymax===T.ymax?0:(b.ymax-T.ymax)/Math.abs(b.ymax-T.ymax))),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let T=0;Tv);T++)b=T;g.splice(0,b+1).forEach((T=>{y.push({s:v,edge:T})}))}if(y=y.filter((b=>!(b.edge.ymax<=v))),y.sort(((b,T)=>b.edge.x===T.edge.x?0:(b.edge.x-T.edge.x)/Math.abs(b.edge.x-T.edge.x))),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let E=y[b].edge,w=y[T].edge;m.push([[Math.round(E.x),v],[Math.round(w.x),v]])}v+=d,y.forEach((b=>{b.edge.x=b.edge.x+d*b.edge.islope})),x++}return m})(s,a,n);if(i){for(let h of s)gM(h,l,-i);(function(h,f,d){let p=[];h.forEach((m=>p.push(...m))),gM(p,f,d)})(u,l,-i)}return u}function pb(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),K$e(t,i,n,a||1)}function rE(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function vM(t,e){return t.type===e}function NM(t){let e=[],r=(function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:Q$e,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:yM,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:Aie,text:""},l})(t),n="BOD",i=0,a=r[i];for(;!vM(a,Aie);){let s=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return NM("M0,0"+t);i++,s=jk[a.text],n=a.text}else vM(a,yM)?s=jk[n]:(i++,s=jk[a.text],n=a.text);if(!(i+sf%2?h+r:h+e));a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function Pie(t){let e=[],r="",n=0,i=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(Bie(n,i,v,x,d,p,m,g,y).forEach((function(b){e.push({key:"C",data:b})})),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=h}return e}function hb(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function Bie(t,e,r,n,i,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=hb(t,e,-f),[r,n]=hb(r,n,-f);let _=(t-r)/2,D=(e-n)/2,M=_*_/(i*i)+D*D/(a*a);M>1&&(M=Math.sqrt(M),i*=M,a*=M);let R=i*i,P=a*a,B=R*P-R*D*D-P*_*_,F=R*D*D+P*_*_,G=(l===u?-1:1)*Math.sqrt(Math.abs(B/F));y=G*i*D/a+(t+r)/2,v=G*-a*_/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let _=g,D=r,M=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=Bie(r=y+i*Math.cos(g),n=v+a*Math.sin(g),D,M,i,a,s,0,u,[g,_,y,v])}x=g-m;let b=Math.cos(m),T=Math.sin(m),E=Math.cos(g),w=Math.sin(g),k=Math.tan(x/4),S=4/3*i*k,A=4/3*a*k,L=[t,e],I=[t+S*T,e-A*b],N=[r+S*w,n-A*E],C=[r,n];if(I[0]=2*L[0]-I[0],I[1]=2*L[1]-I[1],h)return[I,N,C].concat(p);{p=[I,N,C].concat(p);let _=[];for(let D=0;D2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=Mie(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=Mie(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...Zf(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Zf(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function Rie(t,e){let r=Pie(Oie(NM(t))),n=[],i=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Zf(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...eze(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Zf(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function xM(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+yr(i,e),n[0][1]+yr(i,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*zie(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=yr(m,i,h),g=yr(g,i,h);let y=[],v=o(()=>yr(d,i,h),"M"),x=o(()=>yr(f,i,h),"k"),b=i.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:yr(f,i,h)),e+(b?0:yr(f,i,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function Xk(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+yr(e,r),t[0][1]+yr(e,r)]),n.push([t[0][0]+yr(e,r),t[0][1]+yr(e,r)]);for(let i=1;i3){let a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=v0(u,h,.5),m=v0(h,f,.5),g=v0(f,d,.5),y=v0(p,m,.5),v=v0(m,g,.5),x=v0(y,v,.5);DM([u,p,y,x],0,r,i),DM([x,v,g,d],0,r,i)}var a,s;return i}function rze(t,e){return tE(t,0,t.length,e)}function tE(t,e,r,n,i){let a=i||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(tE(t,e,h+1,n,a),tE(t,h,r,n,a)):(a.length||a.push(s),a.push(l)),a}function bM(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?tE(n,0,n.length,r):n}var db,TM,wM,kM,EM,SM,uo,CM,Q$e,yM,Aie,jk,Z$e,Wo,p1,RM,Kk,LM,Je,Wt=O(()=>{"use strict";o(gM,"t");o(X$e,"e");o(K$e,"s");o(pb,"n");db=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=pb(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};o(rE,"a");TM=class extends db{static{o(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=pb(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)rE([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},wM=class extends db{static{o(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},kM=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=pb(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=i/4;for(let l of e){let u=rE(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=rE(s),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=rE(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(S=0,A=2*Math.PI);let L=(A-S)/b.curveStepCount,I=[];for(let N=S;N<=A;N+=L)I.push([T+w*Math.cos(N),E+k*Math.sin(N)]);return I.push([T+w*Math.cos(A),E+k*Math.sin(A)]),I.push([T,E]),d1([I],b)})(e,r,n,i,a,s,h));return h.stroke!==Wo&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=_ie(e,n);if(n.fill&&n.fill!==Wo)if(n.fillStyle==="solid"){let s=_ie(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...bM(Iie([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):s.push(...bM(Iie(h),10,(1+n.roughness)/2))}s.length&&i.push(d1([s],n))}return n.stroke!==Wo&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=Qk(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(xM([e],n)):i.push(d1([e],n))),n.stroke!==Wo&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==Wo,s=n.stroke!==Wo,l=!!(n.simplification&&n.simplification<1),u=(function(f,d,p){let m=Pie(Oie(NM(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...bM(x,d)),x=[]},"i"),T=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:w,data:k}of m)switch(w){case"M":T(),v=[k[0],k[1]],y.push(v);break;case"L":b(),y.push([k[0],k[1]]);break;case"C":if(!x.length){let S=y.length?y[y.length-1]:v;x.push([S[0],S[1]])}x.push([k[0],k[1]]),x.push([k[2],k[3]]),x.push([k[4],k[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(T(),!p)return g;let E=[];for(let w of g){let k=rze(w,p);k.length&&E.push(k)}return E})(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=Rie(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=Rie(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(xM(u,n));else i.push(d1(u,n));return s&&(l?u.forEach((f=>{i.push(Qk(f,!1,n))})):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Wo};break;case"fillPath":s={d:this.opsToPath(a),stroke:Wo,strokeWidth:0,fill:n.fill||Wo};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||Wo,strokeWidth:n,fill:Wo}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}},RM=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new p1(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let s=typeof n=="number"&&n>=0?a.data.map((l=>+l.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},Kk="http://www.w3.org/2000/svg",LM=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new p1(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(Kk,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(Kk,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(Kk,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(Kk,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Je={canvas:o((t,e)=>new RM(t,e),"canvas"),svg:o((t,e)=>new LM(t,e),"svg"),generator:o(t=>new p1(t),"generator"),newSeed:o(()=>p1.newSeed(),"newSeed")}});function Gie(t,e){let{labelStyles:r}=Ze(e);e.labelStyle=r;let n=ht(e),i=n;n||(i="anchor");let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=1,{cssStyles:l}=e,u=Je.svg(a),h=nt(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);let f=u.circle(0,0,s*2,h),d=a.insert(()=>f,":first-child");return d.attr("class","anchor").attr("style",Bn(l)),rt(e,d),e.intersect=function(p){return K.info("Circle intersect",e,s,p),Qe.circle(e,s,p)},a}var Vie=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();ar();o(Gie,"anchor")});function qie(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let k=[];for(let S=0;S<20;S++){let A=S/19,L=T+A*w,I=x+i*Math.cos(L),N=b+a*Math.sin(L);k.push({x:I,y:N})}return k}async function Uie(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.width+e.padding+20,l=a.height+e.padding,u=l/2,h=u/(2.5+l/50),{cssStyles:f}=e,d=[{x:s/2,y:-l/2},{x:-s/2,y:-l/2},...qie(-s/2,-l/2,-s/2,l/2,h,u,!1),{x:s/2,y:l/2},...qie(s/2,l/2,s/2,-l/2,h,u,!0)],p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=er(d),y=p.path(g,m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${h/2}, 0)`),rt(e,v),e.intersect=function(x){return Qe.polygon(e,d,x)},i}var Wie=O(()=>{"use strict";$t();Yt();Ut();Wt();o(qie,"generateArcPoints");o(Uie,"bowTieRect")});function rs(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+")")}var _h=O(()=>{"use strict";o(rs,"insertPolygonShape")});async function Hie(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.height+e.padding,l=12,u=a.width+e.padding+l,h=0,f=u,d=-s,p=0,m=[{x:h+l,y:d},{x:f,y:d},{x:f,y:p},{x:h,y:p},{x:h,y:d+l},{x:h+l,y:d}],g,{cssStyles:y}=e;if(e.look==="handDrawn"){let v=Je.svg(i),x=nt(e,{}),b=er(m),T=v.path(b,x);g=i.insert(()=>T,":first-child").attr("transform",`translate(${-u/2}, ${s/2})`),y&&g.attr("style",y)}else g=rs(i,u,s,m);return n&&g.attr("style",n),rt(e,g),e.intersect=function(v){return Qe.polygon(e,m,v)},i}var Yie=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();$t();o(Hie,"card")});function jie(t,e){let{nodeStyles:r}=Ze(e);e.label="";let n=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],l=Je.svg(n),u=nt(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=er(s),f=l.path(h,u),d=n.insert(()=>f,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(p){return Qe.polygon(e,s,p)},n}var Xie=O(()=>{"use strict";Yt();Wt();Ut();$t();o(jie,"choice")});async function nE(t,e,r){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n;let{shapeSvg:a,bbox:s,halfPadding:l}=await pt(t,e,ht(e)),u=r?.padding??l,h=s.width/2+u,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Je.svg(a),m=nt(e,{}),g=p.circle(0,0,h*2,m);f=a.insert(()=>g,":first-child"),f.attr("class","basic label-container").attr("style",Bn(d))}else f=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return rt(e,f),e.calcIntersect=function(p,m){let g=p.width/2;return Qe.circle(p,g,m)},e.intersect=function(p){return K.info("Circle intersect",e,h,p),Qe.circle(e,h,p)},a}var MM=O(()=>{"use strict";Wt();xt();ar();Yt();Ut();$t();o(nE,"circle")});function nze(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},l={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${l.x},${l.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}function Kie(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r,e.label="";let i=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=Je.svg(i),u=nt(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=l.circle(0,0,a*2,u),f=nze(a),d=l.path(f,u),p=i.insert(()=>h,":first-child");return p.insert(()=>d),s&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",n),rt(e,p),e.intersect=function(m){return K.info("crossedCircle intersect",e,{radius:a,point:m}),Qe.circle(e,a,m)},i}var Qie=O(()=>{"use strict";xt();$t();Ut();Wt();Yt();o(nze,"createLine");o(Kie,"crossedCircle")});function Jf(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),E.insert(()=>x,":first-child"),E.attr("class","text"),f&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(${h}, 0)`),s.attr("transform",`translate(${-l/2+h-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),rt(e,E),e.intersect=function(w){return Qe.polygon(e,p,w)},i}var Jie=O(()=>{"use strict";$t();Yt();Ut();Wt();o(Jf,"generateCirclePoints");o(Zie,"curlyBraceLeft")});function ed(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),E.insert(()=>x,":first-child"),E.attr("class","text"),f&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(${-h}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),rt(e,E),e.intersect=function(w){return Qe.polygon(e,p,w)},i}var tae=O(()=>{"use strict";$t();Yt();Ut();Wt();o(ed,"generateCirclePoints");o(eae,"curlyBraceRight")});function ns(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dS,":first-child").attr("stroke-opacity",0),A.insert(()=>b,":first-child"),A.insert(()=>w,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${h-h/4}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),rt(e,A),e.intersect=function(L){return Qe.polygon(e,m,L)},i}var nae=O(()=>{"use strict";$t();Yt();Ut();Wt();o(ns,"generateCirclePoints");o(rae,"curlyBraces")});async function iae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=80,l=20,u=Math.max(s,(a.width+(e.padding??0)*2)*1.25,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=u,y=h,v=g-f,x=y/4,b=[{x:v,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:v,y},...y0(-v,-y/2,f,50,270,90)],T=er(b),E=p.path(T,m),w=i.insert(()=>E,":first-child");return w.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",n),w.attr("transform",`translate(${-u/2}, ${-h/2})`),rt(e,w),e.intersect=function(k){return Qe.polygon(e,b,k)},i}var aae=O(()=>{"use strict";$t();Yt();Ut();Wt();o(iae,"curvedTrapezoid")});async function sae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+e.padding,e.height??0),d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=aze(0,0,l,f,u,h),y=sze(0,h,l,f,u,h),v=m.path(g,nt(e,{})),x=m.path(y,nt(e,{fill:"none"}));d=i.insert(()=>x,":first-child"),d=i.insert(()=>v,":first-child"),d.attr("class","basic label-container"),p&&d.attr("style",p)}else{let m=ize(0,0,l,f,u,h);d=i.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",Bn(p)).attr("style",n)}return d.attr("label-offset-y",h),d.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),rt(e,d),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(m){let g=Qe.rect(e,m),y=g.x-(e.x??0);if(u!=0&&(Math.abs(y)<(e.width??0)/2||Math.abs(y)==(e.width??0)/2&&Math.abs(g.y-(e.y??0))>(e.height??0)/2-h)){let v=h*h*(1-y*y/(u*u));v>0&&(v=Math.sqrt(v)),v=h-v,m.y-(e.y??0)>0&&(v=-v),g.y+=v}return g},i}var ize,aze,sze,oae=O(()=>{"use strict";$t();Yt();Ut();Wt();ar();ize=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),aze=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),sze=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(sae,"cylinder")});async function lae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=a.width+e.padding,u=a.height+e.padding,h=u*.2,f=-l/2,d=-u/2-h/2,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d+h},{x:-f,y:d+h},{x:-f,y:-d},{x:f,y:-d},{x:f,y:d},{x:-f,y:d},{x:-f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${f+(e.padding??0)/2-(a.x-(a.left??0))}, ${d+h+(e.padding??0)/2-(a.y-(a.top??0))})`),rt(e,x),e.intersect=function(b){return Qe.rect(e,b)},i}var cae=O(()=>{"use strict";$t();Yt();Ut();Wt();o(lae,"dividedRectangle")});async function uae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await pt(t,e,ht(e)),u=a.width/2+s+5,h=a.width/2+s,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Je.svg(i),m=nt(e,{roughness:.2,strokeWidth:2.5}),g=nt(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",Bn(e.cssClasses)).attr("style",Bn(d)),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return rt(e,f),e.intersect=function(p){return K.info("DoubleCircle intersect",e,u,p),Qe.circle(e,u,p)},i}var hae=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();ar();o(uae,"doublecircle")});function fae(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Ze(e);e.label="",e.labelStyle=n;let a=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),s=7,{cssStyles:l}=e,u=Je.svg(a),{nodeBorder:h}=r,f=nt(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(f.roughness=0);let d=u.circle(0,0,s*2,f),p=a.insert(()=>d,":first-child");return p.selectAll("path").attr("style",`fill: ${h} !important;`),l&&l.length>0&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",l),i&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",i),rt(e,p),e.intersect=function(m){return K.info("filledCircle intersect",e,{radius:s,point:m}),Qe.circle(e,s,m)},a}var dae=O(()=>{"use strict";Wt();xt();Yt();Ut();$t();o(fae,"filledCircle")});async function pae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=a.width+(e.padding??0),u=l+a.height,h=l+a.height,f=[{x:0,y:-u},{x:h,y:-u},{x:h/2,y:0}],{cssStyles:d}=e,p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=er(f),y=p.path(g,m),v=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return d&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),e.width=l,e.height=u,rt(e,v),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(x){return K.info("Triangle intersect",e,f,x),Qe.polygon(e,f,x)},i}var mae=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();$t();o(pae,"flippedTriangle")});function gae(t,e,{dir:r,config:{state:n,themeVariables:i}}){let{nodeStyles:a}=Ze(e);e.label="";let s=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,u=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);r==="LR"&&(u=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));let f=-1*u/2,d=-1*h/2,p=Je.svg(s),m=nt(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=p.rectangle(f,d,u,h,m),y=s.insert(()=>g,":first-child");l&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",l),a&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",a),rt(e,y);let v=n?.padding??0;return e.width&&e.height&&(e.width+=v/2||0,e.height+=v/2||0),e.intersect=function(x){return Qe.rect(e,x)},s}var yae=O(()=>{"use strict";Wt();Yt();Ut();$t();o(gae,"forkJoin")});async function vae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let i=80,a=50,{shapeSvg:s,bbox:l}=await pt(t,e,ht(e)),u=Math.max(i,l.width+(e.padding??0)*2,e?.width??0),h=Math.max(a,l.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Je.svg(s),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-u/2,y:-h/2},{x:u/2-f,y:-h/2},...y0(-u/2+f,0,f,50,90,270),{x:u/2-f,y:h/2},{x:-u/2,y:h/2}],y=er(g),v=p.path(y,m),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),rt(e,x),e.intersect=function(b){return K.info("Pill intersect",e,{radius:f,point:b}),Qe.polygon(e,g,b)},s}var xae=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();o(vae,"halfRoundedRectangle")});async function bae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=4,l=a.height+e.padding,u=l/s,h=a.width+2*u+e.padding,f=[{x:u,y:0},{x:h-u,y:0},{x:h,y:-l/2},{x:h-u,y:-l},{x:u,y:-l},{x:0,y:-l/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=nt(e,{}),y=oze(0,0,h,l,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${l/2})`),p&&d.attr("style",p)}else d=rs(i,h,l,f);return n&&d.attr("style",n),e.width=h,e.height=l,rt(e,d),e.intersect=function(m){return Qe.polygon(e,f,m)},i}var oze,Tae=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();oze=o((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");o(bae,"hexagon")});async function wae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.label="",e.labelStyle=r;let{shapeSvg:i}=await pt(t,e,ht(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=Je.svg(i),h=nt(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let f=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=er(f),p=u.path(d,h),m=i.insert(()=>p,":first-child");return m.attr("class","basic label-container"),l&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",l),n&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",n),m.attr("transform",`translate(${-a/2}, ${-s/2})`),rt(e,m),e.intersect=function(g){return K.info("Pill intersect",e,{points:f}),Qe.polygon(e,f,g)},i}var kae=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();o(wae,"hourglass")});async function Eae(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Ze(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await pt(t,e,"icon-shape default"),p=e.pos==="t",m=l,g=l,{nodeBorder:y}=r,{stylesMap:v}=pu(e),x=-g/2,b=-m/2,T=e.label?8:0,E=Je.svg(h),w=nt(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let k=E.rectangle(x,b,g,m,w),S=Math.max(g,f.width),A=m+f.height+T,L=E.rectangle(-S/2,-A/2,S,A,{...w,fill:"transparent",stroke:"none"}),I=h.insert(()=>k,":first-child"),N=h.insert(()=>L);if(e.icon){let C=h.append("g");C.html(`${await eo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let _=C.node().getBBox(),D=_.width,M=_.height,R=_.x,P=_.y;C.attr("transform",`translate(${-D/2-R},${p?f.height/2+T/2-M/2-P:-f.height/2-T/2-M/2-P})`),C.attr("style",`color: ${v.get("stroke")??y};`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-A/2:A/2-f.height})`),I.attr("transform",`translate(0,${p?f.height/2+T/2:-f.height/2-T/2})`),rt(e,N),e.intersect=function(C){if(K.info("iconSquare intersect",e,C),!e.label)return Qe.rect(e,C);let _=e.x??0,D=e.y??0,M=e.height??0,R=[];return p?R=[{x:_-f.width/2,y:D-M/2},{x:_+f.width/2,y:D-M/2},{x:_+f.width/2,y:D-M/2+f.height+T},{x:_+g/2,y:D-M/2+f.height+T},{x:_+g/2,y:D+M/2},{x:_-g/2,y:D+M/2},{x:_-g/2,y:D-M/2+f.height+T},{x:_-f.width/2,y:D-M/2+f.height+T}]:R=[{x:_-g/2,y:D-M/2},{x:_+g/2,y:D-M/2},{x:_+g/2,y:D-M/2+m},{x:_+f.width/2,y:D-M/2+m},{x:_+f.width/2/2,y:D+M/2},{x:_-f.width/2,y:D+M/2},{x:_-f.width/2,y:D-M/2+m},{x:_-g/2,y:D-M/2+m}],Qe.polygon(e,R,C)},h}var Sae=O(()=>{"use strict";Wt();xt();Xc();Yt();Ut();$t();o(Eae,"icon")});async function Cae(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Ze(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await pt(t,e,"icon-shape default"),p=20,m=e.label?8:0,g=e.pos==="t",{nodeBorder:y,mainBkg:v}=r,{stylesMap:x}=pu(e),b=Je.svg(h),T=nt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=x.get("fill");T.stroke=E??v;let w=h.append("g");e.icon&&w.html(`${await eo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let k=w.node().getBBox(),S=k.width,A=k.height,L=k.x,I=k.y,N=Math.max(S,A)*Math.SQRT2+p*2,C=b.circle(0,0,N,T),_=Math.max(N,f.width),D=N+f.height+m,M=b.rectangle(-_/2,-D/2,_,D,{...T,fill:"transparent",stroke:"none"}),R=h.insert(()=>C,":first-child"),P=h.insert(()=>M);return w.attr("transform",`translate(${-S/2-L},${g?f.height/2+m/2-A/2-I:-f.height/2-m/2-A/2-I})`),w.attr("style",`color: ${x.get("stroke")??y};`),d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-D/2:D/2-f.height})`),R.attr("transform",`translate(0,${g?f.height/2+m/2:-f.height/2-m/2})`),rt(e,P),e.intersect=function(B){return K.info("iconSquare intersect",e,B),Qe.rect(e,B)},h}var Aae=O(()=>{"use strict";Wt();xt();Xc();Yt();Ut();$t();o(Cae,"iconCircle")});var ho,x0=O(()=>{"use strict";ho=o((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});async function _ae(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Ze(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await pt(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=pu(e),T=-y/2,E=-g/2,w=e.label?8:0,k=Je.svg(h),S=nt(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");let A=b.get("fill");S.stroke=A??x;let L=k.path(ho(T,E,y,g,5),S),I=Math.max(y,f.width),N=g+f.height+w,C=k.rectangle(-I/2,-N/2,I,N,{...S,fill:"transparent",stroke:"none"}),_=h.insert(()=>L,":first-child").attr("class","icon-shape2"),D=h.insert(()=>C);if(e.icon){let M=h.append("g");M.html(`${await eo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let R=M.node().getBBox(),P=R.width,B=R.height,F=R.x,G=R.y;M.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-G:-f.height/2-w/2-B/2-G})`),M.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-N/2:N/2-f.height})`),_.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),rt(e,D),e.intersect=function(M){if(K.info("iconSquare intersect",e,M),!e.label)return Qe.rect(e,M);let R=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:R-f.width/2,y:P-B/2},{x:R+f.width/2,y:P-B/2},{x:R+f.width/2,y:P-B/2+f.height+w},{x:R+y/2,y:P-B/2+f.height+w},{x:R+y/2,y:P+B/2},{x:R-y/2,y:P+B/2},{x:R-y/2,y:P-B/2+f.height+w},{x:R-f.width/2,y:P-B/2+f.height+w}]:F=[{x:R-y/2,y:P-B/2},{x:R+y/2,y:P-B/2},{x:R+y/2,y:P-B/2+g},{x:R+f.width/2,y:P-B/2+g},{x:R+f.width/2/2,y:P+B/2},{x:R-f.width/2,y:P+B/2},{x:R-f.width/2,y:P-B/2+g},{x:R-y/2,y:P-B/2+g}],Qe.polygon(e,F,M)},h}var Dae=O(()=>{"use strict";Wt();xt();Xc();Yt();Ut();x0();$t();o(_ae,"iconRounded")});async function Rae(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Ze(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await pt(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=pu(e),T=-y/2,E=-g/2,w=e.label?8:0,k=Je.svg(h),S=nt(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");let A=b.get("fill");S.stroke=A??x;let L=k.path(ho(T,E,y,g,.1),S),I=Math.max(y,f.width),N=g+f.height+w,C=k.rectangle(-I/2,-N/2,I,N,{...S,fill:"transparent",stroke:"none"}),_=h.insert(()=>L,":first-child"),D=h.insert(()=>C);if(e.icon){let M=h.append("g");M.html(`${await eo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let R=M.node().getBBox(),P=R.width,B=R.height,F=R.x,G=R.y;M.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-G:-f.height/2-w/2-B/2-G})`),M.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-N/2:N/2-f.height})`),_.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),rt(e,D),e.intersect=function(M){if(K.info("iconSquare intersect",e,M),!e.label)return Qe.rect(e,M);let R=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:R-f.width/2,y:P-B/2},{x:R+f.width/2,y:P-B/2},{x:R+f.width/2,y:P-B/2+f.height+w},{x:R+y/2,y:P-B/2+f.height+w},{x:R+y/2,y:P+B/2},{x:R-y/2,y:P+B/2},{x:R-y/2,y:P-B/2+f.height+w},{x:R-f.width/2,y:P-B/2+f.height+w}]:F=[{x:R-y/2,y:P-B/2},{x:R+y/2,y:P-B/2},{x:R+y/2,y:P-B/2+g},{x:R+f.width/2,y:P-B/2+g},{x:R+f.width/2/2,y:P+B/2},{x:R-f.width/2,y:P+B/2},{x:R-f.width/2,y:P-B/2+g},{x:R-y/2,y:P-B/2+g}],Qe.polygon(e,F,M)},h}var Lae=O(()=>{"use strict";Wt();xt();Xc();Yt();x0();Ut();$t();o(Rae,"iconSquare")});async function Nae(t,e,{config:{flowchart:r}}){let n=new Image;n.src=e?.img??"",await n.decode();let i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;let{labelStyles:s}=Ze(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let u=Math.max(e.label?l??0:0,e?.assetWidth??i),h=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f=e.constraint==="on"?h/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(h,l??0);let{shapeSvg:d,bbox:p,label:m}=await pt(t,e,"image-shape default"),g=e.pos==="t",y=-h/2,v=-f/2,x=e.label?8:0,b=Je.svg(d),T=nt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=b.rectangle(y,v,h,f,T),w=Math.max(h,p.width),k=f+p.height+x,S=b.rectangle(-w/2,-k/2,w,k,{...T,fill:"none",stroke:"none"}),A=d.insert(()=>E,":first-child"),L=d.insert(()=>S);if(e.img){let I=d.append("image");I.attr("href",e.img),I.attr("width",h),I.attr("height",f),I.attr("preserveAspectRatio","none"),I.attr("transform",`translate(${-h/2},${g?k/2-f:-k/2})`)}return m.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${g?-f/2-p.height/2-x/2:f/2-p.height/2+x/2})`),A.attr("transform",`translate(0,${g?p.height/2+x/2:-p.height/2-x/2})`),rt(e,L),e.intersect=function(I){if(K.info("iconSquare intersect",e,I),!e.label)return Qe.rect(e,I);let N=e.x??0,C=e.y??0,_=e.height??0,D=[];return g?D=[{x:N-p.width/2,y:C-_/2},{x:N+p.width/2,y:C-_/2},{x:N+p.width/2,y:C-_/2+p.height+x},{x:N+h/2,y:C-_/2+p.height+x},{x:N+h/2,y:C+_/2},{x:N-h/2,y:C+_/2},{x:N-h/2,y:C-_/2+p.height+x},{x:N-p.width/2,y:C-_/2+p.height+x}]:D=[{x:N-h/2,y:C-_/2},{x:N+h/2,y:C-_/2},{x:N+h/2,y:C-_/2+f},{x:N+p.width/2,y:C-_/2+f},{x:N+p.width/2/2,y:C+_/2},{x:N-p.width/2,y:C+_/2},{x:N-p.width/2,y:C-_/2+f},{x:N-h/2,y:C-_/2+f}],Qe.polygon(e,D,I)},d}var Mae=O(()=>{"use strict";Wt();xt();Yt();Ut();$t();o(Nae,"imageSquare")});async function Iae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=[{x:0,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:-3*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=nt(e,{}),m=er(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=rs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,rt(e,h),e.intersect=function(d){return Qe.polygon(e,u,d)},i}var Oae=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();o(Iae,"inv_trapezoid")});async function Dh(t,e,r){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await pt(t,e,ht(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Je.svg(a),v=nt(e,{}),x=p||m?y.path(ho(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",Bn(g))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",Bn(p)).attr("ry",Bn(m)).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return rt(e,d),e.calcIntersect=function(y,v){return Qe.rect(y,v)},e.intersect=function(y){return Qe.rect(e,y)},a}var m1=O(()=>{"use strict";$t();Yt();x0();Ut();Wt();ar();o(Dh,"drawRect")});async function Pae(t,e){let{shapeSvg:r,bbox:n,label:i}=await pt(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),rt(e,a),e.intersect=function(u){return Qe.rect(e,u)},r}var Bae=O(()=>{"use strict";m1();$t();Yt();o(Pae,"labelRect")});async function Fae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:0,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:-(3*l)/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=nt(e,{}),m=er(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=rs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,rt(e,h),e.intersect=function(d){return Qe.polygon(e,u,d)},i}var $ae=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();o(Fae,"lean_left")});async function zae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:-3*l/6,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=nt(e,{}),m=er(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=rs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,rt(e,h),e.intersect=function(d){return Qe.polygon(e,u,d)},i}var Gae=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();o(zae,"lean_right")});function Vae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.label="",e.labelStyle=r;let i=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),u=7,h=[{x:s,y:0},{x:0,y:l+u/2},{x:s-2*u,y:l+u/2},{x:0,y:2*l},{x:s,y:l-u/2},{x:2*u,y:l-u/2}],f=Je.svg(i),d=nt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=er(h),m=f.path(p,d),g=i.insert(()=>m,":first-child");return a&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",n),g.attr("transform",`translate(-${s/2},${-l})`),rt(e,g),e.intersect=function(y){return K.info("lightningBolt intersect",e,y),Qe.polygon(e,h,y)},i}var qae=O(()=>{"use strict";xt();$t();Ut();Wt();Yt();$t();o(Vae,"lightningBolt")});async function Uae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+(e.padding??0),e.height??0),d=f*.1,p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=Je.svg(i),y=cze(0,0,l,f,u,h,d),v=uze(0,h,l,f,u,h),x=nt(e,{}),b=g.path(y,x),T=g.path(v,x);i.insert(()=>T,":first-child").attr("class","line"),p=i.insert(()=>b,":first-child"),p.attr("class","basic label-container"),m&&p.attr("style",m)}else{let g=lze(0,0,l,f,u,h,d);p=i.insert("path",":first-child").attr("d",g).attr("class","basic label-container").attr("style",Bn(m)).attr("style",n)}return p.attr("label-offset-y",h),p.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),rt(e,p),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),e.intersect=function(g){let y=Qe.rect(e,g),v=y.x-(e.x??0);if(u!=0&&(Math.abs(v)<(e.width??0)/2||Math.abs(v)==(e.width??0)/2&&Math.abs(y.y-(e.y??0))>(e.height??0)/2-h)){let x=h*h*(1-v*v/(u*u));x>0&&(x=Math.sqrt(x)),x=h-x,g.y-(e.y??0)>0&&(x=-x),y.y+=x}return y},i}var lze,cze,uze,Wae=O(()=>{"use strict";$t();Yt();Ut();Wt();ar();lze=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),cze=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),uze=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(Uae,"linedCylinder")});async function Hae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,{cssStyles:d}=e,p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-l/2-l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:f/2},...El(-l/2-l/2*.1,f/2,l/2+l/2*.1,f/2,h,.8),{x:l/2+l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:-f/2},{x:-l/2,y:-f/2},{x:-l/2,y:f/2*1.1},{x:-l/2,y:-f/2}],y=p.polygon(g.map(x=>[x.x,x.y]),m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)+l/2*.1/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),rt(e,v),e.intersect=function(x){return Qe.polygon(e,g,x)},i}var Yae=O(()=>{"use strict";$t();Yt();Wt();Ut();o(Hae,"linedWaveEdgedRect")});async function jae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{}),y=[{x:f-h,y:d+h},{x:f-h,y:d+u+h},{x:f+l-h,y:d+u+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d+u-h},{x:f+l+h,y:d+u-h},{x:f+l+h,y:d-h},{x:f+h,y:d-h},{x:f+h,y:d},{x:f,y:d},{x:f,y:d+h}],v=[{x:f,y:d+h},{x:f+l-h,y:d+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d},{x:f,y:d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=er(y),b=m.path(x,g),T=er(v),E=m.path(T,{...g,fill:"none"}),w=i.insert(()=>E,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)-h-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),rt(e,w),e.intersect=function(k){return Qe.polygon(e,y,k)},i}var Xae=O(()=>{"use strict";$t();Ut();Wt();Yt();o(jae,"multiRect")});async function Kae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,d=-l/2,p=-f/2,m=5,{cssStyles:g}=e,y=El(d-m,p+f+m,d+l-m,p+f+m,h,.8),v=y?.[y.length-1],x=[{x:d-m,y:p+m},{x:d-m,y:p+f+m},...y,{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:v.y-2*m},{x:d+l+m,y:v.y-2*m},{x:d+l+m,y:p-m},{x:d+m,y:p-m},{x:d+m,y:p},{x:d,y:p},{x:d,y:p+m}],b=[{x:d,y:p+m},{x:d+l-m,y:p+m},{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:p},{x:d,y:p}],T=Je.svg(i),E=nt(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");let w=er(x),k=T.path(w,E),S=er(b),A=T.path(S,E),L=i.insert(()=>k,":first-child");return L.insert(()=>A),L.attr("class","basic label-container"),g&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-(a.width/2)-m-(a.x-(a.left??0))}, ${-(a.height/2)+m-h/2-(a.y-(a.top??0))})`),rt(e,L),e.intersect=function(I){return Qe.polygon(e,x,I)},i}var Qae=O(()=>{"use strict";$t();Yt();Wt();Ut();o(Kae,"multiWaveEdgedRectangle")});async function Zae(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n,e.useHtmlLabels||Sr(Zt())||(e.centerLabel=!0);let{shapeSvg:s,bbox:l,label:u}=await pt(t,e,ht(e)),h=Math.max(l.width+(e.padding??0)*2,e?.width??0),f=Math.max(l.height+(e.padding??0)*2,e?.height??0),d=-h/2,p=-f/2,{cssStyles:m}=e,g=Je.svg(s),y=nt(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=g.rectangle(d,p,h,f,y),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",m),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),rt(e,x),e.intersect=function(b){return Qe.rect(e,b)},s}var Jae=O(()=>{"use strict";Wt();Yt();Ut();$t();$r();$r();o(Zae,"note")});async function ese(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.width+e.padding,l=a.height+e.padding,u=s+l,h=.5,f=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=nt(e,{}),y=hze(0,0,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-u/2+h}, ${u/2})`),p&&d.attr("style",p)}else d=rs(i,u,u,f),d.attr("transform",`translate(${-u/2+h}, ${u/2})`);return n&&d.attr("style",n),rt(e,d),e.calcIntersect=function(m,g){let y=m.width,v=[{x:y/2,y:0},{x:y,y:-y/2},{x:y/2,y:-y},{x:0,y:-y/2}],x=Qe.polygon(m,v,g);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(m){return this.calcIntersect(e,m)},i}var hze,tse=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();hze=o((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");o(ese,"question")});async function rse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0),e?.width??0),u=Math.max(a.height+(e.padding??0),e?.height??0),h=-l/2,f=-u/2,d=f/2,p=[{x:h+d,y:f},{x:h,y:0},{x:h+d,y:-f},{x:-h,y:-f},{x:-h,y:f}],{cssStyles:m}=e,g=Je.svg(i),y=nt(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=er(p),x=g.path(v,y),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-d/2},0)`),s.attr("transform",`translate(${-d/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),rt(e,b),e.intersect=function(T){return Qe.polygon(e,p,T)},i}var nse=O(()=>{"use strict";$t();Yt();Ut();Wt();o(rse,"rect_left_inv_arrow")});var fze,yc,iE=O(()=>{"use strict";$r();jt();co();fze=o(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);let s=ve(),l=Sr(s);return await Fn(t,a,{style:r,isTitle:n,useHtmlLabels:l,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),yc=fze});async function ise(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=await yc(l,h,e.labelStyle,!0,!0),d={width:0,height:0};if(Sr(ve())){let A=f.children[0],L=je(f);d=A.getBoundingClientRect(),L.attr("width",d.width),L.attr("height",d.height)}K.info("Text 2",u);let p=u||[],m=f.getBBox(),g=await yc(l,Array.isArray(p)?p.join("
    "):p,e.labelStyle,!0,!0),y=g.children[0],v=je(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;je(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),je(f).attr("transform","translate( "+(d.width(K.debug("Rough node insert CXC",I),N),":first-child"),k=a.insert(()=>(K.debug("Rough node insert CXC",I),I),":first-child")}else k=s.insert("rect",":first-child"),S=s.insert("line"),k.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),S.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return rt(e,k),e.intersect=function(A){return Qe.rect(e,A)},a}var ase=O(()=>{"use strict";Ar();$t();iE();Yt();Ut();Wt();jt();x0();xt();$r();o(ise,"rectWithTitle")});async function sse(t,e){let r={rx:5,ry:5,classes:"",labelPaddingX:(e?.padding||0)*1,labelPaddingY:(e?.padding||0)*1};return Dh(t,e,r)}var ose=O(()=>{"use strict";m1();o(sse,"roundedRect")});async function lse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=e?.padding??0,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=-a.width/2-l,d=-a.height/2-l,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d},{x:f+u+8,y:d},{x:f+u+8,y:d+h},{x:f-8,y:d+h},{x:f-8,y:d},{x:f,y:d},{x:f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container").attr("style",Bn(p)),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-h/2+(e.padding??0)-(a.y-(a.top??0))})`),rt(e,x),e.intersect=function(b){return Qe.rect(e,b)},i}var cse=O(()=>{"use strict";$t();Yt();Ut();Wt();ar();o(lse,"shadedProcess")});async function use(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=-l/2,f=-u/2,{cssStyles:d}=e,p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:h,y:f},{x:h,y:f+u},{x:h+l,y:f+u},{x:h+l,y:f-u/2}],y=er(g),v=p.path(y,m),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),x.attr("transform",`translate(0, ${u/4})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))}, ${-u/4+(e.padding??0)-(a.y-(a.top??0))})`),rt(e,x),e.intersect=function(b){return Qe.polygon(e,g,b)},i}var hse=O(()=>{"use strict";$t();Yt();Ut();Wt();o(use,"slopedRect")});async function fse(t,e){let r={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return Dh(t,e,r)}var dse=O(()=>{"use strict";m1();o(fse,"squareRect")});async function pse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,u=s/2,{cssStyles:h}=e,f=Je.svg(i),d=nt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-l/2+u,y:-s/2},{x:l/2-u,y:-s/2},...y0(-l/2+u,0,u,50,90,270),{x:l/2-u,y:s/2},...y0(l/2-u,0,u,50,270,450)],m=er(p),g=f.path(m,d),y=i.insert(()=>g,":first-child");return y.attr("class","basic label-container outer-path"),h&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",h),n&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",n),rt(e,y),e.intersect=function(v){return Qe.polygon(e,p,v)},i}var mse=O(()=>{"use strict";$t();Yt();Ut();Wt();o(pse,"stadium")});async function gse(t,e){return Dh(t,e,{rx:5,ry:5,classes:"flowchart-node"})}var yse=O(()=>{"use strict";m1();o(gse,"state")});function vse(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n;let{cssStyles:a}=e,{lineColor:s,stateBorder:l,nodeBorder:u}=r,h=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),f=Je.svg(h),d=nt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=f.circle(0,0,14,{...d,stroke:s,strokeWidth:2}),m=l??u,g=f.circle(0,0,5,{...d,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),y=h.insert(()=>p,":first-child");return y.insert(()=>g),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),rt(e,y),e.intersect=function(v){return Qe.circle(e,7,v)},h}var xse=O(()=>{"use strict";Wt();Yt();Ut();$t();o(vse,"stateEnd")});function bse(t,e,{config:{themeVariables:r}}){let{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Je.svg(i).circle(0,0,14,Cie(n));a=i.insert(()=>l),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return rt(e,a),e.intersect=function(s){return Qe.circle(e,7,s)},i}var Tse=O(()=>{"use strict";Wt();Yt();Ut();$t();o(bse,"stateStart")});async function wse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-s,f=-a.height/2-s,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Je.svg(i),m=nt(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",Bn(b)),rt(e,x)}else{let p=rs(i,l,u,d);n&&p.attr("style",n),rt(e,p)}return e.intersect=function(p){return Qe.polygon(e,d,p)},i}var kse=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();ar();o(wse,"subroutine")});async function Ese(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=-s/2,h=-l/2,f=.2*l,d=.2*l,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{}),y=[{x:u-f/2,y:h},{x:u+s+f/2,y:h},{x:u+s+f/2,y:h+l},{x:u-f/2,y:h+l}],v=[{x:u+s-f/2,y:h+l},{x:u+s+f/2,y:h+l},{x:u+s+f/2,y:h+l-d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=er(y),b=m.path(x,g),T=er(v),E=m.path(T,{...g,fillStyle:"solid"}),w=i.insert(()=>E,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),rt(e,w),e.intersect=function(k){return Qe.polygon(e,y,k)},i}var Sse=O(()=>{"use strict";$t();Ut();Wt();Yt();o(Ese,"taggedRect")});async function Cse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=.2*l,d=.2*u,p=u+h,{cssStyles:m}=e,g=Je.svg(i),y=nt(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-l/2-l/2*.1,y:p/2},...El(-l/2-l/2*.1,p/2,l/2+l/2*.1,p/2,h,.8),{x:l/2+l/2*.1,y:-p/2},{x:-l/2-l/2*.1,y:-p/2}],x=-l/2+l/2*.1,b=-p/2-d*.4,T=[{x:x+l-f,y:(b+u)*1.4},{x:x+l,y:b+u-d},{x:x+l,y:(b+u)*.9},...El(x+l,(b+u)*1.3,x+l-f,(b+u)*1.5,-u*.03,.5)],E=er(v),w=g.path(E,y),k=er(T),S=g.path(k,{...y,fillStyle:"solid"}),A=i.insert(()=>S,":first-child");return A.insert(()=>w,":first-child"),A.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),rt(e,A),e.intersect=function(L){return Qe.polygon(e,v,L)},i}var Ase=O(()=>{"use strict";$t();Yt();Wt();Ut();o(Cse,"taggedWaveEdgedRectangle")});async function _se(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+e.padding,e?.width||0),l=Math.max(a.height+e.padding,e?.height||0),u=-s/2,h=-l/2,f=i.insert("rect",":first-child");return f.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",u).attr("y",h).attr("width",s).attr("height",l),rt(e,f),e.intersect=function(d){return Qe.rect(e,d)},i}var Dse=O(()=>{"use strict";$t();Yt();Ut();o(_se,"text")});async function Rse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s,halfPadding:l}=await pt(t,e,ht(e)),u=e.look==="neo"?l*2:l,h=a.height+u,f=h/2,d=f/(2.5+h/50),p=a.width+d+u,{cssStyles:m}=e,g;if(e.look==="handDrawn"){let y=Je.svg(i),v=pze(0,0,p,h,d,f),x=mze(0,0,p,h,d,f),b=y.path(v,nt(e,{})),T=y.path(x,nt(e,{fill:"none"}));g=i.insert(()=>T,":first-child"),g=i.insert(()=>b,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{let y=dze(0,0,p,h,d,f);g=i.insert("path",":first-child").attr("d",y).attr("class","basic label-container").attr("style",Bn(m)).attr("style",n),g.attr("class","basic label-container"),m&&g.selectAll("path").attr("style",m),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-p/2}, ${h/2} )`),s.attr("transform",`translate(${-(a.width/2)-d-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),rt(e,g),e.intersect=function(y){let v=Qe.rect(e,y),x=v.y-(e.y??0);if(f!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-d)){let b=d*d*(1-x*x/(f*f));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,y.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},i}var dze,pze,mze,Lse=O(()=>{"use strict";$t();Ut();Wt();Yt();ar();dze=o((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 a${i},${a} 0,0,1 0,${n} M${r},${-n} a${i},${a} 0,0,0 0,${n} - l${-r},0`,"createCylinderPathD"),LFe=o((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),NFe=o((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD");o(Hae,"tiltedCylinder")});async function jae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-3*l/6,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=tt(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=ao(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ze(e,h),e.intersect=function(d){return Ke.polygon(e,u,d)},i}var Xae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();o(jae,"trapezoid")});async function Kae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=60,l=20,u=Math.max(s,a.width+(e.padding??0)*2,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),{cssStyles:f}=e,d=Je.svg(i),p=tt(e,{});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let m=[{x:-u/2*.8,y:-h/2},{x:u/2*.8,y:-h/2},{x:u/2,y:-h/2*.6},{x:u/2,y:h/2},{x:-u/2,y:h/2},{x:-u/2,y:-h/2*.6}],g=Wt(m),y=d.path(g,p),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),Ze(e,v),e.intersect=function(x){return Ke.polygon(e,m,x)},i}var Qae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Kae,"trapezoidalPentagon")});async function Zae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Sr(xe().flowchart?.htmlLabels),u=a.width+(e.padding??0),h=u+a.height,f=u+a.height,d=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-h}],{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=Wt(d),v=m.path(y,g),x=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`);return p&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),e.width=u,e.height=h,Ze(e,x),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${h/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(b){return X.info("Triangle intersect",e,d,b),Ke.polygon(e,d,b)},i}var Jae=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();Bt();wr();Qt();o(Zae,"triangle")});async function ese(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/8,f=u+h,{cssStyles:d}=e,m=70-l,g=m>0?m/2:0,y=Je.svg(i),v=tt(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:-l/2-g,y:f/2},...vl(-l/2-g,f/2,l/2+g,f/2,h,.8),{x:l/2+g,y:-f/2},{x:-l/2-g,y:-f/2}],b=Wt(x),T=y.path(b,v),E=i.insert(()=>T,":first-child");return E.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h-(a.y-(a.top??0))})`),Ze(e,E),e.intersect=function(w){return Ke.polygon(e,x,w)},i}var tse=I(()=>{"use strict";Bt();Ht();Yt();Vt();o(ese,"waveEdgedRectangle")});async function rse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=100,l=50,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=u/h,d=u,p=h;d>p*f?p=d/f:d=p*f,d=Math.max(d,s),p=Math.max(p,l);let m=Math.min(p*.2,p/4),g=p+m*2,{cssStyles:y}=e,v=Je.svg(i),x=tt(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let b=[{x:-d/2,y:g/2},...vl(-d/2,g/2,d/2,g/2,m,1),{x:d/2,y:-g/2},...vl(d/2,-g/2,-d/2,-g/2,m,-1)],T=Wt(b),E=v.path(T,x),w=i.insert(()=>E,":first-child");return w.attr("class","basic label-container"),y&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),Ze(e,w),e.intersect=function(k){return Ke.polygon(e,b,k)},i}var nse=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(rse,"waveRectangle")});async function ise(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{}),y=[{x:f-h,y:d-h},{x:f-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d-h}],v=`M${f-h},${d-h} L${f+l},${d-h} L${f+l},${d+u} L${f-h},${d+u} L${f-h},${d-h} + l${-r},0`,"createCylinderPathD"),pze=o((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),mze=o((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD");o(Rse,"tiltedCylinder")});async function Nse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-3*l/6,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=nt(e,{}),m=er(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=rs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,rt(e,h),e.intersect=function(d){return Qe.polygon(e,u,d)},i}var Mse=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();o(Nse,"trapezoid")});async function Ise(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=60,l=20,u=Math.max(s,a.width+(e.padding??0)*2,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),{cssStyles:f}=e,d=Je.svg(i),p=nt(e,{});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let m=[{x:-u/2*.8,y:-h/2},{x:u/2*.8,y:-h/2},{x:u/2,y:-h/2*.6},{x:u/2,y:h/2},{x:-u/2,y:h/2},{x:-u/2,y:-h/2*.6}],g=er(m),y=d.path(g,p),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),rt(e,v),e.intersect=function(x){return Qe.polygon(e,m,x)},i}var Ose=O(()=>{"use strict";$t();Yt();Ut();Wt();o(Ise,"trapezoidalPentagon")});async function Pse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=e.useHtmlLabels||Sr(ve()),u=a.width+(e.padding??0),h=u+a.height,f=u+a.height,d=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-h}],{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=er(d),v=m.path(y,g),x=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`);return p&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),e.width=u,e.height=h,rt(e,x),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${h/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(b){return K.info("Triangle intersect",e,d,b),Qe.polygon(e,d,b)},i}var Bse=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();$t();jt();$r();o(Pse,"triangle")});async function Fse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/8,f=u+h,{cssStyles:d}=e,m=70-l,g=m>0?m/2:0,y=Je.svg(i),v=nt(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:-l/2-g,y:f/2},...El(-l/2-g,f/2,l/2+g,f/2,h,.8),{x:l/2+g,y:-f/2},{x:-l/2-g,y:-f/2}],b=er(x),T=y.path(b,v),E=i.insert(()=>T,":first-child");return E.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h-(a.y-(a.top??0))})`),rt(e,E),e.intersect=function(w){return Qe.polygon(e,x,w)},i}var $se=O(()=>{"use strict";$t();Yt();Wt();Ut();o(Fse,"waveEdgedRectangle")});async function zse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=100,l=50,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=u/h,d=u,p=h;d>p*f?p=d/f:d=p*f,d=Math.max(d,s),p=Math.max(p,l);let m=Math.min(p*.2,p/4),g=p+m*2,{cssStyles:y}=e,v=Je.svg(i),x=nt(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let b=[{x:-d/2,y:g/2},...El(-d/2,g/2,d/2,g/2,m,1),{x:d/2,y:-g/2},...El(d/2,-g/2,-d/2,-g/2,m,-1)],T=er(b),E=v.path(T,x),w=i.insert(()=>E,":first-child");return w.attr("class","basic label-container"),y&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),rt(e,w),e.intersect=function(k){return Qe.polygon(e,b,k)},i}var Gse=O(()=>{"use strict";$t();Yt();Ut();Wt();o(zse,"waveRectangle")});async function Vse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{}),y=[{x:f-h,y:d-h},{x:f-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d-h}],v=`M${f-h},${d-h} L${f+l},${d-h} L${f+l},${d+u} L${f-h},${d+u} L${f-h},${d-h} M${f-h},${d} L${f+l},${d} - M${f},${d-h} L${f},${d+u}`;e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("transform",`translate(${h/2}, ${h/2})`),b.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)+h/2-(a.x-(a.left??0))}, ${-(a.height/2)+h/2-(a.y-(a.top??0))})`),Ze(e,b),e.intersect=function(T){return Ke.polygon(e,y,T)},i}var ase=I(()=>{"use strict";Bt();Vt();Yt();Ht();o(ise,"windowPane")});async function xM(t,e){let r=e;if(r.alias&&(e.label=r.alias),e.look==="handDrawn"){let{themeVariables:V}=tr(),{background:K}=V,ee={...e,id:e.id+"-background",look:"default",cssStyles:["stroke: none",`fill: ${K}`]};await xM(t,ee)}let n=tr();e.useHtmlLabels=n.htmlLabels;let i=n.er?.diagramPadding??10,a=n.er?.entityPadding??6,{cssStyles:s}=e,{labelStyles:l,nodeStyles:u}=Qe(e);if(r.attributes.length===0&&e.label){let V={rx:0,ry:0,labelPaddingX:i,labelPaddingY:i*1.5,classes:""};ma(e.label,n)+V.labelPaddingX*20){let V=d.width+i*2-(y+v+x+b);y+=V/w,v+=V/w,x>0&&(x+=V/w),b>0&&(b+=V/w)}let C=y+v+x+b,D=Je.svg(f),R=tt(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");let O=0;g.length>0&&(O=g.reduce((V,K)=>V+(K?.rowHeight??0),0));let L=Math.max(k.width+i*2,e?.width||0,C),S=Math.max((O??0)+d.height,e?.height||0),A=-L/2,_=-S/2;f.selectAll("g:not(:first-child)").each((V,K,ee)=>{let H=He(ee[K]),he=H.attr("transform"),Z=0,de=0;if(he){let ne=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(he);ne&&(Z=parseFloat(ne[1]),de=parseFloat(ne[2]),H.attr("class").includes("attribute-name")?Z+=y:H.attr("class").includes("attribute-keys")?Z+=y+v:H.attr("class").includes("attribute-comment")&&(Z+=y+v+x))}H.attr("transform",`translate(${A+i/2+Z}, ${de+_+d.height+a/2})`)}),f.select(".name").attr("transform","translate("+-d.width/2+", "+(_+a/2)+")");let N=D.rectangle(A,_,L,S,R),M=f.insert(()=>N,":first-child").attr("style",s.join("")),{themeVariables:P}=tr(),{rowEven:B,rowOdd:F,nodeBorder:G}=P;m.push(0);for(let[V,K]of g.entries()){let H=(V+1)%2===0&&K.yOffset!==0,he=D.rectangle(A,d.height+_+K?.yOffset,L,K?.rowHeight,{...R,fill:H?B:F,stroke:G});f.insert(()=>he,"g.label").attr("style",s.join("")).attr("class",`row-rect-${H?"even":"odd"}`)}let $=D.line(A,d.height+_,L+A,d.height+_,R);f.insert(()=>$).attr("class","divider"),$=D.line(y+A,d.height+_,y+A,S+_,R),f.insert(()=>$).attr("class","divider"),T&&($=D.line(y+v+A,d.height+_,y+v+A,S+_,R),f.insert(()=>$).attr("class","divider")),E&&($=D.line(y+v+x+A,d.height+_,y+v+x+A,S+_,R),f.insert(()=>$).attr("class","divider"));for(let V of m)$=D.line(A,d.height+_+V,L+A,d.height+_+V,R),f.insert(()=>$).attr("class","divider");if(Ze(e,M),u&&e.look!=="handDrawn"){let K=u.split(";")?.filter(ee=>ee.includes("stroke"))?.map(ee=>`${ee}`).join("; ");f.selectAll("path").attr("style",K??""),f.selectAll(".row-rect-even path").attr("style",u)}return e.intersect=function(V){return Ke.rect(e,V)},f}async function ib(t,e,r,n=0,i=0,a=[],s=""){let l=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==zc(e)&&(e=zc(e),e=e.replaceAll("<","<").replaceAll(">",">"));let u=l.node().appendChild(await Ai(l,e,{width:ma(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let f=u.children[0];for(f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">");f.childNodes[0];)f=f.childNodes[0],f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">")}let h=u.getBBox();if(Sr(r.htmlLabels)){let f=u.children[0];f.style.textAlign="start";let d=He(u);h=f.getBoundingClientRect(),d.attr("width",h.width),d.attr("height",h.height)}return h}var sse=I(()=>{"use strict";Bt();Ht();Vt();Yt();nb();ti();yl();wr();kr();sr();o(xM,"erBox");o(ib,"addText")});async function ose(t,e,r,n,i=r.class.padding??12){let a=n?0:3,s=t.insert("g").attr("class",lt(e)).attr("id",e.domId||e.id),l=null,u=null,h=null,f=null,d=0,p=0,m=0;if(l=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await Wk(l,{text:`\xAB${b}\xBB`},0),d=l.node().getBBox().height}u=s.insert("g").attr("class","label-group text"),await Wk(u,e,0,["font-weight: bolder"]);let g=u.node().getBBox();p=g.height,h=s.insert("g").attr("class","members-group text");let y=0;for(let b of e.members){let T=await Wk(h,b,y,[b.parseClassifier()]);y+=T+a}m=h.node().getBBox().height,m<=0&&(m=i/2),f=s.insert("g").attr("class","methods-group text");let v=0;for(let b of e.methods){let T=await Wk(f,b,v,[b.parseClassifier()]);v+=T+a}let x=s.node().getBBox();if(l!==null){let b=l.node().getBBox();l.attr("transform",`translate(${-b.width/2})`)}return u.attr("transform",`translate(${-g.width/2}, ${d})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+p+i*2})`),x=s.node().getBBox(),f.attr("transform",`translate(0, ${d+p+(m?m+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}async function Wk(t,e,r,n=[]){let i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=tr(),s="useHtmlLabels"in e?e.useHtmlLabels:Sr(a.htmlLabels)??!0,l="";"text"in e?l=e.text:l=e.label,!s&&l.startsWith("\\")&&(l=l.substring(1)),Nn(l)&&(s=!0);let u=await Ai(i,_2(ga(l)),{width:ma(l,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),h,f=1;if(s){let d=u.children[0],p=He(u);f=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(f+=d.innerHTML.split("").length-1);let m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(b,10)*5+"px";y.style.minWidth=E,y.style.maxWidth=E}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}else{n.includes("font-weight: bolder")&&He(u).selectAll("tspan").attr("font-weight",""),f=u.children.length;let d=u.children[0];(u.textContent===""||u.textContent.includes(">"))&&(d.textContent=l[0]+l.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),l[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),h=u.getBBox()}return i.attr("transform","translate(0,"+(-h.height/(2*f)+r)+")"),h.height}var lse=I(()=>{"use strict";kr();ti();Bt();sr();Qt();yl();wr();o(ose,"textHelper");o(Wk,"addText")});async function cse(t,e){let r=xe(),n=r.class.padding??12,i=n,a=e.useHtmlLabels??Sr(r.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:l,bbox:u}=await ose(t,e,r,a,i),{labelStyles:h,nodeStyles:f}=Qe(e);e.labelStyle=h,e.cssStyles=s.styles||"";let d=s.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=d.replaceAll("!important","").split(";"));let p=s.members.length===0&&s.methods.length===0&&!r.class?.hideEmptyMembersBox,m=Je.svg(l),g=tt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=u.width,v=u.height;s.members.length===0&&s.methods.length===0?v+=i:s.members.length>0&&s.methods.length===0&&(v+=i*2);let x=-y/2,b=-v/2,T=m.rectangle(x-n,b-n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0),y+2*n,v+2*n+(p?n*2:s.members.length===0&&s.methods.length===0?-n:0),g),E=l.insert(()=>T,":first-child");E.attr("class","basic label-container");let w=E.node().getBBox();l.selectAll(".text").each((R,O,L)=>{let S=He(L[O]),A=S.attr("transform"),_=0;if(A){let B=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(A);B&&(_=parseFloat(B[2]))}let N=_+b+n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0);a||(N-=4);let M=x;(S.attr("class").includes("label-group")||S.attr("class").includes("annotation-group"))&&(M=-S.node()?.getBBox().width/2||0,l.selectAll("text").each(function(P,B,F){window.getComputedStyle(F[B]).textAnchor==="middle"&&(M=0)})),S.attr("transform",`translate(${M}, ${N})`)});let k=l.select(".annotation-group").node().getBBox().height-(p?n/2:0)||0,C=l.select(".label-group").node().getBBox().height-(p?n/2:0)||0,D=l.select(".members-group").node().getBBox().height-(p?n/2:0)||0;if(s.members.length>0||s.methods.length>0||p){let R=m.line(w.x,k+C+b+n,w.x+w.width,k+C+b+n,g);l.insert(()=>R).attr("class","divider").attr("style",d)}if(p||s.members.length>0||s.methods.length>0){let R=m.line(w.x,k+C+D+b+i*2+n,w.x+w.width,k+C+D+b+n+i*2,g);l.insert(()=>R).attr("class","divider").attr("style",d)}if(s.look!=="handDrawn"&&l.selectAll("path").attr("style",d),E.select(":nth-child(2)").attr("style",d),l.selectAll(".divider").select("path").attr("style",d),e.labelStyle?l.selectAll("span").attr("style",e.labelStyle):l.selectAll("span").attr("style",d),!a){let R=RegExp(/color\s*:\s*([^;]*)/),O=R.exec(d);if(O){let L=O[0].replace("color","fill");l.selectAll("tspan").attr("style",L)}else if(h){let L=R.exec(h);if(L){let S=L[0].replace("color","fill");l.selectAll("tspan").attr("style",S)}}}return Ze(e,E),e.intersect=function(R){return Ke.rect(e,R)},l}var use=I(()=>{"use strict";Bt();Qt();kr();Yt();Vt();Ht();lse();wr();o(cse,"classBox")});async function hse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let i=e,a=e,s=20,l=20,u="verifyMethod"in e,h=lt(e),f=t.insert("g").attr("class",h).attr("id",e.domId??e.id),d;u?d=await Sh(f,`<<${i.type}>>`,0,e.labelStyle):d=await Sh(f,"<<Element>>",0,e.labelStyle);let p=d,m=await Sh(f,i.name,p,e.labelStyle+"; font-weight: bold;");if(p+=m+l,u){let k=await Sh(f,`${i.requirementId?`ID: ${i.requirementId}`:""}`,p,e.labelStyle);p+=k;let C=await Sh(f,`${i.text?`Text: ${i.text}`:""}`,p,e.labelStyle);p+=C;let D=await Sh(f,`${i.risk?`Risk: ${i.risk}`:""}`,p,e.labelStyle);p+=D,await Sh(f,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,p,e.labelStyle)}else{let k=await Sh(f,`${a.type?`Type: ${a.type}`:""}`,p,e.labelStyle);p+=k,await Sh(f,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,p,e.labelStyle)}let g=(f.node()?.getBBox().width??200)+s,y=(f.node()?.getBBox().height??200)+s,v=-g/2,x=-y/2,b=Je.svg(f),T=tt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=b.rectangle(v,x,g,y,T),w=f.insert(()=>E,":first-child");if(w.attr("class","basic label-container").attr("style",n),f.selectAll(".label").each((k,C,D)=>{let R=He(D[C]),O=R.attr("transform"),L=0,S=0;if(O){let M=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(O);M&&(L=parseFloat(M[1]),S=parseFloat(M[2]))}let A=S-y/2,_=v+s/2;(C===0||C===1)&&(_=L),R.attr("transform",`translate(${_}, ${A+s})`)}),p>d+m+l){let k=b.line(v,x+d+m+l,v+g,x+d+m+l,T);f.insert(()=>k).attr("style",n)}return Ze(e,w),e.intersect=function(k){return Ke.rect(e,k)},f}async function Sh(t,e,r,n=""){if(e==="")return 0;let i=t.insert("g").attr("class","label").attr("style",n),a=xe(),s=a.htmlLabels??!0,l=await Ai(i,_2(ga(e)),{width:ma(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a),u;if(s){let h=l.children[0],f=He(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{let h=l.children[0];for(let f of h.children)f.textContent=f.textContent.replaceAll(">",">").replaceAll("<","<"),n&&f.setAttribute("style",n);u=l.getBBox(),u.height+=6}return i.attr("transform",`translate(${-u.width/2},${-u.height/2+r})`),u.height}var fse=I(()=>{"use strict";Bt();Ht();Vt();Yt();sr();Qt();yl();kr();o(hse,"requirementBox");o(Sh,"addText")});async function dse(t,e,{config:r}){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:l,bbox:u,label:h}=await ft(t,e,lt(e)),f=e.padding||10,d="",p;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),p=l.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));let m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,y;p?{label:g,bbox:y}=await Lk(p,"ticket"in e&&e.ticket||"",m):{label:g,bbox:y}=await Lk(l,"ticket"in e&&e.ticket||"",m);let{label:v,bbox:x}=await Lk(l,"assigned"in e&&e.assigned||"",m);e.width=s;let b=10,T=e?.width||0,E=Math.max(y.height,x.height)/2,w=Math.max(u.height+b*2,e?.height||0)+E,k=-T/2,C=-w/2;h.attr("transform","translate("+(f-T/2)+", "+(-E-u.height/2)+")"),g.attr("transform","translate("+(f-T/2)+", "+(-E+u.height/2)+")"),v.attr("transform","translate("+(f+T/2-x.width-2*a)+", "+(-E+u.height/2)+")");let D,{rx:R,ry:O}=e,{cssStyles:L}=e;if(e.look==="handDrawn"){let S=Je.svg(l),A=tt(e,{}),_=R||O?S.path(so(k,C,T,w,R||0),A):S.rectangle(k,C,T,w,A);D=l.insert(()=>_,":first-child"),D.attr("class","basic label-container").attr("style",L||null)}else{D=l.insert("rect",":first-child"),D.attr("class","basic label-container __APA__").attr("style",i).attr("rx",R??5).attr("ry",O??5).attr("x",k).attr("y",C).attr("width",T).attr("height",w);let S="priority"in e&&e.priority;if(S){let A=l.append("line"),_=k+2,N=C+Math.floor((R??0)/2),M=C+w-Math.floor((R??0)/2);A.attr("x1",_).attr("y1",N).attr("x2",_).attr("y2",M).attr("stroke-width","4").attr("stroke",MFe(S))}}return Ze(e,D),e.height=w,e.intersect=function(S){return Ke.rect(e,S)},l}var MFe,pse=I(()=>{"use strict";Bt();Ht();m0();Vt();Yt();MFe=o(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");o(dse,"kanbanItem")});async function mse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ft(t,e,lt(e)),u=a.width+10*s,h=a.height+8*s,f=.15*u,{cssStyles:d}=e,p=a.width+20,m=a.height+20,g=Math.max(u,p),y=Math.max(h,m);l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let v,x=`M0 0 + M${f},${d-h} L${f},${d+u}`;e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("transform",`translate(${h/2}, ${h/2})`),b.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)+h/2-(a.x-(a.left??0))}, ${-(a.height/2)+h/2-(a.y-(a.top??0))})`),rt(e,b),e.intersect=function(T){return Qe.polygon(e,y,T)},i}var qse=O(()=>{"use strict";$t();Ut();Wt();Yt();o(Vse,"windowPane")});async function IM(t,e){let r=e;if(r.alias&&(e.label=r.alias),e.look==="handDrawn"){let{themeVariables:V}=Zt(),{background:X}=V,Q={...e,id:e.id+"-background",look:"default",cssStyles:["stroke: none",`fill: ${X}`]};await IM(t,Q)}let n=Zt();e.useHtmlLabels=n.htmlLabels;let i=n.er?.diagramPadding??10,a=n.er?.entityPadding??6,{cssStyles:s}=e,{labelStyles:l,nodeStyles:u}=Ze(e);if(r.attributes.length===0&&e.label){let V={rx:0,ry:0,labelPaddingX:i,labelPaddingY:i*1.5,classes:""};xa(e.label,n)+V.labelPaddingX*20){let V=d.width+i*2-(y+v+x+b);y+=V/w,v+=V/w,x>0&&(x+=V/w),b>0&&(b+=V/w)}let S=y+v+x+b,A=Je.svg(f),L=nt(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");let I=0;g.length>0&&(I=g.reduce((V,X)=>V+(X?.rowHeight??0),0));let N=Math.max(k.width+i*2,e?.width||0,S),C=Math.max((I??0)+d.height,e?.height||0),_=-N/2,D=-C/2;f.selectAll("g:not(:first-child)").each((V,X,Q)=>{let H=je(Q[X]),ie=H.attr("transform"),Y=0,le=0;if(ie){let J=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ie);J&&(Y=parseFloat(J[1]),le=parseFloat(J[2]),H.attr("class").includes("attribute-name")?Y+=y:H.attr("class").includes("attribute-keys")?Y+=y+v:H.attr("class").includes("attribute-comment")&&(Y+=y+v+x))}H.attr("transform",`translate(${_+i/2+Y}, ${le+D+d.height+a/2})`)}),f.select(".name").attr("transform","translate("+-d.width/2+", "+(D+a/2)+")");let M=A.rectangle(_,D,N,C,L),R=f.insert(()=>M,":first-child").attr("style",s.join("")),{themeVariables:P}=Zt(),{rowEven:B,rowOdd:F,nodeBorder:G}=P;m.push(0);for(let[V,X]of g.entries()){let H=(V+1)%2===0&&X.yOffset!==0,ie=A.rectangle(_,d.height+D+X?.yOffset,N,X?.rowHeight,{...L,fill:H?B:F,stroke:G});f.insert(()=>ie,"g.label").attr("style",s.join("")).attr("class",`row-rect-${H?"even":"odd"}`)}let $=A.line(_,d.height+D,N+_,d.height+D,L);f.insert(()=>$).attr("class","divider"),$=A.line(y+_,d.height+D,y+_,C+D,L),f.insert(()=>$).attr("class","divider"),T&&($=A.line(y+v+_,d.height+D,y+v+_,C+D,L),f.insert(()=>$).attr("class","divider")),E&&($=A.line(y+v+x+_,d.height+D,y+v+x+_,C+D,L),f.insert(()=>$).attr("class","divider"));for(let V of m)$=A.line(_,d.height+D+V,N+_,d.height+D+V,L),f.insert(()=>$).attr("class","divider");if(rt(e,R),u&&e.look!=="handDrawn"){let X=u.split(";")?.filter(Q=>Q.includes("stroke"))?.map(Q=>`${Q}`).join("; ");f.selectAll("path").attr("style",X??""),f.selectAll(".row-rect-even path").attr("style",u)}return e.intersect=function(V){return Qe.rect(e,V)},f}async function mb(t,e,r,n=0,i=0,a=[],s=""){let l=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==jc(e)&&(e=jc(e),e=e.replaceAll("<","<").replaceAll(">",">"));let u=l.node().appendChild(await Fn(l,e,{width:xa(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let f=u.children[0];for(f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">");f.childNodes[0];)f=f.childNodes[0],f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">")}let h=u.getBBox();if(Xs(r.htmlLabels)){let f=u.children[0];f.style.textAlign="start";let d=je(u);h=f.getBoundingClientRect(),d.attr("width",h.width),d.attr("height",h.height)}return h}var Use=O(()=>{"use strict";$t();Yt();Ut();Wt();m1();$r();co();Ur();Ar();ar();o(IM,"erBox");o(mb,"addText")});async function Wse(t,e,r,n,i=r.class.padding??12){let a=n?0:3,s=t.insert("g").attr("class",ht(e)).attr("id",e.domId||e.id),l=null,u=null,h=null,f=null,d=0,p=0,m=0;if(l=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await aE(l,{text:`\xAB${b}\xBB`},0),d=l.node().getBBox().height}u=s.insert("g").attr("class","label-group text"),await aE(u,e,0,["font-weight: bolder"]);let g=u.node().getBBox();p=g.height,h=s.insert("g").attr("class","members-group text");let y=0;for(let b of e.members){let T=await aE(h,b,y,[b.parseClassifier()]);y+=T+a}m=h.node().getBBox().height,m<=0&&(m=i/2),f=s.insert("g").attr("class","methods-group text");let v=0;for(let b of e.methods){let T=await aE(f,b,v,[b.parseClassifier()]);v+=T+a}let x=s.node().getBBox();if(l!==null){let b=l.node().getBBox();l.attr("transform",`translate(${-b.width/2})`)}return u.attr("transform",`translate(${-g.width/2}, ${d})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+p+i*2})`),x=s.node().getBBox(),f.attr("transform",`translate(0, ${d+p+(m?m+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}async function aE(t,e,r,n=[]){let i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=Zt(),s="useHtmlLabels"in e?e.useHtmlLabels:Xs(a.htmlLabels)??!0,l="";"text"in e?l=e.text:l=e.label,!s&&l.startsWith("\\")&&(l=l.substring(1)),Jn(l)&&(s=!0);let u=await Fn(i,G2(ao(l)),{width:xa(l,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),h,f=1;if(s){let d=u.children[0],p=je(u);f=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(f+=d.innerHTML.split("").length-1);let m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(b,10)*5+"px";y.style.minWidth=E,y.style.maxWidth=E}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}else{n.includes("font-weight: bolder")&&je(u).selectAll("tspan").attr("font-weight",""),f=u.children.length;let d=u.children[0];(u.textContent===""||u.textContent.includes(">"))&&(d.textContent=l[0]+l.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),l[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),h=u.getBBox()}return i.attr("transform","translate(0,"+(-h.height/(2*f)+r)+")"),h.height}var Hse=O(()=>{"use strict";Ar();$r();$t();ar();jt();co();Ur();o(Wse,"textHelper");o(aE,"addText")});async function Yse(t,e){let r=ve(),n=r.class.padding??12,i=n,a=e.useHtmlLabels??Xs(r.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:l,bbox:u}=await Wse(t,e,r,a,i),{labelStyles:h,nodeStyles:f}=Ze(e);e.labelStyle=h,e.cssStyles=s.styles||"";let d=s.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=d.replaceAll("!important","").split(";"));let p=s.members.length===0&&s.methods.length===0&&!r.class?.hideEmptyMembersBox,m=Je.svg(l),g=nt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=u.width,v=u.height;s.members.length===0&&s.methods.length===0?v+=i:s.members.length>0&&s.methods.length===0&&(v+=i*2);let x=-y/2,b=-v/2,T=m.rectangle(x-n,b-n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0),y+2*n,v+2*n+(p?n*2:s.members.length===0&&s.methods.length===0?-n:0),g),E=l.insert(()=>T,":first-child");E.attr("class","basic label-container");let w=E.node().getBBox();l.selectAll(".text").each((L,I,N)=>{let C=je(N[I]),_=C.attr("transform"),D=0;if(_){let B=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(_);B&&(D=parseFloat(B[2]))}let M=D+b+n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0);a||(M-=4);let R=x;(C.attr("class").includes("label-group")||C.attr("class").includes("annotation-group"))&&(R=-C.node()?.getBBox().width/2||0,l.selectAll("text").each(function(P,B,F){window.getComputedStyle(F[B]).textAnchor==="middle"&&(R=0)})),C.attr("transform",`translate(${R}, ${M})`)});let k=l.select(".annotation-group").node().getBBox().height-(p?n/2:0)||0,S=l.select(".label-group").node().getBBox().height-(p?n/2:0)||0,A=l.select(".members-group").node().getBBox().height-(p?n/2:0)||0;if(s.members.length>0||s.methods.length>0||p){let L=m.line(w.x,k+S+b+n,w.x+w.width,k+S+b+n,g);l.insert(()=>L).attr("class","divider").attr("style",d)}if(p||s.members.length>0||s.methods.length>0){let L=m.line(w.x,k+S+A+b+i*2+n,w.x+w.width,k+S+A+b+n+i*2,g);l.insert(()=>L).attr("class","divider").attr("style",d)}if(s.look!=="handDrawn"&&l.selectAll("path").attr("style",d),E.select(":nth-child(2)").attr("style",d),l.selectAll(".divider").select("path").attr("style",d),e.labelStyle?l.selectAll("span").attr("style",e.labelStyle):l.selectAll("span").attr("style",d),!a){let L=RegExp(/color\s*:\s*([^;]*)/),I=L.exec(d);if(I){let N=I[0].replace("color","fill");l.selectAll("tspan").attr("style",N)}else if(h){let N=L.exec(h);if(N){let C=N[0].replace("color","fill");l.selectAll("tspan").attr("style",C)}}}return rt(e,E),e.intersect=function(L){return Qe.rect(e,L)},l}var jse=O(()=>{"use strict";$t();jt();Ar();Wt();Ut();Yt();Hse();Ur();o(Yse,"classBox")});async function Xse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let i=e,a=e,s=20,l=20,u="verifyMethod"in e,h=ht(e),f=t.insert("g").attr("class",h).attr("id",e.domId??e.id),d;u?d=await Rh(f,`<<${i.type}>>`,0,e.labelStyle):d=await Rh(f,"<<Element>>",0,e.labelStyle);let p=d,m=await Rh(f,i.name,p,e.labelStyle+"; font-weight: bold;");if(p+=m+l,u){let k=await Rh(f,`${i.requirementId?`ID: ${i.requirementId}`:""}`,p,e.labelStyle);p+=k;let S=await Rh(f,`${i.text?`Text: ${i.text}`:""}`,p,e.labelStyle);p+=S;let A=await Rh(f,`${i.risk?`Risk: ${i.risk}`:""}`,p,e.labelStyle);p+=A,await Rh(f,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,p,e.labelStyle)}else{let k=await Rh(f,`${a.type?`Type: ${a.type}`:""}`,p,e.labelStyle);p+=k,await Rh(f,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,p,e.labelStyle)}let g=(f.node()?.getBBox().width??200)+s,y=(f.node()?.getBBox().height??200)+s,v=-g/2,x=-y/2,b=Je.svg(f),T=nt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=b.rectangle(v,x,g,y,T),w=f.insert(()=>E,":first-child");if(w.attr("class","basic label-container").attr("style",n),f.selectAll(".label").each((k,S,A)=>{let L=je(A[S]),I=L.attr("transform"),N=0,C=0;if(I){let R=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(I);R&&(N=parseFloat(R[1]),C=parseFloat(R[2]))}let _=C-y/2,D=v+s/2;(S===0||S===1)&&(D=N),L.attr("transform",`translate(${D}, ${_+s})`)}),p>d+m+l){let k=b.line(v,x+d+m+l,v+g,x+d+m+l,T);f.insert(()=>k).attr("style",n)}return rt(e,w),e.intersect=function(k){return Qe.rect(e,k)},f}async function Rh(t,e,r,n=""){if(e==="")return 0;let i=t.insert("g").attr("class","label").attr("style",n),a=ve(),s=a.htmlLabels??!0,l=await Fn(i,G2(ao(e)),{width:xa(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a),u;if(s){let h=l.children[0],f=je(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{let h=l.children[0];for(let f of h.children)f.textContent=f.textContent.replaceAll(">",">").replaceAll("<","<"),n&&f.setAttribute("style",n);u=l.getBBox(),u.height+=6}return i.attr("transform",`translate(${-u.width/2},${-u.height/2+r})`),u.height}var Kse=O(()=>{"use strict";$t();Yt();Ut();Wt();ar();jt();co();Ar();o(Xse,"requirementBox");o(Rh,"addText")});async function Qse(t,e,{config:r}){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:l,bbox:u,label:h}=await pt(t,e,ht(e)),f=e.padding||10,d="",p;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),p=l.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));let m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,y;p?{label:g,bbox:y}=await Hk(p,"ticket"in e&&e.ticket||"",m):{label:g,bbox:y}=await Hk(l,"ticket"in e&&e.ticket||"",m);let{label:v,bbox:x}=await Hk(l,"assigned"in e&&e.assigned||"",m);e.width=s;let b=10,T=e?.width||0,E=Math.max(y.height,x.height)/2,w=Math.max(u.height+b*2,e?.height||0)+E,k=-T/2,S=-w/2;h.attr("transform","translate("+(f-T/2)+", "+(-E-u.height/2)+")"),g.attr("transform","translate("+(f-T/2)+", "+(-E+u.height/2)+")"),v.attr("transform","translate("+(f+T/2-x.width-2*a)+", "+(-E+u.height/2)+")");let A,{rx:L,ry:I}=e,{cssStyles:N}=e;if(e.look==="handDrawn"){let C=Je.svg(l),_=nt(e,{}),D=L||I?C.path(ho(k,S,T,w,L||0),_):C.rectangle(k,S,T,w,_);A=l.insert(()=>D,":first-child"),A.attr("class","basic label-container").attr("style",N||null)}else{A=l.insert("rect",":first-child"),A.attr("class","basic label-container __APA__").attr("style",i).attr("rx",L??5).attr("ry",I??5).attr("x",k).attr("y",S).attr("width",T).attr("height",w);let C="priority"in e&&e.priority;if(C){let _=l.append("line"),D=k+2,M=S+Math.floor((L??0)/2),R=S+w-Math.floor((L??0)/2);_.attr("x1",D).attr("y1",M).attr("x2",D).attr("y2",R).attr("stroke-width","4").attr("stroke",gze(C))}}return rt(e,A),e.height=w,e.intersect=function(C){return Qe.rect(e,C)},l}var gze,Zse=O(()=>{"use strict";$t();Yt();x0();Ut();Wt();gze=o(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");o(Qse,"kanbanItem")});async function Jse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await pt(t,e,ht(e)),u=a.width+10*s,h=a.height+8*s,f=.15*u,{cssStyles:d}=e,p=a.width+20,m=a.height+20,g=Math.max(u,p),y=Math.max(h,m);l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let v,x=`M0 0 a${f},${f} 1 0,0 ${g*.25},${-1*y*.1} a${f},${f} 1 0,0 ${g*.25},0 a${f},${f} 1 0,0 ${g*.25},0 @@ -475,7 +474,7 @@ Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error a${f},${f} 1 0,0 ${-1*g*.1},${-1*y*.33} a${f*.8},${f*.8} 1 0,0 0,${-1*y*.34} a${f},${f} 1 0,0 ${g*.1},${-1*y*.33} - H0 V0 Z`;if(e.look==="handDrawn"){let b=Je.svg(i),T=tt(e,{}),E=b.path(x,T);v=i.insert(()=>E,":first-child"),v.attr("class","basic label-container").attr("style",On(d))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return v.attr("transform",`translate(${-g/2}, ${-y/2})`),Ze(e,v),e.calcIntersect=function(b,T){return Ke.rect(b,T)},e.intersect=function(b){return X.info("Bang intersect",e,b),Ke.rect(e,b)},i}var gse=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();sr();o(mse,"bang")});async function yse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ft(t,e,lt(e)),u=a.width+2*s,h=a.height+2*s,f=.15*u,d=.25*u,p=.35*u,m=.2*u,{cssStyles:g}=e,y,v=`M0 0 + H0 V0 Z`;if(e.look==="handDrawn"){let b=Je.svg(i),T=nt(e,{}),E=b.path(x,T);v=i.insert(()=>E,":first-child"),v.attr("class","basic label-container").attr("style",Bn(d))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return v.attr("transform",`translate(${-g/2}, ${-y/2})`),rt(e,v),e.calcIntersect=function(b,T){return Qe.rect(b,T)},e.intersect=function(b){return K.info("Bang intersect",e,b),Qe.rect(e,b)},i}var eoe=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();ar();o(Jse,"bang")});async function toe(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await pt(t,e,ht(e)),u=a.width+2*s,h=a.height+2*s,f=.15*u,d=.25*u,p=.35*u,m=.2*u,{cssStyles:g}=e,y,v=`M0 0 a${f},${f} 0 0,1 ${u*.25},${-1*u*.1} a${p},${p} 1 0,1 ${u*.4},${-1*u*.1} a${d},${d} 1 0,1 ${u*.35},${u*.2} @@ -489,7 +488,7 @@ Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error a${f},${f} 1 0,1 ${-1*u*.1},${-1*h*.35} a${m},${m} 1 0,1 ${u*.1},${-1*h*.65} - H0 V0 Z`;if(e.look==="handDrawn"){let x=Je.svg(i),b=tt(e,{}),T=x.path(v,b);y=i.insert(()=>T,":first-child"),y.attr("class","basic label-container").attr("style",On(g))}else y=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",v);return l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),y.attr("transform",`translate(${-u/2}, ${-h/2})`),Ze(e,y),e.calcIntersect=function(x,b){return Ke.rect(x,b)},e.intersect=function(x){return X.info("Cloud intersect",e,x),Ke.rect(e,x)},i}var vse=I(()=>{"use strict";Yt();gt();sr();Ht();Vt();Bt();o(yse,"cloud")});async function xse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ft(t,e,lt(e)),u=a.width+8*s,h=a.height+2*s,f=5,d=` + H0 V0 Z`;if(e.look==="handDrawn"){let x=Je.svg(i),b=nt(e,{}),T=x.path(v,b);y=i.insert(()=>T,":first-child"),y.attr("class","basic label-container").attr("style",Bn(g))}else y=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",v);return l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),y.attr("transform",`translate(${-u/2}, ${-h/2})`),rt(e,y),e.calcIntersect=function(x,b){return Qe.rect(x,b)},e.intersect=function(x){return K.info("Cloud intersect",e,x),Qe.rect(e,x)},i}var roe=O(()=>{"use strict";Wt();xt();ar();Yt();Ut();$t();o(toe,"cloud")});async function noe(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await pt(t,e,ht(e)),u=a.width+8*s,h=a.height+2*s,f=5,d=` M${-u/2} ${h/2-f} v${-h+2*f} q0,-${f} ${f},-${f} @@ -500,46 +499,46 @@ Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error h${-u+2*f} q-${f},0 -${f},-${f} Z - `,p=i.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-u/2).attr("y1",h/2).attr("x2",u/2).attr("y2",h/2),l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>l.node()),Ze(e,p),e.calcIntersect=function(m,g){return Ke.rect(m,g)},e.intersect=function(m){return Ke.rect(e,m)},i}var bse=I(()=>{"use strict";Ht();Vt();Bt();o(xse,"defaultMindmapNode")});async function Tse(t,e){let r={padding:e.padding??0};return Vk(t,e,r)}var wse=I(()=>{"use strict";vM();o(Tse,"mindmapCircle")});function kse(t){return t in bM}var IFe,OFe,bM,TM=I(()=>{"use strict";iie();oie();cie();hie();vM();die();mie();yie();xie();Tie();kie();Eie();Aie();Die();Lie();Mie();Oie();Bie();$ie();Gie();qie();Wie();Yie();Xie();Qie();Jie();tae();nae();aae();oae();cae();hae();dae();mae();yae();xae();Tae();kae();Eae();Aae();Dae();Lae();Mae();Oae();Bae();$ae();Gae();qae();Wae();Yae();Xae();Qae();Jae();tse();nse();ase();sse();use();fse();pse();gse();vse();bse();wse();IFe=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:_ae},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:wae},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:Rae},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:Fae},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:wie},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:Vk},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:mse},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:yse},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gae},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:Pie},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:rae},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:eae},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:jae},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:Kie},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:Cie},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:Uae},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:lie},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:Sae},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:Pae},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:Iae},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:Nie},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:Fie},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:pie},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:gie},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:vie},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:iae},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:ese},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:Iie},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:Hae},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:sae},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:bie},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:Sie},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:Zae},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:ise},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:_ie},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:Kae},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:Rie},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:Cae},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fae},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:uae},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:sie},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:fie},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:Vae},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:zae},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:rse},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:vae},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:lae}],OFe=o(()=>{let e=[...Object.entries({state:Nae,choice:uie,note:pae,rectWithTitle:bae,labelRect:Zie,iconSquare:Hie,iconCircle:Vie,icon:zie,iconRounded:Uie,imageSquare:jie,anchor:nie,kanbanItem:dse,mindmapCircle:Tse,defaultMindmapNode:xse,classBox:cse,erBox:xM,requirementBox:hse}),...IFe.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),bM=OFe();o(kse,"isValidShape")});var PFe,Hk,Sse=I(()=>{"use strict";kr();Hx();Qt();gt();TM();sr();wr();ki();PFe="flowchart-",Hk=class{constructor(){this.vertexCounter=0;this.config=xe();this.vertices=new Map;this.edges=[];this.classes=new Map;this.subGraphs=[];this.subGraphLookup=new Map;this.tooltips=new Map;this.subCount=0;this.firstGraphFlag=!0;this.secCount=-1;this.posCrossRef=[];this.funs=[];this.setAccTitle=zr;this.setAccDescription=qr;this.setDiagramTitle=Xr;this.getAccTitle=Vr;this.getAccDescription=Ur;this.getDiagramTitle=Wr;this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{o(this,"FlowDB")}sanitizeText(e){return nt.sanitizeText(e,this.config)}lookUpDomId(e){for(let r of this.vertices.values())if(r.id===e)return r.domId;return e}addVertex(e,r,n,i,a,s,l={},u){if(!e||e.trim().length===0)return;let h;if(u!==void 0){let m;u.includes(` + `,p=i.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-u/2).attr("y1",h/2).attr("x2",u/2).attr("y2",h/2),l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>l.node()),rt(e,p),e.calcIntersect=function(m,g){return Qe.rect(m,g)},e.intersect=function(m){return Qe.rect(e,m)},i}var ioe=O(()=>{"use strict";Yt();Ut();$t();o(noe,"defaultMindmapNode")});async function aoe(t,e){let r={padding:e.padding??0};return nE(t,e,r)}var soe=O(()=>{"use strict";MM();o(aoe,"mindmapCircle")});function ooe(t){return t in OM}var yze,vze,OM,PM=O(()=>{"use strict";Vie();Wie();Yie();Xie();MM();Qie();Jie();tae();nae();aae();oae();cae();hae();dae();mae();yae();xae();Tae();kae();Sae();Aae();Dae();Lae();Mae();Oae();Bae();$ae();Gae();qae();Wae();Yae();Xae();Qae();Jae();tse();nse();ase();ose();cse();hse();dse();mse();yse();xse();Tse();kse();Sse();Ase();Dse();Lse();Mse();Ose();Bse();$se();Gse();qse();Use();jse();Kse();Zse();eoe();roe();ioe();soe();yze=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:fse},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:sse},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:pse},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:wse},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:sae},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:nE},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:Jse},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:toe},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:ese},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:bae},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:zae},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:Fae},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:Nse},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:Iae},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:uae},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:_se},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:Hie},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:lse},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:bse},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:vse},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:gae},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:wae},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:Zie},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:eae},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:rae},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:Vae},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:Fse},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:vae},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:Rse},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:Uae},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:iae},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:lae},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:Pse},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:Vse},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:fae},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:Ise},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:pae},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:use},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:Kae},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:jae},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:Uie},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:Kie},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:Cse},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:Ese},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:zse},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:rse},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:Hae}],vze=o(()=>{let e=[...Object.entries({state:gse,choice:jie,note:Zae,rectWithTitle:ise,labelRect:Pae,iconSquare:Rae,iconCircle:Cae,icon:Eae,iconRounded:_ae,imageSquare:Nae,anchor:Gie,kanbanItem:Qse,mindmapCircle:aoe,defaultMindmapNode:noe,classBox:Yse,erBox:IM,requirementBox:Xse}),...yze.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),OM=vze();o(ooe,"isValidShape")});var xze,sE,loe=O(()=>{"use strict";Ar();ib();jt();xt();PM();ar();Ur();si();a0();S2();xze="flowchart-",sE=class{constructor(){this.vertexCounter=0;this.config=ve();this.vertices=new Map;this.edges=[];this.classes=new Map;this.subGraphs=[];this.subGraphLookup=new Map;this.tooltips=new Map;this.subCount=0;this.firstGraphFlag=!0;this.secCount=-1;this.posCrossRef=[];this.funs=[];this.setAccTitle=Lr;this.setAccDescription=Pr;this.setDiagramTitle=zr;this.getAccTitle=Or;this.getAccDescription=Br;this.getDiagramTitle=Fr;this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{o(this,"FlowDB")}sanitizeText(e){return st.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}lookUpDomId(e){for(let r of this.vertices.values())if(r.id===e)return r.domId;return e}addVertex(e,r,n,i,a,s,l={},u){if(!e||e.trim().length===0)return;let h;if(u!==void 0){let m;u.includes(` `)?m=u+` `:m=`{ `+u+` -}`,h=Wf(m,{schema:Uf})}let f=this.edges.find(m=>m.id===e);if(f){let m=h;m?.animate!==void 0&&(f.animate=m.animate),m?.animation!==void 0&&(f.animation=m.animation),m?.curve!==void 0&&(f.interpolate=m.curve);return}let d,p=this.vertices.get(e);if(p===void 0&&(p={id:e,labelType:"text",domId:PFe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,p)),this.vertexCounter++,r!==void 0?(this.config=xe(),d=this.sanitizeText(r.text.trim()),p.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),p.text=d):p.text===void 0&&(p.text=e),n!==void 0&&(p.type=n),i?.forEach(m=>{p.styles.push(m)}),a?.forEach(m=>{p.classes.push(m)}),s!==void 0&&(p.dir=s),p.props===void 0?p.props=l:l!==void 0&&Object.assign(p.props,l),h!==void 0){if(h.shape){if(h.shape!==h.shape.toLowerCase()||h.shape.includes("_"))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);if(!kse(h.shape))throw new Error(`No such shape: ${h.shape}.`);p.type=h?.shape}h?.label&&(p.text=h?.label),h?.icon&&(p.icon=h?.icon,!h.label?.trim()&&p.text===e&&(p.text="")),h?.form&&(p.form=h?.form),h?.pos&&(p.pos=h?.pos),h?.img&&(p.img=h?.img,!h.label?.trim()&&p.text===e&&(p.text="")),h?.constraint&&(p.constraint=h.constraint),h.w&&(p.assetWidth=Number(h.w)),h.h&&(p.assetHeight=Number(h.h))}}addSingleLink(e,r,n,i){let l={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};X.info("abc78 Got edge...",l);let u=n.text;if(u!==void 0&&(l.text=this.sanitizeText(u.text.trim()),l.text.startsWith('"')&&l.text.endsWith('"')&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=u.type),n!==void 0&&(l.type=n.type,l.stroke=n.stroke,l.length=n.length>10?10:n.length),i&&!this.edges.some(h=>h.id===i))l.id=i,l.isUserDefinedId=!0;else{let h=this.edges.filter(f=>f.start===l.start&&f.end===l.end);h.length===0?l.id=nu(l.start,l.end,{counter:0,prefix:"L"}):l.id=nu(l.start,l.end,{counter:h.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))X.info("Pushing edge..."),this.edges.push(l);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. +}`,h=Kf(m,{schema:Xf})}let f=this.edges.find(m=>m.id===e);if(f){let m=h;m?.animate!==void 0&&(f.animate=m.animate),m?.animation!==void 0&&(f.animation=m.animation),m?.curve!==void 0&&(f.interpolate=m.curve);return}let d,p=this.vertices.get(e);if(p===void 0&&(p={id:e,labelType:"text",domId:xze+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,p)),this.vertexCounter++,r!==void 0?(this.config=ve(),d=this.sanitizeText(r.text.trim()),p.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),p.text=d):p.text===void 0&&(p.text=e),n!==void 0&&(p.type=n),i?.forEach(m=>{p.styles.push(m)}),a?.forEach(m=>{p.classes.push(m)}),s!==void 0&&(p.dir=s),p.props===void 0?p.props=l:l!==void 0&&Object.assign(p.props,l),h!==void 0){if(h.shape){if(h.shape!==h.shape.toLowerCase()||h.shape.includes("_"))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);if(!ooe(h.shape))throw new Error(`No such shape: ${h.shape}.`);p.type=h?.shape}h?.label&&(p.text=h?.label,p.labelType=this.sanitizeNodeLabelType(h?.labelType)),h?.icon&&(p.icon=h?.icon,!h.label?.trim()&&p.text===e&&(p.text="")),h?.form&&(p.form=h?.form),h?.pos&&(p.pos=h?.pos),h?.img&&(p.img=h?.img,!h.label?.trim()&&p.text===e&&(p.text="")),h?.constraint&&(p.constraint=h.constraint),h.w&&(p.assetWidth=Number(h.w)),h.h&&(p.assetHeight=Number(h.h))}}addSingleLink(e,r,n,i){let l={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};K.info("abc78 Got edge...",l);let u=n.text;if(u!==void 0&&(l.text=this.sanitizeText(u.text.trim()),l.text.startsWith('"')&&l.text.endsWith('"')&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=this.sanitizeNodeLabelType(u.type)),n!==void 0&&(l.type=n.type,l.stroke=n.stroke,l.length=n.length>10?10:n.length),i&&!this.edges.some(h=>h.id===i))l.id=i,l.isUserDefinedId=!0;else{let h=this.edges.filter(f=>f.start===l.start&&f.end===l.end);h.length===0?l.id=hu(l.start,l.end,{counter:0,prefix:"L"}):l.id=hu(l.start,l.end,{counter:h.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))K.info("Pushing edge..."),this.edges.push(l);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){let i=this.isLinkData(n)?n.id.replace("@",""):void 0;X.info("addLink",e,r,i);for(let a of e)for(let s of r){let l=a===e[e.length-1],u=s===r[0];l&&u?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){let n=r.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){let l=s.replace("fill","bgFill");a.textStyles.push(l)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(let n of e.split(",")){let i=this.vertices.get(n);i&&i.classes.push(r);let a=this.edges.find(l=>l.id===n);a&&a.classes.push(r);let s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(let n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){let i=this.lookUpDomId(e);if(xe().securityLevel!=="loose"||r===void 0)return;let a=[];if(typeof n=="string"){a=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{let l=document.querySelector(`[id="${i}"]`);l!==null&&l.addEventListener("click",()=>{jt.runFunc(r,...a)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{let a=this.vertices.get(i);a!==void 0&&(a.link=jt.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let r=He(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=He("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),He(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=He(a.currentTarget);if(s.attr("title")===null)return;let u=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),r.html(r.html().replace(/<br\/>/g,"
    ")),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),He(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=xe(),Mr()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);let l=o(p=>{let m={boolean:{},number:{},string:{}},g=[],y;return{nodeList:p.filter(function(x){let b=typeof x;return x.stmt&&x.stmt==="dir"?(y=x.value,!1):x.trim()===""?!1:b in m?m[b].hasOwnProperty(x)?!1:m[b][x]=!0:g.includes(x)?!1:g.push(x)}),dir:y}},"uniq")(r.flat()),u=l.nodeList,h=l.dir,f=xe().flowchart??{};if(h=h??(f.inheritDir?this.getDirection()??xe().direction??void 0:void 0),this.version==="gen-1")for(let p=0;p2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){let l=this.indexNodes2(e,s);if(l.result)return{result:!0,count:a+l.count};a=a+l.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){let n=r.length,i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");let l=this.countChar(".",n);return l&&(a="dotted",s=l),{type:i,stroke:a,length:s}}destructLink(e,r){let n=this.destructEndLink(e),i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(let n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){let n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){let l=n.get(e.id),u=i.get(e.id)??!1,h=this.findNode(r,e.id);if(h)h.cssStyles=e.styles,h.cssCompiledStyles=this.getCompiledStyles(e.classes),h.cssClasses=e.classes.join(" ");else{let f={id:e.id,label:e.text,labelStyle:"",parentId:l,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};u?r.push({...f,isGroup:!0,shape:"rect"}):r.push({...f,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){let e=xe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let h=i.length-1;h>=0;h--){let f=i[h];f.nodes.length>0&&s.set(f.id,!0);for(let d of f.nodes)a.set(d,f.id)}for(let h=i.length-1;h>=0;h--){let f=i[h];r.push({id:f.id,label:f.title,labelStyle:"",parentId:a.get(f.id),padding:8,cssCompiledStyles:this.getCompiledStyles(f.classes),cssClasses:f.classes.join(" "),shape:"rect",dir:f.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(h=>{this.addNodeFromVertex(h,r,a,s,e,e.look||"classic")});let u=this.getEdges();return u.forEach((h,f)=>{let{arrowTypeStart:d,arrowTypeEnd:p}=this.destructEdgeType(h.type),m=[...u.defaultStyle??[]];h.style&&m.push(...h.style);let g={id:nu(h.start,h.end,{counter:f,prefix:"L"},h.id),isUserDefinedId:h.isUserDefinedId,start:h.start,end:h.end,type:h.type??"normal",label:h.text,labelpos:"c",thickness:h.stroke,minlen:h.length,classes:h?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":d,arrowTypeEnd:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":p,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(h.classes),labelStyle:m,style:m,pattern:h.stroke,look:e.look,animate:h.animate,animation:h.animation,curve:h.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(g)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return Ew.flowchart}}});var xl,y0=I(()=>{"use strict";kr();xl=o((t,e)=>{let r;return e==="sandbox"&&(r=He("#i"+t)),(e==="sandbox"?He(r.nodes()[0].contentDocument.body):He("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Eh,ab=I(()=>{"use strict";Eh=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});var Ese,BFe,FFe,$Fe,zFe,GFe,VFe,Cse,l1,Ase,Yk=I(()=>{"use strict";Qt();wr();gt();ab();kr();Yt();yl();eM();qk();m0();Vt();Ese=o(async(t,e)=>{X.info("Creating subgraph rect for ",e.id,e);let r=xe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Qe(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=Sr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await Ai(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(Sr(r.flowchart.htmlLabels)){let C=g.children[0],D=He(g);y=C.getBoundingClientRect(),D.attr("width",y.width),D.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;X.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){let C=Je.svg(d),D=tt(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),R=C.path(so(b,T,v,x,0),D);E=d.insert(()=>(X.debug("Rough node insert CXC",R),R),":first-child"),E.select("path:nth-child(2)").attr("style",h.join(";")),E.select("path").attr("style",f.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Eh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let C=m.select("span");C&&C.attr("style",l)}let k=E.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(C){return Hf(e,C)},{cluster:d,labelBBox:y}},"rect"),BFe=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Hf(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),FFe=o(async(t,e)=>{let r=xe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=d.node().appendChild(await ou(e.label,e.labelStyle,void 0,!0)),g=m.getBBox();if(Sr(r.flowchart.htmlLabels)){let R=m.children[0],O=He(m);g=R.getBoundingClientRect(),O.attr("width",g.width),O.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,T=e.height+y-g.height-6,E=e.x-x/2,w=e.y-b/2;e.width=x;let k=e.y-e.height/2-v+g.height+2,C;if(e.look==="handDrawn"){let R=e.cssClasses.includes("statediagram-cluster-alt"),O=Je.svg(h),L=e.rx||e.ry?O.path(so(E,w,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):O.rectangle(E,w,x,b,{seed:i});C=h.insert(()=>L,":first-child");let S=O.rectangle(E,k,x,T,{fill:R?a:s,fillStyle:R?"hachure":"solid",stroke:u,seed:i});C=h.insert(()=>L,":first-child"),p=h.insert(()=>S)}else C=f.insert("rect",":first-child"),C.attr("class","outer").attr("x",E).attr("y",w).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",E).attr("y",k).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-g.width/2}, ${w+1-(Sr(r.flowchart.htmlLabels)?0:3)})`);let D=C.node().getBBox();return e.height=D.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(R){return Hf(e,R)},{cluster:h,labelBBox:g}},"roundedWithTitle"),$Fe=o(async(t,e)=>{X.info("Creating subgraph rect for ",e.id,e);let r=xe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Qe(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=Sr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await Ai(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}),y=g.getBBox();if(Sr(r.flowchart.htmlLabels)){let C=g.children[0],D=He(g);y=C.getBoundingClientRect(),D.attr("width",y.width),D.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;X.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){let C=Je.svg(d),D=tt(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),R=C.path(so(b,T,v,x,e.rx),D);E=d.insert(()=>(X.debug("Rough node insert CXC",R),R),":first-child"),E.select("path:nth-child(2)").attr("style",h.join(";")),E.select("path").attr("style",f.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Eh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let C=m.select("span");C&&C.attr("style",l)}let k=E.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(C){return Hf(e,C)},{cluster:d,labelBBox:y}},"kanbanSection"),zFe=o((t,e)=>{let r=xe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Je.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=s.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return Hf(e,y)},{cluster:s,labelBBox:{}}},"divider"),GFe=Ese,VFe={rect:Ese,squareRect:GFe,roundedWithTitle:FFe,noteGroup:BFe,divider:zFe,kanbanSection:$Fe},Cse=new Map,l1=o(async(t,e)=>{let r=e.shape||"rect",n=await VFe[r](t,e);return Cse.set(e.id,n),n},"insertCluster"),Ase=o(()=>{Cse=new Map},"clear")});function jk(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=ii(t),e=ii(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var Ia,wM,ii,Xk,kM=I(()=>{"use strict";Ia={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4},wM={arrow_point:9,arrow_cross:12.5,arrow_circle:12.5};o(jk,"calculateDeltaAndAngle");ii=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),Xk=o(t=>({x:o(function(e,r,n){let i=0,a=ii(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Ia,t.arrowTypeEnd)){let{angle:m,deltaX:g}=jk(n[n.length-1],n[n.length-2]);i=Ia[t.arrowTypeEnd]*Math.cos(m)*(g>=0?1:-1)}let s=Math.abs(ii(e).x-ii(n[n.length-1]).x),l=Math.abs(ii(e).y-ii(n[n.length-1]).y),u=Math.abs(ii(e).x-ii(n[0]).x),h=Math.abs(ii(e).y-ii(n[0]).y),f=Ia[t.arrowTypeStart],d=Ia[t.arrowTypeEnd],p=1;if(s0&&l0&&h=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Ia,t.arrowTypeEnd)){let{angle:m,deltaY:g}=jk(n[n.length-1],n[n.length-2]);i=Ia[t.arrowTypeEnd]*Math.abs(Math.sin(m))*(g>=0?1:-1)}let s=Math.abs(ii(e).y-ii(n[n.length-1]).y),l=Math.abs(ii(e).x-ii(n[n.length-1]).x),u=Math.abs(ii(e).y-ii(n[0]).y),h=Math.abs(ii(e).x-ii(n[0]).x),f=Ia[t.arrowTypeStart],d=Ia[t.arrowTypeEnd],p=1;if(s0&&l0&&h{"use strict";gt();Dse=o((t,e,r,n,i,a)=>{e.arrowTypeStart&&_se(t,"start",e.arrowTypeStart,r,n,i,a),e.arrowTypeEnd&&_se(t,"end",e.arrowTypeEnd,r,n,i,a)},"addEdgeMarkers"),qFe={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},_se=o((t,e,r,n,i,a,s)=>{let l=qFe[r];if(!l){X.warn(`Unknown arrow type: ${r}`);return}let u=l.type,f=`${i}_${a}-${u}${e==="start"?"Start":"End"}`;if(s&&s.trim()!==""){let d=s.replace(/[^\dA-Za-z]/g,"_"),p=`${f}_${d}`;if(!document.getElementById(p)){let m=document.getElementById(f);if(m){let g=m.cloneNode(!0);g.id=p,g.querySelectorAll("path, circle, line").forEach(v=>{v.setAttribute("stroke",s),l.fill&&v.setAttribute("fill",s)}),m.parentNode?.appendChild(g)}}t.attr(`marker-${e}`,`url(${n}#${p})`)}else t.attr(`marker-${e}`,`url(${n}#${f})`)},"addEdgeMarker")});function Qk(t,e){xe().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function HFe(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}function XFe(t,e){if(t.length<2)return"";let r="",n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&Ia[e.arrowTypeStart]){let i=Ia[e.arrowTypeStart],a=t[0],s=t[1],{angle:l}=Mse(a,s),u=i*Math.cos(l),h=i*Math.sin(l);r[0].x=a.x+u,r[0].y=a.y+h}let n=t.length;if(n>=2&&Ia[e.arrowTypeEnd]){let i=Ia[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:l}=Mse(s,a),u=i*Math.cos(l),h=i*Math.sin(l);r[n-1].x=a.x-u,r[n-1].y=a.y-h}return r}var Zk,Oa,Ise,Kk,Jk,eS,UFe,WFe,Lse,Nse,YFe,jFe,tS,SM=I(()=>{"use strict";Qt();wr();gt();yl();sr();kM();ab();kr();Yt();qk();Rse();Vt();Zk=new Map,Oa=new Map,Ise=o(()=>{Zk.clear(),Oa.clear()},"clear"),Kk=o(t=>t?t.reduce((r,n)=>r+";"+n,""):"","getLabelStyles"),Jk=o(async(t,e)=>{let r=Sr(xe().flowchart.htmlLabels),{labelStyles:n}=Qe(e);e.labelStyle=n;let i=await Ai(t,e.label,{style:e.labelStyle,useHtmlLabels:r,addSvgBackground:!0,isNode:!1});X.info("abc82",e,e.labelType);let a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id);s.node().appendChild(i);let l=i.getBBox();if(r){let h=i.children[0],f=He(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),Zk.set(e.id,a),e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=await ou(e.startLabelLeft,Kk(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Oa.get(e.id)||Oa.set(e.id,{}),Oa.get(e.id).startLeft=f,Qk(u,e.startLabelLeft)}if(e.startLabelRight){let h=await ou(e.startLabelRight,Kk(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Oa.get(e.id)||Oa.set(e.id,{}),Oa.get(e.id).startRight=f,Qk(u,e.startLabelRight)}if(e.endLabelLeft){let h=await ou(e.endLabelLeft,Kk(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Oa.get(e.id)||Oa.set(e.id,{}),Oa.get(e.id).endLeft=f,Qk(u,e.endLabelLeft)}if(e.endLabelRight){let h=await ou(e.endLabelRight,Kk(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Oa.get(e.id)||Oa.set(e.id,{}),Oa.get(e.id).endRight=f,Qk(u,e.endLabelRight)}return i},"insertEdgeLabel");o(Qk,"setTerminalWidth");eS=o((t,e)=>{X.debug("Moving label abc88 ",t.id,t.label,Zk.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=xe(),{subGraphTitleTotalMargin:i}=Eh(n);if(t.label){let a=Zk.get(t.id),s=t.x,l=t.y;if(r){let u=jt.calcLabelPosition(r);X.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=Oa.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=Oa.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=Oa.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=Oa.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),UFe=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),WFe=o((t,e,r)=>{X.debug(`intersection calc abc89: +You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){let i=this.isLinkData(n)?n.id.replace("@",""):void 0;K.info("addLink",e,r,i);for(let a of e)for(let s of r){let l=a===e[e.length-1],u=s===r[0];l&&u?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){let n=r.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){let l=s.replace("fill","bgFill");a.textStyles.push(l)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(let n of e.split(",")){let i=this.vertices.get(n);i&&i.classes.push(r);let a=this.edges.find(l=>l.id===n);a&&a.classes.push(r);let s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(let n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){let i=this.lookUpDomId(e);if(ve().securityLevel!=="loose"||r===void 0)return;let a=[];if(typeof n=="string"){a=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{let l=document.querySelector(`[id="${i}"]`);l!==null&&l.addEventListener("click",()=>{Xt.runFunc(r,...a)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{let a=this.vertices.get(i);a!==void 0&&(a.link=Xt.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let r=sk();je(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=je(a.currentTarget),l=s.attr("title");if(l===null)return;let u=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),r.html(fl.sanitize(l)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),je(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=ve(),_r()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);let l=o(p=>{let m={boolean:{},number:{},string:{}},g=[],y;return{nodeList:p.filter(function(x){let b=typeof x;return x.stmt&&x.stmt==="dir"?(y=x.value,!1):x.trim()===""?!1:b in m?m[b].hasOwnProperty(x)?!1:m[b][x]=!0:g.includes(x)?!1:g.push(x)}),dir:y}},"uniq")(r.flat()),u=l.nodeList,h=l.dir,f=ve().flowchart??{};if(h=h??(f.inheritDir?this.getDirection()??ve().direction??void 0:void 0),this.version==="gen-1")for(let p=0;p2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){let l=this.indexNodes2(e,s);if(l.result)return{result:!0,count:a+l.count};a=a+l.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){let n=r.length,i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");let l=this.countChar(".",n);return l&&(a="dotted",s=l),{type:i,stroke:a,length:s}}destructLink(e,r){let n=this.destructEndLink(e),i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(let n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){let n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){let l=n.get(e.id),u=i.get(e.id)??!1,h=this.findNode(r,e.id);if(h)h.cssStyles=e.styles,h.cssCompiledStyles=this.getCompiledStyles(e.classes),h.cssClasses=e.classes.join(" ");else{let f={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:l,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};u?r.push({...f,isGroup:!0,shape:"rect"}):r.push({...f,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){let e=ve(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let h=i.length-1;h>=0;h--){let f=i[h];f.nodes.length>0&&s.set(f.id,!0);for(let d of f.nodes)a.set(d,f.id)}for(let h=i.length-1;h>=0;h--){let f=i[h];r.push({id:f.id,label:f.title,labelStyle:"",labelType:f.labelType,parentId:a.get(f.id),padding:8,cssCompiledStyles:this.getCompiledStyles(f.classes),cssClasses:f.classes.join(" "),shape:"rect",dir:f.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(h=>{this.addNodeFromVertex(h,r,a,s,e,e.look||"classic")});let u=this.getEdges();return u.forEach((h,f)=>{let{arrowTypeStart:d,arrowTypeEnd:p}=this.destructEdgeType(h.type),m=[...u.defaultStyle??[]];h.style&&m.push(...h.style);let g={id:hu(h.start,h.end,{counter:f,prefix:"L"},h.id),isUserDefinedId:h.isUserDefinedId,start:h.start,end:h.end,type:h.type??"normal",label:h.text,labelType:h.labelType,labelpos:"c",thickness:h.stroke,minlen:h.length,classes:h?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":d,arrowTypeEnd:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":p,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(h.classes),labelStyle:m,style:m,pattern:h.stroke,look:e.look,animate:h.animate,animation:h.animation,curve:h.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(g)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return Fw.flowchart}}});var Sl,b0=O(()=>{"use strict";Ar();Sl=o((t,e)=>{let r;return e==="sandbox"&&(r=je("#i"+t)),(e==="sandbox"?je(r.nodes()[0].contentDocument.body):je("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Lh,gb=O(()=>{"use strict";Lh=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});var coe,bze,Tze,wze,kze,Eze,Sze,uoe,g1,hoe,oE=O(()=>{"use strict";jt();$r();xt();gb();Ar();Wt();co();mM();iE();x0();Ut();coe=o(async(t,e)=>{K.info("Creating subgraph rect for ",e.id,e);let r=ve(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Ze(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=Sr(r),m=d.insert("g").attr("class","cluster-label "),g;e.labelType==="markdown"?g=await Fn(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}):g=await yc(m,e.label,e.labelStyle||"",!1,!0);let y=g.getBBox();if(Sr(r)){let S=g.children[0],A=je(g);y=S.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;K.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){let S=Je.svg(d),A=nt(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),L=S.path(ho(b,T,v,x,0),A);E=d.insert(()=>(K.debug("Rough node insert CXC",L),L),":first-child"),E.select("path:nth-child(2)").attr("style",h.join(";")),E.select("path").attr("style",f.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Lh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let S=m.select("span");S&&S.attr("style",l)}let k=E.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(S){return Qf(e,S)},{cluster:d,labelBBox:y}},"rect"),bze=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Qf(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),Tze=o(async(t,e)=>{let r=ve(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=await yc(d,e.label,e.labelStyle,void 0,!0),g=m.getBBox();if(Sr(r)){let L=m.children[0],I=je(m);g=L.getBoundingClientRect(),I.attr("width",g.width),I.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,T=e.height+y-g.height-6,E=e.x-x/2,w=e.y-b/2;e.width=x;let k=e.y-e.height/2-v+g.height+2,S;if(e.look==="handDrawn"){let L=e.cssClasses.includes("statediagram-cluster-alt"),I=Je.svg(h),N=e.rx||e.ry?I.path(ho(E,w,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):I.rectangle(E,w,x,b,{seed:i});S=h.insert(()=>N,":first-child");let C=I.rectangle(E,k,x,T,{fill:L?a:s,fillStyle:L?"hachure":"solid",stroke:u,seed:i});S=h.insert(()=>N,":first-child"),p=h.insert(()=>C)}else S=f.insert("rect",":first-child"),S.attr("class","outer").attr("x",E).attr("y",w).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",E).attr("y",k).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-g.width/2}, ${w+1-(Sr(r)?0:3)})`);let A=S.node().getBBox();return e.height=A.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(L){return Qf(e,L)},{cluster:h,labelBBox:g}},"roundedWithTitle"),wze=o(async(t,e)=>{K.info("Creating subgraph rect for ",e.id,e);let r=ve(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Ze(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=Sr(r),m=d.insert("g").attr("class","cluster-label "),g=await Fn(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}),y=g.getBBox();if(Sr(r)){let S=g.children[0],A=je(g);y=S.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;K.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){let S=Je.svg(d),A=nt(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),L=S.path(ho(b,T,v,x,e.rx),A);E=d.insert(()=>(K.debug("Rough node insert CXC",L),L),":first-child"),E.select("path:nth-child(2)").attr("style",h.join(";")),E.select("path").attr("style",f.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Lh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let S=m.select("span");S&&S.attr("style",l)}let k=E.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(S){return Qf(e,S)},{cluster:d,labelBBox:y}},"kanbanSection"),kze=o((t,e)=>{let r=ve(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Je.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=s.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return Qf(e,y)},{cluster:s,labelBBox:{}}},"divider"),Eze=coe,Sze={rect:coe,squareRect:Eze,roundedWithTitle:Tze,noteGroup:bze,divider:kze,kanbanSection:wze},uoe=new Map,g1=o(async(t,e)=>{let r=e.shape||"rect",n=await Sze[r](t,e);return uoe.set(e.id,n),n},"insertCluster"),hoe=o(()=>{uoe=new Map},"clear")});var Cl,BM=O(()=>{"use strict";Cl=o((t,e)=>{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";let r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform")});function lE(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=li(t),e=li(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var Ba,FM,li,cE,$M=O(()=>{"use strict";Ba={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4},FM={arrow_point:9,arrow_cross:12.5,arrow_circle:12.5};o(lE,"calculateDeltaAndAngle");li=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),cE=o(t=>({x:o(function(e,r,n){let i=0,a=li(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Ba,t.arrowTypeEnd)){let{angle:m,deltaX:g}=lE(n[n.length-1],n[n.length-2]);i=Ba[t.arrowTypeEnd]*Math.cos(m)*(g>=0?1:-1)}let s=Math.abs(li(e).x-li(n[n.length-1]).x),l=Math.abs(li(e).y-li(n[n.length-1]).y),u=Math.abs(li(e).x-li(n[0]).x),h=Math.abs(li(e).y-li(n[0]).y),f=Ba[t.arrowTypeStart],d=Ba[t.arrowTypeEnd],p=1;if(s0&&l0&&h=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Ba,t.arrowTypeEnd)){let{angle:m,deltaY:g}=lE(n[n.length-1],n[n.length-2]);i=Ba[t.arrowTypeEnd]*Math.abs(Math.sin(m))*(g>=0?1:-1)}let s=Math.abs(li(e).y-li(n[n.length-1]).y),l=Math.abs(li(e).x-li(n[n.length-1]).x),u=Math.abs(li(e).y-li(n[0]).y),h=Math.abs(li(e).x-li(n[0]).x),f=Ba[t.arrowTypeStart],d=Ba[t.arrowTypeEnd],p=1;if(s0&&l0&&h{"use strict";xt();doe=o((t,e,r,n,i,a)=>{e.arrowTypeStart&&foe(t,"start",e.arrowTypeStart,r,n,i,a),e.arrowTypeEnd&&foe(t,"end",e.arrowTypeEnd,r,n,i,a)},"addEdgeMarkers"),Cze={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},foe=o((t,e,r,n,i,a,s)=>{let l=Cze[r];if(!l){K.warn(`Unknown arrow type: ${r}`);return}let u=l.type,f=`${i}_${a}-${u}${e==="start"?"Start":"End"}`;if(s&&s.trim()!==""){let d=s.replace(/[^\dA-Za-z]/g,"_"),p=`${f}_${d}`;if(!document.getElementById(p)){let m=document.getElementById(f);if(m){let g=m.cloneNode(!0);g.id=p,g.querySelectorAll("path, circle, line").forEach(v=>{v.setAttribute("stroke",s),l.fill&&v.setAttribute("fill",s)}),m.parentNode?.appendChild(g)}}t.attr(`marker-${e}`,`url(${n}#${p})`)}else t.attr(`marker-${e}`,`url(${n}#${f})`)},"addEdgeMarker")});function uE(t,e){Sr(ve())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function Rze(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}function Mze(t,e){if(t.length<2)return"";let r="",n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&Ba[e.arrowTypeStart]){let i=Ba[e.arrowTypeStart],a=t[0],s=t[1],{angle:l}=yoe(a,s),u=i*Math.cos(l),h=i*Math.sin(l);r[0].x=a.x+u,r[0].y=a.y+h}let n=t.length;if(n>=2&&Ba[e.arrowTypeEnd]){let i=Ba[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:l}=yoe(s,a),u=i*Math.cos(l),h=i*Math.sin(l);r[n-1].x=a.x-u,r[n-1].y=a.y-h}return r}var Aze,hE,Fa,voe,yb,fE,dE,_ze,Dze,moe,goe,Lze,Nze,pE,zM=O(()=>{"use strict";jt();$r();xt();co();BM();ar();$M();gb();Ar();Wt();iE();poe();Ut();Aze=o(t=>typeof t=="string"?t:ve()?.flowchart?.curve,"resolveEdgeCurveType"),hE=new Map,Fa=new Map,voe=o(()=>{hE.clear(),Fa.clear()},"clear"),yb=o(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),fE=o(async(t,e)=>{let r=ve(),n=Sr(r),{labelStyles:i}=Ze(e);e.labelStyle=i;let a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),l=e.labelType==="markdown",h=await Fn(t,e.label,{style:yb(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:l,width:l?void 0:void 0},r);s.node().appendChild(h),K.info("abc82",e,e.labelType);let f=h.getBBox(),d=f;if(n){let m=h.children[0],g=je(h);f=m.getBoundingClientRect(),d=f,g.attr("width",f.width),g.attr("height",f.height)}else{let m=je(h).select("text").node();m&&typeof m.getBBox=="function"&&(d=m.getBBox())}s.attr("transform",Cl(d,n)),hE.set(e.id,a),e.width=f.width,e.height=f.height;let p;if(e.startLabelLeft){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await yc(g,e.startLabelLeft,yb(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(n){let x=y.children[0],b=je(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Cl(v,n)),Fa.get(e.id)||Fa.set(e.id,{}),Fa.get(e.id).startLeft=m,uE(p,e.startLabelLeft)}if(e.startLabelRight){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await yc(g,e.startLabelRight,yb(e.labelStyle)||"",!1,!1);p=y,g.node().appendChild(y);let v=y.getBBox();if(n){let x=y.children[0],b=je(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Cl(v,n)),Fa.get(e.id)||Fa.set(e.id,{}),Fa.get(e.id).startRight=m,uE(p,e.startLabelRight)}if(e.endLabelLeft){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await yc(g,e.endLabelLeft,yb(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(n){let x=y.children[0],b=je(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Cl(v,n)),m.node().appendChild(y),Fa.get(e.id)||Fa.set(e.id,{}),Fa.get(e.id).endLeft=m,uE(p,e.endLabelLeft)}if(e.endLabelRight){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await yc(g,e.endLabelRight,yb(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(n){let x=y.children[0],b=je(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Cl(v,n)),m.node().appendChild(y),Fa.get(e.id)||Fa.set(e.id,{}),Fa.get(e.id).endRight=m,uE(p,e.endLabelRight)}return h},"insertEdgeLabel");o(uE,"setTerminalWidth");dE=o((t,e)=>{K.debug("Moving label abc88 ",t.id,t.label,hE.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=ve(),{subGraphTitleTotalMargin:i}=Lh(n);if(t.label){let a=hE.get(t.id),s=t.x,l=t.y;if(r){let u=Xt.calcLabelPosition(r);K.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=Fa.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=Fa.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=Fa.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=Fa.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),_ze=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),Dze=o((t,e,r)=>{K.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{X.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(X.info("abc88 checking point",a,e),!UFe(e,a)&&!i){let s=WFe(e,n,a);X.debug("abc88 inside",a,n,s),X.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?X.warn("abc88 no intersect",s,r):r.push(s),i=!0}else X.warn("abc88 outside",a,n),n=a,i||r.push(a)}),X.debug("returning points",r),r},"cutPathAtIntersect");o(HFe,"extractCornerPoints");Nse=o(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),YFe=o(function(t){let{cornerPointPositions:e}=HFe(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){X.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else X.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),jFe=o((t,e,r)=>{let n=t-e-r,i=2,a=2,s=i+a,l=Math.floor(n/s),u=Array(l).fill(`${i} ${a}`).join(" ");return`0 ${e} ${u} ${r}`},"generateDashArray"),tS=o(function(t,e,r,n,i,a,s,l=!1){let{handDrawnSeed:u}=xe(),h=e.points,f=!1,d=i;var p=a;let m=[];for(let _ in e.cssCompiledStyles)Zx(_)||m.push(e.cssCompiledStyles[_]);X.debug("UIO intersect check",e.points,p.x,d.x),p.intersect&&d.intersect&&!l&&(h=h.slice(1,e.points.length-1),h.unshift(d.intersect(h[0])),X.debug("Last point UIO",e.start,"-->",e.end,h[h.length-1],p,p.intersect(h[h.length-1])),h.push(p.intersect(h[h.length-1])));let g=btoa(JSON.stringify(h));e.toCluster&&(X.info("to cluster abc88",r.get(e.toCluster)),h=Lse(e.points,r.get(e.toCluster).node),f=!0),e.fromCluster&&(X.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(h,null,2)),h=Lse(h.reverse(),r.get(e.fromCluster).node).reverse(),f=!0);let y=h.filter(_=>!Number.isNaN(_.y));y=YFe(y);let v=cl;switch(v=mh,e.curve){case"linear":v=mh;break;case"basis":v=cl;break;case"cardinal":v=yx;break;case"bumpX":v=fx;break;case"bumpY":v=dx;break;case"catmullRom":v=bx;break;case"monotoneX":v=Tx;break;case"monotoneY":v=wx;break;case"natural":v=Pg;break;case"step":v=Bg;break;case"stepAfter":v=Sx;break;case"stepBefore":v=kx;break;default:v=cl}let{x,y:b}=Xk(e),T=ac().x(x).y(b).curve(v),E;switch(e.thickness){case"normal":E="edge-thickness-normal";break;case"thick":E="edge-thickness-thick";break;case"invisible":E="edge-thickness-invisible";break;default:E="edge-thickness-normal"}switch(e.pattern){case"solid":E+=" edge-pattern-solid";break;case"dotted":E+=" edge-pattern-dotted";break;case"dashed":E+=" edge-pattern-dashed";break;default:E+=" edge-pattern-solid"}let w,k=e.curve==="rounded"?XFe(KFe(y,e),5):T(y),C=Array.isArray(e.style)?e.style:[e.style],D=C.find(_=>_?.startsWith("stroke:")),R=!1;if(e.look==="handDrawn"){let _=Je.svg(t);Object.assign([],y);let N=_.path(k,{roughness:.3,seed:u});E+=" transition",w=He(N).select("path").attr("id",e.id).attr("class"," "+E+(e.classes?" "+e.classes:"")).attr("style",C?C.reduce((P,B)=>P+";"+B,""):"");let M=w.attr("d");w.attr("d",M),t.node().appendChild(w.node())}else{let _=m.join(";"),N=C?C.reduce((V,K)=>V+K+";",""):"",M="";e.animate&&(M=" edge-animation-fast"),e.animation&&(M=" edge-animation-"+e.animation);let P=(_?_+";"+N+";":N)+";"+(C?C.reduce((V,K)=>V+";"+K,""):"");w=t.append("path").attr("d",k).attr("id",e.id).attr("class"," "+E+(e.classes?" "+e.classes:"")+(M??"")).attr("style",P),D=P.match(/stroke:([^;]+)/)?.[1],R=e.animate===!0||!!e.animation||_.includes("animation");let B=w.node(),F=typeof B.getTotalLength=="function"?B.getTotalLength():0,G=wM[e.arrowTypeStart]||0,$=wM[e.arrowTypeEnd]||0;if(e.look==="neo"&&!R){let K=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?jFe(F,G,$):`0 ${G} ${F-G-$} ${$}`}; stroke-dashoffset: 0;`;w.attr("style",K+w.attr("style"))}}w.attr("data-edge",!0),w.attr("data-et","edge"),w.attr("data-id",e.id),w.attr("data-points",g),e.showPoints&&y.forEach(_=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",_.x).attr("cy",_.y)});let O="";(xe().flowchart.arrowMarkerAbsolute||xe().state.arrowMarkerAbsolute)&&(O=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,O=O.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),X.info("arrowTypeStart",e.arrowTypeStart),X.info("arrowTypeEnd",e.arrowTypeEnd),Dse(w,e,O,s,n,D);let L=Math.floor(h.length/2),S=h[L];jt.isLabelCoordinateInPath(S,w.attr("d"))||(f=!0);let A={};return f&&(A.updatedPath=h),A.originalPath=e.points,A},"insertEdge");o(XFe,"generateRoundedPath");o(Mse,"calculateDeltaAndAngle");o(KFe,"applyMarkerOffsetsToPoints")});var QFe,ZFe,JFe,e$e,t$e,r$e,n$e,i$e,a$e,s$e,o$e,l$e,c$e,u$e,h$e,f$e,d$e,rS,EM=I(()=>{"use strict";gt();QFe=o((t,e,r,n)=>{e.forEach(i=>{d$e[i](t,r,n)})},"insertMarkers"),ZFe=o((t,e,r)=>{X.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),JFe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),e$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),t$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),r$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),n$e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),i$e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+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",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),a$e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+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",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),s$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),o$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),l$e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),c$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),u$e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),h$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{K.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(K.info("abc88 checking point",a,e),!_ze(e,a)&&!i){let s=Dze(e,n,a);K.debug("abc88 inside",a,n,s),K.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?K.warn("abc88 no intersect",s,r):r.push(s),i=!0}else K.warn("abc88 outside",a,n),n=a,i||r.push(a)}),K.debug("returning points",r),r},"cutPathAtIntersect");o(Rze,"extractCornerPoints");goe=o(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),Lze=o(function(t){let{cornerPointPositions:e}=Rze(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){K.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else K.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),Nze=o((t,e,r)=>{let n=t-e-r,i=2,a=2,s=i+a,l=Math.floor(n/s),u=Array(l).fill(`${i} ${a}`).join(" ");return`0 ${e} ${u} ${r}`},"generateDashArray"),pE=o(function(t,e,r,n,i,a,s,l=!1){let{handDrawnSeed:u}=ve(),h=e.points,f=!1,d=i;var p=a;let m=[];for(let R in e.cssCompiledStyles)ub(R)||m.push(e.cssCompiledStyles[R]);K.debug("UIO intersect check",e.points,p.x,d.x),p.intersect&&d.intersect&&!l&&(h=h.slice(1,e.points.length-1),h.unshift(d.intersect(h[0])),K.debug("Last point UIO",e.start,"-->",e.end,h[h.length-1],p,p.intersect(h[h.length-1])),h.push(p.intersect(h[h.length-1])));let g=btoa(JSON.stringify(h));e.toCluster&&(K.info("to cluster abc88",r.get(e.toCluster)),h=moe(e.points,r.get(e.toCluster).node),f=!0),e.fromCluster&&(K.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(h,null,2)),h=moe(h.reverse(),r.get(e.fromCluster).node).reverse(),f=!0);let y=h.filter(R=>!Number.isNaN(R.y)),v=Aze(e.curve);v!=="rounded"&&(y=Lze(y));let x=au;switch(v){case"linear":x=au;break;case"basis":x=fc;break;case"cardinal":x=Rx;break;case"bumpX":x=Sx;break;case"bumpY":x=Cx;break;case"catmullRom":x=Mx;break;case"monotoneX":x=Ix;break;case"monotoneY":x=Ox;break;case"natural":x=qg;break;case"step":x=Ug;break;case"stepAfter":x=Bx;break;case"stepBefore":x=Px;break;case"rounded":x=au;break;default:x=fc}let{x:b,y:T}=cE(e),E=hc().x(b).y(T).curve(x),w;switch(e.thickness){case"normal":w="edge-thickness-normal";break;case"thick":w="edge-thickness-thick";break;case"invisible":w="edge-thickness-invisible";break;default:w="edge-thickness-normal"}switch(e.pattern){case"solid":w+=" edge-pattern-solid";break;case"dotted":w+=" edge-pattern-dotted";break;case"dashed":w+=" edge-pattern-dashed";break;default:w+=" edge-pattern-solid"}let k,S=v==="rounded"?Mze(Ize(y,e),5):E(y),A=Array.isArray(e.style)?e.style:[e.style],L=A.find(R=>R?.startsWith("stroke:")),I="";e.animate&&(I="edge-animation-fast"),e.animation&&(I="edge-animation-"+e.animation);let N=!1;if(e.look==="handDrawn"){let R=Je.svg(t);Object.assign([],y);let P=R.path(S,{roughness:.3,seed:u});w+=" transition",k=je(P).select("path").attr("id",e.id).attr("class"," "+w+(e.classes?" "+e.classes:"")+(I?" "+I:"")).attr("style",A?A.reduce((F,G)=>F+";"+G,""):"");let B=k.attr("d");k.attr("d",B),t.node().appendChild(k.node())}else{let R=m.join(";"),P=A?A.reduce((X,Q)=>X+Q+";",""):"",B=(R?R+";"+P+";":P)+";"+(A?A.reduce((X,Q)=>X+";"+Q,""):"");k=t.append("path").attr("d",S).attr("id",e.id).attr("class"," "+w+(e.classes?" "+e.classes:"")+(I?" "+I:"")).attr("style",B),L=B.match(/stroke:([^;]+)/)?.[1],N=e.animate===!0||!!e.animation||R.includes("animation");let F=k.node(),G=typeof F.getTotalLength=="function"?F.getTotalLength():0,$=FM[e.arrowTypeStart]||0,V=FM[e.arrowTypeEnd]||0;if(e.look==="neo"&&!N){let Q=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?Nze(G,$,V):`0 ${$} ${G-$-V} ${V}`}; stroke-dashoffset: 0;`;k.attr("style",Q+k.attr("style"))}}k.attr("data-edge",!0),k.attr("data-et","edge"),k.attr("data-id",e.id),k.attr("data-points",g),e.showPoints&&y.forEach(R=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",R.x).attr("cy",R.y)});let C="";(ve().flowchart.arrowMarkerAbsolute||ve().state.arrowMarkerAbsolute)&&(C=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,C=C.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),K.info("arrowTypeStart",e.arrowTypeStart),K.info("arrowTypeEnd",e.arrowTypeEnd),doe(k,e,C,s,n,L);let _=Math.floor(h.length/2),D=h[_];Xt.isLabelCoordinateInPath(D,k.attr("d"))||(f=!0);let M={};return f&&(M.updatedPath=h),M.originalPath=e.points,M},"insertEdge");o(Mze,"generateRoundedPath");o(yoe,"calculateDeltaAndAngle");o(Ize,"applyMarkerOffsetsToPoints")});var Oze,Pze,Bze,Fze,$ze,zze,Gze,Vze,qze,Uze,Wze,Hze,Yze,jze,Xze,Kze,Qze,mE,GM=O(()=>{"use strict";xt();Oze=o((t,e,r,n)=>{e.forEach(i=>{Qze[i](t,r,n)})},"insertMarkers"),Pze=o((t,e,r)=>{K.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),Bze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Fze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),$ze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),zze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Gze=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Vze=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+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",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),qze=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+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",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Uze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Wze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),Hze=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),Yze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),jze=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),Xze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`)},"requirement_arrow"),f$e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),d$e={extension:ZFe,composition:JFe,aggregation:e$e,dependency:t$e,lollipop:r$e,point:n$e,circle:i$e,cross:a$e,barb:s$e,only_one:o$e,zero_or_one:l$e,one_or_more:c$e,zero_or_more:u$e,requirement_arrow:h$e,requirement_contains:f$e},rS=QFe});async function c1(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?bM[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),nS.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}var nS,Ose,Pse,sb,iS=I(()=>{"use strict";gt();TM();nS=new Map;o(c1,"insertNode");Ose=o((t,e)=>{nS.set(e.id,t)},"setNodeElem"),Pse=o(()=>{nS.clear()},"clear"),sb=o(t=>{let e=nS.get(t.id);X.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let 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},"positionNode")});var Bse,Fse=I(()=>{"use strict";ti();wr();gt();Yk();SM();EM();iS();Bt();sr();Bse={common:nt,getConfig:tr,insertCluster:l1,insertEdge:tS,insertEdgeLabel:Jk,insertMarkers:rS,insertNode:c1,interpolateToCurve:dN,labelHelper:ft,log:X,positionEdgeLabel:eS}});function m$e(t){return typeof t=="symbol"||gi(t)&&Ma(t)==p$e}var p$e,Fo,v0=I(()=>{"use strict";yh();fl();p$e="[object Symbol]";o(m$e,"isSymbol");Fo=m$e});function g$e(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";o(g$e,"arrayMap");oo=g$e});function Gse(t){if(typeof t=="string")return t;if(zt(t))return oo(t,Gse)+"";if(Fo(t))return zse?zse.call(t):"";var e=t+"";return e=="0"&&1/t==-y$e?"-0":e}var y$e,$se,zse,Vse,qse=I(()=>{"use strict";r0();x0();ni();v0();y$e=1/0,$se=da?da.prototype:void 0,zse=$se?$se.toString:void 0;o(Gse,"baseToString");Vse=Gse});function x$e(t){for(var e=t.length;e--&&v$e.test(t.charAt(e)););return e}var v$e,Use,Wse=I(()=>{"use strict";v$e=/\s/;o(x$e,"trimmedEndIndex");Use=x$e});function T$e(t){return t&&t.slice(0,Use(t)+1).replace(b$e,"")}var b$e,Hse,Yse=I(()=>{"use strict";Wse();b$e=/^\s+/;o(T$e,"baseTrim");Hse=T$e});function C$e(t){if(typeof t=="number")return t;if(Fo(t))return jse;if(In(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=In(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Hse(t);var r=k$e.test(t);return r||S$e.test(t)?E$e(t.slice(2),r?2:8):w$e.test(t)?jse:+t}var jse,w$e,k$e,S$e,E$e,Xse,Kse=I(()=>{"use strict";Yse();Oo();v0();jse=NaN,w$e=/^[-+]0x[0-9a-f]+$/i,k$e=/^0b[01]+$/i,S$e=/^0o[0-7]+$/i,E$e=parseInt;o(C$e,"toNumber");Xse=C$e});function _$e(t){if(!t)return t===0?t:0;if(t=Xse(t),t===Qse||t===-Qse){var e=t<0?-1:1;return e*A$e}return t===t?t:0}var Qse,A$e,u1,CM=I(()=>{"use strict";Kse();Qse=1/0,A$e=17976931348623157e292;o(_$e,"toFinite");u1=_$e});function D$e(t){var e=u1(t),r=e%1;return e===e?r?e-r:e:0}var lu,h1=I(()=>{"use strict";CM();o(D$e,"toInteger");lu=D$e});var R$e,aS,Zse=I(()=>{"use strict";Mf();ul();R$e=Zs(Ei,"WeakMap"),aS=R$e});function L$e(){}var yi,AM=I(()=>{"use strict";o(L$e,"noop");yi=L$e});function N$e(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(N$e,"arrayEach");sS=N$e});function M$e(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";o(M$e,"baseFindIndex");oS=M$e});function I$e(t){return t!==t}var Jse,eoe=I(()=>{"use strict";o(I$e,"baseIsNaN");Jse=I$e});function O$e(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";o(O$e,"strictIndexOf");toe=O$e});function P$e(t,e,r){return e===e?toe(t,e,r):oS(t,Jse,r)}var f1,lS=I(()=>{"use strict";DM();eoe();roe();o(P$e,"baseIndexOf");f1=P$e});function B$e(t,e){var r=t==null?0:t.length;return!!r&&f1(t,e,0)>-1}var cS,RM=I(()=>{"use strict";lS();o(B$e,"arrayIncludes");cS=B$e});var F$e,noe,ioe=I(()=>{"use strict";eN();F$e=nk(Object.keys,Object),noe=F$e});function G$e(t){if(!Jc(t))return noe(t);var e=[];for(var r in Object(t))z$e.call(t,r)&&r!="constructor"&&e.push(r);return e}var $$e,z$e,d1,uS=I(()=>{"use strict";Kg();ioe();$$e=Object.prototype,z$e=$$e.hasOwnProperty;o(G$e,"baseKeys");d1=G$e});function V$e(t){return Ci(t)?lk(t):d1(t)}var en,cu=I(()=>{"use strict";aN();uS();dl();o(V$e,"keys");en=V$e});var q$e,U$e,W$e,Pa,aoe=I(()=>{"use strict";e1();o0();cN();dl();Kg();cu();q$e=Object.prototype,U$e=q$e.hasOwnProperty,W$e=hk(function(t,e){if(Jc(e)||Ci(e)){gl(e,en(e),t);return}for(var r in e)U$e.call(e,r)&&eu(t,r,e[r])}),Pa=W$e});function j$e(t,e){if(zt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Fo(t)?!0:Y$e.test(t)||!H$e.test(t)||e!=null&&t in Object(e)}var H$e,Y$e,p1,hS=I(()=>{"use strict";ni();v0();H$e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Y$e=/^\w*$/;o(j$e,"isKey");p1=j$e});function K$e(t){var e=Vg(t,function(n){return r.size===X$e&&r.clear(),n}),r=e.cache;return e}var X$e,soe,ooe=I(()=>{"use strict";Y9();X$e=500;o(K$e,"memoizeCapped");soe=K$e});var Q$e,Z$e,J$e,loe,coe=I(()=>{"use strict";ooe();Q$e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Z$e=/\\(\\)?/g,J$e=soe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Q$e,function(r,n,i,a){e.push(i?a.replace(Z$e,"$1"):n||r)}),e}),loe=J$e});function eze(t){return t==null?"":Vse(t)}var fS,LM=I(()=>{"use strict";qse();o(eze,"toString");fS=eze});function tze(t,e){return zt(t)?t:p1(t,e)?[t]:loe(fS(t))}var Qf,ob=I(()=>{"use strict";ni();hS();coe();LM();o(tze,"castPath");Qf=tze});function nze(t){if(typeof t=="string"||Fo(t))return t;var e=t+"";return e=="0"&&1/t==-rze?"-0":e}var rze,uu,m1=I(()=>{"use strict";v0();rze=1/0;o(nze,"toKey");uu=nze});function ize(t,e){e=Qf(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";ob();m1();o(ize,"baseGet");Zf=ize});function aze(t,e,r){var n=t==null?void 0:Zf(t,e);return n===void 0?r:n}var uoe,hoe=I(()=>{"use strict";lb();o(aze,"get");uoe=aze});function sze(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";o(sze,"arrayPush");g1=sze});function oze(t){return zt(t)||oc(t)||!!(foe&&t&&t[foe])}var foe,doe,poe=I(()=>{"use strict";r0();Qg();ni();foe=da?da.isConcatSpreadable:void 0;o(oze,"isFlattenable");doe=oze});function moe(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=doe),i||(i=[]);++a0&&r(l)?e>1?moe(l,e-1,r,n,i):g1(i,l):n||(i[i.length]=l)}return i}var hu,y1=I(()=>{"use strict";dS();poe();o(moe,"baseFlatten");hu=moe});function lze(t){var e=t==null?0:t.length;return e?hu(t,1):[]}var ln,pS=I(()=>{"use strict";y1();o(lze,"flatten");ln=lze});function cze(t){return uk(ck(t,void 0,ln),t+"")}var goe,yoe=I(()=>{"use strict";pS();sN();lN();o(cze,"flatRest");goe=cze});function uze(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";o(uze,"baseSlice");mS=uze});function xze(t){return vze.test(t)}var hze,fze,dze,pze,mze,gze,yze,vze,voe,xoe=I(()=>{"use strict";hze="\\ud800-\\udfff",fze="\\u0300-\\u036f",dze="\\ufe20-\\ufe2f",pze="\\u20d0-\\u20ff",mze=fze+dze+pze,gze="\\ufe0e\\ufe0f",yze="\\u200d",vze=RegExp("["+yze+hze+mze+gze+"]");o(xze,"hasUnicode");voe=xze});function bze(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";o(bze,"arrayReduce");boe=bze});function Tze(t,e){return t&&gl(e,en(e),t)}var woe,koe=I(()=>{"use strict";o0();cu();o(Tze,"baseAssign");woe=Tze});function wze(t,e){return t&&gl(e,Js(e),t)}var Soe,Eoe=I(()=>{"use strict";o0();zf();o(wze,"baseAssignIn");Soe=wze});function kze(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";o(kze,"arrayFilter");v1=kze});function Sze(){return[]}var yS,MM=I(()=>{"use strict";o(Sze,"stubArray");yS=Sze});var Eze,Cze,Coe,Aze,x1,vS=I(()=>{"use strict";gS();MM();Eze=Object.prototype,Cze=Eze.propertyIsEnumerable,Coe=Object.getOwnPropertySymbols,Aze=Coe?function(t){return t==null?[]:(t=Object(t),v1(Coe(t),function(e){return Cze.call(t,e)}))}:yS,x1=Aze});function _ze(t,e){return gl(t,x1(t),e)}var Aoe,_oe=I(()=>{"use strict";o0();vS();o(_ze,"copySymbols");Aoe=_ze});var Dze,Rze,xS,IM=I(()=>{"use strict";dS();ik();vS();MM();Dze=Object.getOwnPropertySymbols,Rze=Dze?function(t){for(var e=[];t;)g1(e,x1(t)),t=Xg(t);return e}:yS,xS=Rze});function Lze(t,e){return gl(t,xS(t),e)}var Doe,Roe=I(()=>{"use strict";o0();IM();o(Lze,"copySymbolsIn");Doe=Lze});function Nze(t,e,r){var n=e(t);return zt(t)?n:g1(n,r(t))}var bS,OM=I(()=>{"use strict";dS();ni();o(Nze,"baseGetAllKeys");bS=Nze});function Mze(t){return bS(t,en,x1)}var cb,PM=I(()=>{"use strict";OM();vS();cu();o(Mze,"getAllKeys");cb=Mze});function Ize(t){return bS(t,Js,xS)}var TS,BM=I(()=>{"use strict";OM();IM();zf();o(Ize,"getAllKeysIn");TS=Ize});var Oze,wS,Loe=I(()=>{"use strict";Mf();ul();Oze=Zs(Ei,"DataView"),wS=Oze});var Pze,kS,Noe=I(()=>{"use strict";Mf();ul();Pze=Zs(Ei,"Promise"),kS=Pze});var Bze,Jf,FM=I(()=>{"use strict";Mf();ul();Bze=Zs(Ei,"Set"),Jf=Bze});var Moe,Fze,Ioe,Ooe,Poe,Boe,$ze,zze,Gze,Vze,qze,b0,$o,T0=I(()=>{"use strict";Loe();K5();Noe();FM();Zse();yh();U9();Moe="[object Map]",Fze="[object Object]",Ioe="[object Promise]",Ooe="[object Set]",Poe="[object WeakMap]",Boe="[object DataView]",$ze=vh(wS),zze=vh(Pf),Gze=vh(kS),Vze=vh(Jf),qze=vh(aS),b0=Ma;(wS&&b0(new wS(new ArrayBuffer(1)))!=Boe||Pf&&b0(new Pf)!=Moe||kS&&b0(kS.resolve())!=Ioe||Jf&&b0(new Jf)!=Ooe||aS&&b0(new aS)!=Poe)&&(b0=o(function(t){var e=Ma(t),r=e==Fze?t.constructor:void 0,n=r?vh(r):"";if(n)switch(n){case $ze:return Boe;case zze:return Moe;case Gze:return Ioe;case Vze:return Ooe;case qze:return Poe}return e},"getTag"));$o=b0});function Hze(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Wze.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Uze,Wze,Foe,$oe=I(()=>{"use strict";Uze=Object.prototype,Wze=Uze.hasOwnProperty;o(Hze,"initCloneArray");Foe=Hze});function Yze(t,e){var r=e?jg(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var zoe,Goe=I(()=>{"use strict";ek();o(Yze,"cloneDataView");zoe=Yze});function Xze(t){var e=new t.constructor(t.source,jze.exec(t));return e.lastIndex=t.lastIndex,e}var jze,Voe,qoe=I(()=>{"use strict";jze=/\w*$/;o(Xze,"cloneRegExp");Voe=Xze});function Kze(t){return Woe?Object(Woe.call(t)):{}}var Uoe,Woe,Hoe,Yoe=I(()=>{"use strict";r0();Uoe=da?da.prototype:void 0,Woe=Uoe?Uoe.valueOf:void 0;o(Kze,"cloneSymbol");Hoe=Kze});function gGe(t,e,r){var n=t.constructor;switch(e){case aGe:return jg(t);case Qze:case Zze:return new n(+t);case sGe:return zoe(t,r);case oGe:case lGe:case cGe:case uGe:case hGe:case fGe:case dGe:case pGe:case mGe:return tk(t,r);case Jze:return new n;case eGe:case nGe:return new n(t);case tGe:return Voe(t);case rGe:return new n;case iGe:return Hoe(t)}}var Qze,Zze,Jze,eGe,tGe,rGe,nGe,iGe,aGe,sGe,oGe,lGe,cGe,uGe,hGe,fGe,dGe,pGe,mGe,joe,Xoe=I(()=>{"use strict";ek();Goe();qoe();Yoe();Z9();Qze="[object Boolean]",Zze="[object Date]",Jze="[object Map]",eGe="[object Number]",tGe="[object RegExp]",rGe="[object Set]",nGe="[object String]",iGe="[object Symbol]",aGe="[object ArrayBuffer]",sGe="[object DataView]",oGe="[object Float32Array]",lGe="[object Float64Array]",cGe="[object Int8Array]",uGe="[object Int16Array]",hGe="[object Int32Array]",fGe="[object Uint8Array]",dGe="[object Uint8ClampedArray]",pGe="[object Uint16Array]",mGe="[object Uint32Array]";o(gGe,"initCloneByTag");joe=gGe});function vGe(t){return gi(t)&&$o(t)==yGe}var yGe,Koe,Qoe=I(()=>{"use strict";T0();fl();yGe="[object Map]";o(vGe,"baseIsMap");Koe=vGe});var Zoe,xGe,Joe,ele=I(()=>{"use strict";Qoe();s0();Px();Zoe=ml&&ml.isMap,xGe=Zoe?pl(Zoe):Koe,Joe=xGe});function TGe(t){return gi(t)&&$o(t)==bGe}var bGe,tle,rle=I(()=>{"use strict";T0();fl();bGe="[object Set]";o(TGe,"baseIsSet");tle=TGe});var nle,wGe,ile,ale=I(()=>{"use strict";rle();s0();Px();nle=ml&&ml.isSet,wGe=nle?pl(nle):tle,ile=wGe});function SS(t,e,r,n,i,a){var s,l=e&kGe,u=e&SGe,h=e&EGe;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!In(t))return t;var f=zt(t);if(f){if(s=Foe(t),!l)return rk(t,s)}else{var d=$o(t),p=d==ole||d==RGe;if(lc(t))return J5(t,l);if(d==lle||d==sle||p&&!i){if(s=u||p?{}:ak(t),!l)return u?Doe(t,Soe(s,t)):Aoe(t,woe(s,t))}else{if(!Gn[d])return i?t:{};s=joe(t,d,l)}}a||(a=new Qc);var m=a.get(t);if(m)return m;a.set(t,s),ile(t)?t.forEach(function(v){s.add(SS(v,e,r,v,t,a))}):Joe(t)&&t.forEach(function(v,x){s.set(x,SS(v,e,r,x,t,a))});var g=h?u?TS:cb:u?Js:en,y=f?void 0:g(t);return sS(y||t,function(v,x){y&&(x=v,v=t[x]),eu(s,x,SS(v,e,r,x,t,a))}),s}var kGe,SGe,EGe,sle,CGe,AGe,_Ge,DGe,ole,RGe,LGe,NGe,lle,MGe,IGe,OGe,PGe,BGe,FGe,$Ge,zGe,GGe,VGe,qGe,UGe,WGe,HGe,YGe,jGe,Gn,ES,$M=I(()=>{"use strict";Mx();_M();e1();koe();Eoe();K9();J9();_oe();Roe();PM();BM();T0();$oe();Xoe();tN();ni();Jg();ele();Oo();ale();cu();zf();kGe=1,SGe=2,EGe=4,sle="[object Arguments]",CGe="[object Array]",AGe="[object Boolean]",_Ge="[object Date]",DGe="[object Error]",ole="[object Function]",RGe="[object GeneratorFunction]",LGe="[object Map]",NGe="[object Number]",lle="[object Object]",MGe="[object RegExp]",IGe="[object Set]",OGe="[object String]",PGe="[object Symbol]",BGe="[object WeakMap]",FGe="[object ArrayBuffer]",$Ge="[object DataView]",zGe="[object Float32Array]",GGe="[object Float64Array]",VGe="[object Int8Array]",qGe="[object Int16Array]",UGe="[object Int32Array]",WGe="[object Uint8Array]",HGe="[object Uint8ClampedArray]",YGe="[object Uint16Array]",jGe="[object Uint32Array]",Gn={};Gn[sle]=Gn[CGe]=Gn[FGe]=Gn[$Ge]=Gn[AGe]=Gn[_Ge]=Gn[zGe]=Gn[GGe]=Gn[VGe]=Gn[qGe]=Gn[UGe]=Gn[LGe]=Gn[NGe]=Gn[lle]=Gn[MGe]=Gn[IGe]=Gn[OGe]=Gn[PGe]=Gn[WGe]=Gn[HGe]=Gn[YGe]=Gn[jGe]=!0;Gn[DGe]=Gn[ole]=Gn[BGe]=!1;o(SS,"baseClone");ES=SS});function KGe(t){return ES(t,XGe)}var XGe,yn,zM=I(()=>{"use strict";$M();XGe=4;o(KGe,"clone");yn=KGe});function JGe(t){return ES(t,QGe|ZGe)}var QGe,ZGe,GM,cle=I(()=>{"use strict";$M();QGe=1,ZGe=4;o(JGe,"cloneDeep");GM=JGe});function eVe(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";o(eVe,"compact");fu=eVe});function rVe(t){return this.__data__.set(t,tVe),this}var tVe,hle,fle=I(()=>{"use strict";tVe="__lodash_hash_undefined__";o(rVe,"setCacheAdd");hle=rVe});function nVe(t){return this.__data__.has(t)}var dle,ple=I(()=>{"use strict";o(nVe,"setCacheHas");dle=nVe});function CS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new i0;++e{"use strict";Q5();fle();ple();o(CS,"SetCache");CS.prototype.add=CS.prototype.push=hle;CS.prototype.has=dle;b1=CS});function iVe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(iVe,"arraySome");_S=iVe});function aVe(t,e){return t.has(e)}var T1,DS=I(()=>{"use strict";o(aVe,"cacheHas");T1=aVe});function lVe(t,e,r,n,i,a){var s=r&sVe,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&oVe?new b1:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";AS();VM();DS();sVe=1,oVe=2;o(lVe,"equalArrays");RS=lVe});function cVe(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var mle,gle=I(()=>{"use strict";o(cVe,"mapToArray");mle=cVe});function uVe(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var w1,LS=I(()=>{"use strict";o(uVe,"setToArray");w1=uVe});function SVe(t,e,r,n,i,a,s){switch(r){case kVe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case wVe:return!(t.byteLength!=e.byteLength||!a(new Yg(t),new Yg(e)));case dVe:case pVe:case yVe:return hl(+t,+e);case mVe:return t.name==e.name&&t.message==e.message;case vVe:case bVe:return t==e+"";case gVe:var l=mle;case xVe:var u=n&hVe;if(l||(l=w1),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;n|=fVe,s.set(t,e);var f=RS(l(t),l(e),n,i,a,s);return s.delete(t),f;case TVe:if(UM)return UM.call(t)==UM.call(e)}return!1}var hVe,fVe,dVe,pVe,mVe,gVe,yVe,vVe,xVe,bVe,TVe,wVe,kVe,yle,UM,vle,xle=I(()=>{"use strict";r0();Q9();n0();qM();gle();LS();hVe=1,fVe=2,dVe="[object Boolean]",pVe="[object Date]",mVe="[object Error]",gVe="[object Map]",yVe="[object Number]",vVe="[object RegExp]",xVe="[object Set]",bVe="[object String]",TVe="[object Symbol]",wVe="[object ArrayBuffer]",kVe="[object DataView]",yle=da?da.prototype:void 0,UM=yle?yle.valueOf:void 0;o(SVe,"equalByTag");vle=SVe});function _Ve(t,e,r,n,i,a){var s=r&EVe,l=cb(t),u=l.length,h=cb(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:AVe.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";PM();EVe=1,CVe=Object.prototype,AVe=CVe.hasOwnProperty;o(_Ve,"equalObjects");ble=_Ve});function LVe(t,e,r,n,i,a){var s=zt(t),l=zt(e),u=s?kle:$o(t),h=l?kle:$o(e);u=u==wle?NS:u,h=h==wle?NS:h;var f=u==NS,d=h==NS,p=u==h;if(p&&lc(t)){if(!lc(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new Qc),s||Ff(t)?RS(t,e,r,n,i,a):vle(t,e,u,r,n,i,a);if(!(r&DVe)){var m=f&&Sle.call(t,"__wrapped__"),g=d&&Sle.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new Qc),i(y,v,r,n,a)}}return p?(a||(a=new Qc),ble(t,e,r,n,i,a)):!1}var DVe,wle,kle,NS,RVe,Sle,Ele,Cle=I(()=>{"use strict";Mx();qM();xle();Tle();T0();ni();Jg();Bx();DVe=1,wle="[object Arguments]",kle="[object Array]",NS="[object Object]",RVe=Object.prototype,Sle=RVe.hasOwnProperty;o(LVe,"baseIsEqualDeep");Ele=LVe});function Ale(t,e,r,n,i){return t===e?!0:t==null||e==null||!gi(t)&&!gi(e)?t!==t&&e!==e:Ele(t,e,r,n,Ale,i)}var MS,WM=I(()=>{"use strict";Cle();fl();o(Ale,"baseIsEqual");MS=Ale});function IVe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";Mx();WM();NVe=1,MVe=2;o(IVe,"baseIsMatch");_le=IVe});function OVe(t){return t===t&&!In(t)}var IS,HM=I(()=>{"use strict";Oo();o(OVe,"isStrictComparable");IS=OVe});function PVe(t){for(var e=en(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,IS(i)]}return e}var Rle,Lle=I(()=>{"use strict";HM();cu();o(PVe,"getMatchData");Rle=PVe});function BVe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var OS,YM=I(()=>{"use strict";o(BVe,"matchesStrictComparable");OS=BVe});function FVe(t){var e=Rle(t);return e.length==1&&e[0][2]?OS(e[0][0],e[0][1]):function(r){return r===t||_le(r,t,e)}}var Nle,Mle=I(()=>{"use strict";Dle();Lle();YM();o(FVe,"baseMatches");Nle=FVe});function $Ve(t,e){return t!=null&&e in Object(t)}var Ile,Ole=I(()=>{"use strict";o($Ve,"baseHasIn");Ile=$Ve});function zVe(t,e,r){e=Qf(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";ob();Qg();ni();$x();sk();m1();o(zVe,"hasPath");PS=zVe});function GVe(t,e){return t!=null&&PS(t,e,Ile)}var BS,XM=I(()=>{"use strict";Ole();jM();o(GVe,"hasIn");BS=GVe});function UVe(t,e){return p1(t)&&IS(e)?OS(uu(t),e):function(r){var n=uoe(r,t);return n===void 0&&n===e?BS(r,t):MS(e,n,VVe|qVe)}}var VVe,qVe,Ple,Ble=I(()=>{"use strict";WM();hoe();XM();hS();HM();YM();m1();VVe=1,qVe=2;o(UVe,"baseMatchesProperty");Ple=UVe});function WVe(t){return function(e){return e?.[t]}}var FS,KM=I(()=>{"use strict";o(WVe,"baseProperty");FS=WVe});function HVe(t){return function(e){return Zf(e,t)}}var Fle,$le=I(()=>{"use strict";lb();o(HVe,"basePropertyDeep");Fle=HVe});function YVe(t){return p1(t)?FS(uu(t)):Fle(t)}var zle,Gle=I(()=>{"use strict";KM();$le();hS();m1();o(YVe,"property");zle=YVe});function jVe(t){return typeof t=="function"?t:t==null?pa:typeof t=="object"?zt(t)?Ple(t[0],t[1]):Nle(t):zle(t)}var An,_s=I(()=>{"use strict";Mle();Ble();bh();ni();Gle();o(jVe,"baseIteratee");An=jVe});function XVe(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";o(XVe,"arrayAggregator");Vle=XVe});function KVe(t,e){return t&&Hg(t,e,en)}var k1,$S=I(()=>{"use strict";Z5();cu();o(KVe,"baseForOwn");k1=KVe});function QVe(t,e){return function(r,n){if(r==null)return r;if(!Ci(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a{"use strict";dl();o(QVe,"createBaseEach");Ule=QVe});var ZVe,lo,ed=I(()=>{"use strict";$S();Wle();ZVe=Ule(k1),lo=ZVe});function JVe(t,e,r,n){return lo(t,function(i,a,s){e(n,i,r(i),s)}),n}var Hle,Yle=I(()=>{"use strict";ed();o(JVe,"baseAggregator");Hle=JVe});function eqe(t,e){return function(r,n){var i=zt(r)?Vle:Hle,a=e?e():{};return i(r,t,An(n,2),a)}}var jle,Xle=I(()=>{"use strict";qle();Yle();_s();ni();o(eqe,"createAggregator");jle=eqe});var tqe,zS,Kle=I(()=>{"use strict";ul();tqe=o(function(){return Ei.Date.now()},"now"),zS=tqe});var Qle,rqe,nqe,td,Zle=I(()=>{"use strict";t1();n0();l0();zf();Qle=Object.prototype,rqe=Qle.hasOwnProperty,nqe=tu(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Po(e[0],e[1],i)&&(n=1);++r{"use strict";o(iqe,"arrayIncludesWith");GS=iqe});function sqe(t,e,r,n){var i=-1,a=cS,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=oo(e,pl(r))),n?(a=GS,s=!1):e.length>=aqe&&(a=T1,s=!1,e=new b1(e));e:for(;++i{"use strict";AS();RM();QM();x0();s0();DS();aqe=200;o(sqe,"baseDifference");Jle=sqe});var oqe,rd,tce=I(()=>{"use strict";ece();y1();t1();ok();oqe=tu(function(t,e){return a0(t)?Jle(t,hu(e,1,a0,!0)):[]}),rd=oqe});function lqe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ya,rce=I(()=>{"use strict";o(lqe,"last");ya=lqe});function cqe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:lu(e),mS(t,e<0?0:e,n)):[]}var Ni,nce=I(()=>{"use strict";NM();h1();o(cqe,"drop");Ni=cqe});function uqe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:lu(e),e=n-e,mS(t,0,e<0?0:e)):[]}var Ch,ice=I(()=>{"use strict";NM();h1();o(uqe,"dropRight");Ch=uqe});function hqe(t){return typeof t=="function"?t:pa}var S1,VS=I(()=>{"use strict";bh();o(hqe,"castFunction");S1=hqe});function fqe(t,e){var r=zt(t)?sS:lo;return r(t,S1(e))}var Re,qS=I(()=>{"use strict";_M();ed();VS();ni();o(fqe,"forEach");Re=fqe});var ace=I(()=>{"use strict";qS()});function dqe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(dqe,"arrayEvery");sce=dqe});function pqe(t,e){var r=!0;return lo(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var lce,cce=I(()=>{"use strict";ed();o(pqe,"baseEvery");lce=pqe});function mqe(t,e,r){var n=zt(t)?sce:lce;return r&&Po(t,e,r)&&(e=void 0),n(t,An(e,3))}var rs,uce=I(()=>{"use strict";oce();cce();_s();ni();l0();o(mqe,"every");rs=mqe});function gqe(t,e){var r=[];return lo(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var US,ZM=I(()=>{"use strict";ed();o(gqe,"baseFilter");US=gqe});function yqe(t,e){var r=zt(t)?v1:US;return r(t,An(e,3))}var cn,JM=I(()=>{"use strict";gS();ZM();_s();ni();o(yqe,"filter");cn=yqe});function vqe(t){return function(e,r,n){var i=Object(e);if(!Ci(e)){var a=An(r,3);e=en(e),r=o(function(l){return a(i[l],l,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var hce,fce=I(()=>{"use strict";_s();dl();cu();o(vqe,"createFind");hce=vqe});function bqe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:lu(r);return i<0&&(i=xqe(n+i,0)),oS(t,An(e,3),i)}var xqe,dce,pce=I(()=>{"use strict";DM();_s();h1();xqe=Math.max;o(bqe,"findIndex");dce=bqe});var Tqe,Ds,mce=I(()=>{"use strict";fce();pce();Tqe=hce(dce),Ds=Tqe});function wqe(t){return t&&t.length?t[0]:void 0}var va,gce=I(()=>{"use strict";o(wqe,"head");va=wqe});var yce=I(()=>{"use strict";gce()});function kqe(t,e){var r=-1,n=Ci(t)?Array(t.length):[];return lo(t,function(i,a,s){n[++r]=e(i,a,s)}),n}var WS,eI=I(()=>{"use strict";ed();dl();o(kqe,"baseMap");WS=kqe});function Sqe(t,e){var r=zt(t)?oo:WS;return r(t,An(e,3))}var it,E1=I(()=>{"use strict";x0();_s();eI();ni();o(Sqe,"map");it=Sqe});function Eqe(t,e){return hu(it(t,e),1)}var Ba,tI=I(()=>{"use strict";y1();E1();o(Eqe,"flatMap");Ba=Eqe});function Cqe(t,e){return t==null?t:Hg(t,S1(e),Js)}var rI,vce=I(()=>{"use strict";Z5();VS();zf();o(Cqe,"forIn");rI=Cqe});function Aqe(t,e){return t&&k1(t,S1(e))}var nI,xce=I(()=>{"use strict";$S();VS();o(Aqe,"forOwn");nI=Aqe});var _qe,Dqe,Rqe,iI,bce=I(()=>{"use strict";Wg();Xle();_qe=Object.prototype,Dqe=_qe.hasOwnProperty,Rqe=jle(function(t,e,r){Dqe.call(t,r)?t[r].push(e):Zc(t,r,[e])}),iI=Rqe});function Lqe(t,e){return t>e}var Tce,wce=I(()=>{"use strict";o(Lqe,"baseGt");Tce=Lqe});function Iqe(t,e){return t!=null&&Mqe.call(t,e)}var Nqe,Mqe,kce,Sce=I(()=>{"use strict";Nqe=Object.prototype,Mqe=Nqe.hasOwnProperty;o(Iqe,"baseHas");kce=Iqe});function Oqe(t,e){return t!=null&&PS(t,e,kce)}var Gt,Ece=I(()=>{"use strict";Sce();jM();o(Oqe,"has");Gt=Oqe});function Bqe(t){return typeof t=="string"||!zt(t)&&gi(t)&&Ma(t)==Pqe}var Pqe,Mi,HS=I(()=>{"use strict";yh();ni();fl();Pqe="[object String]";o(Bqe,"isString");Mi=Bqe});function Fqe(t,e){return oo(e,function(r){return t[r]})}var Cce,Ace=I(()=>{"use strict";x0();o(Fqe,"baseValues");Cce=Fqe});function $qe(t){return t==null?[]:Cce(t,en(t))}var Rr,aI=I(()=>{"use strict";Ace();cu();o($qe,"values");Rr=$qe});function Gqe(t,e,r,n){t=Ci(t)?t:Rr(t),r=r&&!n?lu(r):0;var i=t.length;return r<0&&(r=zqe(i+r,0)),Mi(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&f1(t,e,r)>-1}var zqe,ai,_ce=I(()=>{"use strict";lS();dl();HS();h1();aI();zqe=Math.max;o(Gqe,"includes");ai=Gqe});function qqe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:lu(r);return i<0&&(i=Vqe(n+i,0)),f1(t,e,i)}var Vqe,YS,Dce=I(()=>{"use strict";lS();h1();Vqe=Math.max;o(qqe,"indexOf");YS=qqe});function jqe(t){if(t==null)return!0;if(Ci(t)&&(zt(t)||typeof t=="string"||typeof t.splice=="function"||lc(t)||Ff(t)||oc(t)))return!t.length;var e=$o(t);if(e==Uqe||e==Wqe)return!t.size;if(Jc(t))return!d1(t).length;for(var r in t)if(Yqe.call(t,r))return!1;return!0}var Uqe,Wqe,Hqe,Yqe,Tr,jS=I(()=>{"use strict";uS();T0();Qg();ni();dl();Jg();Kg();Bx();Uqe="[object Map]",Wqe="[object Set]",Hqe=Object.prototype,Yqe=Hqe.hasOwnProperty;o(jqe,"isEmpty");Tr=jqe});function Kqe(t){return gi(t)&&Ma(t)==Xqe}var Xqe,Rce,Lce=I(()=>{"use strict";yh();fl();Xqe="[object RegExp]";o(Kqe,"baseIsRegExp");Rce=Kqe});var Nce,Qqe,bl,Mce=I(()=>{"use strict";Lce();s0();Px();Nce=ml&&ml.isRegExp,Qqe=Nce?pl(Nce):Rce,bl=Qqe});function Zqe(t){return t===void 0}var Er,Ice=I(()=>{"use strict";o(Zqe,"isUndefined");Er=Zqe});function Jqe(t,e){return t{"use strict";o(Jqe,"baseLt");XS=Jqe});function eUe(t,e){var r={};return e=An(e,3),k1(t,function(n,i,a){Zc(r,i,e(n,i,a))}),r}var w0,Oce=I(()=>{"use strict";Wg();$S();_s();o(eUe,"mapValues");w0=eUe});function tUe(t,e,r){for(var n=-1,i=t.length;++n{"use strict";v0();o(tUe,"baseExtremum");C1=tUe});function rUe(t){return t&&t.length?C1(t,pa,Tce):void 0}var co,Pce=I(()=>{"use strict";KS();wce();bh();o(rUe,"max");co=rUe});function nUe(t){return t&&t.length?C1(t,pa,XS):void 0}var uc,oI=I(()=>{"use strict";KS();sI();bh();o(nUe,"min");uc=nUe});function iUe(t,e){return t&&t.length?C1(t,An(e,2),XS):void 0}var k0,Bce=I(()=>{"use strict";KS();_s();sI();o(iUe,"minBy");k0=iUe});function sUe(t){if(typeof t!="function")throw new TypeError(aUe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var aUe,Fce,$ce=I(()=>{"use strict";aUe="Expected a function";o(sUe,"negate");Fce=sUe});function oUe(t,e,r,n){if(!In(t))return t;e=Qf(e,t);for(var i=-1,a=e.length,s=a-1,l=t;l!=null&&++i{"use strict";e1();ob();$x();Oo();m1();o(oUe,"baseSet");zce=oUe});function lUe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";lb();Gce();ob();o(lUe,"basePickBy");QS=lUe});function cUe(t,e){if(t==null)return{};var r=oo(TS(t),function(n){return[n]});return e=An(e),QS(t,r,function(n,i){return e(n,i[0])})}var uo,Vce=I(()=>{"use strict";x0();_s();lI();BM();o(cUe,"pickBy");uo=cUe});function uUe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var qce,Uce=I(()=>{"use strict";o(uUe,"baseSortBy");qce=uUe});function hUe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=Fo(t),s=e!==void 0,l=e===null,u=e===e,h=Fo(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||n&&s&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";v0();o(hUe,"compareAscending");Wce=hUe});function fUe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var Yce,jce=I(()=>{"use strict";Hce();o(fUe,"compareMultiple");Yce=fUe});function dUe(t,e,r){e.length?e=oo(e,function(a){return zt(a)?function(s){return Zf(s,a.length===1?a[0]:a)}:a}):e=[pa];var n=-1;e=oo(e,pl(An));var i=WS(t,function(a,s,l){var u=oo(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return qce(i,function(a,s){return Yce(a,s,r)})}var Xce,Kce=I(()=>{"use strict";x0();lb();_s();eI();Uce();s0();jce();bh();ni();o(dUe,"baseOrderBy");Xce=dUe});var pUe,Qce,Zce=I(()=>{"use strict";KM();pUe=FS("length"),Qce=pUe});function CUe(t){for(var e=Jce.lastIndex=0;Jce.test(t);)++e;return e}var eue,mUe,gUe,yUe,vUe,xUe,bUe,cI,uI,TUe,tue,rue,nue,wUe,iue,aue,kUe,SUe,EUe,Jce,sue,oue=I(()=>{"use strict";eue="\\ud800-\\udfff",mUe="\\u0300-\\u036f",gUe="\\ufe20-\\ufe2f",yUe="\\u20d0-\\u20ff",vUe=mUe+gUe+yUe,xUe="\\ufe0e\\ufe0f",bUe="["+eue+"]",cI="["+vUe+"]",uI="\\ud83c[\\udffb-\\udfff]",TUe="(?:"+cI+"|"+uI+")",tue="[^"+eue+"]",rue="(?:\\ud83c[\\udde6-\\uddff]){2}",nue="[\\ud800-\\udbff][\\udc00-\\udfff]",wUe="\\u200d",iue=TUe+"?",aue="["+xUe+"]?",kUe="(?:"+wUe+"(?:"+[tue,rue,nue].join("|")+")"+aue+iue+")*",SUe=aue+iue+kUe,EUe="(?:"+[tue+cI+"?",cI,rue,nue,bUe].join("|")+")",Jce=RegExp(uI+"(?="+uI+")|"+EUe+SUe,"g");o(CUe,"unicodeSize");sue=CUe});function AUe(t){return voe(t)?sue(t):Qce(t)}var lue,cue=I(()=>{"use strict";Zce();xoe();oue();o(AUe,"stringSize");lue=AUe});function _Ue(t,e){return QS(t,e,function(r,n){return BS(t,n)})}var uue,hue=I(()=>{"use strict";lI();XM();o(_Ue,"basePick");uue=_Ue});var DUe,S0,fue=I(()=>{"use strict";hue();yoe();DUe=goe(function(t,e){return t==null?{}:uue(t,e)}),S0=DUe});function NUe(t,e,r,n){for(var i=-1,a=LUe(RUe((e-t)/(r||1)),0),s=Array(a);a--;)s[n?a:++i]=t,t+=r;return s}var RUe,LUe,due,pue=I(()=>{"use strict";RUe=Math.ceil,LUe=Math.max;o(NUe,"baseRange");due=NUe});function MUe(t){return function(e,r,n){return n&&typeof n!="number"&&Po(e,r,n)&&(r=n=void 0),e=u1(e),r===void 0?(r=e,e=0):r=u1(r),n=n===void 0?e{"use strict";pue();l0();CM();o(MUe,"createRange");mue=MUe});var IUe,Tl,yue=I(()=>{"use strict";gue();IUe=mue(),Tl=IUe});function OUe(t,e,r,n,i){return i(t,function(a,s,l){r=n?(n=!1,a):e(r,a,s,l)}),r}var vue,xue=I(()=>{"use strict";o(OUe,"baseReduce");vue=OUe});function PUe(t,e,r){var n=zt(t)?boe:vue,i=arguments.length<3;return n(t,An(e,4),r,i,lo)}var un,hI=I(()=>{"use strict";Toe();ed();_s();xue();ni();o(PUe,"reduce");un=PUe});function BUe(t,e){var r=zt(t)?v1:US;return r(t,Fce(An(e,3)))}var nd,bue=I(()=>{"use strict";gS();ZM();_s();ni();$ce();o(BUe,"reject");nd=BUe});function zUe(t){if(t==null)return 0;if(Ci(t))return Mi(t)?lue(t):t.length;var e=$o(t);return e==FUe||e==$Ue?t.size:d1(t).length}var FUe,$Ue,fI,Tue=I(()=>{"use strict";uS();T0();dl();HS();cue();FUe="[object Map]",$Ue="[object Set]";o(zUe,"size");fI=zUe});function GUe(t,e){var r;return lo(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var wue,kue=I(()=>{"use strict";ed();o(GUe,"baseSome");wue=GUe});function VUe(t,e,r){var n=zt(t)?_S:wue;return r&&Po(t,e,r)&&(e=void 0),n(t,An(e,3))}var ub,Sue=I(()=>{"use strict";VM();_s();kue();ni();l0();o(VUe,"some");ub=VUe});var qUe,du,Eue=I(()=>{"use strict";y1();Kce();t1();l0();qUe=tu(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Po(t,e[0],e[1])?e=[]:r>2&&Po(e[0],e[1],e[2])&&(e=[e[0]]),Xce(t,hu(e,1),[])}),du=qUe});var UUe,WUe,Cue,Aue=I(()=>{"use strict";FM();AM();LS();UUe=1/0,WUe=Jf&&1/w1(new Jf([,-0]))[1]==UUe?function(t){return new Jf(t)}:yi,Cue=WUe});function YUe(t,e,r){var n=-1,i=cS,a=t.length,s=!0,l=[],u=l;if(r)s=!1,i=GS;else if(a>=HUe){var h=e?null:Cue(t);if(h)return w1(h);s=!1,i=T1,u=new b1}else u=e?[]:l;e:for(;++n{"use strict";AS();RM();QM();DS();Aue();LS();HUe=200;o(YUe,"baseUniq");A1=YUe});var jUe,dI,_ue=I(()=>{"use strict";y1();t1();ZS();ok();jUe=tu(function(t){return A1(hu(t,1,a0,!0))}),dI=jUe});function XUe(t){return t&&t.length?A1(t):[]}var _1,Due=I(()=>{"use strict";ZS();o(XUe,"uniq");_1=XUe});function KUe(t,e){return t&&t.length?A1(t,An(e,2)):[]}var Rue,Lue=I(()=>{"use strict";_s();ZS();o(KUe,"uniqBy");Rue=KUe});function ZUe(t){var e=++QUe;return fS(t)+e}var QUe,E0,Nue=I(()=>{"use strict";LM();QUe=0;o(ZUe,"uniqueId");E0=ZUe});function JUe(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n{"use strict";o(JUe,"baseZipObject");Mue=JUe});function eWe(t,e){return Mue(t||[],e||[],eu)}var JS,Oue=I(()=>{"use strict";e1();Iue();o(eWe,"zipObject");JS=eWe});var Kt=I(()=>{"use strict";aoe();zM();cle();ule();oN();Zle();tce();nce();ice();ace();uce();JM();mce();yce();tI();pS();qS();vce();xce();bce();Ece();bh();_ce();Dce();ni();jS();_x();Oo();Mce();HS();Ice();cu();rce();E1();Oce();Pce();uN();oI();Bce();AM();Kle();fue();Vce();yue();hI();bue();Tue();Sue();Eue();_ue();Due();Nue();aI();Oue();});function Bue(t,e){t[e]?t[e]++:t[e]=1}function Fue(t,e){--t[e]||delete t[e]}function hb(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Pue+a+Pue+(Er(n)?tWe:n)}function rWe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function pI(t,e){return hb(t,e.v,e.w,e.name)}var tWe,C0,Pue,vn,eE=I(()=>{"use strict";Kt();tWe="\0",C0="\0",Pue="",vn=class{static{o(this,"Graph")}constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=eo(void 0),this._defaultEdgeLabelFn=eo(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[C0]={}),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 $i(e)||(e=eo(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return en(this._nodes)}sources(){var e=this;return cn(this.nodes(),function(r){return Tr(e._in[r])})}sinks(){var e=this;return cn(this.nodes(),function(r){return Tr(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return Re(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(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]=C0,this._children[e]={},this._children[C0][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 Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=o(n=>this.removeEdge(this._edgeObjs[n]),"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Re(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),Re(en(this._in[e]),r),delete this._in[e],delete this._preds[e],Re(en(this._out[e]),r),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(Er(r))r=C0;else{r+="";for(var n=r;!Er(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!==C0)return r}}children(e){if(Er(e)&&(e=C0),this._isCompound){var r=this._children[e];if(r)return en(r)}else{if(e===C0)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return en(r)}successors(e){var r=this._sucs[e];if(r)return en(r)}neighbors(e){var r=this.predecessors(e);if(r)return dI(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;Re(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Re(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return o(a,"findParent"),this._isCompound&&Re(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return $i(e)||(e=eo(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Rr(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return un(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Er(n)||(n=""+n);var l=hb(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!Er(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=rWe(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,Bue(this._preds[r],e),Bue(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?pI(this._isDirected,arguments[0]):hb(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?pI(this._isDirected,arguments[0]):hb(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?pI(this._isDirected,arguments[0]):hb(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Fue(this._preds[r],e),Fue(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=Rr(n);return r?cn(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Rr(n);return r?cn(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};vn.prototype._nodeCount=0;vn.prototype._edgeCount=0;o(Bue,"incrementOrInitEntry");o(Fue,"decrementOrRemoveEntry");o(hb,"edgeArgsToId");o(rWe,"edgeArgsToObj");o(pI,"edgeObjToId")});var wl=I(()=>{"use strict";eE()});function $ue(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function nWe(t,e){if(t!=="_next"&&t!=="_prev")return e}var rE,zue=I(()=>{"use strict";rE=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return $ue(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&$ue(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,nWe)),n=n._prev;return"["+e.join(", ")+"]"}};o($ue,"unlink");o(nWe,"filterOutLinks")});function Gue(t,e){if(t.nodeCount()<=1)return[];var r=sWe(t,e||iWe),n=aWe(r.graph,r.buckets,r.zeroIdx);return ln(it(n,function(i){return t.outEdges(i.v,i.w)}))}function aWe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)mI(t,e,r,s);for(;s=i.dequeue();)mI(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){n=n.concat(mI(t,e,r,s,!0));break}}}return n}function mI(t,e,r,n,i){var a=i?[]:void 0;return Re(t.inEdges(n.v),function(s){var l=t.edge(s),u=t.node(s.v);i&&a.push({v:s.v,w:s.w}),u.out-=l,gI(e,r,u)}),Re(t.outEdges(n.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,gI(e,r,h)}),t.removeNode(n.v),a}function sWe(t,e){var r=new vn,n=0,i=0;Re(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Re(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=Tl(i+n+3).map(function(){return new rE}),s=n+1;return Re(r.nodes(),function(l){gI(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function gI(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)}var iWe,Vue=I(()=>{"use strict";Kt();wl();zue();iWe=eo(1);o(Gue,"greedyFAS");o(aWe,"doGreedyFAS");o(mI,"removeNode");o(sWe,"buildState");o(gI,"assignBucket")});function que(t){var e=t.graph().acyclicer==="greedy"?Gue(t,r(t)):oWe(t);Re(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,E0("rev"))});function r(n){return function(i){return n.edge(i).weight}}o(r,"weightFn")}function oWe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,Re(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return o(i,"dfs"),Re(t.nodes(),i),e}function Uue(t){Re(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)}})}var yI=I(()=>{"use strict";Kt();Vue();o(que,"run");o(oWe,"dfsFAS");o(Uue,"undo")});function pu(t,e,r,n){var i;do i=E0(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function Hue(t){var e=new vn().setGraph(t.graph());return Re(t.nodes(),function(r){e.setNode(r,t.node(r))}),Re(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 nE(t){var e=new vn({multigraph:t.isMultigraph()}).setGraph(t.graph());return Re(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Re(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function vI(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(s=-s),u=s,h=s*a/i),{x:r+u,y:n+h}}function id(t){var e=it(Tl(bI(t)+1),function(){return[]});return Re(t.nodes(),function(r){var n=t.node(r),i=n.rank;Er(i)||(e[i][n.order]=r)}),e}function Yue(t){var e=uc(it(t.nodes(),function(r){return t.node(r).rank}));Re(t.nodes(),function(r){var n=t.node(r);Gt(n,"rank")&&(n.rank-=e)})}function jue(t){var e=uc(it(t.nodes(),function(a){return t.node(a).rank})),r=[];Re(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;Re(r,function(a,s){Er(a)&&s%i!==0?--n:n&&Re(a,function(l){t.node(l).rank+=n})})}function xI(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),pu(t,"border",i,e)}function bI(t){return co(it(t.nodes(),function(e){var r=t.node(e).rank;if(!Er(r))return r}))}function Xue(t,e){var r={lhs:[],rhs:[]};return Re(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function Kue(t,e){var r=zS();try{return e()}finally{console.log(t+" time: "+(zS()-r)+"ms")}}function Que(t,e){return e()}var mu=I(()=>{"use strict";Kt();wl();o(pu,"addDummyNode");o(Hue,"simplify");o(nE,"asNonCompoundGraph");o(vI,"intersectRect");o(id,"buildLayerMatrix");o(Yue,"normalizeRanks");o(jue,"removeEmptyRanks");o(xI,"addBorderNode");o(bI,"maxRank");o(Xue,"partition");o(Kue,"time");o(Que,"notime")});function Jue(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&Re(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a{"use strict";Kt();mu();o(Jue,"addBorderSegments");o(Zue,"addBorderNode")});function rhe(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&ihe(t)}function nhe(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&lWe(t),(e==="lr"||e==="rl")&&(cWe(t),ihe(t))}function ihe(t){Re(t.nodes(),function(e){the(t.node(e))}),Re(t.edges(),function(e){the(t.edge(e))})}function the(t){var e=t.width;t.width=t.height,t.height=e}function lWe(t){Re(t.nodes(),function(e){TI(t.node(e))}),Re(t.edges(),function(e){var r=t.edge(e);Re(r.points,TI),Object.prototype.hasOwnProperty.call(r,"y")&&TI(r)})}function TI(t){t.y=-t.y}function cWe(t){Re(t.nodes(),function(e){wI(t.node(e))}),Re(t.edges(),function(e){var r=t.edge(e);Re(r.points,wI),Object.prototype.hasOwnProperty.call(r,"x")&&wI(r)})}function wI(t){var e=t.x;t.x=t.y,t.y=e}var ahe=I(()=>{"use strict";Kt();o(rhe,"adjust");o(nhe,"undo");o(ihe,"swapWidthHeight");o(the,"swapWidthHeightOne");o(lWe,"reverseY");o(TI,"reverseYOne");o(cWe,"swapXY");o(wI,"swapXYOne")});function she(t){t.graph().dummyChains=[],Re(t.edges(),function(e){hWe(t,e)})}function hWe(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h=void 0,f,d;for(d=0,++n;n{"use strict";Kt();mu();o(she,"run");o(hWe,"normalizeEdge");o(ohe,"undo")});function fb(t){var e={};function r(n){var i=t.node(n);if(Object.prototype.hasOwnProperty.call(e,n))return i.rank;e[n]=!0;var a=uc(it(t.outEdges(n),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}o(r,"dfs"),Re(t.sources(),r)}function A0(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var iE=I(()=>{"use strict";Kt();o(fb,"longestPath");o(A0,"slack")});function aE(t){var e=new vn({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;fWe(e,t){"use strict";Kt();wl();iE();o(aE,"feasibleTree");o(fWe,"tightTree");o(dWe,"findMinSlackEdge");o(pWe,"shiftRanks")});var che=I(()=>{"use strict"});var EI=I(()=>{"use strict"});var fnr,CI=I(()=>{"use strict";Kt();EI();fnr=eo(1)});var uhe=I(()=>{"use strict";CI()});var AI=I(()=>{"use strict"});var hhe=I(()=>{"use strict";AI()});var knr,fhe=I(()=>{"use strict";Kt();knr=eo(1)});function _I(t){var e={},r={},n=[];function i(a){if(Object.prototype.hasOwnProperty.call(r,a))throw new db;Object.prototype.hasOwnProperty.call(e,a)||(r[a]=!0,e[a]=!0,Re(t.predecessors(a),i),delete r[a],n.push(a))}if(o(i,"visit"),Re(t.sinks(),i),fI(e)!==t.nodeCount())throw new db;return n}function db(){}var DI=I(()=>{"use strict";Kt();_I.CycleException=db;o(_I,"topsort");o(db,"CycleException");db.prototype=new Error});var dhe=I(()=>{"use strict";DI()});function sE(t,e,r){zt(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return Re(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);phe(t,s,r==="post",a,n,i)}),i}function phe(t,e,r,n,i,a){Object.prototype.hasOwnProperty.call(n,e)||(n[e]=!0,r||a.push(e),Re(i(e),function(s){phe(t,s,r,n,i,a)}),r&&a.push(e))}var RI=I(()=>{"use strict";Kt();o(sE,"dfs");o(phe,"doDfs")});function LI(t,e){return sE(t,e,"post")}var mhe=I(()=>{"use strict";RI();o(LI,"postorder")});function NI(t,e){return sE(t,e,"pre")}var ghe=I(()=>{"use strict";RI();o(NI,"preorder")});var yhe=I(()=>{"use strict";EI();eE()});var vhe=I(()=>{"use strict";che();CI();uhe();hhe();fhe();dhe();mhe();ghe();yhe();AI();DI()});function sd(t){t=Hue(t),fb(t);var e=aE(t);II(e),MI(e,t);for(var r,n;r=whe(e);)n=khe(e,t,r),She(e,t,r,n)}function MI(t,e){var r=LI(t,t.nodes());r=r.slice(0,r.length-1),Re(r,function(n){xWe(t,e,n)})}function xWe(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=bhe(t,e,r)}function bhe(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),l=0;return s||(a=!1,s=e.edge(i,r)),l=s.weight,Re(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,TWe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function II(t,e){arguments.length<2&&(e=t.nodes()[0]),The(t,{},1,e)}function The(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,Re(t.neighbors(n),function(l){Object.prototype.hasOwnProperty.call(e,l)||(r=The(t,e,r,l,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function whe(t){return Ds(t.edges(),function(e){return t.edge(e).cutvalue<0})}function khe(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),s=t.node(i),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=cn(e.edges(),function(f){return u===xhe(t,t.node(f.v),l)&&u!==xhe(t,t.node(f.w),l)});return k0(h,function(f){return A0(e,f)})}function She(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),II(t),MI(t,e),bWe(t,e)}function bWe(t,e){var r=Ds(t.nodes(),function(i){return!e.node(i).parent}),n=NI(t,r);n=n.slice(1),Re(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),l=!1;s||(s=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function TWe(t,e,r){return t.hasEdge(e,r)}function xhe(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var Ehe=I(()=>{"use strict";Kt();vhe();mu();SI();iE();sd.initLowLimValues=II;sd.initCutValues=MI;sd.calcCutValue=bhe;sd.leaveEdge=whe;sd.enterEdge=khe;sd.exchangeEdges=She;o(sd,"networkSimplex");o(MI,"initCutValues");o(xWe,"assignCutValue");o(bhe,"calcCutValue");o(II,"initLowLimValues");o(The,"dfsAssignLowLim");o(whe,"leaveEdge");o(khe,"enterEdge");o(She,"exchangeEdges");o(bWe,"updateRanks");o(TWe,"isTreeEdge");o(xhe,"isDescendant")});function OI(t){switch(t.graph().ranker){case"network-simplex":Che(t);break;case"tight-tree":kWe(t);break;case"longest-path":wWe(t);break;default:Che(t)}}function kWe(t){fb(t),aE(t)}function Che(t){sd(t)}var wWe,PI=I(()=>{"use strict";SI();Ehe();iE();o(OI,"rank");wWe=fb;o(kWe,"tightTreeRanker");o(Che,"networkSimplexRanker")});function Ahe(t){var e=pu(t,"root",{},"_root"),r=SWe(t),n=co(Rr(r))-1,i=2*n+1;t.graph().nestingRoot=e,Re(t.edges(),function(s){t.edge(s).minlen*=i});var a=EWe(t)+1;Re(t.children(),function(s){_he(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function _he(t,e,r,n,i,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=xI(t,"_bt"),h=xI(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Re(l,function(d){_he(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:i+a[s]})}function SWe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&Re(a,function(s){r(s,i+1)}),e[n]=i}return o(r,"dfs"),Re(t.children(),function(n){r(n,1)}),e}function EWe(t){return un(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function Dhe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Re(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var Rhe=I(()=>{"use strict";Kt();mu();o(Ahe,"run");o(_he,"dfs");o(SWe,"treeDepths");o(EWe,"sumWeights");o(Dhe,"cleanup")});function Lhe(t,e,r){var n={},i;Re(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=n[l],n[l]=s):(u=i,i=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var Nhe=I(()=>{"use strict";Kt();o(Lhe,"addSubgraphConstraints")});function Mhe(t,e,r){var n=AWe(t),i=new vn({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return Re(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,l||n),Re(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=Er(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function AWe(t){for(var e;t.hasNode(e=E0("_root")););return e}var Ihe=I(()=>{"use strict";Kt();wl();o(Mhe,"buildLayerGraph");o(AWe,"createRootNode")});function Ohe(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var Phe=I(()=>{"use strict";Kt();o(Ohe,"crossCount");o(_We,"twoLayerCrossCount")});function Bhe(t){var e={},r=cn(t.nodes(),function(l){return!t.children(l).length}),n=co(it(r,function(l){return t.node(l).rank})),i=it(Tl(n+1),function(){return[]});function a(l){if(!Gt(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),Re(t.successors(l),a)}}o(a,"dfs");var s=du(r,function(l){return t.node(l).rank});return Re(s,a),i}var Fhe=I(()=>{"use strict";Kt();o(Bhe,"initOrder")});function $he(t,e){return it(e,function(r){var n=t.inEdges(r);if(n.length){var i=un(n,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var zhe=I(()=>{"use strict";Kt();o($he,"barycenter")});function Ghe(t,e){var r={};Re(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Er(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),Re(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Er(a)&&!Er(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=cn(r,function(i){return!i.indegree});return DWe(n)}function DWe(t){var e=[];function r(a){return function(s){s.merged||(Er(s.barycenter)||Er(a.barycenter)||s.barycenter>=a.barycenter)&&RWe(a,s)}}o(r,"handleIn");function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(n,"handleOut");t.length;){var i=t.pop();e.push(i),Re(i.in.reverse(),r(i)),Re(i.out,n(i))}return it(cn(e,function(a){return!a.merged}),function(a){return S0(a,["vs","i","barycenter","weight"])})}function RWe(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}var Vhe=I(()=>{"use strict";Kt();o(Ghe,"resolveConflicts");o(DWe,"doResolveConflicts");o(RWe,"mergeEntries")});function Uhe(t,e){var r=Xue(t,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),n=r.lhs,i=du(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;n.sort(LWe(!!e)),u=qhe(a,i,u),Re(n,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=qhe(a,i,u)});var h={vs:ln(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function qhe(t,e,r){for(var n;e.length&&(n=ya(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function LWe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var Whe=I(()=>{"use strict";Kt();mu();o(Uhe,"sort");o(qhe,"consumeUnsortable");o(LWe,"compareWithBias")});function BI(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(i=cn(i,function(g){return g!==s&&g!==l}));var h=$he(t,i);Re(h,function(g){if(t.children(g.v).length){var y=BI(t,g.v,r,n);u[g.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter")&&MWe(g,y)}});var f=Ghe(h,r);NWe(f,u);var d=Uhe(f,n);if(s&&(d.vs=ln([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function NWe(t,e){Re(t,function(r){r.vs=ln(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function MWe(t,e){Er(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)}var Hhe=I(()=>{"use strict";Kt();zhe();Vhe();Whe();o(BI,"sortSubgraph");o(NWe,"expandSubgraphs");o(MWe,"mergeBarycenters")});function Xhe(t){var e=bI(t),r=Yhe(t,Tl(1,e+1),"inEdges"),n=Yhe(t,Tl(e-1,-1,-1),"outEdges"),i=Bhe(t);jhe(t,i);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){IWe(l%2?r:n,l%4>=2),i=id(t);var h=Ohe(t,i);h{"use strict";Kt();wl();mu();Nhe();Ihe();Phe();Fhe();Hhe();o(Xhe,"order");o(Yhe,"buildLayerGraphs");o(IWe,"sweepLayerGraphs");o(jhe,"assignOrder")});function Qhe(t){var e=PWe(t);Re(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=OWe(t,e,i.v,i.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function PWe(t){var e={},r=0;function n(i){var a=r;Re(t.children(i),n),e[i]={low:a,lim:r++}}return o(n,"dfs"),Re(t.children(),n),e}var Zhe=I(()=>{"use strict";Kt();o(Qhe,"parentDummyChains");o(OWe,"findPath");o(PWe,"postorder")});function BWe(t,e){var r={};function n(i,a){var s=0,l=0,u=i.length,h=ya(a);return Re(a,function(f,d){var p=$We(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Re(a.slice(l,d+1),function(g){Re(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&Jhe(r,p,f)})})}o(n,"scan");function i(a,s){var l=-1,u,h=0;return Re(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(s,h,d,l,u),h=d,l=u)}n(s,h,s.length,u,a.length)}),s}return o(i,"visitLayer"),un(e,i),r}function $We(t,e){if(t.node(e).dummy)return Ds(t.predecessors(e),function(r){return t.node(r).dummy})}function Jhe(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function zWe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function GWe(t,e,r,n){var i={},a={},s={};return Re(e,function(l){Re(l,function(u,h){i[u]=u,a[u]=u,s[u]=h})}),Re(e,function(l){var u=-1;Re(l,function(h){var f=n(h);if(f.length){f=du(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";Kt();wl();mu();o(BWe,"findType1Conflicts");o(FWe,"findType2Conflicts");o($We,"findOtherInnerSegmentNode");o(Jhe,"addConflict");o(zWe,"hasConflict");o(GWe,"verticalAlignment");o(VWe,"horizontalCompaction");o(qWe,"buildBlockGraph");o(UWe,"findSmallestWidthAlignment");o(WWe,"alignCoordinates");o(HWe,"balance");o(efe,"positionX");o(YWe,"sep");o(jWe,"width")});function rfe(t){t=nE(t),XWe(t),nI(efe(t),function(e,r){t.node(r).x=e})}function XWe(t){var e=id(t),r=t.graph().ranksep,n=0;Re(e,function(i){var a=co(it(i,function(s){return t.node(s).height}));Re(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}var nfe=I(()=>{"use strict";Kt();mu();tfe();o(rfe,"position");o(XWe,"positionY")});function pb(t,e){var r=e&&e.debugTiming?Kue:Que;r("layout",()=>{var n=r(" buildLayoutGraph",()=>sHe(t));r(" runLayout",()=>KWe(n,r)),r(" updateInputGraph",()=>QWe(t,n))})}function KWe(t,e){e(" makeSpaceForEdgeLabels",()=>oHe(t)),e(" removeSelfEdges",()=>gHe(t)),e(" acyclic",()=>que(t)),e(" nestingGraph.run",()=>Ahe(t)),e(" rank",()=>OI(nE(t))),e(" injectEdgeLabelProxies",()=>lHe(t)),e(" removeEmptyRanks",()=>jue(t)),e(" nestingGraph.cleanup",()=>Dhe(t)),e(" normalizeRanks",()=>Yue(t)),e(" assignRankMinMax",()=>cHe(t)),e(" removeEdgeLabelProxies",()=>uHe(t)),e(" normalize.run",()=>she(t)),e(" parentDummyChains",()=>Qhe(t)),e(" addBorderSegments",()=>Jue(t)),e(" order",()=>Xhe(t)),e(" insertSelfEdges",()=>yHe(t)),e(" adjustCoordinateSystem",()=>rhe(t)),e(" position",()=>rfe(t)),e(" positionSelfEdges",()=>vHe(t)),e(" removeBorderNodes",()=>mHe(t)),e(" normalize.undo",()=>ohe(t)),e(" fixupEdgeLabelCoords",()=>dHe(t)),e(" undoCoordinateSystem",()=>nhe(t)),e(" translateGraph",()=>hHe(t)),e(" assignNodeIntersects",()=>fHe(t)),e(" reversePoints",()=>pHe(t)),e(" acyclic.undo",()=>Uue(t))}function QWe(t,e){Re(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))}),Re(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function sHe(t){var e=new vn({multigraph:!0,compound:!0}),r=$I(t.graph());return e.setGraph(Gf({},JWe,FI(r,ZWe),S0(r,eHe))),Re(t.nodes(),function(n){var i=$I(t.node(n));e.setNode(n,td(FI(i,tHe),rHe)),e.setParent(n,t.parent(n))}),Re(t.edges(),function(n){var i=$I(t.edge(n));e.setEdge(n,Gf({},iHe,FI(i,nHe),S0(i,aHe)))}),e}function oHe(t){var e=t.graph();e.ranksep/=2,Re(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 lHe(t){Re(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),a={rank:(i.rank-n.rank)/2+n.rank,e};pu(t,"edge-proxy",a,"_ep")}})}function cHe(t){var e=0;Re(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=co(e,n.maxRank))}),t.graph().maxRank=e}function uHe(t){Re(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function hHe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}o(u,"getExtremes"),Re(t.nodes(),function(h){u(t.node(h))}),Re(t.edges(),function(h){var f=t.edge(h);Object.prototype.hasOwnProperty.call(f,"x")&&u(f)}),e-=s,n-=l,Re(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),Re(t.edges(),function(h){var f=t.edge(h);Re(f.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=e),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=n)}),a.width=r-e+s,a.height=i-n+l}function fHe(t){Re(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(vI(n,a)),r.points.push(vI(i,s))})}function dHe(t){Re(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(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 pHe(t){Re(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function mHe(t){Re(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(ya(r.borderLeft)),s=t.node(ya(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),Re(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function gHe(t){Re(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 yHe(t){var e=id(t);Re(e,function(r){var n=0;Re(r,function(i,a){var s=t.node(i);s.order=a+n,Re(s.selfEdges,function(l){pu(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function vHe(t){Re(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,a=n.y,s=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-l},{x:i+5*s/6,y:a-l},{x:i+s,y:a},{x:i+5*s/6,y:a+l},{x:i+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function FI(t,e){return w0(S0(t,e),Number)}function $I(t){var e={};return Re(t,function(r,n){e[n.toLowerCase()]=r}),e}var ZWe,JWe,eHe,tHe,rHe,nHe,iHe,aHe,ife=I(()=>{"use strict";Kt();wl();ehe();ahe();yI();kI();PI();Rhe();Khe();Zhe();nfe();mu();o(pb,"layout");o(KWe,"runLayout");o(QWe,"updateInputGraph");ZWe=["nodesep","edgesep","ranksep","marginx","marginy"],JWe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},eHe=["acyclicer","ranker","rankdir","align"],tHe=["width","height"],rHe={width:0,height:0},nHe=["minlen","weight","width","height","labeloffset"],iHe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},aHe=["labelpos"];o(sHe,"buildLayoutGraph");o(oHe,"makeSpaceForEdgeLabels");o(lHe,"injectEdgeLabelProxies");o(cHe,"assignRankMinMax");o(uHe,"removeEdgeLabelProxies");o(hHe,"translateGraph");o(fHe,"assignNodeIntersects");o(dHe,"fixupEdgeLabelCoords");o(pHe,"reversePointsForReversedEdges");o(mHe,"removeBorderNodes");o(gHe,"removeSelfEdges");o(yHe,"insertSelfEdges");o(vHe,"positionSelfEdges");o(FI,"selectNumberAttrs");o($I,"canonicalize")});var zI=I(()=>{"use strict";yI();ife();kI();PI()});function kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:xHe(t),edges:bHe(t)};return Er(t.graph())||(e.value=yn(t.graph())),e}function xHe(t){return it(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Er(r)||(i.value=r),Er(n)||(i.parent=n),i})}function bHe(t){return it(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Er(e.name)||(n.name=e.name),Er(r)||(n.value=r),n})}var GI=I(()=>{"use strict";Kt();eE();o(kl,"write");o(xHe,"writeNodes");o(bHe,"writeEdges")});var Lr,_0,ofe,lfe,oE,THe,cfe,ufe,wHe,D1,sfe,hfe,ffe,dfe,pfe,mfe=I(()=>{"use strict";gt();wl();GI();Lr=new Map,_0=new Map,ofe=new Map,lfe=o(()=>{_0.clear(),ofe.clear(),Lr.clear()},"clear"),oE=o((t,e)=>{let r=_0.get(e)||[];return X.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),THe=o((t,e)=>{let r=_0.get(e)||[];return X.info("Descendants of ",e," is ",r),X.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||oE(t.v,e)||oE(t.w,e)||r.includes(t.w):(X.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),cfe=o((t,e,r,n)=>{X.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),X.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)cfe(a,e,r,n);else{let s=e.node(a);X.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(X.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(X.debug("Setting parent",a,t),r.setParent(a,t)):(X.info("In copy ",t,"root",n,"data",e.node(t),n),X.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);X.debug("Copying Edges",l),l.forEach(u=>{X.info("Edge",u);let h=e.edge(u.v,u.w,u.name);X.info("Edge data",h,n);try{THe(u,n)?(X.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),X.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):X.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){X.error(f)}})}X.debug("Removing node",a),e.removeNode(a)})},"copy"),ufe=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)ofe.set(i,t),n=[...n,...ufe(i,e)];return n},"extractDescendants"),wHe=o((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),D1=o((t,e,r)=>{let n=e.children(t);if(X.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let s=D1(a,e,r),l=wHe(e,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),sfe=o(t=>!Lr.has(t)||!Lr.get(t).externalConnections?t:Lr.has(t)?Lr.get(t).id:t,"getAnchorId"),hfe=o((t,e)=>{if(!t||e>10){X.debug("Opting out, no graph ");return}else X.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(X.warn("Cluster identified",r," Replacement id in edges: ",D1(r,t,r)),_0.set(r,ufe(r,t)),Lr.set(r,{id:D1(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(X.debug("Cluster identified",r,_0),i.forEach(a=>{let s=oE(a.v,r),l=oE(a.w,r);s^l&&(X.warn("Edge: ",a," leaves cluster ",r),X.warn("Descendants of XXX ",r,": ",_0.get(r)),Lr.get(r).externalConnections=!0)})):X.debug("Not a cluster ",r,_0)});for(let r of Lr.keys()){let n=Lr.get(r).id,i=t.parent(n);i!==r&&Lr.has(i)&&!Lr.get(i).externalConnections&&(Lr.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);X.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),X.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(X.warn("Fix XXX",Lr,"ids:",r.v,r.w,"Translating: ",Lr.get(r.v)," --- ",Lr.get(r.w)),Lr.get(r.v)||Lr.get(r.w)){if(X.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=sfe(r.v),a=sfe(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);Lr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);Lr.get(s).externalConnections=!0,n.toCluster=r.w}X.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),X.warn("Adjusted Graph",kl(t)),ffe(t,0),X.trace(Lr)},"adjustClustersAndEdges"),ffe=o((t,e)=>{if(X.warn("extractor - ",e,kl(t),t.children("D")),e>10){X.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){X.debug("Done, no node has children",t.nodes());return}X.debug("Nodes = ",r,e);for(let i of r)if(X.debug("Extracting node",i,Lr,Lr.has(i)&&!Lr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Lr.has(i))X.debug("Not a cluster",i,e);else if(!Lr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){X.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Lr.get(i)?.clusterData?.dir&&(s=Lr.get(i).clusterData.dir,X.warn("Fixing dir",Lr.get(i).clusterData.dir,s));let l=new vn({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});X.warn("Old graph before copy",kl(t)),cfe(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Lr.get(i).clusterData,label:Lr.get(i).label,graph:l}),X.warn("New graph after copy node: (",i,")",kl(l)),X.debug("Old graph after copy",kl(t))}else X.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Lr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),X.debug(Lr);r=t.nodes(),X.warn("New list of nodes",r);for(let i of r){let a=t.node(i);X.warn(" Now next level",i,a),a?.clusterNode&&ffe(a.graph,e+1)}},"extractor"),dfe=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=dfe(t,i);r=[...r,...a]}),r},"sorter"),pfe=o(t=>dfe(t,t.children()),"sortNodesByHierarchy")});var yfe={};vr(yfe,{render:()=>kHe});var gfe,kHe,vfe=I(()=>{"use strict";zI();GI();wl();EM();Bt();mfe();iS();Yk();SM();gt();ab();Qt();gfe=o(async(t,e,r,n,i,a)=>{X.warn("Graph in recursive render:XAX",kl(e),i);let s=e.graph().rankdir;X.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?X.info("Recursive render XXX",e.nodes()):X.info("No nodes found for",e),e.edges().length>0&&X.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));X.trace(`Setting data for parent cluster XXX + L0,20`)},"requirement_arrow"),Kze=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),Qze={extension:Pze,composition:Bze,aggregation:Fze,dependency:$ze,lollipop:zze,point:Gze,circle:Vze,cross:qze,barb:Uze,only_one:Wze,zero_or_one:Hze,one_or_more:Yze,zero_or_more:jze,requirement_arrow:Xze,requirement_contains:Kze},mE=Oze});async function y1(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?OM[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),gE.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}var gE,xoe,boe,vb,yE=O(()=>{"use strict";xt();PM();gE=new Map;o(y1,"insertNode");xoe=o((t,e)=>{gE.set(e.id,t)},"setNodeElem"),boe=o(()=>{gE.clear()},"clear"),vb=o(t=>{let e=gE.get(t.id);K.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let 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},"positionNode")});var Toe,woe=O(()=>{"use strict";$r();Ur();xt();oE();zM();GM();yE();$t();ar();Toe={common:st,getConfig:Zt,insertCluster:g1,insertEdge:pE,insertEdgeLabel:fE,insertMarkers:mE,insertNode:y1,interpolateToCurve:_N,labelHelper:pt,log:K,positionEdgeLabel:dE}});function Jze(t){return typeof t=="symbol"||wi(t)&&Pa(t)==Zze}var Zze,Ho,T0=O(()=>{"use strict";Th();xl();Zze="[object Symbol]";o(Jze,"isSymbol");Ho=Jze});function eGe(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";o(eGe,"arrayMap");fo=eGe});function Soe(t){if(typeof t=="string")return t;if(zt(t))return fo(t,Soe)+"";if(Ho(t))return Eoe?Eoe.call(t):"";var e=t+"";return e=="0"&&1/t==-tGe?"-0":e}var tGe,koe,Eoe,Coe,Aoe=O(()=>{"use strict";s0();w0();oi();T0();tGe=1/0,koe=ya?ya.prototype:void 0,Eoe=koe?koe.toString:void 0;o(Soe,"baseToString");Coe=Soe});function nGe(t){for(var e=t.length;e--&&rGe.test(t.charAt(e)););return e}var rGe,_oe,Doe=O(()=>{"use strict";rGe=/\s/;o(nGe,"trimmedEndIndex");_oe=nGe});function aGe(t){return t&&t.slice(0,_oe(t)+1).replace(iGe,"")}var iGe,Roe,Loe=O(()=>{"use strict";Doe();iGe=/^\s+/;o(aGe,"baseTrim");Roe=aGe});function uGe(t){if(typeof t=="number")return t;if(Ho(t))return Noe;if(On(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=On(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Roe(t);var r=oGe.test(t);return r||lGe.test(t)?cGe(t.slice(2),r?2:8):sGe.test(t)?Noe:+t}var Noe,sGe,oGe,lGe,cGe,Moe,Ioe=O(()=>{"use strict";Loe();Vo();T0();Noe=NaN,sGe=/^[-+]0x[0-9a-f]+$/i,oGe=/^0b[01]+$/i,lGe=/^0o[0-7]+$/i,cGe=parseInt;o(uGe,"toNumber");Moe=uGe});function fGe(t){if(!t)return t===0?t:0;if(t=Moe(t),t===Ooe||t===-Ooe){var e=t<0?-1:1;return e*hGe}return t===t?t:0}var Ooe,hGe,v1,VM=O(()=>{"use strict";Ioe();Ooe=1/0,hGe=17976931348623157e292;o(fGe,"toFinite");v1=fGe});function dGe(t){var e=v1(t),r=e%1;return e===e?r?e-r:e:0}var mu,x1=O(()=>{"use strict";VM();o(dGe,"toInteger");mu=dGe});var pGe,vE,Poe=O(()=>{"use strict";Ff();yl();pGe=ro(Ri,"WeakMap"),vE=pGe});function mGe(){}var ki,qM=O(()=>{"use strict";o(mGe,"noop");ki=mGe});function gGe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(gGe,"arrayEach");xE=gGe});function yGe(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";o(yGe,"baseFindIndex");bE=yGe});function vGe(t){return t!==t}var Boe,Foe=O(()=>{"use strict";o(vGe,"baseIsNaN");Boe=vGe});function xGe(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";o(xGe,"strictIndexOf");$oe=xGe});function bGe(t,e,r){return e===e?$oe(t,e,r):bE(t,Boe,r)}var b1,TE=O(()=>{"use strict";WM();Foe();zoe();o(bGe,"baseIndexOf");b1=bGe});function TGe(t,e){var r=t==null?0:t.length;return!!r&&b1(t,e,0)>-1}var wE,HM=O(()=>{"use strict";TE();o(TGe,"arrayIncludes");wE=TGe});var wGe,Goe,Voe=O(()=>{"use strict";mN();wGe=yk(Object.keys,Object),Goe=wGe});function SGe(t){if(!lu(t))return Goe(t);var e=[];for(var r in Object(t))EGe.call(t,r)&&r!="constructor"&&e.push(r);return e}var kGe,EGe,T1,kE=O(()=>{"use strict";n1();Voe();kGe=Object.prototype,EGe=kGe.hasOwnProperty;o(SGe,"baseKeys");T1=SGe});function CGe(t){return Li(t)?wk(t):T1(t)}var nn,gu=O(()=>{"use strict";bN();kE();bl();o(CGe,"keys");nn=CGe});var AGe,_Ge,DGe,$a,qoe=O(()=>{"use strict";o1();h0();EN();bl();n1();gu();AGe=Object.prototype,_Ge=AGe.hasOwnProperty,DGe=Sk(function(t,e){if(lu(e)||Li(e)){kl(e,nn(e),t);return}for(var r in e)_Ge.call(e,r)&&cu(t,r,e[r])}),$a=DGe});function NGe(t,e){if(zt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ho(t)?!0:LGe.test(t)||!RGe.test(t)||e!=null&&t in Object(e)}var RGe,LGe,w1,EE=O(()=>{"use strict";oi();T0();RGe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LGe=/^\w*$/;o(NGe,"isKey");w1=NGe});function IGe(t){var e=Xg(t,function(n){return r.size===MGe&&r.clear(),n}),r=e.cache;return e}var MGe,Uoe,Woe=O(()=>{"use strict";lN();MGe=500;o(IGe,"memoizeCapped");Uoe=IGe});var OGe,PGe,BGe,Hoe,Yoe=O(()=>{"use strict";Woe();OGe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,PGe=/\\(\\)?/g,BGe=Uoe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(OGe,function(r,n,i,a){e.push(i?a.replace(PGe,"$1"):n||r)}),e}),Hoe=BGe});function FGe(t){return t==null?"":Coe(t)}var SE,YM=O(()=>{"use strict";Aoe();o(FGe,"toString");SE=FGe});function $Ge(t,e){return zt(t)?t:w1(t,e)?[t]:Hoe(SE(t))}var td,xb=O(()=>{"use strict";oi();EE();Yoe();YM();o($Ge,"castPath");td=$Ge});function GGe(t){if(typeof t=="string"||Ho(t))return t;var e=t+"";return e=="0"&&1/t==-zGe?"-0":e}var zGe,yu,k1=O(()=>{"use strict";T0();zGe=1/0;o(GGe,"toKey");yu=GGe});function VGe(t,e){e=td(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";xb();k1();o(VGe,"baseGet");rd=VGe});function qGe(t,e,r){var n=t==null?void 0:rd(t,e);return n===void 0?r:n}var joe,Xoe=O(()=>{"use strict";bb();o(qGe,"get");joe=qGe});function UGe(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";o(UGe,"arrayPush");E1=UGe});function WGe(t){return zt(t)||pc(t)||!!(Koe&&t&&t[Koe])}var Koe,Qoe,Zoe=O(()=>{"use strict";s0();i1();oi();Koe=ya?ya.isConcatSpreadable:void 0;o(WGe,"isFlattenable");Qoe=WGe});function Joe(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=Qoe),i||(i=[]);++a0&&r(l)?e>1?Joe(l,e-1,r,n,i):E1(i,l):n||(i[i.length]=l)}return i}var vu,S1=O(()=>{"use strict";CE();Zoe();o(Joe,"baseFlatten");vu=Joe});function HGe(t){var e=t==null?0:t.length;return e?vu(t,1):[]}var fn,AE=O(()=>{"use strict";S1();o(HGe,"flatten");fn=HGe});function YGe(t){return Ek(kk(t,void 0,fn),t+"")}var ele,tle=O(()=>{"use strict";AE();TN();kN();o(YGe,"flatRest");ele=YGe});function jGe(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";o(jGe,"baseSlice");_E=jGe});function nVe(t){return rVe.test(t)}var XGe,KGe,QGe,ZGe,JGe,eVe,tVe,rVe,rle,nle=O(()=>{"use strict";XGe="\\ud800-\\udfff",KGe="\\u0300-\\u036f",QGe="\\ufe20-\\ufe2f",ZGe="\\u20d0-\\u20ff",JGe=KGe+QGe+ZGe,eVe="\\ufe0e\\ufe0f",tVe="\\u200d",rVe=RegExp("["+tVe+XGe+JGe+eVe+"]");o(nVe,"hasUnicode");rle=nVe});function iVe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";o(iVe,"arrayReduce");ile=iVe});function aVe(t,e){return t&&kl(e,nn(e),t)}var sle,ole=O(()=>{"use strict";h0();gu();o(aVe,"baseAssign");sle=aVe});function sVe(t,e){return t&&kl(e,no(e),t)}var lle,cle=O(()=>{"use strict";h0();Wf();o(sVe,"baseAssignIn");lle=sVe});function oVe(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";o(oVe,"arrayFilter");C1=oVe});function lVe(){return[]}var RE,XM=O(()=>{"use strict";o(lVe,"stubArray");RE=lVe});var cVe,uVe,ule,hVe,A1,LE=O(()=>{"use strict";DE();XM();cVe=Object.prototype,uVe=cVe.propertyIsEnumerable,ule=Object.getOwnPropertySymbols,hVe=ule?function(t){return t==null?[]:(t=Object(t),C1(ule(t),function(e){return uVe.call(t,e)}))}:RE,A1=hVe});function fVe(t,e){return kl(t,A1(t),e)}var hle,fle=O(()=>{"use strict";h0();LE();o(fVe,"copySymbols");hle=fVe});var dVe,pVe,NE,KM=O(()=>{"use strict";CE();vk();LE();XM();dVe=Object.getOwnPropertySymbols,pVe=dVe?function(t){for(var e=[];t;)E1(e,A1(t)),t=r1(t);return e}:RE,NE=pVe});function mVe(t,e){return kl(t,NE(t),e)}var dle,ple=O(()=>{"use strict";h0();KM();o(mVe,"copySymbolsIn");dle=mVe});function gVe(t,e,r){var n=e(t);return zt(t)?n:E1(n,r(t))}var ME,QM=O(()=>{"use strict";CE();oi();o(gVe,"baseGetAllKeys");ME=gVe});function yVe(t){return ME(t,nn,A1)}var Tb,ZM=O(()=>{"use strict";QM();LE();gu();o(yVe,"getAllKeys");Tb=yVe});function vVe(t){return ME(t,no,NE)}var IE,JM=O(()=>{"use strict";QM();KM();Wf();o(vVe,"getAllKeysIn");IE=vVe});var xVe,OE,mle=O(()=>{"use strict";Ff();yl();xVe=ro(Ri,"DataView"),OE=xVe});var bVe,PE,gle=O(()=>{"use strict";Ff();yl();bVe=ro(Ri,"Promise"),PE=bVe});var TVe,nd,eI=O(()=>{"use strict";Ff();yl();TVe=ro(Ri,"Set"),nd=TVe});var yle,wVe,vle,xle,ble,Tle,kVe,EVe,SVe,CVe,AVe,k0,Yo,E0=O(()=>{"use strict";mle();uk();gle();eI();Poe();Th();aN();yle="[object Map]",wVe="[object Object]",vle="[object Promise]",xle="[object Set]",ble="[object WeakMap]",Tle="[object DataView]",kVe=wh(OE),EVe=wh(Gf),SVe=wh(PE),CVe=wh(nd),AVe=wh(vE),k0=Pa;(OE&&k0(new OE(new ArrayBuffer(1)))!=Tle||Gf&&k0(new Gf)!=yle||PE&&k0(PE.resolve())!=vle||nd&&k0(new nd)!=xle||vE&&k0(new vE)!=ble)&&(k0=o(function(t){var e=Pa(t),r=e==wVe?t.constructor:void 0,n=r?wh(r):"";if(n)switch(n){case kVe:return Tle;case EVe:return yle;case SVe:return vle;case CVe:return xle;case AVe:return ble}return e},"getTag"));Yo=k0});function RVe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&DVe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var _Ve,DVe,wle,kle=O(()=>{"use strict";_Ve=Object.prototype,DVe=_Ve.hasOwnProperty;o(RVe,"initCloneArray");wle=RVe});function LVe(t,e){var r=e?t1(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Ele,Sle=O(()=>{"use strict";pk();o(LVe,"cloneDataView");Ele=LVe});function MVe(t){var e=new t.constructor(t.source,NVe.exec(t));return e.lastIndex=t.lastIndex,e}var NVe,Cle,Ale=O(()=>{"use strict";NVe=/\w*$/;o(MVe,"cloneRegExp");Cle=MVe});function IVe(t){return Dle?Object(Dle.call(t)):{}}var _le,Dle,Rle,Lle=O(()=>{"use strict";s0();_le=ya?ya.prototype:void 0,Dle=_le?_le.valueOf:void 0;o(IVe,"cloneSymbol");Rle=IVe});function eqe(t,e,r){var n=t.constructor;switch(e){case qVe:return t1(t);case OVe:case PVe:return new n(+t);case UVe:return Ele(t,r);case WVe:case HVe:case YVe:case jVe:case XVe:case KVe:case QVe:case ZVe:case JVe:return mk(t,r);case BVe:return new n;case FVe:case GVe:return new n(t);case $Ve:return Cle(t);case zVe:return new n;case VVe:return Rle(t)}}var OVe,PVe,BVe,FVe,$Ve,zVe,GVe,VVe,qVe,UVe,WVe,HVe,YVe,jVe,XVe,KVe,QVe,ZVe,JVe,Nle,Mle=O(()=>{"use strict";pk();Sle();Ale();Lle();dN();OVe="[object Boolean]",PVe="[object Date]",BVe="[object Map]",FVe="[object Number]",$Ve="[object RegExp]",zVe="[object Set]",GVe="[object String]",VVe="[object Symbol]",qVe="[object ArrayBuffer]",UVe="[object DataView]",WVe="[object Float32Array]",HVe="[object Float64Array]",YVe="[object Int8Array]",jVe="[object Int16Array]",XVe="[object Int32Array]",KVe="[object Uint8Array]",QVe="[object Uint8ClampedArray]",ZVe="[object Uint16Array]",JVe="[object Uint32Array]";o(eqe,"initCloneByTag");Nle=eqe});function rqe(t){return wi(t)&&Yo(t)==tqe}var tqe,Ile,Ole=O(()=>{"use strict";E0();xl();tqe="[object Map]";o(rqe,"baseIsMap");Ile=rqe});var Ple,nqe,Ble,Fle=O(()=>{"use strict";Ole();u0();jx();Ple=wl&&wl.isMap,nqe=Ple?Tl(Ple):Ile,Ble=nqe});function aqe(t){return wi(t)&&Yo(t)==iqe}var iqe,$le,zle=O(()=>{"use strict";E0();xl();iqe="[object Set]";o(aqe,"baseIsSet");$le=aqe});var Gle,sqe,Vle,qle=O(()=>{"use strict";zle();u0();jx();Gle=wl&&wl.isSet,sqe=Gle?Tl(Gle):$le,Vle=sqe});function BE(t,e,r,n,i,a){var s,l=e&oqe,u=e&lqe,h=e&cqe;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!On(t))return t;var f=zt(t);if(f){if(s=wle(t),!l)return gk(t,s)}else{var d=Yo(t),p=d==Wle||d==pqe;if(mc(t))return dk(t,l);if(d==Hle||d==Ule||p&&!i){if(s=u||p?{}:xk(t),!l)return u?dle(t,lle(s,t)):hle(t,sle(s,t))}else{if(!Un[d])return i?t:{};s=Nle(t,d,l)}}a||(a=new su);var m=a.get(t);if(m)return m;a.set(t,s),Vle(t)?t.forEach(function(v){s.add(BE(v,e,r,v,t,a))}):Ble(t)&&t.forEach(function(v,x){s.set(x,BE(v,e,r,x,t,a))});var g=h?u?IE:Tb:u?no:nn,y=f?void 0:g(t);return xE(y||t,function(v,x){y&&(x=v,v=t[x]),cu(s,x,BE(v,e,r,x,t,a))}),s}var oqe,lqe,cqe,Ule,uqe,hqe,fqe,dqe,Wle,pqe,mqe,gqe,Hle,yqe,vqe,xqe,bqe,Tqe,wqe,kqe,Eqe,Sqe,Cqe,Aqe,_qe,Dqe,Rqe,Lqe,Nqe,Un,FE,tI=O(()=>{"use strict";Wx();UM();o1();ole();cle();hN();pN();fle();ple();ZM();JM();E0();kle();Mle();gN();oi();s1();Fle();Vo();qle();gu();Wf();oqe=1,lqe=2,cqe=4,Ule="[object Arguments]",uqe="[object Array]",hqe="[object Boolean]",fqe="[object Date]",dqe="[object Error]",Wle="[object Function]",pqe="[object GeneratorFunction]",mqe="[object Map]",gqe="[object Number]",Hle="[object Object]",yqe="[object RegExp]",vqe="[object Set]",xqe="[object String]",bqe="[object Symbol]",Tqe="[object WeakMap]",wqe="[object ArrayBuffer]",kqe="[object DataView]",Eqe="[object Float32Array]",Sqe="[object Float64Array]",Cqe="[object Int8Array]",Aqe="[object Int16Array]",_qe="[object Int32Array]",Dqe="[object Uint8Array]",Rqe="[object Uint8ClampedArray]",Lqe="[object Uint16Array]",Nqe="[object Uint32Array]",Un={};Un[Ule]=Un[uqe]=Un[wqe]=Un[kqe]=Un[hqe]=Un[fqe]=Un[Eqe]=Un[Sqe]=Un[Cqe]=Un[Aqe]=Un[_qe]=Un[mqe]=Un[gqe]=Un[Hle]=Un[yqe]=Un[vqe]=Un[xqe]=Un[bqe]=Un[Dqe]=Un[Rqe]=Un[Lqe]=Un[Nqe]=!0;Un[dqe]=Un[Wle]=Un[Tqe]=!1;o(BE,"baseClone");FE=BE});function Iqe(t){return FE(t,Mqe)}var Mqe,Tn,rI=O(()=>{"use strict";tI();Mqe=4;o(Iqe,"clone");Tn=Iqe});function Bqe(t){return FE(t,Oqe|Pqe)}var Oqe,Pqe,nI,Yle=O(()=>{"use strict";tI();Oqe=1,Pqe=4;o(Bqe,"cloneDeep");nI=Bqe});function Fqe(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";o(Fqe,"compact");xu=Fqe});function zqe(t){return this.__data__.set(t,$qe),this}var $qe,Xle,Kle=O(()=>{"use strict";$qe="__lodash_hash_undefined__";o(zqe,"setCacheAdd");Xle=zqe});function Gqe(t){return this.__data__.has(t)}var Qle,Zle=O(()=>{"use strict";o(Gqe,"setCacheHas");Qle=Gqe});function $E(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new l0;++e{"use strict";hk();Kle();Zle();o($E,"SetCache");$E.prototype.add=$E.prototype.push=Xle;$E.prototype.has=Qle;_1=$E});function Vqe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(Vqe,"arraySome");GE=Vqe});function qqe(t,e){return t.has(e)}var D1,VE=O(()=>{"use strict";o(qqe,"cacheHas");D1=qqe});function Hqe(t,e,r,n,i,a){var s=r&Uqe,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&Wqe?new _1:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";zE();iI();VE();Uqe=1,Wqe=2;o(Hqe,"equalArrays");qE=Hqe});function Yqe(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var Jle,ece=O(()=>{"use strict";o(Yqe,"mapToArray");Jle=Yqe});function jqe(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var R1,UE=O(()=>{"use strict";o(jqe,"setToArray");R1=jqe});function lUe(t,e,r,n,i,a,s){switch(r){case oUe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case sUe:return!(t.byteLength!=e.byteLength||!a(new e1(t),new e1(e)));case Qqe:case Zqe:case tUe:return vl(+t,+e);case Jqe:return t.name==e.name&&t.message==e.message;case rUe:case iUe:return t==e+"";case eUe:var l=Jle;case nUe:var u=n&Xqe;if(l||(l=R1),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;n|=Kqe,s.set(t,e);var f=qE(l(t),l(e),n,i,a,s);return s.delete(t),f;case aUe:if(sI)return sI.call(t)==sI.call(e)}return!1}var Xqe,Kqe,Qqe,Zqe,Jqe,eUe,tUe,rUe,nUe,iUe,aUe,sUe,oUe,tce,sI,rce,nce=O(()=>{"use strict";s0();fN();o0();aI();ece();UE();Xqe=1,Kqe=2,Qqe="[object Boolean]",Zqe="[object Date]",Jqe="[object Error]",eUe="[object Map]",tUe="[object Number]",rUe="[object RegExp]",nUe="[object Set]",iUe="[object String]",aUe="[object Symbol]",sUe="[object ArrayBuffer]",oUe="[object DataView]",tce=ya?ya.prototype:void 0,sI=tce?tce.valueOf:void 0;o(lUe,"equalByTag");rce=lUe});function fUe(t,e,r,n,i,a){var s=r&cUe,l=Tb(t),u=l.length,h=Tb(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:hUe.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";ZM();cUe=1,uUe=Object.prototype,hUe=uUe.hasOwnProperty;o(fUe,"equalObjects");ice=fUe});function mUe(t,e,r,n,i,a){var s=zt(t),l=zt(e),u=s?oce:Yo(t),h=l?oce:Yo(e);u=u==sce?WE:u,h=h==sce?WE:h;var f=u==WE,d=h==WE,p=u==h;if(p&&mc(t)){if(!mc(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new su),s||qf(t)?qE(t,e,r,n,i,a):rce(t,e,u,r,n,i,a);if(!(r&dUe)){var m=f&&lce.call(t,"__wrapped__"),g=d&&lce.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new su),i(y,v,r,n,a)}}return p?(a||(a=new su),ice(t,e,r,n,i,a)):!1}var dUe,sce,oce,WE,pUe,lce,cce,uce=O(()=>{"use strict";Wx();aI();nce();ace();E0();oi();s1();Xx();dUe=1,sce="[object Arguments]",oce="[object Array]",WE="[object Object]",pUe=Object.prototype,lce=pUe.hasOwnProperty;o(mUe,"baseIsEqualDeep");cce=mUe});function hce(t,e,r,n,i){return t===e?!0:t==null||e==null||!wi(t)&&!wi(e)?t!==t&&e!==e:cce(t,e,r,n,hce,i)}var HE,oI=O(()=>{"use strict";uce();xl();o(hce,"baseIsEqual");HE=hce});function vUe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";Wx();oI();gUe=1,yUe=2;o(vUe,"baseIsMatch");fce=vUe});function xUe(t){return t===t&&!On(t)}var YE,lI=O(()=>{"use strict";Vo();o(xUe,"isStrictComparable");YE=xUe});function bUe(t){for(var e=nn(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,YE(i)]}return e}var pce,mce=O(()=>{"use strict";lI();gu();o(bUe,"getMatchData");pce=bUe});function TUe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var jE,cI=O(()=>{"use strict";o(TUe,"matchesStrictComparable");jE=TUe});function wUe(t){var e=pce(t);return e.length==1&&e[0][2]?jE(e[0][0],e[0][1]):function(r){return r===t||fce(r,t,e)}}var gce,yce=O(()=>{"use strict";dce();mce();cI();o(wUe,"baseMatches");gce=wUe});function kUe(t,e){return t!=null&&e in Object(t)}var vce,xce=O(()=>{"use strict";o(kUe,"baseHasIn");vce=kUe});function EUe(t,e,r){e=td(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";xb();i1();oi();Qx();bk();k1();o(EUe,"hasPath");XE=EUe});function SUe(t,e){return t!=null&&XE(t,e,vce)}var KE,hI=O(()=>{"use strict";xce();uI();o(SUe,"hasIn");KE=SUe});function _Ue(t,e){return w1(t)&&YE(e)?jE(yu(t),e):function(r){var n=joe(r,t);return n===void 0&&n===e?KE(r,t):HE(e,n,CUe|AUe)}}var CUe,AUe,bce,Tce=O(()=>{"use strict";oI();Xoe();hI();EE();lI();cI();k1();CUe=1,AUe=2;o(_Ue,"baseMatchesProperty");bce=_Ue});function DUe(t){return function(e){return e?.[t]}}var QE,fI=O(()=>{"use strict";o(DUe,"baseProperty");QE=DUe});function RUe(t){return function(e){return rd(e,t)}}var wce,kce=O(()=>{"use strict";bb();o(RUe,"basePropertyDeep");wce=RUe});function LUe(t){return w1(t)?QE(yu(t)):wce(t)}var Ece,Sce=O(()=>{"use strict";fI();kce();EE();k1();o(LUe,"property");Ece=LUe});function NUe(t){return typeof t=="function"?t:t==null?va:typeof t=="object"?zt(t)?bce(t[0],t[1]):gce(t):Ece(t)}var Ln,Rs=O(()=>{"use strict";yce();Tce();Eh();oi();Sce();o(NUe,"baseIteratee");Ln=NUe});function MUe(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";o(MUe,"arrayAggregator");Cce=MUe});function IUe(t,e){return t&&Jg(t,e,nn)}var L1,ZE=O(()=>{"use strict";fk();gu();o(IUe,"baseForOwn");L1=IUe});function OUe(t,e){return function(r,n){if(r==null)return r;if(!Li(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a{"use strict";bl();o(OUe,"createBaseEach");_ce=OUe});var PUe,po,id=O(()=>{"use strict";ZE();Dce();PUe=_ce(L1),po=PUe});function BUe(t,e,r,n){return po(t,function(i,a,s){e(n,i,r(i),s)}),n}var Rce,Lce=O(()=>{"use strict";id();o(BUe,"baseAggregator");Rce=BUe});function FUe(t,e){return function(r,n){var i=zt(r)?Cce:Rce,a=e?e():{};return i(r,t,Ln(n,2),a)}}var Nce,Mce=O(()=>{"use strict";Ace();Lce();Rs();oi();o(FUe,"createAggregator");Nce=FUe});var $Ue,JE,Ice=O(()=>{"use strict";yl();$Ue=o(function(){return Ri.Date.now()},"now"),JE=$Ue});var Oce,zUe,GUe,ad,Pce=O(()=>{"use strict";l1();o0();f0();Wf();Oce=Object.prototype,zUe=Oce.hasOwnProperty,GUe=uu(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&qo(e[0],e[1],i)&&(n=1);++r{"use strict";o(VUe,"arrayIncludesWith");eS=VUe});function UUe(t,e,r,n){var i=-1,a=wE,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=fo(e,Tl(r))),n?(a=eS,s=!1):e.length>=qUe&&(a=D1,s=!1,e=new _1(e));e:for(;++i{"use strict";zE();HM();dI();w0();u0();VE();qUe=200;o(UUe,"baseDifference");Bce=UUe});var WUe,sd,$ce=O(()=>{"use strict";Fce();S1();l1();Tk();WUe=uu(function(t,e){return c0(t)?Bce(t,vu(e,1,c0,!0)):[]}),sd=WUe});function HUe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ba,zce=O(()=>{"use strict";o(HUe,"last");ba=HUe});function YUe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:mu(e),_E(t,e<0?0:e,n)):[]}var Pi,Gce=O(()=>{"use strict";jM();x1();o(YUe,"drop");Pi=YUe});function jUe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:mu(e),e=n-e,_E(t,0,e<0?0:e)):[]}var Nh,Vce=O(()=>{"use strict";jM();x1();o(jUe,"dropRight");Nh=jUe});function XUe(t){return typeof t=="function"?t:va}var N1,tS=O(()=>{"use strict";Eh();o(XUe,"castFunction");N1=XUe});function KUe(t,e){var r=zt(t)?xE:po;return r(t,N1(e))}var Oe,rS=O(()=>{"use strict";UM();id();tS();oi();o(KUe,"forEach");Oe=KUe});var qce=O(()=>{"use strict";rS()});function QUe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(QUe,"arrayEvery");Uce=QUe});function ZUe(t,e){var r=!0;return po(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var Hce,Yce=O(()=>{"use strict";id();o(ZUe,"baseEvery");Hce=ZUe});function JUe(t,e,r){var n=zt(t)?Uce:Hce;return r&&qo(t,e,r)&&(e=void 0),n(t,Ln(e,3))}var is,jce=O(()=>{"use strict";Wce();Yce();Rs();oi();f0();o(JUe,"every");is=JUe});function eWe(t,e){var r=[];return po(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var nS,pI=O(()=>{"use strict";id();o(eWe,"baseFilter");nS=eWe});function tWe(t,e){var r=zt(t)?C1:nS;return r(t,Ln(e,3))}var dn,mI=O(()=>{"use strict";DE();pI();Rs();oi();o(tWe,"filter");dn=tWe});function rWe(t){return function(e,r,n){var i=Object(e);if(!Li(e)){var a=Ln(r,3);e=nn(e),r=o(function(l){return a(i[l],l,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var Xce,Kce=O(()=>{"use strict";Rs();bl();gu();o(rWe,"createFind");Xce=rWe});function iWe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:mu(r);return i<0&&(i=nWe(n+i,0)),bE(t,Ln(e,3),i)}var nWe,Qce,Zce=O(()=>{"use strict";WM();Rs();x1();nWe=Math.max;o(iWe,"findIndex");Qce=iWe});var aWe,Ls,Jce=O(()=>{"use strict";Kce();Zce();aWe=Xce(Qce),Ls=aWe});function sWe(t){return t&&t.length?t[0]:void 0}var Ta,eue=O(()=>{"use strict";o(sWe,"head");Ta=sWe});var tue=O(()=>{"use strict";eue()});function oWe(t,e){var r=-1,n=Li(t)?Array(t.length):[];return po(t,function(i,a,s){n[++r]=e(i,a,s)}),n}var iS,gI=O(()=>{"use strict";id();bl();o(oWe,"baseMap");iS=oWe});function lWe(t,e){var r=zt(t)?fo:iS;return r(t,Ln(e,3))}var lt,M1=O(()=>{"use strict";w0();Rs();gI();oi();o(lWe,"map");lt=lWe});function cWe(t,e){return vu(lt(t,e),1)}var za,yI=O(()=>{"use strict";S1();M1();o(cWe,"flatMap");za=cWe});function uWe(t,e){return t==null?t:Jg(t,N1(e),no)}var vI,rue=O(()=>{"use strict";fk();tS();Wf();o(uWe,"forIn");vI=uWe});function hWe(t,e){return t&&L1(t,N1(e))}var xI,nue=O(()=>{"use strict";ZE();tS();o(hWe,"forOwn");xI=hWe});var fWe,dWe,pWe,bI,iue=O(()=>{"use strict";Zg();Mce();fWe=Object.prototype,dWe=fWe.hasOwnProperty,pWe=Nce(function(t,e,r){dWe.call(t,r)?t[r].push(e):ou(t,r,[e])}),bI=pWe});function mWe(t,e){return t>e}var aue,sue=O(()=>{"use strict";o(mWe,"baseGt");aue=mWe});function vWe(t,e){return t!=null&&yWe.call(t,e)}var gWe,yWe,oue,lue=O(()=>{"use strict";gWe=Object.prototype,yWe=gWe.hasOwnProperty;o(vWe,"baseHas");oue=vWe});function xWe(t,e){return t!=null&&XE(t,e,oue)}var Gt,cue=O(()=>{"use strict";lue();uI();o(xWe,"has");Gt=xWe});function TWe(t){return typeof t=="string"||!zt(t)&&wi(t)&&Pa(t)==bWe}var bWe,Bi,aS=O(()=>{"use strict";Th();oi();xl();bWe="[object String]";o(TWe,"isString");Bi=TWe});function wWe(t,e){return fo(e,function(r){return t[r]})}var uue,hue=O(()=>{"use strict";w0();o(wWe,"baseValues");uue=wWe});function kWe(t){return t==null?[]:uue(t,nn(t))}var Gr,TI=O(()=>{"use strict";hue();gu();o(kWe,"values");Gr=kWe});function SWe(t,e,r,n){t=Li(t)?t:Gr(t),r=r&&!n?mu(r):0;var i=t.length;return r<0&&(r=EWe(i+r,0)),Bi(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&b1(t,e,r)>-1}var EWe,ci,fue=O(()=>{"use strict";TE();bl();aS();x1();TI();EWe=Math.max;o(SWe,"includes");ci=SWe});function AWe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:mu(r);return i<0&&(i=CWe(n+i,0)),b1(t,e,i)}var CWe,sS,due=O(()=>{"use strict";TE();x1();CWe=Math.max;o(AWe,"indexOf");sS=AWe});function NWe(t){if(t==null)return!0;if(Li(t)&&(zt(t)||typeof t=="string"||typeof t.splice=="function"||mc(t)||qf(t)||pc(t)))return!t.length;var e=Yo(t);if(e==_We||e==DWe)return!t.size;if(lu(t))return!T1(t).length;for(var r in t)if(LWe.call(t,r))return!1;return!0}var _We,DWe,RWe,LWe,Er,oS=O(()=>{"use strict";kE();E0();i1();oi();bl();s1();n1();Xx();_We="[object Map]",DWe="[object Set]",RWe=Object.prototype,LWe=RWe.hasOwnProperty;o(NWe,"isEmpty");Er=NWe});function IWe(t){return wi(t)&&Pa(t)==MWe}var MWe,pue,mue=O(()=>{"use strict";Th();xl();MWe="[object RegExp]";o(IWe,"baseIsRegExp");pue=IWe});var gue,OWe,Al,yue=O(()=>{"use strict";mue();u0();jx();gue=wl&&wl.isRegExp,OWe=gue?Tl(gue):pue,Al=OWe});function PWe(t){return t===void 0}var Dr,vue=O(()=>{"use strict";o(PWe,"isUndefined");Dr=PWe});function BWe(t,e){return t{"use strict";o(BWe,"baseLt");lS=BWe});function FWe(t,e){var r={};return e=Ln(e,3),L1(t,function(n,i,a){ou(r,i,e(n,i,a))}),r}var S0,xue=O(()=>{"use strict";Zg();ZE();Rs();o(FWe,"mapValues");S0=FWe});function $We(t,e,r){for(var n=-1,i=t.length;++n{"use strict";T0();o($We,"baseExtremum");I1=$We});function zWe(t){return t&&t.length?I1(t,va,aue):void 0}var mo,bue=O(()=>{"use strict";cS();sue();Eh();o(zWe,"max");mo=zWe});function GWe(t){return t&&t.length?I1(t,va,lS):void 0}var vc,kI=O(()=>{"use strict";cS();wI();Eh();o(GWe,"min");vc=GWe});function VWe(t,e){return t&&t.length?I1(t,Ln(e,2),lS):void 0}var C0,Tue=O(()=>{"use strict";cS();Rs();wI();o(VWe,"minBy");C0=VWe});function UWe(t){if(typeof t!="function")throw new TypeError(qWe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var qWe,wue,kue=O(()=>{"use strict";qWe="Expected a function";o(UWe,"negate");wue=UWe});function WWe(t,e,r,n){if(!On(t))return t;e=td(e,t);for(var i=-1,a=e.length,s=a-1,l=t;l!=null&&++i{"use strict";o1();xb();Qx();Vo();k1();o(WWe,"baseSet");Eue=WWe});function HWe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";bb();Sue();xb();o(HWe,"basePickBy");uS=HWe});function YWe(t,e){if(t==null)return{};var r=fo(IE(t),function(n){return[n]});return e=Ln(e),uS(t,r,function(n,i){return e(n,i[0])})}var go,Cue=O(()=>{"use strict";w0();Rs();EI();JM();o(YWe,"pickBy");go=YWe});function jWe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var Aue,_ue=O(()=>{"use strict";o(jWe,"baseSortBy");Aue=jWe});function XWe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=Ho(t),s=e!==void 0,l=e===null,u=e===e,h=Ho(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||n&&s&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";T0();o(XWe,"compareAscending");Due=XWe});function KWe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var Lue,Nue=O(()=>{"use strict";Rue();o(KWe,"compareMultiple");Lue=KWe});function QWe(t,e,r){e.length?e=fo(e,function(a){return zt(a)?function(s){return rd(s,a.length===1?a[0]:a)}:a}):e=[va];var n=-1;e=fo(e,Tl(Ln));var i=iS(t,function(a,s,l){var u=fo(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return Aue(i,function(a,s){return Lue(a,s,r)})}var Mue,Iue=O(()=>{"use strict";w0();bb();Rs();gI();_ue();u0();Nue();Eh();oi();o(QWe,"baseOrderBy");Mue=QWe});var ZWe,Oue,Pue=O(()=>{"use strict";fI();ZWe=QE("length"),Oue=ZWe});function uHe(t){for(var e=Bue.lastIndex=0;Bue.test(t);)++e;return e}var Fue,JWe,eHe,tHe,rHe,nHe,iHe,SI,CI,aHe,$ue,zue,Gue,sHe,Vue,que,oHe,lHe,cHe,Bue,Uue,Wue=O(()=>{"use strict";Fue="\\ud800-\\udfff",JWe="\\u0300-\\u036f",eHe="\\ufe20-\\ufe2f",tHe="\\u20d0-\\u20ff",rHe=JWe+eHe+tHe,nHe="\\ufe0e\\ufe0f",iHe="["+Fue+"]",SI="["+rHe+"]",CI="\\ud83c[\\udffb-\\udfff]",aHe="(?:"+SI+"|"+CI+")",$ue="[^"+Fue+"]",zue="(?:\\ud83c[\\udde6-\\uddff]){2}",Gue="[\\ud800-\\udbff][\\udc00-\\udfff]",sHe="\\u200d",Vue=aHe+"?",que="["+nHe+"]?",oHe="(?:"+sHe+"(?:"+[$ue,zue,Gue].join("|")+")"+que+Vue+")*",lHe=que+Vue+oHe,cHe="(?:"+[$ue+SI+"?",SI,zue,Gue,iHe].join("|")+")",Bue=RegExp(CI+"(?="+CI+")|"+cHe+lHe,"g");o(uHe,"unicodeSize");Uue=uHe});function hHe(t){return rle(t)?Uue(t):Oue(t)}var Hue,Yue=O(()=>{"use strict";Pue();nle();Wue();o(hHe,"stringSize");Hue=hHe});function fHe(t,e){return uS(t,e,function(r,n){return KE(t,n)})}var jue,Xue=O(()=>{"use strict";EI();hI();o(fHe,"basePick");jue=fHe});var dHe,A0,Kue=O(()=>{"use strict";Xue();tle();dHe=ele(function(t,e){return t==null?{}:jue(t,e)}),A0=dHe});function gHe(t,e,r,n){for(var i=-1,a=mHe(pHe((e-t)/(r||1)),0),s=Array(a);a--;)s[n?a:++i]=t,t+=r;return s}var pHe,mHe,Que,Zue=O(()=>{"use strict";pHe=Math.ceil,mHe=Math.max;o(gHe,"baseRange");Que=gHe});function yHe(t){return function(e,r,n){return n&&typeof n!="number"&&qo(e,r,n)&&(r=n=void 0),e=v1(e),r===void 0?(r=e,e=0):r=v1(r),n=n===void 0?e{"use strict";Zue();f0();VM();o(yHe,"createRange");Jue=yHe});var vHe,_l,the=O(()=>{"use strict";ehe();vHe=Jue(),_l=vHe});function xHe(t,e,r,n,i){return i(t,function(a,s,l){r=n?(n=!1,a):e(r,a,s,l)}),r}var rhe,nhe=O(()=>{"use strict";o(xHe,"baseReduce");rhe=xHe});function bHe(t,e,r){var n=zt(t)?ile:rhe,i=arguments.length<3;return n(t,Ln(e,4),r,i,po)}var pn,AI=O(()=>{"use strict";ale();id();Rs();nhe();oi();o(bHe,"reduce");pn=bHe});function THe(t,e){var r=zt(t)?C1:nS;return r(t,wue(Ln(e,3)))}var od,ihe=O(()=>{"use strict";DE();pI();Rs();oi();kue();o(THe,"reject");od=THe});function EHe(t){if(t==null)return 0;if(Li(t))return Bi(t)?Hue(t):t.length;var e=Yo(t);return e==wHe||e==kHe?t.size:T1(t).length}var wHe,kHe,_I,ahe=O(()=>{"use strict";kE();E0();bl();aS();Yue();wHe="[object Map]",kHe="[object Set]";o(EHe,"size");_I=EHe});function SHe(t,e){var r;return po(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var she,ohe=O(()=>{"use strict";id();o(SHe,"baseSome");she=SHe});function CHe(t,e,r){var n=zt(t)?GE:she;return r&&qo(t,e,r)&&(e=void 0),n(t,Ln(e,3))}var wb,lhe=O(()=>{"use strict";iI();Rs();ohe();oi();f0();o(CHe,"some");wb=CHe});var AHe,bu,che=O(()=>{"use strict";S1();Iue();l1();f0();AHe=uu(function(t,e){if(t==null)return[];var r=e.length;return r>1&&qo(t,e[0],e[1])?e=[]:r>2&&qo(e[0],e[1],e[2])&&(e=[e[0]]),Mue(t,vu(e,1),[])}),bu=AHe});var _He,DHe,uhe,hhe=O(()=>{"use strict";eI();qM();UE();_He=1/0,DHe=nd&&1/R1(new nd([,-0]))[1]==_He?function(t){return new nd(t)}:ki,uhe=DHe});function LHe(t,e,r){var n=-1,i=wE,a=t.length,s=!0,l=[],u=l;if(r)s=!1,i=eS;else if(a>=RHe){var h=e?null:uhe(t);if(h)return R1(h);s=!1,i=D1,u=new _1}else u=e?[]:l;e:for(;++n{"use strict";zE();HM();dI();VE();hhe();UE();RHe=200;o(LHe,"baseUniq");O1=LHe});var NHe,DI,fhe=O(()=>{"use strict";S1();l1();hS();Tk();NHe=uu(function(t){return O1(vu(t,1,c0,!0))}),DI=NHe});function MHe(t){return t&&t.length?O1(t):[]}var P1,dhe=O(()=>{"use strict";hS();o(MHe,"uniq");P1=MHe});function IHe(t,e){return t&&t.length?O1(t,Ln(e,2)):[]}var phe,mhe=O(()=>{"use strict";Rs();hS();o(IHe,"uniqBy");phe=IHe});function PHe(t){var e=++OHe;return SE(t)+e}var OHe,_0,ghe=O(()=>{"use strict";YM();OHe=0;o(PHe,"uniqueId");_0=PHe});function BHe(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n{"use strict";o(BHe,"baseZipObject");yhe=BHe});function FHe(t,e){return yhe(t||[],e||[],cu)}var fS,xhe=O(()=>{"use strict";o1();vhe();o(FHe,"zipObject");fS=FHe});var rr=O(()=>{"use strict";qoe();rI();Yle();jle();wN();Pce();$ce();Gce();Vce();qce();jce();mI();Jce();tue();yI();AE();rS();rue();nue();iue();cue();Eh();fue();due();oi();oS();zx();Vo();yue();aS();vue();gu();zce();M1();xue();bue();SN();kI();Tue();qM();Ice();Kue();Cue();the();AI();ihe();ahe();lhe();che();fhe();dhe();ghe();TI();xhe();});function The(t,e){t[e]?t[e]++:t[e]=1}function whe(t,e){--t[e]||delete t[e]}function kb(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+bhe+a+bhe+(Dr(n)?$He:n)}function zHe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function RI(t,e){return kb(t,e.v,e.w,e.name)}var $He,D0,bhe,wn,dS=O(()=>{"use strict";rr();$He="\0",D0="\0",bhe="",wn=class{static{o(this,"Graph")}constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=io(void 0),this._defaultEdgeLabelFn=io(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[D0]={}),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 Vi(e)||(e=io(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return nn(this._nodes)}sources(){var e=this;return dn(this.nodes(),function(r){return Er(e._in[r])})}sinks(){var e=this;return dn(this.nodes(),function(r){return Er(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return Oe(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(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]=D0,this._children[e]={},this._children[D0][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 Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=o(n=>this.removeEdge(this._edgeObjs[n]),"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Oe(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),Oe(nn(this._in[e]),r),delete this._in[e],delete this._preds[e],Oe(nn(this._out[e]),r),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(Dr(r))r=D0;else{r+="";for(var n=r;!Dr(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!==D0)return r}}children(e){if(Dr(e)&&(e=D0),this._isCompound){var r=this._children[e];if(r)return nn(r)}else{if(e===D0)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return nn(r)}successors(e){var r=this._sucs[e];if(r)return nn(r)}neighbors(e){var r=this.predecessors(e);if(r)return DI(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;Oe(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Oe(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return o(a,"findParent"),this._isCompound&&Oe(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return Vi(e)||(e=io(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Gr(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return pn(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Dr(n)||(n=""+n);var l=kb(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!Dr(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=zHe(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,The(this._preds[r],e),The(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?RI(this._isDirected,arguments[0]):kb(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?RI(this._isDirected,arguments[0]):kb(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?RI(this._isDirected,arguments[0]):kb(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],whe(this._preds[r],e),whe(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=Gr(n);return r?dn(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Gr(n);return r?dn(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};wn.prototype._nodeCount=0;wn.prototype._edgeCount=0;o(The,"incrementOrInitEntry");o(whe,"decrementOrRemoveEntry");o(kb,"edgeArgsToId");o(zHe,"edgeArgsToObj");o(RI,"edgeObjToId")});var Dl=O(()=>{"use strict";dS()});function khe(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function GHe(t,e){if(t!=="_next"&&t!=="_prev")return e}var mS,Ehe=O(()=>{"use strict";mS=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return khe(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&khe(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,GHe)),n=n._prev;return"["+e.join(", ")+"]"}};o(khe,"unlink");o(GHe,"filterOutLinks")});function She(t,e){if(t.nodeCount()<=1)return[];var r=UHe(t,e||VHe),n=qHe(r.graph,r.buckets,r.zeroIdx);return fn(lt(n,function(i){return t.outEdges(i.v,i.w)}))}function qHe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)LI(t,e,r,s);for(;s=i.dequeue();)LI(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){n=n.concat(LI(t,e,r,s,!0));break}}}return n}function LI(t,e,r,n,i){var a=i?[]:void 0;return Oe(t.inEdges(n.v),function(s){var l=t.edge(s),u=t.node(s.v);i&&a.push({v:s.v,w:s.w}),u.out-=l,NI(e,r,u)}),Oe(t.outEdges(n.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,NI(e,r,h)}),t.removeNode(n.v),a}function UHe(t,e){var r=new wn,n=0,i=0;Oe(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Oe(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=_l(i+n+3).map(function(){return new mS}),s=n+1;return Oe(r.nodes(),function(l){NI(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function NI(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)}var VHe,Che=O(()=>{"use strict";rr();Dl();Ehe();VHe=io(1);o(She,"greedyFAS");o(qHe,"doGreedyFAS");o(LI,"removeNode");o(UHe,"buildState");o(NI,"assignBucket")});function Ahe(t){var e=t.graph().acyclicer==="greedy"?She(t,r(t)):WHe(t);Oe(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,_0("rev"))});function r(n){return function(i){return n.edge(i).weight}}o(r,"weightFn")}function WHe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,Oe(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return o(i,"dfs"),Oe(t.nodes(),i),e}function _he(t){Oe(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)}})}var MI=O(()=>{"use strict";rr();Che();o(Ahe,"run");o(WHe,"dfsFAS");o(_he,"undo")});function Tu(t,e,r,n){var i;do i=_0(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function Rhe(t){var e=new wn().setGraph(t.graph());return Oe(t.nodes(),function(r){e.setNode(r,t.node(r))}),Oe(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 gS(t){var e=new wn({multigraph:t.isMultigraph()}).setGraph(t.graph());return Oe(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Oe(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function II(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(s=-s),u=s,h=s*a/i),{x:r+u,y:n+h}}function ld(t){var e=lt(_l(PI(t)+1),function(){return[]});return Oe(t.nodes(),function(r){var n=t.node(r),i=n.rank;Dr(i)||(e[i][n.order]=r)}),e}function Lhe(t){var e=vc(lt(t.nodes(),function(r){return t.node(r).rank}));Oe(t.nodes(),function(r){var n=t.node(r);Gt(n,"rank")&&(n.rank-=e)})}function Nhe(t){var e=vc(lt(t.nodes(),function(a){return t.node(a).rank})),r=[];Oe(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;Oe(r,function(a,s){Dr(a)&&s%i!==0?--n:n&&Oe(a,function(l){t.node(l).rank+=n})})}function OI(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Tu(t,"border",i,e)}function PI(t){return mo(lt(t.nodes(),function(e){var r=t.node(e).rank;if(!Dr(r))return r}))}function Mhe(t,e){var r={lhs:[],rhs:[]};return Oe(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function Ihe(t,e){var r=JE();try{return e()}finally{console.log(t+" time: "+(JE()-r)+"ms")}}function Ohe(t,e){return e()}var wu=O(()=>{"use strict";rr();Dl();o(Tu,"addDummyNode");o(Rhe,"simplify");o(gS,"asNonCompoundGraph");o(II,"intersectRect");o(ld,"buildLayerMatrix");o(Lhe,"normalizeRanks");o(Nhe,"removeEmptyRanks");o(OI,"addBorderNode");o(PI,"maxRank");o(Mhe,"partition");o(Ihe,"time");o(Ohe,"notime")});function Bhe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&Oe(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a{"use strict";rr();wu();o(Bhe,"addBorderSegments");o(Phe,"addBorderNode")});function zhe(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&Vhe(t)}function Ghe(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&HHe(t),(e==="lr"||e==="rl")&&(YHe(t),Vhe(t))}function Vhe(t){Oe(t.nodes(),function(e){$he(t.node(e))}),Oe(t.edges(),function(e){$he(t.edge(e))})}function $he(t){var e=t.width;t.width=t.height,t.height=e}function HHe(t){Oe(t.nodes(),function(e){BI(t.node(e))}),Oe(t.edges(),function(e){var r=t.edge(e);Oe(r.points,BI),Object.prototype.hasOwnProperty.call(r,"y")&&BI(r)})}function BI(t){t.y=-t.y}function YHe(t){Oe(t.nodes(),function(e){FI(t.node(e))}),Oe(t.edges(),function(e){var r=t.edge(e);Oe(r.points,FI),Object.prototype.hasOwnProperty.call(r,"x")&&FI(r)})}function FI(t){var e=t.x;t.x=t.y,t.y=e}var qhe=O(()=>{"use strict";rr();o(zhe,"adjust");o(Ghe,"undo");o(Vhe,"swapWidthHeight");o($he,"swapWidthHeightOne");o(HHe,"reverseY");o(BI,"reverseYOne");o(YHe,"swapXY");o(FI,"swapXYOne")});function Uhe(t){t.graph().dummyChains=[],Oe(t.edges(),function(e){XHe(t,e)})}function XHe(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h=void 0,f,d;for(d=0,++n;n{"use strict";rr();wu();o(Uhe,"run");o(XHe,"normalizeEdge");o(Whe,"undo")});function Eb(t){var e={};function r(n){var i=t.node(n);if(Object.prototype.hasOwnProperty.call(e,n))return i.rank;e[n]=!0;var a=vc(lt(t.outEdges(n),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}o(r,"dfs"),Oe(t.sources(),r)}function R0(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var yS=O(()=>{"use strict";rr();o(Eb,"longestPath");o(R0,"slack")});function vS(t){var e=new wn({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;KHe(e,t){"use strict";rr();Dl();yS();o(vS,"feasibleTree");o(KHe,"tightTree");o(QHe,"findMinSlackEdge");o(ZHe,"shiftRanks")});var Yhe=O(()=>{"use strict"});var GI=O(()=>{"use strict"});var msr,VI=O(()=>{"use strict";rr();GI();msr=io(1)});var jhe=O(()=>{"use strict";VI()});var qI=O(()=>{"use strict"});var Xhe=O(()=>{"use strict";qI()});var Csr,Khe=O(()=>{"use strict";rr();Csr=io(1)});function UI(t){var e={},r={},n=[];function i(a){if(Object.prototype.hasOwnProperty.call(r,a))throw new Sb;Object.prototype.hasOwnProperty.call(e,a)||(r[a]=!0,e[a]=!0,Oe(t.predecessors(a),i),delete r[a],n.push(a))}if(o(i,"visit"),Oe(t.sinks(),i),_I(e)!==t.nodeCount())throw new Sb;return n}function Sb(){}var WI=O(()=>{"use strict";rr();UI.CycleException=Sb;o(UI,"topsort");o(Sb,"CycleException");Sb.prototype=new Error});var Qhe=O(()=>{"use strict";WI()});function xS(t,e,r){zt(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return Oe(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);Zhe(t,s,r==="post",a,n,i)}),i}function Zhe(t,e,r,n,i,a){Object.prototype.hasOwnProperty.call(n,e)||(n[e]=!0,r||a.push(e),Oe(i(e),function(s){Zhe(t,s,r,n,i,a)}),r&&a.push(e))}var HI=O(()=>{"use strict";rr();o(xS,"dfs");o(Zhe,"doDfs")});function YI(t,e){return xS(t,e,"post")}var Jhe=O(()=>{"use strict";HI();o(YI,"postorder")});function jI(t,e){return xS(t,e,"pre")}var efe=O(()=>{"use strict";HI();o(jI,"preorder")});var tfe=O(()=>{"use strict";GI();dS()});var rfe=O(()=>{"use strict";Yhe();VI();jhe();Xhe();Khe();Qhe();Jhe();efe();tfe();qI();WI()});function ud(t){t=Rhe(t),Eb(t);var e=vS(t);KI(e),XI(e,t);for(var r,n;r=sfe(e);)n=ofe(e,t,r),lfe(e,t,r,n)}function XI(t,e){var r=YI(t,t.nodes());r=r.slice(0,r.length-1),Oe(r,function(n){nYe(t,e,n)})}function nYe(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=ife(t,e,r)}function ife(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),l=0;return s||(a=!1,s=e.edge(i,r)),l=s.weight,Oe(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,aYe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function KI(t,e){arguments.length<2&&(e=t.nodes()[0]),afe(t,{},1,e)}function afe(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,Oe(t.neighbors(n),function(l){Object.prototype.hasOwnProperty.call(e,l)||(r=afe(t,e,r,l,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function sfe(t){return Ls(t.edges(),function(e){return t.edge(e).cutvalue<0})}function ofe(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),s=t.node(i),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=dn(e.edges(),function(f){return u===nfe(t,t.node(f.v),l)&&u!==nfe(t,t.node(f.w),l)});return C0(h,function(f){return R0(e,f)})}function lfe(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),KI(t),XI(t,e),iYe(t,e)}function iYe(t,e){var r=Ls(t.nodes(),function(i){return!e.node(i).parent}),n=jI(t,r);n=n.slice(1),Oe(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),l=!1;s||(s=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function aYe(t,e,r){return t.hasEdge(e,r)}function nfe(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var cfe=O(()=>{"use strict";rr();rfe();wu();zI();yS();ud.initLowLimValues=KI;ud.initCutValues=XI;ud.calcCutValue=ife;ud.leaveEdge=sfe;ud.enterEdge=ofe;ud.exchangeEdges=lfe;o(ud,"networkSimplex");o(XI,"initCutValues");o(nYe,"assignCutValue");o(ife,"calcCutValue");o(KI,"initLowLimValues");o(afe,"dfsAssignLowLim");o(sfe,"leaveEdge");o(ofe,"enterEdge");o(lfe,"exchangeEdges");o(iYe,"updateRanks");o(aYe,"isTreeEdge");o(nfe,"isDescendant")});function QI(t){switch(t.graph().ranker){case"network-simplex":ufe(t);break;case"tight-tree":oYe(t);break;case"longest-path":sYe(t);break;default:ufe(t)}}function oYe(t){Eb(t),vS(t)}function ufe(t){ud(t)}var sYe,ZI=O(()=>{"use strict";zI();cfe();yS();o(QI,"rank");sYe=Eb;o(oYe,"tightTreeRanker");o(ufe,"networkSimplexRanker")});function hfe(t){var e=Tu(t,"root",{},"_root"),r=lYe(t),n=mo(Gr(r))-1,i=2*n+1;t.graph().nestingRoot=e,Oe(t.edges(),function(s){t.edge(s).minlen*=i});var a=cYe(t)+1;Oe(t.children(),function(s){ffe(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function ffe(t,e,r,n,i,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=OI(t,"_bt"),h=OI(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Oe(l,function(d){ffe(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:i+a[s]})}function lYe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&Oe(a,function(s){r(s,i+1)}),e[n]=i}return o(r,"dfs"),Oe(t.children(),function(n){r(n,1)}),e}function cYe(t){return pn(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function dfe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Oe(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var pfe=O(()=>{"use strict";rr();wu();o(hfe,"run");o(ffe,"dfs");o(lYe,"treeDepths");o(cYe,"sumWeights");o(dfe,"cleanup")});function mfe(t,e,r){var n={},i;Oe(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=n[l],n[l]=s):(u=i,i=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var gfe=O(()=>{"use strict";rr();o(mfe,"addSubgraphConstraints")});function yfe(t,e,r){var n=hYe(t),i=new wn({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return Oe(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,l||n),Oe(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=Dr(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function hYe(t){for(var e;t.hasNode(e=_0("_root")););return e}var vfe=O(()=>{"use strict";rr();Dl();o(yfe,"buildLayerGraph");o(hYe,"createRootNode")});function xfe(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var bfe=O(()=>{"use strict";rr();o(xfe,"crossCount");o(fYe,"twoLayerCrossCount")});function Tfe(t){var e={},r=dn(t.nodes(),function(l){return!t.children(l).length}),n=mo(lt(r,function(l){return t.node(l).rank})),i=lt(_l(n+1),function(){return[]});function a(l){if(!Gt(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),Oe(t.successors(l),a)}}o(a,"dfs");var s=bu(r,function(l){return t.node(l).rank});return Oe(s,a),i}var wfe=O(()=>{"use strict";rr();o(Tfe,"initOrder")});function kfe(t,e){return lt(e,function(r){var n=t.inEdges(r);if(n.length){var i=pn(n,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var Efe=O(()=>{"use strict";rr();o(kfe,"barycenter")});function Sfe(t,e){var r={};Oe(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Dr(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),Oe(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Dr(a)&&!Dr(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=dn(r,function(i){return!i.indegree});return dYe(n)}function dYe(t){var e=[];function r(a){return function(s){s.merged||(Dr(s.barycenter)||Dr(a.barycenter)||s.barycenter>=a.barycenter)&&pYe(a,s)}}o(r,"handleIn");function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(n,"handleOut");t.length;){var i=t.pop();e.push(i),Oe(i.in.reverse(),r(i)),Oe(i.out,n(i))}return lt(dn(e,function(a){return!a.merged}),function(a){return A0(a,["vs","i","barycenter","weight"])})}function pYe(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}var Cfe=O(()=>{"use strict";rr();o(Sfe,"resolveConflicts");o(dYe,"doResolveConflicts");o(pYe,"mergeEntries")});function _fe(t,e){var r=Mhe(t,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),n=r.lhs,i=bu(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;n.sort(mYe(!!e)),u=Afe(a,i,u),Oe(n,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=Afe(a,i,u)});var h={vs:fn(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function Afe(t,e,r){for(var n;e.length&&(n=ba(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function mYe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var Dfe=O(()=>{"use strict";rr();wu();o(_fe,"sort");o(Afe,"consumeUnsortable");o(mYe,"compareWithBias")});function JI(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(i=dn(i,function(g){return g!==s&&g!==l}));var h=kfe(t,i);Oe(h,function(g){if(t.children(g.v).length){var y=JI(t,g.v,r,n);u[g.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter")&&yYe(g,y)}});var f=Sfe(h,r);gYe(f,u);var d=_fe(f,n);if(s&&(d.vs=fn([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function gYe(t,e){Oe(t,function(r){r.vs=fn(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function yYe(t,e){Dr(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)}var Rfe=O(()=>{"use strict";rr();Efe();Cfe();Dfe();o(JI,"sortSubgraph");o(gYe,"expandSubgraphs");o(yYe,"mergeBarycenters")});function Mfe(t){var e=PI(t),r=Lfe(t,_l(1,e+1),"inEdges"),n=Lfe(t,_l(e-1,-1,-1),"outEdges"),i=Tfe(t);Nfe(t,i);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){vYe(l%2?r:n,l%4>=2),i=ld(t);var h=xfe(t,i);h{"use strict";rr();Dl();wu();gfe();vfe();bfe();wfe();Rfe();o(Mfe,"order");o(Lfe,"buildLayerGraphs");o(vYe,"sweepLayerGraphs");o(Nfe,"assignOrder")});function Ofe(t){var e=bYe(t);Oe(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=xYe(t,e,i.v,i.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function bYe(t){var e={},r=0;function n(i){var a=r;Oe(t.children(i),n),e[i]={low:a,lim:r++}}return o(n,"dfs"),Oe(t.children(),n),e}var Pfe=O(()=>{"use strict";rr();o(Ofe,"parentDummyChains");o(xYe,"findPath");o(bYe,"postorder")});function TYe(t,e){var r={};function n(i,a){var s=0,l=0,u=i.length,h=ba(a);return Oe(a,function(f,d){var p=kYe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Oe(a.slice(l,d+1),function(g){Oe(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&Bfe(r,p,f)})})}o(n,"scan");function i(a,s){var l=-1,u,h=0;return Oe(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(s,h,d,l,u),h=d,l=u)}n(s,h,s.length,u,a.length)}),s}return o(i,"visitLayer"),pn(e,i),r}function kYe(t,e){if(t.node(e).dummy)return Ls(t.predecessors(e),function(r){return t.node(r).dummy})}function Bfe(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function EYe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function SYe(t,e,r,n){var i={},a={},s={};return Oe(e,function(l){Oe(l,function(u,h){i[u]=u,a[u]=u,s[u]=h})}),Oe(e,function(l){var u=-1;Oe(l,function(h){var f=n(h);if(f.length){f=bu(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";rr();Dl();wu();o(TYe,"findType1Conflicts");o(wYe,"findType2Conflicts");o(kYe,"findOtherInnerSegmentNode");o(Bfe,"addConflict");o(EYe,"hasConflict");o(SYe,"verticalAlignment");o(CYe,"horizontalCompaction");o(AYe,"buildBlockGraph");o(_Ye,"findSmallestWidthAlignment");o(DYe,"alignCoordinates");o(RYe,"balance");o(Ffe,"positionX");o(LYe,"sep");o(NYe,"width")});function zfe(t){t=gS(t),MYe(t),xI(Ffe(t),function(e,r){t.node(r).x=e})}function MYe(t){var e=ld(t),r=t.graph().ranksep,n=0;Oe(e,function(i){var a=mo(lt(i,function(s){return t.node(s).height}));Oe(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}var Gfe=O(()=>{"use strict";rr();wu();$fe();o(zfe,"position");o(MYe,"positionY")});function Cb(t,e){var r=e&&e.debugTiming?Ihe:Ohe;r("layout",()=>{var n=r(" buildLayoutGraph",()=>UYe(t));r(" runLayout",()=>IYe(n,r)),r(" updateInputGraph",()=>OYe(t,n))})}function IYe(t,e){e(" makeSpaceForEdgeLabels",()=>WYe(t)),e(" removeSelfEdges",()=>eje(t)),e(" acyclic",()=>Ahe(t)),e(" nestingGraph.run",()=>hfe(t)),e(" rank",()=>QI(gS(t))),e(" injectEdgeLabelProxies",()=>HYe(t)),e(" removeEmptyRanks",()=>Nhe(t)),e(" nestingGraph.cleanup",()=>dfe(t)),e(" normalizeRanks",()=>Lhe(t)),e(" assignRankMinMax",()=>YYe(t)),e(" removeEdgeLabelProxies",()=>jYe(t)),e(" normalize.run",()=>Uhe(t)),e(" parentDummyChains",()=>Ofe(t)),e(" addBorderSegments",()=>Bhe(t)),e(" order",()=>Mfe(t)),e(" insertSelfEdges",()=>tje(t)),e(" adjustCoordinateSystem",()=>zhe(t)),e(" position",()=>zfe(t)),e(" positionSelfEdges",()=>rje(t)),e(" removeBorderNodes",()=>JYe(t)),e(" normalize.undo",()=>Whe(t)),e(" fixupEdgeLabelCoords",()=>QYe(t)),e(" undoCoordinateSystem",()=>Ghe(t)),e(" translateGraph",()=>XYe(t)),e(" assignNodeIntersects",()=>KYe(t)),e(" reversePoints",()=>ZYe(t)),e(" acyclic.undo",()=>_he(t))}function OYe(t,e){Oe(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))}),Oe(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function UYe(t){var e=new wn({multigraph:!0,compound:!0}),r=tO(t.graph());return e.setGraph(Hf({},BYe,eO(r,PYe),A0(r,FYe))),Oe(t.nodes(),function(n){var i=tO(t.node(n));e.setNode(n,ad(eO(i,$Ye),zYe)),e.setParent(n,t.parent(n))}),Oe(t.edges(),function(n){var i=tO(t.edge(n));e.setEdge(n,Hf({},VYe,eO(i,GYe),A0(i,qYe)))}),e}function WYe(t){var e=t.graph();e.ranksep/=2,Oe(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 HYe(t){Oe(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),a={rank:(i.rank-n.rank)/2+n.rank,e};Tu(t,"edge-proxy",a,"_ep")}})}function YYe(t){var e=0;Oe(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=mo(e,n.maxRank))}),t.graph().maxRank=e}function jYe(t){Oe(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function XYe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}o(u,"getExtremes"),Oe(t.nodes(),function(h){u(t.node(h))}),Oe(t.edges(),function(h){var f=t.edge(h);Object.prototype.hasOwnProperty.call(f,"x")&&u(f)}),e-=s,n-=l,Oe(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),Oe(t.edges(),function(h){var f=t.edge(h);Oe(f.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=e),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=n)}),a.width=r-e+s,a.height=i-n+l}function KYe(t){Oe(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(II(n,a)),r.points.push(II(i,s))})}function QYe(t){Oe(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(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 ZYe(t){Oe(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function JYe(t){Oe(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(ba(r.borderLeft)),s=t.node(ba(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),Oe(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function eje(t){Oe(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 tje(t){var e=ld(t);Oe(e,function(r){var n=0;Oe(r,function(i,a){var s=t.node(i);s.order=a+n,Oe(s.selfEdges,function(l){Tu(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function rje(t){Oe(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,a=n.y,s=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-l},{x:i+5*s/6,y:a-l},{x:i+s,y:a},{x:i+5*s/6,y:a+l},{x:i+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function eO(t,e){return S0(A0(t,e),Number)}function tO(t){var e={};return Oe(t,function(r,n){e[n.toLowerCase()]=r}),e}var PYe,BYe,FYe,$Ye,zYe,GYe,VYe,qYe,Vfe=O(()=>{"use strict";rr();Dl();Fhe();qhe();MI();$I();ZI();pfe();Ife();Pfe();Gfe();wu();o(Cb,"layout");o(IYe,"runLayout");o(OYe,"updateInputGraph");PYe=["nodesep","edgesep","ranksep","marginx","marginy"],BYe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},FYe=["acyclicer","ranker","rankdir","align"],$Ye=["width","height"],zYe={width:0,height:0},GYe=["minlen","weight","width","height","labeloffset"],VYe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},qYe=["labelpos"];o(UYe,"buildLayoutGraph");o(WYe,"makeSpaceForEdgeLabels");o(HYe,"injectEdgeLabelProxies");o(YYe,"assignRankMinMax");o(jYe,"removeEdgeLabelProxies");o(XYe,"translateGraph");o(KYe,"assignNodeIntersects");o(QYe,"fixupEdgeLabelCoords");o(ZYe,"reversePointsForReversedEdges");o(JYe,"removeBorderNodes");o(eje,"removeSelfEdges");o(tje,"insertSelfEdges");o(rje,"positionSelfEdges");o(eO,"selectNumberAttrs");o(tO,"canonicalize")});var rO=O(()=>{"use strict";MI();Vfe();$I();ZI()});function Rl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:nje(t),edges:ije(t)};return Dr(t.graph())||(e.value=Tn(t.graph())),e}function nje(t){return lt(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Dr(r)||(i.value=r),Dr(n)||(i.parent=n),i})}function ije(t){return lt(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Dr(e.name)||(n.name=e.name),Dr(r)||(n.value=r),n})}var nO=O(()=>{"use strict";rr();dS();o(Rl,"write");o(nje,"writeNodes");o(ije,"writeEdges")});var Vr,L0,Wfe,Hfe,bS,aje,Yfe,jfe,sje,B1,Ufe,Xfe,Kfe,Qfe,Zfe,Jfe=O(()=>{"use strict";xt();Dl();nO();Vr=new Map,L0=new Map,Wfe=new Map,Hfe=o(()=>{L0.clear(),Wfe.clear(),Vr.clear()},"clear"),bS=o((t,e)=>{let r=L0.get(e)||[];return K.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),aje=o((t,e)=>{let r=L0.get(e)||[];return K.info("Descendants of ",e," is ",r),K.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||bS(t.v,e)||bS(t.w,e)||r.includes(t.w):(K.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Yfe=o((t,e,r,n)=>{K.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),K.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Yfe(a,e,r,n);else{let s=e.node(a);K.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(K.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(K.debug("Setting parent",a,t),r.setParent(a,t)):(K.info("In copy ",t,"root",n,"data",e.node(t),n),K.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);K.debug("Copying Edges",l),l.forEach(u=>{K.info("Edge",u);let h=e.edge(u.v,u.w,u.name);K.info("Edge data",h,n);try{aje(u,n)?(K.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),K.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):K.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){K.error(f)}})}K.debug("Removing node",a),e.removeNode(a)})},"copy"),jfe=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)Wfe.set(i,t),n=[...n,...jfe(i,e)];return n},"extractDescendants"),sje=o((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),B1=o((t,e,r)=>{let n=e.children(t);if(K.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let s=B1(a,e,r),l=sje(e,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),Ufe=o(t=>!Vr.has(t)||!Vr.get(t).externalConnections?t:Vr.has(t)?Vr.get(t).id:t,"getAnchorId"),Xfe=o((t,e)=>{if(!t||e>10){K.debug("Opting out, no graph ");return}else K.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(K.warn("Cluster identified",r," Replacement id in edges: ",B1(r,t,r)),L0.set(r,jfe(r,t)),Vr.set(r,{id:B1(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(K.debug("Cluster identified",r,L0),i.forEach(a=>{let s=bS(a.v,r),l=bS(a.w,r);s^l&&(K.warn("Edge: ",a," leaves cluster ",r),K.warn("Descendants of XXX ",r,": ",L0.get(r)),Vr.get(r).externalConnections=!0)})):K.debug("Not a cluster ",r,L0)});for(let r of Vr.keys()){let n=Vr.get(r).id,i=t.parent(n);i!==r&&Vr.has(i)&&!Vr.get(i).externalConnections&&(Vr.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);K.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),K.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(K.warn("Fix XXX",Vr,"ids:",r.v,r.w,"Translating: ",Vr.get(r.v)," --- ",Vr.get(r.w)),Vr.get(r.v)||Vr.get(r.w)){if(K.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Ufe(r.v),a=Ufe(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);Vr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);Vr.get(s).externalConnections=!0,n.toCluster=r.w}K.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),K.warn("Adjusted Graph",Rl(t)),Kfe(t,0),K.trace(Vr)},"adjustClustersAndEdges"),Kfe=o((t,e)=>{if(K.warn("extractor - ",e,Rl(t),t.children("D")),e>10){K.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){K.debug("Done, no node has children",t.nodes());return}K.debug("Nodes = ",r,e);for(let i of r)if(K.debug("Extracting node",i,Vr,Vr.has(i)&&!Vr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Vr.has(i))K.debug("Not a cluster",i,e);else if(!Vr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){K.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Vr.get(i)?.clusterData?.dir&&(s=Vr.get(i).clusterData.dir,K.warn("Fixing dir",Vr.get(i).clusterData.dir,s));let l=new wn({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});K.warn("Old graph before copy",Rl(t)),Yfe(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Vr.get(i).clusterData,label:Vr.get(i).label,graph:l}),K.warn("New graph after copy node: (",i,")",Rl(l)),K.debug("Old graph after copy",Rl(t))}else K.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Vr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),K.debug(Vr);r=t.nodes(),K.warn("New list of nodes",r);for(let i of r){let a=t.node(i);K.warn(" Now next level",i,a),a?.clusterNode&&Kfe(a.graph,e+1)}},"extractor"),Qfe=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=Qfe(t,i);r=[...r,...a]}),r},"sorter"),Zfe=o(t=>Qfe(t,t.children()),"sortNodesByHierarchy")});var tde={};vr(tde,{render:()=>oje});var ede,oje,rde=O(()=>{"use strict";rO();nO();Dl();GM();$t();Jfe();yE();oE();zM();xt();gb();jt();ede=o(async(t,e,r,n,i,a)=>{K.warn("Graph in recursive render:XAX",Rl(e),i);let s=e.graph().rankdir;K.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?K.info("Recursive render XXX",e.nodes()):K.info("No nodes found for",e),e.edges().length>0&&K.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));K.trace(`Setting data for parent cluster XXX Node.id = `,y,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(X.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(X.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){X.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let T=await gfe(d,v.graph,r,n,e.node(y),a),E=T.elem;Ze(v,E),v.diff=T.diff||0,X.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),Ose(E,v)}else e.children(y).length>0?(X.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),X.trace(D1(v.id,e)),Lr.set(v.id,{id:D1(v.id,e),node:v})):(X.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await c1(d,e.node(y),{config:a,dir:s}))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);X.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),X.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),X.info("Fix",Lr,"ids:",v.v,v.w,"Translating: ",Lr.get(v.v),Lr.get(v.w)),await Jk(f,x)});await Promise.all(y)},"processEdges")(),X.info("Graph before layout:",JSON.stringify(kl(e))),X.info("############################################# XXX"),X.info("### Layout ### XXX"),X.info("############################################# XXX"),pb(e),X.info("Graph after layout:",JSON.stringify(kl(e)));let m=0,{subGraphTitleTotalMargin:g}=Eh(a);return await Promise.all(pfe(e).map(async function(y){let v=e.node(y);if(X.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,X.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Lr.get(v.id).node=v,sb(v);else if(e.children(y).length>0){X.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,T=b-x||0;X.debug("OffsetY",T,"labelHeight",b,"halfPadding",x),await l1(u,v),Lr.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,X.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),sb(v)}})),e.edges().forEach(function(y){let v=e.edge(y);X.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(E=>E.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let T=tS(h,v,Lr,r,x,b,n);eS(v,T)}),e.nodes().forEach(function(y){let v=e.node(y);X.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),X.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),kHe=o(async(t,e)=>{let r=new vn({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");rS(n,t.markers,t.type,t.diagramId),Pse(),Ise(),Ase(),lfe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),X.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",p.arrowTypeStart="none",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:o(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,l=!1;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return s=u.done,u},"n"),e:o(function(u){l=!0,a=u},"e"),f:o(function(){try{s||r.return==null||r.return()}finally{if(l)throw a}},"f")}}function Ype(t,e,r){return(e=jpe(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function AHe(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function _He(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,l=[],u=!0,h=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(f){h=!0,i=f}finally{try{if(!u&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(h)throw i}}return l}}function DHe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function RHe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Vi(t,e){return SHe(t)||_He(t,e)||FP(t,e)||DHe()}function NE(t){return EHe(t)||AHe(t)||FP(t)||RHe()}function LHe(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function jpe(t){var e=LHe(t,"string");return typeof e=="symbol"?e:e+""}function ea(t){"@babel/helpers - typeof";return ea=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},ea(t)}function FP(t,e){if(t){if(typeof t=="string")return vP(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vP(t,e):void 0}}function zb(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Gb(){if(Tfe)return VI;Tfe=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return o(t,"isObject"),VI=t,VI}function eYe(){if(wfe)return qI;wfe=1;var t=typeof lE=="object"&&lE&&lE.Object===Object&≦return qI=t,qI}function YE(){if(kfe)return UI;kfe=1;var t=eYe(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return UI=r,UI}function tYe(){if(Sfe)return WI;Sfe=1;var t=YE(),e=o(function(){return t.Date.now()},"now");return WI=e,WI}function rYe(){if(Efe)return HI;Efe=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return o(e,"trimmedEndIndex"),HI=e,HI}function nYe(){if(Cfe)return YI;Cfe=1;var t=rYe(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return o(r,"baseTrim"),YI=r,YI}function GP(){if(Afe)return jI;Afe=1;var t=YE(),e=t.Symbol;return jI=e,jI}function iYe(){if(_fe)return XI;_fe=1;var t=GP(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,i=t?t.toStringTag:void 0;function a(s){var l=r.call(s,i),u=s[i];try{s[i]=void 0;var h=!0}catch{}var f=n.call(s);return h&&(l?s[i]=u:delete s[i]),f}return o(a,"getRawTag"),XI=a,XI}function aYe(){if(Dfe)return KI;Dfe=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return o(r,"objectToString"),KI=r,KI}function n0e(){if(Rfe)return QI;Rfe=1;var t=GP(),e=iYe(),r=aYe(),n="[object Null]",i="[object Undefined]",a=t?t.toStringTag:void 0;function s(l){return l==null?l===void 0?i:n:a&&a in Object(l)?e(l):r(l)}return o(s,"baseGetTag"),QI=s,QI}function sYe(){if(Lfe)return ZI;Lfe=1;function t(e){return e!=null&&typeof e=="object"}return o(t,"isObjectLike"),ZI=t,ZI}function Vb(){if(Nfe)return JI;Nfe=1;var t=n0e(),e=sYe(),r="[object Symbol]";function n(i){return typeof i=="symbol"||e(i)&&t(i)==r}return o(n,"isSymbol"),JI=n,JI}function oYe(){if(Mfe)return eO;Mfe=1;var t=nYe(),e=Gb(),r=Vb(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,l=parseInt;function u(h){if(typeof h=="number")return h;if(r(h))return n;if(e(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=e(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=t(h);var d=a.test(h);return d||s.test(h)?l(h.slice(2),d?2:8):i.test(h)?n:+h}return o(u,"toNumber"),eO=u,eO}function lYe(){if(Ife)return tO;Ife=1;var t=Gb(),e=tYe(),r=oYe(),n="Expected a function",i=Math.max,a=Math.min;function s(l,u,h){var f,d,p,m,g,y,v=0,x=!1,b=!1,T=!0;if(typeof l!="function")throw new TypeError(n);u=r(u)||0,t(h)&&(x=!!h.leading,b="maxWait"in h,p=b?i(r(h.maxWait)||0,u):p,T="trailing"in h?!!h.trailing:T);function E(A){var _=f,N=d;return f=d=void 0,v=A,m=l.apply(N,_),m}o(E,"invokeFunc");function w(A){return v=A,g=setTimeout(D,u),x?E(A):m}o(w,"leadingEdge");function k(A){var _=A-y,N=A-v,M=u-_;return b?a(M,p-N):M}o(k,"remainingWait");function C(A){var _=A-y,N=A-v;return y===void 0||_>=u||_<0||b&&N>=p}o(C,"shouldInvoke");function D(){var A=e();if(C(A))return R(A);g=setTimeout(D,k(A))}o(D,"timerExpired");function R(A){return g=void 0,T&&f?E(A):(f=d=void 0,m)}o(R,"trailingEdge");function O(){g!==void 0&&clearTimeout(g),v=0,f=y=d=g=void 0}o(O,"cancel");function L(){return g===void 0?m:R(e())}o(L,"flush");function S(){var A=e(),_=C(A);if(f=arguments,d=this,y=A,_){if(g===void 0)return w(y);if(b)return clearTimeout(g),g=setTimeout(D,u),E(y)}return g===void 0&&(g=setTimeout(D,u)),m}return o(S,"debounced"),S.cancel=O,S.flush=L,S}return o(s,"debounce"),tO=s,tO}function dYe(t,e,r,n,i){var a=i*Math.PI/180,s=Math.cos(a)*(t-r)-Math.sin(a)*(e-n)+r,l=Math.sin(a)*(t-r)+Math.cos(a)*(e-n)+n;return{x:s,y:l}}function mYe(t,e,r){if(r===0)return t;var n=(e.x1+e.x2)/2,i=(e.y1+e.y2)/2,a=e.w/e.h,s=1/a,l=dYe(t.x,t.y,n,i,r),u=pYe(l.x,l.y,n,i,a,s);return{x:u.x,y:u.y}}function CYe(){return $fe||($fe=1,(function(t,e){(function(){var r,n,i,a,s,l,u,h,f,d,p,m,g,y,v;i=Math.floor,d=Math.min,n=o(function(x,b){return xb?1:0},"defaultCmp"),f=o(function(x,b,T,E,w){var k;if(T==null&&(T=0),w==null&&(w=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TO;0<=O?R++:R--)D.push(R);return D}).apply(this).reverse(),C=[],E=0,w=k.length;EL;0<=L?++D:--D)S.push(s(x,T));return S},"nsmallest"),y=o(function(x,b,T,E){var w,k,C;for(E==null&&(E=n),w=x[T];T>b;){if(C=T-1>>1,k=x[C],E(w,k)<0){x[T]=k,T=C;continue}break}return x[T]=w},"_siftdown"),v=o(function(x,b,T){var E,w,k,C,D;for(T==null&&(T=n),w=x.length,D=b,k=x[b],E=2*b+1;E-1}return o(e,"listCacheHas"),RO=e,RO}function xXe(){if(Cde)return LO;Cde=1;var t=JE();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return o(e,"listCacheSet"),LO=e,LO}function bXe(){if(Ade)return NO;Ade=1;var t=mXe(),e=gXe(),r=yXe(),n=vXe(),i=xXe();function a(s){var l=-1,u=s==null?0:s.length;for(this.clear();++l-1&&n%1==0&&n0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function I0e(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:RKe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?S=_:L=_;while(Math.abs(A)>s&&++N=a?b(O,N):M===0?N:E(O,L,L+h)}o(w,"getTForX");var k=!1;function C(){k=!0,(t!==e||r!==n)&&T()}o(C,"precompute");var D=o(function(L){return k||C(),t===e&&r===n?L:L===0?0:L===1?1:v(w(L),e,n)},"f");D.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var R="generateBezier("+[t,e,r,n]+")";return D.toString=function(){return R},D}function gpe(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function ype(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function N1(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=ype(t,i),l=ype(e,i);if(Rt(s)&&Rt(l))return gpe(a,s,l,r,n);if(Pn(s)&&Pn(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=CE[m].apply(null,g)):s.easingImpl=CE[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var T={};vb(x.x,b.x)&&(T.x=N1(x.x,b.x,v,y)),vb(x.y,b.y)&&(T.y=N1(x.y,b.y,v,y)),t.position(T)}var E=s.startPan,w=s.pan,k=a.pan,C=w!=null&&n;C&&(vb(E.x,w.x)&&(k.x=N1(E.x,w.x,v,y)),vb(E.y,w.y)&&(k.y=N1(E.y,w.y,v,y)),t.emit("pan"));var D=s.startZoom,R=s.zoom,O=R!=null&&n;O&&(vb(D,R)&&(a.zoom=Lb(a.minZoom,N1(D,R,v,y),a.maxZoom)),t.emit("zoom")),(C||O)&&t.emit("viewport");var L=s.style;if(L&&L.length>0&&i){for(var S=0;S=0;C--){var D=k[C];D()}k.splice(0,k.length)},"callbacks"),b=m.length-1;b>=0;b--){var T=m[b],E=T._private;if(E.stopped){m.splice(b,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||UKe(f,T,t),qKe(f,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(m.splice(b,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}o(i,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function Z0e(t){this.options=cr({},ZKe,JKe,t)}function J0e(t){this.options=cr({},eQe,t)}function eme(t){this.options=cr({},tQe,t)}function oC(t){this.options=cr({},rQe,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),s=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(n)}function ime(t){this.options=cr({},yQe,t)}function nB(t){this.options=cr({},vQe,t)}function ame(t){this.options=cr({},xQe,t)}function sme(t){this.options=cr({},bQe,t)}function ome(t){this.options=t,this.notifications=0}function ume(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function aB(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(kQe(t,e,r,n,i),{cx:DP,cy:RP,radius:M0,startX:lme,startY:cme,stopX:LP,stopY:NP,startAngle:vu.ang+Math.PI/2*O0,endAngle:Sl.ang-Math.PI/2*O0,counterClockwise:DE})}function hme(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}function Fpe(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function fZe(t,e,r){var n=Fpe(t,t.VERTEX_SHADER,e),i=Fpe(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function dZe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function lB(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function pZe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function mZe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function gZe(t){return t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function yZe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function vZe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function xZe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function Sme(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function Eme(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function bZe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function TZe(t,e,r,n){var i=Sme(t,e),a=Vi(i,2),s=a[0],l=a[1],u=Eme(t,l,n),h=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,u,t.STATIC_DRAW),l===t.FLOAT?t.vertexAttribPointer(r,s,l,!1,0,0):l===t.INT&&t.vertexAttribIPointer(r,s,l,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),h}function yu(t,e,r,n){var i=Sme(t,r),a=Vi(i,3),s=a[0],l=a[1],u=a[2],h=Eme(t,l,e*s),f=s*u,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*f,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),l===t.FLOAT?t.vertexAttribPointer(n,s,l,!1,f,0):l===t.INT&&t.vertexAttribIPointer(n,s,l,f,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var p=new Array(e),m=0;mxme?(FZe(t),e.call(t,a)):($Ze(t),Dme(t,a,Ab.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,l,u){return WZe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function FZe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function $Ze(t){var e=o(function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()},"clear");e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function zZe(t){var e=t.canvasWidth,r=t.canvasHeight,n=lB(t),i=n.pan,a=n.zoom,s=fP();LE(s,s,[i.x,i.y]),IP(s,s,[a,a]);var l=fP();EZe(l,e,r);var u=fP();return SZe(u,l,s),u}function _me(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=lB(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function GZe(t,e){t.drawSelectionRectangle(e,function(r){return _me(t,r)})}function VZe(t){var e=t.data.contexts[t.NODE];e.save(),_me(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function qZe(t){var e=o(function(i,a,s){for(var l=i.atlasManager.getAtlasCollection(a),u=t.data.contexts[t.NODE],h=l.atlases,f=0;f=0&&E.add(C)}return E}function WZe(t,e,r){var n=UZe(t,e,r),i=t.getCachedZSortedEles(),a,s,l=po(n),u;try{for(l.s();!(u=l.n()).done;){var h=u.value,f=i[h];if(!a&&f.isNode()&&(a=f),!s&&f.isEdge()&&(s=f),a&&s)break}}catch(d){l.e(d)}finally{l.f()}return[a,s].filter(Boolean)}function yP(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Dme(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&GZe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var l=zZe(t),u=t.getCachedZSortedEles();if(a=u.length,i.startFrame(l,r),r.screen){for(var h=0;h{"use strict";o(vP,"_arrayLikeToArray");o(SHe,"_arrayWithHoles");o(EHe,"_arrayWithoutHoles");o(Td,"_classCallCheck");o(CHe,"_defineProperties");o(wd,"_createClass");o(po,"_createForOfIteratorHelper");o(Ype,"_defineProperty$1");o(AHe,"_iterableToArray");o(_He,"_iterableToArrayLimit");o(DHe,"_nonIterableRest");o(RHe,"_nonIterableSpread");o(Vi,"_slicedToArray");o(NE,"_toConsumableArray");o(LHe,"_toPrimitive");o(jpe,"_toPropertyKey");o(ea,"_typeof");o(FP,"_unsupportedIterableToArray");Zi=typeof window>"u"?null:window,xfe=Zi?Zi.navigator:null;Zi&&Zi.document;NHe=ea(""),Xpe=ea({}),MHe=ea(function(){}),IHe=typeof HTMLElement>"u"?"undefined":ea(HTMLElement),Fb=o(function(e){return e&&e.instanceString&&xi(e.instanceString)?e.instanceString():null},"instanceStr"),nr=o(function(e){return e!=null&&ea(e)==NHe},"string"),xi=o(function(e){return e!=null&&ea(e)===MHe},"fn"),Pn=o(function(e){return!zo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),rn=o(function(e){return e!=null&&ea(e)===Xpe&&!Pn(e)&&e.constructor===Object},"plainObject"),OHe=o(function(e){return e!=null&&ea(e)===Xpe},"object"),Rt=o(function(e){return e!=null&&ea(e)===ea(1)&&!isNaN(e)},"number"),PHe=o(function(e){return Rt(e)&&Math.floor(e)===e},"integer"),ME=o(function(e){if(IHe!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),zo=o(function(e){return $b(e)||Kpe(e)},"elementOrCollection"),$b=o(function(e){return Fb(e)==="collection"&&e._private.single},"element"),Kpe=o(function(e){return Fb(e)==="collection"&&!e._private.single},"collection"),$P=o(function(e){return Fb(e)==="core"},"core"),Qpe=o(function(e){return Fb(e)==="stylesheet"},"stylesheet"),BHe=o(function(e){return Fb(e)==="event"},"event"),md=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),FHe=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),$He=o(function(e){return rn(e)&&Rt(e.x1)&&Rt(e.x2)&&Rt(e.y1)&&Rt(e.y2)},"boundingBox"),zHe=o(function(e){return OHe(e)&&xi(e.then)},"promise"),GHe=o(function(){return xfe&&xfe.userAgent.match(/msie|trident|edge/i)},"ms"),W1=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),jHe=o(function(e,r){return-1*Jpe(e,r)},"descending"),cr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+UHe+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),QHe=o(function(e){var r,n=new RegExp("^"+VHe+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),ZHe=o(function(e){return JHe[e.toLowerCase()]},"colorname2tuple"),e0e=o(function(e){return(Pn(e)?e:null)||ZHe(e)||XHe(e)||QHe(e)||KHe(e)},"color2tuple"),JHe={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},t0e=o(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:I0,n=r,i;i=e.next(),!i.done;)n=n*a0e+i.value|0;return n},"hashIterableInts"),_b=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:I0;return r*a0e+e|0},"hashInt"),Db=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:B1;return(r<<5)+r+e|0},"hashIntAlt"),hYe=o(function(e,r){return e*2097152+r},"combineHashes"),od=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),cE=o(function(e,r){return[_b(e[0],r[0]),Db(e[1],r[1])]},"hashArrays"),Ofe=o(function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:o(function(){return i=0;i--)e[i]===r&&e.splice(i,1)},"removeFromArray"),UP=o(function(e){e.splice(0,e.length)},"clearArray"),TYe=o(function(e,r){for(var n=0;n"u"?"undefined":ea(Set))!==kYe?Set:SYe,jE=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!$P(e)){si("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){si("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new j1,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];Pn(r.classes)?h=r.classes:nr(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;f0;){var k=b.pop(),C=v(k),D=k.id();if(p[D]=C,C!==1/0)for(var R=k.neighborhood().intersect(g),O=0;O0)for(B.unshift(P);d[G];){var $=d[G];B.unshift($.edge),B.unshift($.node),F=$.node,G=F.id()}return l.spawn(B)},"pathTo")}},"dijkstra")},LYe={kruskal:o(function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),l=n,u=o(function(E){for(var w=0;w0;){if(w(),C++,E===f){for(var D=[],R=a,O=f,L=x[O];D.unshift(R),L!=null&&D.unshift(L),R=v[O],R!=null;)O=R.id(),L=x[O];return{found:!0,distance:d[E],path:this.spawn(D),steps:C}}m[E]=!0;for(var S=T._private.edges,A=0;AL&&(g[O]=L,b[O]=R,T[O]=w),!a){var S=R*f+D;!a&&g[S]>L&&(g[S]=L,b[S]=D,T[S]=w)}}}for(var A=0;A1&&arguments[1]!==void 0?arguments[1]:s,ye=T(j),$e=[],Xe=ye;;){if(Xe==null)return r.spawn();var Ue=b(Xe),Le=Ue.edge,Ie=Ue.pred;if($e.unshift(Xe[0]),Xe.same(Ge)&&$e.length>0)break;Le!=null&&$e.unshift(Le),Xe=Ie}return u.spawn($e)},"pathTo"),k=0;k=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=$Ye(a,e,r),n--}return r},"contractUntil"),zYe={kargerStein:o(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(B){return B.isLoop()});var a=n.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/FYe);if(a<2){si("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),HYe=o(function(e){return Math.PI*e/180},"deg2rad"),uE=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),WP=Math.log2||function(t){return Math.log(t)/Math.log(2)},HP=o(function(e){return e>0?1:e<0?-1:0},"signum"),F0=o(function(e,r){return Math.sqrt(N0(e,r))},"dist"),N0=o(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),YYe=o(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),XYe=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),KYe=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),QYe=o(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),d0e=o(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),wE=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),kE=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var l=Vi(r,4);n=l[0],i=l[1],a=l[2],s=l[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Gfe=o(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),YP=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),hd=o(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),Vfe=o(function(e,r){return hd(e,r.x,r.y)},"pointInBoundingBox"),p0e=o(function(e,r){return hd(e,r.x1,r.y1)&&hd(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),ZYe=(aO=Math.hypot)!==null&&aO!==void 0?aO:function(t,e){return Math.sqrt(t*t+e*e)};o(JYe,"inflatePolygon");o(eje,"miterBox");m0e=o(function(e,r,n,i,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?yd(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=fd(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var T=n+f+l,E=i-d+h-l,w=T,k=i+d-h+l;if(g=fd(e,r,n,i,T,E,w,k,!1),g.length>0)return g}if(p){var C=n-f+h-l,D=i+d+l,R=n+f-h+l,O=D;if(g=fd(e,r,n,i,C,D,R,O,!1),g.length>0)return g}if(m){var L=n-f-l,S=i-d+h-l,A=L,_=i+d-h+l;if(g=fd(e,r,n,i,L,S,A,_,!1),g.length>0)return g}var N;{var M=n-f+h,P=i-d+h;if(N=wb(e,r,n,i,M,P,h+l),N.length>0&&N[0]<=M&&N[1]<=P)return[N[0],N[1]]}{var B=n+f-h,F=i-d+h;if(N=wb(e,r,n,i,B,F,h+l),N.length>0&&N[0]>=B&&N[1]<=F)return[N[0],N[1]]}{var G=n+f-h,$=i+d-h;if(N=wb(e,r,n,i,G,$,h+l),N.length>0&&N[0]>=G&&N[1]>=$)return[N[0],N[1]]}{var V=n-f+h,K=i+d-h;if(N=wb(e,r,n,i,V,K,h+l),N.length>0&&N[0]<=V&&N[1]>=K)return[N[0],N[1]]}return[]},"roundRectangleIntersectLine"),tje=o(function(e,r,n,i,a,s,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,s),p=Math.max(i,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),rje=o(function(e,r,n,i,a,s,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,s)-h,y2:Math.max(i,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),nje=o(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),ije=o(function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),aje=o(function(e,r,n,i,a,s,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*s+2*i*u+4*s*s-4*s*u+u*u,f=9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*s-3*i*i-3*i*u-6*s*s+3*s*u,d=3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*s+i*u-i*r+2*s*s+2*s*r-u*r,p=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,m=[];ije(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,T,E,w=0;w=0?Eh?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),fo=o(function(e,r,n){for(var i,a,s,l,u,h=0,f=0;f=e&&e>=s||i<=e&&e<=s)u=(e-i)/(s-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Lh=o(function(e,r,n,i,a,s,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=BE(f,-h);y=PE(v)}else y=f;return fo(e,r,y)},"pointInsidePolygon"),oje=o(function(e,r,n,i,a,s,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var T=b[0]*u[0]+e,E=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[T,E];var w=b[1]*u[0]+e,k=b[1]*u[1]+r;return[T,E,w,k]}else return[T,E]},"intersectLineCircle"),sO=o(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),fd=o(function(e,r,n,i,a,s,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-s,g=i-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var T=v/b,E=x/b,w=.001,k=0-w,C=1+w;return k<=T&&T<=C&&k<=E&&E<=C?[e+T*d,r+T*g]:h?[e+T*d,r+T*g]:[]}else return v===0||x===0?sO(e,n,l)===l?[l,u]:sO(e,n,a)===a?[a,s]:sO(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),cje=o(function(e,r,n,i,a){var s=[],l=i/2,u=a/2,h=r,f=n;s.push({x:h+l*e[0],y:f+u*e[1]});for(var d=1;d0){var y=BE(d,-u);m=PE(y)}else m=d}else m=n;for(var v,x,b,T,E=0;E2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=E)},"set"),get:o(function(T){return h[T]},"get")},p=0;p0?N=_.edgesTo(A)[0]:N=A.edgesTo(_)[0];var M=i(N);A=A.id(),C[A]>C[L]+M&&(C[A]=C[L]+M,D.nodes.indexOf(A)<0?D.push(A):D.updateItem(A),k[A]=0,w[A]=[]),C[A]==C[L]+M&&(k[A]=k[A]+k[L],w[A].push(L))}else for(var P=0;P0;){for(var $=E.pop(),V=0;V0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),Sje=o(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:Aje,l=i,u,h,f=0;f=2?mb(e,r,n,0,Yfe,_je):mb(e,r,n,0,Hfe)},"euclidean"),squaredEuclidean:o(function(e,r,n){return mb(e,r,n,0,Yfe)},"squaredEuclidean"),manhattan:o(function(e,r,n){return mb(e,r,n,0,Hfe)},"manhattan"),max:o(function(e,r,n){return mb(e,r,n,-1/0,Dje)},"max")};H1["squared-euclidean"]=H1.squaredEuclidean;H1.squaredeuclidean=H1.squaredEuclidean;o(KE,"clusteringDistance");Rje=za({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),XP=o(function(e){return Rje(e)},"setOptions"),FE=o(function(e,r,n,i,a){var s=a!=="kMedoids",l=s?function(d){return n[d]}:function(d){return i[d](n)},u=o(function(p){return i[p](r)},"getQ"),h=n,f=r;return KE(e,i.length,l,u,h,f)},"getDist"),lO=o(function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),Mje=o(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[i[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),Jfe=o(function(e,r,n){for(var i=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&i.push(s)}for(var f=0;fh&&(u=f,h=d)}n[a]=s[u]}return i=Jfe(e,r,n),i},"assign"),ede=o(function(e){for(var r=this.cy(),n=this.nodes(),i=Wje(e),a={},s=0;s=L?(S=L,L=_,A=N):_>S&&(S=_);for(var M=0;M0?1:0;C[R%i.minIterations*l+V]=K,$+=K}if($>0&&(R>=i.minIterations-1||R==i.maxIterations-1)){for(var ee=0,H=0;H1||k>1)&&(l=!0),d[T]=[],b.outgoers().forEach(function(D){D.isEdge()&&d[T].push(D.id())})}else p[T]=[void 0,b.target().id()]}):s.forEach(function(b){var T=b.id();if(b.isNode()){var E=b.degree(!0);E%2&&(u?h?l=!0:h=T:u=T),d[T]=[],b.connectedEdges().forEach(function(w){return d[T].push(w.id())})}else p[T]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(T){for(var E=T,w=[T],k,C,D;d[E].length;)k=d[E].shift(),C=p[k][0],D=p[k][1],E!=D?(d[D]=d[D].filter(function(R){return R!=k}),E=D):!a&&E!=C&&(d[C]=d[C].filter(function(R){return R!=k}),E=C),w.unshift(k),w.unshift(E);return w},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},fE=o(function(){var e=this,r={},n=0,i=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(T){var E=T.id(),w=T.connectedEdges().intersection(e);v.merge(T),r[E].cutVertex?v.merge(w.filter(function(k){return k.isLoop()})):v.merge(w)})}),a.push(v)},"buildComponent"),h=o(function(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,T;y.forEach(function(E){v=E.source().id(),x=E.target().id(),b=v===m?x:v,b!==g&&(T=E.id(),l[T]||(l[T]=!0,s.push({x:m,y:b,edge:E})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(h(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),Jje={hopcroftTarjanBiconnected:fE,htbc:fE,htb:fE,hopcroftTarjanBiconnectedComponents:fE},dE=o(function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),l=o(function(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||l(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:i}},"tarjanStronglyConnected"),eXe={tarjanStronglyConnected:dE,tsc:dE,tscc:dE,tarjanStronglyConnectedComponents:dE},w0e={};[Rb,RYe,LYe,MYe,OYe,BYe,zYe,dje,V1,q1,TP,Cje,$je,qje,Kje,Zje,Jje,eXe].forEach(function(t){cr(w0e,t)});k0e=0,S0e=1,E0e=2,dc=o(function(e){if(!(this instanceof dc))return new dc(e);this.id="Thenable/1.0.7",this.state=k0e,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");dc.prototype={fulfill:o(function(e){return tde(this,S0e,"fulfillValue",e)},"fulfill"),reject:o(function(e){return tde(this,E0e,"rejectReason",e)},"reject"),then:o(function(e,r){var n=this,i=new dc;return n.onFulfilled.push(nde(e,i,"fulfill")),n.onRejected.push(nde(r,i,"reject")),C0e(n),i.proxy},"then")};tde=o(function(e,r,n,i){return e.state===k0e&&(e.state=r,e[n]=i,C0e(e)),e},"deliver"),C0e=o(function(e){e.state===S0e?rde(e,"onFulfilled",e.fulfillValue):e.state===E0e&&rde(e,"onRejected",e.rejectReason)},"execute"),rde=o(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){Pn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,l=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};SE.className=SE.classNames=SE.classes;tn={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tn.variable="(?:[\\w-.]|(?:\\\\"+tn.metaChar+"))+";tn.className="(?:[\\w-]|(?:\\\\"+tn.metaChar+"))+";tn.value=tn.string+"|"+tn.number;tn.id=tn.variable;(function(){var t,e,r;for(t=tn.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(tn.comparatorOp+="|\\!"+e)})();_n=o(function(){return{checks:[]}},"newQuery"),qt={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},EP=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return jHe(t.selector,e.selector)}),QXe=(function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return bn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return bn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&bn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),nKe=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return nr(f)?'"'+f+'"':e(f)},"cleanVal"),n=o(function(f){return" "+f+" "},"space"),i=o(function(f,d){var p=f.type,m=f.value;switch(p){case qt.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case qt.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case qt.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case qt.DATA_EXIST:{var T=f.field;return"["+T+"]"}case qt.META_COMPARE:{var E=f.operator,w=f.field;return"[["+w+n(e(E))+r(m)+"]]"}case qt.STATE:return m;case qt.ID:return"#"+m;case qt.CLASS:return"."+m;case qt.PARENT:case qt.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case qt.ANCESTOR:case qt.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case qt.COMPOUND_SPLIT:{var k=a(f.left,d),C=a(f.subject,d),D=a(f.right,d);return k+(k.length>0?" ":"")+C+D}case qt.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return JP(this,t,e,I0e)};o(O0e,"addParent");Y1.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return JP(this,t,e,O0e)};o(hKe,"addParentAndChildren");Y1.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return JP(this,t,e,hKe)};Y1.ancestors=Y1.parents;Mb=P0e={data:xn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:xn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:xn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:xn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:xn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:xn.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};Mb.attr=Mb.data;Mb.removeAttr=Mb.removeData;fKe=P0e,tC={};o(sP,"defineDegreeFunction");cr(tC,{degree:sP(function(t,e){return e.source().same(e.target())?2:1}),indegree:sP(function(t,e){return e.target().same(t)?1:0}),outdegree:sP(function(t,e){return e.source().same(t)?1:0})});o(L1,"defineDegreeBoundsFunction");cr(tC,{minDegree:L1("degree",function(t,e){return te}),minIndegree:L1("indegree",function(t,e){return te}),minOutdegree:L1("outdegree",function(t,e){return te})});cr(tC,{totalDegree:o(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this},"relativePosition")};fc.modelPosition=fc.point=fc.position;fc.modelPositions=fc.points=fc.positions;fc.renderedPoint=fc.renderedPosition;fc.relativePoint=fc.relativePosition;dKe=B0e;U1=kd={};kd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};kd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};kd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(R,O,L){var S=0,A=0,_=O+L;return R>0&&_>0&&(S=O/_*R,A=L/_*R),{biasDiff:S,biasComplementDiff:A}}o(m,"computeBiasValues");function g(R,O,L,S){if(L.units==="%")switch(S){case"width":return R>0?L.pfValue*R:0;case"height":return O>0?L.pfValue*O:0;case"average":return R>0&&O>0?L.pfValue*(R+O)/2:0;case"min":return R>0&&O>0?R>O?L.pfValue*O:L.pfValue*R:0;case"max":return R>0&&O>0?R>O?L.pfValue*R:L.pfValue*O:0;default:return 0}else return L.units==="px"?L.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var T=m(f.width.val-d.w,y,v),E=T.biasDiff,w=T.biasComplementDiff,k=m(f.height.val-d.h,x,b),C=k.biasDiff,D=k.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-E+d.x1+d.x2+w)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-C+d.y1+d.y2+D)/2}o(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),cd=o(function(e,r){return r==null?e:hc(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),gb=o(function(e,r,n){return ho(e,r,n)},"prefixedProperty"),pE=o(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,wE(d,1),hc(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),oP=o(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=gb(s,"labelWidth",n),d=gb(s,"labelHeight",n),p=gb(s,"labelX",n),m=gb(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,w=r.pstyle("text-background-padding").pfValue,k=2,C=d,D=f,R=D/2,O=C/2,L,S,A,_;if(v)L=p-R,S=p+R,A=m-O,_=m+O;else{switch(u.value){case"left":L=p-D,S=p;break;case"center":L=p-R,S=p+R;break;case"right":L=p,S=p+D;break}switch(h.value){case"top":A=m-C,_=m;break;case"center":A=m-O,_=m+O;break;case"bottom":A=m,_=m+C;break}}var N=g-Math.max(b,E)-w-k,M=g+Math.max(b,E)+w+k,P=y-Math.max(b,E)-w-k,B=y+Math.max(b,E)+w+k;L+=N,S+=M,A+=P,_+=B;var F=n||"main",G=a.labelBounds,$=G[F]=G[F]||{};$.x1=L,$.y1=A,$.x2=S,$.y2=_,$.w=S-L,$.h=_-A,$.leftPad=N,$.rightPad=M,$.topPad=P,$.botPad=B;var V=v&&x.strValue==="autorotate",K=x.pfValue!=null&&x.pfValue!==0;if(V||K){var ee=V?gb(a.rstyle,"labelAngle",n):x.pfValue,H=Math.cos(ee),he=Math.sin(ee),Z=(L+S)/2,de=(A+_)/2;if(!v){switch(u.value){case"left":Z=S;break;case"right":Z=L;break}switch(h.value){case"top":de=_;break;case"bottom":de=A;break}}var re=o(function(Te,j){return Te=Te-Z,j=j-de,{x:Te*H-j*he+Z,y:Te*he+j*H+de}},"rotate"),ne=re(L,A),te=re(L,_),Q=re(S,A),le=re(S,_);L=Math.min(ne.x,te.x,Q.x,le.x),S=Math.max(ne.x,te.x,Q.x,le.x),A=Math.min(ne.y,te.y,Q.y,le.y),_=Math.max(ne.y,te.y,Q.y,le.y)}var J=F+"Rot",ge=G[J]=G[J]||{};ge.x1=L,ge.y1=A,ge.x2=S,ge.y2=_,ge.w=S-L,ge.h=_-A,hc(e,L,A,S,_),hc(a.labelBounds.all,L,A,S,_)}return e}},"updateBoundsFromLabel"),rpe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;$0e(e,r,n,s,"outside",s/2)}},"updateBoundsFromOutline"),$0e=o(function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var l=r.cy(),u=r.pstyle("shape").value,h=l.renderer().nodeShapes[u],f=r.position(),d=f.x,p=f.y,m=r.width(),g=r.height();if(h.hasMiterBounds){a==="center"&&(i/=2);var y=h.miterBounds(d,p,m,g,i);cd(e,y)}else s!=null&&s>0&&kE(e,[s,s,s,s])}},"updateBoundsFromMiter"),pKe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;$0e(e,r,n,i,a)}},"updateBoundsFromMiterBorder"),mKe=o(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=Ls(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(ie){return ie.pstyle("display").value!=="none"},"isDisplayed"),T=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(T){var E=0,w=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(w=e.pstyle("overlay-padding").value));var k=0,C=0;i&&r.includeUnderlays&&(k=e.pstyle("underlay-opacity").value,k!==0&&(C=e.pstyle("underlay-padding").value));var D=Math.max(w,C),R=0,O=0;if(i&&(R=e.pstyle("width").pfValue,O=R/2),u&&r.includeNodes){var L=e.position();g=L.x,y=L.y;var S=e.outerWidth(),A=S/2,_=e.outerHeight(),N=_/2;f=g-A,d=g+A,p=y-N,m=y+N,hc(s,f,p,d,m),i&&rpe(s,e),i&&r.includeOutlines&&!a&&rpe(s,e),i&&pKe(s,e)}else if(h&&r.includeEdges)if(i&&!a){var M=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=O,d+=O,p-=O,m+=O,hc(s,f,p,d,m),M==="haystack"){var P=v.haystackPts;if(P&&P.length===2){if(f=P[0].x,p=P[0].y,d=P[1].x,m=P[1].y,f>d){var B=f;f=d,d=B}if(p>m){var F=p;p=m,m=F}hc(s,f-O,p-O,d+O,m+O)}}else if(M==="bezier"||M==="unbundled-bezier"||ud(M,"segments")||ud(M,"taxi")){var G;switch(M){case"bezier":case"unbundled-bezier":G=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":G=v.linePts;break}if(G!=null)for(var $=0;$d){var Z=f;f=d,d=Z}if(p>m){var de=p;p=m,m=de}f-=O,d+=O,p-=O,m+=O,hc(s,f,p,d,m)}if(i&&r.includeEdges&&h&&(pE(s,e,"mid-source"),pE(s,e,"mid-target"),pE(s,e,"source"),pE(s,e,"target")),i){var re=e.pstyle("ghost").value==="yes";if(re){var ne=e.pstyle("ghost-offset-x").pfValue,te=e.pstyle("ghost-offset-y").pfValue;hc(s,s.x1+ne,s.y1+te,s.x2+ne,s.y2+te)}}var Q=l.bodyBounds=l.bodyBounds||{};Gfe(Q,s),kE(Q,x),wE(Q,1),i&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,hc(s,f-D,p-D,d+D,m+D));var le=l.overlayBounds=l.overlayBounds||{};Gfe(le,s),kE(le,x),wE(le,1);var J=l.labelBounds=l.labelBounds||{};J.all!=null?KYe(J.all):J.all=Ls(),i&&r.includeLabels&&(r.includeMainLabels&&oP(s,e,null),h&&(r.includeSourceLabels&&oP(s,e,"source"),r.includeTargetLabels&&oP(s,e,"target")))}return s.x1=El(s.x1),s.y1=El(s.y1),s.x2=El(s.x2),s.y2=El(s.y2),s.w=El(s.x2-s.x1),s.h=El(s.y2-s.y1),s.w>0&&s.h>0&&T&&(kE(s,x),wE(s,1)),s},"boundingBoxImpl"),z0e=o(function(e){var r=0,n=o(function(s){return(s?1:0)<=0;l--)s(l);return this};bd.removeAllListeners=function(){return this.removeListener("*")};bd.emit=bd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Pn(e)||(e=[e]),LKe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var l=o(function(){var f=n[u];if(f.type===s.type&&(!f.namespace||f.namespace===s.namespace||f.namespace===DKe)&&a.eventMatches(a.context,f,s)){var d=[s];e!=null&&TYe(d,e),a.beforeEmit(a.context,f,s),f.conf&&f.conf.one&&(a.listeners=a.listeners.filter(function(g){return g!==f}));var p=a.callbackContext(a.context,f,s),m=f.callback.apply(p,d);a.afterEmit(a.context,f,s),m===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&nr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:o(function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ea(Symbol))!=e&&ea(Symbol.iterator)!=e;r&&($E[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return Ype({next:o(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:o(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(rn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(nr(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});ns.neighbourhood=ns.neighborhood;ns.closedNeighbourhood=ns.closedNeighborhood;ns.openNeighbourhood=ns.openNeighborhood;cr(ns,{source:Cl(o(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:Cl(o(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:dpe({attr:"source"}),targets:dpe({attr:"target"})});o(dpe,"defineSourceFunction");cr(ns,{edgesWith:Cl(ppe(),"edgesWith"),edgesTo:Cl(ppe({thisIsSrc:!0}),"edgesTo")});o(ppe,"defineEdgesWithFunction");cr(ns,{connectedEdges:Cl(function(t){for(var e=[],r=this,n=0;n0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});ns.componentsOf=ns.components;$a=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){si("A collection must have a reference to the core");return}var a=new Dh,s=!1;if(!r)r=[];else if(r.length>0&&rn(r[0])&&!$b(r[0])){s=!0;for(var l=[],u=new j1,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],l,u=0,h=r.length;u0){for(var F=l.length===r.length?r:new $a(n,l),G=0;G0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(_){for(var N=_._private.edges,M=0;M0&&(t?L.emitAndNotify("remove"):e&&L.emit("remove"));for(var S=0;Sf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")})(),Vn=o(function(e,r,n,i){var a=GKe(e,r,n,i);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),CE={linear:o(function(e,r,n){return e+(r-e)*n},"linear"),ease:Vn(.25,.1,.25,1),"ease-in":Vn(.42,0,1,1),"ease-out":Vn(0,0,.58,1),"ease-in-out":Vn(.42,0,.58,1),"ease-in-sine":Vn(.47,0,.745,.715),"ease-out-sine":Vn(.39,.575,.565,1),"ease-in-out-sine":Vn(.445,.05,.55,.95),"ease-in-quad":Vn(.55,.085,.68,.53),"ease-out-quad":Vn(.25,.46,.45,.94),"ease-in-out-quad":Vn(.455,.03,.515,.955),"ease-in-cubic":Vn(.55,.055,.675,.19),"ease-out-cubic":Vn(.215,.61,.355,1),"ease-in-out-cubic":Vn(.645,.045,.355,1),"ease-in-quart":Vn(.895,.03,.685,.22),"ease-out-quart":Vn(.165,.84,.44,1),"ease-in-out-quart":Vn(.77,0,.175,1),"ease-in-quint":Vn(.755,.05,.855,.06),"ease-out-quint":Vn(.23,1,.32,1),"ease-in-out-quint":Vn(.86,0,.07,1),"ease-in-expo":Vn(.95,.05,.795,.035),"ease-out-expo":Vn(.19,1,.22,1),"ease-in-out-expo":Vn(1,0,0,1),"ease-in-circ":Vn(.6,.04,.98,.335),"ease-out-circ":Vn(.075,.82,.165,1),"ease-in-out-circ":Vn(.785,.135,.15,.86),spring:o(function(e,r,n){if(n===0)return CE.linear;var i=VKe(e,r,n);return function(a,s,l){return a+(s-a)*i(l)}},"spring"),"cubic-bezier":Vn};o(gpe,"getEasedValue");o(ype,"getValue");o(N1,"ease");o(qKe,"step$1");o(vb,"valid");o(UKe,"startAnimation");o(vpe,"stepAll");WKe={animate:xn.animate(),animation:xn.animation(),animated:xn.animated(),clearQueue:xn.clearQueue(),delay:xn.delay(),delayAnimation:xn.delayAnimation(),stop:xn.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&IE(o(function(a){vpe(a,e),r()},"animationStep"))}o(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(o(function(a,s){vpe(s,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},HKe={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&$b(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},yE=o(function(e){return nr(e)?new vd(e):e},"argSelector"),Q0e={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new rC(HKe,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,n){return this.emitter().on(e,yE(r),n),this},"on"),removeListener:o(function(e,r,n){return this.emitter().removeListener(e,yE(r),n),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,n){return this.emitter().one(e,yE(r),n),this},"one"),once:o(function(e,r,n){return this.emitter().one(e,yE(r),n),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};xn.eventAliasesOn(Q0e);AP={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};AP.jpeg=AP.jpg;AE={layout:o(function(e){var r=this;if(e==null){si("Layout options must be specified to make a layout");return}if(e.name==null){si("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){si("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;nr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(cr({},e,{cy:r,eles:a}));return s},"layout")};AE.createLayout=AE.makeLayout=AE.layout;YKe={notify:o(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};_P.invalidateDimensions=_P.resize;_E={collection:o(function(e,r){return nr(e)?this.$(e):zo(e)?e.collection():Pn(e)?(r||(r={}),new $a(this,e,r.unique,r.removed)):new $a(this)},"collection"),nodes:o(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};_E.elements=_E.filter=_E.$;Ta={},Eb="t",XKe="f";Ta.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(E=1),l.color){var k=n.valueMin[0],C=n.valueMax[0],D=n.valueMin[1],R=n.valueMax[1],O=n.valueMin[2],L=n.valueMax[2],S=n.valueMin[3]==null?1:n.valueMin[3],A=n.valueMax[3]==null?1:n.valueMax[3],_=[Math.round(k+(C-k)*E),Math.round(D+(R-D)*E),Math.round(O+(L-O)*E),Math.round(S+(A-S)*E)];a={bypass:n.bypass,name:n.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else if(l.number){var N=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,N,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case s.data:{for(var M=n.field.split("."),P=d.data,B=0;B0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};Ta.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],l=i(s);t.removed()||l!=null&&l(r,n,t)&&a(s)};Ta.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};Ta.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};Ta.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ta.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ta.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};Hb={};Hb.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){bn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new vd(d);if(p.invalid){bn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){bn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],T=x[2],E=e.properties[b];if(!E){bn("Skipping property: Invalid property name in: "+s),u();continue}var w=r.parse(b,T);if(!w){bn("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:T}),u()}if(g){l();break}r.selector(d);for(var k=0;k=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return bn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var T;if(u?T=e.split(/\s+/):Pn(e)?T=e:T=[e],h.evenMultiple&&T.length%2!==0)return null;for(var E=[],w=[],k=[],C="",D=!1,R=0;R0?" ":"")+O.strValue}return h.validate&&!h.validate(E,w)?null:h.singleEnum&&D?E.length===1&&nr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:k,strValue:C,bypass:r,units:w}}var L=o(function(){for(var re=0;reh.max||h.strictMax&&e===h.max))return null;var M={name:t,value:e,strValue:""+e+(S||""),units:S,bypass:r};return h.unitless||S!=="px"&&S!=="em"?M.pfValue=e:M.pfValue=S==="px"||!S?e:this.getEmSizeInPixels()*e,(S==="ms"||S==="s")&&(M.pfValue=S==="ms"?e:1e3*e),(S==="deg"||S==="rad")&&(M.pfValue=S==="rad"?e:HYe(e)),S==="%"&&(M.pfValue=e/100),M}else if(h.propList){var P=[],B=""+e;if(B!=="none"){for(var F=B.split(/\s*,\s*|\s+/),G=0;G0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((s-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),Rt(e)?s=e:rn(e)&&(s=e.level,e.position!=null?a=XE(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;Rt(h.x)&&(r.pan.x=h.x,l=!1),Rt(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(nr(e)){var n=e;e=this.mutableElements().filter(n)}else zo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=o(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};z0.centre=z0.center;z0.autolockNodes=z0.autolock;z0.autoungrabifyNodes=z0.autoungrabify;Ob={data:xn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:xn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:xn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:xn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ob.attr=Ob.data;Ob.removeAttr=Ob.removeData;Pb=o(function(e){var r=this;e=cr({},e);var n=e.container;n&&!ME(n)&&ME(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Zi!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=cr({name:s?"grid":"null"},l.layout),l.renderer=cr({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new $a(this),listeners:[],aniEles:new $a(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:Rt(l.zoom)?l.zoom:1,pan:{x:rn(l.pan)&&Rt(l.pan.x)?l.pan.x:0,y:rn(l.pan)&&Rt(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(zHe);if(v)return X1.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=cr({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(rn(g)||Pn(g))&&r.add(g),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=cr({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,xi(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,l=!!t.boundingBox,u=Ls(l?t.boundingBox:structuredClone(e.extent())),h;if(zo(t.roots))h=t.roots;else if(Pn(t.roots)){for(var f=[],d=0;d0;){var _=A(),N=R(_,L);if(N)_.outgoers().filter(function(Ge){return Ge.isNode()&&r.has(Ge)}).forEach(S);else if(N===null){bn("Detected double maximal shift for node `"+_.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var M=0;if(t.avoidOverlap)for(var P=0;P0&&x[0].length<=3?Le/2:0),Me=2*Math.PI/x[Xe].length*Ue;return Xe===0&&x[0].length===1&&(Ie=1),{x:Q.x+Ie*Math.cos(Me),y:Q.y+Ie*Math.sin(Me)}}else{var Ae=x[Xe].length,ze=Math.max(Ae===1?0:l?(u.w-t.padding*2-le.w)/((t.grid?ge:Ae)-1):(u.w-t.padding*2-le.w)/((t.grid?ge:Ae)+1),M),Y={x:Q.x+(Ue+1-(Ae+1)/2)*ze,y:Q.y+(Xe+1-(H+1)/2)*J};return Y}},"getPositionTopBottom"),Te={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(Te).indexOf(t.direction)===-1&&si("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(Te).join(", ")));var j=o(function(ye){return mYe(ie(ye),u,Te[t.direction])},"getPosition");return r.nodes().layoutPositions(this,t,j),this};eQe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(J0e,"CircleLayout");J0e.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=Ls(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),T=Math.sqrt(d*d/(x*x+b*b));f=Math.max(T,f)}var E=o(function(k,C){var D=e.startAngle+C*h*(i?1:-1),R=f*Math.cos(D),O=f*Math.sin(D),L={x:l.x+R,y:l.y+O};return L},"getPos");return n.nodes().layoutPositions(this,e,E),this};tQe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(eme,"ConcentricLayout");eme.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=Ls(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var w=Math.abs(b[0].value-E.value);w>=v&&(b=[],x.push(b))}b.push(E)}var k=h+e.minNodeSpacing;if(!e.avoidOverlap){var C=x.length>0&&x[0].length>1,D=Math.min(s.w,s.h)/2-k,R=D/(x.length+C?1:0);k=Math.min(k,R)}for(var O=0,L=0;L1&&e.avoidOverlap){var N=Math.cos(_)-Math.cos(0),M=Math.sin(_)-Math.sin(0),P=Math.sqrt(k*k/(N*N+M*M));O=Math.max(P,O)}S.r=O,O+=k}if(e.equidistant){for(var B=0,F=0,G=0;G=t.numIter||(lQe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),IE(f)}},"frame");f()}else{for(;h;)h=s(u),u++;Tpe(n,t),l()}return this};oC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};oC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};nQe=o(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=Ls(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(D);for(var f=0;fi.count?0:i.graph},"findLCA"),tme=o(function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=GE(e,l,u),v=GE(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,T=x*x+b*b,p=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),hQe=o(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},"nodesOverlap"),GE=o(function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=n/r,h=s/l,f={};return r===0&&0n?(f.x=i,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+s*r/2/n,f.y=a+s/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-s*r/2/n,f.y=a-s/2),f)},"findClippingPoint"),fQe=o(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),pQe=o(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),nme=o(function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),yQe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(ime,"GridLayout");ime.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Ls(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(K){return{x:a.x1,y:a.y1}});else{var s=i.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(ee){if(ee==null)return Math.min(u,h);var H=Math.min(u,h);H==u?u=ee:h=ee},"small"),d=o(function(ee){if(ee==null)return Math.max(u,h);var H=Math.max(u,h);H==u?u=ee:h=ee},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,T=a.h/u;if(e.condense&&(b=0,T=0),e.avoidOverlap)for(var E=0;E=h&&(N=0,_++)},"moveToNextCell"),P={},B=0;B(N=sje(t,e,M[P],M[P+1],M[P+2],M[P+3])))return v(C,N),!0}else if(R.edgeType==="bezier"||R.edgeType==="multibezier"||R.edgeType==="self"||R.edgeType==="compound"){for(var M=R.allpts,P=0;P+5(N=aje(t,e,M[P],M[P+1],M[P+2],M[P+3],M[P+4],M[P+5])))return v(C,N),!0}for(var B=B||D.source,F=F||D.target,G=i.getArrowWidth(O,L),$=[{name:"source",x:R.arrowStartX,y:R.arrowStartY,angle:R.srcArrowAngle},{name:"target",x:R.arrowEndX,y:R.arrowEndY,angle:R.tgtArrowAngle},{name:"mid-source",x:R.midX,y:R.midY,angle:R.midsrcArrowAngle},{name:"mid-target",x:R.midX,y:R.midY,angle:R.midtgtArrowAngle}],P=0;P<$.length;P++){var V=$[P],K=a.arrowShapes[C.pstyle(V.name+"-arrow-shape").value],ee=C.pstyle("width").pfValue;if(K.roughCollide(t,e,G,V.angle,{x:V.x,y:V.y},ee,f)&&K.collide(t,e,G,V.angle,{x:V.x,y:V.y},ee,f))return v(C),!0}h&&l.length>0&&(x(B),x(F))}o(b,"checkEdge");function T(C,D,R){return ho(C,D,R)}o(T,"preprop");function E(C,D){var R=C._private,O=p,L;D?L=D+"-":L="",C.boundingBox();var S=R.labelBounds[D||"main"],A=C.pstyle(L+"label").value,_=C.pstyle("text-events").strValue==="yes";if(!(!_||!A)){var N=T(R.rscratch,"labelX",D),M=T(R.rscratch,"labelY",D),P=T(R.rscratch,"labelAngle",D),B=C.pstyle(L+"text-margin-x").pfValue,F=C.pstyle(L+"text-margin-y").pfValue,G=S.x1-O-B,$=S.x2+O-B,V=S.y1-O-F,K=S.y2+O-F;if(P){var ee=Math.cos(P),H=Math.sin(P),he=o(function(le,J){return le=le-N,J=J-M,{x:le*ee-J*H+N,y:le*H+J*ee+M}},"rotate"),Z=he(G,V),de=he(G,K),re=he($,V),ne=he($,K),te=[Z.x+B,Z.y+F,re.x+B,re.y+F,ne.x+B,ne.y+F,de.x+B,de.y+F];if(fo(t,e,te))return v(C),!0}else if(hd(S,t,e))return v(C),!0}}o(E,"checkLabel");for(var w=s.length-1;w>=0;w--){var k=s[w];k.isNode()?x(k)||E(k):b(k)||E(k)||E(k,"source")||E(k,"target")}return l};V0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,l=[],u=Math.min(t,r),h=Math.max(t,r),f=Math.min(e,n),d=Math.max(e,n);t=u,r=h,e=f,n=d;var p=Ls({x1:t,y1:e,x2:r,y2:n}),m=[{x:p.x1,y:p.y1},{x:p.x2,y:p.y1},{x:p.x2,y:p.y2},{x:p.x1,y:p.y2}],g=[[m[0],m[1]],[m[1],m[2]],[m[2],m[3]],[m[3],m[0]]];function y(le,J,ge){return ho(le,J,ge)}o(y,"preprop");function v(le,J){var ge=le._private,ie=s,Te="";le.boundingBox();var j=ge.labelBounds.main;if(!j)return null;var Ge=y(ge.rscratch,"labelX",J),ye=y(ge.rscratch,"labelY",J),$e=y(ge.rscratch,"labelAngle",J),Xe=le.pstyle(Te+"text-margin-x").pfValue,Ue=le.pstyle(Te+"text-margin-y").pfValue,Le=j.x1-ie-Xe,Ie=j.x2+ie-Xe,Me=j.y1-ie-Ue,Ae=j.y2+ie-Ue;if($e){var ze=Math.cos($e),Y=Math.sin($e),ce=o(function(ue,z){return ue=ue-Ge,z=z-ye,{x:ue*ze-z*Y+Ge,y:ue*Y+z*ze+ye}},"rotate");return[ce(Le,Me),ce(Ie,Me),ce(Ie,Ae),ce(Le,Ae)]}else return[{x:Le,y:Me},{x:Ie,y:Me},{x:Ie,y:Ae},{x:Le,y:Ae}]}o(v,"getRotatedLabelBox");function x(le,J,ge,ie){function Te(j,Ge,ye){return(ye.y-j.y)*(Ge.x-j.x)>(Ge.y-j.y)*(ye.x-j.x)}return o(Te,"ccw"),Te(le,ge,ie)!==Te(J,ge,ie)&&Te(le,J,ge)!==Te(le,J,ie)}o(x,"doLinesIntersect");for(var b=0;b0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),kQe=o(function(e,r,n,i,a){if(e!==Cpe?Ape(r,e,vu):wQe(Sl,vu),Ape(r,n,Sl),Spe=vu.nx*Sl.ny-vu.ny*Sl.nx,Epe=vu.nx*Sl.nx-vu.ny*-Sl.ny,Ah=Math.asin(Math.max(-1,Math.min(1,Spe))),Math.abs(Ah)<1e-6){DP=r.x,RP=r.y,M0=I1=0;return}O0=1,DE=!1,Epe<0?Ah<0?Ah=Math.PI+Ah:(Ah=Math.PI-Ah,O0=-1,DE=!0):Ah>0&&(O0=-1,DE=!0),r.radius!==void 0?I1=r.radius:I1=i,D0=Ah/2,vE=Math.min(vu.len/2,Sl.len/2),a?(gu=Math.abs(Math.cos(D0)*I1/Math.sin(D0)),gu>vE?(gu=vE,M0=Math.abs(gu*Math.sin(D0)/Math.cos(D0))):M0=I1):(gu=Math.min(vE,I1),M0=Math.abs(gu*Math.sin(D0)/Math.cos(D0))),LP=r.x+Sl.nx*gu,NP=r.y+Sl.ny*gu,DP=LP-Sl.ny*M0*O0,RP=NP+Sl.nx*M0*O0,lme=r.x+vu.nx*gu,cme=r.y+vu.ny*gu,Cpe=r},"calcCornerArc");o(ume,"drawPreparedRoundCorner");o(aB,"getRoundCorner");Bb=.01,SQe=Math.sqrt(2*Bb),as={};as.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(w,k,C,D){var R=D-k,O=C-w,L=Math.sqrt(O*O+R*R);return{x:-R/L,y:O/L}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=Vi(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Vi(y,2),x=v[0],b=v[1],T={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=T}else bn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};as.findHaystackPoints=function(t){for(var e=0;e0?Math.max(z-se,0):Math.min(z+se,0)},"subDWH"),A=S(O,D),_=S(L,R),N=!1;b===h?x=Math.abs(A)>Math.abs(_)?i:n:b===u||b===l?(x=n,N=!0):(b===a||b===s)&&(x=i,N=!0);var M=x===n,P=M?_:A,B=M?L:O,F=HP(B),G=!1;!(N&&(E||k))&&(b===l&&B<0||b===u&&B>0||b===a&&B>0||b===s&&B<0)&&(F*=-1,P=F*Math.abs(P),G=!0);var $;if(E){var V=w<0?1+w:w;$=V*P}else{var K=w<0?P:0;$=K+w*F}var ee=o(function(z){return Math.abs(z)=Math.abs(P)},"getIsTooClose"),H=ee($),he=ee(Math.abs(P)-Math.abs($)),Z=H||he;if(Z&&!G)if(M){var de=Math.abs(B)<=p/2,re=Math.abs(O)<=m/2;if(de){var ne=(f.x1+f.x2)/2,te=f.y1,Q=f.y2;r.segpts=[ne,te,ne,Q]}else if(re){var le=(f.y1+f.y2)/2,J=f.x1,ge=f.x2;r.segpts=[J,le,ge,le]}else r.segpts=[f.x1,f.y2]}else{var ie=Math.abs(B)<=d/2,Te=Math.abs(L)<=g/2;if(ie){var j=(f.y1+f.y2)/2,Ge=f.x1,ye=f.x2;r.segpts=[Ge,j,ye,j]}else if(Te){var $e=(f.x1+f.x2)/2,Xe=f.y1,Ue=f.y2;r.segpts=[$e,Xe,$e,Ue]}else r.segpts=[f.x2,f.y1]}else if(M){var Le=f.y1+$+(v?p/2*F:0),Ie=f.x1,Me=f.x2;r.segpts=[Ie,Le,Me,Le]}else{var Ae=f.x1+$+(v?d/2*F:0),ze=f.y1,Y=f.y2;r.segpts=[Ae,ze,Ae,Y]}if(r.isRound){var ce=t.pstyle("taxi-radius").value,U=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(ce),r.isArcRadius=new Array(r.segpts.length/2).fill(U)}};as.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!Rt(r.startX)||!Rt(r.startY),v=!Rt(r.arrowStartX)||!Rt(r.arrowStartY),x=!Rt(r.endX)||!Rt(r.endY),b=!Rt(r.arrowEndX)||!Rt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,w=T*E,k=F0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),C=kB.poolIndex()){var F=P;P=B,B=F}var G=A.srcPos=P.position(),$=A.tgtPos=B.position(),V=A.srcW=P.outerWidth(),K=A.srcH=P.outerHeight(),ee=A.tgtW=B.outerWidth(),H=A.tgtH=B.outerHeight(),he=A.srcShape=r.nodeShapes[e.getNodeShape(P)],Z=A.tgtShape=r.nodeShapes[e.getNodeShape(B)],de=A.srcCornerRadius=P.pstyle("corner-radius").value==="auto"?"auto":P.pstyle("corner-radius").pfValue,re=A.tgtCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,ne=A.tgtRs=B._private.rscratch,te=A.srcRs=P._private.rscratch;A.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Q=0;Q=SQe||(Me=Math.sqrt(Math.max(Ie*Ie,Bb)+Math.max(Le*Le,Bb)));var Ae=A.vector={x:Ie,y:Le},ze=A.vectorNorm={x:Ae.x/Me,y:Ae.y/Me},Y={x:-ze.y,y:ze.x};A.nodesOverlap=!Rt(Me)||Z.checkPoint(j[0],j[1],0,ee,H,$.x,$.y,re,ne)||he.checkPoint(ye[0],ye[1],0,V,K,G.x,G.y,de,te),A.vectorNormInverse=Y,_={nodesOverlap:A.nodesOverlap,dirCounts:A.dirCounts,calculatedIntersection:!0,hasBezier:A.hasBezier,hasUnbundled:A.hasUnbundled,eles:A.eles,srcPos:$,srcRs:ne,tgtPos:G,tgtRs:te,srcW:ee,srcH:H,tgtW:V,tgtH:K,srcIntn:$e,tgtIntn:Ge,srcShape:Z,tgtShape:he,posPts:{x1:Ue.x2,y1:Ue.y2,x2:Ue.x1,y2:Ue.y1},intersectionPts:{x1:Xe.x2,y1:Xe.y2,x2:Xe.x1,y2:Xe.y1},vector:{x:-Ae.x,y:-Ae.y},vectorNorm:{x:-ze.x,y:-ze.y},vectorNormInverse:{x:-Y.x,y:-Y.y}}}var ce=Te?_:A;J.nodesOverlap=ce.nodesOverlap,J.srcIntn=ce.srcIntn,J.tgtIntn=ce.tgtIntn,J.isRound=ge.startsWith("round"),i&&(P.isParent()||P.isChild()||B.isParent()||B.isChild())&&(P.parents().anySame(B)||B.parents().anySame(P)||P.same(B)&&P.isParent())?e.findCompoundLoopPoints(le,ce,Q,ie):P===B?e.findLoopPoints(le,ce,Q,ie):ge.endsWith("segments")?e.findSegmentsPoints(le,ce):ge.endsWith("taxi")?e.findTaxiPoints(le,ce):ge==="straight"||!ie&&A.eles.length%2===1&&Q===Math.floor(A.eles.length/2)?e.findStraightEdgePoints(le):e.findBezierPoints(le,ce,Q,ie,Te),e.findEndpoints(le),e.tryToCorrectInvalidPoints(le,ce),e.checkForInvalidEdgeWarning(le),e.storeAllpts(le),e.storeEdgeProjections(le),e.calculateArrowAngles(le),e.recalculateEdgeLabelProjections(le),e.calculateLabelAngles(le)}},"_loop"),C=0;C0){var j=h,Ge=N0(j,F1(s)),ye=N0(j,F1(Te)),$e=Ge;if(ye2){var Xe=N0(j,{x:Te[2],y:Te[3]});Xe<$e&&(s=[Te[2],Te[3]])}}}var Ue=hE(s,B,a.arrowShapes[d].spacing(t)+m),Le=hE(s,B,a.arrowShapes[d].gap(t)+m);if(b.endX=Le[0],b.endY=Le[1],b.arrowEndX=Ue[0],b.arrowEndY=Ue[1],A==="inside-to-node")s=[h.x,h.y];else if(S.units)s=this.manualEndptToPx(l,S);else if(A==="outside-to-line")s=b.srcIntn;else if(A==="outside-to-node"||A==="outside-to-node-or-label"?$=F:(A==="outside-to-line"||A==="outside-to-line-or-label")&&($=[f.x,f.y]),s=a.nodeShapes[this.getNodeShape(l)].intersectLine(h.x,h.y,l.outerWidth(),l.outerHeight(),$[0],$[1],0,_,y),A==="outside-to-node-or-label"||A==="outside-to-line-or-label"){var Ie=l._private.rscratch,Me=Ie.labelWidth,Ae=Ie.labelHeight,ze=Ie.labelX,Y=Ie.labelY,ce=Me/2,U=Ae/2,ue=l.pstyle("text-valign").value;ue==="top"?Y-=U:ue==="bottom"&&(Y+=U);var z=l.pstyle("text-halign").value;z==="left"?ze-=ce:z==="right"&&(ze+=ce);var se=Nb($[0],$[1],[ze-ce,Y-U,ze+ce,Y-U,ze+ce,Y+U,ze-ce,Y+U],h.x,h.y);if(se.length>0){var oe=f,be=N0(oe,F1(s)),pe=N0(oe,F1(se)),me=be;if(pe2){var De=N0(oe,{x:se[2],y:se[3]});De=g||C){v={cp:E,segment:k};break}}if(v)break}var D=v.cp,R=v.segment,O=(g-x)/R.length,L=R.t1-R.t0,S=m?R.t0+L*O:R.t1-L*O;S=Lb(0,S,1),e=G1(D.p0,D.p1,D.p2,S),p=CQe(D.p0,D.p1,D.p2,S);break}case"straight":case"segments":case"haystack":{for(var A=0,_,N,M,P,B=n.allpts.length,F=0;F+3=g));F+=2);var G=g-N,$=G/_;$=Lb(0,$,1),e=jYe(M,P,$),p=dme(M,P);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};Tu.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Tu.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=B0(n,t._private.labelDimsKey);if(ho(r.rscratch,"prefixedLabelDimsKey",e)!==i){_h(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,l=t.pstyle("text-wrap").strValue,u=ho(r.rscratch,"labelWrapCachedLines",e)||[],h=l!=="wrap"?1:Math.max(u.length,1),f=a.height/h,d=f*s,p=a.width,m=a.height+(h-1)*(s-1)*f;_h(r.rstyle,"labelWidth",e,p),_h(r.rscratch,"labelWidth",e,p),_h(r.rstyle,"labelHeight",e,m),_h(r.rscratch,"labelHeight",e,m),_h(r.rscratch,"labelLineHeight",e,d)}};Tu.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(K,ee){return ee?(_h(r.rscratch,K,e,ee),ee):ho(r.rscratch,K,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=i.split(` -`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var w=x.matchAll(y),k="",C=0,D=po(w),R;try{for(D.s();!(R=D.n()).done;){var O=R.value,L=O[0],S=x.substring(C,O.index);C=O.index+L.length;var A=k.length===0?S:k+S+L,_=this.calculateLabelDimensions(t,A),N=_.width;N<=d?k+=S+L:(k&&g.push(k),k=S+L)}}catch(V){D.e(V)}finally{D.f()}k.match(/^[\s\u200b]+$/)||g.push(k)}else g.push(x)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(` -`)),s("labelWrapKey",u)}else if(l==="ellipsis"){var M=t.pstyle("text-max-width").pfValue,P="",B="\u2026",F=!1;if(this.calculateLabelDimensions(t,i).widthM)break;P+=i[G],G===i.length-1&&(F=!0)}return F||(P+=B),P}return i};Tu.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Tu.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,u=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,f=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!f){f=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=f.getContext("2d");var p=f.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}d.font="".concat(s," ").concat(h," ").concat(l,"px ").concat(u);for(var m=0,g=0,y=e.split(` -`),v=0;v1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var wt=a(z);ut&&(t.hoverData.tapholdCancelled=!0);var St=o(function(){var _e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];_e.length===0?(_e.push(rt[0]),_e.push(rt[1])):(_e[0]+=rt[0],_e[1]+=rt[1])},"updateDragDelta");oe=!0,i(xt,["mousemove","vmousemove","tapdrag"],z,{x:De[0],y:De[1]});var bt=o(function(_e){return{originalEvent:z,type:_e,position:{x:De[0],y:De[1]}}},"makeEvent"),pt=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||be.emit(bt("boxstart")),Ye[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(ut){var Zr=bt("cxtdrag");Pe?Pe.emit(Zr):be.emit(Zr),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||xt!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(bt("cxtdragout")),t.hoverData.cxtOver=xt,xt&&xt.emit(bt("cxtdragover")))}}else if(t.hoverData.dragging){if(oe=!0,be.panningEnabled()&&be.userPanningEnabled()){var Lt;if(t.hoverData.justStartedPan){var Dn=t.hoverData.mdownPos;Lt={x:(De[0]-Dn[0])*pe,y:(De[1]-Dn[1])*pe},t.hoverData.justStartedPan=!1}else Lt={x:rt[0]*pe,y:rt[1]*pe};be.panBy(Lt),be.emit(bt("dragpan")),t.hoverData.dragged=!0}De=t.projectIntoViewport(z.clientX,z.clientY)}else if(Ye[4]==1&&(Pe==null||Pe.pannable())){if(ut){if(!t.hoverData.dragging&&be.boxSelectionEnabled()&&(wt||!be.panningEnabled()||!be.userPanningEnabled()))pt();else if(!t.hoverData.selecting&&be.panningEnabled()&&be.userPanningEnabled()){var Hr=s(Pe,t.hoverData.downs);Hr&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Ye[4]=0,t.data.bgActivePosistion=F1(Ce),t.redrawHint("select",!0),t.redraw())}Pe&&Pe.pannable()&&Pe.active()&&Pe.unactivate()}}else{if(Pe&&Pe.pannable()&&Pe.active()&&Pe.unactivate(),(!Pe||!Pe.grabbed())&&xt!=je&&(je&&i(je,["mouseout","tapdragout"],z,{x:De[0],y:De[1]}),xt&&i(xt,["mouseover","tapdragover"],z,{x:De[0],y:De[1]}),t.hoverData.last=xt),Pe)if(ut){if(be.boxSelectionEnabled()&&wt)Pe&&Pe.grabbed()&&(x(We),Pe.emit(bt("freeon")),We.emit(bt("free")),t.dragData.didDrag&&(Pe.emit(bt("dragfreeon")),We.emit(bt("dragfree")))),pt();else if(Pe&&Pe.grabbed()&&t.nodeIsDraggable(Pe)){var mr=!t.dragData.didDrag;mr&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||y(We,{inDragLayer:!0});var hr={x:0,y:0};if(Rt(rt[0])&&Rt(rt[1])&&(hr.x+=rt[0],hr.y+=rt[1],mr)){var Br=t.hoverData.dragDelta;Br&&Rt(Br[0])&&Rt(Br[1])&&(hr.x+=Br[0],hr.y+=Br[1])}t.hoverData.draggingEles=!0,We.silentShift(hr).emit(bt("position")).emit(bt("drag")),t.redrawHint("drag",!0),t.redraw()}}else St();oe=!0}if(Ye[2]=De[0],Ye[3]=De[1],oe)return z.stopPropagation&&z.stopPropagation(),z.preventDefault&&z.preventDefault(),!1}},"mousemoveHandler"),!1);var S,A,_;t.registerBinding(e,"mouseup",o(function(z){if(!(t.hoverData.which===1&&z.which!==1&&t.hoverData.capture)){var se=t.hoverData.capture;if(se){t.hoverData.capture=!1;var oe=t.cy,be=t.projectIntoViewport(z.clientX,z.clientY),pe=t.selection,me=t.findNearestElement(be[0],be[1],!0,!1),De=t.dragData.possibleDragElements,Ce=t.hoverData.down,Fe=a(z);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,Ce&&Ce.unactivate();var Ye=o(function(Ut){return{originalEvent:z,type:Ut,position:{x:be[0],y:be[1]}}},"makeEvent");if(t.hoverData.which===3){var xt=Ye("cxttapend");if(Ce?Ce.emit(xt):oe.emit(xt),!t.hoverData.cxtDragged){var je=Ye("cxttap");Ce?Ce.emit(je):oe.emit(je)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(me,["mouseup","tapend","vmouseup"],z,{x:be[0],y:be[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(Ce,["click","tap","vclick"],z,{x:be[0],y:be[1]}),A=!1,z.timeStamp-_<=oe.multiClickDebounceTime()?(S&&clearTimeout(S),A=!0,_=null,i(Ce,["dblclick","dbltap","vdblclick"],z,{x:be[0],y:be[1]})):(S=setTimeout(function(){A||i(Ce,["oneclick","onetap","voneclick"],z,{x:be[0],y:be[1]})},oe.multiClickDebounceTime()),_=z.timeStamp)),Ce==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(z)&&(oe.$(r).unselect(["tapunselect"]),De.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=De=oe.collection()),me==Ce&&!t.dragData.didDrag&&!t.hoverData.selecting&&me!=null&&me._private.selectable&&(t.hoverData.dragging||(oe.selectionType()==="additive"||Fe?me.selected()?me.unselect(["tapunselect"]):me.select(["tapselect"]):Fe||(oe.$(r).unmerge(me).unselect(["tapunselect"]),me.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Pe=oe.collection(t.getAllInBox(pe[0],pe[1],pe[2],pe[3]));t.redrawHint("select",!0),Pe.length>0&&t.redrawHint("eles",!0),oe.emit(Ye("boxend"));var rt=o(function(Ut){return Ut.selectable()&&!Ut.selected()},"eleWouldBeSelected");oe.selectionType()==="additive"||Fe||oe.$(r).unmerge(Pe).unselect(),Pe.emit(Ye("box")).stdFilter(rt).select().emit(Ye("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!pe[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var We=Ce&&Ce.grabbed();x(De),We&&(Ce.emit(Ye("freeon")),De.emit(Ye("free")),t.dragData.didDrag&&(Ce.emit(Ye("dragfreeon")),De.emit(Ye("dragfree"))))}}pe[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},"mouseupHandler"),!1);var N=[],M=4,P,B=1e5,F=o(function(z,se){for(var oe=0;oe=M){var be=N;if(P=F(be,5),!P){var pe=Math.abs(be[0]);P=G(be)&&pe>5}if(P)for(var me=0;me5&&(oe=HP(oe)*5),je=oe/-250,P&&(je/=B,je*=3),je=je*t.wheelSensitivity;var Pe=z.deltaMode===1;Pe&&(je*=33);var rt=De.zoom()*Math.pow(10,je);z.type==="gesturechange"&&(rt=t.gestureStartZoom*z.scale),De.zoom({level:rt,renderedPosition:{x:xt[0],y:xt[1]}}),De.emit({type:z.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:z,position:{x:Ye[0],y:Ye[1]}})}}}},"wheelHandler");t.registerBinding(t.container,"wheel",$,!0),t.registerBinding(e,"scroll",o(function(z){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(z){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||z.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(ue){t.hasTouchStarted||$(ue)},!0),t.registerBinding(t.container,"mouseout",o(function(z){var se=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseout",position:{x:se[0],y:se[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(z){var se=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseover",position:{x:se[0],y:se[1]}})},"mouseOverHandler"),!1);var V,K,ee,H,he,Z,de,re,ne,te,Q,le,J,ge=o(function(z,se,oe,be){return Math.sqrt((oe-z)*(oe-z)+(be-se)*(be-se))},"distance"),ie=o(function(z,se,oe,be){return(oe-z)*(oe-z)+(be-se)*(be-se)},"distanceSq"),Te;t.registerBinding(t.container,"touchstart",Te=o(function(z){if(t.hasTouchStarted=!0,!!O(z)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var se=t.cy,oe=t.touchData.now,be=t.touchData.earlier;if(z.touches[0]){var pe=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);oe[0]=pe[0],oe[1]=pe[1]}if(z.touches[1]){var pe=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);oe[2]=pe[0],oe[3]=pe[1]}if(z.touches[2]){var pe=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);oe[4]=pe[0],oe[5]=pe[1]}var me=o(function(wt){return{originalEvent:z,type:wt,position:{x:oe[0],y:oe[1]}}},"makeEvent");if(z.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var De=t.findContainerClientCoords();ne=De[0],te=De[1],Q=De[2],le=De[3],V=z.touches[0].clientX-ne,K=z.touches[0].clientY-te,ee=z.touches[1].clientX-ne,H=z.touches[1].clientY-te,J=0<=V&&V<=Q&&0<=ee&&ee<=Q&&0<=K&&K<=le&&0<=H&&H<=le;var Ce=se.pan(),Fe=se.zoom();he=ge(V,K,ee,H),Z=ie(V,K,ee,H),de=[(V+ee)/2,(K+H)/2],re=[(de[0]-Ce.x)/Fe,(de[1]-Ce.y)/Fe];var Ye=200,xt=Ye*Ye;if(Z=1){for(var Tt=t.touchData.startPosition=[null,null,null,null,null,null],Mt=0;Mt=t.touchTapThreshold2}if(se&&t.touchData.cxt){z.preventDefault();var Mt=z.touches[0].clientX-ne,mt=z.touches[0].clientY-te,at=z.touches[1].clientX-ne,wt=z.touches[1].clientY-te,St=ie(Mt,mt,at,wt),bt=St/Z,pt=150,Zr=pt*pt,Lt=1.5,Dn=Lt*Lt;if(bt>=Dn||St>=Zr){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Hr=Fe("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(Hr),t.touchData.start=null):be.emit(Hr)}}if(se&&t.touchData.cxt){var Hr=Fe("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Hr):be.emit(Hr),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var mr=t.findNearestElement(pe[0],pe[1],!0,!0);(!t.touchData.cxtOver||mr!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(Fe("cxtdragout")),t.touchData.cxtOver=mr,mr&&mr.emit(Fe("cxtdragover")))}else if(se&&z.touches[2]&&be.boxSelectionEnabled())z.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||be.emit(Fe("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,oe[4]=1,!oe||oe.length===0||oe[0]===void 0?(oe[0]=(pe[0]+pe[2]+pe[4])/3,oe[1]=(pe[1]+pe[3]+pe[5])/3,oe[2]=(pe[0]+pe[2]+pe[4])/3+1,oe[3]=(pe[1]+pe[3]+pe[5])/3+1):(oe[2]=(pe[0]+pe[2]+pe[4])/3,oe[3]=(pe[1]+pe[3]+pe[5])/3),t.redrawHint("select",!0),t.redraw();else if(se&&z.touches[1]&&!t.touchData.didSelect&&be.zoomingEnabled()&&be.panningEnabled()&&be.userZoomingEnabled()&&be.userPanningEnabled()){z.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var hr=t.dragData.touchDragEles;if(hr){t.redrawHint("drag",!0);for(var Br=0;Br0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var Ge;t.registerBinding(e,"touchcancel",Ge=o(function(z){var se=t.touchData.start;t.touchData.capture=!1,se&&se.unactivate()},"touchcancelHandler"));var ye,$e,Xe,Ue;if(t.registerBinding(e,"touchend",ye=o(function(z){var se=t.touchData.start,oe=t.touchData.capture;if(oe)z.touches.length===0&&(t.touchData.capture=!1),z.preventDefault();else return;var be=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var pe=t.cy,me=pe.zoom(),De=t.touchData.now,Ce=t.touchData.earlier;if(z.touches[0]){var Fe=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);De[0]=Fe[0],De[1]=Fe[1]}if(z.touches[1]){var Fe=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);De[2]=Fe[0],De[3]=Fe[1]}if(z.touches[2]){var Fe=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);De[4]=Fe[0],De[5]=Fe[1]}var Ye=o(function(Zr){return{originalEvent:z,type:Zr,position:{x:De[0],y:De[1]}}},"makeEvent");se&&se.unactivate();var xt;if(t.touchData.cxt){if(xt=Ye("cxttapend"),se?se.emit(xt):pe.emit(xt),!t.touchData.cxtDragged){var je=Ye("cxttap");se?se.emit(je):pe.emit(je)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!z.touches[2]&&pe.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Pe=pe.collection(t.getAllInBox(be[0],be[1],be[2],be[3]));be[0]=void 0,be[1]=void 0,be[2]=void 0,be[3]=void 0,be[4]=0,t.redrawHint("select",!0),pe.emit(Ye("boxend"));var rt=o(function(Zr){return Zr.selectable()&&!Zr.selected()},"eleWouldBeSelected");Pe.emit(Ye("box")).stdFilter(rt).select().emit(Ye("boxselect")),Pe.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(se?.unactivate(),z.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!z.touches[1]){if(!z.touches[0]){if(!z.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var We=t.dragData.touchDragEles;if(se!=null){var ut=se._private.grabbed;x(We),t.redrawHint("drag",!0),t.redrawHint("eles",!0),ut&&(se.emit(Ye("freeon")),We.emit(Ye("free")),t.dragData.didDrag&&(se.emit(Ye("dragfreeon")),We.emit(Ye("dragfree")))),i(se,["touchend","tapend","vmouseup","tapdragout"],z,{x:De[0],y:De[1]}),se.unactivate(),t.touchData.start=null}else{var Ut=t.findNearestElement(De[0],De[1],!0,!0);i(Ut,["touchend","tapend","vmouseup","tapdragout"],z,{x:De[0],y:De[1]})}var Tt=t.touchData.startPosition[0]-De[0],Mt=Tt*Tt,mt=t.touchData.startPosition[1]-De[1],at=mt*mt,wt=Mt+at,St=wt*me*me;t.touchData.singleTouchMoved||(se||pe.$(":selected").unselect(["tapunselect"]),i(se,["tap","vclick"],z,{x:De[0],y:De[1]}),$e=!1,z.timeStamp-Ue<=pe.multiClickDebounceTime()?(Xe&&clearTimeout(Xe),$e=!0,Ue=null,i(se,["dbltap","vdblclick"],z,{x:De[0],y:De[1]})):(Xe=setTimeout(function(){$e||i(se,["onetap","voneclick"],z,{x:De[0],y:De[1]})},pe.multiClickDebounceTime()),Ue=z.timeStamp)),se!=null&&!t.dragData.didDrag&&se._private.selectable&&St"u"){var Le=[],Ie=o(function(z){return{clientX:z.clientX,clientY:z.clientY,force:1,identifier:z.pointerId,pageX:z.pageX,pageY:z.pageY,radiusX:z.width/2,radiusY:z.height/2,screenX:z.screenX,screenY:z.screenY,target:z.target}},"makeTouch"),Me=o(function(z){return{event:z,touch:Ie(z)}},"makePointer"),Ae=o(function(z){Le.push(Me(z))},"addPointer"),ze=o(function(z){for(var se=0;se0)return V[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:m0e(a,s,e,r,n,i,l,u)},"intersectLine"),checkPoint:o(function(e,r,n,i,a,s,l,u){u=u==="auto"?yd(i,a):u;var h=2*u;if(Lh(e,r,this.points,s,l,i,a-h,[0,-1],n)||Lh(e,r,this.points,s,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(fo(e,r,p)||P0(e,r,h,h,s+i/2-u,l+a/2-u,n)||P0(e,r,h,h,s-i/2+u,l+a/2-u,n))},"checkPoint")}};Nh.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Rs(3,0)),this.generateRoundPolygon("round-triangle",Rs(3,0)),this.generatePolygon("rectangle",Rs(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Rs(5,0)),this.generateRoundPolygon("round-pentagon",Rs(5,0)),this.generatePolygon("hexagon",Rs(6,0)),this.generateRoundPolygon("round-hexagon",Rs(6,0)),this.generatePolygon("heptagon",Rs(7,0)),this.generateRoundPolygon("round-heptagon",Rs(7,0)),this.generatePolygon("octagon",Rs(8,0)),this.generateRoundPolygon("round-octagon",Rs(8,0));var n=new Array(20);{var i=xP(5,0),a=xP(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*E)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(T>=e.deqNoDrawCost*uP)break;var w=e.deq(n,v,y);if(w.length>0)for(var k=0;k0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||qP;i.beforeRender(s,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},_Qe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:OE;Td(this,t),this.idsByKey=new Dh,this.keyForId=new Dh,this.cachesByLvl=new Dh,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),wd(t,[{key:"getIdsFor",value:o(function(r){r==null&&si("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new j1,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Dh,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:o(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:o(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:o(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:o(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:o(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}])})(),Lpe=25,xE=50,RE=-4,MP=3,xme=7.99,DQe=8,RQe=1024,LQe=1024,NQe=1024,MQe=.2,IQe=.8,OQe=10,PQe=.15,BQe=.1,FQe=.9,$Qe=.9,zQe=100,GQe=1,z1={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},VQe=za({getKey:null,doesEleInvalidateKey:OE,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:l0e,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Sb=o(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=VQe(r);cr(n,i),n.lookup=new _Qe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),ta=Sb.prototype;ta.reasons=z1;ta.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ta.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ta.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Ub(function(r,n){return n.reqs-r.reqs});return e};ta.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ta.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(WP(l*r))),n=xme||n>MP)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=Lpe?g=Lpe:f<=xE?g=xE:g=Math.ceil(f/xE)*xE,f>NQe||d>LQe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;L--)R=a.getElement(t,e,r,L,z1.downscale);O()}else return a.queueElement(t,k.level-1),k;else{var S;if(!T&&!E&&!w)for(var A=n-1;A>=RE;A--){var _=u.get(t,A);if(_){S=_;break}}if(b(S))return a.queueElement(t,n),S;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+DQe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};ta.invalidateElements=function(t){for(var e=0;e=MQe*t.width&&this.retireTexture(t)};ta.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>IQe&&t.fullnessChecks>=OQe?gd(r,t):t.fullnessChecks++};ta.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;gd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,UP(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),gd(i,s),n.push(s),s}};ta.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};ta.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,z1.dequeue)}return i};ta.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=VP,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ta.onDequeue=function(t){this.onDequeues.push(t)};ta.offDequeue=function(t){gd(this.onDequeues,t)};ta.setupDequeueing=vme.setupDequeueing({deqRedrawThreshold:zQe,deqCost:PQe,deqAvgCost:BQe,deqNoDrawCost:FQe,deqFastCost:$Qe,deq:o(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:o(function(e,r){for(var n=0;n=UQe||r>qE)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=o(function(){var O=o(function(N){if(n.validateLayersElesOrdering(N,t),n.levelIsComplete(N,t))return m=u[N],!0},"canUseAsTmpLvl"),L=o(function(N){if(!m)for(var M=r+N;Cb<=M&&M<=qE&&!O(M);M+=N);},"checkLvls");L(1),L(-1);for(var S=f.length-1;S>=0;S--){var A=f[S];A.invalid&&gd(f,A)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=Ls();for(var O=0;OMpe||A>Mpe)return null;var _=S*A;if(_>ZQe)return null;var N=n.makeLayer(d,r);if(L!=null){var M=f.indexOf(L)+1;f.splice(M,0,N)}else(O.insert===void 0||O.insert)&&f.unshift(N);return N},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/qQe,T=!l,E=0;E=b||!p0e(x.bb,w.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||T?n.queueLayer(x,w):n.drawEleInLayer(x,w,r,e),x.eles.push(w),C[r]=x}return m||(T?null:f)};Ga.getEleLevelForLayerLevel=function(t,e){return t};Ga.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,JQe),a.setImgSmoothing(s,!0))};Ga.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ga.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ga.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Rh(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};Ga.invalidateLayer=function(t){if(this.lastInvalidationTime=Rh(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];gd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,T=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,N),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,N),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),E=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],N);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),w=o(function(){i&&s.drawEdgeOverlay(t,e)},"drawOverlay"),k=o(function(){i&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),C=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,N)},"drawArrows"),D=o(function(){s.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var R=e.pstyle("ghost").value==="yes";if(R){var O=e.pstyle("ghost-offset-x").pfValue,L=e.pstyle("ghost-offset-y").pfValue,S=e.pstyle("ghost-opacity").value,A=x*S;t.translate(O,L),T(A),C(A),t.translate(-O,-L)}else E();k(),T(),C(),w(),D(),r&&t.translate(u.x1,u.y1)}};wme=o(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");Mh.drawEdgeOverlay=wme("overlay");Mh.drawEdgeUnderlay=wme("underlay");Mh.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(s=e=i.pathCache,l=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(uZe,"circle");o(Bpe,"roundRect");q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var l=ho(i,"labelAngle",e);r=t.isEdge()?l:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=ho(s,"labelX",r),h=ho(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=ho(s,"labelWidth",r),y=ho(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;b&&(T="center",E="center"),u+=v,h+=x;var w;switch(n?w=this.getTextAngle(e,r):w=0,w!==0&&(f=u,d=h,t.translate(f,d),t.rotate(w),u=0,h=0),E){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var k=e.pstyle("text-background-opacity").value,C=e.pstyle("text-border-opacity").value,D=e.pstyle("text-border-width").pfValue,R=e.pstyle("text-background-padding").pfValue,O=e.pstyle("text-background-shape").strValue,L=O==="round-rectangle"||O==="roundrectangle",S=O==="circle",A=2;if(k>0||D>0&&C>0){var _=t.fillStyle,N=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-background-color").value,B=e.pstyle("text-border-color").value,F=e.pstyle("text-border-style").value,G=k>0,$=D>0&&C>0,V=u-R;switch(T){case"left":V-=g;break;case"center":V-=g/2;break}var K=h-y-R,ee=g+2*R,H=y+2*R;if(G&&(t.fillStyle="rgba(".concat(P[0],",").concat(P[1],",").concat(P[2],",").concat(k*l,")")),$&&(t.strokeStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(C*l,")"),t.lineWidth=D,t.setLineDash))switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=D/4,t.setLineDash([]);break;case"solid":default:t.setLineDash([]);break}if(L?(t.beginPath(),Bpe(t,V,K,ee,H,A)):S?(t.beginPath(),uZe(t,V,K,ee,H)):(t.beginPath(),t.rect(V,K,ee,H)),G&&t.fill(),$&&t.stroke(),$&&F==="double"){var he=D/2;t.beginPath(),L?Bpe(t,V+he,K+he,ee-2*he,H-2*he,A):t.rect(V+he,K+he,ee-2*he,H-2*he),t.stroke()}t.fillStyle=_,t.strokeStyle=N,t.lineWidth=M,t.setLineDash&&t.setLineDash([])}var Z=2*e.pstyle("text-outline-width").pfValue;if(Z>0&&(t.lineWidth=Z),e.pstyle("text-wrap").value==="wrap"){var de=ho(s,"labelWrapCachedLines",r),re=ho(s,"labelLineHeight",r),ne=g/2,te=this.getLabelJustification(e);switch(te==="auto"||(T==="left"?te==="left"?u+=-g:te==="center"&&(u+=-ne):T==="center"?te==="left"?u+=-ne:te==="right"&&(u+=ne):T==="right"&&(te==="center"?u+=ne:te==="right"&&(u+=g))),E){case"top":h-=(de.length-1)*re;break;case"center":case"bottom":h-=(de.length-1)*re;break}for(var Q=0;Q0&&t.strokeText(de[Q],u,h),t.fillText(de[Q],u,h),h+=re}else Z>0&&t.strokeText(p,u,h),t.fillText(p,u,h);w!==0&&(t.rotate(-w),t.translate(-f,-d))}}};Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!Rt(d.x)||!Rt(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),T=b.value,E=new Array(T.length),w=new Array(T.length),k=0,C=0;C0&&arguments[0]!==void 0?arguments[0]:A;s.eleFillStyle(t,e,U)},"setupShapeColor"),re=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;s.colorStrokeStyle(t,_[0],_[1],_[2],U)},"setupBorderColor"),ne=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H;s.colorStrokeStyle(t,K[0],K[1],K[2],U)},"setupOutlineColor"),te=o(function(U,ue,z,se){var oe=s.nodePathCache=s.nodePathCache||[],be=o0e(z==="polygon"?z+","+se.join(","):z,""+ue,""+U,""+Z),pe=oe[be],me,De=!1;return pe!=null?(me=pe,De=!0,f.pathCache=me):(me=new Path2D,oe[be]=f.pathCache=me),{path:me,cacheHit:De}},"getPath"),Q=e.pstyle("shape").strValue,le=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var J=te(l,u,Q,le);g=J.path,y=J.cacheHit}var ge=o(function(){if(!y){var U=d;m&&(U={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,U.x,U.y,l,u,Z,f)}m?t.fill(g):t.fill()},"drawShape"),ie=o(function(){for(var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,z=h.backgrounding,se=0,oe=0;oe0&&arguments[0]!==void 0?arguments[0]:!1,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,ue),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Z,f)))},"drawPie"),j=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasStripe(e)&&(t.save(),m?t.clip(f.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Z,f),t.clip()),s.drawStripe(t,e,ue),t.restore(),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Z,f)))},"drawStripe"),Ge=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ue=(L>0?L:-L)*U,z=L>0?0:255;L!==0&&(s.colorFillStyle(t,z,z,z,ue),m?t.fill(g):t.fill())},"darken"),ye=o(function(){if(S>0){if(t.lineWidth=S,t.lineCap=P,t.lineJoin=M,t.setLineDash)switch(N){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(F),t.lineDashOffset=G;break;case"solid":case"double":t.setLineDash([]);break}if(B!=="center"){if(t.save(),t.lineWidth*=2,B==="inside")m?t.clip(g):t.clip();else{var U=new Path2D;U.rect(-l/2-S,-u/2-S,l+2*S,u+2*S),U.addPath(g),t.clip(U,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(N==="double"){t.lineWidth=S/3;var ue=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=ue}t.setLineDash&&t.setLineDash([])}},"drawBorder"),$e=o(function(){if(V>0){if(t.lineWidth=V,t.lineCap="butt",t.setLineDash)switch(ee){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var U=d;m&&(U={x:0,y:0});var ue=s.getNodeShape(e),z=S;B==="inside"&&(z=0),B==="outside"&&(z*=2);var se=(l+z+(V+he))/l,oe=(u+z+(V+he))/u,be=l*se,pe=u*oe,me=s.nodeShapes[ue].points,De;if(m){var Ce=te(be,pe,ue,me);De=Ce.path}if(ue==="ellipse")s.drawEllipsePath(De||t,U.x,U.y,be,pe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ue)){var Fe=0,Ye=0,xt=0;ue==="round-diamond"?Fe=(z+he+V)*1.4:ue==="round-heptagon"?(Fe=(z+he+V)*1.075,xt=-(z/2+he+V)/35):ue==="round-hexagon"?Fe=(z+he+V)*1.12:ue==="round-pentagon"?(Fe=(z+he+V)*1.13,xt=-(z/2+he+V)/15):ue==="round-tag"?(Fe=(z+he+V)*1.12,Ye=(z/2+V+he)*.07):ue==="round-triangle"&&(Fe=(z+he+V)*(Math.PI/2),xt=-(z+he/2+V)/Math.PI),Fe!==0&&(se=(l+Fe)/l,be=l*se,["round-hexagon","round-tag"].includes(ue)||(oe=(u+Fe)/u,pe=u*oe)),Z=Z==="auto"?y0e(be,pe):Z;for(var je=be/2,Pe=pe/2,rt=Z+(z+V+he)/2,We=new Array(me.length/2),ut=new Array(me.length/2),Ut=0;Ut0){if(i=i||n.position(),a==null||s==null){var m=n.padding();a=n.width()+2*m,s=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");Sd.drawNodeOverlay=kme("overlay");Sd.drawNodeUnderlay=kme("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),l=e.pstyle("pie-start-angle").pfValue,u=n.x,h=n.y,f=e.width(),d=e.height(),p=Math.min(f,d)/2,m,g=0,y=this.usePaths();if(y&&(u=0,h=0),a.units==="%"?p=p*a.pfValue:a.pfValue!==void 0&&(p=a.pfValue/2),s.units==="%"?m=p*s.pfValue:s.pfValue!==void 0&&(m=s.pfValue/2),!(m>=p))for(var v=1;v<=i.pieBackgroundN;v++){var x=e.pstyle("pie-"+v+"-background-size").value,b=e.pstyle("pie-"+v+"-background-color").value,T=e.pstyle("pie-"+v+"-background-opacity").value*r,E=x/100;E+g>1&&(E=1-g);var w=1.5*Math.PI+2*Math.PI*g;w+=l;var k=2*Math.PI*E,C=w+k;x===0||g>=1||g+E>1||(m===0?(t.beginPath(),t.moveTo(u,h),t.arc(u,h,p,w,C),t.closePath()):(t.beginPath(),t.arc(u,h,p,w,C),t.arc(u,h,m,C,w,!0),t.closePath()),this.colorFillStyle(t,b[0],b[1],b[2],T),t.fill(),g+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,l=e.width(),u=e.height(),h=0,f=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,p=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var m=l,g=u;p.units==="%"?(m=m*p.pfValue,g=g*p.pfValue):p.pfValue!==void 0&&(m=p.pfValue,g=p.pfValue),f&&(a=0,s=0),s-=m/2,a-=g/2;for(var y=1;y<=i.stripeBackgroundN;y++){var v=e.pstyle("stripe-"+y+"-background-size").value,x=e.pstyle("stripe-"+y+"-background-color").value,b=e.pstyle("stripe-"+y+"-background-opacity").value*r,T=v/100;T+h>1&&(T=1-h),!(v===0||h>=1||h+T>1)&&(t.beginPath(),t.rect(a,s+g*h,m,g*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],b),t.fill(),h+=T)}t.restore()};Ns={},hZe=100;Ns.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};Ns.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(f[e.NODE]=!0,f[e.SELECT_BOX]=!0);var b=r.style(),T=r.zoom(),E=s!==void 0?s:T,w=r.pan(),k={x:w.x,y:w.y},C={zoom:T,pan:{x:w.x,y:w.y}},D=e.prevViewport,R=D===void 0||C.zoom!==D.zoom||C.pan.x!==D.pan.x||C.pan.y!==D.pan.y;!R&&!(y&&!g)&&(e.motionBlurPxRatio=1),l&&(k=l),E*=u,k.x*=u,k.y*=u;var O=e.getCachedZSortedEles();function L(re,ne,te,Q,le){var J=re.globalCompositeOperation;re.globalCompositeOperation="destination-out",e.colorFillStyle(re,255,255,255,e.motionBlurTransparency),re.fillRect(ne,te,Q,le),re.globalCompositeOperation=J}o(L,"mbclear");function S(re,ne){var te,Q,le,J;!e.clearingMotionBlur&&(re===h.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||re===h.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(te={x:w.x*m,y:w.y*m},Q=T*m,le=e.canvasWidth*m,J=e.canvasHeight*m):(te=k,Q=E,le=e.canvasWidth,J=e.canvasHeight),re.setTransform(1,0,0,1,0,0),ne==="motionBlur"?L(re,0,0,le,J):!n&&(ne===void 0||ne)&&re.clearRect(0,0,le,J),i||(re.translate(te.x,te.y),re.scale(Q,Q)),l&&re.translate(l.x,l.y),s&&re.scale(s,s)}if(o(S,"setContextTransform"),d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var A=e.data.bufferContexts[e.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:u*e.textureMult});var C=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};C.mpan={x:(0-C.pan.x)/C.zoom,y:(0-C.pan.y)/C.zoom}}f[e.DRAG]=!1,f[e.NODE]=!1;var _=h.contexts[e.NODE],N=e.textureCache.texture,C=e.textureCache.viewport;_.setTransform(1,0,0,1,0,0),p?L(_,0,0,C.width,C.height):_.clearRect(0,0,C.width,C.height);var M=b.core("outside-texture-bg-color").value,P=b.core("outside-texture-bg-opacity").value;e.colorFillStyle(_,M[0],M[1],M[2],P),_.fillRect(0,0,C.width,C.height);var T=r.zoom();S(_,!1),_.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/u,C.height/C.zoom/u),_.drawImage(N,C.mpan.x,C.mpan.y,C.width/C.zoom/u,C.height/C.zoom/u)}else e.textureOnViewport&&!n&&(e.textureCache=null);var B=r.extent(),F=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),G=e.hideEdgesOnViewport&&F,$=[];if($[e.NODE]=!f[e.NODE]&&p&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,$[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),$[e.DRAG]=!f[e.DRAG]&&p&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,$[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),f[e.NODE]||i||a||$[e.NODE]){var V=p&&!$[e.NODE]&&m!==1,_=n||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:h.contexts[e.NODE]),K=p&&!V?"motionBlur":void 0;S(_,K),G?e.drawCachedNodes(_,O.nondrag,u,B):e.drawLayeredElements(_,O.nondrag,u,B),e.debug&&e.drawDebugPoints(_,O.nondrag),!i&&!p&&(f[e.NODE]=!1)}if(!a&&(f[e.DRAG]||i||$[e.DRAG])){var V=p&&!$[e.DRAG]&&m!==1,_=n||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:h.contexts[e.DRAG]);S(_,p&&!V?"motionBlur":void 0),G?e.drawCachedNodes(_,O.drag,u,B):e.drawCachedElements(_,O.drag,u,B),e.debug&&e.drawDebugPoints(_,O.drag),!i&&!p&&(f[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,S),p&&m!==1){var ee=h.contexts[e.NODE],H=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],he=h.contexts[e.DRAG],Z=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],de=o(function(ne,te,Q){ne.setTransform(1,0,0,1,0,0),Q||!x?ne.clearRect(0,0,e.canvasWidth,e.canvasHeight):L(ne,0,0,e.canvasWidth,e.canvasHeight);var le=m;ne.drawImage(te,0,0,e.canvasWidth*le,e.canvasHeight*le,0,0,e.canvasWidth,e.canvasHeight)},"drawMotionBlur");(f[e.NODE]||$[e.NODE])&&(de(ee,H,$[e.NODE]),f[e.NODE]=!1),(f[e.DRAG]||$[e.DRAG])&&(de(he,Z,$[e.DRAG]),f[e.DRAG]=!1)}e.prevViewport=C,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),p&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,f[e.NODE]=!0,f[e.DRAG]=!0,e.redraw()},hZe)),n||r.emit("render")};Ns.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,l=t.drawAllLayers,u=i.canvasNeedsRedraw,h=t.forcedContext;if(r.showFps||!s&&u[r.SELECT_BOX]&&!l){var f=h||i.contexts[r.SELECT_BOX];if(e(f),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),p=a.core("selection-box-border-width").value/d;f.lineWidth=p,f.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",f.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),p>0&&(f.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",f.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),m=i.bgActivePosistion;f.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",f.beginPath(),f.arc(m.x,m.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),f.fill()}var g=r.lastRedrawTime;if(r.showFps&&g){g=Math.round(g);var y=Math.round(1e3/g),v="1 frame = "+g+" ms = "+y+" fps";if(f.setTransform(1,0,0,1,0,0),f.fillStyle="rgba(255, 0, 0, 0.75)",f.strokeStyle="rgba(255, 0, 0, 0.75)",f.font="30px Arial",!xb){var x=f.measureText(v);xb=x.actualBoundingBoxAscent}f.fillText(v,0,xb);var b=60;f.strokeRect(0,xb+10,250,20),f.fillRect(0,xb+10,250*Math.min(y/b,1),20)}l||(u[r.SELECT_BOX]=!1)}};o(Fpe,"compileShader");o(fZe,"createProgram");o(dZe,"createTextureCanvas");o(lB,"getEffectivePanZoom");o(pZe,"getEffectiveZoom");o(mZe,"modelToRenderedPosition");o(gZe,"isSimpleShape");o(yZe,"arrayEqual");o(R0,"toWebGLColor");o(O1,"indexToVec4");o(vZe,"vec4ToIndex");o(xZe,"createTexture");o(Sme,"getTypeInfo");o(Eme,"createTypedArray");o(bZe,"createTypedArrayView");o(TZe,"createBufferStaticDraw");o(yu,"createBufferDynamicDraw");o(wZe,"create3x3MatrixBufferDynamicDraw");o(kZe,"createPickingFrameBuffer");$pe=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});o(fP,"create");o(zpe,"identity");o(SZe,"multiply");o(LE,"translate");o(Gpe,"rotate");o(IP,"scale");o(EZe,"projection");CZe=(function(){function t(e,r,n,i){Td(this,t),this.debugID=Math.floor(Math.random()*1e4),this.r=e,this.texSize=r,this.texRows=n,this.texHeight=Math.floor(r/n),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=i(e,r,r),this.scratch=i(e,r,this.texHeight,"scratch")}return o(t,"Atlas"),wd(t,[{key:"lock",value:o(function(){this.locked=!0},"lock")},{key:"getKeys",value:o(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:o(function(r){var n=r.w,i=r.h,a=this.texHeight,s=this.texSize,l=a/i,u=n*l,h=i*l;return u>s&&(l=s/n,u=n*l,h=i*l),{scale:l,texW:u,texH:h}},"getScale")},{key:"draw",value:o(function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,l=this.texRows,u=this.texHeight,h=this.getScale(n),f=h.scale,d=h.texW,p=h.texH,m=o(function(T,E){if(i&&E){var w=E.context,k=T.x,C=T.row,D=k,R=u*C;w.save(),w.translate(D,R),w.scale(f,f),i(w,n),w.restore()}},"drawAt"),g=[null,null],y=o(function(){m(a.freePointer,a.canvas),g[0]={x:a.freePointer.x,y:a.freePointer.row*u,w:d,h:p},g[1]={x:a.freePointer.x+d,y:a.freePointer.row*u,w:0,h:p},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),v=o(function(){var T=a.scratch,E=a.canvas;T.clear(),m({x:0,row:0},T);var w=s-a.freePointer.x,k=d-w,C=u;{var D=a.freePointer.x,R=a.freePointer.row*u,O=w;E.context.drawImage(T,0,0,O,C,D,R,O,C),g[0]={x:D,y:R,w:O,h:p}}{var L=w,S=(a.freePointer.row+1)*u,A=k;E&&E.context.drawImage(T,L,0,A,C,0,S,A,C),g[1]={x:0,y:S,w:A,h:p}}a.freePointer.x=k,a.freePointer.row++},"drawWrapped"),x=o(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+d<=s)y();else{if(this.freePointer.row>=l-1)return!1;this.freePointer.x===s?(x(),y()):this.enableWrapping?v():(x(),y())}return this.keyToLocation.set(r,g),this.needsBuffer=!0,g},"draw")},{key:"getOffsets",value:o(function(r){return this.keyToLocation.get(r)},"getOffsets")},{key:"isEmpty",value:o(function(){return this.freePointer.x===0&&this.freePointer.row===0},"isEmpty")},{key:"canFit",value:o(function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,l=i.filterEle,u=l===void 0?function(){return!0}:l,h=i.filterType,f=h===void 0?function(){return!0}:h,d=!1,p=!1,m=po(r),g;try{for(m.s();!(g=m.n()).done;){var y=g.value;if(u(y)){var v=po(this.renderTypes.values()),x;try{var b=o(function(){var E=x.value,w=E.type;if(f(w)){var k=n.collections.get(E.collection),C=E.getKey(y),D=Array.isArray(C)?C:[C];if(s)D.forEach(function(S){return k.markKeyForGC(S)}),p=!0;else{var R=E.getID?E.getID(y):y.id(),O=n._key(w,R),L=n.typeAndIdToKey.get(O);L!==void 0&&!yZe(D,L)&&(d=!0,n.typeAndIdToKey.delete(O),L.forEach(function(S){return k.markKeyForGC(S)}))}}},"_loop2");for(v.s();!(x=v.n()).done;)b()}catch(T){v.e(T)}finally{v.f()}}}}catch(T){m.e(T)}finally{m.f()}return p&&(this.gc(),d=!1),d},"invalidate")},{key:"gc",value:o(function(){var r=po(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}},"gc")},{key:"getOrCreateAtlas",value:o(function(r,n,i,a){var s=this.renderTypes.get(n),l=this.collections.get(s.collection),u=!1,h=l.draw(a,i,function(p){s.drawClipped?(p.save(),p.beginPath(),p.rect(0,0,i.w,i.h),p.clip(),s.drawElement(p,r,i,!0,!0),p.restore()):s.drawElement(p,r,i,!0,!0),u=!0});if(u){var f=s.getID?s.getID(r):r.id(),d=this._key(n,f);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return h},"getOrCreateAtlas")},{key:"getAtlasInfo",value:o(function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),l=Array.isArray(s)?s:[s];return l.map(function(u){var h=a.getBoundingBox(r,u),f=i.getOrCreateAtlas(r,n,h,u),d=f.getOffsets(u),p=Vi(d,2),m=p[0],g=p[1];return{atlas:f,tex:m,tex1:m,tex2:g,bb:h}})},"getAtlasInfo")},{key:"getDebugInfo",value:o(function(){var r=[],n=po(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Vi(i.value,2),s=a[0],l=a[1],u=l.getCounts(),h=u.keyCount,f=u.atlasCount;r.push({type:s,keyCount:h,atlasCount:f})}}catch(d){n.e(d)}finally{n.f()}return r},"getDebugInfo")}])})(),RZe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return o(t,"AtlasBatchManager"),wd(t,[{key:"getMaxAtlasesPerBatch",value:o(function(){return this.maxAtlasesPerBatch},"getMaxAtlasesPerBatch")},{key:"getAtlasSize",value:o(function(){return this.atlasSize},"getAtlasSize")},{key:"getIndexArray",value:o(function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})},"getIndexArray")},{key:"startBatch",value:o(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:o(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:o(function(){return this.batchAtlases},"getAtlases")},{key:"canAddToCurrentBatch",value:o(function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0},"canAddToCurrentBatch")},{key:"getAtlasIndexForBatch",value:o(function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n},"getAtlasIndexForBatch")}])})(),LZe=` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(K.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(K.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){K.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let T=await ede(d,v.graph,r,n,e.node(y),a),E=T.elem;rt(v,E),v.diff=T.diff||0,K.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),xoe(E,v)}else e.children(y).length>0?(K.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),K.trace(B1(v.id,e)),Vr.set(v.id,{id:B1(v.id,e),node:v})):(K.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await y1(d,e.node(y),{config:a,dir:s}))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);K.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),K.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),K.info("Fix",Vr,"ids:",v.v,v.w,"Translating: ",Vr.get(v.v),Vr.get(v.w)),await fE(f,x)});await Promise.all(y)},"processEdges")(),K.info("Graph before layout:",JSON.stringify(Rl(e))),K.info("############################################# XXX"),K.info("### Layout ### XXX"),K.info("############################################# XXX"),Cb(e),K.info("Graph after layout:",JSON.stringify(Rl(e)));let m=0,{subGraphTitleTotalMargin:g}=Lh(a);return await Promise.all(Zfe(e).map(async function(y){let v=e.node(y);if(K.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,K.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Vr.get(v.id).node=v,vb(v);else if(e.children(y).length>0){K.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,T=b-x||0;K.debug("OffsetY",T,"labelHeight",b,"halfPadding",x),await g1(u,v),Vr.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,K.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),vb(v)}})),e.edges().forEach(function(y){let v=e.edge(y);K.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(E=>E.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let T=pE(h,v,Vr,r,x,b,n);dE(v,T)}),e.nodes().forEach(function(y){let v=e.node(y);K.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),K.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),oje=o(async(t,e)=>{let r=new wn({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");mE(n,t.markers,t.type,t.diagramId),boe(),voe(),hoe(),Hfe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),K.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",p.arrowTypeStart="none",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:o(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,l=!1;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return s=u.done,u},"n"),e:o(function(u){l=!0,a=u},"e"),f:o(function(){try{s||r.return==null||r.return()}finally{if(l)throw a}},"f")}}function L0e(t,e,r){return(e=N0e(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function hje(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function fje(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,l=[],u=!0,h=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(f){h=!0,i=f}finally{try{if(!u&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(h)throw i}}return l}}function dje(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pje(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wi(t,e){return lje(t)||fje(t,e)||eB(t,e)||dje()}function WS(t){return cje(t)||hje(t)||eB(t)||pje()}function mje(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function N0e(t){var e=mje(t,"string");return typeof e=="symbol"?e:e+""}function aa(t){"@babel/helpers - typeof";return aa=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},aa(t)}function eB(t,e){if(t){if(typeof t=="string")return IP(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?IP(t,e):void 0}}function Zb(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Jb(){if(ade)return iO;ade=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return o(t,"isObject"),iO=t,iO}function Fje(){if(sde)return aO;sde=1;var t=typeof TS=="object"&&TS&&TS.Object===Object&&TS;return aO=t,aO}function sC(){if(ode)return sO;ode=1;var t=Fje(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return sO=r,sO}function $je(){if(lde)return oO;lde=1;var t=sC(),e=o(function(){return t.Date.now()},"now");return oO=e,oO}function zje(){if(cde)return lO;cde=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return o(e,"trimmedEndIndex"),lO=e,lO}function Gje(){if(ude)return cO;ude=1;var t=zje(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return o(r,"baseTrim"),cO=r,cO}function nB(){if(hde)return uO;hde=1;var t=sC(),e=t.Symbol;return uO=e,uO}function Vje(){if(fde)return hO;fde=1;var t=nB(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,i=t?t.toStringTag:void 0;function a(s){var l=r.call(s,i),u=s[i];try{s[i]=void 0;var h=!0}catch{}var f=n.call(s);return h&&(l?s[i]=u:delete s[i]),f}return o(a,"getRawTag"),hO=a,hO}function qje(){if(dde)return fO;dde=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return o(r,"objectToString"),fO=r,fO}function G0e(){if(pde)return dO;pde=1;var t=nB(),e=Vje(),r=qje(),n="[object Null]",i="[object Undefined]",a=t?t.toStringTag:void 0;function s(l){return l==null?l===void 0?i:n:a&&a in Object(l)?e(l):r(l)}return o(s,"baseGetTag"),dO=s,dO}function Uje(){if(mde)return pO;mde=1;function t(e){return e!=null&&typeof e=="object"}return o(t,"isObjectLike"),pO=t,pO}function eT(){if(gde)return mO;gde=1;var t=G0e(),e=Uje(),r="[object Symbol]";function n(i){return typeof i=="symbol"||e(i)&&t(i)==r}return o(n,"isSymbol"),mO=n,mO}function Wje(){if(yde)return gO;yde=1;var t=Gje(),e=Jb(),r=eT(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,l=parseInt;function u(h){if(typeof h=="number")return h;if(r(h))return n;if(e(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=e(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=t(h);var d=a.test(h);return d||s.test(h)?l(h.slice(2),d?2:8):i.test(h)?n:+h}return o(u,"toNumber"),gO=u,gO}function Hje(){if(vde)return yO;vde=1;var t=Jb(),e=$je(),r=Wje(),n="Expected a function",i=Math.max,a=Math.min;function s(l,u,h){var f,d,p,m,g,y,v=0,x=!1,b=!1,T=!0;if(typeof l!="function")throw new TypeError(n);u=r(u)||0,t(h)&&(x=!!h.leading,b="maxWait"in h,p=b?i(r(h.maxWait)||0,u):p,T="trailing"in h?!!h.trailing:T);function E(_){var D=f,M=d;return f=d=void 0,v=_,m=l.apply(M,D),m}o(E,"invokeFunc");function w(_){return v=_,g=setTimeout(A,u),x?E(_):m}o(w,"leadingEdge");function k(_){var D=_-y,M=_-v,R=u-D;return b?a(R,p-M):R}o(k,"remainingWait");function S(_){var D=_-y,M=_-v;return y===void 0||D>=u||D<0||b&&M>=p}o(S,"shouldInvoke");function A(){var _=e();if(S(_))return L(_);g=setTimeout(A,k(_))}o(A,"timerExpired");function L(_){return g=void 0,T&&f?E(_):(f=d=void 0,m)}o(L,"trailingEdge");function I(){g!==void 0&&clearTimeout(g),v=0,f=y=d=g=void 0}o(I,"cancel");function N(){return g===void 0?m:L(e())}o(N,"flush");function C(){var _=e(),D=S(_);if(f=arguments,d=this,y=_,D){if(g===void 0)return w(y);if(b)return clearTimeout(g),g=setTimeout(A,u),E(y)}return g===void 0&&(g=setTimeout(A,u)),m}return o(C,"debounced"),C.cancel=I,C.flush=N,C}return o(s,"debounce"),yO=s,yO}function Qje(t,e,r,n,i){var a=i*Math.PI/180,s=Math.cos(a)*(t-r)-Math.sin(a)*(e-n)+r,l=Math.sin(a)*(t-r)+Math.cos(a)*(e-n)+n;return{x:s,y:l}}function Jje(t,e,r){if(r===0)return t;var n=(e.x1+e.x2)/2,i=(e.y1+e.y2)/2,a=e.w/e.h,s=1/a,l=Qje(t.x,t.y,n,i,r),u=Zje(l.x,l.y,n,i,a,s);return{x:u.x,y:u.y}}function uXe(){return kde||(kde=1,(function(t,e){(function(){var r,n,i,a,s,l,u,h,f,d,p,m,g,y,v;i=Math.floor,d=Math.min,n=o(function(x,b){return xb?1:0},"defaultCmp"),f=o(function(x,b,T,E,w){var k;if(T==null&&(T=0),w==null&&(w=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TI;0<=I?L++:L--)A.push(L);return A}).apply(this).reverse(),S=[],E=0,w=k.length;EN;0<=N?++A:--A)C.push(s(x,T));return C},"nsmallest"),y=o(function(x,b,T,E){var w,k,S;for(E==null&&(E=n),w=x[T];T>b;){if(S=T-1>>1,k=x[S],E(w,k)<0){x[T]=k,T=S;continue}break}return x[T]=w},"_siftdown"),v=o(function(x,b,T){var E,w,k,S,A;for(T==null&&(T=n),w=x.length,A=b,k=x[b],E=2*b+1;E-1}return o(e,"listCacheHas"),HO=e,HO}function nQe(){if(upe)return YO;upe=1;var t=fC();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return o(e,"listCacheSet"),YO=e,YO}function iQe(){if(hpe)return jO;hpe=1;var t=JKe(),e=eQe(),r=tQe(),n=rQe(),i=nQe();function a(s){var l=-1,u=s==null?0:s.length;for(this.clear();++l-1&&n%1==0&&n0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function vme(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:pZe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?C=D:N=D;while(Math.abs(_)>s&&++M=a?b(I,M):R===0?M:E(I,N,N+h)}o(w,"getTForX");var k=!1;function S(){k=!0,(t!==e||r!==n)&&T()}o(S,"precompute");var A=o(function(N){return k||S(),t===e&&r===n?N:N===0?0:N===1?1:v(w(N),e,n)},"f");A.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var L="generateBezier("+[t,e,r,n]+")";return A.toString=function(){return L},A}function e0e(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function t0e(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function z1(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=t0e(t,i),l=t0e(e,i);if(Nt(s)&&Nt(l))return e0e(a,s,l,r,n);if($n(s)&&$n(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=$S[m].apply(null,g)):s.easingImpl=$S[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var T={};Rb(x.x,b.x)&&(T.x=z1(x.x,b.x,v,y)),Rb(x.y,b.y)&&(T.y=z1(x.y,b.y,v,y)),t.position(T)}var E=s.startPan,w=s.pan,k=a.pan,S=w!=null&&n;S&&(Rb(E.x,w.x)&&(k.x=z1(E.x,w.x,v,y)),Rb(E.y,w.y)&&(k.y=z1(E.y,w.y,v,y)),t.emit("pan"));var A=s.startZoom,L=s.zoom,I=L!=null&&n;I&&(Rb(A,L)&&(a.zoom=qb(a.minZoom,z1(A,L,v,y),a.maxZoom)),t.emit("zoom")),(S||I)&&t.emit("viewport");var N=s.style;if(N&&N.length>0&&i){for(var C=0;C=0;S--){var A=k[S];A()}k.splice(0,k.length)},"callbacks"),b=m.length-1;b>=0;b--){var T=m[b],E=T._private;if(E.stopped){m.splice(b,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||_Ze(f,T,t),AZe(f,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(m.splice(b,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}o(i,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function Pme(t){this.options=pr({},PZe,BZe,t)}function Bme(t){this.options=pr({},FZe,t)}function Fme(t){this.options=pr({},$Ze,t)}function bC(t){this.options=pr({},zZe,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),s=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(n)}function Vme(t){this.options=pr({},tJe,t)}function xB(t){this.options=pr({},rJe,t)}function qme(t){this.options=pr({},nJe,t)}function Ume(t){this.options=pr({},iJe,t)}function Wme(t){this.options=t,this.notifications=0}function jme(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TB(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(oJe(t,e,r,n,i),{cx:WP,cy:HP,radius:P0,startX:Hme,startY:Yme,stopX:YP,stopY:jP,startAngle:Su.ang+Math.PI/2*F0,endAngle:Ll.ang-Math.PI/2*F0,counterClockwise:VS})}function Xme(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}function w0e(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function KJe(t,e,r){var n=w0e(t,t.VERTEX_SHADER,e),i=w0e(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function QJe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function EB(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function ZJe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function JJe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function eet(t){return t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function tet(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function ret(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function net(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function lge(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function cge(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function iet(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function aet(t,e,r,n){var i=lge(t,e),a=Wi(i,2),s=a[0],l=a[1],u=cge(t,l,n),h=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,u,t.STATIC_DRAW),l===t.FLOAT?t.vertexAttribPointer(r,s,l,!1,0,0):l===t.INT&&t.vertexAttribIPointer(r,s,l,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),h}function Eu(t,e,r,n){var i=lge(t,r),a=Wi(i,3),s=a[0],l=a[1],u=a[2],h=cge(t,l,e*s),f=s*u,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*f,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),l===t.FLOAT?t.vertexAttribPointer(n,s,l,!1,f,0):l===t.INT&&t.vertexAttribIPointer(n,s,l,f,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var p=new Array(e),m=0;mnge?(ket(t),e.call(t,a)):(Eet(t),dge(t,a,$b.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,l,u){return Let(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function ket(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function Eet(t){var e=o(function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()},"clear");e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function Cet(t){var e=t.canvasWidth,r=t.canvasHeight,n=EB(t),i=n.pan,a=n.zoom,s=_P();US(s,s,[i.x,i.y]),KP(s,s,[a,a]);var l=_P();uet(l,e,r);var u=_P();return cet(u,l,s),u}function fge(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=EB(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function Aet(t,e){t.drawSelectionRectangle(e,function(r){return fge(t,r)})}function _et(t){var e=t.data.contexts[t.NODE];e.save(),fge(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function Det(t){var e=o(function(i,a,s){for(var l=i.atlasManager.getAtlasCollection(a),u=t.data.contexts[t.NODE],h=l.atlases,f=0;f=0&&E.add(S)}return E}function Let(t,e,r){var n=Ret(t,e,r),i=t.getCachedZSortedEles(),a,s,l=xo(n),u;try{for(l.s();!(u=l.n()).done;){var h=u.value,f=i[h];if(!a&&f.isNode()&&(a=f),!s&&f.isEdge()&&(s=f),a&&s)break}}catch(d){l.e(d)}finally{l.f()}return[a,s].filter(Boolean)}function MP(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function dge(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&Aet(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var l=Cet(t),u=t.getCachedZSortedEles();if(a=u.length,i.startFrame(l,r),r.screen){for(var h=0;h{"use strict";o(IP,"_arrayLikeToArray");o(lje,"_arrayWithHoles");o(cje,"_arrayWithoutHoles");o(Sd,"_classCallCheck");o(uje,"_defineProperties");o(Cd,"_createClass");o(xo,"_createForOfIteratorHelper");o(L0e,"_defineProperty$1");o(hje,"_iterableToArray");o(fje,"_iterableToArrayLimit");o(dje,"_nonIterableRest");o(pje,"_nonIterableSpread");o(Wi,"_slicedToArray");o(WS,"_toConsumableArray");o(mje,"_toPrimitive");o(N0e,"_toPropertyKey");o(aa,"_typeof");o(eB,"_unsupportedIterableToArray");na=typeof window>"u"?null:window,nde=na?na.navigator:null;na&&na.document;gje=aa(""),M0e=aa({}),yje=aa(function(){}),vje=typeof HTMLElement>"u"?"undefined":aa(HTMLElement),Kb=o(function(e){return e&&e.instanceString&&Ei(e.instanceString)?e.instanceString():null},"instanceStr"),or=o(function(e){return e!=null&&aa(e)==gje},"string"),Ei=o(function(e){return e!=null&&aa(e)===yje},"fn"),$n=o(function(e){return!jo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),sn=o(function(e){return e!=null&&aa(e)===M0e&&!$n(e)&&e.constructor===Object},"plainObject"),xje=o(function(e){return e!=null&&aa(e)===M0e},"object"),Nt=o(function(e){return e!=null&&aa(e)===aa(1)&&!isNaN(e)},"number"),bje=o(function(e){return Nt(e)&&Math.floor(e)===e},"integer"),HS=o(function(e){if(vje!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),jo=o(function(e){return Qb(e)||I0e(e)},"elementOrCollection"),Qb=o(function(e){return Kb(e)==="collection"&&e._private.single},"element"),I0e=o(function(e){return Kb(e)==="collection"&&!e._private.single},"collection"),tB=o(function(e){return Kb(e)==="core"},"core"),O0e=o(function(e){return Kb(e)==="stylesheet"},"stylesheet"),Tje=o(function(e){return Kb(e)==="event"},"event"),xd=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),wje=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),kje=o(function(e){return sn(e)&&Nt(e.x1)&&Nt(e.x2)&&Nt(e.y1)&&Nt(e.y2)},"boundingBox"),Eje=o(function(e){return xje(e)&&Ei(e.then)},"promise"),Sje=o(function(){return nde&&nde.userAgent.match(/msie|trident|edge/i)},"ms"),J1=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),Nje=o(function(e,r){return-1*B0e(e,r)},"descending"),pr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+_je+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),Oje=o(function(e){var r,n=new RegExp("^"+Cje+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),Pje=o(function(e){return Bje[e.toLowerCase()]},"colorname2tuple"),F0e=o(function(e){return($n(e)?e:null)||Pje(e)||Mje(e)||Oje(e)||Ije(e)},"color2tuple"),Bje={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},$0e=o(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:B0,n=r,i;i=e.next(),!i.done;)n=n*q0e+i.value|0;return n},"hashIterableInts"),zb=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:B0;return r*q0e+e|0},"hashInt"),Gb=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W1;return(r<<5)+r+e|0},"hashIntAlt"),Xje=o(function(e,r){return e*2097152+r},"combineHashes"),hd=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),wS=o(function(e,r){return[zb(e[0],r[0]),Gb(e[1],r[1])]},"hashArrays"),xde=o(function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:o(function(){return i=0;i--)e[i]===r&&e.splice(i,1)},"removeFromArray"),sB=o(function(e){e.splice(0,e.length)},"clearArray"),aXe=o(function(e,r){for(var n=0;n"u"?"undefined":aa(Set))!==oXe?Set:lXe,oC=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tB(e)){ui("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){ui("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new ry,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];$n(r.classes)?h=r.classes:or(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;f0;){var k=b.pop(),S=v(k),A=k.id();if(p[A]=S,S!==1/0)for(var L=k.neighborhood().intersect(g),I=0;I0)for(B.unshift(P);d[G];){var $=d[G];B.unshift($.edge),B.unshift($.node),F=$.node,G=F.id()}return l.spawn(B)},"pathTo")}},"dijkstra")},mXe={kruskal:o(function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),l=n,u=o(function(E){for(var w=0;w0;){if(w(),S++,E===f){for(var A=[],L=a,I=f,N=x[I];A.unshift(L),N!=null&&A.unshift(N),L=v[I],L!=null;)I=L.id(),N=x[I];return{found:!0,distance:d[E],path:this.spawn(A),steps:S}}m[E]=!0;for(var C=T._private.edges,_=0;_N&&(g[I]=N,b[I]=L,T[I]=w),!a){var C=L*f+A;!a&&g[C]>N&&(g[C]=N,b[C]=A,T[C]=w)}}}for(var _=0;_1&&arguments[1]!==void 0?arguments[1]:s,$e=T(we),fe=[],Ke=$e;;){if(Ke==null)return r.spawn();var Te=b(Ke),Be=Te.edge,Ue=Te.pred;if(fe.unshift(Ke[0]),Ke.same(_e)&&fe.length>0)break;Be!=null&&fe.unshift(Be),Ke=Ue}return u.spawn(fe)},"pathTo"),k=0;k=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=kXe(a,e,r),n--}return r},"contractUntil"),EXe={kargerStein:o(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(B){return B.isLoop()});var a=n.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/wXe);if(a<2){ui("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),RXe=o(function(e){return Math.PI*e/180},"deg2rad"),kS=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),oB=Math.log2||function(t){return Math.log(t)/Math.log(2)},lB=o(function(e){return e>0?1:e<0?-1:0},"signum"),G0=o(function(e,r){return Math.sqrt(O0(e,r))},"dist"),O0=o(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),LXe=o(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),MXe=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),IXe=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),OXe=o(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),Q0e=o(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),OS=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),PS=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var l=Wi(r,4);n=l[0],i=l[1],a=l[2],s=l[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Sde=o(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),cB=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),md=o(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),Cde=o(function(e,r){return md(e,r.x,r.y)},"pointInBoundingBox"),Z0e=o(function(e,r){return md(e,r.x1,r.y1)&&md(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),PXe=(TO=Math.hypot)!==null&&TO!==void 0?TO:function(t,e){return Math.sqrt(t*t+e*e)};o(BXe,"inflatePolygon");o(FXe,"miterBox");J0e=o(function(e,r,n,i,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?Td(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=gd(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var T=n+f+l,E=i-d+h-l,w=T,k=i+d-h+l;if(g=gd(e,r,n,i,T,E,w,k,!1),g.length>0)return g}if(p){var S=n-f+h-l,A=i+d+l,L=n+f-h+l,I=A;if(g=gd(e,r,n,i,S,A,L,I,!1),g.length>0)return g}if(m){var N=n-f-l,C=i-d+h-l,_=N,D=i+d-h+l;if(g=gd(e,r,n,i,N,C,_,D,!1),g.length>0)return g}var M;{var R=n-f+h,P=i-d+h;if(M=Ib(e,r,n,i,R,P,h+l),M.length>0&&M[0]<=R&&M[1]<=P)return[M[0],M[1]]}{var B=n+f-h,F=i-d+h;if(M=Ib(e,r,n,i,B,F,h+l),M.length>0&&M[0]>=B&&M[1]<=F)return[M[0],M[1]]}{var G=n+f-h,$=i+d-h;if(M=Ib(e,r,n,i,G,$,h+l),M.length>0&&M[0]>=G&&M[1]>=$)return[M[0],M[1]]}{var V=n-f+h,X=i+d-h;if(M=Ib(e,r,n,i,V,X,h+l),M.length>0&&M[0]<=V&&M[1]>=X)return[M[0],M[1]]}return[]},"roundRectangleIntersectLine"),$Xe=o(function(e,r,n,i,a,s,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,s),p=Math.max(i,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),zXe=o(function(e,r,n,i,a,s,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,s)-h,y2:Math.max(i,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),GXe=o(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),VXe=o(function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),qXe=o(function(e,r,n,i,a,s,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*s+2*i*u+4*s*s-4*s*u+u*u,f=9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*s-3*i*i-3*i*u-6*s*s+3*s*u,d=3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*s+i*u-i*r+2*s*s+2*s*r-u*r,p=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,m=[];VXe(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,T,E,w=0;w=0?Eh?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),vo=o(function(e,r,n){for(var i,a,s,l,u,h=0,f=0;f=e&&e>=s||i<=e&&e<=s)u=(e-i)/(s-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Bh=o(function(e,r,n,i,a,s,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=KS(f,-h);y=XS(v)}else y=f;return vo(e,r,y)},"pointInsidePolygon"),WXe=o(function(e,r,n,i,a,s,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var T=b[0]*u[0]+e,E=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[T,E];var w=b[1]*u[0]+e,k=b[1]*u[1]+r;return[T,E,w,k]}else return[T,E]},"intersectLineCircle"),wO=o(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),gd=o(function(e,r,n,i,a,s,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-s,g=i-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var T=v/b,E=x/b,w=.001,k=0-w,S=1+w;return k<=T&&T<=S&&k<=E&&E<=S?[e+T*d,r+T*g]:h?[e+T*d,r+T*g]:[]}else return v===0||x===0?wO(e,n,l)===l?[l,u]:wO(e,n,a)===a?[a,s]:wO(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),YXe=o(function(e,r,n,i,a){var s=[],l=i/2,u=a/2,h=r,f=n;s.push({x:h+l*e[0],y:f+u*e[1]});for(var d=1;d0){var y=KS(d,-u);m=XS(y)}else m=d}else m=n;for(var v,x,b,T,E=0;E2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=E)},"set"),get:o(function(T){return h[T]},"get")},p=0;p0?M=D.edgesTo(_)[0]:M=_.edgesTo(D)[0];var R=i(M);_=_.id(),S[_]>S[N]+R&&(S[_]=S[N]+R,A.nodes.indexOf(_)<0?A.push(_):A.updateItem(_),k[_]=0,w[_]=[]),S[_]==S[N]+R&&(k[_]=k[_]+k[N],w[_].push(N))}else for(var P=0;P0;){for(var $=E.pop(),V=0;V0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),lKe=o(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:hKe,l=i,u,h,f=0;f=2?Ab(e,r,n,0,Lde,fKe):Ab(e,r,n,0,Rde)},"euclidean"),squaredEuclidean:o(function(e,r,n){return Ab(e,r,n,0,Lde)},"squaredEuclidean"),manhattan:o(function(e,r,n){return Ab(e,r,n,0,Rde)},"manhattan"),max:o(function(e,r,n){return Ab(e,r,n,-1/0,dKe)},"max")};ey["squared-euclidean"]=ey.squaredEuclidean;ey.squaredeuclidean=ey.squaredEuclidean;o(cC,"clusteringDistance");pKe=qa({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hB=o(function(e){return pKe(e)},"setOptions"),QS=o(function(e,r,n,i,a){var s=a!=="kMedoids",l=s?function(d){return n[d]}:function(d){return i[d](n)},u=o(function(p){return i[p](r)},"getQ"),h=n,f=r;return cC(e,i.length,l,u,h,f)},"getDist"),EO=o(function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),yKe=o(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[i[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),Bde=o(function(e,r,n){for(var i=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&i.push(s)}for(var f=0;fh&&(u=f,h=d)}n[a]=s[u]}return i=Bde(e,r,n),i},"assign"),Fde=o(function(e){for(var r=this.cy(),n=this.nodes(),i=DKe(e),a={},s=0;s=N?(C=N,N=D,_=M):D>C&&(C=D);for(var R=0;R0?1:0;S[L%i.minIterations*l+V]=X,$+=X}if($>0&&(L>=i.minIterations-1||L==i.maxIterations-1)){for(var Q=0,H=0;H1||k>1)&&(l=!0),d[T]=[],b.outgoers().forEach(function(A){A.isEdge()&&d[T].push(A.id())})}else p[T]=[void 0,b.target().id()]}):s.forEach(function(b){var T=b.id();if(b.isNode()){var E=b.degree(!0);E%2&&(u?h?l=!0:h=T:u=T),d[T]=[],b.connectedEdges().forEach(function(w){return d[T].push(w.id())})}else p[T]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(T){for(var E=T,w=[T],k,S,A;d[E].length;)k=d[E].shift(),S=p[k][0],A=p[k][1],E!=A?(d[A]=d[A].filter(function(L){return L!=k}),E=A):!a&&E!=S&&(d[S]=d[S].filter(function(L){return L!=k}),E=S),w.unshift(k),w.unshift(E);return w},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},SS=o(function(){var e=this,r={},n=0,i=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(T){var E=T.id(),w=T.connectedEdges().intersection(e);v.merge(T),r[E].cutVertex?v.merge(w.filter(function(k){return k.isLoop()})):v.merge(w)})}),a.push(v)},"buildComponent"),h=o(function(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,T;y.forEach(function(E){v=E.source().id(),x=E.target().id(),b=v===m?x:v,b!==g&&(T=E.id(),l[T]||(l[T]=!0,s.push({x:m,y:b,edge:E})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(h(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),BKe={hopcroftTarjanBiconnected:SS,htbc:SS,htb:SS,hopcroftTarjanBiconnectedComponents:SS},CS=o(function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),l=o(function(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||l(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:i}},"tarjanStronglyConnected"),FKe={tarjanStronglyConnected:CS,tsc:CS,tscc:CS,tarjanStronglyConnectedComponents:CS},sme={};[Vb,pXe,mXe,yXe,xXe,TXe,EXe,QXe,K1,Q1,BP,uKe,kKe,AKe,IKe,PKe,BKe,FKe].forEach(function(t){pr(sme,t)});ome=0,lme=1,cme=2,Tc=o(function(e){if(!(this instanceof Tc))return new Tc(e);this.id="Thenable/1.0.7",this.state=ome,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Tc.prototype={fulfill:o(function(e){return $de(this,lme,"fulfillValue",e)},"fulfill"),reject:o(function(e){return $de(this,cme,"rejectReason",e)},"reject"),then:o(function(e,r){var n=this,i=new Tc;return n.onFulfilled.push(Gde(e,i,"fulfill")),n.onRejected.push(Gde(r,i,"reject")),ume(n),i.proxy},"then")};$de=o(function(e,r,n,i){return e.state===ome&&(e.state=r,e[n]=i,ume(e)),e},"deliver"),ume=o(function(e){e.state===lme?zde(e,"onFulfilled",e.fulfillValue):e.state===cme&&zde(e,"onRejected",e.rejectReason)},"execute"),zde=o(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){$n(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,l=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};BS.className=BS.classNames=BS.classes;an={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:ia,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};an.variable="(?:[\\w-.]|(?:\\\\"+an.metaChar+"))+";an.className="(?:[\\w-]|(?:\\\\"+an.metaChar+"))+";an.value=an.string+"|"+an.number;an.id=an.variable;(function(){var t,e,r;for(t=an.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(an.comparatorOp+="|\\!"+e)})();Nn=o(function(){return{checks:[]}},"newQuery"),qt={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},GP=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return Nje(t.selector,e.selector)}),OQe=(function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return En("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return En("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&En("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),GQe=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return or(f)?'"'+f+'"':e(f)},"cleanVal"),n=o(function(f){return" "+f+" "},"space"),i=o(function(f,d){var p=f.type,m=f.value;switch(p){case qt.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case qt.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case qt.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case qt.DATA_EXIST:{var T=f.field;return"["+T+"]"}case qt.META_COMPARE:{var E=f.operator,w=f.field;return"[["+w+n(e(E))+r(m)+"]]"}case qt.STATE:return m;case qt.ID:return"#"+m;case qt.CLASS:return"."+m;case qt.PARENT:case qt.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case qt.ANCESTOR:case qt.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case qt.COMPOUND_SPLIT:{var k=a(f.left,d),S=a(f.subject,d),A=a(f.right,d);return k+(k.length>0?" ":"")+S+A}case qt.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return mB(this,t,e,vme)};o(xme,"addParent");ty.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return mB(this,t,e,xme)};o(XQe,"addParentAndChildren");ty.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return mB(this,t,e,XQe)};ty.ancestors=ty.parents;Wb=bme={data:kn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:kn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:kn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:kn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:kn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:kn.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};Wb.attr=Wb.data;Wb.removeAttr=Wb.removeData;KQe=bme,pC={};o(wP,"defineDegreeFunction");pr(pC,{degree:wP(function(t,e){return e.source().same(e.target())?2:1}),indegree:wP(function(t,e){return e.target().same(t)?1:0}),outdegree:wP(function(t,e){return e.source().same(t)?1:0})});o($1,"defineDegreeBoundsFunction");pr(pC,{minDegree:$1("degree",function(t,e){return te}),minIndegree:$1("indegree",function(t,e){return te}),minOutdegree:$1("outdegree",function(t,e){return te})});pr(pC,{totalDegree:o(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this},"relativePosition")};bc.modelPosition=bc.point=bc.position;bc.modelPositions=bc.points=bc.positions;bc.renderedPoint=bc.renderedPosition;bc.relativePoint=bc.relativePosition;QQe=Tme;Z1=Ad={};Ad.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};Ad.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Ad.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(L,I,N){var C=0,_=0,D=I+N;return L>0&&D>0&&(C=I/D*L,_=N/D*L),{biasDiff:C,biasComplementDiff:_}}o(m,"computeBiasValues");function g(L,I,N,C){if(N.units==="%")switch(C){case"width":return L>0?N.pfValue*L:0;case"height":return I>0?N.pfValue*I:0;case"average":return L>0&&I>0?N.pfValue*(L+I)/2:0;case"min":return L>0&&I>0?L>I?N.pfValue*I:N.pfValue*L:0;case"max":return L>0&&I>0?L>I?N.pfValue*L:N.pfValue*I:0;default:return 0}else return N.units==="px"?N.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var T=m(f.width.val-d.w,y,v),E=T.biasDiff,w=T.biasComplementDiff,k=m(f.height.val-d.h,x,b),S=k.biasDiff,A=k.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-E+d.x1+d.x2+w)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-S+d.y1+d.y2+A)/2}o(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),dd=o(function(e,r){return r==null?e:xc(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),_b=o(function(e,r,n){return yo(e,r,n)},"prefixedProperty"),AS=o(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,OS(d,1),xc(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),kP=o(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=_b(s,"labelWidth",n),d=_b(s,"labelHeight",n),p=_b(s,"labelX",n),m=_b(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,w=r.pstyle("text-background-padding").pfValue,k=2,S=d,A=f,L=A/2,I=S/2,N,C,_,D;if(v)N=p-L,C=p+L,_=m-I,D=m+I;else{switch(u.value){case"left":N=p-A,C=p;break;case"center":N=p-L,C=p+L;break;case"right":N=p,C=p+A;break}switch(h.value){case"top":_=m-S,D=m;break;case"center":_=m-I,D=m+I;break;case"bottom":_=m,D=m+S;break}}var M=g-Math.max(b,E)-w-k,R=g+Math.max(b,E)+w+k,P=y-Math.max(b,E)-w-k,B=y+Math.max(b,E)+w+k;N+=M,C+=R,_+=P,D+=B;var F=n||"main",G=a.labelBounds,$=G[F]=G[F]||{};$.x1=N,$.y1=_,$.x2=C,$.y2=D,$.w=C-N,$.h=D-_,$.leftPad=M,$.rightPad=R,$.topPad=P,$.botPad=B;var V=v&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(V||X){var Q=V?_b(a.rstyle,"labelAngle",n):x.pfValue,H=Math.cos(Q),ie=Math.sin(Q),Y=(N+C)/2,le=(_+D)/2;if(!v){switch(u.value){case"left":Y=C;break;case"right":Y=N;break}switch(h.value){case"top":le=D;break;case"bottom":le=_;break}}var ee=o(function(ke,we){return ke=ke-Y,we=we-le,{x:ke*H-we*ie+Y,y:ke*ie+we*H+le}},"rotate"),J=ee(N,_),te=ee(N,D),Z=ee(C,_),xe=ee(C,D);N=Math.min(J.x,te.x,Z.x,xe.x),C=Math.max(J.x,te.x,Z.x,xe.x),_=Math.min(J.y,te.y,Z.y,xe.y),D=Math.max(J.y,te.y,Z.y,xe.y)}var de=F+"Rot",Se=G[de]=G[de]||{};Se.x1=N,Se.y1=_,Se.x2=C,Se.y2=D,Se.w=C-N,Se.h=D-_,xc(e,N,_,C,D),xc(a.labelBounds.all,N,_,C,D)}return e}},"updateBoundsFromLabel"),zpe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;kme(e,r,n,s,"outside",s/2)}},"updateBoundsFromOutline"),kme=o(function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var l=r.cy(),u=r.pstyle("shape").value,h=l.renderer().nodeShapes[u],f=r.position(),d=f.x,p=f.y,m=r.width(),g=r.height();if(h.hasMiterBounds){a==="center"&&(i/=2);var y=h.miterBounds(d,p,m,g,i);dd(e,y)}else s!=null&&s>0&&PS(e,[s,s,s,s])}},"updateBoundsFromMiter"),ZQe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;kme(e,r,n,i,a)}},"updateBoundsFromMiterBorder"),JQe=o(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=Ms(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(Me){return Me.pstyle("display").value!=="none"},"isDisplayed"),T=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(T){var E=0,w=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(w=e.pstyle("overlay-padding").value));var k=0,S=0;i&&r.includeUnderlays&&(k=e.pstyle("underlay-opacity").value,k!==0&&(S=e.pstyle("underlay-padding").value));var A=Math.max(w,S),L=0,I=0;if(i&&(L=e.pstyle("width").pfValue,I=L/2),u&&r.includeNodes){var N=e.position();g=N.x,y=N.y;var C=e.outerWidth(),_=C/2,D=e.outerHeight(),M=D/2;f=g-_,d=g+_,p=y-M,m=y+M,xc(s,f,p,d,m),i&&zpe(s,e),i&&r.includeOutlines&&!a&&zpe(s,e),i&&ZQe(s,e)}else if(h&&r.includeEdges)if(i&&!a){var R=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=I,d+=I,p-=I,m+=I,xc(s,f,p,d,m),R==="haystack"){var P=v.haystackPts;if(P&&P.length===2){if(f=P[0].x,p=P[0].y,d=P[1].x,m=P[1].y,f>d){var B=f;f=d,d=B}if(p>m){var F=p;p=m,m=F}xc(s,f-I,p-I,d+I,m+I)}}else if(R==="bezier"||R==="unbundled-bezier"||pd(R,"segments")||pd(R,"taxi")){var G;switch(R){case"bezier":case"unbundled-bezier":G=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":G=v.linePts;break}if(G!=null)for(var $=0;$d){var Y=f;f=d,d=Y}if(p>m){var le=p;p=m,m=le}f-=I,d+=I,p-=I,m+=I,xc(s,f,p,d,m)}if(i&&r.includeEdges&&h&&(AS(s,e,"mid-source"),AS(s,e,"mid-target"),AS(s,e,"source"),AS(s,e,"target")),i){var ee=e.pstyle("ghost").value==="yes";if(ee){var J=e.pstyle("ghost-offset-x").pfValue,te=e.pstyle("ghost-offset-y").pfValue;xc(s,s.x1+J,s.y1+te,s.x2+J,s.y2+te)}}var Z=l.bodyBounds=l.bodyBounds||{};Sde(Z,s),PS(Z,x),OS(Z,1),i&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,xc(s,f-A,p-A,d+A,m+A));var xe=l.overlayBounds=l.overlayBounds||{};Sde(xe,s),PS(xe,x),OS(xe,1);var de=l.labelBounds=l.labelBounds||{};de.all!=null?IXe(de.all):de.all=Ms(),i&&r.includeLabels&&(r.includeMainLabels&&kP(s,e,null),h&&(r.includeSourceLabels&&kP(s,e,"source"),r.includeTargetLabels&&kP(s,e,"target")))}return s.x1=Nl(s.x1),s.y1=Nl(s.y1),s.x2=Nl(s.x2),s.y2=Nl(s.y2),s.w=Nl(s.x2-s.x1),s.h=Nl(s.y2-s.y1),s.w>0&&s.h>0&&T&&(PS(s,x),OS(s,1)),s},"boundingBoxImpl"),Eme=o(function(e){var r=0,n=o(function(s){return(s?1:0)<=0;l--)s(l);return this};Ed.removeAllListeners=function(){return this.removeListener("*")};Ed.emit=Ed.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,$n(e)||(e=[e]),mZe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var l=o(function(){var f=n[u];if(f.type===s.type&&(!f.namespace||f.namespace===s.namespace||f.namespace===dZe)&&a.eventMatches(a.context,f,s)){var d=[s];e!=null&&aXe(d,e),a.beforeEmit(a.context,f,s),f.conf&&f.conf.one&&(a.listeners=a.listeners.filter(function(g){return g!==f}));var p=a.callbackContext(a.context,f,s),m=f.callback.apply(p,d);a.afterEmit(a.context,f,s),m===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&or(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:o(function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":aa(Symbol))!=e&&aa(Symbol.iterator)!=e;r&&(ZS[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return L0e({next:o(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:o(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(sn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(or(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});as.neighbourhood=as.neighborhood;as.closedNeighbourhood=as.closedNeighborhood;as.openNeighbourhood=as.openNeighborhood;pr(as,{source:Ml(o(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:Ml(o(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:Qpe({attr:"source"}),targets:Qpe({attr:"target"})});o(Qpe,"defineSourceFunction");pr(as,{edgesWith:Ml(Zpe(),"edgesWith"),edgesTo:Ml(Zpe({thisIsSrc:!0}),"edgesTo")});o(Zpe,"defineEdgesWithFunction");pr(as,{connectedEdges:Ml(function(t){for(var e=[],r=this,n=0;n0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});as.componentsOf=as.components;Va=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){ui("A collection must have a reference to the core");return}var a=new Oh,s=!1;if(!r)r=[];else if(r.length>0&&sn(r[0])&&!Qb(r[0])){s=!0;for(var l=[],u=new ry,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],l,u=0,h=r.length;u0){for(var F=l.length===r.length?r:new Va(n,l),G=0;G0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var M=D._private.edges,R=0;R0&&(t?N.emitAndNotify("remove"):e&&N.emit("remove"));for(var C=0;Cf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")})(),Wn=o(function(e,r,n,i){var a=SZe(e,r,n,i);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),$S={linear:o(function(e,r,n){return e+(r-e)*n},"linear"),ease:Wn(.25,.1,.25,1),"ease-in":Wn(.42,0,1,1),"ease-out":Wn(0,0,.58,1),"ease-in-out":Wn(.42,0,.58,1),"ease-in-sine":Wn(.47,0,.745,.715),"ease-out-sine":Wn(.39,.575,.565,1),"ease-in-out-sine":Wn(.445,.05,.55,.95),"ease-in-quad":Wn(.55,.085,.68,.53),"ease-out-quad":Wn(.25,.46,.45,.94),"ease-in-out-quad":Wn(.455,.03,.515,.955),"ease-in-cubic":Wn(.55,.055,.675,.19),"ease-out-cubic":Wn(.215,.61,.355,1),"ease-in-out-cubic":Wn(.645,.045,.355,1),"ease-in-quart":Wn(.895,.03,.685,.22),"ease-out-quart":Wn(.165,.84,.44,1),"ease-in-out-quart":Wn(.77,0,.175,1),"ease-in-quint":Wn(.755,.05,.855,.06),"ease-out-quint":Wn(.23,1,.32,1),"ease-in-out-quint":Wn(.86,0,.07,1),"ease-in-expo":Wn(.95,.05,.795,.035),"ease-out-expo":Wn(.19,1,.22,1),"ease-in-out-expo":Wn(1,0,0,1),"ease-in-circ":Wn(.6,.04,.98,.335),"ease-out-circ":Wn(.075,.82,.165,1),"ease-in-out-circ":Wn(.785,.135,.15,.86),spring:o(function(e,r,n){if(n===0)return $S.linear;var i=CZe(e,r,n);return function(a,s,l){return a+(s-a)*i(l)}},"spring"),"cubic-bezier":Wn};o(e0e,"getEasedValue");o(t0e,"getValue");o(z1,"ease");o(AZe,"step$1");o(Rb,"valid");o(_Ze,"startAnimation");o(r0e,"stepAll");DZe={animate:kn.animate(),animation:kn.animation(),animated:kn.animated(),clearQueue:kn.clearQueue(),delay:kn.delay(),delayAnimation:kn.delayAnimation(),stop:kn.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&YS(o(function(a){r0e(a,e),r()},"animationStep"))}o(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(o(function(a,s){r0e(s,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},RZe={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&Qb(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},RS=o(function(e){return or(e)?new wd(e):e},"argSelector"),Ome={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new mC(RZe,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,n){return this.emitter().on(e,RS(r),n),this},"on"),removeListener:o(function(e,r,n){return this.emitter().removeListener(e,RS(r),n),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,n){return this.emitter().one(e,RS(r),n),this},"one"),once:o(function(e,r,n){return this.emitter().one(e,RS(r),n),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};kn.eventAliasesOn(Ome);qP={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};qP.jpeg=qP.jpg;zS={layout:o(function(e){var r=this;if(e==null){ui("Layout options must be specified to make a layout");return}if(e.name==null){ui("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){ui("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;or(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(pr({},e,{cy:r,eles:a}));return s},"layout")};zS.createLayout=zS.makeLayout=zS.layout;LZe={notify:o(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};UP.invalidateDimensions=UP.resize;GS={collection:o(function(e,r){return or(e)?this.$(e):jo(e)?e.collection():$n(e)?(r||(r={}),new Va(this,e,r.unique,r.removed)):new Va(this)},"collection"),nodes:o(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};GS.elements=GS.filter=GS.$;Ea={},Bb="t",MZe="f";Ea.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(E=1),l.color){var k=n.valueMin[0],S=n.valueMax[0],A=n.valueMin[1],L=n.valueMax[1],I=n.valueMin[2],N=n.valueMax[2],C=n.valueMin[3]==null?1:n.valueMin[3],_=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(k+(S-k)*E),Math.round(A+(L-A)*E),Math.round(I+(N-I)*E),Math.round(C+(_-C)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(l.number){var M=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,M,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case s.data:{for(var R=n.field.split("."),P=d.data,B=0;B0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};Ea.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],l=i(s);t.removed()||l!=null&&l(r,n,t)&&a(s)};Ea.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};Ea.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};Ea.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ea.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ea.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};iT={};iT.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){En("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new wd(d);if(p.invalid){En("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){En("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],T=x[2],E=e.properties[b];if(!E){En("Skipping property: Invalid property name in: "+s),u();continue}var w=r.parse(b,T);if(!w){En("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:T}),u()}if(g){l();break}r.selector(d);for(var k=0;k=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return En("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var T;if(u?T=e.split(/\s+/):$n(e)?T=e:T=[e],h.evenMultiple&&T.length%2!==0)return null;for(var E=[],w=[],k=[],S="",A=!1,L=0;L0?" ":"")+I.strValue}return h.validate&&!h.validate(E,w)?null:h.singleEnum&&A?E.length===1&&or(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:k,strValue:S,bypass:r,units:w}}var N=o(function(){for(var ee=0;eeh.max||h.strictMax&&e===h.max))return null;var R={name:t,value:e,strValue:""+e+(C||""),units:C,bypass:r};return h.unitless||C!=="px"&&C!=="em"?R.pfValue=e:R.pfValue=C==="px"||!C?e:this.getEmSizeInPixels()*e,(C==="ms"||C==="s")&&(R.pfValue=C==="ms"?e:1e3*e),(C==="deg"||C==="rad")&&(R.pfValue=C==="rad"?e:RXe(e)),C==="%"&&(R.pfValue=e/100),R}else if(h.propList){var P=[],B=""+e;if(B!=="none"){for(var F=B.split(/\s*,\s*|\s+/),G=0;G0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((s-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),Nt(e)?s=e:sn(e)&&(s=e.level,e.position!=null?a=lC(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;Nt(h.x)&&(r.pan.x=h.x,l=!1),Nt(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(or(e)){var n=e;e=this.mutableElements().filter(n)}else jo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=o(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};q0.centre=q0.center;q0.autolockNodes=q0.autolock;q0.autoungrabifyNodes=q0.autoungrabify;Yb={data:kn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:kn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:kn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:kn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Yb.attr=Yb.data;Yb.removeAttr=Yb.removeData;jb=o(function(e){var r=this;e=pr({},e);var n=e.container;n&&!HS(n)&&HS(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=na!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=pr({name:s?"grid":"null"},l.layout),l.renderer=pr({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new Va(this),listeners:[],aniEles:new Va(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:Nt(l.zoom)?l.zoom:1,pan:{x:sn(l.pan)&&Nt(l.pan.x)?l.pan.x:0,y:sn(l.pan)&&Nt(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(Eje);if(v)return ny.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=pr({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(sn(g)||$n(g))&&r.add(g),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=pr({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,Ei(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,l=!!t.boundingBox,u=Ms(l?t.boundingBox:structuredClone(e.extent())),h;if(jo(t.roots))h=t.roots;else if($n(t.roots)){for(var f=[],d=0;d0;){var D=_(),M=L(D,N);if(M)D.outgoers().filter(function(_e){return _e.isNode()&&r.has(_e)}).forEach(C);else if(M===null){En("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var R=0;if(t.avoidOverlap)for(var P=0;P0&&x[0].length<=3?Be/2:0),Ge=2*Math.PI/x[Ke].length*Te;return Ke===0&&x[0].length===1&&(Ue=1),{x:Z.x+Ue*Math.cos(Ge),y:Z.y+Ue*Math.sin(Ge)}}else{var Ne=x[Ke].length,We=Math.max(Ne===1?0:l?(u.w-t.padding*2-xe.w)/((t.grid?Se:Ne)-1):(u.w-t.padding*2-xe.w)/((t.grid?Se:Ne)+1),R),j={x:Z.x+(Te+1-(Ne+1)/2)*We,y:Z.y+(Ke+1-(H+1)/2)*de};return j}},"getPositionTopBottom"),ke={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(ke).indexOf(t.direction)===-1&&ui("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(ke).join(", ")));var we=o(function($e){return Jje(Me($e),u,ke[t.direction])},"getPosition");return r.nodes().layoutPositions(this,t,we),this};FZe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Bme,"CircleLayout");Bme.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=Ms(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),T=Math.sqrt(d*d/(x*x+b*b));f=Math.max(T,f)}var E=o(function(k,S){var A=e.startAngle+S*h*(i?1:-1),L=f*Math.cos(A),I=f*Math.sin(A),N={x:l.x+L,y:l.y+I};return N},"getPos");return n.nodes().layoutPositions(this,e,E),this};$Ze={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Fme,"ConcentricLayout");Fme.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=Ms(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var w=Math.abs(b[0].value-E.value);w>=v&&(b=[],x.push(b))}b.push(E)}var k=h+e.minNodeSpacing;if(!e.avoidOverlap){var S=x.length>0&&x[0].length>1,A=Math.min(s.w,s.h)/2-k,L=A/(x.length+S?1:0);k=Math.min(k,L)}for(var I=0,N=0;N1&&e.avoidOverlap){var M=Math.cos(D)-Math.cos(0),R=Math.sin(D)-Math.sin(0),P=Math.sqrt(k*k/(M*M+R*R));I=Math.max(P,I)}C.r=I,I+=k}if(e.equidistant){for(var B=0,F=0,G=0;G=t.numIter||(HZe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),YS(f)}},"frame");f()}else{for(;h;)h=s(u),u++;a0e(n,t),l()}return this};bC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};bC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};GZe=o(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=Ms(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(A);for(var f=0;fi.count?0:i.graph},"findLCA"),$me=o(function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=eC(e,l,u),v=eC(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,T=x*x+b*b,p=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),XZe=o(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},"nodesOverlap"),eC=o(function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=n/r,h=s/l,f={};return r===0&&0n?(f.x=i,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+s*r/2/n,f.y=a+s/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-s*r/2/n,f.y=a-s/2),f)},"findClippingPoint"),KZe=o(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),ZZe=o(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),Gme=o(function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),tJe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Vme,"GridLayout");Vme.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Ms(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(Q){if(Q==null)return Math.min(u,h);var H=Math.min(u,h);H==u?u=Q:h=Q},"small"),d=o(function(Q){if(Q==null)return Math.max(u,h);var H=Math.max(u,h);H==u?u=Q:h=Q},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,T=a.h/u;if(e.condense&&(b=0,T=0),e.avoidOverlap)for(var E=0;E=h&&(M=0,D++)},"moveToNextCell"),P={},B=0;B(M=UXe(t,e,R[P],R[P+1],R[P+2],R[P+3])))return v(S,M),!0}else if(L.edgeType==="bezier"||L.edgeType==="multibezier"||L.edgeType==="self"||L.edgeType==="compound"){for(var R=L.allpts,P=0;P+5(M=qXe(t,e,R[P],R[P+1],R[P+2],R[P+3],R[P+4],R[P+5])))return v(S,M),!0}for(var B=B||A.source,F=F||A.target,G=i.getArrowWidth(I,N),$=[{name:"source",x:L.arrowStartX,y:L.arrowStartY,angle:L.srcArrowAngle},{name:"target",x:L.arrowEndX,y:L.arrowEndY,angle:L.tgtArrowAngle},{name:"mid-source",x:L.midX,y:L.midY,angle:L.midsrcArrowAngle},{name:"mid-target",x:L.midX,y:L.midY,angle:L.midtgtArrowAngle}],P=0;P<$.length;P++){var V=$[P],X=a.arrowShapes[S.pstyle(V.name+"-arrow-shape").value],Q=S.pstyle("width").pfValue;if(X.roughCollide(t,e,G,V.angle,{x:V.x,y:V.y},Q,f)&&X.collide(t,e,G,V.angle,{x:V.x,y:V.y},Q,f))return v(S),!0}h&&l.length>0&&(x(B),x(F))}o(b,"checkEdge");function T(S,A,L){return yo(S,A,L)}o(T,"preprop");function E(S,A){var L=S._private,I=p,N;A?N=A+"-":N="",S.boundingBox();var C=L.labelBounds[A||"main"],_=S.pstyle(N+"label").value,D=S.pstyle("text-events").strValue==="yes";if(!(!D||!_)){var M=T(L.rscratch,"labelX",A),R=T(L.rscratch,"labelY",A),P=T(L.rscratch,"labelAngle",A),B=S.pstyle(N+"text-margin-x").pfValue,F=S.pstyle(N+"text-margin-y").pfValue,G=C.x1-I-B,$=C.x2+I-B,V=C.y1-I-F,X=C.y2+I-F;if(P){var Q=Math.cos(P),H=Math.sin(P),ie=o(function(xe,de){return xe=xe-M,de=de-R,{x:xe*Q-de*H+M,y:xe*H+de*Q+R}},"rotate"),Y=ie(G,V),le=ie(G,X),ee=ie($,V),J=ie($,X),te=[Y.x+B,Y.y+F,ee.x+B,ee.y+F,J.x+B,J.y+F,le.x+B,le.y+F];if(vo(t,e,te))return v(S),!0}else if(md(C,t,e))return v(S),!0}}o(E,"checkLabel");for(var w=s.length-1;w>=0;w--){var k=s[w];k.isNode()?x(k)||E(k):b(k)||E(k)||E(k,"source")||E(k,"target")}return l};W0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,l=[],u=Math.min(t,r),h=Math.max(t,r),f=Math.min(e,n),d=Math.max(e,n);t=u,r=h,e=f,n=d;var p=Ms({x1:t,y1:e,x2:r,y2:n}),m=[{x:p.x1,y:p.y1},{x:p.x2,y:p.y1},{x:p.x2,y:p.y2},{x:p.x1,y:p.y2}],g=[[m[0],m[1]],[m[1],m[2]],[m[2],m[3]],[m[3],m[0]]];function y(xe,de,Se){return yo(xe,de,Se)}o(y,"preprop");function v(xe,de){var Se=xe._private,Me=s,ke="";xe.boundingBox();var we=Se.labelBounds.main;if(!we)return null;var _e=y(Se.rscratch,"labelX",de),$e=y(Se.rscratch,"labelY",de),fe=y(Se.rscratch,"labelAngle",de),Ke=xe.pstyle(ke+"text-margin-x").pfValue,Te=xe.pstyle(ke+"text-margin-y").pfValue,Be=we.x1-Me-Ke,Ue=we.x2+Me-Ke,Ge=we.y1-Me-Te,Ne=we.y2+Me-Te;if(fe){var We=Math.cos(fe),j=Math.sin(fe),ae=o(function(ce,z){return ce=ce-_e,z=z-$e,{x:ce*We-z*j+_e,y:ce*j+z*We+$e}},"rotate");return[ae(Be,Ge),ae(Ue,Ge),ae(Ue,Ne),ae(Be,Ne)]}else return[{x:Be,y:Ge},{x:Ue,y:Ge},{x:Ue,y:Ne},{x:Be,y:Ne}]}o(v,"getRotatedLabelBox");function x(xe,de,Se,Me){function ke(we,_e,$e){return($e.y-we.y)*(_e.x-we.x)>(_e.y-we.y)*($e.x-we.x)}return o(ke,"ccw"),ke(xe,Se,Me)!==ke(de,Se,Me)&&ke(xe,de,Se)!==ke(xe,de,Me)}o(x,"doLinesIntersect");for(var b=0;b0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),oJe=o(function(e,r,n,i,a){if(e!==u0e?h0e(r,e,Su):sJe(Ll,Su),h0e(r,n,Ll),l0e=Su.nx*Ll.ny-Su.ny*Ll.nx,c0e=Su.nx*Ll.nx-Su.ny*-Ll.ny,Mh=Math.asin(Math.max(-1,Math.min(1,l0e))),Math.abs(Mh)<1e-6){WP=r.x,HP=r.y,P0=V1=0;return}F0=1,VS=!1,c0e<0?Mh<0?Mh=Math.PI+Mh:(Mh=Math.PI-Mh,F0=-1,VS=!0):Mh>0&&(F0=-1,VS=!0),r.radius!==void 0?V1=r.radius:V1=i,N0=Mh/2,LS=Math.min(Su.len/2,Ll.len/2),a?(ku=Math.abs(Math.cos(N0)*V1/Math.sin(N0)),ku>LS?(ku=LS,P0=Math.abs(ku*Math.sin(N0)/Math.cos(N0))):P0=V1):(ku=Math.min(LS,V1),P0=Math.abs(ku*Math.sin(N0)/Math.cos(N0))),YP=r.x+Ll.nx*ku,jP=r.y+Ll.ny*ku,WP=YP-Ll.ny*P0*F0,HP=jP+Ll.nx*P0*F0,Hme=r.x+Su.nx*ku,Yme=r.y+Su.ny*ku,u0e=r},"calcCornerArc");o(jme,"drawPreparedRoundCorner");o(TB,"getRoundCorner");Xb=.01,lJe=Math.sqrt(2*Xb),os={};os.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(w,k,S,A){var L=A-k,I=S-w,N=Math.sqrt(I*I+L*L);return{x:-L/N,y:I/N}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=Wi(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Wi(y,2),x=v[0],b=v[1],T={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=T}else En("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};os.findHaystackPoints=function(t){for(var e=0;e0?Math.max(z-ne,0):Math.min(z+ne,0)},"subDWH"),_=C(I,A),D=C(N,L),M=!1;b===h?x=Math.abs(_)>Math.abs(D)?i:n:b===u||b===l?(x=n,M=!0):(b===a||b===s)&&(x=i,M=!0);var R=x===n,P=R?D:_,B=R?N:I,F=lB(B),G=!1;!(M&&(E||k))&&(b===l&&B<0||b===u&&B>0||b===a&&B>0||b===s&&B<0)&&(F*=-1,P=F*Math.abs(P),G=!0);var $;if(E){var V=w<0?1+w:w;$=V*P}else{var X=w<0?P:0;$=X+w*F}var Q=o(function(z){return Math.abs(z)=Math.abs(P)},"getIsTooClose"),H=Q($),ie=Q(Math.abs(P)-Math.abs($)),Y=H||ie;if(Y&&!G)if(R){var le=Math.abs(B)<=p/2,ee=Math.abs(I)<=m/2;if(le){var J=(f.x1+f.x2)/2,te=f.y1,Z=f.y2;r.segpts=[J,te,J,Z]}else if(ee){var xe=(f.y1+f.y2)/2,de=f.x1,Se=f.x2;r.segpts=[de,xe,Se,xe]}else r.segpts=[f.x1,f.y2]}else{var Me=Math.abs(B)<=d/2,ke=Math.abs(N)<=g/2;if(Me){var we=(f.y1+f.y2)/2,_e=f.x1,$e=f.x2;r.segpts=[_e,we,$e,we]}else if(ke){var fe=(f.x1+f.x2)/2,Ke=f.y1,Te=f.y2;r.segpts=[fe,Ke,fe,Te]}else r.segpts=[f.x2,f.y1]}else if(R){var Be=f.y1+$+(v?p/2*F:0),Ue=f.x1,Ge=f.x2;r.segpts=[Ue,Be,Ge,Be]}else{var Ne=f.x1+$+(v?d/2*F:0),We=f.y1,j=f.y2;r.segpts=[Ne,We,Ne,j]}if(r.isRound){var ae=t.pstyle("taxi-radius").value,U=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(ae),r.isArcRadius=new Array(r.segpts.length/2).fill(U)}};os.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!Nt(r.startX)||!Nt(r.startY),v=!Nt(r.arrowStartX)||!Nt(r.arrowStartY),x=!Nt(r.endX)||!Nt(r.endY),b=!Nt(r.arrowEndX)||!Nt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,w=T*E,k=G0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),S=kB.poolIndex()){var F=P;P=B,B=F}var G=_.srcPos=P.position(),$=_.tgtPos=B.position(),V=_.srcW=P.outerWidth(),X=_.srcH=P.outerHeight(),Q=_.tgtW=B.outerWidth(),H=_.tgtH=B.outerHeight(),ie=_.srcShape=r.nodeShapes[e.getNodeShape(P)],Y=_.tgtShape=r.nodeShapes[e.getNodeShape(B)],le=_.srcCornerRadius=P.pstyle("corner-radius").value==="auto"?"auto":P.pstyle("corner-radius").pfValue,ee=_.tgtCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,J=_.tgtRs=B._private.rscratch,te=_.srcRs=P._private.rscratch;_.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Z=0;Z<_.eles.length;Z++){var xe=_.eles[Z],de=xe[0]._private.rscratch,Se=xe.pstyle("curve-style").value,Me=Se==="unbundled-bezier"||pd(Se,"segments")||pd(Se,"taxi"),ke=!P.same(xe.source());if(!_.calculatedIntersection&&P!==B&&(_.hasBezier||_.hasUnbundled)){_.calculatedIntersection=!0;var we=ie.intersectLine(G.x,G.y,V,X,$.x,$.y,0,le,te),_e=_.srcIntn=we,$e=Y.intersectLine($.x,$.y,Q,H,G.x,G.y,0,ee,J),fe=_.tgtIntn=$e,Ke=_.intersectionPts={x1:we[0],x2:$e[0],y1:we[1],y2:$e[1]},Te=_.posPts={x1:G.x,x2:$.x,y1:G.y,y2:$.y},Be=$e[1]-we[1],Ue=$e[0]-we[0],Ge=Math.sqrt(Ue*Ue+Be*Be);Nt(Ge)&&Ge>=lJe||(Ge=Math.sqrt(Math.max(Ue*Ue,Xb)+Math.max(Be*Be,Xb)));var Ne=_.vector={x:Ue,y:Be},We=_.vectorNorm={x:Ne.x/Ge,y:Ne.y/Ge},j={x:-We.y,y:We.x};_.nodesOverlap=!Nt(Ge)||Y.checkPoint(we[0],we[1],0,Q,H,$.x,$.y,ee,J)||ie.checkPoint($e[0],$e[1],0,V,X,G.x,G.y,le,te),_.vectorNormInverse=j,D={nodesOverlap:_.nodesOverlap,dirCounts:_.dirCounts,calculatedIntersection:!0,hasBezier:_.hasBezier,hasUnbundled:_.hasUnbundled,eles:_.eles,srcPos:$,srcRs:J,tgtPos:G,tgtRs:te,srcW:Q,srcH:H,tgtW:V,tgtH:X,srcIntn:fe,tgtIntn:_e,srcShape:Y,tgtShape:ie,posPts:{x1:Te.x2,y1:Te.y2,x2:Te.x1,y2:Te.y1},intersectionPts:{x1:Ke.x2,y1:Ke.y2,x2:Ke.x1,y2:Ke.y1},vector:{x:-Ne.x,y:-Ne.y},vectorNorm:{x:-We.x,y:-We.y},vectorNormInverse:{x:-j.x,y:-j.y}}}var ae=ke?D:_;de.nodesOverlap=ae.nodesOverlap,de.srcIntn=ae.srcIntn,de.tgtIntn=ae.tgtIntn,de.isRound=Se.startsWith("round"),i&&(P.isParent()||P.isChild()||B.isParent()||B.isChild())&&(P.parents().anySame(B)||B.parents().anySame(P)||P.same(B)&&P.isParent())?e.findCompoundLoopPoints(xe,ae,Z,Me):P===B?e.findLoopPoints(xe,ae,Z,Me):Se.endsWith("segments")?e.findSegmentsPoints(xe,ae):Se.endsWith("taxi")?e.findTaxiPoints(xe,ae):Se==="straight"||!Me&&_.eles.length%2===1&&Z===Math.floor(_.eles.length/2)?e.findStraightEdgePoints(xe):e.findBezierPoints(xe,ae,Z,Me,ke),e.findEndpoints(xe),e.tryToCorrectInvalidPoints(xe,ae),e.checkForInvalidEdgeWarning(xe),e.storeAllpts(xe),e.storeEdgeProjections(xe),e.calculateArrowAngles(xe),e.recalculateEdgeLabelProjections(xe),e.calculateLabelAngles(xe)}},"_loop"),S=0;S0){var we=h,_e=O0(we,H1(s)),$e=O0(we,H1(ke)),fe=_e;if($e<_e&&(s=ke,fe=$e),ke.length>2){var Ke=O0(we,{x:ke[2],y:ke[3]});Ke0){var se=f,be=O0(se,H1(s)),pe=O0(se,H1(ne)),me=be;if(pe2){var Re=O0(se,{x:ne[2],y:ne[3]});Re=g||S){v={cp:E,segment:k};break}}if(v)break}var A=v.cp,L=v.segment,I=(g-x)/L.length,N=L.t1-L.t0,C=m?L.t0+N*I:L.t1-N*I;C=qb(0,C,1),e=X1(A.p0,A.p1,A.p2,C),p=uJe(A.p0,A.p1,A.p2,C);break}case"straight":case"segments":case"haystack":{for(var _=0,D,M,R,P,B=n.allpts.length,F=0;F+3=g));F+=2);var G=g-M,$=G/D;$=qb(0,$,1),e=NXe(R,P,$),p=Qme(R,P);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};_u.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};_u.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=z0(n,t._private.labelDimsKey);if(yo(r.rscratch,"prefixedLabelDimsKey",e)!==i){Ih(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,l=t.pstyle("text-wrap").strValue,u=yo(r.rscratch,"labelWrapCachedLines",e)||[],h=l!=="wrap"?1:Math.max(u.length,1),f=a.height/h,d=f*s,p=a.width,m=a.height+(h-1)*(s-1)*f;Ih(r.rstyle,"labelWidth",e,p),Ih(r.rscratch,"labelWidth",e,p),Ih(r.rstyle,"labelHeight",e,m),Ih(r.rscratch,"labelHeight",e,m),Ih(r.rscratch,"labelLineHeight",e,d)}};_u.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(X,Q){return Q?(Ih(r.rscratch,X,e,Q),Q):yo(r.rscratch,X,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=i.split(` +`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var w=x.matchAll(y),k="",S=0,A=xo(w),L;try{for(A.s();!(L=A.n()).done;){var I=L.value,N=I[0],C=x.substring(S,I.index);S=I.index+N.length;var _=k.length===0?C:k+C+N,D=this.calculateLabelDimensions(t,_),M=D.width;M<=d?k+=C+N:(k&&g.push(k),k=C+N)}}catch(V){A.e(V)}finally{A.f()}k.match(/^[\s\u200b]+$/)||g.push(k)}else g.push(x)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(` +`)),s("labelWrapKey",u)}else if(l==="ellipsis"){var R=t.pstyle("text-max-width").pfValue,P="",B="\u2026",F=!1;if(this.calculateLabelDimensions(t,i).widthR)break;P+=i[G],G===i.length-1&&(F=!0)}return F||(P+=B),P}return i};_u.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};_u.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,u=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,f=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!f){f=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=f.getContext("2d");var p=f.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}d.font="".concat(s," ").concat(h," ").concat(l,"px ").concat(u);for(var m=0,g=0,y=e.split(` +`),v=0;v1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var at=a(z);ot&&(t.hoverData.tapholdCancelled=!0);var Ct=o(function(){var mt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];mt.length===0?(mt.push(et[0]),mt.push(et[1])):(mt[0]+=et[0],mt[1]+=et[1])},"updateDragDelta");se=!0,i(Pe,["mousemove","vmousemove","tapdrag"],z,{x:Re[0],y:Re[1]});var yt=o(function(mt){return{originalEvent:z,type:mt,position:{x:Re[0],y:Re[1]}}},"makeEvent"),dt=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||be.emit(yt("boxstart")),qe[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(ot){var Ht=yt("cxtdrag");oe?oe.emit(Ht):be.emit(Ht),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||Pe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(yt("cxtdragout")),t.hoverData.cxtOver=Pe,Pe&&Pe.emit(yt("cxtdragover")))}}else if(t.hoverData.dragging){if(se=!0,be.panningEnabled()&&be.userPanningEnabled()){var cr;if(t.hoverData.justStartedPan){var Kt=t.hoverData.mdownPos;cr={x:(Re[0]-Kt[0])*pe,y:(Re[1]-Kt[1])*pe},t.hoverData.justStartedPan=!1}else cr={x:et[0]*pe,y:et[1]*pe};be.panBy(cr),be.emit(yt("dragpan")),t.hoverData.dragged=!0}Re=t.projectIntoViewport(z.clientX,z.clientY)}else if(qe[4]==1&&(oe==null||oe.pannable())){if(ot){if(!t.hoverData.dragging&&be.boxSelectionEnabled()&&(at||!be.panningEnabled()||!be.userPanningEnabled()))dt();else if(!t.hoverData.selecting&&be.panningEnabled()&&be.userPanningEnabled()){var kr=s(oe,t.hoverData.downs);kr&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,qe[4]=0,t.data.bgActivePosistion=H1(ge),t.redrawHint("select",!0),t.redraw())}oe&&oe.pannable()&&oe.active()&&oe.unactivate()}}else{if(oe&&oe.pannable()&&oe.active()&&oe.unactivate(),(!oe||!oe.grabbed())&&Pe!=Xe&&(Xe&&i(Xe,["mouseout","tapdragout"],z,{x:Re[0],y:Re[1]}),Pe&&i(Pe,["mouseover","tapdragover"],z,{x:Re[0],y:Re[1]}),t.hoverData.last=Pe),oe)if(ot){if(be.boxSelectionEnabled()&&at)oe&&oe.grabbed()&&(x(he),oe.emit(yt("freeon")),he.emit(yt("free")),t.dragData.didDrag&&(oe.emit(yt("dragfreeon")),he.emit(yt("dragfree")))),dt();else if(oe&&oe.grabbed()&&t.nodeIsDraggable(oe)){var ur=!t.dragData.didDrag;ur&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||y(he,{inDragLayer:!0});var tr={x:0,y:0};if(Nt(et[0])&&Nt(et[1])&&(tr.x+=et[0],tr.y+=et[1],ur)){var hr=t.hoverData.dragDelta;hr&&Nt(hr[0])&&Nt(hr[1])&&(tr.x+=hr[0],tr.y+=hr[1])}t.hoverData.draggingEles=!0,he.silentShift(tr).emit(yt("position")).emit(yt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Ct();se=!0}if(qe[2]=Re[0],qe[3]=Re[1],se)return z.stopPropagation&&z.stopPropagation(),z.preventDefault&&z.preventDefault(),!1}},"mousemoveHandler"),!1);var C,_,D;t.registerBinding(e,"mouseup",o(function(z){if(!(t.hoverData.which===1&&z.which!==1&&t.hoverData.capture)){var ne=t.hoverData.capture;if(ne){t.hoverData.capture=!1;var se=t.cy,be=t.projectIntoViewport(z.clientX,z.clientY),pe=t.selection,me=t.findNearestElement(be[0],be[1],!0,!1),Re=t.dragData.possibleDragElements,ge=t.hoverData.down,Ie=a(z);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,ge&&ge.unactivate();var qe=o(function(Dt){return{originalEvent:z,type:Dt,position:{x:be[0],y:be[1]}}},"makeEvent");if(t.hoverData.which===3){var Pe=qe("cxttapend");if(ge?ge.emit(Pe):se.emit(Pe),!t.hoverData.cxtDragged){var Xe=qe("cxttap");ge?ge.emit(Xe):se.emit(Xe)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(me,["mouseup","tapend","vmouseup"],z,{x:be[0],y:be[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(ge,["click","tap","vclick"],z,{x:be[0],y:be[1]}),_=!1,z.timeStamp-D<=se.multiClickDebounceTime()?(C&&clearTimeout(C),_=!0,D=null,i(ge,["dblclick","dbltap","vdblclick"],z,{x:be[0],y:be[1]})):(C=setTimeout(function(){_||i(ge,["oneclick","onetap","voneclick"],z,{x:be[0],y:be[1]})},se.multiClickDebounceTime()),D=z.timeStamp)),ge==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(z)&&(se.$(r).unselect(["tapunselect"]),Re.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Re=se.collection()),me==ge&&!t.dragData.didDrag&&!t.hoverData.selecting&&me!=null&&me._private.selectable&&(t.hoverData.dragging||(se.selectionType()==="additive"||Ie?me.selected()?me.unselect(["tapunselect"]):me.select(["tapselect"]):Ie||(se.$(r).unmerge(me).unselect(["tapunselect"]),me.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var oe=se.collection(t.getAllInBox(pe[0],pe[1],pe[2],pe[3]));t.redrawHint("select",!0),oe.length>0&&t.redrawHint("eles",!0),se.emit(qe("boxend"));var et=o(function(Dt){return Dt.selectable()&&!Dt.selected()},"eleWouldBeSelected");se.selectionType()==="additive"||Ie||se.$(r).unmerge(oe).unselect(),oe.emit(qe("box")).stdFilter(et).select().emit(qe("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!pe[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var he=ge&&ge.grabbed();x(Re),he&&(ge.emit(qe("freeon")),Re.emit(qe("free")),t.dragData.didDrag&&(ge.emit(qe("dragfreeon")),Re.emit(qe("dragfree"))))}}pe[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},"mouseupHandler"),!1);var M=[],R=4,P,B=1e5,F=o(function(z,ne){for(var se=0;se=R){var be=M;if(P=F(be,5),!P){var pe=Math.abs(be[0]);P=G(be)&&pe>5}if(P)for(var me=0;me5&&(se=lB(se)*5),Xe=se/-250,P&&(Xe/=B,Xe*=3),Xe=Xe*t.wheelSensitivity;var oe=z.deltaMode===1;oe&&(Xe*=33);var et=Re.zoom()*Math.pow(10,Xe);z.type==="gesturechange"&&(et=t.gestureStartZoom*z.scale),Re.zoom({level:et,renderedPosition:{x:Pe[0],y:Pe[1]}}),Re.emit({type:z.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:z,position:{x:qe[0],y:qe[1]}})}}}},"wheelHandler");t.registerBinding(t.container,"wheel",$,!0),t.registerBinding(e,"scroll",o(function(z){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(z){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||z.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(ce){t.hasTouchStarted||$(ce)},!0),t.registerBinding(t.container,"mouseout",o(function(z){var ne=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseout",position:{x:ne[0],y:ne[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(z){var ne=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseover",position:{x:ne[0],y:ne[1]}})},"mouseOverHandler"),!1);var V,X,Q,H,ie,Y,le,ee,J,te,Z,xe,de,Se=o(function(z,ne,se,be){return Math.sqrt((se-z)*(se-z)+(be-ne)*(be-ne))},"distance"),Me=o(function(z,ne,se,be){return(se-z)*(se-z)+(be-ne)*(be-ne)},"distanceSq"),ke;t.registerBinding(t.container,"touchstart",ke=o(function(z){if(t.hasTouchStarted=!0,!!I(z)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var ne=t.cy,se=t.touchData.now,be=t.touchData.earlier;if(z.touches[0]){var pe=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);se[0]=pe[0],se[1]=pe[1]}if(z.touches[1]){var pe=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);se[2]=pe[0],se[3]=pe[1]}if(z.touches[2]){var pe=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);se[4]=pe[0],se[5]=pe[1]}var me=o(function(at){return{originalEvent:z,type:at,position:{x:se[0],y:se[1]}}},"makeEvent");if(z.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Re=t.findContainerClientCoords();J=Re[0],te=Re[1],Z=Re[2],xe=Re[3],V=z.touches[0].clientX-J,X=z.touches[0].clientY-te,Q=z.touches[1].clientX-J,H=z.touches[1].clientY-te,de=0<=V&&V<=Z&&0<=Q&&Q<=Z&&0<=X&&X<=xe&&0<=H&&H<=xe;var ge=ne.pan(),Ie=ne.zoom();ie=Se(V,X,Q,H),Y=Me(V,X,Q,H),le=[(V+Q)/2,(X+H)/2],ee=[(le[0]-ge.x)/Ie,(le[1]-ge.y)/Ie];var qe=200,Pe=qe*qe;if(Y=1){for(var It=t.touchData.startPosition=[null,null,null,null,null,null],wt=0;wt=t.touchTapThreshold2}if(ne&&t.touchData.cxt){z.preventDefault();var wt=z.touches[0].clientX-J,Rt=z.touches[0].clientY-te,it=z.touches[1].clientX-J,at=z.touches[1].clientY-te,Ct=Me(wt,Rt,it,at),yt=Ct/Y,dt=150,Ht=dt*dt,cr=1.5,Kt=cr*cr;if(yt>=Kt||Ct>=Ht){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var kr=Ie("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(kr),t.touchData.start=null):be.emit(kr)}}if(ne&&t.touchData.cxt){var kr=Ie("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(kr):be.emit(kr),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var ur=t.findNearestElement(pe[0],pe[1],!0,!0);(!t.touchData.cxtOver||ur!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(Ie("cxtdragout")),t.touchData.cxtOver=ur,ur&&ur.emit(Ie("cxtdragover")))}else if(ne&&z.touches[2]&&be.boxSelectionEnabled())z.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||be.emit(Ie("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,se[4]=1,!se||se.length===0||se[0]===void 0?(se[0]=(pe[0]+pe[2]+pe[4])/3,se[1]=(pe[1]+pe[3]+pe[5])/3,se[2]=(pe[0]+pe[2]+pe[4])/3+1,se[3]=(pe[1]+pe[3]+pe[5])/3+1):(se[2]=(pe[0]+pe[2]+pe[4])/3,se[3]=(pe[1]+pe[3]+pe[5])/3),t.redrawHint("select",!0),t.redraw();else if(ne&&z.touches[1]&&!t.touchData.didSelect&&be.zoomingEnabled()&&be.panningEnabled()&&be.userZoomingEnabled()&&be.userPanningEnabled()){z.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var tr=t.dragData.touchDragEles;if(tr){t.redrawHint("drag",!0);for(var hr=0;hr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var _e;t.registerBinding(e,"touchcancel",_e=o(function(z){var ne=t.touchData.start;t.touchData.capture=!1,ne&&ne.unactivate()},"touchcancelHandler"));var $e,fe,Ke,Te;if(t.registerBinding(e,"touchend",$e=o(function(z){var ne=t.touchData.start,se=t.touchData.capture;if(se)z.touches.length===0&&(t.touchData.capture=!1),z.preventDefault();else return;var be=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var pe=t.cy,me=pe.zoom(),Re=t.touchData.now,ge=t.touchData.earlier;if(z.touches[0]){var Ie=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);Re[0]=Ie[0],Re[1]=Ie[1]}if(z.touches[1]){var Ie=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);Re[2]=Ie[0],Re[3]=Ie[1]}if(z.touches[2]){var Ie=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);Re[4]=Ie[0],Re[5]=Ie[1]}var qe=o(function(Ht){return{originalEvent:z,type:Ht,position:{x:Re[0],y:Re[1]}}},"makeEvent");ne&&ne.unactivate();var Pe;if(t.touchData.cxt){if(Pe=qe("cxttapend"),ne?ne.emit(Pe):pe.emit(Pe),!t.touchData.cxtDragged){var Xe=qe("cxttap");ne?ne.emit(Xe):pe.emit(Xe)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!z.touches[2]&&pe.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var oe=pe.collection(t.getAllInBox(be[0],be[1],be[2],be[3]));be[0]=void 0,be[1]=void 0,be[2]=void 0,be[3]=void 0,be[4]=0,t.redrawHint("select",!0),pe.emit(qe("boxend"));var et=o(function(Ht){return Ht.selectable()&&!Ht.selected()},"eleWouldBeSelected");oe.emit(qe("box")).stdFilter(et).select().emit(qe("boxselect")),oe.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(ne?.unactivate(),z.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!z.touches[1]){if(!z.touches[0]){if(!z.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var he=t.dragData.touchDragEles;if(ne!=null){var ot=ne._private.grabbed;x(he),t.redrawHint("drag",!0),t.redrawHint("eles",!0),ot&&(ne.emit(qe("freeon")),he.emit(qe("free")),t.dragData.didDrag&&(ne.emit(qe("dragfreeon")),he.emit(qe("dragfree")))),i(ne,["touchend","tapend","vmouseup","tapdragout"],z,{x:Re[0],y:Re[1]}),ne.unactivate(),t.touchData.start=null}else{var Dt=t.findNearestElement(Re[0],Re[1],!0,!0);i(Dt,["touchend","tapend","vmouseup","tapdragout"],z,{x:Re[0],y:Re[1]})}var It=t.touchData.startPosition[0]-Re[0],wt=It*It,Rt=t.touchData.startPosition[1]-Re[1],it=Rt*Rt,at=wt+it,Ct=at*me*me;t.touchData.singleTouchMoved||(ne||pe.$(":selected").unselect(["tapunselect"]),i(ne,["tap","vclick"],z,{x:Re[0],y:Re[1]}),fe=!1,z.timeStamp-Te<=pe.multiClickDebounceTime()?(Ke&&clearTimeout(Ke),fe=!0,Te=null,i(ne,["dbltap","vdblclick"],z,{x:Re[0],y:Re[1]})):(Ke=setTimeout(function(){fe||i(ne,["onetap","voneclick"],z,{x:Re[0],y:Re[1]})},pe.multiClickDebounceTime()),Te=z.timeStamp)),ne!=null&&!t.dragData.didDrag&&ne._private.selectable&&Ct"u"){var Be=[],Ue=o(function(z){return{clientX:z.clientX,clientY:z.clientY,force:1,identifier:z.pointerId,pageX:z.pageX,pageY:z.pageY,radiusX:z.width/2,radiusY:z.height/2,screenX:z.screenX,screenY:z.screenY,target:z.target}},"makeTouch"),Ge=o(function(z){return{event:z,touch:Ue(z)}},"makePointer"),Ne=o(function(z){Be.push(Ge(z))},"addPointer"),We=o(function(z){for(var ne=0;ne0)return V[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:J0e(a,s,e,r,n,i,l,u)},"intersectLine"),checkPoint:o(function(e,r,n,i,a,s,l,u){u=u==="auto"?Td(i,a):u;var h=2*u;if(Bh(e,r,this.points,s,l,i,a-h,[0,-1],n)||Bh(e,r,this.points,s,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(vo(e,r,p)||$0(e,r,h,h,s+i/2-u,l+a/2-u,n)||$0(e,r,h,h,s-i/2+u,l+a/2-u,n))},"checkPoint")}};Fh.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ns(3,0)),this.generateRoundPolygon("round-triangle",Ns(3,0)),this.generatePolygon("rectangle",Ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Ns(5,0)),this.generateRoundPolygon("round-pentagon",Ns(5,0)),this.generatePolygon("hexagon",Ns(6,0)),this.generateRoundPolygon("round-hexagon",Ns(6,0)),this.generatePolygon("heptagon",Ns(7,0)),this.generateRoundPolygon("round-heptagon",Ns(7,0)),this.generatePolygon("octagon",Ns(8,0)),this.generateRoundPolygon("round-octagon",Ns(8,0));var n=new Array(20);{var i=OP(5,0),a=OP(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*E)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(T>=e.deqNoDrawCost*CP)break;var w=e.deq(n,v,y);if(w.length>0)for(var k=0;k0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||aB;i.beforeRender(s,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},fJe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:jS;Sd(this,t),this.idsByKey=new Oh,this.keyForId=new Oh,this.cachesByLvl=new Oh,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),Cd(t,[{key:"getIdsFor",value:o(function(r){r==null&&ui("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new ry,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Oh,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:o(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:o(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:o(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:o(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:o(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}])})(),m0e=25,NS=50,qS=-4,XP=3,nge=7.99,dJe=8,pJe=1024,mJe=1024,gJe=1024,yJe=.2,vJe=.8,xJe=10,bJe=.15,TJe=.1,wJe=.9,kJe=.9,EJe=100,SJe=1,j1={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},CJe=qa({getKey:null,doesEleInvalidateKey:jS,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:H0e,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Pb=o(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=CJe(r);pr(n,i),n.lookup=new fJe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),sa=Pb.prototype;sa.reasons=j1;sa.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};sa.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};sa.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new rT(function(r,n){return n.reqs-r.reqs});return e};sa.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};sa.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oB(l*r))),n=nge||n>XP)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=m0e?g=m0e:f<=NS?g=NS:g=Math.ceil(f/NS)*NS,f>gJe||d>mJe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;N--)L=a.getElement(t,e,r,N,j1.downscale);I()}else return a.queueElement(t,k.level-1),k;else{var C;if(!T&&!E&&!w)for(var _=n-1;_>=qS;_--){var D=u.get(t,_);if(D){C=D;break}}if(b(C))return a.queueElement(t,n),C;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+dJe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};sa.invalidateElements=function(t){for(var e=0;e=yJe*t.width&&this.retireTexture(t)};sa.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>vJe&&t.fullnessChecks>=xJe?bd(r,t):t.fullnessChecks++};sa.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;bd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sB(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),bd(i,s),n.push(s),s}};sa.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};sa.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,j1.dequeue)}return i};sa.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iB,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};sa.onDequeue=function(t){this.onDequeues.push(t)};sa.offDequeue=function(t){bd(this.onDequeues,t)};sa.setupDequeueing=rge.setupDequeueing({deqRedrawThreshold:EJe,deqCost:bJe,deqAvgCost:TJe,deqNoDrawCost:wJe,deqFastCost:kJe,deq:o(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:o(function(e,r){for(var n=0;n=_Je||r>rC)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=o(function(){var I=o(function(M){if(n.validateLayersElesOrdering(M,t),n.levelIsComplete(M,t))return m=u[M],!0},"canUseAsTmpLvl"),N=o(function(M){if(!m)for(var R=r+M;Fb<=R&&R<=rC&&!I(R);R+=M);},"checkLvls");N(1),N(-1);for(var C=f.length-1;C>=0;C--){var _=f[C];_.invalid&&bd(f,_)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=Ms();for(var I=0;Iy0e||_>y0e)return null;var D=C*_;if(D>PJe)return null;var M=n.makeLayer(d,r);if(N!=null){var R=f.indexOf(N)+1;f.splice(R,0,M)}else(I.insert===void 0||I.insert)&&f.unshift(M);return M},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/AJe,T=!l,E=0;E=b||!Z0e(x.bb,w.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||T?n.queueLayer(x,w):n.drawEleInLayer(x,w,r,e),x.eles.push(w),S[r]=x}return m||(T?null:f)};Ua.getEleLevelForLayerLevel=function(t,e){return t};Ua.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,BJe),a.setImgSmoothing(s,!0))};Ua.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ua.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ua.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ph(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};Ua.invalidateLayer=function(t){if(this.lastInvalidationTime=Ph(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];bd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,T=o(function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,M),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,M),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),E=o(function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],M);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),w=o(function(){i&&s.drawEdgeOverlay(t,e)},"drawOverlay"),k=o(function(){i&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),S=o(function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,M)},"drawArrows"),A=o(function(){s.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var L=e.pstyle("ghost").value==="yes";if(L){var I=e.pstyle("ghost-offset-x").pfValue,N=e.pstyle("ghost-offset-y").pfValue,C=e.pstyle("ghost-opacity").value,_=x*C;t.translate(I,N),T(_),S(_),t.translate(-I,-N)}else E();k(),T(),S(),w(),A(),r&&t.translate(u.x1,u.y1)}};sge=o(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");$h.drawEdgeOverlay=sge("overlay");$h.drawEdgeUnderlay=sge("underlay");$h.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(s=e=i.pathCache,l=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};H0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(jJe,"circle");o(T0e,"roundRect");H0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var l=yo(i,"labelAngle",e);r=t.isEdge()?l:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};H0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=yo(s,"labelX",r),h=yo(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=yo(s,"labelWidth",r),y=yo(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;b&&(T="center",E="center"),u+=v,h+=x;var w;switch(n?w=this.getTextAngle(e,r):w=0,w!==0&&(f=u,d=h,t.translate(f,d),t.rotate(w),u=0,h=0),E){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var k=e.pstyle("text-background-opacity").value,S=e.pstyle("text-border-opacity").value,A=e.pstyle("text-border-width").pfValue,L=e.pstyle("text-background-padding").pfValue,I=e.pstyle("text-background-shape").strValue,N=I==="round-rectangle"||I==="roundrectangle",C=I==="circle",_=2;if(k>0||A>0&&S>0){var D=t.fillStyle,M=t.strokeStyle,R=t.lineWidth,P=e.pstyle("text-background-color").value,B=e.pstyle("text-border-color").value,F=e.pstyle("text-border-style").value,G=k>0,$=A>0&&S>0,V=u-L;switch(T){case"left":V-=g;break;case"center":V-=g/2;break}var X=h-y-L,Q=g+2*L,H=y+2*L;if(G&&(t.fillStyle="rgba(".concat(P[0],",").concat(P[1],",").concat(P[2],",").concat(k*l,")")),$&&(t.strokeStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(S*l,")"),t.lineWidth=A,t.setLineDash))switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=A/4,t.setLineDash([]);break;case"solid":default:t.setLineDash([]);break}if(N?(t.beginPath(),T0e(t,V,X,Q,H,_)):C?(t.beginPath(),jJe(t,V,X,Q,H)):(t.beginPath(),t.rect(V,X,Q,H)),G&&t.fill(),$&&t.stroke(),$&&F==="double"){var ie=A/2;t.beginPath(),N?T0e(t,V+ie,X+ie,Q-2*ie,H-2*ie,_):t.rect(V+ie,X+ie,Q-2*ie,H-2*ie),t.stroke()}t.fillStyle=D,t.strokeStyle=M,t.lineWidth=R,t.setLineDash&&t.setLineDash([])}var Y=2*e.pstyle("text-outline-width").pfValue;if(Y>0&&(t.lineWidth=Y),e.pstyle("text-wrap").value==="wrap"){var le=yo(s,"labelWrapCachedLines",r),ee=yo(s,"labelLineHeight",r),J=g/2,te=this.getLabelJustification(e);switch(te==="auto"||(T==="left"?te==="left"?u+=-g:te==="center"&&(u+=-J):T==="center"?te==="left"?u+=-J:te==="right"&&(u+=J):T==="right"&&(te==="center"?u+=J:te==="right"&&(u+=g))),E){case"top":h-=(le.length-1)*ee;break;case"center":case"bottom":h-=(le.length-1)*ee;break}for(var Z=0;Z0&&t.strokeText(le[Z],u,h),t.fillText(le[Z],u,h),h+=ee}else Y>0&&t.strokeText(p,u,h),t.fillText(p,u,h);w!==0&&(t.rotate(-w),t.translate(-f,-d))}}};_d={};_d.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!Nt(d.x)||!Nt(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),T=b.value,E=new Array(T.length),w=new Array(T.length),k=0,S=0;S0&&arguments[0]!==void 0?arguments[0]:_;s.eleFillStyle(t,e,U)},"setupShapeColor"),ee=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;s.colorStrokeStyle(t,D[0],D[1],D[2],U)},"setupBorderColor"),J=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H;s.colorStrokeStyle(t,X[0],X[1],X[2],U)},"setupOutlineColor"),te=o(function(U,ce,z,ne){var se=s.nodePathCache=s.nodePathCache||[],be=W0e(z==="polygon"?z+","+ne.join(","):z,""+ce,""+U,""+Y),pe=se[be],me,Re=!1;return pe!=null?(me=pe,Re=!0,f.pathCache=me):(me=new Path2D,se[be]=f.pathCache=me),{path:me,cacheHit:Re}},"getPath"),Z=e.pstyle("shape").strValue,xe=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var de=te(l,u,Z,xe);g=de.path,y=de.cacheHit}var Se=o(function(){if(!y){var U=d;m&&(U={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,U.x,U.y,l,u,Y,f)}m?t.fill(g):t.fill()},"drawShape"),Me=o(function(){for(var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,z=h.backgrounding,ne=0,se=0;se0&&arguments[0]!==void 0?arguments[0]:!1,ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,ce),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f)))},"drawPie"),we=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasStripe(e)&&(t.save(),m?t.clip(f.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f),t.clip()),s.drawStripe(t,e,ce),t.restore(),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f)))},"drawStripe"),_e=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ce=(N>0?N:-N)*U,z=N>0?0:255;N!==0&&(s.colorFillStyle(t,z,z,z,ce),m?t.fill(g):t.fill())},"darken"),$e=o(function(){if(C>0){if(t.lineWidth=C,t.lineCap=P,t.lineJoin=R,t.setLineDash)switch(M){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(F),t.lineDashOffset=G;break;case"solid":case"double":t.setLineDash([]);break}if(B!=="center"){if(t.save(),t.lineWidth*=2,B==="inside")m?t.clip(g):t.clip();else{var U=new Path2D;U.rect(-l/2-C,-u/2-C,l+2*C,u+2*C),U.addPath(g),t.clip(U,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(M==="double"){t.lineWidth=C/3;var ce=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=ce}t.setLineDash&&t.setLineDash([])}},"drawBorder"),fe=o(function(){if(V>0){if(t.lineWidth=V,t.lineCap="butt",t.setLineDash)switch(Q){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var U=d;m&&(U={x:0,y:0});var ce=s.getNodeShape(e),z=C;B==="inside"&&(z=0),B==="outside"&&(z*=2);var ne=(l+z+(V+ie))/l,se=(u+z+(V+ie))/u,be=l*ne,pe=u*se,me=s.nodeShapes[ce].points,Re;if(m){var ge=te(be,pe,ce,me);Re=ge.path}if(ce==="ellipse")s.drawEllipsePath(Re||t,U.x,U.y,be,pe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ce)){var Ie=0,qe=0,Pe=0;ce==="round-diamond"?Ie=(z+ie+V)*1.4:ce==="round-heptagon"?(Ie=(z+ie+V)*1.075,Pe=-(z/2+ie+V)/35):ce==="round-hexagon"?Ie=(z+ie+V)*1.12:ce==="round-pentagon"?(Ie=(z+ie+V)*1.13,Pe=-(z/2+ie+V)/15):ce==="round-tag"?(Ie=(z+ie+V)*1.12,qe=(z/2+V+ie)*.07):ce==="round-triangle"&&(Ie=(z+ie+V)*(Math.PI/2),Pe=-(z+ie/2+V)/Math.PI),Ie!==0&&(ne=(l+Ie)/l,be=l*ne,["round-hexagon","round-tag"].includes(ce)||(se=(u+Ie)/u,pe=u*se)),Y=Y==="auto"?tme(be,pe):Y;for(var Xe=be/2,oe=pe/2,et=Y+(z+V+ie)/2,he=new Array(me.length/2),ot=new Array(me.length/2),Dt=0;Dt0){if(i=i||n.position(),a==null||s==null){var m=n.padding();a=n.width()+2*m,s=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");_d.drawNodeOverlay=oge("overlay");_d.drawNodeUnderlay=oge("underlay");_d.hasPie=function(t){return t=t[0],t._private.hasPie};_d.hasStripe=function(t){return t=t[0],t._private.hasStripe};_d.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),l=e.pstyle("pie-start-angle").pfValue,u=n.x,h=n.y,f=e.width(),d=e.height(),p=Math.min(f,d)/2,m,g=0,y=this.usePaths();if(y&&(u=0,h=0),a.units==="%"?p=p*a.pfValue:a.pfValue!==void 0&&(p=a.pfValue/2),s.units==="%"?m=p*s.pfValue:s.pfValue!==void 0&&(m=s.pfValue/2),!(m>=p))for(var v=1;v<=i.pieBackgroundN;v++){var x=e.pstyle("pie-"+v+"-background-size").value,b=e.pstyle("pie-"+v+"-background-color").value,T=e.pstyle("pie-"+v+"-background-opacity").value*r,E=x/100;E+g>1&&(E=1-g);var w=1.5*Math.PI+2*Math.PI*g;w+=l;var k=2*Math.PI*E,S=w+k;x===0||g>=1||g+E>1||(m===0?(t.beginPath(),t.moveTo(u,h),t.arc(u,h,p,w,S),t.closePath()):(t.beginPath(),t.arc(u,h,p,w,S),t.arc(u,h,m,S,w,!0),t.closePath()),this.colorFillStyle(t,b[0],b[1],b[2],T),t.fill(),g+=E)}};_d.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,l=e.width(),u=e.height(),h=0,f=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,p=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var m=l,g=u;p.units==="%"?(m=m*p.pfValue,g=g*p.pfValue):p.pfValue!==void 0&&(m=p.pfValue,g=p.pfValue),f&&(a=0,s=0),s-=m/2,a-=g/2;for(var y=1;y<=i.stripeBackgroundN;y++){var v=e.pstyle("stripe-"+y+"-background-size").value,x=e.pstyle("stripe-"+y+"-background-color").value,b=e.pstyle("stripe-"+y+"-background-opacity").value*r,T=v/100;T+h>1&&(T=1-h),!(v===0||h>=1||h+T>1)&&(t.beginPath(),t.rect(a,s+g*h,m,g*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],b),t.fill(),h+=T)}t.restore()};Is={},XJe=100;Is.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};Is.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(f[e.NODE]=!0,f[e.SELECT_BOX]=!0);var b=r.style(),T=r.zoom(),E=s!==void 0?s:T,w=r.pan(),k={x:w.x,y:w.y},S={zoom:T,pan:{x:w.x,y:w.y}},A=e.prevViewport,L=A===void 0||S.zoom!==A.zoom||S.pan.x!==A.pan.x||S.pan.y!==A.pan.y;!L&&!(y&&!g)&&(e.motionBlurPxRatio=1),l&&(k=l),E*=u,k.x*=u,k.y*=u;var I=e.getCachedZSortedEles();function N(ee,J,te,Z,xe){var de=ee.globalCompositeOperation;ee.globalCompositeOperation="destination-out",e.colorFillStyle(ee,255,255,255,e.motionBlurTransparency),ee.fillRect(J,te,Z,xe),ee.globalCompositeOperation=de}o(N,"mbclear");function C(ee,J){var te,Z,xe,de;!e.clearingMotionBlur&&(ee===h.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||ee===h.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(te={x:w.x*m,y:w.y*m},Z=T*m,xe=e.canvasWidth*m,de=e.canvasHeight*m):(te=k,Z=E,xe=e.canvasWidth,de=e.canvasHeight),ee.setTransform(1,0,0,1,0,0),J==="motionBlur"?N(ee,0,0,xe,de):!n&&(J===void 0||J)&&ee.clearRect(0,0,xe,de),i||(ee.translate(te.x,te.y),ee.scale(Z,Z)),l&&ee.translate(l.x,l.y),s&&ee.scale(s,s)}if(o(C,"setContextTransform"),d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var _=e.data.bufferContexts[e.TEXTURE_BUFFER];_.setTransform(1,0,0,1,0,0),_.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:_,drawOnlyNodeLayer:!0,forcedPxRatio:u*e.textureMult});var S=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};S.mpan={x:(0-S.pan.x)/S.zoom,y:(0-S.pan.y)/S.zoom}}f[e.DRAG]=!1,f[e.NODE]=!1;var D=h.contexts[e.NODE],M=e.textureCache.texture,S=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),p?N(D,0,0,S.width,S.height):D.clearRect(0,0,S.width,S.height);var R=b.core("outside-texture-bg-color").value,P=b.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,R[0],R[1],R[2],P),D.fillRect(0,0,S.width,S.height);var T=r.zoom();C(D,!1),D.clearRect(S.mpan.x,S.mpan.y,S.width/S.zoom/u,S.height/S.zoom/u),D.drawImage(M,S.mpan.x,S.mpan.y,S.width/S.zoom/u,S.height/S.zoom/u)}else e.textureOnViewport&&!n&&(e.textureCache=null);var B=r.extent(),F=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),G=e.hideEdgesOnViewport&&F,$=[];if($[e.NODE]=!f[e.NODE]&&p&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,$[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),$[e.DRAG]=!f[e.DRAG]&&p&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,$[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),f[e.NODE]||i||a||$[e.NODE]){var V=p&&!$[e.NODE]&&m!==1,D=n||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:h.contexts[e.NODE]),X=p&&!V?"motionBlur":void 0;C(D,X),G?e.drawCachedNodes(D,I.nondrag,u,B):e.drawLayeredElements(D,I.nondrag,u,B),e.debug&&e.drawDebugPoints(D,I.nondrag),!i&&!p&&(f[e.NODE]=!1)}if(!a&&(f[e.DRAG]||i||$[e.DRAG])){var V=p&&!$[e.DRAG]&&m!==1,D=n||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:h.contexts[e.DRAG]);C(D,p&&!V?"motionBlur":void 0),G?e.drawCachedNodes(D,I.drag,u,B):e.drawCachedElements(D,I.drag,u,B),e.debug&&e.drawDebugPoints(D,I.drag),!i&&!p&&(f[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,C),p&&m!==1){var Q=h.contexts[e.NODE],H=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ie=h.contexts[e.DRAG],Y=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],le=o(function(J,te,Z){J.setTransform(1,0,0,1,0,0),Z||!x?J.clearRect(0,0,e.canvasWidth,e.canvasHeight):N(J,0,0,e.canvasWidth,e.canvasHeight);var xe=m;J.drawImage(te,0,0,e.canvasWidth*xe,e.canvasHeight*xe,0,0,e.canvasWidth,e.canvasHeight)},"drawMotionBlur");(f[e.NODE]||$[e.NODE])&&(le(Q,H,$[e.NODE]),f[e.NODE]=!1),(f[e.DRAG]||$[e.DRAG])&&(le(ie,Y,$[e.DRAG]),f[e.DRAG]=!1)}e.prevViewport=S,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),p&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,f[e.NODE]=!0,f[e.DRAG]=!0,e.redraw()},XJe)),n||r.emit("render")};Is.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,l=t.drawAllLayers,u=i.canvasNeedsRedraw,h=t.forcedContext;if(r.showFps||!s&&u[r.SELECT_BOX]&&!l){var f=h||i.contexts[r.SELECT_BOX];if(e(f),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),p=a.core("selection-box-border-width").value/d;f.lineWidth=p,f.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",f.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),p>0&&(f.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",f.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),m=i.bgActivePosistion;f.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",f.beginPath(),f.arc(m.x,m.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),f.fill()}var g=r.lastRedrawTime;if(r.showFps&&g){g=Math.round(g);var y=Math.round(1e3/g),v="1 frame = "+g+" ms = "+y+" fps";if(f.setTransform(1,0,0,1,0,0),f.fillStyle="rgba(255, 0, 0, 0.75)",f.strokeStyle="rgba(255, 0, 0, 0.75)",f.font="30px Arial",!Lb){var x=f.measureText(v);Lb=x.actualBoundingBoxAscent}f.fillText(v,0,Lb);var b=60;f.strokeRect(0,Lb+10,250,20),f.fillRect(0,Lb+10,250*Math.min(y/b,1),20)}l||(u[r.SELECT_BOX]=!1)}};o(w0e,"compileShader");o(KJe,"createProgram");o(QJe,"createTextureCanvas");o(EB,"getEffectivePanZoom");o(ZJe,"getEffectiveZoom");o(JJe,"modelToRenderedPosition");o(eet,"isSimpleShape");o(tet,"arrayEqual");o(M0,"toWebGLColor");o(q1,"indexToVec4");o(ret,"vec4ToIndex");o(net,"createTexture");o(lge,"getTypeInfo");o(cge,"createTypedArray");o(iet,"createTypedArrayView");o(aet,"createBufferStaticDraw");o(Eu,"createBufferDynamicDraw");o(set,"create3x3MatrixBufferDynamicDraw");o(oet,"createPickingFrameBuffer");k0e=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});o(_P,"create");o(E0e,"identity");o(cet,"multiply");o(US,"translate");o(S0e,"rotate");o(KP,"scale");o(uet,"projection");het=(function(){function t(e,r,n,i){Sd(this,t),this.debugID=Math.floor(Math.random()*1e4),this.r=e,this.texSize=r,this.texRows=n,this.texHeight=Math.floor(r/n),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=i(e,r,r),this.scratch=i(e,r,this.texHeight,"scratch")}return o(t,"Atlas"),Cd(t,[{key:"lock",value:o(function(){this.locked=!0},"lock")},{key:"getKeys",value:o(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:o(function(r){var n=r.w,i=r.h,a=this.texHeight,s=this.texSize,l=a/i,u=n*l,h=i*l;return u>s&&(l=s/n,u=n*l,h=i*l),{scale:l,texW:u,texH:h}},"getScale")},{key:"draw",value:o(function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,l=this.texRows,u=this.texHeight,h=this.getScale(n),f=h.scale,d=h.texW,p=h.texH,m=o(function(T,E){if(i&&E){var w=E.context,k=T.x,S=T.row,A=k,L=u*S;w.save(),w.translate(A,L),w.scale(f,f),i(w,n),w.restore()}},"drawAt"),g=[null,null],y=o(function(){m(a.freePointer,a.canvas),g[0]={x:a.freePointer.x,y:a.freePointer.row*u,w:d,h:p},g[1]={x:a.freePointer.x+d,y:a.freePointer.row*u,w:0,h:p},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),v=o(function(){var T=a.scratch,E=a.canvas;T.clear(),m({x:0,row:0},T);var w=s-a.freePointer.x,k=d-w,S=u;{var A=a.freePointer.x,L=a.freePointer.row*u,I=w;E.context.drawImage(T,0,0,I,S,A,L,I,S),g[0]={x:A,y:L,w:I,h:p}}{var N=w,C=(a.freePointer.row+1)*u,_=k;E&&E.context.drawImage(T,N,0,_,S,0,C,_,S),g[1]={x:0,y:C,w:_,h:p}}a.freePointer.x=k,a.freePointer.row++},"drawWrapped"),x=o(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+d<=s)y();else{if(this.freePointer.row>=l-1)return!1;this.freePointer.x===s?(x(),y()):this.enableWrapping?v():(x(),y())}return this.keyToLocation.set(r,g),this.needsBuffer=!0,g},"draw")},{key:"getOffsets",value:o(function(r){return this.keyToLocation.get(r)},"getOffsets")},{key:"isEmpty",value:o(function(){return this.freePointer.x===0&&this.freePointer.row===0},"isEmpty")},{key:"canFit",value:o(function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,l=i.filterEle,u=l===void 0?function(){return!0}:l,h=i.filterType,f=h===void 0?function(){return!0}:h,d=!1,p=!1,m=xo(r),g;try{for(m.s();!(g=m.n()).done;){var y=g.value;if(u(y)){var v=xo(this.renderTypes.values()),x;try{var b=o(function(){var E=x.value,w=E.type;if(f(w)){var k=n.collections.get(E.collection),S=E.getKey(y),A=Array.isArray(S)?S:[S];if(s)A.forEach(function(C){return k.markKeyForGC(C)}),p=!0;else{var L=E.getID?E.getID(y):y.id(),I=n._key(w,L),N=n.typeAndIdToKey.get(I);N!==void 0&&!tet(A,N)&&(d=!0,n.typeAndIdToKey.delete(I),N.forEach(function(C){return k.markKeyForGC(C)}))}}},"_loop2");for(v.s();!(x=v.n()).done;)b()}catch(T){v.e(T)}finally{v.f()}}}}catch(T){m.e(T)}finally{m.f()}return p&&(this.gc(),d=!1),d},"invalidate")},{key:"gc",value:o(function(){var r=xo(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}},"gc")},{key:"getOrCreateAtlas",value:o(function(r,n,i,a){var s=this.renderTypes.get(n),l=this.collections.get(s.collection),u=!1,h=l.draw(a,i,function(p){s.drawClipped?(p.save(),p.beginPath(),p.rect(0,0,i.w,i.h),p.clip(),s.drawElement(p,r,i,!0,!0),p.restore()):s.drawElement(p,r,i,!0,!0),u=!0});if(u){var f=s.getID?s.getID(r):r.id(),d=this._key(n,f);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return h},"getOrCreateAtlas")},{key:"getAtlasInfo",value:o(function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),l=Array.isArray(s)?s:[s];return l.map(function(u){var h=a.getBoundingBox(r,u),f=i.getOrCreateAtlas(r,n,h,u),d=f.getOffsets(u),p=Wi(d,2),m=p[0],g=p[1];return{atlas:f,tex:m,tex1:m,tex2:g,bb:h}})},"getAtlasInfo")},{key:"getDebugInfo",value:o(function(){var r=[],n=xo(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Wi(i.value,2),s=a[0],l=a[1],u=l.getCounts(),h=u.keyCount,f=u.atlasCount;r.push({type:s,keyCount:h,atlasCount:f})}}catch(d){n.e(d)}finally{n.f()}return r},"getDebugInfo")}])})(),met=(function(){function t(e){Sd(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return o(t,"AtlasBatchManager"),Cd(t,[{key:"getMaxAtlasesPerBatch",value:o(function(){return this.maxAtlasesPerBatch},"getMaxAtlasesPerBatch")},{key:"getAtlasSize",value:o(function(){return this.atlasSize},"getAtlasSize")},{key:"getIndexArray",value:o(function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})},"getIndexArray")},{key:"startBatch",value:o(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:o(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:o(function(){return this.batchAtlases},"getAtlases")},{key:"canAddToCurrentBatch",value:o(function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0},"canAddToCurrentBatch")},{key:"getAtlasIndexForBatch",value:o(function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n},"getAtlasIndexForBatch")}])})(),get=` float circleSD(vec2 p, float r) { return distance(vec2(0), p) - r; // signed distance } -`,NZe=` +`,yet=` float rectangleSD(vec2 p, vec2 b) { vec2 d = abs(p)-b; return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0); } -`,MZe=` +`,vet=` float roundRectangleSD(vec2 p, vec2 b, vec4 cr) { cr.xy = (p.x > 0.0) ? cr.xy : cr.zw; cr.x = (p.y > 0.0) ? cr.x : cr.y; vec2 q = abs(p) - b + cr.x; return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x; } -`,IZe=` +`,xet=` float ellipseSD(vec2 p, vec2 ab) { p = abs( p ); // symmetry @@ -559,7 +558,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho // return signed distance return (dot(p/ab,p/ab)>1.0) ? d : -d; } -`,Ab={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},UE={IGNORE:1,USE_BB:2},dP=0,Vpe=1,qpe=2,pP=3,P1=4,bE=5,bb=6,Tb=7,OZe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=dZe,this.atlasManager=new DZe(e,n),this.batchManager=new RZe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(Ab.SCREEN),this.pickingProgram=this._createShaderProgram(Ab.PICKING),this.vao=this._createVAO()}return o(t,"ElementDrawingWebGL"),wd(t,[{key:"addAtlasCollection",value:o(function(r,n){this.atlasManager.addAtlasCollection(r,n)},"addAtlasCollection")},{key:"addTextureAtlasRenderType",value:o(function(r,n){this.atlasManager.addRenderType(r,n)},"addTextureAtlasRenderType")},{key:"addSimpleShapeRenderType",value:o(function(r,n){this.simpleShapeOptions.set(r,n)},"addSimpleShapeRenderType")},{key:"invalidate",value:o(function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:o(function(l){return l===i},"filterType"),forceRedraw:!0}):a.invalidate(r)},"invalidate")},{key:"gc",value:o(function(){this.atlasManager.gc()},"gc")},{key:"_createShaderProgram",value:o(function(r){var n=this.gl,i=`#version 300 es +`,$b={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},nC={IGNORE:1,USE_BB:2},DP=0,C0e=1,A0e=2,RP=3,U1=4,MS=5,Nb=6,Mb=7,bet=(function(){function t(e,r,n){Sd(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=QJe,this.atlasManager=new pet(e,n),this.batchManager=new met(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram($b.SCREEN),this.pickingProgram=this._createShaderProgram($b.PICKING),this.vao=this._createVAO()}return o(t,"ElementDrawingWebGL"),Cd(t,[{key:"addAtlasCollection",value:o(function(r,n){this.atlasManager.addAtlasCollection(r,n)},"addAtlasCollection")},{key:"addTextureAtlasRenderType",value:o(function(r,n){this.atlasManager.addRenderType(r,n)},"addTextureAtlasRenderType")},{key:"addSimpleShapeRenderType",value:o(function(r,n){this.simpleShapeOptions.set(r,n)},"addSimpleShapeRenderType")},{key:"invalidate",value:o(function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:o(function(l){return l===i},"filterType"),forceRedraw:!0}):a.invalidate(r)},"invalidate")},{key:"gc",value:o(function(){this.atlasManager.gc()},"gc")},{key:"_createShaderProgram",value:o(function(r){var n=this.gl,i=`#version 300 es precision highp float; uniform mat3 uPanZoomMatrix; @@ -606,7 +605,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho int vid = gl_VertexID; vec2 position = aPosition; // TODO make this a vec3, simplifies some code below - if(aVertType == `.concat(dP,`) { + if(aVertType == `.concat(DP,`) { float texX = aTex.x; // texture coordinates float texY = aTex.y; float texW = aTex.z; @@ -624,8 +623,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); } - else if(aVertType == `).concat(P1," || aVertType == ").concat(Tb,` - || aVertType == `).concat(bE," || aVertType == ").concat(bb,`) { // simple shapes + else if(aVertType == `).concat(U1," || aVertType == ").concat(Mb,` + || aVertType == `).concat(MS," || aVertType == ").concat(Nb,`) { // simple shapes // the bounding box is needed by the fragment shader vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat @@ -640,7 +639,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); } - else if(aVertType == `).concat(Vpe,`) { + else if(aVertType == `).concat(C0e,`) { vec2 source = aPointAPointB.xy; vec2 target = aPointAPointB.zw; @@ -655,7 +654,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0); vColor = aColor; } - else if(aVertType == `).concat(qpe,`) { + else if(aVertType == `).concat(A0e,`) { vec2 pointA = aPointAPointB.xy; vec2 pointB = aPointAPointB.zw; vec2 pointC = aPointCPointD.xy; @@ -704,7 +703,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho vColor = aColor; } - else if(aVertType == `).concat(pP,` && vid < 3) { + else if(aVertType == `).concat(RP,` && vid < 3) { // massage the first triangle into an edge arrow if(vid == 0) position = vec2(-0.15, -0.3); @@ -749,10 +748,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho out vec4 outColor; - `).concat(LZe,` - `).concat(NZe,` - `).concat(MZe,` - `).concat(IZe,` + `).concat(get,` + `).concat(yet,` + `).concat(vet,` + `).concat(xet,` vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha return vec4( @@ -768,21 +767,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho } void main(void) { - if(vVertType == `).concat(dP,`) { + if(vVertType == `).concat(DP,`) { // look up the texel from the texture unit `).concat(a.map(function(h){return"if(vAtlasId == ".concat(h,") outColor = texture(uTexture").concat(h,", vTexCoord);")}).join(` else `),` } - else if(vVertType == `).concat(pP,`) { + else if(vVertType == `).concat(RP,`) { // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out'; outColor = blend(vColor, uBGColor); outColor.a = 1.0; // make opaque, masks out line under arrow } - else if(vVertType == `).concat(P1,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border + else if(vVertType == `).concat(U1,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done } - else if(vVertType == `).concat(P1," || vVertType == ").concat(Tb,` - || vVertType == `).concat(bE," || vVertType == ").concat(bb,`) { // use SDF + else if(vVertType == `).concat(U1," || vVertType == ").concat(Mb,` + || vVertType == `).concat(MS," || vVertType == ").concat(Nb,`) { // use SDF float outerBorder = vBorderWidth[0]; float innerBorder = vBorderWidth[1]; @@ -793,11 +792,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center float d; // signed distance - if(vVertType == `).concat(P1,`) { + if(vVertType == `).concat(U1,`) { d = rectangleSD(p, b); - } else if(vVertType == `).concat(Tb,` && w == h) { + } else if(vVertType == `).concat(Mb,` && w == h) { d = circleSD(p, b.x); // faster than ellipse - } else if(vVertType == `).concat(Tb,`) { + } else if(vVertType == `).concat(Mb,`) { d = ellipseSD(p, b); } else { d = roundRectangleSD(p, b, vCornerRadius.wzyx); @@ -837,13 +836,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `).concat(r.picking?`if(outColor.a == 0.0) discard; else outColor = vIndex;`:"",` } - `),l=fZe(n,i,s);l.aPosition=n.getAttribLocation(l,"aPosition"),l.aIndex=n.getAttribLocation(l,"aIndex"),l.aVertType=n.getAttribLocation(l,"aVertType"),l.aTransform=n.getAttribLocation(l,"aTransform"),l.aAtlasId=n.getAttribLocation(l,"aAtlasId"),l.aTex=n.getAttribLocation(l,"aTex"),l.aPointAPointB=n.getAttribLocation(l,"aPointAPointB"),l.aPointCPointD=n.getAttribLocation(l,"aPointCPointD"),l.aLineWidth=n.getAttribLocation(l,"aLineWidth"),l.aColor=n.getAttribLocation(l,"aColor"),l.aCornerRadius=n.getAttribLocation(l,"aCornerRadius"),l.aBorderColor=n.getAttribLocation(l,"aBorderColor"),l.uPanZoomMatrix=n.getUniformLocation(l,"uPanZoomMatrix"),l.uAtlasSize=n.getUniformLocation(l,"uAtlasSize"),l.uBGColor=n.getUniformLocation(l,"uBGColor"),l.uZoom=n.getUniformLocation(l,"uZoom"),l.uTextures=[];for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:Ab.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()},"startFrame")},{key:"startBatch",value:o(function(){this.instanceCount=0,this.batchManager.startBatch()},"startBatch")},{key:"endFrame",value:o(function(){this.endBatch()},"endFrame")},{key:"_isVisible",value:o(function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1},"_isVisible")},{key:"drawTexture",value:o(function(r,n,i){var a=this.atlasManager,s=this.batchManager,l=a.getRenderTypeOpts(i);if(this._isVisible(r,l)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&l.getTexPickingMode){var u=l.getTexPickingMode(r);if(u===UE.IGNORE)return;if(u==UE.USE_BB){this.drawPickingRectangle(r,n,i);return}}var h=a.getAtlasInfo(r,i),f=po(h),d;try{for(f.s();!(d=f.n()).done;){var p=d.value,m=p.atlas,g=p.tex1,y=p.tex2;s.canAddToCurrentBatch(m)||this.endBatch();for(var v=s.getAtlasIndexForBatch(m),x=0,b=[[g,!0],[y,!1]];x=this.maxInstances&&this.endBatch()}}}}catch(L){f.e(L)}finally{f.f()}}},"drawTexture")},{key:"setTransformMatrix",value:o(function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,l=0;if(i.shapeProps&&i.shapeProps.padding&&(l=r.pstyle(i.shapeProps.padding).pfValue),a){var u=a.bb,h=a.tex1,f=a.tex2,d=h.w/(h.w+f.w);s||(d=1-d);var p=this._getAdjustedBB(u,l,s,d);this._applyTransformMatrix(n,p,i,r)}else{var m=i.getBoundingBox(r),g=this._getAdjustedBB(m,l,!0,1);this._applyTransformMatrix(n,g,i,r)}},"setTransformMatrix")},{key:"_applyTransformMatrix",value:o(function(r,n,i,a){var s,l;zpe(r);var u=i.getRotation?i.getRotation(a):0;if(u!==0){var h=i.getRotationPoint(a),f=h.x,d=h.y;LE(r,r,[f,d]),Gpe(r,r,u);var p=i.getRotationOffset(a);s=p.x+(n.xOffset||0),l=p.y+(n.yOffset||0)}else s=n.x1,l=n.y1;LE(r,r,[s,l]),IP(r,r,[n.w,n.h])},"_applyTransformMatrix")},{key:"_getAdjustedBB",value:o(function(r,n,i,a){var s=r.x1,l=r.y1,u=r.w,h=r.h,f=r.yOffset;n&&(s-=n,l-=n,u+=2*n,h+=2*n);var d=0,p=u*a;return i&&a<1?u=p:!i&&a<1&&(d=u-p,s+=d,u=p),{x1:s,y1:l,w:u,h,xOffset:d,yOffset:f}},"_getAdjustedBB")},{key:"drawPickingRectangle",value:o(function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=P1;var l=this.indexBuffer.getView(s);O1(n,l);var u=this.colorBuffer.getView(s);R0([0,0,0],1,u);var h=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,h,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()},"drawPickingRectangle")},{key:"drawNode",value:o(function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,l=this._getVertTypeForShape(r,s.shape);if(l===void 0||a.isSimple&&!a.isSimple(r)){this.drawTexture(r,n,i);return}var u=this.instanceCount;if(this.vertTypeBuffer.getView(u)[0]=l,l===bE||l===bb){var h=a.getBoundingBox(r),f=this._getCornerRadius(r,s.radius,h),d=this.cornerRadiusBuffer.getView(u);d[0]=f,d[1]=f,d[2]=f,d[3]=f,l===bb&&(d[0]=0,d[2]=0)}var p=this.indexBuffer.getView(u);O1(n,p);var m=r.pstyle(s.color).value,g=r.pstyle(s.opacity).value,y=this.colorBuffer.getView(u);R0(m,g,y);var v=this.lineWidthBuffer.getView(u);if(v[0]=0,v[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var b=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(u);R0(b,T,E);var w=r.pstyle("border-position").value;if(w==="inside")v[0]=0,v[1]=-x;else if(w==="outside")v[0]=x,v[1]=0;else{var k=x/2;v[0]=k,v[1]=-k}}}var C=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(r,C,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawNode")},{key:"_getVertTypeForShape",value:o(function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return P1;case"ellipse":return Tb;case"roundrectangle":case"round-rectangle":return bE;case"bottom-round-rectangle":return bb;default:return}},"_getVertTypeForShape")},{key:"_getCornerRadius",value:o(function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return yd(a,s);var l=r.pstyle(n).pfValue,u=a/2,h=s/2;return Math.min(l,h,u)},"_getCornerRadius")},{key:"drawEdgeArrow",value:o(function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,l,u;if(i==="source"?(s=a.arrowStartX,l=a.arrowStartY,u=a.srcArrowAngle):(s=a.arrowEndX,l=a.arrowEndY,u=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(l)||l==null||isNaN(u)||u==null)){var h=r.pstyle(i+"-arrow-shape").value;if(h!=="none"){var f=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,p=r.pstyle("line-opacity").value,m=d*p,g=r.pstyle("width").pfValue,y=r.pstyle("arrow-scale").value,v=this.r.getArrowWidth(g,y),x=this.instanceCount,b=this.transformBuffer.getMatrixView(x);zpe(b),LE(b,b,[s,l]),IP(b,b,[v,v]),Gpe(b,b,u),this.vertTypeBuffer.getView(x)[0]=pP;var T=this.indexBuffer.getView(x);O1(n,T);var E=this.colorBuffer.getView(x);R0(f,m,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:o(function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,l=r.pstyle("width").pfValue,u=r.pstyle("line-color").value,h=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=Vpe;var d=this.indexBuffer.getView(f);O1(n,d);var p=this.colorBuffer.getView(f);R0(u,h,p);var m=this.lineWidthBuffer.getView(f);m[0]=l;var g=this.pointAPointBBuffer.getView(f);g[0]=i[0],g[1]=i[1],g[2]=i[2],g[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var y=0;y=this.maxInstances&&this.endBatch()}}}},"drawEdgeLine")},{key:"_isValidEdge",value:o(function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))},"_isValidEdge")},{key:"_getEdgePoints",value:o(function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}},"_getEdgePoints")},{key:"_getNumSegments",value:o(function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)},"_getNumSegments")},{key:"_getCurveSegmentPoints",value:o(function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i},"_getCurveSegmentPoints")},{key:"_setCurvePoint",value:o(function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),l=0;l0}},"isLayerVisible"),l=o(function(d){var p=d.pstyle("text-events").strValue==="yes";return p?UE.USE_BB:UE.IGNORE},"getTexPickingMode"),u=o(function(d){var p=d.position(),m=p.x,g=p.y,y=d.outerWidth(),v=d.outerHeight();return{w:y,h:v,x1:m-y/2,y1:g-v/2}},"getBBForSimpleShape");r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:u,isSimple:gZe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:u,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:u,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:l,getKey:mP(e.getLabelKey,null),getBoundingBox:gP(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:l,getKey:mP(e.getSourceLabelKey,"source"),getBoundingBox:gP(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:l,getKey:mP(e.getTargetLabelKey,"target"),getBoundingBox:gP(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var h=qb(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(f,d){var p=!1;d&&d.length>0&&(p|=r.drawing.invalidate(d)),p&&h()}),BZe(r)};o(PZe,"getBGColor");o(Ame,"getLabelLines");mP=o(function(e,r){return function(n){var i=e(n),a=Ame(n,r);return a.length>1?a.map(function(s,l){return"".concat(i,"_").concat(l)}):i}},"getStyleKeysForLabel"),gP=o(function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var l=Number(i.substring(s+1)),u=Ame(n,r),h=a.h/u.length,f=h*l,d=a.y1+f;return{x1:a.x1,w:a.w,y1:d,h,yOffset:f}}}return a}},"getBoundingBoxForLabel");o(BZe,"overrideCanvasRendererFunctions");o(FZe,"clearWebgl");o($Ze,"clearCanvas");o(zZe,"createPanZoomMatrix");o(_me,"setContextTransform");o(GZe,"drawSelectionRectangle");o(VZe,"drawAxes");o(qZe,"drawAtlases");o(UZe,"getPickingIndexes");o(WZe,"findNearestElementsWebgl");o(yP,"drawEle");o(Dme,"renderWebgl");Ed={};Ed.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(HZe,"b64ToBlob");o(Hpe,"b64UriToB64");o(Lme,"output");Xb.png=function(t){return Lme(t,this.bufferCanvasImage(t),"image/png")};Xb.jpg=function(t){return Lme(t,this.bufferCanvasImage(t),"image/jpeg")};Nme={};Nme.nodeShapeImpl=function(t,e,r,n,i,a,s,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};YZe=Mme,Ir=Mme.prototype;Ir.CANVAS_LAYERS=3;Ir.SELECT_BOX=0;Ir.DRAG=1;Ir.NODE=2;Ir.WEBGL=3;Ir.CANVAS_TYPES=["2d","2d","2d","webgl2"];Ir.BUFFER_COUNT=3;Ir.TEXTURE_BUFFER=0;Ir.MOTIONBLUR_BUFFER_NODE=1;Ir.MOTIONBLUR_BUFFER_DRAG=2;o(Mme,"CanvasRenderer");Ir.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Ir.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Ir.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Ir.SELECT_BOX]=e;break;case"gc":r.data.gc=!0;break}};jZe=typeof Path2D<"u";Ir.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Ir.usePaths=function(){return jZe&&this.pathsEnabled};Ir.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Ir.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Ir.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":ea(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Tme,wu,Mh,oB,q0,Sd,Ns,Cme,Ed,Xb,Nme].forEach(function(t){cr(Ir,t)});XZe=[{name:"null",impl:ome},{name:"base",impl:yme},{name:"canvas",impl:YZe}],KZe=[{type:"layout",extensions:TQe},{type:"renderer",extensions:XZe}],Ime={},Ome={};o(Pme,"setExtension");o(Bme,"getExtension");o(QZe,"setModule");o(ZZe,"getModule");BP=o(function(){if(arguments.length===2)return Bme.apply(null,arguments);if(arguments.length===3)return Pme.apply(null,arguments);if(arguments.length===4)return ZZe.apply(null,arguments);if(arguments.length===5)return QZe.apply(null,arguments);si("Invalid extension access syntax")},"extension");Pb.prototype.extension=BP;KZe.forEach(function(t){t.extensions.forEach(function(e){Pme(t.type,e.name,e.impl)})});WE=o(function(){if(!(this instanceof WE))return new WE;this.length=0},"Stylesheet"),G0=WE.prototype;G0.instanceString=function(){return"stylesheet"};G0.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};G0.css=function(t,e){var r=this.length-1;if(nr(t))this[r].properties.push({name:t,value:e});else if(rn(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";o((function(e,r){typeof Kb=="object"&&typeof uB=="object"?uB.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Kb=="object"?Kb.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(Kb,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var E=x.source.owner.getEdges().indexOf(x);if(E==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(E,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),E=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,E,w,k,C,D=this.nodes,R=D.length,O=0;OT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var R=0;v.forEach(function(O){O.owner==g&&R++}),R==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=D,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,S=!0):(l[0]=g,l[1]=m,S=!0):_===M&&(u>f?(l[0]=p,l[1]=m,S=!0):(l[0]=x,l[1]=v,S=!0)),-N===M?f>u?(l[2]=C,l[3]=D,A=!0):(l[2]=k,l[3]=w,A=!0):N===M&&(f>u?(l[2]=E,l[3]=w,A=!0):(l[2]=R,l[3]=D,A=!0)),S&&A)return!1;if(u>f?h>d?(P=this.getCardinalDirection(_,M,4),B=this.getCardinalDirection(N,M,2)):(P=this.getCardinalDirection(-_,M,3),B=this.getCardinalDirection(-N,M,1)):h>d?(P=this.getCardinalDirection(-_,M,1),B=this.getCardinalDirection(-N,M,3)):(P=this.getCardinalDirection(_,M,2),B=this.getCardinalDirection(N,M,4)),!S)switch(P){case 1:G=m,F=u+-T/M,l[0]=F,l[1]=G;break;case 2:F=x,G=h+b*M,l[0]=F,l[1]=G;break;case 3:G=v,F=u+T/M,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-b*M,l[0]=F,l[1]=G;break}if(!A)switch(B){case 1:V=w,$=f+-L/M,l[2]=$,l[3]=V;break;case 2:$=R,V=d+O*M,l[2]=$,l[3]=V;break;case 3:V=D,$=f+L/M,l[2]=$,l[3]=V;break;case 4:$=C,V=d+-O*M,l[2]=$,l[3]=V;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,E=void 0,w=void 0,k=void 0,C=void 0,D=void 0,R=void 0;return T=p-f,w=h-d,C=d*f-h*p,E=v-g,k=m-y,D=y*g-m*v,R=T*k-E*w,R===0?null:(x=(w*D-k*C)/R,b=(E*C-T*D)/R,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var C=k.getEdges(),x=0;x-1&&w.splice(L,1)}b=new Set,E=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(D,1);var R=E.getNeighborsList();R.forEach(function(S){if(y.indexOf(S)<0){var A=v.get(S),_=A-1;_==1&&k.push(S),v.set(S,_)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(4);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var E=0;Eh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof Qb=="object"&&typeof fB=="object"?fB.exports=r(hB()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof Qb=="object"?Qb.coseBase=r(hB()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(Qb,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(u,h,f,d){i.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(w);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),C=this.nodesWithGravity.filter(function(D){return k.has(D)});this.graphManager.setAllNodesToApplyGravitation(C),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},T.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var w=new Set(this.getAllNodes()),k=this.nodesWithGravity.filter(function(R){return w.has(R)});this.graphManager.setAllNodesToApplyGravitation(k),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var C=!this.isTreeGrowing&&!this.isGrowthFinished,D=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(C,D),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var w=this.graphManager.getAllNodes(),k={},C=0;C1){var S;for(S=0;SD&&(D=Math.floor(L.y)),O=Math.floor(L.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-L.x/2,d.WORLD_CENTER_Y-L.y/2))},T.radialLayout=function(w,k,C){var D=Math.max(this.maxDiagonalInTree(w),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(k,null,0,359,0,D);var R=x.calculateBounds(w),O=new b;O.setDeviceOrgX(R.getMinX()),O.setDeviceOrgY(R.getMinY()),O.setWorldOrgX(C.x),O.setWorldOrgY(C.y);for(var L=0;L1;){var K=V[0];V.splice(0,1);var ee=P.indexOf(K);ee>=0&&P.splice(ee,1),G--,B--}k!=null?$=(P.indexOf(V[0])+1)%G:$=0;for(var H=Math.abs(D-C)/B,he=$;F!=B;he=++he%G){var Z=P[he].getOtherEnd(w);if(Z!=k){var de=(C+F*H)%360,re=(de+H)%360;T.branchRadialLayout(Z,w,de,re,R+O,O),F++}}},T.maxDiagonalInTree=function(w){for(var k=y.MIN_VALUE,C=0;Ck&&(k=R)}return k},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var w=this,k={};this.memberGroups={},this.idToDummyNode={};for(var C=[],D=this.graphManager.getAllNodes(),R=0;R"u"&&(k[S]=[]),k[S]=k[S].concat(O)}Object.keys(k).forEach(function(A){if(k[A].length>1){var _="DummyCompound_"+A;w.memberGroups[_]=k[A];var N=k[A][0].getParent(),M=new l(w.graphManager);M.id=_,M.paddingLeft=N.paddingLeft||0,M.paddingRight=N.paddingRight||0,M.paddingBottom=N.paddingBottom||0,M.paddingTop=N.paddingTop||0,w.idToDummyNode[_]=M;var P=w.getGraphManager().add(w.newGraph(),M),B=N.getChild();B.add(M);for(var F=0;F=0;w--){var k=this.compoundOrder[w],C=k.id,D=k.paddingLeft,R=k.paddingTop;this.adjustLocations(this.tiledMemberPack[C],k.rect.x,k.rect.y,D,R)}},T.prototype.repopulateZeroDegreeMembers=function(){var w=this,k=this.tiledZeroDegreePack;Object.keys(k).forEach(function(C){var D=w.idToDummyNode[C],R=D.paddingLeft,O=D.paddingTop;w.adjustLocations(k[C],D.rect.x,D.rect.y,R,O)})},T.prototype.getToBeTiled=function(w){var k=w.id;if(this.toBeTiled[k]!=null)return this.toBeTiled[k];var C=w.getChild();if(C==null)return this.toBeTiled[k]=!1,!1;for(var D=C.getNodes(),R=0;R0)return this.toBeTiled[k]=!1,!1;if(O.getChild()==null){this.toBeTiled[O.id]=!1;continue}if(!this.getToBeTiled(O))return this.toBeTiled[k]=!1,!1}return this.toBeTiled[k]=!0,!0},T.prototype.getNodeDegree=function(w){for(var k=w.id,C=w.getEdges(),D=0,R=0;RA&&(A=N.rect.height)}C+=A+w.verticalPadding}},T.prototype.tileCompoundMembers=function(w,k){var C=this;this.tiledMemberPack=[],Object.keys(w).forEach(function(D){var R=k[D];C.tiledMemberPack[D]=C.tileNodes(w[D],R.paddingLeft+R.paddingRight),R.rect.width=C.tiledMemberPack[D].width,R.rect.height=C.tiledMemberPack[D].height})},T.prototype.tileNodes=function(w,k){var C=h.TILING_PADDING_VERTICAL,D=h.TILING_PADDING_HORIZONTAL,R={rows:[],rowWidth:[],rowHeight:[],width:0,height:k,verticalPadding:C,horizontalPadding:D};w.sort(function(S,A){return S.rect.width*S.rect.height>A.rect.width*A.rect.height?-1:S.rect.width*S.rect.height0&&(L+=w.horizontalPadding),w.rowWidth[C]=L,w.width0&&(S+=w.verticalPadding);var A=0;S>w.rowHeight[C]&&(A=w.rowHeight[C],w.rowHeight[C]=S,A=w.rowHeight[C]-A),w.height+=A,w.rows[C].push(k)},T.prototype.getShortestRowIndex=function(w){for(var k=-1,C=Number.MAX_VALUE,D=0;DC&&(k=D,C=w.rowWidth[D]);return k},T.prototype.canAddHorizontal=function(w,k,C){var D=this.getShortestRowIndex(w);if(D<0)return!0;var R=w.rowWidth[D];if(R+w.horizontalPadding+k<=w.width)return!0;var O=0;w.rowHeight[D]0&&(O=C+w.verticalPadding-w.rowHeight[D]);var L;w.width-R>=k+w.horizontalPadding?L=(w.height+O)/(R+k+w.horizontalPadding):L=(w.height+O)/w.width,O=C+w.verticalPadding;var S;return w.widthO&&k!=C){D.splice(-1,1),w.rows[C].push(R),w.rowWidth[k]=w.rowWidth[k]-O,w.rowWidth[C]=w.rowWidth[C]+O,w.width=w.rowWidth[instance.getLongestRowIndex(w)];for(var L=Number.MIN_VALUE,S=0;SL&&(L=D[S].height);k>0&&(L+=w.verticalPadding);var A=w.rowHeight[k]+w.rowHeight[C];w.rowHeight[k]=L,w.rowHeight[C]0)for(var B=R;B<=O;B++)P[0]+=this.grid[B][L-1].length+this.grid[B][L].length-1;if(O0)for(var B=L;B<=S;B++)P[3]+=this.grid[R-1][B].length+this.grid[R][B].length-1;for(var F=y.MAX_VALUE,G,$,V=0;V{"use strict";o((function(e,r){typeof Zb=="object"&&typeof pB=="object"?pB.exports=r(dB()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof Zb=="object"?Zb.cytoscapeCoseBilkent=r(dB()):e.cytoscapeCoseBilkent=r(e.coseBase)}),"webpackUniversalModuleDefinition")(Zb,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var T in v)b[T]=v[T];for(var T in x)b[T]=x[T];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,T=this.idToLNode={},E=this.layout=new l,w=this;w.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var k=E.newGraphManager();this.gm=k;var C=this.options.eles.nodes(),D=this.options.eles.edges();this.root=k.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(C),E);for(var R=0;R0){var S;S=b.getGraphManager().add(b.newGraph(),C),this.processChildrenList(S,k,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y})])})});function eJe(t,e){t.forEach(r=>{let n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}function tJe(t,e){t.forEach(r=>{let n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}function zme(t){return new Promise(e=>{let r=He("body").append("div").attr("id","cy").attr("style","display:none"),n=Al({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),eJe(t.nodes,n),tJe(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}});let i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{X.info("Cytoscape ready",a),e(n)})})}function Gme(t){return t.nodes().map(e=>{let r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}function Vme(t){return t.edges().map(e=>{let r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}var $me,qme=I(()=>{"use strict";cB();$me=Aa(Fme(),1);kr();gt();Al.use($me.default);o(eJe,"addNodes");o(tJe,"addEdges");o(zme,"createCytoscapeInstance");o(Gme,"extractPositionedNodes");o(Vme,"extractPositionedEdges")});async function Ume(t,e){X.debug("Starting cose-bilkent layout algorithm");try{rJe(t);let r=await zme(t),n=Gme(r),i=Vme(r);return X.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw X.error("Error in cose-bilkent layout algorithm:",r),r}}function rJe(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}var Wme=I(()=>{"use strict";gt();qme();o(Ume,"executeCoseBilkentLayout");o(rJe,"validateLayoutData")});var Hme,Yme=I(()=>{"use strict";Wme();Hme=o(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:l,positionEdgeLabel:u},{algorithm:h})=>{let f={},d={},p=e.select("g");a(p,t.markers,t.type,t.diagramId);let m=p.insert("g").attr("class","subgraphs"),g=p.insert("g").attr("class","edgePaths"),y=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");l.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){let E={...T};d[T.id]=E,f[T.id]=E,await r(m,T)}else{let E={...T};f[T.id]=E;let w=await s(v,T,{config:t.config,dir:t.direction||"TB"}),k=w.node().getBBox();E.width=k.width,E.height=k.height,E.domId=w,l.debug(`Node ${T.id} dimensions: ${k.width}x${k.height}`)}})),l.debug("Running cose-bilkent layout algorithm");let x={...t,nodes:t.nodes.map(T=>{let E=f[T.id];return{...T,width:E.width,height:E.height}})},b=await Ume(x,t.config);l.debug("Positioning nodes based on layout results"),b.nodes.forEach(T=>{let E=f[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,l.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),b.edges.forEach(T=>{let E=t.edges.find(w=>w.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),l.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{let E=await i(y,T),w=f[T.start??""],k=f[T.end??""];if(w&&k){let C=b.edges.find(D=>D.id===T.id);if(C){l.debug("APA01 positionedEdge",C);let D={...T},R=n(g,D,d,t.type,w,k,t.diagramId);u(D,R)}else{let D={...T,points:[{x:w.x||0,y:w.y||0},{x:k.x||0,y:k.y||0}]},R=n(g,D,d,t.type,w,k,t.diagramId);u(D,R)}}})),l.debug("Cose-bilkent rendering completed")},"render")});var jme={};vr(jme,{render:()=>nJe});var nJe,Xme=I(()=>{"use strict";Yme();nJe=Hme});var Jb,mB,iJe,_l,ku,Cd=I(()=>{"use strict";Fse();gt();Jb={},mB=o(t=>{for(let e of t)Jb[e.name]=e},"registerLayoutLoaders"),iJe=o(()=>{mB([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(vfe(),yfe)),"loader")},{name:"cose-bilkent",loader:o(async()=>await Promise.resolve().then(()=>(Xme(),jme)),"loader")}])},"registerDefaultLayoutLoaders");iJe();_l=o(async(t,e)=>{if(!(t.layoutAlgorithm in Jb))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=Jb[t.layoutAlgorithm];return(await r.loader()).render(t,e,Bse,{algorithm:r.algorithm})},"render"),ku=o((t="",{fallback:e="dagre"}={})=>{if(t in Jb)return t;if(e in Jb)return X.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var mo,aJe,sJe,Ad=I(()=>{"use strict";Fi();gt();mo=o((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:l}=aJe(t,e);Sn(t,a,i,n);let u=sJe(s,l,i,a,e);t.attr("viewBox",u),X.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),aJe=o((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),sJe=o((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var oJe,lJe,Kme,Qme=I(()=>{"use strict";kr();Qt();gt();y0();Cd();Ad();sr();oJe=o(function(t,e){return e.db.getClasses()},"getClasses"),lJe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=xe(),l;i==="sandbox"&&(l=He("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;X.debug("Before getData: ");let h=n.db.getData();X.debug("Data: ",h);let f=xl(e,i),d=n.db.getDirection();h.type=n.type,h.layoutAlgorithm=ku(s),h.layoutAlgorithm==="dagre"&&s==="elk"&&X.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,X.debug("REF1:",h),await _l(h,f);let p=h.config.flowchart?.diagramPadding??8;jt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),mo(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=He(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),Kme={getClasses:oJe,draw:lJe}});var gB,yB,Zme=I(()=>{"use strict";gB=(function(){var t=o(function(br,st,Ct,Zt){for(Ct=Ct||{},Zt=br.length;Zt--;Ct[br[Zt]]=st);return Ct},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,49],y=[1,48],v=[1,29],x=[1,30],b=[1,31],T=[1,32],E=[1,33],w=[1,44],k=[1,46],C=[1,42],D=[1,47],R=[1,43],O=[1,50],L=[1,45],S=[1,51],A=[1,52],_=[1,34],N=[1,35],M=[1,36],P=[1,37],B=[1,57],F=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],G=[1,61],$=[1,60],V=[1,62],K=[8,9,11,75,77,78],ee=[1,78],H=[1,91],he=[1,96],Z=[1,95],de=[1,92],re=[1,88],ne=[1,94],te=[1,90],Q=[1,97],le=[1,93],J=[1,98],ge=[1,89],ie=[8,9,10,11,40,75,77,78],Te=[8,9,10,11,40,46,75,77,78],j=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],Ge=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],ye=[44,60,89,102,105,106,109,111,114,115,116],$e=[1,121],Xe=[1,122],Ue=[1,124],Le=[1,123],Ie=[44,60,62,74,89,102,105,106,109,111,114,115,116],Me=[1,133],Ae=[1,147],ze=[1,148],Y=[1,149],ce=[1,150],U=[1,135],ue=[1,137],z=[1,141],se=[1,142],oe=[1,143],be=[1,144],pe=[1,145],me=[1,146],De=[1,151],Ce=[1,152],Fe=[1,131],Ye=[1,132],xt=[1,139],je=[1,134],Pe=[1,138],rt=[1,136],We=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],ut=[1,154],Ut=[1,156],Tt=[8,9,11],Mt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],mt=[1,176],at=[1,172],wt=[1,173],St=[1,177],bt=[1,174],pt=[1,175],Zr=[77,116,119],Lt=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Dn=[10,106],Hr=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],mr=[1,247],hr=[1,245],Br=[1,249],Dt=[1,243],_e=[1,244],ot=[1,246],Ot=[1,248],Dr=[1,250],Rn=[1,268],Cn=[8,9,11,106],mn=[8,9,10,11,60,84,105,106,109,110,111,112],oa={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1]],performAction:o(function(st,Ct,Zt,dt,Fr,ve,Lc){var we=ve.length-1;switch(Fr){case 2:this.$=[];break;case 3:(!Array.isArray(ve[we])||ve[we].length>0)&&ve[we-1].push(ve[we]),this.$=ve[we-1];break;case 4:case 183:this.$=ve[we];break;case 11:dt.setDirection("TB"),this.$="TB";break;case 12:dt.setDirection(ve[we-1]),this.$=ve[we-1];break;case 27:this.$=ve[we-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=dt.addSubGraph(ve[we-6],ve[we-1],ve[we-4]);break;case 34:this.$=dt.addSubGraph(ve[we-3],ve[we-1],ve[we-3]);break;case 35:this.$=dt.addSubGraph(void 0,ve[we-1],void 0);break;case 37:this.$=ve[we].trim(),dt.setAccTitle(this.$);break;case 38:case 39:this.$=ve[we].trim(),dt.setAccDescription(this.$);break;case 43:this.$=ve[we-1]+ve[we];break;case 44:this.$=ve[we];break;case 45:dt.addVertex(ve[we-1][ve[we-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ve[we]),dt.addLink(ve[we-3].stmt,ve[we-1],ve[we-2]),this.$={stmt:ve[we-1],nodes:ve[we-1].concat(ve[we-3].nodes)};break;case 46:dt.addLink(ve[we-2].stmt,ve[we],ve[we-1]),this.$={stmt:ve[we],nodes:ve[we].concat(ve[we-2].nodes)};break;case 47:dt.addLink(ve[we-3].stmt,ve[we-1],ve[we-2]),this.$={stmt:ve[we-1],nodes:ve[we-1].concat(ve[we-3].nodes)};break;case 48:this.$={stmt:ve[we-1],nodes:ve[we-1]};break;case 49:dt.addVertex(ve[we-1][ve[we-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ve[we]),this.$={stmt:ve[we-1],nodes:ve[we-1],shapeData:ve[we]};break;case 50:this.$={stmt:ve[we],nodes:ve[we]};break;case 51:this.$=[ve[we]];break;case 52:dt.addVertex(ve[we-5][ve[we-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ve[we-4]),this.$=ve[we-5].concat(ve[we]);break;case 53:this.$=ve[we-4].concat(ve[we]);break;case 54:this.$=ve[we];break;case 55:this.$=ve[we-2],dt.setClass(ve[we-2],ve[we]);break;case 56:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"square");break;case 57:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"doublecircle");break;case 58:this.$=ve[we-5],dt.addVertex(ve[we-5],ve[we-2],"circle");break;case 59:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"ellipse");break;case 60:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"stadium");break;case 61:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"subroutine");break;case 62:this.$=ve[we-7],dt.addVertex(ve[we-7],ve[we-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ve[we-5],ve[we-3]]]));break;case 63:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"cylinder");break;case 64:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"round");break;case 65:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"diamond");break;case 66:this.$=ve[we-5],dt.addVertex(ve[we-5],ve[we-2],"hexagon");break;case 67:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"odd");break;case 68:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"trapezoid");break;case 69:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"inv_trapezoid");break;case 70:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"lean_right");break;case 71:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"lean_left");break;case 72:this.$=ve[we],dt.addVertex(ve[we]);break;case 73:ve[we-1].text=ve[we],this.$=ve[we-1];break;case 74:case 75:ve[we-2].text=ve[we-1],this.$=ve[we-2];break;case 76:this.$=ve[we];break;case 77:var sn=dt.destructLink(ve[we],ve[we-2]);this.$={type:sn.type,stroke:sn.stroke,length:sn.length,text:ve[we-1]};break;case 78:var sn=dt.destructLink(ve[we],ve[we-2]);this.$={type:sn.type,stroke:sn.stroke,length:sn.length,text:ve[we-1],id:ve[we-3]};break;case 79:this.$={text:ve[we],type:"text"};break;case 80:this.$={text:ve[we-1].text+""+ve[we],type:ve[we-1].type};break;case 81:this.$={text:ve[we],type:"string"};break;case 82:this.$={text:ve[we],type:"markdown"};break;case 83:var sn=dt.destructLink(ve[we]);this.$={type:sn.type,stroke:sn.stroke,length:sn.length};break;case 84:var sn=dt.destructLink(ve[we]);this.$={type:sn.type,stroke:sn.stroke,length:sn.length,id:ve[we-1]};break;case 85:this.$=ve[we-1];break;case 86:this.$={text:ve[we],type:"text"};break;case 87:this.$={text:ve[we-1].text+""+ve[we],type:ve[we-1].type};break;case 88:this.$={text:ve[we],type:"string"};break;case 89:case 104:this.$={text:ve[we],type:"markdown"};break;case 101:this.$={text:ve[we],type:"text"};break;case 102:this.$={text:ve[we-1].text+""+ve[we],type:ve[we-1].type};break;case 103:this.$={text:ve[we],type:"text"};break;case 105:this.$=ve[we-4],dt.addClass(ve[we-2],ve[we]);break;case 106:this.$=ve[we-4],dt.setClass(ve[we-2],ve[we]);break;case 107:case 115:this.$=ve[we-1],dt.setClickEvent(ve[we-1],ve[we]);break;case 108:case 116:this.$=ve[we-3],dt.setClickEvent(ve[we-3],ve[we-2]),dt.setTooltip(ve[we-3],ve[we]);break;case 109:this.$=ve[we-2],dt.setClickEvent(ve[we-2],ve[we-1],ve[we]);break;case 110:this.$=ve[we-4],dt.setClickEvent(ve[we-4],ve[we-3],ve[we-2]),dt.setTooltip(ve[we-4],ve[we]);break;case 111:this.$=ve[we-2],dt.setLink(ve[we-2],ve[we]);break;case 112:this.$=ve[we-4],dt.setLink(ve[we-4],ve[we-2]),dt.setTooltip(ve[we-4],ve[we]);break;case 113:this.$=ve[we-4],dt.setLink(ve[we-4],ve[we-2],ve[we]);break;case 114:this.$=ve[we-6],dt.setLink(ve[we-6],ve[we-4],ve[we]),dt.setTooltip(ve[we-6],ve[we-2]);break;case 117:this.$=ve[we-1],dt.setLink(ve[we-1],ve[we]);break;case 118:this.$=ve[we-3],dt.setLink(ve[we-3],ve[we-2]),dt.setTooltip(ve[we-3],ve[we]);break;case 119:this.$=ve[we-3],dt.setLink(ve[we-3],ve[we-2],ve[we]);break;case 120:this.$=ve[we-5],dt.setLink(ve[we-5],ve[we-4],ve[we]),dt.setTooltip(ve[we-5],ve[we-2]);break;case 121:this.$=ve[we-4],dt.addVertex(ve[we-2],void 0,void 0,ve[we]);break;case 122:this.$=ve[we-4],dt.updateLink([ve[we-2]],ve[we]);break;case 123:this.$=ve[we-4],dt.updateLink(ve[we-2],ve[we]);break;case 124:this.$=ve[we-8],dt.updateLinkInterpolate([ve[we-6]],ve[we-2]),dt.updateLink([ve[we-6]],ve[we]);break;case 125:this.$=ve[we-8],dt.updateLinkInterpolate(ve[we-6],ve[we-2]),dt.updateLink(ve[we-6],ve[we]);break;case 126:this.$=ve[we-6],dt.updateLinkInterpolate([ve[we-4]],ve[we]);break;case 127:this.$=ve[we-6],dt.updateLinkInterpolate(ve[we-4],ve[we]);break;case 128:case 130:this.$=[ve[we]];break;case 129:case 131:ve[we-2].push(ve[we]),this.$=ve[we-2];break;case 133:this.$=ve[we-1]+ve[we];break;case 181:this.$=ve[we];break;case 182:this.$=ve[we-1]+""+ve[we];break;case 184:this.$=ve[we-1]+""+ve[we];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A,121:_,122:N,123:M,124:P},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:B,15:53,18:56},t(F,[2,3]),t(F,[2,4]),t(F,[2,5]),t(F,[2,6]),t(F,[2,7]),t(F,[2,8]),{8:G,9:$,11:V,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:G,9:$,11:V,21:67},{8:G,9:$,11:V,21:68},{8:G,9:$,11:V,21:69},{8:G,9:$,11:V,21:70},{8:G,9:$,11:V,21:71},{8:G,9:$,10:[1,72],11:V,21:73},t(F,[2,36]),{35:[1,74]},{37:[1,75]},t(F,[2,39]),t(K,[2,50],{18:76,39:77,10:B,40:ee}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:H,44:he,60:Z,80:[1,86],89:de,95:[1,83],97:[1,84],101:85,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge,120:87},t(F,[2,185]),t(F,[2,186]),t(F,[2,187]),t(F,[2,188]),t(ie,[2,51]),t(ie,[2,54],{46:[1,99]}),t(Te,[2,72],{113:112,29:[1,100],44:g,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:y,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:w,102:k,105:C,106:D,109:R,111:O,114:L,115:S,116:A}),t(j,[2,181]),t(j,[2,142]),t(j,[2,143]),t(j,[2,144]),t(j,[2,145]),t(j,[2,146]),t(j,[2,147]),t(j,[2,148]),t(j,[2,149]),t(j,[2,150]),t(j,[2,151]),t(j,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,113]},t(Ge,[2,26],{18:114,10:B}),t(F,[2,27]),{42:115,43:38,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},t(F,[2,40]),t(F,[2,41]),t(F,[2,42]),t(ye,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:$e,81:Xe,116:Ue,119:Le},{75:[1,125],77:[1,126]},t(Ie,[2,83]),t(F,[2,28]),t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),{10:Me,12:Ae,14:ze,27:Y,28:127,32:ce,44:U,60:ue,75:z,80:[1,129],81:[1,130],83:140,84:se,85:oe,86:be,87:pe,88:me,89:De,90:Ce,91:128,105:Fe,109:Ye,111:xt,114:je,115:Pe,116:rt},t(We,a,{5:153}),t(F,[2,37]),t(F,[2,38]),t(K,[2,48],{44:ut}),t(K,[2,49],{18:155,10:B,40:Ut}),t(ie,[2,44]),{44:g,47:157,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},{102:[1,158],103:159,105:[1,160]},{44:g,47:161,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},{44:g,47:162,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},t(Tt,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},t(Tt,[2,115],{120:167,10:[1,166],14:H,44:he,60:Z,89:de,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge}),t(Tt,[2,117],{10:[1,168]}),t(Mt,[2,183]),t(Mt,[2,170]),t(Mt,[2,171]),t(Mt,[2,172]),t(Mt,[2,173]),t(Mt,[2,174]),t(Mt,[2,175]),t(Mt,[2,176]),t(Mt,[2,177]),t(Mt,[2,178]),t(Mt,[2,179]),t(Mt,[2,180]),{44:g,47:169,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},{30:170,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:178,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:180,50:[1,179],67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:181,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:182,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:183,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{109:[1,184]},{30:185,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:186,65:[1,187],67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:188,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:189,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:190,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},t(j,[2,182]),t(i,[2,20]),t(Ge,[2,25]),t(K,[2,46],{39:191,18:192,10:B,40:ee}),t(ye,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{77:[1,196],79:197,116:Ue,119:Le},t(Zr,[2,79]),t(Zr,[2,81]),t(Zr,[2,82]),t(Zr,[2,168]),t(Zr,[2,169]),{76:198,79:120,80:$e,81:Xe,116:Ue,119:Le},t(Ie,[2,84]),{8:G,9:$,10:Me,11:V,12:Ae,14:ze,21:200,27:Y,29:[1,199],32:ce,44:U,60:ue,75:z,83:140,84:se,85:oe,86:be,87:pe,88:me,89:De,90:Ce,91:201,105:Fe,109:Ye,111:xt,114:je,115:Pe,116:rt},t(Lt,[2,101]),t(Lt,[2,103]),t(Lt,[2,104]),t(Lt,[2,157]),t(Lt,[2,158]),t(Lt,[2,159]),t(Lt,[2,160]),t(Lt,[2,161]),t(Lt,[2,162]),t(Lt,[2,163]),t(Lt,[2,164]),t(Lt,[2,165]),t(Lt,[2,166]),t(Lt,[2,167]),t(Lt,[2,90]),t(Lt,[2,91]),t(Lt,[2,92]),t(Lt,[2,93]),t(Lt,[2,94]),t(Lt,[2,95]),t(Lt,[2,96]),t(Lt,[2,97]),t(Lt,[2,98]),t(Lt,[2,99]),t(Lt,[2,100]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,202],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A,121:_,122:N,123:M,124:P},{10:B,18:203},{44:[1,204]},t(ie,[2,43]),{10:[1,205],44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:112,114:L,115:S,116:A},{10:[1,206]},{10:[1,207],106:[1,208]},t(Dn,[2,128]),{10:[1,209],44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:112,114:L,115:S,116:A},{10:[1,210],44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:112,114:L,115:S,116:A},{80:[1,211]},t(Tt,[2,109],{10:[1,212]}),t(Tt,[2,111],{10:[1,213]}),{80:[1,214]},t(Mt,[2,184]),{80:[1,215],98:[1,216]},t(ie,[2,55],{113:112,44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,114:L,115:S,116:A}),{31:[1,217],67:mt,82:218,116:St,117:bt,118:pt},t(Hr,[2,86]),t(Hr,[2,88]),t(Hr,[2,89]),t(Hr,[2,153]),t(Hr,[2,154]),t(Hr,[2,155]),t(Hr,[2,156]),{49:[1,219],67:mt,82:218,116:St,117:bt,118:pt},{30:220,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{51:[1,221],67:mt,82:218,116:St,117:bt,118:pt},{53:[1,222],67:mt,82:218,116:St,117:bt,118:pt},{55:[1,223],67:mt,82:218,116:St,117:bt,118:pt},{57:[1,224],67:mt,82:218,116:St,117:bt,118:pt},{60:[1,225]},{64:[1,226],67:mt,82:218,116:St,117:bt,118:pt},{66:[1,227],67:mt,82:218,116:St,117:bt,118:pt},{30:228,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{31:[1,229],67:mt,82:218,116:St,117:bt,118:pt},{67:mt,69:[1,230],71:[1,231],82:218,116:St,117:bt,118:pt},{67:mt,69:[1,233],71:[1,232],82:218,116:St,117:bt,118:pt},t(K,[2,45],{18:155,10:B,40:Ut}),t(K,[2,47],{44:ut}),t(ye,[2,75]),t(ye,[2,74]),{62:[1,234],67:mt,82:218,116:St,117:bt,118:pt},t(ye,[2,77]),t(Zr,[2,80]),{77:[1,235],79:197,116:Ue,119:Le},{30:236,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},t(We,a,{5:237}),t(Lt,[2,102]),t(F,[2,35]),{43:238,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},{10:B,18:239},{10:mr,60:hr,84:Br,92:240,105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{10:mr,60:hr,84:Br,92:251,104:[1,252],105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{10:mr,60:hr,84:Br,92:253,104:[1,254],105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{105:[1,255]},{10:mr,60:hr,84:Br,92:256,105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{44:g,47:257,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},t(Tt,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},t(Tt,[2,116]),t(Tt,[2,118],{10:[1,261]}),t(Tt,[2,119]),t(Te,[2,56]),t(Hr,[2,87]),t(Te,[2,57]),{51:[1,262],67:mt,82:218,116:St,117:bt,118:pt},t(Te,[2,64]),t(Te,[2,59]),t(Te,[2,60]),t(Te,[2,61]),{109:[1,263]},t(Te,[2,63]),t(Te,[2,65]),{66:[1,264],67:mt,82:218,116:St,117:bt,118:pt},t(Te,[2,67]),t(Te,[2,68]),t(Te,[2,70]),t(Te,[2,69]),t(Te,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(ye,[2,78]),{31:[1,265],67:mt,82:218,116:St,117:bt,118:pt},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,266],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A,121:_,122:N,123:M,124:P},t(ie,[2,53]),{43:267,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},t(Tt,[2,121],{106:Rn}),t(Cn,[2,130],{108:269,10:mr,60:hr,84:Br,105:Dt,109:_e,110:ot,111:Ot,112:Dr}),t(mn,[2,132]),t(mn,[2,134]),t(mn,[2,135]),t(mn,[2,136]),t(mn,[2,137]),t(mn,[2,138]),t(mn,[2,139]),t(mn,[2,140]),t(mn,[2,141]),t(Tt,[2,122],{106:Rn}),{10:[1,270]},t(Tt,[2,123],{106:Rn}),{10:[1,271]},t(Dn,[2,129]),t(Tt,[2,105],{106:Rn}),t(Tt,[2,106],{113:112,44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,114:L,115:S,116:A}),t(Tt,[2,110]),t(Tt,[2,112],{10:[1,272]}),t(Tt,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:G,9:$,11:V,21:277},t(F,[2,34]),t(ie,[2,52]),{10:mr,60:hr,84:Br,105:Dt,107:278,108:242,109:_e,110:ot,111:Ot,112:Dr},t(mn,[2,133]),{14:H,44:he,60:Z,89:de,101:279,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge,120:87},{14:H,44:he,60:Z,89:de,101:280,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge,120:87},{98:[1,281]},t(Tt,[2,120]),t(Te,[2,58]),{30:282,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},t(Te,[2,66]),t(We,a,{5:283}),t(Cn,[2,131],{108:269,10:mr,60:hr,84:Br,105:Dt,109:_e,110:ot,111:Ot,112:Dr}),t(Tt,[2,126],{120:167,10:[1,284],14:H,44:he,60:Z,89:de,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge}),t(Tt,[2,127],{120:167,10:[1,285],14:H,44:he,60:Z,89:de,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge}),t(Tt,[2,114]),{31:[1,286],67:mt,82:218,116:St,117:bt,118:pt},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,287],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A,121:_,122:N,123:M,124:P},{10:mr,60:hr,84:Br,92:288,105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{10:mr,60:hr,84:Br,92:289,105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},t(Te,[2,62]),t(F,[2,33]),t(Tt,[2,124],{106:Rn}),t(Tt,[2,125],{106:Rn})],defaultActions:{},parseError:o(function(st,Ct){if(Ct.recoverable)this.trace(st);else{var Zt=new Error(st);throw Zt.hash=Ct,Zt}},"parseError"),parse:o(function(st){var Ct=this,Zt=[0],dt=[],Fr=[null],ve=[],Lc=this.table,we="",sn=0,E3=0,k8=0,S8=2,_W=1,KCe=ve.slice.call(arguments,1),la=Object.create(this.lexer),wp={yy:{}};for(var E8 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E8)&&(wp.yy[E8]=this.yy[E8]);la.setInput(st,wp.yy),wp.yy.lexer=la,wp.yy.parser=this,typeof la.yylloc>"u"&&(la.yylloc={});var C8=la.yylloc;ve.push(C8);var QCe=la.options&&la.options.ranges;typeof wp.yy.parseError=="function"?this.parseError=wp.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $dt(Ao){Zt.length=Zt.length-2*Ao,Fr.length=Fr.length-Ao,ve.length=ve.length-Ao}o($dt,"popStack");function ZCe(){var Ao;return Ao=dt.pop()||la.lex()||_W,typeof Ao!="number"&&(Ao instanceof Array&&(dt=Ao,Ao=dt.pop()),Ao=Ct.symbols_[Ao]||Ao),Ao}o(ZCe,"lex");for(var ys,A8,kp,el,zdt,_8,Jm={},C3,Yu,DW,A3;;){if(kp=Zt[Zt.length-1],this.defaultActions[kp]?el=this.defaultActions[kp]:((ys===null||typeof ys>"u")&&(ys=ZCe()),el=Lc[kp]&&Lc[kp][ys]),typeof el>"u"||!el.length||!el[0]){var D8="";A3=[];for(C3 in Lc[kp])this.terminals_[C3]&&C3>S8&&A3.push("'"+this.terminals_[C3]+"'");la.showPosition?D8="Parse error on line "+(sn+1)+`: -`+la.showPosition()+` -Expecting `+A3.join(", ")+", got '"+(this.terminals_[ys]||ys)+"'":D8="Parse error on line "+(sn+1)+": Unexpected "+(ys==_W?"end of input":"'"+(this.terminals_[ys]||ys)+"'"),this.parseError(D8,{text:la.match,token:this.terminals_[ys]||ys,line:la.yylineno,loc:C8,expected:A3})}if(el[0]instanceof Array&&el.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kp+", token: "+ys);switch(el[0]){case 1:Zt.push(ys),Fr.push(la.yytext),ve.push(la.yylloc),Zt.push(el[1]),ys=null,A8?(ys=A8,A8=null):(E3=la.yyleng,we=la.yytext,sn=la.yylineno,C8=la.yylloc,k8>0&&k8--);break;case 2:if(Yu=this.productions_[el[1]][1],Jm.$=Fr[Fr.length-Yu],Jm._$={first_line:ve[ve.length-(Yu||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(Yu||1)].first_column,last_column:ve[ve.length-1].last_column},QCe&&(Jm._$.range=[ve[ve.length-(Yu||1)].range[0],ve[ve.length-1].range[1]]),_8=this.performAction.apply(Jm,[we,E3,sn,wp.yy,el[1],Fr,ve].concat(KCe)),typeof _8<"u")return _8;Yu&&(Zt=Zt.slice(0,-1*Yu*2),Fr=Fr.slice(0,-1*Yu),ve=ve.slice(0,-1*Yu)),Zt.push(this.productions_[el[1]][0]),Fr.push(Jm.$),ve.push(Jm._$),DW=Lc[Zt[Zt.length-2]][Zt[Zt.length-1]],Zt.push(DW);break;case 3:return!0}}return!0},"parse")},Co=(function(){var br={EOF:1,parseError:o(function(Ct,Zt){if(this.yy.parser)this.yy.parser.parseError(Ct,Zt);else throw new Error(Ct)},"parseError"),setInput:o(function(st,Ct){return this.yy=Ct||this.yy||{},this._input=st,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var st=this._input[0];this.yytext+=st,this.yyleng++,this.offset++,this.match+=st,this.matched+=st;var Ct=st.match(/(?:\r\n?|\n).*/g);return Ct?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),st},"input"),unput:o(function(st){var Ct=st.length,Zt=st.split(/(?:\r\n?|\n)/g);this._input=st+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ct),this.offset-=Ct;var dt=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),Zt.length-1&&(this.yylineno-=Zt.length-1);var Fr=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:Zt?(Zt.length===dt.length?this.yylloc.first_column:0)+dt[dt.length-Zt.length].length-Zt[0].length:this.yylloc.first_column-Ct},this.options.ranges&&(this.yylloc.range=[Fr[0],Fr[0]+this.yyleng-Ct]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(st){this.unput(this.match.slice(st))},"less"),pastInput:o(function(){var st=this.matched.substr(0,this.matched.length-this.match.length);return(st.length>20?"...":"")+st.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var st=this.match;return st.length<20&&(st+=this._input.substr(0,20-st.length)),(st.substr(0,20)+(st.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var st=this.pastInput(),Ct=new Array(st.length+1).join("-");return st+this.upcomingInput()+` -`+Ct+"^"},"showPosition"),test_match:o(function(st,Ct){var Zt,dt,Fr;if(this.options.backtrack_lexer&&(Fr={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&&(Fr.yylloc.range=this.yylloc.range.slice(0))),dt=st[0].match(/(?:\r\n?|\n).*/g),dt&&(this.yylineno+=dt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:dt?dt[dt.length-1].length-dt[dt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+st[0].length},this.yytext+=st[0],this.match+=st[0],this.matches=st,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(st[0].length),this.matched+=st[0],Zt=this.performAction.call(this,this.yy,this,Ct,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Zt)return Zt;if(this._backtrack){for(var ve in Fr)this[ve]=Fr[ve];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var st,Ct,Zt,dt;this._more||(this.yytext="",this.match="");for(var Fr=this._currentRules(),ve=0;veCt[0].length)){if(Ct=Zt,dt=ve,this.options.backtrack_lexer){if(st=this.test_match(Zt,Fr[ve]),st!==!1)return st;if(this._backtrack){Ct=!1;continue}else return!1}else if(!this.options.flex)break}return Ct?(st=this.test_match(Ct,Fr[dt]),st!==!1?st:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ct=this.next();return Ct||this.lex()},"lex"),begin:o(function(Ct){this.conditionStack.push(Ct)},"begin"),popState:o(function(){var Ct=this.conditionStack.length-1;return Ct>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ct){return Ct=this.conditionStack.length-1-Math.abs(Ct||0),Ct>=0?this.conditionStack[Ct]:"INITIAL"},"topState"),pushState:o(function(Ct){this.begin(Ct)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ct,Zt,dt,Fr){var ve=Fr;switch(dt){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Zt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Lc=/\n\s*/g;return Zt.yytext=Zt.yytext.replace(Lc,"
    "),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Ct.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return Ct.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return Ct.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;break;case 69:return this.pushState("edgeText"),75;break;case 70:return 119;case 71:return this.popState(),77;break;case 72:return this.pushState("thickEdgeText"),75;break;case 73:return 119;case 74:return this.popState(),77;break;case 75:return this.pushState("dottedEdgeText"),75;break;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;break;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;break;case 81:return this.popState(),55;break;case 82:return this.pushState("text"),54;break;case 83:return this.popState(),57;break;case 84:return this.pushState("text"),56;break;case 85:return 58;case 86:return this.pushState("text"),67;break;case 87:return this.popState(),64;break;case 88:return this.pushState("text"),63;break;case 89:return this.popState(),49;break;case 90:return this.pushState("text"),48;break;case 91:return this.popState(),69;break;case 92:return this.popState(),71;break;case 93:return 117;case 94:return this.pushState("trapText"),68;break;case 95:return this.pushState("trapText"),70;break;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;break;case 108:return this.pushState("text"),62;break;case 109:return this.popState(),51;break;case 110:return this.pushState("text"),50;break;case 111:return this.popState(),31;break;case 112:return this.pushState("text"),29;break;case 113:return this.popState(),66;break;case 114:return this.pushState("text"),65;break;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeData:{rules:[8,11,12,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackargs:{rules:[17,18,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackname:{rules:[14,15,16,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},href:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},click:{rules:[21,24,33,34,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dottedEdgeText:{rules:[21,24,74,76,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},thickEdgeText:{rules:[21,24,71,73,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},edgeText:{rules:[21,24,68,70,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},trapText:{rules:[21,24,77,80,82,84,88,90,91,92,93,94,95,108,110,112,114],inclusive:!1},ellipseText:{rules:[21,24,77,78,79,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},text:{rules:[21,24,77,80,81,82,83,84,87,88,89,90,94,95,107,108,109,110,111,112,113,114,115],inclusive:!1},vertex:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr:{rules:[3,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_title:{rules:[1,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},md_string:{rules:[19,20,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},string:{rules:[21,22,23,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,77,80,82,84,85,86,88,90,94,95,96,97,98,99,100,101,102,103,104,105,106,108,110,112,114,116,117,118,119],inclusive:!0}}};return br})();oa.lexer=Co;function Xa(){this.yy={}}return o(Xa,"Parser"),Xa.prototype=oa,oa.Parser=Xa,new Xa})();gB.parser=gB;yB=gB});var Jme,ege,tge=I(()=>{"use strict";Zme();Jme=Object.assign({},yB);Jme.parse=t=>{let e=t.replace(/}\s*\n/g,`} -`);return yB.parse(e)};ege=Jme});var Su,ey=I(()=>{"use strict";Su=o(()=>` + `),l=KJe(n,i,s);l.aPosition=n.getAttribLocation(l,"aPosition"),l.aIndex=n.getAttribLocation(l,"aIndex"),l.aVertType=n.getAttribLocation(l,"aVertType"),l.aTransform=n.getAttribLocation(l,"aTransform"),l.aAtlasId=n.getAttribLocation(l,"aAtlasId"),l.aTex=n.getAttribLocation(l,"aTex"),l.aPointAPointB=n.getAttribLocation(l,"aPointAPointB"),l.aPointCPointD=n.getAttribLocation(l,"aPointCPointD"),l.aLineWidth=n.getAttribLocation(l,"aLineWidth"),l.aColor=n.getAttribLocation(l,"aColor"),l.aCornerRadius=n.getAttribLocation(l,"aCornerRadius"),l.aBorderColor=n.getAttribLocation(l,"aBorderColor"),l.uPanZoomMatrix=n.getUniformLocation(l,"uPanZoomMatrix"),l.uAtlasSize=n.getUniformLocation(l,"uAtlasSize"),l.uBGColor=n.getUniformLocation(l,"uBGColor"),l.uZoom=n.getUniformLocation(l,"uZoom"),l.uTextures=[];for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:$b.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()},"startFrame")},{key:"startBatch",value:o(function(){this.instanceCount=0,this.batchManager.startBatch()},"startBatch")},{key:"endFrame",value:o(function(){this.endBatch()},"endFrame")},{key:"_isVisible",value:o(function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1},"_isVisible")},{key:"drawTexture",value:o(function(r,n,i){var a=this.atlasManager,s=this.batchManager,l=a.getRenderTypeOpts(i);if(this._isVisible(r,l)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&l.getTexPickingMode){var u=l.getTexPickingMode(r);if(u===nC.IGNORE)return;if(u==nC.USE_BB){this.drawPickingRectangle(r,n,i);return}}var h=a.getAtlasInfo(r,i),f=xo(h),d;try{for(f.s();!(d=f.n()).done;){var p=d.value,m=p.atlas,g=p.tex1,y=p.tex2;s.canAddToCurrentBatch(m)||this.endBatch();for(var v=s.getAtlasIndexForBatch(m),x=0,b=[[g,!0],[y,!1]];x=this.maxInstances&&this.endBatch()}}}}catch(N){f.e(N)}finally{f.f()}}},"drawTexture")},{key:"setTransformMatrix",value:o(function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,l=0;if(i.shapeProps&&i.shapeProps.padding&&(l=r.pstyle(i.shapeProps.padding).pfValue),a){var u=a.bb,h=a.tex1,f=a.tex2,d=h.w/(h.w+f.w);s||(d=1-d);var p=this._getAdjustedBB(u,l,s,d);this._applyTransformMatrix(n,p,i,r)}else{var m=i.getBoundingBox(r),g=this._getAdjustedBB(m,l,!0,1);this._applyTransformMatrix(n,g,i,r)}},"setTransformMatrix")},{key:"_applyTransformMatrix",value:o(function(r,n,i,a){var s,l;E0e(r);var u=i.getRotation?i.getRotation(a):0;if(u!==0){var h=i.getRotationPoint(a),f=h.x,d=h.y;US(r,r,[f,d]),S0e(r,r,u);var p=i.getRotationOffset(a);s=p.x+(n.xOffset||0),l=p.y+(n.yOffset||0)}else s=n.x1,l=n.y1;US(r,r,[s,l]),KP(r,r,[n.w,n.h])},"_applyTransformMatrix")},{key:"_getAdjustedBB",value:o(function(r,n,i,a){var s=r.x1,l=r.y1,u=r.w,h=r.h,f=r.yOffset;n&&(s-=n,l-=n,u+=2*n,h+=2*n);var d=0,p=u*a;return i&&a<1?u=p:!i&&a<1&&(d=u-p,s+=d,u=p),{x1:s,y1:l,w:u,h,xOffset:d,yOffset:f}},"_getAdjustedBB")},{key:"drawPickingRectangle",value:o(function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=U1;var l=this.indexBuffer.getView(s);q1(n,l);var u=this.colorBuffer.getView(s);M0([0,0,0],1,u);var h=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,h,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()},"drawPickingRectangle")},{key:"drawNode",value:o(function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,l=this._getVertTypeForShape(r,s.shape);if(l===void 0||a.isSimple&&!a.isSimple(r)){this.drawTexture(r,n,i);return}var u=this.instanceCount;if(this.vertTypeBuffer.getView(u)[0]=l,l===MS||l===Nb){var h=a.getBoundingBox(r),f=this._getCornerRadius(r,s.radius,h),d=this.cornerRadiusBuffer.getView(u);d[0]=f,d[1]=f,d[2]=f,d[3]=f,l===Nb&&(d[0]=0,d[2]=0)}var p=this.indexBuffer.getView(u);q1(n,p);var m=r.pstyle(s.color).value,g=r.pstyle(s.opacity).value,y=this.colorBuffer.getView(u);M0(m,g,y);var v=this.lineWidthBuffer.getView(u);if(v[0]=0,v[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var b=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(u);M0(b,T,E);var w=r.pstyle("border-position").value;if(w==="inside")v[0]=0,v[1]=-x;else if(w==="outside")v[0]=x,v[1]=0;else{var k=x/2;v[0]=k,v[1]=-k}}}var S=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(r,S,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawNode")},{key:"_getVertTypeForShape",value:o(function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return U1;case"ellipse":return Mb;case"roundrectangle":case"round-rectangle":return MS;case"bottom-round-rectangle":return Nb;default:return}},"_getVertTypeForShape")},{key:"_getCornerRadius",value:o(function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return Td(a,s);var l=r.pstyle(n).pfValue,u=a/2,h=s/2;return Math.min(l,h,u)},"_getCornerRadius")},{key:"drawEdgeArrow",value:o(function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,l,u;if(i==="source"?(s=a.arrowStartX,l=a.arrowStartY,u=a.srcArrowAngle):(s=a.arrowEndX,l=a.arrowEndY,u=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(l)||l==null||isNaN(u)||u==null)){var h=r.pstyle(i+"-arrow-shape").value;if(h!=="none"){var f=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,p=r.pstyle("line-opacity").value,m=d*p,g=r.pstyle("width").pfValue,y=r.pstyle("arrow-scale").value,v=this.r.getArrowWidth(g,y),x=this.instanceCount,b=this.transformBuffer.getMatrixView(x);E0e(b),US(b,b,[s,l]),KP(b,b,[v,v]),S0e(b,b,u),this.vertTypeBuffer.getView(x)[0]=RP;var T=this.indexBuffer.getView(x);q1(n,T);var E=this.colorBuffer.getView(x);M0(f,m,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:o(function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,l=r.pstyle("width").pfValue,u=r.pstyle("line-color").value,h=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=C0e;var d=this.indexBuffer.getView(f);q1(n,d);var p=this.colorBuffer.getView(f);M0(u,h,p);var m=this.lineWidthBuffer.getView(f);m[0]=l;var g=this.pointAPointBBuffer.getView(f);g[0]=i[0],g[1]=i[1],g[2]=i[2],g[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var y=0;y=this.maxInstances&&this.endBatch()}}}},"drawEdgeLine")},{key:"_isValidEdge",value:o(function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))},"_isValidEdge")},{key:"_getEdgePoints",value:o(function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}},"_getEdgePoints")},{key:"_getNumSegments",value:o(function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)},"_getNumSegments")},{key:"_getCurveSegmentPoints",value:o(function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i},"_getCurveSegmentPoints")},{key:"_setCurvePoint",value:o(function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),l=0;l0}},"isLayerVisible"),l=o(function(d){var p=d.pstyle("text-events").strValue==="yes";return p?nC.USE_BB:nC.IGNORE},"getTexPickingMode"),u=o(function(d){var p=d.position(),m=p.x,g=p.y,y=d.outerWidth(),v=d.outerHeight();return{w:y,h:v,x1:m-y/2,y1:g-v/2}},"getBBForSimpleShape");r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:u,isSimple:eet,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:u,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:u,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:l,getKey:LP(e.getLabelKey,null),getBoundingBox:NP(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:l,getKey:LP(e.getSourceLabelKey,"source"),getBoundingBox:NP(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:l,getKey:LP(e.getTargetLabelKey,"target"),getBoundingBox:NP(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var h=tT(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(f,d){var p=!1;d&&d.length>0&&(p|=r.drawing.invalidate(d)),p&&h()}),wet(r)};o(Tet,"getBGColor");o(hge,"getLabelLines");LP=o(function(e,r){return function(n){var i=e(n),a=hge(n,r);return a.length>1?a.map(function(s,l){return"".concat(i,"_").concat(l)}):i}},"getStyleKeysForLabel"),NP=o(function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var l=Number(i.substring(s+1)),u=hge(n,r),h=a.h/u.length,f=h*l,d=a.y1+f;return{x1:a.x1,w:a.w,y1:d,h,yOffset:f}}}return a}},"getBoundingBoxForLabel");o(wet,"overrideCanvasRendererFunctions");o(ket,"clearWebgl");o(Eet,"clearCanvas");o(Cet,"createPanZoomMatrix");o(fge,"setContextTransform");o(Aet,"drawSelectionRectangle");o(_et,"drawAxes");o(Det,"drawAtlases");o(Ret,"getPickingIndexes");o(Let,"findNearestElementsWebgl");o(MP,"drawEle");o(dge,"renderWebgl");Dd={};Dd.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(Net,"b64ToBlob");o(R0e,"b64UriToB64");o(mge,"output");oT.png=function(t){return mge(t,this.bufferCanvasImage(t),"image/png")};oT.jpg=function(t){return mge(t,this.bufferCanvasImage(t),"image/jpeg")};gge={};gge.nodeShapeImpl=function(t,e,r,n,i,a,s,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};Met=yge,Wr=yge.prototype;Wr.CANVAS_LAYERS=3;Wr.SELECT_BOX=0;Wr.DRAG=1;Wr.NODE=2;Wr.WEBGL=3;Wr.CANVAS_TYPES=["2d","2d","2d","webgl2"];Wr.BUFFER_COUNT=3;Wr.TEXTURE_BUFFER=0;Wr.MOTIONBLUR_BUFFER_NODE=1;Wr.MOTIONBLUR_BUFFER_DRAG=2;o(yge,"CanvasRenderer");Wr.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Wr.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Wr.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Wr.SELECT_BOX]=e;break;case"gc":r.data.gc=!0;break}};Iet=typeof Path2D<"u";Wr.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Wr.usePaths=function(){return Iet&&this.pathsEnabled};Wr.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Wr.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Wr.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":aa(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[age,Du,$h,kB,H0,_d,Is,uge,Dd,oT,gge].forEach(function(t){pr(Wr,t)});Oet=[{name:"null",impl:Wme},{name:"base",impl:tge},{name:"canvas",impl:Met}],Pet=[{type:"layout",extensions:aJe},{type:"renderer",extensions:Oet}],vge={},xge={};o(bge,"setExtension");o(Tge,"getExtension");o(Bet,"setModule");o(Fet,"getModule");JP=o(function(){if(arguments.length===2)return Tge.apply(null,arguments);if(arguments.length===3)return bge.apply(null,arguments);if(arguments.length===4)return Fet.apply(null,arguments);if(arguments.length===5)return Bet.apply(null,arguments);ui("Invalid extension access syntax")},"extension");jb.prototype.extension=JP;Pet.forEach(function(t){t.extensions.forEach(function(e){bge(t.type,e.name,e.impl)})});iC=o(function(){if(!(this instanceof iC))return new iC;this.length=0},"Stylesheet"),U0=iC.prototype;U0.instanceString=function(){return"stylesheet"};U0.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};U0.css=function(t,e){var r=this.length-1;if(or(t))this[r].properties.push({name:t,value:e});else if(sn(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";o((function(e,r){typeof lT=="object"&&typeof CB=="object"?CB.exports=r():typeof define=="function"&&define.amd?define([],r):typeof lT=="object"?lT.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(lT,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var E=x.source.owner.getEdges().indexOf(x);if(E==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(E,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),E=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,E,w,k,S,A=this.nodes,L=A.length,I=0;IT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var L=0;v.forEach(function(I){I.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,C=!0):(l[0]=g,l[1]=m,C=!0):D===R&&(u>f?(l[0]=p,l[1]=m,C=!0):(l[0]=x,l[1]=v,C=!0)),-M===R?f>u?(l[2]=S,l[3]=A,_=!0):(l[2]=k,l[3]=w,_=!0):M===R&&(f>u?(l[2]=E,l[3]=w,_=!0):(l[2]=L,l[3]=A,_=!0)),C&&_)return!1;if(u>f?h>d?(P=this.getCardinalDirection(D,R,4),B=this.getCardinalDirection(M,R,2)):(P=this.getCardinalDirection(-D,R,3),B=this.getCardinalDirection(-M,R,1)):h>d?(P=this.getCardinalDirection(-D,R,1),B=this.getCardinalDirection(-M,R,3)):(P=this.getCardinalDirection(D,R,2),B=this.getCardinalDirection(M,R,4)),!C)switch(P){case 1:G=m,F=u+-T/R,l[0]=F,l[1]=G;break;case 2:F=x,G=h+b*R,l[0]=F,l[1]=G;break;case 3:G=v,F=u+T/R,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-b*R,l[0]=F,l[1]=G;break}if(!_)switch(B){case 1:V=w,$=f+-N/R,l[2]=$,l[3]=V;break;case 2:$=L,V=d+I*R,l[2]=$,l[3]=V;break;case 3:V=A,$=f+N/R,l[2]=$,l[3]=V;break;case 4:$=S,V=d+-I*R,l[2]=$,l[3]=V;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,E=void 0,w=void 0,k=void 0,S=void 0,A=void 0,L=void 0;return T=p-f,w=h-d,S=d*f-h*p,E=v-g,k=m-y,A=y*g-m*v,L=T*k-E*w,L===0?null:(x=(w*A-k*S)/L,b=(E*S-T*A)/L,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var S=k.getEdges(),x=0;x-1&&w.splice(N,1)}b=new Set,E=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var L=E.getNeighborsList();L.forEach(function(C){if(y.indexOf(C)<0){var _=v.get(C),D=_-1;D==1&&k.push(C),v.set(C,D)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(4);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var E=0;Eh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof cT=="object"&&typeof _B=="object"?_B.exports=r(AB()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof cT=="object"?cT.coseBase=r(AB()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(cT,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(u,h,f,d){i.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(w);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),S=this.nodesWithGravity.filter(function(A){return k.has(A)});this.graphManager.setAllNodesToApplyGravitation(S),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},T.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var w=new Set(this.getAllNodes()),k=this.nodesWithGravity.filter(function(L){return w.has(L)});this.graphManager.setAllNodesToApplyGravitation(k),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var S=!this.isTreeGrowing&&!this.isGrowthFinished,A=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(S,A),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var w=this.graphManager.getAllNodes(),k={},S=0;S1){var C;for(C=0;CA&&(A=Math.floor(N.y)),I=Math.floor(N.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-N.x/2,d.WORLD_CENTER_Y-N.y/2))},T.radialLayout=function(w,k,S){var A=Math.max(this.maxDiagonalInTree(w),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(k,null,0,359,0,A);var L=x.calculateBounds(w),I=new b;I.setDeviceOrgX(L.getMinX()),I.setDeviceOrgY(L.getMinY()),I.setWorldOrgX(S.x),I.setWorldOrgY(S.y);for(var N=0;N1;){var X=V[0];V.splice(0,1);var Q=P.indexOf(X);Q>=0&&P.splice(Q,1),G--,B--}k!=null?$=(P.indexOf(V[0])+1)%G:$=0;for(var H=Math.abs(A-S)/B,ie=$;F!=B;ie=++ie%G){var Y=P[ie].getOtherEnd(w);if(Y!=k){var le=(S+F*H)%360,ee=(le+H)%360;T.branchRadialLayout(Y,w,le,ee,L+I,I),F++}}},T.maxDiagonalInTree=function(w){for(var k=y.MIN_VALUE,S=0;Sk&&(k=L)}return k},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var w=this,k={};this.memberGroups={},this.idToDummyNode={};for(var S=[],A=this.graphManager.getAllNodes(),L=0;L"u"&&(k[C]=[]),k[C]=k[C].concat(I)}Object.keys(k).forEach(function(_){if(k[_].length>1){var D="DummyCompound_"+_;w.memberGroups[D]=k[_];var M=k[_][0].getParent(),R=new l(w.graphManager);R.id=D,R.paddingLeft=M.paddingLeft||0,R.paddingRight=M.paddingRight||0,R.paddingBottom=M.paddingBottom||0,R.paddingTop=M.paddingTop||0,w.idToDummyNode[D]=R;var P=w.getGraphManager().add(w.newGraph(),R),B=M.getChild();B.add(R);for(var F=0;F=0;w--){var k=this.compoundOrder[w],S=k.id,A=k.paddingLeft,L=k.paddingTop;this.adjustLocations(this.tiledMemberPack[S],k.rect.x,k.rect.y,A,L)}},T.prototype.repopulateZeroDegreeMembers=function(){var w=this,k=this.tiledZeroDegreePack;Object.keys(k).forEach(function(S){var A=w.idToDummyNode[S],L=A.paddingLeft,I=A.paddingTop;w.adjustLocations(k[S],A.rect.x,A.rect.y,L,I)})},T.prototype.getToBeTiled=function(w){var k=w.id;if(this.toBeTiled[k]!=null)return this.toBeTiled[k];var S=w.getChild();if(S==null)return this.toBeTiled[k]=!1,!1;for(var A=S.getNodes(),L=0;L0)return this.toBeTiled[k]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[k]=!1,!1}return this.toBeTiled[k]=!0,!0},T.prototype.getNodeDegree=function(w){for(var k=w.id,S=w.getEdges(),A=0,L=0;L_&&(_=M.rect.height)}S+=_+w.verticalPadding}},T.prototype.tileCompoundMembers=function(w,k){var S=this;this.tiledMemberPack=[],Object.keys(w).forEach(function(A){var L=k[A];S.tiledMemberPack[A]=S.tileNodes(w[A],L.paddingLeft+L.paddingRight),L.rect.width=S.tiledMemberPack[A].width,L.rect.height=S.tiledMemberPack[A].height})},T.prototype.tileNodes=function(w,k){var S=h.TILING_PADDING_VERTICAL,A=h.TILING_PADDING_HORIZONTAL,L={rows:[],rowWidth:[],rowHeight:[],width:0,height:k,verticalPadding:S,horizontalPadding:A};w.sort(function(C,_){return C.rect.width*C.rect.height>_.rect.width*_.rect.height?-1:C.rect.width*C.rect.height<_.rect.width*_.rect.height?1:0});for(var I=0;I0&&(N+=w.horizontalPadding),w.rowWidth[S]=N,w.width0&&(C+=w.verticalPadding);var _=0;C>w.rowHeight[S]&&(_=w.rowHeight[S],w.rowHeight[S]=C,_=w.rowHeight[S]-_),w.height+=_,w.rows[S].push(k)},T.prototype.getShortestRowIndex=function(w){for(var k=-1,S=Number.MAX_VALUE,A=0;AS&&(k=A,S=w.rowWidth[A]);return k},T.prototype.canAddHorizontal=function(w,k,S){var A=this.getShortestRowIndex(w);if(A<0)return!0;var L=w.rowWidth[A];if(L+w.horizontalPadding+k<=w.width)return!0;var I=0;w.rowHeight[A]0&&(I=S+w.verticalPadding-w.rowHeight[A]);var N;w.width-L>=k+w.horizontalPadding?N=(w.height+I)/(L+k+w.horizontalPadding):N=(w.height+I)/w.width,I=S+w.verticalPadding;var C;return w.widthI&&k!=S){A.splice(-1,1),w.rows[S].push(L),w.rowWidth[k]=w.rowWidth[k]-I,w.rowWidth[S]=w.rowWidth[S]+I,w.width=w.rowWidth[instance.getLongestRowIndex(w)];for(var N=Number.MIN_VALUE,C=0;CN&&(N=A[C].height);k>0&&(N+=w.verticalPadding);var _=w.rowHeight[k]+w.rowHeight[S];w.rowHeight[k]=N,w.rowHeight[S]0)for(var B=L;B<=I;B++)P[0]+=this.grid[B][N-1].length+this.grid[B][N].length-1;if(I0)for(var B=N;B<=C;B++)P[3]+=this.grid[L-1][B].length+this.grid[L][B].length-1;for(var F=y.MAX_VALUE,G,$,V=0;V{"use strict";o((function(e,r){typeof uT=="object"&&typeof RB=="object"?RB.exports=r(DB()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof uT=="object"?uT.cytoscapeCoseBilkent=r(DB()):e.cytoscapeCoseBilkent=r(e.coseBase)}),"webpackUniversalModuleDefinition")(uT,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var T in v)b[T]=v[T];for(var T in x)b[T]=x[T];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,T=this.idToLNode={},E=this.layout=new l,w=this;w.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var k=E.newGraphManager();this.gm=k;var S=this.options.eles.nodes(),A=this.options.eles.edges();this.root=k.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(S),E);for(var L=0;L0){var C;C=b.getGraphManager().add(b.newGraph(),S),this.processChildrenList(C,k,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y})])})});function zet(t,e){t.forEach(r=>{let n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}function Get(t,e){t.forEach(r=>{let n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}function Ege(t){return new Promise(e=>{let r=je("body").append("div").attr("id","cy").attr("style","display:none"),n=Il({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zet(t.nodes,n),Get(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}});let i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{K.info("Cytoscape ready",a),e(n)})})}function Sge(t){return t.nodes().map(e=>{let r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}function Cge(t){return t.edges().map(e=>{let r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}var kge,Age=O(()=>{"use strict";SB();kge=Ra(wge(),1);Ar();xt();Il.use(kge.default);o(zet,"addNodes");o(Get,"addEdges");o(Ege,"createCytoscapeInstance");o(Sge,"extractPositionedNodes");o(Cge,"extractPositionedEdges")});async function _ge(t,e){K.debug("Starting cose-bilkent layout algorithm");try{Vet(t);let r=await Ege(t),n=Sge(r),i=Cge(r);return K.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw K.error("Error in cose-bilkent layout algorithm:",r),r}}function Vet(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}var Dge=O(()=>{"use strict";xt();Age();o(_ge,"executeCoseBilkentLayout");o(Vet,"validateLayoutData")});var Rge,Lge=O(()=>{"use strict";Dge();Rge=o(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:l,positionEdgeLabel:u},{algorithm:h})=>{let f={},d={},p=e.select("g");a(p,t.markers,t.type,t.diagramId);let m=p.insert("g").attr("class","subgraphs"),g=p.insert("g").attr("class","edgePaths"),y=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");l.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){let E={...T};d[T.id]=E,f[T.id]=E,await r(m,T)}else{let E={...T};f[T.id]=E;let w=await s(v,T,{config:t.config,dir:t.direction||"TB"}),k=w.node().getBBox();E.width=k.width,E.height=k.height,E.domId=w,l.debug(`Node ${T.id} dimensions: ${k.width}x${k.height}`)}})),l.debug("Running cose-bilkent layout algorithm");let x={...t,nodes:t.nodes.map(T=>{let E=f[T.id];return{...T,width:E.width,height:E.height}})},b=await _ge(x,t.config);l.debug("Positioning nodes based on layout results"),b.nodes.forEach(T=>{let E=f[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,l.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),b.edges.forEach(T=>{let E=t.edges.find(w=>w.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),l.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{let E=await i(y,T),w=f[T.start??""],k=f[T.end??""];if(w&&k){let S=b.edges.find(A=>A.id===T.id);if(S){l.debug("APA01 positionedEdge",S);let A={...T},L=n(g,A,d,t.type,w,k,t.diagramId);u(A,L)}else{let A={...T,points:[{x:w.x||0,y:w.y||0},{x:k.x||0,y:k.y||0}]},L=n(g,A,d,t.type,w,k,t.diagramId);u(A,L)}}})),l.debug("Cose-bilkent rendering completed")},"render")});var Nge={};vr(Nge,{render:()=>qet});var qet,Mge=O(()=>{"use strict";Lge();qet=Rge});var hT,LB,Uet,Ol,Ru,Rd=O(()=>{"use strict";woe();xt();hT={},LB=o(t=>{for(let e of t)hT[e.name]=e},"registerLayoutLoaders"),Uet=o(()=>{LB([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(rde(),tde)),"loader")},{name:"cose-bilkent",loader:o(async()=>await Promise.resolve().then(()=>(Mge(),Nge)),"loader")}])},"registerDefaultLayoutLoaders");Uet();Ol=o(async(t,e)=>{if(!(t.layoutAlgorithm in hT))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=hT[t.layoutAlgorithm];return(await r.loader()).render(t,e,Toe,{algorithm:r.algorithm})},"render"),Ru=o((t="",{fallback:e="dagre"}={})=>{if(t in hT)return t;if(e in hT)return K.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var bo,Wet,Het,Ld=O(()=>{"use strict";Ti();xt();bo=o((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:l}=Wet(t,e);Zr(t,a,i,n);let u=Het(s,l,i,a,e);t.attr("viewBox",u),K.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),Wet=o((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),Het=o((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var Yet,jet,Ige,Oge=O(()=>{"use strict";Ar();jt();xt();b0();Rd();Ld();ar();Yet=o(function(t,e){return e.db.getClasses()},"getClasses"),jet=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=ve(),l;i==="sandbox"&&(l=je("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;K.debug("Before getData: ");let h=n.db.getData();K.debug("Data: ",h);let f=Sl(e,i),d=n.db.getDirection();h.type=n.type,h.layoutAlgorithm=Ru(s),h.layoutAlgorithm==="dagre"&&s==="elk"&&K.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,K.debug("REF1:",h),await Ol(h,f);let p=h.config.flowchart?.diagramPadding??8;Xt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),bo(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=je(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),Ige={getClasses:Yet,draw:jet}});var NB,MB,Pge=O(()=>{"use strict";NB=(function(){var t=o(function(Pt,Tt,Vt,Qt){for(Vt=Vt||{},Qt=Pt.length;Qt--;Vt[Pt[Qt]]=Tt);return Vt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,50],y=[1,49],v=[1,29],x=[1,30],b=[1,31],T=[1,32],E=[1,33],w=[1,45],k=[1,47],S=[1,43],A=[1,48],L=[1,44],I=[1,51],N=[1,46],C=[1,52],_=[1,53],D=[1,34],M=[1,35],R=[1,36],P=[1,37],B=[1,38],F=[1,58],G=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$=[1,62],V=[1,61],X=[1,63],Q=[8,9,11,75,77,78],H=[1,79],ie=[1,92],Y=[1,97],le=[1,96],ee=[1,93],J=[1,89],te=[1,95],Z=[1,91],xe=[1,98],de=[1,94],Se=[1,99],Me=[1,90],ke=[8,9,10,11,40,75,77,78],we=[8,9,10,11,40,46,75,77,78],_e=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],$e=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],fe=[44,60,89,102,105,106,109,111,114,115,116],Ke=[1,122],Te=[1,123],Be=[1,125],Ue=[1,124],Ge=[44,60,62,74,89,102,105,106,109,111,114,115,116],Ne=[1,134],We=[1,148],j=[1,149],ae=[1,150],U=[1,151],ce=[1,136],z=[1,138],ne=[1,142],se=[1,143],be=[1,144],pe=[1,145],me=[1,146],Re=[1,147],ge=[1,152],Ie=[1,153],qe=[1,132],Pe=[1,133],Xe=[1,140],oe=[1,135],et=[1,139],he=[1,137],ot=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],Dt=[1,155],It=[1,157],wt=[8,9,11],Rt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],it=[1,177],at=[1,173],Ct=[1,174],yt=[1,178],dt=[1,175],Ht=[1,176],cr=[77,116,119],Kt=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],kr=[10,106],ur=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],tr=[1,248],hr=[1,246],_n=[1,250],mt=[1,244],Le=[1,245],ct=[1,247],St=[1,249],Mr=[1,251],tn=[1,269],cn=[8,9,11,106],Cr=[8,9,10,11,60,84,105,106,109,110,111,112],Ki={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:o(function(Tt,Vt,Qt,gt,xn,ye,Mo){var Ee=ye.length-1;switch(xn){case 2:this.$=[];break;case 3:(!Array.isArray(ye[Ee])||ye[Ee].length>0)&&ye[Ee-1].push(ye[Ee]),this.$=ye[Ee-1];break;case 4:case 183:this.$=ye[Ee];break;case 11:gt.setDirection("TB"),this.$="TB";break;case 12:gt.setDirection(ye[Ee-1]),this.$=ye[Ee-1];break;case 27:this.$=ye[Ee-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=gt.addSubGraph(ye[Ee-6],ye[Ee-1],ye[Ee-4]);break;case 34:this.$=gt.addSubGraph(ye[Ee-3],ye[Ee-1],ye[Ee-3]);break;case 35:this.$=gt.addSubGraph(void 0,ye[Ee-1],void 0);break;case 37:this.$=ye[Ee].trim(),gt.setAccTitle(this.$);break;case 38:case 39:this.$=ye[Ee].trim(),gt.setAccDescription(this.$);break;case 43:this.$=ye[Ee-1]+ye[Ee];break;case 44:this.$=ye[Ee];break;case 45:gt.addVertex(ye[Ee-1][ye[Ee-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ye[Ee]),gt.addLink(ye[Ee-3].stmt,ye[Ee-1],ye[Ee-2]),this.$={stmt:ye[Ee-1],nodes:ye[Ee-1].concat(ye[Ee-3].nodes)};break;case 46:gt.addLink(ye[Ee-2].stmt,ye[Ee],ye[Ee-1]),this.$={stmt:ye[Ee],nodes:ye[Ee].concat(ye[Ee-2].nodes)};break;case 47:gt.addLink(ye[Ee-3].stmt,ye[Ee-1],ye[Ee-2]),this.$={stmt:ye[Ee-1],nodes:ye[Ee-1].concat(ye[Ee-3].nodes)};break;case 48:this.$={stmt:ye[Ee-1],nodes:ye[Ee-1]};break;case 49:gt.addVertex(ye[Ee-1][ye[Ee-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ye[Ee]),this.$={stmt:ye[Ee-1],nodes:ye[Ee-1],shapeData:ye[Ee]};break;case 50:this.$={stmt:ye[Ee],nodes:ye[Ee]};break;case 51:this.$=[ye[Ee]];break;case 52:gt.addVertex(ye[Ee-5][ye[Ee-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ye[Ee-4]),this.$=ye[Ee-5].concat(ye[Ee]);break;case 53:this.$=ye[Ee-4].concat(ye[Ee]);break;case 54:this.$=ye[Ee];break;case 55:this.$=ye[Ee-2],gt.setClass(ye[Ee-2],ye[Ee]);break;case 56:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"square");break;case 57:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"doublecircle");break;case 58:this.$=ye[Ee-5],gt.addVertex(ye[Ee-5],ye[Ee-2],"circle");break;case 59:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"ellipse");break;case 60:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"stadium");break;case 61:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"subroutine");break;case 62:this.$=ye[Ee-7],gt.addVertex(ye[Ee-7],ye[Ee-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ye[Ee-5],ye[Ee-3]]]));break;case 63:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"cylinder");break;case 64:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"round");break;case 65:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"diamond");break;case 66:this.$=ye[Ee-5],gt.addVertex(ye[Ee-5],ye[Ee-2],"hexagon");break;case 67:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"odd");break;case 68:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"trapezoid");break;case 69:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"inv_trapezoid");break;case 70:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"lean_right");break;case 71:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"lean_left");break;case 72:this.$=ye[Ee],gt.addVertex(ye[Ee]);break;case 73:ye[Ee-1].text=ye[Ee],this.$=ye[Ee-1];break;case 74:case 75:ye[Ee-2].text=ye[Ee-1],this.$=ye[Ee-2];break;case 76:this.$=ye[Ee];break;case 77:var _i=gt.destructLink(ye[Ee],ye[Ee-2]);this.$={type:_i.type,stroke:_i.stroke,length:_i.length,text:ye[Ee-1]};break;case 78:var _i=gt.destructLink(ye[Ee],ye[Ee-2]);this.$={type:_i.type,stroke:_i.stroke,length:_i.length,text:ye[Ee-1],id:ye[Ee-3]};break;case 79:this.$={text:ye[Ee],type:"text"};break;case 80:this.$={text:ye[Ee-1].text+""+ye[Ee],type:ye[Ee-1].type};break;case 81:this.$={text:ye[Ee],type:"string"};break;case 82:this.$={text:ye[Ee],type:"markdown"};break;case 83:var _i=gt.destructLink(ye[Ee]);this.$={type:_i.type,stroke:_i.stroke,length:_i.length};break;case 84:var _i=gt.destructLink(ye[Ee]);this.$={type:_i.type,stroke:_i.stroke,length:_i.length,id:ye[Ee-1]};break;case 85:this.$=ye[Ee-1];break;case 86:this.$={text:ye[Ee],type:"text"};break;case 87:this.$={text:ye[Ee-1].text+""+ye[Ee],type:ye[Ee-1].type};break;case 88:this.$={text:ye[Ee],type:"string"};break;case 89:case 104:this.$={text:ye[Ee],type:"markdown"};break;case 101:this.$={text:ye[Ee],type:"text"};break;case 102:this.$={text:ye[Ee-1].text+""+ye[Ee],type:ye[Ee-1].type};break;case 103:this.$={text:ye[Ee],type:"text"};break;case 105:this.$=ye[Ee-4],gt.addClass(ye[Ee-2],ye[Ee]);break;case 106:this.$=ye[Ee-4],gt.setClass(ye[Ee-2],ye[Ee]);break;case 107:case 115:this.$=ye[Ee-1],gt.setClickEvent(ye[Ee-1],ye[Ee]);break;case 108:case 116:this.$=ye[Ee-3],gt.setClickEvent(ye[Ee-3],ye[Ee-2]),gt.setTooltip(ye[Ee-3],ye[Ee]);break;case 109:this.$=ye[Ee-2],gt.setClickEvent(ye[Ee-2],ye[Ee-1],ye[Ee]);break;case 110:this.$=ye[Ee-4],gt.setClickEvent(ye[Ee-4],ye[Ee-3],ye[Ee-2]),gt.setTooltip(ye[Ee-4],ye[Ee]);break;case 111:this.$=ye[Ee-2],gt.setLink(ye[Ee-2],ye[Ee]);break;case 112:this.$=ye[Ee-4],gt.setLink(ye[Ee-4],ye[Ee-2]),gt.setTooltip(ye[Ee-4],ye[Ee]);break;case 113:this.$=ye[Ee-4],gt.setLink(ye[Ee-4],ye[Ee-2],ye[Ee]);break;case 114:this.$=ye[Ee-6],gt.setLink(ye[Ee-6],ye[Ee-4],ye[Ee]),gt.setTooltip(ye[Ee-6],ye[Ee-2]);break;case 117:this.$=ye[Ee-1],gt.setLink(ye[Ee-1],ye[Ee]);break;case 118:this.$=ye[Ee-3],gt.setLink(ye[Ee-3],ye[Ee-2]),gt.setTooltip(ye[Ee-3],ye[Ee]);break;case 119:this.$=ye[Ee-3],gt.setLink(ye[Ee-3],ye[Ee-2],ye[Ee]);break;case 120:this.$=ye[Ee-5],gt.setLink(ye[Ee-5],ye[Ee-4],ye[Ee]),gt.setTooltip(ye[Ee-5],ye[Ee-2]);break;case 121:this.$=ye[Ee-4],gt.addVertex(ye[Ee-2],void 0,void 0,ye[Ee]);break;case 122:this.$=ye[Ee-4],gt.updateLink([ye[Ee-2]],ye[Ee]);break;case 123:this.$=ye[Ee-4],gt.updateLink(ye[Ee-2],ye[Ee]);break;case 124:this.$=ye[Ee-8],gt.updateLinkInterpolate([ye[Ee-6]],ye[Ee-2]),gt.updateLink([ye[Ee-6]],ye[Ee]);break;case 125:this.$=ye[Ee-8],gt.updateLinkInterpolate(ye[Ee-6],ye[Ee-2]),gt.updateLink(ye[Ee-6],ye[Ee]);break;case 126:this.$=ye[Ee-6],gt.updateLinkInterpolate([ye[Ee-4]],ye[Ee]);break;case 127:this.$=ye[Ee-6],gt.updateLinkInterpolate(ye[Ee-4],ye[Ee]);break;case 128:case 130:this.$=[ye[Ee]];break;case 129:case 131:ye[Ee-2].push(ye[Ee]),this.$=ye[Ee-2];break;case 133:this.$=ye[Ee-1]+ye[Ee];break;case 181:this.$=ye[Ee];break;case 182:this.$=ye[Ee-1]+""+ye[Ee];break;case 184:this.$=ye[Ee-1]+""+ye[Ee];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_,121:D,122:M,123:R,124:P,125:B},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:F,15:54,18:57},t(G,[2,3]),t(G,[2,4]),t(G,[2,5]),t(G,[2,6]),t(G,[2,7]),t(G,[2,8]),{8:$,9:V,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:$,9:V,11:X,21:68},{8:$,9:V,11:X,21:69},{8:$,9:V,11:X,21:70},{8:$,9:V,11:X,21:71},{8:$,9:V,11:X,21:72},{8:$,9:V,10:[1,73],11:X,21:74},t(G,[2,36]),{35:[1,75]},{37:[1,76]},t(G,[2,39]),t(Q,[2,50],{18:77,39:78,10:F,40:H}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ie,44:Y,60:le,80:[1,87],89:ee,95:[1,84],97:[1,85],101:86,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me,120:88},t(G,[2,185]),t(G,[2,186]),t(G,[2,187]),t(G,[2,188]),t(G,[2,189]),t(ke,[2,51]),t(ke,[2,54],{46:[1,100]}),t(we,[2,72],{113:113,29:[1,101],44:g,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:y,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:w,102:k,105:S,106:A,109:L,111:I,114:N,115:C,116:_}),t(_e,[2,181]),t(_e,[2,142]),t(_e,[2,143]),t(_e,[2,144]),t(_e,[2,145]),t(_e,[2,146]),t(_e,[2,147]),t(_e,[2,148]),t(_e,[2,149]),t(_e,[2,150]),t(_e,[2,151]),t(_e,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t($e,[2,26],{18:115,10:F}),t(G,[2,27]),{42:116,43:39,44:g,45:40,47:41,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},t(G,[2,40]),t(G,[2,41]),t(G,[2,42]),t(fe,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:Ke,81:Te,116:Be,119:Ue},{75:[1,126],77:[1,127]},t(Ge,[2,83]),t(G,[2,28]),t(G,[2,29]),t(G,[2,30]),t(G,[2,31]),t(G,[2,32]),{10:Ne,12:We,14:j,27:ae,28:128,32:U,44:ce,60:z,75:ne,80:[1,130],81:[1,131],83:141,84:se,85:be,86:pe,87:me,88:Re,89:ge,90:Ie,91:129,105:qe,109:Pe,111:Xe,114:oe,115:et,116:he},t(ot,a,{5:154}),t(G,[2,37]),t(G,[2,38]),t(Q,[2,48],{44:Dt}),t(Q,[2,49],{18:156,10:F,40:It}),t(ke,[2,44]),{44:g,47:158,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},{102:[1,159],103:160,105:[1,161]},{44:g,47:162,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},{44:g,47:163,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},t(wt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(wt,[2,115],{120:168,10:[1,167],14:ie,44:Y,60:le,89:ee,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me}),t(wt,[2,117],{10:[1,169]}),t(Rt,[2,183]),t(Rt,[2,170]),t(Rt,[2,171]),t(Rt,[2,172]),t(Rt,[2,173]),t(Rt,[2,174]),t(Rt,[2,175]),t(Rt,[2,176]),t(Rt,[2,177]),t(Rt,[2,178]),t(Rt,[2,179]),t(Rt,[2,180]),{44:g,47:170,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},{30:171,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:179,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:181,50:[1,180],67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:182,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:183,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:184,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{109:[1,185]},{30:186,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:187,65:[1,188],67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:189,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:190,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:191,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},t(_e,[2,182]),t(i,[2,20]),t($e,[2,25]),t(Q,[2,46],{39:192,18:193,10:F,40:H}),t(fe,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{77:[1,197],79:198,116:Be,119:Ue},t(cr,[2,79]),t(cr,[2,81]),t(cr,[2,82]),t(cr,[2,168]),t(cr,[2,169]),{76:199,79:121,80:Ke,81:Te,116:Be,119:Ue},t(Ge,[2,84]),{8:$,9:V,10:Ne,11:X,12:We,14:j,21:201,27:ae,29:[1,200],32:U,44:ce,60:z,75:ne,83:141,84:se,85:be,86:pe,87:me,88:Re,89:ge,90:Ie,91:202,105:qe,109:Pe,111:Xe,114:oe,115:et,116:he},t(Kt,[2,101]),t(Kt,[2,103]),t(Kt,[2,104]),t(Kt,[2,157]),t(Kt,[2,158]),t(Kt,[2,159]),t(Kt,[2,160]),t(Kt,[2,161]),t(Kt,[2,162]),t(Kt,[2,163]),t(Kt,[2,164]),t(Kt,[2,165]),t(Kt,[2,166]),t(Kt,[2,167]),t(Kt,[2,90]),t(Kt,[2,91]),t(Kt,[2,92]),t(Kt,[2,93]),t(Kt,[2,94]),t(Kt,[2,95]),t(Kt,[2,96]),t(Kt,[2,97]),t(Kt,[2,98]),t(Kt,[2,99]),t(Kt,[2,100]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,203],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_,121:D,122:M,123:R,124:P,125:B},{10:F,18:204},{44:[1,205]},t(ke,[2,43]),{10:[1,206],44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:113,114:N,115:C,116:_},{10:[1,207]},{10:[1,208],106:[1,209]},t(kr,[2,128]),{10:[1,210],44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:113,114:N,115:C,116:_},{10:[1,211],44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:113,114:N,115:C,116:_},{80:[1,212]},t(wt,[2,109],{10:[1,213]}),t(wt,[2,111],{10:[1,214]}),{80:[1,215]},t(Rt,[2,184]),{80:[1,216],98:[1,217]},t(ke,[2,55],{113:113,44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,114:N,115:C,116:_}),{31:[1,218],67:it,82:219,116:yt,117:dt,118:Ht},t(ur,[2,86]),t(ur,[2,88]),t(ur,[2,89]),t(ur,[2,153]),t(ur,[2,154]),t(ur,[2,155]),t(ur,[2,156]),{49:[1,220],67:it,82:219,116:yt,117:dt,118:Ht},{30:221,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{51:[1,222],67:it,82:219,116:yt,117:dt,118:Ht},{53:[1,223],67:it,82:219,116:yt,117:dt,118:Ht},{55:[1,224],67:it,82:219,116:yt,117:dt,118:Ht},{57:[1,225],67:it,82:219,116:yt,117:dt,118:Ht},{60:[1,226]},{64:[1,227],67:it,82:219,116:yt,117:dt,118:Ht},{66:[1,228],67:it,82:219,116:yt,117:dt,118:Ht},{30:229,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{31:[1,230],67:it,82:219,116:yt,117:dt,118:Ht},{67:it,69:[1,231],71:[1,232],82:219,116:yt,117:dt,118:Ht},{67:it,69:[1,234],71:[1,233],82:219,116:yt,117:dt,118:Ht},t(Q,[2,45],{18:156,10:F,40:It}),t(Q,[2,47],{44:Dt}),t(fe,[2,75]),t(fe,[2,74]),{62:[1,235],67:it,82:219,116:yt,117:dt,118:Ht},t(fe,[2,77]),t(cr,[2,80]),{77:[1,236],79:198,116:Be,119:Ue},{30:237,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},t(ot,a,{5:238}),t(Kt,[2,102]),t(G,[2,35]),{43:239,44:g,45:40,47:41,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},{10:F,18:240},{10:tr,60:hr,84:_n,92:241,105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{10:tr,60:hr,84:_n,92:252,104:[1,253],105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{10:tr,60:hr,84:_n,92:254,104:[1,255],105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{105:[1,256]},{10:tr,60:hr,84:_n,92:257,105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{44:g,47:258,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},t(wt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(wt,[2,116]),t(wt,[2,118],{10:[1,262]}),t(wt,[2,119]),t(we,[2,56]),t(ur,[2,87]),t(we,[2,57]),{51:[1,263],67:it,82:219,116:yt,117:dt,118:Ht},t(we,[2,64]),t(we,[2,59]),t(we,[2,60]),t(we,[2,61]),{109:[1,264]},t(we,[2,63]),t(we,[2,65]),{66:[1,265],67:it,82:219,116:yt,117:dt,118:Ht},t(we,[2,67]),t(we,[2,68]),t(we,[2,70]),t(we,[2,69]),t(we,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(fe,[2,78]),{31:[1,266],67:it,82:219,116:yt,117:dt,118:Ht},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,267],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_,121:D,122:M,123:R,124:P,125:B},t(ke,[2,53]),{43:268,44:g,45:40,47:41,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},t(wt,[2,121],{106:tn}),t(cn,[2,130],{108:270,10:tr,60:hr,84:_n,105:mt,109:Le,110:ct,111:St,112:Mr}),t(Cr,[2,132]),t(Cr,[2,134]),t(Cr,[2,135]),t(Cr,[2,136]),t(Cr,[2,137]),t(Cr,[2,138]),t(Cr,[2,139]),t(Cr,[2,140]),t(Cr,[2,141]),t(wt,[2,122],{106:tn}),{10:[1,271]},t(wt,[2,123],{106:tn}),{10:[1,272]},t(kr,[2,129]),t(wt,[2,105],{106:tn}),t(wt,[2,106],{113:113,44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,114:N,115:C,116:_}),t(wt,[2,110]),t(wt,[2,112],{10:[1,273]}),t(wt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:$,9:V,11:X,21:278},t(G,[2,34]),t(ke,[2,52]),{10:tr,60:hr,84:_n,105:mt,107:279,108:243,109:Le,110:ct,111:St,112:Mr},t(Cr,[2,133]),{14:ie,44:Y,60:le,89:ee,101:280,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me,120:88},{14:ie,44:Y,60:le,89:ee,101:281,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me,120:88},{98:[1,282]},t(wt,[2,120]),t(we,[2,58]),{30:283,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},t(we,[2,66]),t(ot,a,{5:284}),t(cn,[2,131],{108:270,10:tr,60:hr,84:_n,105:mt,109:Le,110:ct,111:St,112:Mr}),t(wt,[2,126],{120:168,10:[1,285],14:ie,44:Y,60:le,89:ee,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me}),t(wt,[2,127],{120:168,10:[1,286],14:ie,44:Y,60:le,89:ee,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me}),t(wt,[2,114]),{31:[1,287],67:it,82:219,116:yt,117:dt,118:Ht},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,288],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_,121:D,122:M,123:R,124:P,125:B},{10:tr,60:hr,84:_n,92:289,105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{10:tr,60:hr,84:_n,92:290,105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},t(we,[2,62]),t(G,[2,33]),t(wt,[2,124],{106:tn}),t(wt,[2,125],{106:tn})],defaultActions:{},parseError:o(function(Tt,Vt){if(Vt.recoverable)this.trace(Tt);else{var Qt=new Error(Tt);throw Qt.hash=Vt,Qt}},"parseError"),parse:o(function(Tt){var Vt=this,Qt=[0],gt=[],xn=[null],ye=[],Mo=this.table,Ee="",_i=0,$_=0,B3=0,MAe=2,lH=1,IAe=ye.slice.call(arguments,1),fa=Object.create(this.lexer),Sp={yy:{}};for(var z_ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z_)&&(Sp.yy[z_]=this.yy[z_]);fa.setInput(Tt,Sp.yy),Sp.yy.lexer=fa,Sp.yy.parser=this,typeof fa.yylloc>"u"&&(fa.yylloc={});var G_=fa.yylloc;ye.push(G_);var OAe=fa.options&&fa.options.ranges;typeof Sp.yy.parseError=="function"?this.parseError=Sp.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Amt(Io){Qt.length=Qt.length-2*Io,xn.length=xn.length-Io,ye.length=ye.length-Io}o(Amt,"popStack");function PAe(){var Io;return Io=gt.pop()||fa.lex()||lH,typeof Io!="number"&&(Io instanceof Array&&(gt=Io,Io=gt.pop()),Io=Vt.symbols_[Io]||Io),Io}o(PAe,"lex");for(var xs,V_,Cp,ll,_mt,q_,ig={},F3,Ju,cH,$3;;){if(Cp=Qt[Qt.length-1],this.defaultActions[Cp]?ll=this.defaultActions[Cp]:((xs===null||typeof xs>"u")&&(xs=PAe()),ll=Mo[Cp]&&Mo[Cp][xs]),typeof ll>"u"||!ll.length||!ll[0]){var U_="";$3=[];for(F3 in Mo[Cp])this.terminals_[F3]&&F3>MAe&&$3.push("'"+this.terminals_[F3]+"'");fa.showPosition?U_="Parse error on line "+(_i+1)+`: +`+fa.showPosition()+` +Expecting `+$3.join(", ")+", got '"+(this.terminals_[xs]||xs)+"'":U_="Parse error on line "+(_i+1)+": Unexpected "+(xs==lH?"end of input":"'"+(this.terminals_[xs]||xs)+"'"),this.parseError(U_,{text:fa.match,token:this.terminals_[xs]||xs,line:fa.yylineno,loc:G_,expected:$3})}if(ll[0]instanceof Array&&ll.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cp+", token: "+xs);switch(ll[0]){case 1:Qt.push(xs),xn.push(fa.yytext),ye.push(fa.yylloc),Qt.push(ll[1]),xs=null,V_?(xs=V_,V_=null):($_=fa.yyleng,Ee=fa.yytext,_i=fa.yylineno,G_=fa.yylloc,B3>0&&B3--);break;case 2:if(Ju=this.productions_[ll[1]][1],ig.$=xn[xn.length-Ju],ig._$={first_line:ye[ye.length-(Ju||1)].first_line,last_line:ye[ye.length-1].last_line,first_column:ye[ye.length-(Ju||1)].first_column,last_column:ye[ye.length-1].last_column},OAe&&(ig._$.range=[ye[ye.length-(Ju||1)].range[0],ye[ye.length-1].range[1]]),q_=this.performAction.apply(ig,[Ee,$_,_i,Sp.yy,ll[1],xn,ye].concat(IAe)),typeof q_<"u")return q_;Ju&&(Qt=Qt.slice(0,-1*Ju*2),xn=xn.slice(0,-1*Ju),ye=ye.slice(0,-1*Ju)),Qt.push(this.productions_[ll[1]][0]),xn.push(ig.$),ye.push(ig._$),cH=Mo[Qt[Qt.length-2]][Qt[Qt.length-1]],Qt.push(cH);break;case 3:return!0}}return!0},"parse")},Da=(function(){var Pt={EOF:1,parseError:o(function(Vt,Qt){if(this.yy.parser)this.yy.parser.parseError(Vt,Qt);else throw new Error(Vt)},"parseError"),setInput:o(function(Tt,Vt){return this.yy=Vt||this.yy||{},this._input=Tt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Tt=this._input[0];this.yytext+=Tt,this.yyleng++,this.offset++,this.match+=Tt,this.matched+=Tt;var Vt=Tt.match(/(?:\r\n?|\n).*/g);return Vt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tt},"input"),unput:o(function(Tt){var Vt=Tt.length,Qt=Tt.split(/(?:\r\n?|\n)/g);this._input=Tt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Vt),this.offset-=Vt;var gt=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),Qt.length-1&&(this.yylineno-=Qt.length-1);var xn=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:Qt?(Qt.length===gt.length?this.yylloc.first_column:0)+gt[gt.length-Qt.length].length-Qt[0].length:this.yylloc.first_column-Vt},this.options.ranges&&(this.yylloc.range=[xn[0],xn[0]+this.yyleng-Vt]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Tt){this.unput(this.match.slice(Tt))},"less"),pastInput:o(function(){var Tt=this.matched.substr(0,this.matched.length-this.match.length);return(Tt.length>20?"...":"")+Tt.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Tt=this.match;return Tt.length<20&&(Tt+=this._input.substr(0,20-Tt.length)),(Tt.substr(0,20)+(Tt.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Tt=this.pastInput(),Vt=new Array(Tt.length+1).join("-");return Tt+this.upcomingInput()+` +`+Vt+"^"},"showPosition"),test_match:o(function(Tt,Vt){var Qt,gt,xn;if(this.options.backtrack_lexer&&(xn={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&&(xn.yylloc.range=this.yylloc.range.slice(0))),gt=Tt[0].match(/(?:\r\n?|\n).*/g),gt&&(this.yylineno+=gt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:gt?gt[gt.length-1].length-gt[gt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tt[0].length},this.yytext+=Tt[0],this.match+=Tt[0],this.matches=Tt,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(Tt[0].length),this.matched+=Tt[0],Qt=this.performAction.call(this,this.yy,this,Vt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Qt)return Qt;if(this._backtrack){for(var ye in xn)this[ye]=xn[ye];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tt,Vt,Qt,gt;this._more||(this.yytext="",this.match="");for(var xn=this._currentRules(),ye=0;yeVt[0].length)){if(Vt=Qt,gt=ye,this.options.backtrack_lexer){if(Tt=this.test_match(Qt,xn[ye]),Tt!==!1)return Tt;if(this._backtrack){Vt=!1;continue}else return!1}else if(!this.options.flex)break}return Vt?(Tt=this.test_match(Vt,xn[gt]),Tt!==!1?Tt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Vt=this.next();return Vt||this.lex()},"lex"),begin:o(function(Vt){this.conditionStack.push(Vt)},"begin"),popState:o(function(){var Vt=this.conditionStack.length-1;return Vt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Vt){return Vt=this.conditionStack.length-1-Math.abs(Vt||0),Vt>=0?this.conditionStack[Vt]:"INITIAL"},"topState"),pushState:o(function(Vt){this.begin(Vt)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Vt,Qt,gt,xn){var ye=xn;switch(gt){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Qt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Mo=/\n\s*/g;return Qt.yytext=Qt.yytext.replace(Mo,"
    "),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Vt.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return Vt.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return Vt.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;break;case 70:return this.pushState("edgeText"),75;break;case 71:return 119;case 72:return this.popState(),77;break;case 73:return this.pushState("thickEdgeText"),75;break;case 74:return 119;case 75:return this.popState(),77;break;case 76:return this.pushState("dottedEdgeText"),75;break;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;break;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;break;case 82:return this.popState(),55;break;case 83:return this.pushState("text"),54;break;case 84:return this.popState(),57;break;case 85:return this.pushState("text"),56;break;case 86:return 58;case 87:return this.pushState("text"),67;break;case 88:return this.popState(),64;break;case 89:return this.pushState("text"),63;break;case 90:return this.popState(),49;break;case 91:return this.pushState("text"),48;break;case 92:return this.popState(),69;break;case 93:return this.popState(),71;break;case 94:return 117;case 95:return this.pushState("trapText"),68;break;case 96:return this.pushState("trapText"),70;break;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;break;case 109:return this.pushState("text"),62;break;case 110:return this.popState(),51;break;case 111:return this.pushState("text"),50;break;case 112:return this.popState(),31;break;case 113:return this.pushState("text"),29;break;case 114:return this.popState(),66;break;case 115:return this.pushState("text"),65;break;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Pt})();Ki.lexer=Da;function Dn(){this.yy={}}return o(Dn,"Parser"),Dn.prototype=Ki,Ki.Parser=Dn,new Dn})();NB.parser=NB;MB=NB});var Bge,Fge,$ge=O(()=>{"use strict";Pge();Bge=Object.assign({},MB);Bge.parse=t=>{let e=t.replace(/}\s*\n/g,`} +`);return MB.parse(e)};Fge=Bge});var Lu,ly=O(()=>{"use strict";Lu=o(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; @@ -857,7 +856,7 @@ Expecting `+A3.join(", ")+", got '"+(this.terminals_[ys]||ys)+"'":D8="Parse erro stroke: revert; stroke-width: revert; } -`,"getIconStyles")});var cJe,uJe,rge,nge=I(()=>{"use strict";_o();ey();cJe=o((t,e)=>{let r=Ep,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return vs(n,i,a,e)},"fade"),uJe=o(t=>`.label { +`,"getIconStyles")});var Xet,Ket,zge,Gge=O(()=>{"use strict";Ys();ly();Xet=o((t,e)=>{let r=_p,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return bs(n,i,a,e)},"fade"),Ket=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -944,7 +943,7 @@ Expecting `+A3.join(", ")+", got '"+(this.terminals_[ys]||ys)+"'":D8="Parse erro /* For html labels only */ .labelBkg { - background-color: ${cJe(t.edgeLabelBackground,.5)}; + background-color: ${Xet(t.edgeLabelBackground,.5)}; // background-color: } @@ -996,20 +995,20 @@ Expecting `+A3.join(", ")+", got '"+(this.terminals_[ys]||ys)+"'":D8="Parse erro background-color: ${t.edgeLabelBackground}; padding: 2px; } - rect { + .label rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; fill: ${t.edgeLabelBackground}; } text-align: center; } - ${Su()} -`,"getStyles"),rge=uJe});var uC={};vr(uC,{diagram:()=>hJe});var hJe,hC=I(()=>{"use strict";Qt();Sse();Qme();tge();nge();hJe={parser:ege,get db(){return new Hk},renderer:Kme,styles:rge,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&A2({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,A2({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}});var vB,lge,cge=I(()=>{"use strict";vB=(function(){var t=o(function(Q,le,J,ge){for(J=J||{},ge=Q.length;ge--;J[Q[ge]]=le);return J},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,20],l=[1,21],u=[1,22],h=[1,23],f=[1,24],d=[1,19],p=[1,25],m=[1,26],g=[1,18],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],E=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],w=[1,42],k=[1,43],C=[1,52],D=[40,50,68,69],R=[1,63],O=[1,61],L=[1,58],S=[1,62],A=[1,64],_=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],N=[63,64,65,66,67],M=[1,81],P=[1,80],B=[1,78],F=[1,79],G=[6,10,42,47],$=[6,10,13,41,42,47,48,49],V=[1,89],K=[1,88],ee=[1,87],H=[19,56],he=[1,98],Z=[1,97],de=[19,56,58,60],re={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:o(function(le,J,ge,ie,Te,j,Ge){var ye=j.length-1;switch(Te){case 1:break;case 2:this.$=[];break;case 3:j[ye-1].push(j[ye]),this.$=j[ye-1];break;case 4:case 5:this.$=j[ye];break;case 6:case 7:this.$=[];break;case 8:ie.addEntity(j[ye-4]),ie.addEntity(j[ye-2]),ie.addRelationship(j[ye-4],j[ye],j[ye-2],j[ye-3]);break;case 9:ie.addEntity(j[ye-8]),ie.addEntity(j[ye-4]),ie.addRelationship(j[ye-8],j[ye],j[ye-4],j[ye-5]),ie.setClass([j[ye-8]],j[ye-6]),ie.setClass([j[ye-4]],j[ye-2]);break;case 10:ie.addEntity(j[ye-6]),ie.addEntity(j[ye-2]),ie.addRelationship(j[ye-6],j[ye],j[ye-2],j[ye-3]),ie.setClass([j[ye-6]],j[ye-4]);break;case 11:ie.addEntity(j[ye-6]),ie.addEntity(j[ye-4]),ie.addRelationship(j[ye-6],j[ye],j[ye-4],j[ye-5]),ie.setClass([j[ye-4]],j[ye-2]);break;case 12:ie.addEntity(j[ye-3]),ie.addAttributes(j[ye-3],j[ye-1]);break;case 13:ie.addEntity(j[ye-5]),ie.addAttributes(j[ye-5],j[ye-1]),ie.setClass([j[ye-5]],j[ye-3]);break;case 14:ie.addEntity(j[ye-2]);break;case 15:ie.addEntity(j[ye-4]),ie.setClass([j[ye-4]],j[ye-2]);break;case 16:ie.addEntity(j[ye]);break;case 17:ie.addEntity(j[ye-2]),ie.setClass([j[ye-2]],j[ye]);break;case 18:ie.addEntity(j[ye-6],j[ye-4]),ie.addAttributes(j[ye-6],j[ye-1]);break;case 19:ie.addEntity(j[ye-8],j[ye-6]),ie.addAttributes(j[ye-8],j[ye-1]),ie.setClass([j[ye-8]],j[ye-3]);break;case 20:ie.addEntity(j[ye-5],j[ye-3]);break;case 21:ie.addEntity(j[ye-7],j[ye-5]),ie.setClass([j[ye-7]],j[ye-2]);break;case 22:ie.addEntity(j[ye-3],j[ye-1]);break;case 23:ie.addEntity(j[ye-5],j[ye-3]),ie.setClass([j[ye-5]],j[ye]);break;case 24:case 25:this.$=j[ye].trim(),ie.setAccTitle(this.$);break;case 26:case 27:this.$=j[ye].trim(),ie.setAccDescription(this.$);break;case 32:ie.setDirection("TB");break;case 33:ie.setDirection("BT");break;case 34:ie.setDirection("RL");break;case 35:ie.setDirection("LR");break;case 36:this.$=j[ye-3],ie.addClass(j[ye-2],j[ye-1]);break;case 37:case 38:case 56:case 64:this.$=[j[ye]];break;case 39:case 40:this.$=j[ye-2].concat([j[ye]]);break;case 41:this.$=j[ye-2],ie.setClass(j[ye-1],j[ye]);break;case 42:this.$=j[ye-3],ie.addCssStyles(j[ye-2],j[ye-1]);break;case 43:this.$=[j[ye]];break;case 44:j[ye-2].push(j[ye]),this.$=j[ye-2];break;case 46:this.$=j[ye-1]+j[ye];break;case 54:case 76:case 77:this.$=j[ye].replace(/"/g,"");break;case 55:case 78:this.$=j[ye];break;case 57:j[ye].push(j[ye-1]),this.$=j[ye];break;case 58:this.$={type:j[ye-1],name:j[ye]};break;case 59:this.$={type:j[ye-2],name:j[ye-1],keys:j[ye]};break;case 60:this.$={type:j[ye-2],name:j[ye-1],comment:j[ye]};break;case 61:this.$={type:j[ye-3],name:j[ye-2],keys:j[ye-1],comment:j[ye]};break;case 62:case 63:case 66:this.$=j[ye];break;case 65:j[ye-2].push(j[ye]),this.$=j[ye-2];break;case 67:this.$=j[ye].replace(/"/g,"");break;case 68:this.$={cardA:j[ye],relType:j[ye-1],cardB:j[ye-2]};break;case 69:this.$=ie.Cardinality.ZERO_OR_ONE;break;case 70:this.$=ie.Cardinality.ZERO_OR_MORE;break;case 71:this.$=ie.Cardinality.ONE_OR_MORE;break;case 72:this.$=ie.Cardinality.ONLY_ONE;break;case 73:this.$=ie.Cardinality.MD_PARENT;break;case 74:this.$=ie.Identification.NON_IDENTIFYING;break;case 75:this.$=ie.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,50:g},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:27,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,50:g},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:y,64:v,65:x,66:b,67:T}),{23:[1,38]},{25:[1,39]},{27:[1,40]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(E,[2,54]),t(E,[2,55]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:41,40:w,41:k},{16:44,40:w,41:k},{16:45,40:w,41:k},t(e,[2,4]),{11:46,40:d,50:g},{16:47,40:w,41:k},{18:48,19:[1,49],51:50,52:51,56:C},{11:53,40:d,50:g},{62:54,68:[1,55],69:[1,56]},t(D,[2,69]),t(D,[2,70]),t(D,[2,71]),t(D,[2,72]),t(D,[2,73]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:R,38:57,41:O,42:L,45:59,46:60,48:S,49:A},t(_,[2,37]),t(_,[2,38]),{16:65,40:w,41:k,42:L},{13:R,38:66,41:O,42:L,45:59,46:60,48:S,49:A},{13:[1,67],15:[1,68]},t(e,[2,17],{61:32,12:69,17:[1,70],42:L,63:y,64:v,65:x,66:b,67:T}),{19:[1,71]},t(e,[2,14]),{18:72,19:[2,56],51:50,52:51,56:C},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:y,64:v,65:x,66:b,67:T},t(N,[2,74]),t(N,[2,75]),{6:M,10:P,39:77,42:B,47:F},{40:[1,82],41:[1,83]},t(G,[2,43],{46:84,13:R,41:O,48:S,49:A}),t($,[2,45]),t($,[2,50]),t($,[2,51]),t($,[2,52]),t($,[2,53]),t(e,[2,41],{42:L}),{6:M,10:P,39:85,42:B,47:F},{14:86,40:V,50:K,70:ee},{16:90,40:w,41:k},{11:91,40:d,50:g},{18:92,19:[1,93],51:50,52:51,56:C},t(e,[2,12]),{19:[2,57]},t(H,[2,58],{54:94,55:95,57:96,59:he,60:Z}),t([19,56,59,60],[2,63]),t(e,[2,22],{15:[1,100],17:[1,99]}),t([40,50],[2,68]),t(e,[2,36]),{13:R,41:O,45:101,46:60,48:S,49:A},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(_,[2,39]),t(_,[2,40]),t($,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,76]),t(e,[2,77]),t(e,[2,78]),{13:[1,102],42:L},{13:[1,104],15:[1,103]},{19:[1,105]},t(e,[2,15]),t(H,[2,59],{55:106,58:[1,107],60:Z}),t(H,[2,60]),t(de,[2,64]),t(H,[2,67]),t(de,[2,66]),{18:108,19:[1,109],51:50,52:51,56:C},{16:110,40:w,41:k},t(G,[2,44],{46:84,13:R,41:O,48:S,49:A}),{14:111,40:V,50:K,70:ee},{16:112,40:w,41:k},{14:113,40:V,50:K,70:ee},t(e,[2,13]),t(H,[2,61]),{57:114,59:he},{19:[1,115]},t(e,[2,20]),t(e,[2,23],{17:[1,116],42:L}),t(e,[2,11]),{13:[1,117],42:L},t(e,[2,10]),t(de,[2,65]),t(e,[2,18]),{18:118,19:[1,119],51:50,52:51,56:C},{14:120,40:V,50:K,70:ee},{19:[1,121]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:o(function(le,J){if(J.recoverable)this.trace(le);else{var ge=new Error(le);throw ge.hash=J,ge}},"parseError"),parse:o(function(le){var J=this,ge=[0],ie=[],Te=[null],j=[],Ge=this.table,ye="",$e=0,Xe=0,Ue=0,Le=2,Ie=1,Me=j.slice.call(arguments,1),Ae=Object.create(this.lexer),ze={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(ze.yy[Y]=this.yy[Y]);Ae.setInput(le,ze.yy),ze.yy.lexer=Ae,ze.yy.parser=this,typeof Ae.yylloc>"u"&&(Ae.yylloc={});var ce=Ae.yylloc;j.push(ce);var U=Ae.options&&Ae.options.ranges;typeof ze.yy.parseError=="function"?this.parseError=ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(rt){ge.length=ge.length-2*rt,Te.length=Te.length-rt,j.length=j.length-rt}o(ue,"popStack");function z(){var rt;return rt=ie.pop()||Ae.lex()||Ie,typeof rt!="number"&&(rt instanceof Array&&(ie=rt,rt=ie.pop()),rt=J.symbols_[rt]||rt),rt}o(z,"lex");for(var se,oe,be,pe,me,De,Ce={},Fe,Ye,xt,je;;){if(be=ge[ge.length-1],this.defaultActions[be]?pe=this.defaultActions[be]:((se===null||typeof se>"u")&&(se=z()),pe=Ge[be]&&Ge[be][se]),typeof pe>"u"||!pe.length||!pe[0]){var Pe="";je=[];for(Fe in Ge[be])this.terminals_[Fe]&&Fe>Le&&je.push("'"+this.terminals_[Fe]+"'");Ae.showPosition?Pe="Parse error on line "+($e+1)+`: -`+Ae.showPosition()+` -Expecting `+je.join(", ")+", got '"+(this.terminals_[se]||se)+"'":Pe="Parse error on line "+($e+1)+": Unexpected "+(se==Ie?"end of input":"'"+(this.terminals_[se]||se)+"'"),this.parseError(Pe,{text:Ae.match,token:this.terminals_[se]||se,line:Ae.yylineno,loc:ce,expected:je})}if(pe[0]instanceof Array&&pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+be+", token: "+se);switch(pe[0]){case 1:ge.push(se),Te.push(Ae.yytext),j.push(Ae.yylloc),ge.push(pe[1]),se=null,oe?(se=oe,oe=null):(Xe=Ae.yyleng,ye=Ae.yytext,$e=Ae.yylineno,ce=Ae.yylloc,Ue>0&&Ue--);break;case 2:if(Ye=this.productions_[pe[1]][1],Ce.$=Te[Te.length-Ye],Ce._$={first_line:j[j.length-(Ye||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Ye||1)].first_column,last_column:j[j.length-1].last_column},U&&(Ce._$.range=[j[j.length-(Ye||1)].range[0],j[j.length-1].range[1]]),De=this.performAction.apply(Ce,[ye,Xe,$e,ze.yy,pe[1],Te,j].concat(Me)),typeof De<"u")return De;Ye&&(ge=ge.slice(0,-1*Ye*2),Te=Te.slice(0,-1*Ye),j=j.slice(0,-1*Ye)),ge.push(this.productions_[pe[1]][0]),Te.push(Ce.$),j.push(Ce._$),xt=Ge[ge[ge.length-2]][ge[ge.length-1]],ge.push(xt);break;case 3:return!0}}return!0},"parse")},ne=(function(){var Q={EOF:1,parseError:o(function(J,ge){if(this.yy.parser)this.yy.parser.parseError(J,ge);else throw new Error(J)},"parseError"),setInput:o(function(le,J){return this.yy=J||this.yy||{},this._input=le,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var le=this._input[0];this.yytext+=le,this.yyleng++,this.offset++,this.match+=le,this.matched+=le;var J=le.match(/(?:\r\n?|\n).*/g);return J?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),le},"input"),unput:o(function(le){var J=le.length,ge=le.split(/(?:\r\n?|\n)/g);this._input=le+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-J),this.offset-=J;var ie=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),ge.length-1&&(this.yylineno-=ge.length-1);var Te=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:ge?(ge.length===ie.length?this.yylloc.first_column:0)+ie[ie.length-ge.length].length-ge[0].length:this.yylloc.first_column-J},this.options.ranges&&(this.yylloc.range=[Te[0],Te[0]+this.yyleng-J]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(le){this.unput(this.match.slice(le))},"less"),pastInput:o(function(){var le=this.matched.substr(0,this.matched.length-this.match.length);return(le.length>20?"...":"")+le.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var le=this.match;return le.length<20&&(le+=this._input.substr(0,20-le.length)),(le.substr(0,20)+(le.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var le=this.pastInput(),J=new Array(le.length+1).join("-");return le+this.upcomingInput()+` -`+J+"^"},"showPosition"),test_match:o(function(le,J){var ge,ie,Te;if(this.options.backtrack_lexer&&(Te={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&&(Te.yylloc.range=this.yylloc.range.slice(0))),ie=le[0].match(/(?:\r\n?|\n).*/g),ie&&(this.yylineno+=ie.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ie?ie[ie.length-1].length-ie[ie.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+le[0].length},this.yytext+=le[0],this.match+=le[0],this.matches=le,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(le[0].length),this.matched+=le[0],ge=this.performAction.call(this,this.yy,this,J,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ge)return ge;if(this._backtrack){for(var j in Te)this[j]=Te[j];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var le,J,ge,ie;this._more||(this.yytext="",this.match="");for(var Te=this._currentRules(),j=0;jJ[0].length)){if(J=ge,ie=j,this.options.backtrack_lexer){if(le=this.test_match(ge,Te[j]),le!==!1)return le;if(this._backtrack){J=!1;continue}else return!1}else if(!this.options.flex)break}return J?(le=this.test_match(J,Te[ie]),le!==!1?le:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var J=this.next();return J||this.lex()},"lex"),begin:o(function(J){this.conditionStack.push(J)},"begin"),popState:o(function(){var J=this.conditionStack.length-1;return J>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(J){return J=this.conditionStack.length-1-Math.abs(J||0),J>=0?this.conditionStack[J]:"INITIAL"},"topState"),pushState:o(function(J){this.begin(J)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(J,ge,ie,Te){var j=Te;switch(ie){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;break;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 59;case 25:return 56;case 26:return 56;case 27:return 60;case 28:break;case 29:return this.popState(),19;break;case 30:return ge.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;break;case 34:return this.popState(),10;break;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;break;case 40:return 43;case 41:return 63;case 42:return 65;case 43:return 65;case 44:return 65;case 45:return 63;case 46:return 63;case 47:return 64;case 48:return 64;case 49:return 64;case 50:return 64;case 51:return 64;case 52:return 65;case 53:return 64;case 54:return 65;case 55:return 66;case 56:return 66;case 57:return 66;case 58:return 66;case 59:return 63;case 60:return 64;case 61:return 65;case 62:return 67;case 63:return 68;case 64:return 69;case 65:return 69;case 66:return 68;case 67:return 68;case 68:return 68;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 73:return ge.yytext[0];case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}};return Q})();re.lexer=ne;function te(){this.yy={}}return o(te,"Parser"),te.prototype=re,re.Parser=te,new te})();vB.parser=vB;lge=vB});var fC,uge=I(()=>{"use strict";gt();Qt();ki();sr();fC=class{constructor(){this.entities=new Map;this.relationships=[];this.classes=new Map;this.direction="TB";this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"};this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"};this.setAccTitle=zr;this.getAccTitle=Vr;this.setAccDescription=qr;this.getAccDescription=Ur;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getConfig=o(()=>xe().er,"getConfig");this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"ErDB")}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,X.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:xe().look??"default",cssClasses:"default",cssStyles:[]}),X.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){let n=this.addEntity(e),i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),X.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){let a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;let l={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(l),X.debug("Added new relationship :",l)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(let n of e){let i=this.entities.get(n);if(!r||!i)return;for(let a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(let n of e){let i=this.entities.get(n);if(i)for(let a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Mr()}getData(){let e=[],r=[],n=xe();for(let a of this.entities.keys()){let s=this.entities.get(a);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),e.push(s))}let i=0;for(let a of this.relationships){let s={id:nu(a.entityA,a.entityB,{prefix:"id",counter:i++}),type:"normal",curve:"basis",start:a.entityA,end:a.entityB,label:a.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:a.relSpec.cardB.toLowerCase(),arrowTypeEnd:a.relSpec.cardA.toLowerCase(),pattern:a.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}}});var xB={};vr(xB,{draw:()=>vJe});var vJe,hge=I(()=>{"use strict";Qt();gt();y0();Cd();Ad();sr();kr();vJe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing er diagram (unified)",e);let{securityLevel:i,er:a,layout:s}=xe(),l=n.db.getData(),u=xl(e,i);l.type=n.type,l.layoutAlgorithm=ku(s),l.config.flowchart.nodeSpacing=a?.nodeSpacing||140,l.config.flowchart.rankSpacing=a?.rankSpacing||80,l.direction=n.db.getDirection(),l.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],l.diagramId=e,await _l(l,u),l.layoutAlgorithm==="elk"&&u.select(".edges").lower();let h=u.selectAll('[id*="-background"]');Array.from(h).length>0&&h.each(function(){let d=He(this),m=d.attr("id").replace("-background",""),g=u.select(`#${CSS.escape(m)}`);if(!g.empty()){let y=g.attr("transform");d.attr("transform",y)}});let f=8;jt.insertTitle(u,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),mo(u,f,"erDiagram",a?.useMaxWidth??!0)},"draw")});var xJe,bJe,fge,dge=I(()=>{"use strict";_o();xJe=o((t,e)=>{let r=Ep,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return vs(n,i,a,e)},"fade"),bJe=o(t=>` + ${Lu()} +`,"getStyles"),zge=Ket});var kC={};vr(kC,{diagram:()=>Qet});var Qet,EC=O(()=>{"use strict";jt();loe();Oge();$ge();Gge();Qet={parser:Fge,get db(){return new sE},renderer:Ige,styles:zge,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&z2({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,z2({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}});var IB,Hge,Yge=O(()=>{"use strict";IB=(function(){var t=o(function(Se,Me,ke,we){for(ke=ke||{},we=Se.length;we--;ke[Se[we]]=Me);return ke},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],l=[1,24],u=[1,25],h=[1,26],f=[1,27],d=[1,19],p=[1,28],m=[1,29],g=[1,20],y=[1,18],v=[1,21],x=[1,22],b=[1,36],T=[1,37],E=[1,38],w=[1,39],k=[1,40],S=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],A=[1,45],L=[1,46],I=[1,55],N=[40,48,50,51,52,70,71],C=[1,66],_=[1,64],D=[1,61],M=[1,65],R=[1,67],P=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],B=[65,66,67,68,69],F=[1,84],G=[1,83],$=[1,81],V=[1,82],X=[6,10,42,47],Q=[6,10,13,41,42,47,48,49],H=[1,92],ie=[1,91],Y=[1,90],le=[19,58],ee=[1,101],J=[1,100],te=[19,58,60,62],Z={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:o(function(Me,ke,we,_e,$e,fe,Ke){var Te=fe.length-1;switch($e){case 1:break;case 2:this.$=[];break;case 3:fe[Te-1].push(fe[Te]),this.$=fe[Te-1];break;case 4:case 5:this.$=fe[Te];break;case 6:case 7:this.$=[];break;case 8:_e.addEntity(fe[Te-4]),_e.addEntity(fe[Te-2]),_e.addRelationship(fe[Te-4],fe[Te],fe[Te-2],fe[Te-3]);break;case 9:_e.addEntity(fe[Te-8]),_e.addEntity(fe[Te-4]),_e.addRelationship(fe[Te-8],fe[Te],fe[Te-4],fe[Te-5]),_e.setClass([fe[Te-8]],fe[Te-6]),_e.setClass([fe[Te-4]],fe[Te-2]);break;case 10:_e.addEntity(fe[Te-6]),_e.addEntity(fe[Te-2]),_e.addRelationship(fe[Te-6],fe[Te],fe[Te-2],fe[Te-3]),_e.setClass([fe[Te-6]],fe[Te-4]);break;case 11:_e.addEntity(fe[Te-6]),_e.addEntity(fe[Te-4]),_e.addRelationship(fe[Te-6],fe[Te],fe[Te-4],fe[Te-5]),_e.setClass([fe[Te-4]],fe[Te-2]);break;case 12:_e.addEntity(fe[Te-3]),_e.addAttributes(fe[Te-3],fe[Te-1]);break;case 13:_e.addEntity(fe[Te-5]),_e.addAttributes(fe[Te-5],fe[Te-1]),_e.setClass([fe[Te-5]],fe[Te-3]);break;case 14:_e.addEntity(fe[Te-2]);break;case 15:_e.addEntity(fe[Te-4]),_e.setClass([fe[Te-4]],fe[Te-2]);break;case 16:_e.addEntity(fe[Te]);break;case 17:_e.addEntity(fe[Te-2]),_e.setClass([fe[Te-2]],fe[Te]);break;case 18:_e.addEntity(fe[Te-6],fe[Te-4]),_e.addAttributes(fe[Te-6],fe[Te-1]);break;case 19:_e.addEntity(fe[Te-8],fe[Te-6]),_e.addAttributes(fe[Te-8],fe[Te-1]),_e.setClass([fe[Te-8]],fe[Te-3]);break;case 20:_e.addEntity(fe[Te-5],fe[Te-3]);break;case 21:_e.addEntity(fe[Te-7],fe[Te-5]),_e.setClass([fe[Te-7]],fe[Te-2]);break;case 22:_e.addEntity(fe[Te-3],fe[Te-1]);break;case 23:_e.addEntity(fe[Te-5],fe[Te-3]),_e.setClass([fe[Te-5]],fe[Te]);break;case 24:case 25:this.$=fe[Te].trim(),_e.setAccTitle(this.$);break;case 26:case 27:this.$=fe[Te].trim(),_e.setAccDescription(this.$);break;case 32:_e.setDirection("TB");break;case 33:_e.setDirection("BT");break;case 34:_e.setDirection("RL");break;case 35:_e.setDirection("LR");break;case 36:this.$=fe[Te-3],_e.addClass(fe[Te-2],fe[Te-1]);break;case 37:case 38:case 59:case 67:this.$=[fe[Te]];break;case 39:case 40:this.$=fe[Te-2].concat([fe[Te]]);break;case 41:this.$=fe[Te-2],_e.setClass(fe[Te-1],fe[Te]);break;case 42:this.$=fe[Te-3],_e.addCssStyles(fe[Te-2],fe[Te-1]);break;case 43:this.$=[fe[Te]];break;case 44:fe[Te-2].push(fe[Te]),this.$=fe[Te-2];break;case 46:this.$=fe[Te-1]+fe[Te];break;case 54:case 79:case 80:this.$=fe[Te].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=fe[Te];break;case 60:fe[Te].push(fe[Te-1]),this.$=fe[Te];break;case 61:this.$={type:fe[Te-1],name:fe[Te]};break;case 62:this.$={type:fe[Te-2],name:fe[Te-1],keys:fe[Te]};break;case 63:this.$={type:fe[Te-2],name:fe[Te-1],comment:fe[Te]};break;case 64:this.$={type:fe[Te-3],name:fe[Te-2],keys:fe[Te-1],comment:fe[Te]};break;case 65:case 66:case 69:this.$=fe[Te];break;case 68:fe[Te-2].push(fe[Te]),this.$=fe[Te-2];break;case 70:this.$=fe[Te].replace(/"/g,"");break;case 71:this.$={cardA:fe[Te],relType:fe[Te-1],cardB:fe[Te-2]};break;case 72:this.$=_e.Cardinality.ZERO_OR_ONE;break;case 73:this.$=_e.Cardinality.ZERO_OR_MORE;break;case 74:this.$=_e.Cardinality.ONE_OR_MORE;break;case 75:this.$=_e.Cardinality.ONLY_ONE;break;case 76:this.$=_e.Cardinality.MD_PARENT;break;case 77:this.$=_e.Identification.NON_IDENTIFYING;break;case 78:this.$=_e.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,48:g,50:y,51:v,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,48:g,50:y,51:v,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:b,66:T,67:E,68:w,69:k}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(S,[2,54]),t(S,[2,55]),t(S,[2,56]),t(S,[2,57]),t(S,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:A,41:L},{16:47,40:A,41:L},{16:48,40:A,41:L},t(e,[2,4]),{11:49,40:d,48:g,50:y,51:v,52:x},{16:50,40:A,41:L},{18:51,19:[1,52],53:53,54:54,58:I},{11:56,40:d,48:g,50:y,51:v,52:x},{64:57,70:[1,58],71:[1,59]},t(N,[2,72]),t(N,[2,73]),t(N,[2,74]),t(N,[2,75]),t(N,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:C,38:60,41:_,42:D,45:62,46:63,48:M,49:R},t(P,[2,37]),t(P,[2,38]),{16:68,40:A,41:L,42:D},{13:C,38:69,41:_,42:D,45:62,46:63,48:M,49:R},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:b,66:T,67:E,68:w,69:k}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:I},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:b,66:T,67:E,68:w,69:k},t(B,[2,77]),t(B,[2,78]),{6:F,10:G,39:80,42:$,47:V},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:C,41:_,48:M,49:R}),t(Q,[2,45]),t(Q,[2,50]),t(Q,[2,51]),t(Q,[2,52]),t(Q,[2,53]),t(e,[2,41],{42:D}),{6:F,10:G,39:88,42:$,47:V},{14:89,40:H,50:ie,72:Y},{16:93,40:A,41:L},{11:94,40:d,48:g,50:y,51:v,52:x},{18:95,19:[1,96],53:53,54:54,58:I},t(e,[2,12]),{19:[2,60]},t(le,[2,61],{56:97,57:98,59:99,61:ee,62:J}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:C,41:_,45:104,46:63,48:M,49:R},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(P,[2,39]),t(P,[2,40]),t(Q,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(le,[2,62],{57:109,60:[1,110],62:J}),t(le,[2,63]),t(te,[2,67]),t(le,[2,70]),t(te,[2,69]),{18:111,19:[1,112],53:53,54:54,58:I},{16:113,40:A,41:L},t(X,[2,44],{46:87,13:C,41:_,48:M,49:R}),{14:114,40:H,50:ie,72:Y},{16:115,40:A,41:L},{14:116,40:H,50:ie,72:Y},t(e,[2,13]),t(le,[2,64]),{59:117,61:ee},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(te,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:I},{14:123,40:H,50:ie,72:Y},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:o(function(Me,ke){if(ke.recoverable)this.trace(Me);else{var we=new Error(Me);throw we.hash=ke,we}},"parseError"),parse:o(function(Me){var ke=this,we=[0],_e=[],$e=[null],fe=[],Ke=this.table,Te="",Be=0,Ue=0,Ge=0,Ne=2,We=1,j=fe.slice.call(arguments,1),ae=Object.create(this.lexer),U={yy:{}};for(var ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ce)&&(U.yy[ce]=this.yy[ce]);ae.setInput(Me,U.yy),U.yy.lexer=ae,U.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var z=ae.yylloc;fe.push(z);var ne=ae.options&&ae.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function se(Dt){we.length=we.length-2*Dt,$e.length=$e.length-Dt,fe.length=fe.length-Dt}o(se,"popStack");function be(){var Dt;return Dt=_e.pop()||ae.lex()||We,typeof Dt!="number"&&(Dt instanceof Array&&(_e=Dt,Dt=_e.pop()),Dt=ke.symbols_[Dt]||Dt),Dt}o(be,"lex");for(var pe,me,Re,ge,Ie,qe,Pe={},Xe,oe,et,he;;){if(Re=we[we.length-1],this.defaultActions[Re]?ge=this.defaultActions[Re]:((pe===null||typeof pe>"u")&&(pe=be()),ge=Ke[Re]&&Ke[Re][pe]),typeof ge>"u"||!ge.length||!ge[0]){var ot="";he=[];for(Xe in Ke[Re])this.terminals_[Xe]&&Xe>Ne&&he.push("'"+this.terminals_[Xe]+"'");ae.showPosition?ot="Parse error on line "+(Be+1)+`: +`+ae.showPosition()+` +Expecting `+he.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":ot="Parse error on line "+(Be+1)+": Unexpected "+(pe==We?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(ot,{text:ae.match,token:this.terminals_[pe]||pe,line:ae.yylineno,loc:z,expected:he})}if(ge[0]instanceof Array&&ge.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Re+", token: "+pe);switch(ge[0]){case 1:we.push(pe),$e.push(ae.yytext),fe.push(ae.yylloc),we.push(ge[1]),pe=null,me?(pe=me,me=null):(Ue=ae.yyleng,Te=ae.yytext,Be=ae.yylineno,z=ae.yylloc,Ge>0&&Ge--);break;case 2:if(oe=this.productions_[ge[1]][1],Pe.$=$e[$e.length-oe],Pe._$={first_line:fe[fe.length-(oe||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(oe||1)].first_column,last_column:fe[fe.length-1].last_column},ne&&(Pe._$.range=[fe[fe.length-(oe||1)].range[0],fe[fe.length-1].range[1]]),qe=this.performAction.apply(Pe,[Te,Ue,Be,U.yy,ge[1],$e,fe].concat(j)),typeof qe<"u")return qe;oe&&(we=we.slice(0,-1*oe*2),$e=$e.slice(0,-1*oe),fe=fe.slice(0,-1*oe)),we.push(this.productions_[ge[1]][0]),$e.push(Pe.$),fe.push(Pe._$),et=Ke[we[we.length-2]][we[we.length-1]],we.push(et);break;case 3:return!0}}return!0},"parse")},xe=(function(){var Se={EOF:1,parseError:o(function(ke,we){if(this.yy.parser)this.yy.parser.parseError(ke,we);else throw new Error(ke)},"parseError"),setInput:o(function(Me,ke){return this.yy=ke||this.yy||{},this._input=Me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Me=this._input[0];this.yytext+=Me,this.yyleng++,this.offset++,this.match+=Me,this.matched+=Me;var ke=Me.match(/(?:\r\n?|\n).*/g);return ke?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Me},"input"),unput:o(function(Me){var ke=Me.length,we=Me.split(/(?:\r\n?|\n)/g);this._input=Me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ke),this.offset-=ke;var _e=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),we.length-1&&(this.yylineno-=we.length-1);var $e=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:we?(we.length===_e.length?this.yylloc.first_column:0)+_e[_e.length-we.length].length-we[0].length:this.yylloc.first_column-ke},this.options.ranges&&(this.yylloc.range=[$e[0],$e[0]+this.yyleng-ke]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Me){this.unput(this.match.slice(Me))},"less"),pastInput:o(function(){var Me=this.matched.substr(0,this.matched.length-this.match.length);return(Me.length>20?"...":"")+Me.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Me=this.match;return Me.length<20&&(Me+=this._input.substr(0,20-Me.length)),(Me.substr(0,20)+(Me.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Me=this.pastInput(),ke=new Array(Me.length+1).join("-");return Me+this.upcomingInput()+` +`+ke+"^"},"showPosition"),test_match:o(function(Me,ke){var we,_e,$e;if(this.options.backtrack_lexer&&($e={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&&($e.yylloc.range=this.yylloc.range.slice(0))),_e=Me[0].match(/(?:\r\n?|\n).*/g),_e&&(this.yylineno+=_e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_e?_e[_e.length-1].length-_e[_e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Me[0].length},this.yytext+=Me[0],this.match+=Me[0],this.matches=Me,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(Me[0].length),this.matched+=Me[0],we=this.performAction.call(this,this.yy,this,ke,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),we)return we;if(this._backtrack){for(var fe in $e)this[fe]=$e[fe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Me,ke,we,_e;this._more||(this.yytext="",this.match="");for(var $e=this._currentRules(),fe=0;fe<$e.length;fe++)if(we=this._input.match(this.rules[$e[fe]]),we&&(!ke||we[0].length>ke[0].length)){if(ke=we,_e=fe,this.options.backtrack_lexer){if(Me=this.test_match(we,$e[fe]),Me!==!1)return Me;if(this._backtrack){ke=!1;continue}else return!1}else if(!this.options.flex)break}return ke?(Me=this.test_match(ke,$e[_e]),Me!==!1?Me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var ke=this.next();return ke||this.lex()},"lex"),begin:o(function(ke){this.conditionStack.push(ke)},"begin"),popState:o(function(){var ke=this.conditionStack.length-1;return ke>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(ke){return ke=this.conditionStack.length-1-Math.abs(ke||0),ke>=0?this.conditionStack[ke]:"INITIAL"},"topState"),pushState:o(function(ke){this.begin(ke)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(ke,we,_e,$e){var fe=$e;switch(_e){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;break;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;break;case 30:return we.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;break;case 34:return this.popState(),10;break;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;break;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 52;case 61:return 48;case 62:return 68;case 63:return 65;case 64:return 66;case 65:return 67;case 66:return 69;case 67:return 70;case 68:return 71;case 69:return 71;case 70:return 70;case 71:return 70;case 72:return 70;case 73:return 41;case 74:return 47;case 75:return 40;case 76:return we.yytext[0];case 77:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,73,74],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,75,76,77],inclusive:!0}}};return Se})();Z.lexer=xe;function de(){this.yy={}}return o(de,"Parser"),de.prototype=Z,Z.Parser=de,new de})();IB.parser=IB;Hge=IB});var SC,jge=O(()=>{"use strict";xt();jt();si();ar();SC=class{constructor(){this.entities=new Map;this.relationships=[];this.classes=new Map;this.direction="TB";this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"};this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"};this.setAccTitle=Lr;this.getAccTitle=Or;this.setAccDescription=Pr;this.getAccDescription=Br;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getConfig=o(()=>ve().er,"getConfig");this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"ErDB")}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,K.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:ve().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),K.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){let n=this.addEntity(e),i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),K.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){let a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;let l={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(l),K.debug("Added new relationship :",l)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(let n of e){let i=this.entities.get(n);if(!r||!i)return;for(let a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(let n of e){let i=this.entities.get(n);if(i)for(let a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],_r()}getData(){let e=[],r=[],n=ve();for(let a of this.entities.keys()){let s=this.entities.get(a);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),e.push(s))}let i=0;for(let a of this.relationships){let s={id:hu(a.entityA,a.entityB,{prefix:"id",counter:i++}),type:"normal",curve:"basis",start:a.entityA,end:a.entityB,label:a.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:a.relSpec.cardB.toLowerCase(),arrowTypeEnd:a.relSpec.cardA.toLowerCase(),pattern:a.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}}});var OB={};vr(OB,{draw:()=>itt});var itt,Xge=O(()=>{"use strict";jt();xt();b0();Rd();Ld();ar();Ar();itt=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing er diagram (unified)",e);let{securityLevel:i,er:a,layout:s}=ve(),l=n.db.getData(),u=Sl(e,i);l.type=n.type,l.layoutAlgorithm=Ru(s),l.config.flowchart.nodeSpacing=a?.nodeSpacing||140,l.config.flowchart.rankSpacing=a?.rankSpacing||80,l.direction=n.db.getDirection(),l.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],l.diagramId=e,await Ol(l,u),l.layoutAlgorithm==="elk"&&u.select(".edges").lower();let h=u.selectAll('[id*="-background"]');Array.from(h).length>0&&h.each(function(){let d=je(this),m=d.attr("id").replace("-background",""),g=u.select(`#${CSS.escape(m)}`);if(!g.empty()){let y=g.attr("transform");d.attr("transform",y)}});let f=8;Xt.insertTitle(u,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),bo(u,f,"erDiagram",a?.useMaxWidth??!0)},"draw")});var att,stt,Kge,Qge=O(()=>{"use strict";Ys();att=o((t,e)=>{let r=_p,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return bs(n,i,a,e)},"fade"),stt=o(t=>` .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; @@ -1025,7 +1024,7 @@ Expecting `+je.join(", ")+", got '"+(this.terminals_[se]||se)+"'":Pe="Parse erro } .labelBkg { - background-color: ${xJe(t.tertiaryColor,.5)}; + background-color: ${att(t.tertiaryColor,.5)}; } .edgeLabel .label { @@ -1063,69 +1062,79 @@ Expecting `+je.join(", ")+", got '"+(this.terminals_[se]||se)+"'":Pe="Parse erro stroke: ${t.lineColor} !important; stroke-width: 1; } -`,"getStyles"),fge=bJe});var pge={};vr(pge,{diagram:()=>TJe});var TJe,mge=I(()=>{"use strict";cge();uge();hge();dge();TJe={parser:lge,get db(){return new fC},renderer:xB,styles:fge}});function bi(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ra(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Go(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function bB(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function W0(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}function pc(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function _d(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function e4(t){return pc(t)&&typeof t.fullText=="string"}var U0,mc=I(()=>{"use strict";o(bi,"isAstNode");o(ra,"isReference");o(Go,"isMultiReference");o(bB,"isAstNodeDescription");o(W0,"isLinkingError");U0=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return bi(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.types[e],s=a?a.superTypes.some(l=>this.isSubtype(l,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};o(pc,"isCompositeCstNode");o(_d,"isLeafCstNode");o(e4,"isRootCstNode")});function CJe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function dC(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Or(...t){if(t.length===1){let e=t[0];if(e instanceof Vo)return e;if(dC(e))return new Vo(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Vo(()=>({index:0}),r=>r.index1?new Vo(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";Vo=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return ss})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=CJe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?ss:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return ss})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(dC(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return ss})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(dC(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return ss})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?ss:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return ss})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};o(CJe,"toString");o(dC,"isIterable");Dd=new Vo(()=>{},()=>ss),ss=Object.freeze({done:!0,value:void 0});o(Or,"stream");Eu=class extends Vo{static{o(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return ss})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function n(a){return a.reduce((s,l)=>Math.min(s,l))}o(n,"min"),t.min=n;function i(a){return a.reduce((s,l)=>Math.max(s,l))}o(i,"max"),t.max=i})(ty||(ty={}))});var mC={};vr(mC,{assignMandatoryProperties:()=>kB,copyAstNode:()=>wB,findRootNode:()=>ny,getContainerOfType:()=>Ih,getDocument:()=>os,getReferenceNodes:()=>pC,hasContainerOfType:()=>AJe,linkContentToContainer:()=>ry,streamAllContents:()=>gc,streamAst:()=>Is,streamContents:()=>t4,streamReferences:()=>Rd});function ry(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{bi(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&ry(i,e))}):bi(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&ry(n,e)))}function Ih(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function AJe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function os(t){let r=ny(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ny(t){for(;t.$container;)t=t.$container;return t}function pC(t){return ra(t)?t.ref?[t.ref]:[]:Go(t)?t.items.map(e=>e.ref):[]}function t4(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new Vo(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndext4(r,e))}function Is(t,e){if(t){if(e?.range&&!TB(t,e.range))return new Eu(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Eu(t,r=>t4(r,e),{includeRoot:!0})}function TB(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?SB(r,e):!1}function Rd(t){return new Vo(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{"use strict";mc();Ms();yc();o(ry,"linkContentToContainer");o(Ih,"getContainerOfType");o(AJe,"hasContainerOfType");o(os,"getDocument");o(ny,"findRootNode");o(pC,"getReferenceNodes");o(t4,"streamContents");o(gc,"streamAllContents");o(Is,"streamAst");o(TB,"isAstNodeInRange");o(Rd,"streamReferences");o(kB,"assignMandatoryProperties");o(yge,"copyDefaultValue");o(wB,"copyAstNode")});var f4={};vr(f4,{AbstractElement:()=>go,AbstractParserRule:()=>r4,AbstractRule:()=>iy,AbstractType:()=>qo,Action:()=>Ld,Alternatives:()=>n4,ArrayLiteral:()=>gC,ArrayType:()=>yC,Assignment:()=>Nd,BooleanLiteral:()=>vC,CharacterRange:()=>Md,Condition:()=>Id,Conjunction:()=>i4,CrossReference:()=>Od,Disjunction:()=>a4,EndOfFile:()=>xC,Grammar:()=>Oh,GrammarImport:()=>bC,Group:()=>H0,InferredType:()=>TC,InfixRule:()=>Cu,InfixRuleOperatorList:()=>s4,InfixRuleOperators:()=>wC,Interface:()=>ay,Keyword:()=>sy,LangiumGrammarAstReflection:()=>hy,LangiumGrammarTerminals:()=>_Je,NamedArgument:()=>oy,NegatedToken:()=>Y0,Negation:()=>kC,NumberLiteral:()=>SC,Parameter:()=>ly,ParameterReference:()=>EC,ParserRule:()=>vc,ReferenceType:()=>o4,RegexToken:()=>j0,ReturnType:()=>CC,RuleCall:()=>X0,SimpleType:()=>cy,StringLiteral:()=>AC,TerminalAlternatives:()=>K0,TerminalElement:()=>yo,TerminalGroup:()=>Q0,TerminalRule:()=>Ph,TerminalRuleCall:()=>Z0,Type:()=>l4,TypeAttribute:()=>J0,TypeDefinition:()=>em,UnionType:()=>_C,UnorderedGroup:()=>c4,UntilToken:()=>tm,ValueLiteral:()=>rm,Wildcard:()=>uy,isAbstractElement:()=>u4,isAbstractParserRule:()=>Bh,isAbstractRule:()=>DJe,isAbstractType:()=>RJe,isAction:()=>Fh,isAlternatives:()=>DC,isArrayLiteral:()=>LJe,isArrayType:()=>EB,isAssignment:()=>xc,isBooleanLiteral:()=>CB,isCharacterRange:()=>AB,isCondition:()=>NJe,isConjunction:()=>_B,isCrossReference:()=>bc,isDisjunction:()=>DB,isEndOfFile:()=>RB,isGrammar:()=>MJe,isGrammarImport:()=>IJe,isGroup:()=>Pd,isInferredType:()=>h4,isInfixRule:()=>Bd,isInfixRuleOperatorList:()=>OJe,isInfixRuleOperators:()=>PJe,isInterface:()=>LB,isKeyword:()=>Dl,isNamedArgument:()=>BJe,isNegatedToken:()=>NB,isNegation:()=>MB,isNumberLiteral:()=>FJe,isParameter:()=>$Je,isParameterReference:()=>IB,isParserRule:()=>wa,isReferenceType:()=>OB,isRegexToken:()=>PB,isReturnType:()=>BB,isRuleCall:()=>Tc,isSimpleType:()=>RC,isStringLiteral:()=>zJe,isTerminalAlternatives:()=>FB,isTerminalElement:()=>GJe,isTerminalGroup:()=>$B,isTerminalRule:()=>Os,isTerminalRuleCall:()=>LC,isType:()=>NC,isTypeAttribute:()=>VJe,isTypeDefinition:()=>qJe,isUnionType:()=>zB,isUnorderedGroup:()=>MC,isUntilToken:()=>GB,isValueLiteral:()=>UJe,isWildcard:()=>VB,reflection:()=>ur});function u4(t){return ur.isInstance(t,go.$type)}function Bh(t){return ur.isInstance(t,r4.$type)}function DJe(t){return ur.isInstance(t,iy.$type)}function RJe(t){return ur.isInstance(t,qo.$type)}function Fh(t){return ur.isInstance(t,Ld.$type)}function DC(t){return ur.isInstance(t,n4.$type)}function LJe(t){return ur.isInstance(t,gC.$type)}function EB(t){return ur.isInstance(t,yC.$type)}function xc(t){return ur.isInstance(t,Nd.$type)}function CB(t){return ur.isInstance(t,vC.$type)}function AB(t){return ur.isInstance(t,Md.$type)}function NJe(t){return ur.isInstance(t,Id.$type)}function _B(t){return ur.isInstance(t,i4.$type)}function bc(t){return ur.isInstance(t,Od.$type)}function DB(t){return ur.isInstance(t,a4.$type)}function RB(t){return ur.isInstance(t,xC.$type)}function MJe(t){return ur.isInstance(t,Oh.$type)}function IJe(t){return ur.isInstance(t,bC.$type)}function Pd(t){return ur.isInstance(t,H0.$type)}function h4(t){return ur.isInstance(t,TC.$type)}function Bd(t){return ur.isInstance(t,Cu.$type)}function OJe(t){return ur.isInstance(t,s4.$type)}function PJe(t){return ur.isInstance(t,wC.$type)}function LB(t){return ur.isInstance(t,ay.$type)}function Dl(t){return ur.isInstance(t,sy.$type)}function BJe(t){return ur.isInstance(t,oy.$type)}function NB(t){return ur.isInstance(t,Y0.$type)}function MB(t){return ur.isInstance(t,kC.$type)}function FJe(t){return ur.isInstance(t,SC.$type)}function $Je(t){return ur.isInstance(t,ly.$type)}function IB(t){return ur.isInstance(t,EC.$type)}function wa(t){return ur.isInstance(t,vc.$type)}function OB(t){return ur.isInstance(t,o4.$type)}function PB(t){return ur.isInstance(t,j0.$type)}function BB(t){return ur.isInstance(t,CC.$type)}function Tc(t){return ur.isInstance(t,X0.$type)}function RC(t){return ur.isInstance(t,cy.$type)}function zJe(t){return ur.isInstance(t,AC.$type)}function FB(t){return ur.isInstance(t,K0.$type)}function GJe(t){return ur.isInstance(t,yo.$type)}function $B(t){return ur.isInstance(t,Q0.$type)}function Os(t){return ur.isInstance(t,Ph.$type)}function LC(t){return ur.isInstance(t,Z0.$type)}function NC(t){return ur.isInstance(t,l4.$type)}function VJe(t){return ur.isInstance(t,J0.$type)}function qJe(t){return ur.isInstance(t,em.$type)}function zB(t){return ur.isInstance(t,_C.$type)}function MC(t){return ur.isInstance(t,c4.$type)}function GB(t){return ur.isInstance(t,tm.$type)}function UJe(t){return ur.isInstance(t,rm.$type)}function VB(t){return ur.isInstance(t,uy.$type)}var _Je,go,r4,iy,qo,Ld,n4,gC,yC,Nd,vC,Md,Id,i4,Od,a4,xC,Oh,bC,H0,TC,Cu,s4,wC,ay,sy,oy,Y0,kC,SC,ly,EC,vc,o4,j0,CC,X0,cy,AC,K0,yo,Q0,Ph,Z0,l4,J0,em,_C,c4,tm,rm,uy,hy,ur,Uo=I(()=>{"use strict";mc();_Je={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},go={$type:"AbstractElement",cardinality:"cardinality"};o(u4,"isAbstractElement");r4={$type:"AbstractParserRule"};o(Bh,"isAbstractParserRule");iy={$type:"AbstractRule"};o(DJe,"isAbstractRule");qo={$type:"AbstractType"};o(RJe,"isAbstractType");Ld={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};o(Fh,"isAction");n4={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};o(DC,"isAlternatives");gC={$type:"ArrayLiteral",elements:"elements"};o(LJe,"isArrayLiteral");yC={$type:"ArrayType",elementType:"elementType"};o(EB,"isArrayType");Nd={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};o(xc,"isAssignment");vC={$type:"BooleanLiteral",true:"true"};o(CB,"isBooleanLiteral");Md={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};o(AB,"isCharacterRange");Id={$type:"Condition"};o(NJe,"isCondition");i4={$type:"Conjunction",left:"left",right:"right"};o(_B,"isConjunction");Od={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};o(bc,"isCrossReference");a4={$type:"Disjunction",left:"left",right:"right"};o(DB,"isDisjunction");xC={$type:"EndOfFile",cardinality:"cardinality"};o(RB,"isEndOfFile");Oh={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};o(MJe,"isGrammar");bC={$type:"GrammarImport",path:"path"};o(IJe,"isGrammarImport");H0={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};o(Pd,"isGroup");TC={$type:"InferredType",name:"name"};o(h4,"isInferredType");Cu={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};o(Bd,"isInfixRule");s4={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};o(OJe,"isInfixRuleOperatorList");wC={$type:"InfixRuleOperators",precedences:"precedences"};o(PJe,"isInfixRuleOperators");ay={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};o(LB,"isInterface");sy={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};o(Dl,"isKeyword");oy={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};o(BJe,"isNamedArgument");Y0={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(NB,"isNegatedToken");kC={$type:"Negation",value:"value"};o(MB,"isNegation");SC={$type:"NumberLiteral",value:"value"};o(FJe,"isNumberLiteral");ly={$type:"Parameter",name:"name"};o($Je,"isParameter");EC={$type:"ParameterReference",parameter:"parameter"};o(IB,"isParameterReference");vc={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};o(wa,"isParserRule");o4={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};o(OB,"isReferenceType");j0={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};o(PB,"isRegexToken");CC={$type:"ReturnType",name:"name"};o(BB,"isReturnType");X0={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};o(Tc,"isRuleCall");cy={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};o(RC,"isSimpleType");AC={$type:"StringLiteral",value:"value"};o(zJe,"isStringLiteral");K0={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o(FB,"isTerminalAlternatives");yo={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(GJe,"isTerminalElement");Q0={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o($B,"isTerminalGroup");Ph={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};o(Os,"isTerminalRule");Z0={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};o(LC,"isTerminalRuleCall");l4={$type:"Type",name:"name",type:"type"};o(NC,"isType");J0={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};o(VJe,"isTypeAttribute");em={$type:"TypeDefinition"};o(qJe,"isTypeDefinition");_C={$type:"UnionType",types:"types"};o(zB,"isUnionType");c4={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};o(MC,"isUnorderedGroup");tm={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(GB,"isUntilToken");rm={$type:"ValueLiteral"};o(UJe,"isValueLiteral");uy={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(VB,"isWildcard");hy=class extends U0{static{o(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:go.$type,properties:{cardinality:{name:go.cardinality}},superTypes:[]},AbstractParserRule:{name:r4.$type,properties:{},superTypes:[iy.$type,qo.$type]},AbstractRule:{name:iy.$type,properties:{},superTypes:[]},AbstractType:{name:qo.$type,properties:{},superTypes:[]},Action:{name:Ld.$type,properties:{cardinality:{name:Ld.cardinality},feature:{name:Ld.feature},inferredType:{name:Ld.inferredType},operator:{name:Ld.operator},type:{name:Ld.type,referenceType:qo.$type}},superTypes:[go.$type]},Alternatives:{name:n4.$type,properties:{cardinality:{name:n4.cardinality},elements:{name:n4.elements,defaultValue:[]}},superTypes:[go.$type]},ArrayLiteral:{name:gC.$type,properties:{elements:{name:gC.elements,defaultValue:[]}},superTypes:[rm.$type]},ArrayType:{name:yC.$type,properties:{elementType:{name:yC.elementType}},superTypes:[em.$type]},Assignment:{name:Nd.$type,properties:{cardinality:{name:Nd.cardinality},feature:{name:Nd.feature},operator:{name:Nd.operator},predicate:{name:Nd.predicate},terminal:{name:Nd.terminal}},superTypes:[go.$type]},BooleanLiteral:{name:vC.$type,properties:{true:{name:vC.true,defaultValue:!1}},superTypes:[Id.$type,rm.$type]},CharacterRange:{name:Md.$type,properties:{cardinality:{name:Md.cardinality},left:{name:Md.left},lookahead:{name:Md.lookahead},parenthesized:{name:Md.parenthesized,defaultValue:!1},right:{name:Md.right}},superTypes:[yo.$type]},Condition:{name:Id.$type,properties:{},superTypes:[]},Conjunction:{name:i4.$type,properties:{left:{name:i4.left},right:{name:i4.right}},superTypes:[Id.$type]},CrossReference:{name:Od.$type,properties:{cardinality:{name:Od.cardinality},deprecatedSyntax:{name:Od.deprecatedSyntax,defaultValue:!1},isMulti:{name:Od.isMulti,defaultValue:!1},terminal:{name:Od.terminal},type:{name:Od.type,referenceType:qo.$type}},superTypes:[go.$type]},Disjunction:{name:a4.$type,properties:{left:{name:a4.left},right:{name:a4.right}},superTypes:[Id.$type]},EndOfFile:{name:xC.$type,properties:{cardinality:{name:xC.cardinality}},superTypes:[go.$type]},Grammar:{name:Oh.$type,properties:{imports:{name:Oh.imports,defaultValue:[]},interfaces:{name:Oh.interfaces,defaultValue:[]},isDeclared:{name:Oh.isDeclared,defaultValue:!1},name:{name:Oh.name},rules:{name:Oh.rules,defaultValue:[]},types:{name:Oh.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:bC.$type,properties:{path:{name:bC.path}},superTypes:[]},Group:{name:H0.$type,properties:{cardinality:{name:H0.cardinality},elements:{name:H0.elements,defaultValue:[]},guardCondition:{name:H0.guardCondition},predicate:{name:H0.predicate}},superTypes:[go.$type]},InferredType:{name:TC.$type,properties:{name:{name:TC.name}},superTypes:[qo.$type]},InfixRule:{name:Cu.$type,properties:{call:{name:Cu.call},dataType:{name:Cu.dataType},inferredType:{name:Cu.inferredType},name:{name:Cu.name},operators:{name:Cu.operators},parameters:{name:Cu.parameters,defaultValue:[]},returnType:{name:Cu.returnType,referenceType:qo.$type}},superTypes:[r4.$type]},InfixRuleOperatorList:{name:s4.$type,properties:{associativity:{name:s4.associativity},operators:{name:s4.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:wC.$type,properties:{precedences:{name:wC.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:ay.$type,properties:{attributes:{name:ay.attributes,defaultValue:[]},name:{name:ay.name},superTypes:{name:ay.superTypes,defaultValue:[],referenceType:qo.$type}},superTypes:[qo.$type]},Keyword:{name:sy.$type,properties:{cardinality:{name:sy.cardinality},predicate:{name:sy.predicate},value:{name:sy.value}},superTypes:[go.$type]},NamedArgument:{name:oy.$type,properties:{calledByName:{name:oy.calledByName,defaultValue:!1},parameter:{name:oy.parameter,referenceType:ly.$type},value:{name:oy.value}},superTypes:[]},NegatedToken:{name:Y0.$type,properties:{cardinality:{name:Y0.cardinality},lookahead:{name:Y0.lookahead},parenthesized:{name:Y0.parenthesized,defaultValue:!1},terminal:{name:Y0.terminal}},superTypes:[yo.$type]},Negation:{name:kC.$type,properties:{value:{name:kC.value}},superTypes:[Id.$type]},NumberLiteral:{name:SC.$type,properties:{value:{name:SC.value}},superTypes:[rm.$type]},Parameter:{name:ly.$type,properties:{name:{name:ly.name}},superTypes:[]},ParameterReference:{name:EC.$type,properties:{parameter:{name:EC.parameter,referenceType:ly.$type}},superTypes:[Id.$type]},ParserRule:{name:vc.$type,properties:{dataType:{name:vc.dataType},definition:{name:vc.definition},entry:{name:vc.entry,defaultValue:!1},fragment:{name:vc.fragment,defaultValue:!1},inferredType:{name:vc.inferredType},name:{name:vc.name},parameters:{name:vc.parameters,defaultValue:[]},returnType:{name:vc.returnType,referenceType:qo.$type}},superTypes:[r4.$type]},ReferenceType:{name:o4.$type,properties:{isMulti:{name:o4.isMulti,defaultValue:!1},referenceType:{name:o4.referenceType}},superTypes:[em.$type]},RegexToken:{name:j0.$type,properties:{cardinality:{name:j0.cardinality},lookahead:{name:j0.lookahead},parenthesized:{name:j0.parenthesized,defaultValue:!1},regex:{name:j0.regex}},superTypes:[yo.$type]},ReturnType:{name:CC.$type,properties:{name:{name:CC.name}},superTypes:[]},RuleCall:{name:X0.$type,properties:{arguments:{name:X0.arguments,defaultValue:[]},cardinality:{name:X0.cardinality},predicate:{name:X0.predicate},rule:{name:X0.rule,referenceType:iy.$type}},superTypes:[go.$type]},SimpleType:{name:cy.$type,properties:{primitiveType:{name:cy.primitiveType},stringType:{name:cy.stringType},typeRef:{name:cy.typeRef,referenceType:qo.$type}},superTypes:[em.$type]},StringLiteral:{name:AC.$type,properties:{value:{name:AC.value}},superTypes:[rm.$type]},TerminalAlternatives:{name:K0.$type,properties:{cardinality:{name:K0.cardinality},elements:{name:K0.elements,defaultValue:[]},lookahead:{name:K0.lookahead},parenthesized:{name:K0.parenthesized,defaultValue:!1}},superTypes:[yo.$type]},TerminalElement:{name:yo.$type,properties:{cardinality:{name:yo.cardinality},lookahead:{name:yo.lookahead},parenthesized:{name:yo.parenthesized,defaultValue:!1}},superTypes:[go.$type]},TerminalGroup:{name:Q0.$type,properties:{cardinality:{name:Q0.cardinality},elements:{name:Q0.elements,defaultValue:[]},lookahead:{name:Q0.lookahead},parenthesized:{name:Q0.parenthesized,defaultValue:!1}},superTypes:[yo.$type]},TerminalRule:{name:Ph.$type,properties:{definition:{name:Ph.definition},fragment:{name:Ph.fragment,defaultValue:!1},hidden:{name:Ph.hidden,defaultValue:!1},name:{name:Ph.name},type:{name:Ph.type}},superTypes:[iy.$type]},TerminalRuleCall:{name:Z0.$type,properties:{cardinality:{name:Z0.cardinality},lookahead:{name:Z0.lookahead},parenthesized:{name:Z0.parenthesized,defaultValue:!1},rule:{name:Z0.rule,referenceType:Ph.$type}},superTypes:[yo.$type]},Type:{name:l4.$type,properties:{name:{name:l4.name},type:{name:l4.type}},superTypes:[qo.$type]},TypeAttribute:{name:J0.$type,properties:{defaultValue:{name:J0.defaultValue},isOptional:{name:J0.isOptional,defaultValue:!1},name:{name:J0.name},type:{name:J0.type}},superTypes:[]},TypeDefinition:{name:em.$type,properties:{},superTypes:[]},UnionType:{name:_C.$type,properties:{types:{name:_C.types,defaultValue:[]}},superTypes:[em.$type]},UnorderedGroup:{name:c4.$type,properties:{cardinality:{name:c4.cardinality},elements:{name:c4.elements,defaultValue:[]}},superTypes:[go.$type]},UntilToken:{name:tm.$type,properties:{cardinality:{name:tm.cardinality},lookahead:{name:tm.lookahead},parenthesized:{name:tm.parenthesized,defaultValue:!1},terminal:{name:tm.terminal}},superTypes:[yo.$type]},ValueLiteral:{name:rm.$type,properties:{},superTypes:[]},Wildcard:{name:uy.$type,properties:{cardinality:{name:uy.cardinality},lookahead:{name:uy.lookahead},parenthesized:{name:uy.parenthesized,defaultValue:!1}},superTypes:[yo.$type]}}}},ur=new hy});var OC={};vr(OC,{DefaultNameRegexp:()=>IC,RangeComparison:()=>Au,compareRange:()=>xge,findCommentNode:()=>WB,findDeclarationNodeAtOffset:()=>YJe,findLeafNodeAtOffset:()=>HB,findLeafNodeBeforeOffset:()=>bge,flattenCst:()=>HJe,getDatatypeNode:()=>WJe,getInteriorNodes:()=>KJe,getNextNode:()=>jJe,getPreviousNode:()=>wge,getStartlineNode:()=>XJe,inRange:()=>SB,isChildNode:()=>UB,isCommentNode:()=>qB,streamCst:()=>nm,toDocumentSegment:()=>im,tokenToRange:()=>fy});function WJe(t){let e=t,r=!1;for(;e;){let n=Ih(e.grammarSource,wa);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function nm(t){return new Eu(t,e=>pc(e)?e.content:[],{includeRoot:!0})}function HJe(t){return nm(t).filter(_d)}function UB(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function fy(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function im(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function xge(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Au.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineAu.After}function YJe(t,e,r=IC){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return HB(t,e)}}function WB(t,e){if(t){let r=wge(t,!0);if(r&&qB(r,e))return r;if(e4(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(qB(a,e))return a}}}}function qB(t,e){return _d(t)&&e.includes(t.tokenType.name)}function HB(t,e){if(_d(t))return t;if(pc(t)){let r=Tge(t,e,!1);if(r)return HB(r,e)}}function bge(t,e){if(_d(t))return t;if(pc(t)){let r=Tge(t,e,!0);if(r)return bge(r,e)}}function Tge(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let s=Math.floor((n+i)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=s+1):i=s-1}return a}function wge(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function jJe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";mc();Ms();ls();Uo();o(WJe,"getDatatypeNode");o(nm,"streamCst");o(HJe,"flattenCst");o(UB,"isChildNode");o(fy,"tokenToRange");o(im,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Au||(Au={}));o(xge,"compareRange");o(SB,"inRange");IC=/^[\w\p{L}]$/u;o(YJe,"findDeclarationNodeAtOffset");o(WB,"findCommentNode");o(qB,"isCommentNode");o(HB,"findLeafNodeAtOffset");o(bge,"findLeafNodeBeforeOffset");o(Tge,"binarySearch");o(wge,"getPreviousNode");o(jJe,"getNextNode");o(XJe,"getStartlineNode");o(KJe,"getInteriorNodes");o(QJe,"getCommonParent");o(vge,"getParentChain")});function _u(t,e="Error: Got unexpected value."){throw new Error(e)}function kge(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var am,PC=I(()=>{"use strict";am=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(_u,"assertUnreachable");o(kge,"assertCondition")});function pr(t){return t.charCodeAt(0)}function BC(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function dy(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function sm(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function d4(){throw Error("Internal Error - Should never get here!")}function YB(t){return t.type==="Character"}var jB=I(()=>{"use strict";o(pr,"cc");o(BC,"insertToSet");o(dy,"addFlag");o(sm,"ASSERT_EXISTS");o(d4,"ASSERT_NEVER_REACH_HERE");o(YB,"isCharacter")});var p4,m4,XB,Sge=I(()=>{"use strict";jB();p4=[];for(let t=pr("0");t<=pr("9");t++)p4.push(t);m4=[pr("_")].concat(p4);for(let t=pr("a");t<=pr("z");t++)m4.push(t);for(let t=pr("A");t<=pr("Z");t++)m4.push(t);XB=[pr(" "),pr("\f"),pr(` -`),pr("\r"),pr(" "),pr("\v"),pr(" "),pr("\xA0"),pr("\u1680"),pr("\u2000"),pr("\u2001"),pr("\u2002"),pr("\u2003"),pr("\u2004"),pr("\u2005"),pr("\u2006"),pr("\u2007"),pr("\u2008"),pr("\u2009"),pr("\u200A"),pr("\u2028"),pr("\u2029"),pr("\u202F"),pr("\u205F"),pr("\u3000"),pr("\uFEFF")]});var ZJe,FC,JJe,om,Ege=I(()=>{"use strict";jB();Sge();ZJe=/[0-9a-fA-F]/,FC=/[0-9]/,JJe=/[1-9]/,om=class{static{o(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":dy(n,"global");break;case"i":dy(n,"ignoreCase");break;case"m":dy(n,"multiLine");break;case"u":dy(n,"unicode");break;case"y":dy(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}sm(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return d4()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;sm(r);break}if(!(e===!0&&r===void 0)&&sm(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),sm(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):d4()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[pr(` -`),pr("\r"),pr("\u2028"),pr("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=p4;break;case"D":e=p4,r=!0;break;case"s":e=XB;break;case"S":e=XB,r=!0;break;case"w":e=m4;break;case"W":e=m4,r=!0;break}return sm(e)?{type:"Set",value:e,complement:r}:d4()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=pr("\f");break;case"n":e=pr(` -`);break;case"r":e=pr("\r");break;case"t":e=pr(" ");break;case"v":e=pr("\v");break}return sm(e)?{type:"Character",value:e}:d4()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:pr("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:pr(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:pr(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(YB(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(YB(a)){if(a.valueott});var ott,Jge=O(()=>{"use strict";Yge();jge();Xge();Qge();ott={parser:Hge,get db(){return new SC},renderer:OB,styles:Kge}});function Si(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function oa(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Xo(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function PB(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function j0(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}function wc(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Nd(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function fT(t){return wc(t)&&typeof t.fullText=="string"}var Y0,kc=O(()=>{"use strict";o(Si,"isAstNode");o(oa,"isReference");o(Xo,"isMultiReference");o(PB,"isAstNodeDescription");o(j0,"isLinkingError");Y0=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Si(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.types[e],s=a?a.superTypes.some(l=>this.isSubtype(l,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};o(wc,"isCompositeCstNode");o(Nd,"isLeafCstNode");o(fT,"isRootCstNode")});function ftt(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function CC(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Hr(...t){if(t.length===1){let e=t[0];if(e instanceof Ko)return e;if(CC(e))return new Ko(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ko(()=>({index:0}),r=>r.index1?new Ko(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";Ko=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return ls})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=ftt(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?ls:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return ls})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(CC(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return ls})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(CC(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return ls})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?ls:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return ls})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};o(ftt,"toString");o(CC,"isIterable");Md=new Ko(()=>{},()=>ls),ls=Object.freeze({done:!0,value:void 0});o(Hr,"stream");Nu=class extends Ko{static{o(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return ls})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function n(a){return a.reduce((s,l)=>Math.min(s,l))}o(n,"min"),t.min=n;function i(a){return a.reduce((s,l)=>Math.max(s,l))}o(i,"max"),t.max=i})(cy||(cy={}))});var _C={};vr(_C,{assignMandatoryProperties:()=>$B,copyAstNode:()=>FB,findRootNode:()=>hy,getContainerOfType:()=>zh,getDocument:()=>cs,getReferenceNodes:()=>AC,hasContainerOfType:()=>dtt,linkContentToContainer:()=>uy,streamAllContents:()=>Ec,streamAst:()=>Ps,streamContents:()=>dT,streamReferences:()=>Id});function uy(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{Si(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&uy(i,e))}):Si(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&uy(n,e)))}function zh(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function dtt(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function cs(t){let r=hy(t).$document;if(!r)throw new Error("AST node has no document.");return r}function hy(t){for(;t.$container;)t=t.$container;return t}function AC(t){return oa(t)?t.ref?[t.ref]:[]:Xo(t)?t.items.map(e=>e.ref):[]}function dT(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new Ko(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexdT(r,e))}function Ps(t,e){if(t){if(e?.range&&!BB(t,e.range))return new Nu(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Nu(t,r=>dT(r,e),{includeRoot:!0})}function BB(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?zB(r,e):!1}function Id(t){return new Ko(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{"use strict";kc();Os();Sc();o(uy,"linkContentToContainer");o(zh,"getContainerOfType");o(dtt,"hasContainerOfType");o(cs,"getDocument");o(hy,"findRootNode");o(AC,"getReferenceNodes");o(dT,"streamContents");o(Ec,"streamAllContents");o(Ps,"streamAst");o(BB,"isAstNodeInRange");o(Id,"streamReferences");o($B,"assignMandatoryProperties");o(t1e,"copyDefaultValue");o(FB,"copyAstNode")});var ET={};vr(ET,{AbstractElement:()=>To,AbstractParserRule:()=>pT,AbstractRule:()=>fy,AbstractType:()=>Qo,Action:()=>Od,Alternatives:()=>mT,ArrayLiteral:()=>DC,ArrayType:()=>RC,Assignment:()=>Pd,BooleanLiteral:()=>LC,CharacterRange:()=>Bd,Condition:()=>Fd,Conjunction:()=>gT,CrossReference:()=>$d,Disjunction:()=>yT,EndOfFile:()=>NC,Grammar:()=>Gh,GrammarImport:()=>MC,Group:()=>X0,InferredType:()=>IC,InfixRule:()=>Mu,InfixRuleOperatorList:()=>vT,InfixRuleOperators:()=>OC,Interface:()=>dy,Keyword:()=>py,LangiumGrammarAstReflection:()=>xy,LangiumGrammarTerminals:()=>ptt,NamedArgument:()=>my,NegatedToken:()=>K0,Negation:()=>PC,NumberLiteral:()=>BC,Parameter:()=>gy,ParameterReference:()=>FC,ParserRule:()=>Cc,ReferenceType:()=>xT,RegexToken:()=>Q0,ReturnType:()=>$C,RuleCall:()=>Z0,SimpleType:()=>yy,StringLiteral:()=>zC,TerminalAlternatives:()=>J0,TerminalElement:()=>wo,TerminalGroup:()=>em,TerminalRule:()=>Vh,TerminalRuleCall:()=>tm,Type:()=>bT,TypeAttribute:()=>rm,TypeDefinition:()=>nm,UnionType:()=>GC,UnorderedGroup:()=>TT,UntilToken:()=>im,ValueLiteral:()=>am,Wildcard:()=>vy,isAbstractElement:()=>wT,isAbstractParserRule:()=>qh,isAbstractRule:()=>mtt,isAbstractType:()=>gtt,isAction:()=>Uh,isAlternatives:()=>VC,isArrayLiteral:()=>ytt,isArrayType:()=>GB,isAssignment:()=>Ac,isBooleanLiteral:()=>VB,isCharacterRange:()=>qB,isCondition:()=>vtt,isConjunction:()=>UB,isCrossReference:()=>_c,isDisjunction:()=>WB,isEndOfFile:()=>HB,isGrammar:()=>xtt,isGrammarImport:()=>btt,isGroup:()=>zd,isInferredType:()=>kT,isInfixRule:()=>Gd,isInfixRuleOperatorList:()=>Ttt,isInfixRuleOperators:()=>wtt,isInterface:()=>YB,isKeyword:()=>Pl,isNamedArgument:()=>ktt,isNegatedToken:()=>jB,isNegation:()=>XB,isNumberLiteral:()=>Ett,isParameter:()=>Stt,isParameterReference:()=>KB,isParserRule:()=>Sa,isReferenceType:()=>QB,isRegexToken:()=>ZB,isReturnType:()=>JB,isRuleCall:()=>Dc,isSimpleType:()=>qC,isStringLiteral:()=>Ctt,isTerminalAlternatives:()=>eF,isTerminalElement:()=>Att,isTerminalGroup:()=>tF,isTerminalRule:()=>Bs,isTerminalRuleCall:()=>UC,isType:()=>WC,isTypeAttribute:()=>_tt,isTypeDefinition:()=>Dtt,isUnionType:()=>rF,isUnorderedGroup:()=>HC,isUntilToken:()=>nF,isValueLiteral:()=>Rtt,isWildcard:()=>iF,reflection:()=>mr});function wT(t){return mr.isInstance(t,To.$type)}function qh(t){return mr.isInstance(t,pT.$type)}function mtt(t){return mr.isInstance(t,fy.$type)}function gtt(t){return mr.isInstance(t,Qo.$type)}function Uh(t){return mr.isInstance(t,Od.$type)}function VC(t){return mr.isInstance(t,mT.$type)}function ytt(t){return mr.isInstance(t,DC.$type)}function GB(t){return mr.isInstance(t,RC.$type)}function Ac(t){return mr.isInstance(t,Pd.$type)}function VB(t){return mr.isInstance(t,LC.$type)}function qB(t){return mr.isInstance(t,Bd.$type)}function vtt(t){return mr.isInstance(t,Fd.$type)}function UB(t){return mr.isInstance(t,gT.$type)}function _c(t){return mr.isInstance(t,$d.$type)}function WB(t){return mr.isInstance(t,yT.$type)}function HB(t){return mr.isInstance(t,NC.$type)}function xtt(t){return mr.isInstance(t,Gh.$type)}function btt(t){return mr.isInstance(t,MC.$type)}function zd(t){return mr.isInstance(t,X0.$type)}function kT(t){return mr.isInstance(t,IC.$type)}function Gd(t){return mr.isInstance(t,Mu.$type)}function Ttt(t){return mr.isInstance(t,vT.$type)}function wtt(t){return mr.isInstance(t,OC.$type)}function YB(t){return mr.isInstance(t,dy.$type)}function Pl(t){return mr.isInstance(t,py.$type)}function ktt(t){return mr.isInstance(t,my.$type)}function jB(t){return mr.isInstance(t,K0.$type)}function XB(t){return mr.isInstance(t,PC.$type)}function Ett(t){return mr.isInstance(t,BC.$type)}function Stt(t){return mr.isInstance(t,gy.$type)}function KB(t){return mr.isInstance(t,FC.$type)}function Sa(t){return mr.isInstance(t,Cc.$type)}function QB(t){return mr.isInstance(t,xT.$type)}function ZB(t){return mr.isInstance(t,Q0.$type)}function JB(t){return mr.isInstance(t,$C.$type)}function Dc(t){return mr.isInstance(t,Z0.$type)}function qC(t){return mr.isInstance(t,yy.$type)}function Ctt(t){return mr.isInstance(t,zC.$type)}function eF(t){return mr.isInstance(t,J0.$type)}function Att(t){return mr.isInstance(t,wo.$type)}function tF(t){return mr.isInstance(t,em.$type)}function Bs(t){return mr.isInstance(t,Vh.$type)}function UC(t){return mr.isInstance(t,tm.$type)}function WC(t){return mr.isInstance(t,bT.$type)}function _tt(t){return mr.isInstance(t,rm.$type)}function Dtt(t){return mr.isInstance(t,nm.$type)}function rF(t){return mr.isInstance(t,GC.$type)}function HC(t){return mr.isInstance(t,TT.$type)}function nF(t){return mr.isInstance(t,im.$type)}function Rtt(t){return mr.isInstance(t,am.$type)}function iF(t){return mr.isInstance(t,vy.$type)}var ptt,To,pT,fy,Qo,Od,mT,DC,RC,Pd,LC,Bd,Fd,gT,$d,yT,NC,Gh,MC,X0,IC,Mu,vT,OC,dy,py,my,K0,PC,BC,gy,FC,Cc,xT,Q0,$C,Z0,yy,zC,J0,wo,em,Vh,tm,bT,rm,nm,GC,TT,im,am,vy,xy,mr,Zo=O(()=>{"use strict";kc();ptt={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},To={$type:"AbstractElement",cardinality:"cardinality"};o(wT,"isAbstractElement");pT={$type:"AbstractParserRule"};o(qh,"isAbstractParserRule");fy={$type:"AbstractRule"};o(mtt,"isAbstractRule");Qo={$type:"AbstractType"};o(gtt,"isAbstractType");Od={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};o(Uh,"isAction");mT={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};o(VC,"isAlternatives");DC={$type:"ArrayLiteral",elements:"elements"};o(ytt,"isArrayLiteral");RC={$type:"ArrayType",elementType:"elementType"};o(GB,"isArrayType");Pd={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};o(Ac,"isAssignment");LC={$type:"BooleanLiteral",true:"true"};o(VB,"isBooleanLiteral");Bd={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};o(qB,"isCharacterRange");Fd={$type:"Condition"};o(vtt,"isCondition");gT={$type:"Conjunction",left:"left",right:"right"};o(UB,"isConjunction");$d={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};o(_c,"isCrossReference");yT={$type:"Disjunction",left:"left",right:"right"};o(WB,"isDisjunction");NC={$type:"EndOfFile",cardinality:"cardinality"};o(HB,"isEndOfFile");Gh={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};o(xtt,"isGrammar");MC={$type:"GrammarImport",path:"path"};o(btt,"isGrammarImport");X0={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};o(zd,"isGroup");IC={$type:"InferredType",name:"name"};o(kT,"isInferredType");Mu={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};o(Gd,"isInfixRule");vT={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};o(Ttt,"isInfixRuleOperatorList");OC={$type:"InfixRuleOperators",precedences:"precedences"};o(wtt,"isInfixRuleOperators");dy={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};o(YB,"isInterface");py={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};o(Pl,"isKeyword");my={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};o(ktt,"isNamedArgument");K0={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(jB,"isNegatedToken");PC={$type:"Negation",value:"value"};o(XB,"isNegation");BC={$type:"NumberLiteral",value:"value"};o(Ett,"isNumberLiteral");gy={$type:"Parameter",name:"name"};o(Stt,"isParameter");FC={$type:"ParameterReference",parameter:"parameter"};o(KB,"isParameterReference");Cc={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};o(Sa,"isParserRule");xT={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};o(QB,"isReferenceType");Q0={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};o(ZB,"isRegexToken");$C={$type:"ReturnType",name:"name"};o(JB,"isReturnType");Z0={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};o(Dc,"isRuleCall");yy={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};o(qC,"isSimpleType");zC={$type:"StringLiteral",value:"value"};o(Ctt,"isStringLiteral");J0={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o(eF,"isTerminalAlternatives");wo={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(Att,"isTerminalElement");em={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o(tF,"isTerminalGroup");Vh={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};o(Bs,"isTerminalRule");tm={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};o(UC,"isTerminalRuleCall");bT={$type:"Type",name:"name",type:"type"};o(WC,"isType");rm={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};o(_tt,"isTypeAttribute");nm={$type:"TypeDefinition"};o(Dtt,"isTypeDefinition");GC={$type:"UnionType",types:"types"};o(rF,"isUnionType");TT={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};o(HC,"isUnorderedGroup");im={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(nF,"isUntilToken");am={$type:"ValueLiteral"};o(Rtt,"isValueLiteral");vy={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(iF,"isWildcard");xy=class extends Y0{static{o(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:To.$type,properties:{cardinality:{name:To.cardinality}},superTypes:[]},AbstractParserRule:{name:pT.$type,properties:{},superTypes:[fy.$type,Qo.$type]},AbstractRule:{name:fy.$type,properties:{},superTypes:[]},AbstractType:{name:Qo.$type,properties:{},superTypes:[]},Action:{name:Od.$type,properties:{cardinality:{name:Od.cardinality},feature:{name:Od.feature},inferredType:{name:Od.inferredType},operator:{name:Od.operator},type:{name:Od.type,referenceType:Qo.$type}},superTypes:[To.$type]},Alternatives:{name:mT.$type,properties:{cardinality:{name:mT.cardinality},elements:{name:mT.elements,defaultValue:[]}},superTypes:[To.$type]},ArrayLiteral:{name:DC.$type,properties:{elements:{name:DC.elements,defaultValue:[]}},superTypes:[am.$type]},ArrayType:{name:RC.$type,properties:{elementType:{name:RC.elementType}},superTypes:[nm.$type]},Assignment:{name:Pd.$type,properties:{cardinality:{name:Pd.cardinality},feature:{name:Pd.feature},operator:{name:Pd.operator},predicate:{name:Pd.predicate},terminal:{name:Pd.terminal}},superTypes:[To.$type]},BooleanLiteral:{name:LC.$type,properties:{true:{name:LC.true,defaultValue:!1}},superTypes:[Fd.$type,am.$type]},CharacterRange:{name:Bd.$type,properties:{cardinality:{name:Bd.cardinality},left:{name:Bd.left},lookahead:{name:Bd.lookahead},parenthesized:{name:Bd.parenthesized,defaultValue:!1},right:{name:Bd.right}},superTypes:[wo.$type]},Condition:{name:Fd.$type,properties:{},superTypes:[]},Conjunction:{name:gT.$type,properties:{left:{name:gT.left},right:{name:gT.right}},superTypes:[Fd.$type]},CrossReference:{name:$d.$type,properties:{cardinality:{name:$d.cardinality},deprecatedSyntax:{name:$d.deprecatedSyntax,defaultValue:!1},isMulti:{name:$d.isMulti,defaultValue:!1},terminal:{name:$d.terminal},type:{name:$d.type,referenceType:Qo.$type}},superTypes:[To.$type]},Disjunction:{name:yT.$type,properties:{left:{name:yT.left},right:{name:yT.right}},superTypes:[Fd.$type]},EndOfFile:{name:NC.$type,properties:{cardinality:{name:NC.cardinality}},superTypes:[To.$type]},Grammar:{name:Gh.$type,properties:{imports:{name:Gh.imports,defaultValue:[]},interfaces:{name:Gh.interfaces,defaultValue:[]},isDeclared:{name:Gh.isDeclared,defaultValue:!1},name:{name:Gh.name},rules:{name:Gh.rules,defaultValue:[]},types:{name:Gh.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:MC.$type,properties:{path:{name:MC.path}},superTypes:[]},Group:{name:X0.$type,properties:{cardinality:{name:X0.cardinality},elements:{name:X0.elements,defaultValue:[]},guardCondition:{name:X0.guardCondition},predicate:{name:X0.predicate}},superTypes:[To.$type]},InferredType:{name:IC.$type,properties:{name:{name:IC.name}},superTypes:[Qo.$type]},InfixRule:{name:Mu.$type,properties:{call:{name:Mu.call},dataType:{name:Mu.dataType},inferredType:{name:Mu.inferredType},name:{name:Mu.name},operators:{name:Mu.operators},parameters:{name:Mu.parameters,defaultValue:[]},returnType:{name:Mu.returnType,referenceType:Qo.$type}},superTypes:[pT.$type]},InfixRuleOperatorList:{name:vT.$type,properties:{associativity:{name:vT.associativity},operators:{name:vT.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:OC.$type,properties:{precedences:{name:OC.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:dy.$type,properties:{attributes:{name:dy.attributes,defaultValue:[]},name:{name:dy.name},superTypes:{name:dy.superTypes,defaultValue:[],referenceType:Qo.$type}},superTypes:[Qo.$type]},Keyword:{name:py.$type,properties:{cardinality:{name:py.cardinality},predicate:{name:py.predicate},value:{name:py.value}},superTypes:[To.$type]},NamedArgument:{name:my.$type,properties:{calledByName:{name:my.calledByName,defaultValue:!1},parameter:{name:my.parameter,referenceType:gy.$type},value:{name:my.value}},superTypes:[]},NegatedToken:{name:K0.$type,properties:{cardinality:{name:K0.cardinality},lookahead:{name:K0.lookahead},parenthesized:{name:K0.parenthesized,defaultValue:!1},terminal:{name:K0.terminal}},superTypes:[wo.$type]},Negation:{name:PC.$type,properties:{value:{name:PC.value}},superTypes:[Fd.$type]},NumberLiteral:{name:BC.$type,properties:{value:{name:BC.value}},superTypes:[am.$type]},Parameter:{name:gy.$type,properties:{name:{name:gy.name}},superTypes:[]},ParameterReference:{name:FC.$type,properties:{parameter:{name:FC.parameter,referenceType:gy.$type}},superTypes:[Fd.$type]},ParserRule:{name:Cc.$type,properties:{dataType:{name:Cc.dataType},definition:{name:Cc.definition},entry:{name:Cc.entry,defaultValue:!1},fragment:{name:Cc.fragment,defaultValue:!1},inferredType:{name:Cc.inferredType},name:{name:Cc.name},parameters:{name:Cc.parameters,defaultValue:[]},returnType:{name:Cc.returnType,referenceType:Qo.$type}},superTypes:[pT.$type]},ReferenceType:{name:xT.$type,properties:{isMulti:{name:xT.isMulti,defaultValue:!1},referenceType:{name:xT.referenceType}},superTypes:[nm.$type]},RegexToken:{name:Q0.$type,properties:{cardinality:{name:Q0.cardinality},lookahead:{name:Q0.lookahead},parenthesized:{name:Q0.parenthesized,defaultValue:!1},regex:{name:Q0.regex}},superTypes:[wo.$type]},ReturnType:{name:$C.$type,properties:{name:{name:$C.name}},superTypes:[]},RuleCall:{name:Z0.$type,properties:{arguments:{name:Z0.arguments,defaultValue:[]},cardinality:{name:Z0.cardinality},predicate:{name:Z0.predicate},rule:{name:Z0.rule,referenceType:fy.$type}},superTypes:[To.$type]},SimpleType:{name:yy.$type,properties:{primitiveType:{name:yy.primitiveType},stringType:{name:yy.stringType},typeRef:{name:yy.typeRef,referenceType:Qo.$type}},superTypes:[nm.$type]},StringLiteral:{name:zC.$type,properties:{value:{name:zC.value}},superTypes:[am.$type]},TerminalAlternatives:{name:J0.$type,properties:{cardinality:{name:J0.cardinality},elements:{name:J0.elements,defaultValue:[]},lookahead:{name:J0.lookahead},parenthesized:{name:J0.parenthesized,defaultValue:!1}},superTypes:[wo.$type]},TerminalElement:{name:wo.$type,properties:{cardinality:{name:wo.cardinality},lookahead:{name:wo.lookahead},parenthesized:{name:wo.parenthesized,defaultValue:!1}},superTypes:[To.$type]},TerminalGroup:{name:em.$type,properties:{cardinality:{name:em.cardinality},elements:{name:em.elements,defaultValue:[]},lookahead:{name:em.lookahead},parenthesized:{name:em.parenthesized,defaultValue:!1}},superTypes:[wo.$type]},TerminalRule:{name:Vh.$type,properties:{definition:{name:Vh.definition},fragment:{name:Vh.fragment,defaultValue:!1},hidden:{name:Vh.hidden,defaultValue:!1},name:{name:Vh.name},type:{name:Vh.type}},superTypes:[fy.$type]},TerminalRuleCall:{name:tm.$type,properties:{cardinality:{name:tm.cardinality},lookahead:{name:tm.lookahead},parenthesized:{name:tm.parenthesized,defaultValue:!1},rule:{name:tm.rule,referenceType:Vh.$type}},superTypes:[wo.$type]},Type:{name:bT.$type,properties:{name:{name:bT.name},type:{name:bT.type}},superTypes:[Qo.$type]},TypeAttribute:{name:rm.$type,properties:{defaultValue:{name:rm.defaultValue},isOptional:{name:rm.isOptional,defaultValue:!1},name:{name:rm.name},type:{name:rm.type}},superTypes:[]},TypeDefinition:{name:nm.$type,properties:{},superTypes:[]},UnionType:{name:GC.$type,properties:{types:{name:GC.types,defaultValue:[]}},superTypes:[nm.$type]},UnorderedGroup:{name:TT.$type,properties:{cardinality:{name:TT.cardinality},elements:{name:TT.elements,defaultValue:[]}},superTypes:[To.$type]},UntilToken:{name:im.$type,properties:{cardinality:{name:im.cardinality},lookahead:{name:im.lookahead},parenthesized:{name:im.parenthesized,defaultValue:!1},terminal:{name:im.terminal}},superTypes:[wo.$type]},ValueLiteral:{name:am.$type,properties:{},superTypes:[]},Wildcard:{name:vy.$type,properties:{cardinality:{name:vy.cardinality},lookahead:{name:vy.lookahead},parenthesized:{name:vy.parenthesized,defaultValue:!1}},superTypes:[wo.$type]}}}},mr=new xy});var jC={};vr(jC,{DefaultNameRegexp:()=>YC,RangeComparison:()=>Iu,compareRange:()=>n1e,findCommentNode:()=>oF,findDeclarationNodeAtOffset:()=>Mtt,findLeafNodeAtOffset:()=>lF,findLeafNodeBeforeOffset:()=>i1e,flattenCst:()=>Ntt,getDatatypeNode:()=>Ltt,getInteriorNodes:()=>Ptt,getNextNode:()=>Itt,getPreviousNode:()=>s1e,getStartlineNode:()=>Ott,inRange:()=>zB,isChildNode:()=>sF,isCommentNode:()=>aF,streamCst:()=>sm,toDocumentSegment:()=>om,tokenToRange:()=>by});function Ltt(t){let e=t,r=!1;for(;e;){let n=zh(e.grammarSource,Sa);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function sm(t){return new Nu(t,e=>wc(e)?e.content:[],{includeRoot:!0})}function Ntt(t){return sm(t).filter(Nd)}function sF(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function by(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function om(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function n1e(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Iu.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineIu.After}function Mtt(t,e,r=YC){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return lF(t,e)}}function oF(t,e){if(t){let r=s1e(t,!0);if(r&&aF(r,e))return r;if(fT(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(aF(a,e))return a}}}}function aF(t,e){return Nd(t)&&e.includes(t.tokenType.name)}function lF(t,e){if(Nd(t))return t;if(wc(t)){let r=a1e(t,e,!1);if(r)return lF(r,e)}}function i1e(t,e){if(Nd(t))return t;if(wc(t)){let r=a1e(t,e,!0);if(r)return i1e(r,e)}}function a1e(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let s=Math.floor((n+i)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=s+1):i=s-1}return a}function s1e(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function Itt(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";kc();Os();us();Zo();o(Ltt,"getDatatypeNode");o(sm,"streamCst");o(Ntt,"flattenCst");o(sF,"isChildNode");o(by,"tokenToRange");o(om,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Iu||(Iu={}));o(n1e,"compareRange");o(zB,"inRange");YC=/^[\w\p{L}]$/u;o(Mtt,"findDeclarationNodeAtOffset");o(oF,"findCommentNode");o(aF,"isCommentNode");o(lF,"findLeafNodeAtOffset");o(i1e,"findLeafNodeBeforeOffset");o(a1e,"binarySearch");o(s1e,"getPreviousNode");o(Itt,"getNextNode");o(Ott,"getStartlineNode");o(Ptt,"getInteriorNodes");o(Btt,"getCommonParent");o(r1e,"getParentChain")});function Ou(t,e="Error: Got unexpected value."){throw new Error(e)}function o1e(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var lm,XC=O(()=>{"use strict";lm=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(Ou,"assertUnreachable");o(o1e,"assertCondition")});function xr(t){return t.charCodeAt(0)}function KC(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Ty(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function cm(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function ST(){throw Error("Internal Error - Should never get here!")}function cF(t){return t.type==="Character"}var uF=O(()=>{"use strict";o(xr,"cc");o(KC,"insertToSet");o(Ty,"addFlag");o(cm,"ASSERT_EXISTS");o(ST,"ASSERT_NEVER_REACH_HERE");o(cF,"isCharacter")});var CT,AT,hF,l1e=O(()=>{"use strict";uF();CT=[];for(let t=xr("0");t<=xr("9");t++)CT.push(t);AT=[xr("_")].concat(CT);for(let t=xr("a");t<=xr("z");t++)AT.push(t);for(let t=xr("A");t<=xr("Z");t++)AT.push(t);hF=[xr(" "),xr("\f"),xr(` +`),xr("\r"),xr(" "),xr("\v"),xr(" "),xr("\xA0"),xr("\u1680"),xr("\u2000"),xr("\u2001"),xr("\u2002"),xr("\u2003"),xr("\u2004"),xr("\u2005"),xr("\u2006"),xr("\u2007"),xr("\u2008"),xr("\u2009"),xr("\u200A"),xr("\u2028"),xr("\u2029"),xr("\u202F"),xr("\u205F"),xr("\u3000"),xr("\uFEFF")]});var Ftt,QC,$tt,um,c1e=O(()=>{"use strict";uF();l1e();Ftt=/[0-9a-fA-F]/,QC=/[0-9]/,$tt=/[1-9]/,um=class{static{o(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Ty(n,"global");break;case"i":Ty(n,"ignoreCase");break;case"m":Ty(n,"multiLine");break;case"u":Ty(n,"unicode");break;case"y":Ty(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}cm(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return ST()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;cm(r);break}if(!(e===!0&&r===void 0)&&cm(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),cm(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ST()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[xr(` +`),xr("\r"),xr("\u2028"),xr("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=CT;break;case"D":e=CT,r=!0;break;case"s":e=hF;break;case"S":e=hF,r=!0;break;case"w":e=AT;break;case"W":e=AT,r=!0;break}return cm(e)?{type:"Set",value:e,complement:r}:ST()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=xr("\f");break;case"n":e=xr(` +`);break;case"r":e=xr("\r");break;case"t":e=xr(" ");break;case"v":e=xr("\v");break}return cm(e)?{type:"Character",value:e}:ST()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:xr("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:xr(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:xr(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(cF(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(cF(a)){if(a.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var Du,Cge=I(()=>{"use strict";Du=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var g4=I(()=>{"use strict";Ege();Cge()});var $C={};vr($C,{NEWLINE_REGEXP:()=>QB,escapeRegExp:()=>Fd,getTerminalParts:()=>eet,isMultilineComment:()=>ZB,isWhitespace:()=>y4,partialMatches:()=>JB,partialRegExp:()=>Dge,whitespaceCharacters:()=>_ge});function eet(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=Age.pattern(t),r=[];for(let n of e.value.value)lm.reset(t),lm.visit(n),r.push({start:lm.startRegexp,end:lm.endRegex});return r}catch{return[]}}function ZB(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),lm.reset(t),lm.visit(Age.pattern(t)),lm.multiline}catch{return!1}}function y4(t){let e=typeof t=="string"?new RegExp(t):t;return _ge.some(r=>e.test(r))}function Fd(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function JB(t,e){let r=Dge(t),n=e.match(r);return!!n&&n[0].length>0}function Dge(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",s;function l(h){a+=r.substr(n,h),n+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(o(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?l(s[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return o(i,"process"),new RegExp(i(),t.flags)}var QB,Age,KB,lm,_ge,py=I(()=>{"use strict";g4();QB=/\r?\n/gm,Age=new om,KB=class extends Du{static{o(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` -`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Fd(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` -`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},lm=new KB;o(eet,"getTerminalParts");o(ZB,"isMultilineComment");_ge=`\f -\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");o(y4,"isWhitespace");o(Fd,"escapeRegExp");o(JB,"partialMatches");o(Dge,"partialRegExp")});var VC={};vr(VC,{findAssignment:()=>lF,findNameAssignment:()=>zC,findNodeForKeyword:()=>sF,findNodeForProperty:()=>x4,findNodesForKeyword:()=>ret,findNodesForKeywordInternal:()=>oF,findNodesForProperty:()=>iF,getActionAtElement:()=>Ige,getActionType:()=>Pge,getAllReachableRules:()=>v4,getAllRulesUsedForCrossReferences:()=>tet,getCrossReferenceTerminal:()=>rF,getEntryRule:()=>Rge,getExplicitRuleType:()=>GC,getHiddenRules:()=>Lge,getRuleType:()=>cF,getRuleTypeName:()=>oet,getTypeName:()=>$d,isArrayCardinality:()=>iet,isArrayOperator:()=>aet,isCommentTerminal:()=>nF,isDataType:()=>set,isDataTypeRule:()=>b4,isOptionalCardinality:()=>net,terminalRegex:()=>my});function Rge(t){return t.rules.find(e=>wa(e)&&e.entry)}function Lge(t){return t.rules.filter(e=>Os(e)&&e.hidden)}function v4(t,e){let r=new Set,n=Rge(t);if(!n)return new Set(t.rules);let i=[n].concat(Lge(t));for(let s of i)Nge(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||Os(s)&&s.hidden)&&a.add(s);return a}function Nge(t,e,r){e.add(t.name),gc(t).forEach(n=>{if(Tc(n)||r&&LC(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Nge(i,e,r)}})}function tet(t){let e=new Set;return gc(t).forEach(r=>{bc(r)&&(wa(r.type.ref)&&e.add(r.type.ref),h4(r.type.ref)&&wa(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function rF(t){if(t.terminal)return t.terminal;if(t.type.ref)return zC(t.type.ref)?.terminal}function nF(t){return t.hidden&&!y4(my(t))}function iF(t,e){return!t||!e?[]:aF(t,e,t.astNode,!0)}function x4(t,e,r){if(!t||!e)return;let n=aF(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function aF(t,e,r,n){if(!n){let i=Ih(t.grammarSource,xc);if(i&&i.feature===e)return[t]}return pc(t)&&t.astNode===r?t.content.flatMap(i=>aF(i,e,r,!1)):[]}function ret(t,e){return t?oF(t,e,t?.astNode):[]}function sF(t,e,r){if(!t)return;let n=oF(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function oF(t,e,r){if(t.astNode!==r)return[];if(Dl(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=nm(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Dl(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function lF(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Ih(t.grammarSource,xc);if(r)return r;t=t.container}}function zC(t){let e=t;return h4(e)&&(Fh(e.$container)?e=e.$container.$container:Bh(e.$container)?e=e.$container:_u(e.$container)),Mge(t,e,new Map)}function Mge(t,e,r){function n(i,a){let s;return Ih(i,xc)||(s=Mge(a,a,r)),r.set(t,s),s}if(o(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let i of gc(e)){if(xc(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Tc(i)&&wa(i.rule.ref))return n(i,i.rule.ref);if(RC(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Ige(t){let e=t.$container;if(Pd(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Fh(a))return a;{let s=gc(r[i]).find(Fh);if(s)return s}}}if(u4(e))return Ige(e)}function net(t,e){return t==="?"||t==="*"||Pd(e)&&!!e.guardCondition}function iet(t){return t==="*"||t==="+"}function aet(t){return t==="+="}function b4(t){return Oge(t,new Set)}function Oge(t,e){if(e.has(t))return!0;e.add(t);for(let r of gc(t))if(Tc(r)){if(!r.rule.ref||wa(r.rule.ref)&&!Oge(r.rule.ref,e)||Bd(r.rule.ref))return!1}else{if(xc(r))return!1;if(Fh(r))return!1}return!!t.definition}function set(t){return tF(t.type,new Set)}function tF(t,e){if(e.has(t))return!0;if(e.add(t),EB(t))return!1;if(OB(t))return!1;if(zB(t))return t.types.every(r=>tF(r,e));if(RC(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return NC(r)?tF(r.type,e):!1}else return!1}else return!1}function GC(t){if(!Os(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function $d(t){if(Bh(t))return wa(t)&&b4(t)?t.name:GC(t)??t.name;if(LB(t)||NC(t)||BB(t))return t.name;if(Fh(t)){let e=Pge(t);if(e)return e}else if(h4(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Pge(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return $d(t.type.ref)}function oet(t){return Os(t)?t.type?.name??"string":wa(t)&&b4(t)?t.name:GC(t)??t.name}function cF(t){return Os(t)?t.type?.name??"string":GC(t)??t.name}function my(t){let e={s:!1,i:!1,u:!1},r=gy(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function gy(t,e){if(FB(t))return cet(t);if($B(t))return uet(t);if(AB(t))return det(t);if(LC(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return $h(gy(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(NB(t))return fet(t);if(GB(t))return het(t);if(PB(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),$h(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(VB(t))return $h(uF,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function cet(t){return $h(t.elements.map(e=>gy(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function uet(t){return $h(t.elements.map(e=>gy(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function het(t){return $h(`${uF}*?${gy(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function fet(t){return $h(`(?!${gy(t.terminal)})${uF}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function det(t){return t.right?$h(`[${eF(t.left)}-${eF(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):$h(eF(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function eF(t){return Fd(t.value)}function $h(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var uF,wc=I(()=>{"use strict";PC();Uo();mc();ls();yc();py();o(Rge,"getEntryRule");o(Lge,"getHiddenRules");o(v4,"getAllReachableRules");o(Nge,"ruleDfs");o(tet,"getAllRulesUsedForCrossReferences");o(rF,"getCrossReferenceTerminal");o(nF,"isCommentTerminal");o(iF,"findNodesForProperty");o(x4,"findNodeForProperty");o(aF,"findNodesForPropertyInternal");o(ret,"findNodesForKeyword");o(sF,"findNodeForKeyword");o(oF,"findNodesForKeywordInternal");o(lF,"findAssignment");o(zC,"findNameAssignment");o(Mge,"findNameAssignmentInternal");o(Ige,"getActionAtElement");o(net,"isOptionalCardinality");o(iet,"isArrayCardinality");o(aet,"isArrayOperator");o(b4,"isDataTypeRule");o(Oge,"isDataTypeRuleInternal");o(set,"isDataType");o(tF,"isDataTypeInternal");o(GC,"getExplicitRuleType");o($d,"getTypeName");o(Pge,"getActionType");o(oet,"getRuleTypeName");o(cF,"getRuleType");o(my,"terminalRegex");uF=/[\s\S]/.source;o(gy,"abstractElementToRegex");o(cet,"terminalAlternativesToRegex");o(uet,"terminalGroupToRegex");o(het,"untilTokenToRegex");o(fet,"negateTokenToRegex");o(det,"characterRangeToRegex");o(eF,"keywordToRegex");o($h,"withCardinality")});function hF(t){let e=[],r=t.Grammar;for(let n of r.rules)Os(n)&&nF(n)&&ZB(my(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:IC}}var fF=I(()=>{"use strict";yc();wc();py();Uo();o(hF,"createGrammarConfig")});var dF=I(()=>{"use strict"});function yy(t){console&&console.error&&console.error(`Error: ${t}`)}function T4(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var Bge=I(()=>{"use strict";o(yy,"PRINT_ERROR");o(T4,"PRINT_WARNING")});function w4(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var Fge=I(()=>{"use strict";o(w4,"timer")});function k4(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return o(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var $ge=I(()=>{"use strict";o(k4,"toFastProperties")});var vy=I(()=>{"use strict";Bge();Fge();$ge()});function pet(t){return met(t)?t.LABEL:t.name}function met(t){return Mi(t.LABEL)&&t.LABEL!==""}function qC(t){return it(t,xy)}function xy(t){function e(r){return it(r,xy)}if(o(e,"convertDefinition"),t instanceof Tn){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Mi(t.label)&&(r.label=t.label),r}else{if(t instanceof Un)return{type:"Alternative",definition:e(t.definition)};if(t instanceof wn)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Wn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Hn)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:xy(new Pr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Bn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:xy(new Pr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Kr)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Fn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Pr){let r={type:"Terminal",name:t.terminalType.name,label:pet(t.terminalType),idx:t.idx};Mi(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=bl(n)?n.source:n),r}else{if(t instanceof Ps)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var Wo,Tn,Ps,Un,wn,Wn,Hn,Kr,Bn,Fn,Pr,UC=I(()=>{"use strict";Kt();o(pet,"tokenLabel");o(met,"hasTokenLabel");Wo=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Re(this.definition,r=>{r.accept(e)})}},Tn=class extends Wo{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ps=class extends Wo{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",Pa(this,uo(e,r=>r!==void 0))}},Un=class extends Wo{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Pa(this,uo(e,r=>r!==void 0))}},wn=class extends Wo{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Wn=class extends Wo{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Hn=class extends Wo{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Kr=class extends Wo{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Bn=class extends Wo{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Fn=class extends Wo{static{o(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Pa(this,uo(e,r=>r!==void 0))}},Pr=class{static{o(this,"Terminal")}constructor(e){this.idx=1,Pa(this,uo(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(qC,"serializeGrammar");o(xy,"serializeProduction")});var Bs,zge=I(()=>{"use strict";UC();Bs=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case Tn:return this.visitNonTerminal(r);case Un:return this.visitAlternative(r);case wn:return this.visitOption(r);case Wn:return this.visitRepetitionMandatory(r);case Hn:return this.visitRepetitionMandatoryWithSeparator(r);case Bn:return this.visitRepetitionWithSeparator(r);case Kr:return this.visitRepetition(r);case Fn:return this.visitAlternation(r);case Pr:return this.visitTerminal(r);case Ps:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function pF(t){return t instanceof Un||t instanceof wn||t instanceof Kr||t instanceof Wn||t instanceof Hn||t instanceof Bn||t instanceof Pr||t instanceof Ps}function cm(t,e=[]){return t instanceof wn||t instanceof Kr||t instanceof Bn?!0:t instanceof Fn?ub(t.definition,n=>cm(n,e)):t instanceof Tn&&ai(e,t)?!1:t instanceof Wo?(t instanceof Tn&&e.push(t),rs(t.definition,n=>cm(n,e))):!1}function mF(t){return t instanceof Fn}function vo(t){if(t instanceof Tn)return"SUBRULE";if(t instanceof wn)return"OPTION";if(t instanceof Fn)return"OR";if(t instanceof Wn)return"AT_LEAST_ONE";if(t instanceof Hn)return"AT_LEAST_ONE_SEP";if(t instanceof Bn)return"MANY_SEP";if(t instanceof Kr)return"MANY";if(t instanceof Pr)return"CONSUME";throw Error("non exhaustive match")}var Gge=I(()=>{"use strict";Kt();UC();o(pF,"isSequenceProd");o(cm,"isOptionalProd");o(mF,"isBranchingProd");o(vo,"getProductionDslName")});var Fs=I(()=>{"use strict";UC();zge();Gge()});function Vge(t,e,r){return[new wn({definition:[new Pr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var zh,WC=I(()=>{"use strict";Kt();Fs();zh=class{static{o(this,"RestWalker")}walk(e,r=[]){Re(e.definition,(n,i)=>{let a=Ni(e.definition,i+1);if(n instanceof Tn)this.walkProdRef(n,a,r);else if(n instanceof Pr)this.walkTerminal(n,a,r);else if(n instanceof Un)this.walkFlat(n,a,r);else if(n instanceof wn)this.walkOption(n,a,r);else if(n instanceof Wn)this.walkAtLeastOne(n,a,r);else if(n instanceof Hn)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Bn)this.walkManySep(n,a,r);else if(n instanceof Kr)this.walkMany(n,a,r);else if(n instanceof Fn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new wn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=Vge(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new wn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=Vge(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Re(e.definition,a=>{let s=new Un({definition:[a]});this.walk(s,i)})}};o(Vge,"restForRepetitionWithSeparator")});function um(t){if(t instanceof Tn)return um(t.referencedRule);if(t instanceof Pr)return vet(t);if(pF(t))return get(t);if(mF(t))return yet(t);throw Error("non exhaustive match")}function get(t){let e=[],r=t.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=cm(a),e=e.concat(um(a)),n=n+1,i=r.length>n;return _1(e)}function yet(t){let e=it(t.definition,r=>um(r));return _1(ln(e))}function vet(t){return[t.terminalType]}var gF=I(()=>{"use strict";Kt();Fs();o(um,"first");o(get,"firstForSequence");o(yet,"firstForBranching");o(vet,"firstForTerminal")});var HC,yF=I(()=>{"use strict";HC="_~IN~_"});function qge(t){let e={};return Re(t,r=>{let n=new vF(r).startWalking();Pa(e,n)}),e}function xet(t,e){return t.name+e+HC}var vF,Uge=I(()=>{"use strict";WC();gF();Kt();yF();Fs();vF=class extends zh{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=xet(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Un({definition:a}),l=um(s);this.follows[i]=l}};o(qge,"computeAllProdsFollows");o(xet,"buildBetweenProdsFollowPrefix")});function by(t){let e=t.toString();if(YC.hasOwnProperty(e))return YC[e];{let r=bet.pattern(e);return YC[e]=r,r}}function Wge(){YC={}}var YC,bet,jC=I(()=>{"use strict";g4();YC={},bet=new om;o(by,"getRegExpAst");o(Wge,"clearRegExpParserCache")});function jge(t,e=!1){try{let r=by(t);return xF(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Yge)e&&T4(`${S4} Unable to optimize: < ${t.toString()} > +`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var Pu,u1e=O(()=>{"use strict";Pu=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var _T=O(()=>{"use strict";c1e();u1e()});var ZC={};vr(ZC,{NEWLINE_REGEXP:()=>dF,escapeRegExp:()=>Vd,getTerminalParts:()=>ztt,isMultilineComment:()=>pF,isWhitespace:()=>DT,partialMatches:()=>mF,partialRegExp:()=>d1e,whitespaceCharacters:()=>f1e});function ztt(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=h1e.pattern(t),r=[];for(let n of e.value.value)hm.reset(t),hm.visit(n),r.push({start:hm.startRegexp,end:hm.endRegex});return r}catch{return[]}}function pF(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),hm.reset(t),hm.visit(h1e.pattern(t)),hm.multiline}catch{return!1}}function DT(t){let e=typeof t=="string"?new RegExp(t):t;return f1e.some(r=>e.test(r))}function Vd(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function mF(t,e){let r=d1e(t),n=e.match(r);return!!n&&n[0].length>0}function d1e(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",s;function l(h){a+=r.substr(n,h),n+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(o(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?l(s[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return o(i,"process"),new RegExp(i(),t.flags)}var dF,h1e,fF,hm,f1e,wy=O(()=>{"use strict";_T();dF=/\r?\n/gm,h1e=new um,fF=class extends Pu{static{o(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Vd(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},hm=new fF;o(ztt,"getTerminalParts");o(pF,"isMultilineComment");f1e=`\f +\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");o(DT,"isWhitespace");o(Vd,"escapeRegExp");o(mF,"partialMatches");o(d1e,"partialRegExp")});var t6={};vr(t6,{findAssignment:()=>EF,findNameAssignment:()=>JC,findNodeForKeyword:()=>wF,findNodeForProperty:()=>LT,findNodesForKeyword:()=>Vtt,findNodesForKeywordInternal:()=>kF,findNodesForProperty:()=>bF,getActionAtElement:()=>v1e,getActionType:()=>b1e,getAllReachableRules:()=>RT,getAllRulesUsedForCrossReferences:()=>Gtt,getCrossReferenceTerminal:()=>vF,getEntryRule:()=>p1e,getExplicitRuleType:()=>e6,getHiddenRules:()=>m1e,getRuleType:()=>SF,getRuleTypeName:()=>Ytt,getTypeName:()=>qd,isArrayCardinality:()=>Utt,isArrayOperator:()=>Wtt,isCommentTerminal:()=>xF,isDataType:()=>Htt,isDataTypeRule:()=>NT,isOptionalCardinality:()=>qtt,terminalRegex:()=>ky});function p1e(t){return t.rules.find(e=>Sa(e)&&e.entry)}function m1e(t){return t.rules.filter(e=>Bs(e)&&e.hidden)}function RT(t,e){let r=new Set,n=p1e(t);if(!n)return new Set(t.rules);let i=[n].concat(m1e(t));for(let s of i)g1e(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||Bs(s)&&s.hidden)&&a.add(s);return a}function g1e(t,e,r){e.add(t.name),Ec(t).forEach(n=>{if(Dc(n)||r&&UC(n)){let i=n.rule.ref;i&&!e.has(i.name)&&g1e(i,e,r)}})}function Gtt(t){let e=new Set;return Ec(t).forEach(r=>{_c(r)&&(Sa(r.type.ref)&&e.add(r.type.ref),kT(r.type.ref)&&Sa(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function vF(t){if(t.terminal)return t.terminal;if(t.type.ref)return JC(t.type.ref)?.terminal}function xF(t){return t.hidden&&!DT(ky(t))}function bF(t,e){return!t||!e?[]:TF(t,e,t.astNode,!0)}function LT(t,e,r){if(!t||!e)return;let n=TF(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function TF(t,e,r,n){if(!n){let i=zh(t.grammarSource,Ac);if(i&&i.feature===e)return[t]}return wc(t)&&t.astNode===r?t.content.flatMap(i=>TF(i,e,r,!1)):[]}function Vtt(t,e){return t?kF(t,e,t?.astNode):[]}function wF(t,e,r){if(!t)return;let n=kF(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function kF(t,e,r){if(t.astNode!==r)return[];if(Pl(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=sm(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Pl(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function EF(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=zh(t.grammarSource,Ac);if(r)return r;t=t.container}}function JC(t){let e=t;return kT(e)&&(Uh(e.$container)?e=e.$container.$container:qh(e.$container)?e=e.$container:Ou(e.$container)),y1e(t,e,new Map)}function y1e(t,e,r){function n(i,a){let s;return zh(i,Ac)||(s=y1e(a,a,r)),r.set(t,s),s}if(o(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let i of Ec(e)){if(Ac(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Dc(i)&&Sa(i.rule.ref))return n(i,i.rule.ref);if(qC(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function v1e(t){let e=t.$container;if(zd(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Uh(a))return a;{let s=Ec(r[i]).find(Uh);if(s)return s}}}if(wT(e))return v1e(e)}function qtt(t,e){return t==="?"||t==="*"||zd(e)&&!!e.guardCondition}function Utt(t){return t==="*"||t==="+"}function Wtt(t){return t==="+="}function NT(t){return x1e(t,new Set)}function x1e(t,e){if(e.has(t))return!0;e.add(t);for(let r of Ec(t))if(Dc(r)){if(!r.rule.ref||Sa(r.rule.ref)&&!x1e(r.rule.ref,e)||Gd(r.rule.ref))return!1}else{if(Ac(r))return!1;if(Uh(r))return!1}return!!t.definition}function Htt(t){return yF(t.type,new Set)}function yF(t,e){if(e.has(t))return!0;if(e.add(t),GB(t))return!1;if(QB(t))return!1;if(rF(t))return t.types.every(r=>yF(r,e));if(qC(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return WC(r)?yF(r.type,e):!1}else return!1}else return!1}function e6(t){if(!Bs(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function qd(t){if(qh(t))return Sa(t)&&NT(t)?t.name:e6(t)??t.name;if(YB(t)||WC(t)||JB(t))return t.name;if(Uh(t)){let e=b1e(t);if(e)return e}else if(kT(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function b1e(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return qd(t.type.ref)}function Ytt(t){return Bs(t)?t.type?.name??"string":Sa(t)&&NT(t)?t.name:e6(t)??t.name}function SF(t){return Bs(t)?t.type?.name??"string":e6(t)??t.name}function ky(t){let e={s:!1,i:!1,u:!1},r=Ey(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function Ey(t,e){if(eF(t))return jtt(t);if(tF(t))return Xtt(t);if(qB(t))return Ztt(t);if(UC(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Wh(Ey(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(jB(t))return Qtt(t);if(nF(t))return Ktt(t);if(ZB(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Wh(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(iF(t))return Wh(CF,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function jtt(t){return Wh(t.elements.map(e=>Ey(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Xtt(t){return Wh(t.elements.map(e=>Ey(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ktt(t){return Wh(`${CF}*?${Ey(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Qtt(t){return Wh(`(?!${Ey(t.terminal)})${CF}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Ztt(t){return t.right?Wh(`[${gF(t.left)}-${gF(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Wh(gF(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function gF(t){return Vd(t.value)}function Wh(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var CF,Rc=O(()=>{"use strict";XC();Zo();kc();us();Sc();wy();o(p1e,"getEntryRule");o(m1e,"getHiddenRules");o(RT,"getAllReachableRules");o(g1e,"ruleDfs");o(Gtt,"getAllRulesUsedForCrossReferences");o(vF,"getCrossReferenceTerminal");o(xF,"isCommentTerminal");o(bF,"findNodesForProperty");o(LT,"findNodeForProperty");o(TF,"findNodesForPropertyInternal");o(Vtt,"findNodesForKeyword");o(wF,"findNodeForKeyword");o(kF,"findNodesForKeywordInternal");o(EF,"findAssignment");o(JC,"findNameAssignment");o(y1e,"findNameAssignmentInternal");o(v1e,"getActionAtElement");o(qtt,"isOptionalCardinality");o(Utt,"isArrayCardinality");o(Wtt,"isArrayOperator");o(NT,"isDataTypeRule");o(x1e,"isDataTypeRuleInternal");o(Htt,"isDataType");o(yF,"isDataTypeInternal");o(e6,"getExplicitRuleType");o(qd,"getTypeName");o(b1e,"getActionType");o(Ytt,"getRuleTypeName");o(SF,"getRuleType");o(ky,"terminalRegex");CF=/[\s\S]/.source;o(Ey,"abstractElementToRegex");o(jtt,"terminalAlternativesToRegex");o(Xtt,"terminalGroupToRegex");o(Ktt,"untilTokenToRegex");o(Qtt,"negateTokenToRegex");o(Ztt,"characterRangeToRegex");o(gF,"keywordToRegex");o(Wh,"withCardinality")});function AF(t){let e=[],r=t.Grammar;for(let n of r.rules)Bs(n)&&xF(n)&&pF(ky(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:YC}}var _F=O(()=>{"use strict";Sc();Rc();wy();Zo();o(AF,"createGrammarConfig")});var DF=O(()=>{"use strict"});function Sy(t){console&&console.error&&console.error(`Error: ${t}`)}function MT(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var T1e=O(()=>{"use strict";o(Sy,"PRINT_ERROR");o(MT,"PRINT_WARNING")});function IT(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var w1e=O(()=>{"use strict";o(IT,"timer")});function OT(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return o(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var k1e=O(()=>{"use strict";o(OT,"toFastProperties")});var Cy=O(()=>{"use strict";T1e();w1e();k1e()});function Jtt(t){return ert(t)?t.LABEL:t.name}function ert(t){return Bi(t.LABEL)&&t.LABEL!==""}function r6(t){return lt(t,Ay)}function Ay(t){function e(r){return lt(r,Ay)}if(o(e,"convertDefinition"),t instanceof Sn){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Bi(t.label)&&(r.label=t.label),r}else{if(t instanceof Yn)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Cn)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof jn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Xn)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ay(new Yr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof zn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ay(new Yr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Jr)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Gn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Yr){let r={type:"Terminal",name:t.terminalType.name,label:Jtt(t.terminalType),idx:t.idx};Bi(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=Al(n)?n.source:n),r}else{if(t instanceof Fs)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var Jo,Sn,Fs,Yn,Cn,jn,Xn,Jr,zn,Gn,Yr,n6=O(()=>{"use strict";rr();o(Jtt,"tokenLabel");o(ert,"hasTokenLabel");Jo=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Oe(this.definition,r=>{r.accept(e)})}},Sn=class extends Jo{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,$a(this,go(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Fs=class extends Jo{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",$a(this,go(e,r=>r!==void 0))}},Yn=class extends Jo{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,$a(this,go(e,r=>r!==void 0))}},Cn=class extends Jo{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},jn=class extends Jo{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},Xn=class extends Jo{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},Jr=class extends Jo{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},zn=class extends Jo{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},Gn=class extends Jo{static{o(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,$a(this,go(e,r=>r!==void 0))}},Yr=class{static{o(this,"Terminal")}constructor(e){this.idx=1,$a(this,go(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(r6,"serializeGrammar");o(Ay,"serializeProduction")});var $s,E1e=O(()=>{"use strict";n6();$s=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case Sn:return this.visitNonTerminal(r);case Yn:return this.visitAlternative(r);case Cn:return this.visitOption(r);case jn:return this.visitRepetitionMandatory(r);case Xn:return this.visitRepetitionMandatoryWithSeparator(r);case zn:return this.visitRepetitionWithSeparator(r);case Jr:return this.visitRepetition(r);case Gn:return this.visitAlternation(r);case Yr:return this.visitTerminal(r);case Fs:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function RF(t){return t instanceof Yn||t instanceof Cn||t instanceof Jr||t instanceof jn||t instanceof Xn||t instanceof zn||t instanceof Yr||t instanceof Fs}function fm(t,e=[]){return t instanceof Cn||t instanceof Jr||t instanceof zn?!0:t instanceof Gn?wb(t.definition,n=>fm(n,e)):t instanceof Sn&&ci(e,t)?!1:t instanceof Jo?(t instanceof Sn&&e.push(t),is(t.definition,n=>fm(n,e))):!1}function LF(t){return t instanceof Gn}function ko(t){if(t instanceof Sn)return"SUBRULE";if(t instanceof Cn)return"OPTION";if(t instanceof Gn)return"OR";if(t instanceof jn)return"AT_LEAST_ONE";if(t instanceof Xn)return"AT_LEAST_ONE_SEP";if(t instanceof zn)return"MANY_SEP";if(t instanceof Jr)return"MANY";if(t instanceof Yr)return"CONSUME";throw Error("non exhaustive match")}var S1e=O(()=>{"use strict";rr();n6();o(RF,"isSequenceProd");o(fm,"isOptionalProd");o(LF,"isBranchingProd");o(ko,"getProductionDslName")});var zs=O(()=>{"use strict";n6();E1e();S1e()});function C1e(t,e,r){return[new Cn({definition:[new Yr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var Hh,i6=O(()=>{"use strict";rr();zs();Hh=class{static{o(this,"RestWalker")}walk(e,r=[]){Oe(e.definition,(n,i)=>{let a=Pi(e.definition,i+1);if(n instanceof Sn)this.walkProdRef(n,a,r);else if(n instanceof Yr)this.walkTerminal(n,a,r);else if(n instanceof Yn)this.walkFlat(n,a,r);else if(n instanceof Cn)this.walkOption(n,a,r);else if(n instanceof jn)this.walkAtLeastOne(n,a,r);else if(n instanceof Xn)this.walkAtLeastOneSep(n,a,r);else if(n instanceof zn)this.walkManySep(n,a,r);else if(n instanceof Jr)this.walkMany(n,a,r);else if(n instanceof Gn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Cn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=C1e(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Cn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=C1e(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Oe(e.definition,a=>{let s=new Yn({definition:[a]});this.walk(s,i)})}};o(C1e,"restForRepetitionWithSeparator")});function dm(t){if(t instanceof Sn)return dm(t.referencedRule);if(t instanceof Yr)return nrt(t);if(RF(t))return trt(t);if(LF(t))return rrt(t);throw Error("non exhaustive match")}function trt(t){let e=[],r=t.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=fm(a),e=e.concat(dm(a)),n=n+1,i=r.length>n;return P1(e)}function rrt(t){let e=lt(t.definition,r=>dm(r));return P1(fn(e))}function nrt(t){return[t.terminalType]}var NF=O(()=>{"use strict";rr();zs();o(dm,"first");o(trt,"firstForSequence");o(rrt,"firstForBranching");o(nrt,"firstForTerminal")});var a6,MF=O(()=>{"use strict";a6="_~IN~_"});function A1e(t){let e={};return Oe(t,r=>{let n=new IF(r).startWalking();$a(e,n)}),e}function irt(t,e){return t.name+e+a6}var IF,_1e=O(()=>{"use strict";i6();NF();rr();MF();zs();IF=class extends Hh{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=irt(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Yn({definition:a}),l=dm(s);this.follows[i]=l}};o(A1e,"computeAllProdsFollows");o(irt,"buildBetweenProdsFollowPrefix")});function _y(t){let e=t.toString();if(s6.hasOwnProperty(e))return s6[e];{let r=art.pattern(e);return s6[e]=r,r}}function D1e(){s6={}}var s6,art,o6=O(()=>{"use strict";_T();s6={},art=new um;o(_y,"getRegExpAst");o(D1e,"clearRegExpParserCache")});function N1e(t,e=!1){try{let r=_y(t);return OF(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===L1e)e&&MT(`${PT} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),yy(`${S4} + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Sy(`${PT} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function xF(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")XC(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)XC(f,e,r);else{for(let f=h.from;f<=h.to&&f=Ty){let f=h.from>=Ty?h.from:Ty,d=h.to,p=Ru(f),m=Ru(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":xF(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&bF(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return Rr(e)}function XC(t,e,r){let n=Ru(t);e[n]=n,r===!0&&Tet(t,e)}function Tet(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Ru(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Ru(i.charCodeAt(0));e[a]=a}}}function Hge(t,e){return Ds(t.value,r=>{if(typeof r=="number")return ai(e,r);{let n=r;return Ds(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function bF(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?zt(t.value)?rs(t.value,bF):bF(t.value):!1}function KC(t,e){if(e instanceof RegExp){let r=by(e),n=new TF(t);return n.visit(r),n.found}else return Ds(e,r=>ai(t,r.charCodeAt(0)))!==void 0}var Yge,S4,TF,Xge=I(()=>{"use strict";g4();Kt();vy();jC();wF();Yge="Complement Sets are not supported for first char optimization",S4=`Unable to use "first char" lexer optimizations: -`;o(jge,"getOptimizedStartCodesIndices");o(xF,"firstCharOptimizedIndices");o(XC,"addOptimizedIdxToResult");o(Tet,"handleIgnoreCase");o(Hge,"findCode");o(bF,"isWholeOptional");TF=class extends Du{static{o(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){ai(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Hge(e,this.targetCharCodes)===void 0&&(this.found=!0):Hge(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o(KC,"canMatchCharCode")});function Zge(t,e){e=td(e,{useSticky:SF,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:o((b,T)=>T(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Get()});let n;r("Reject Lexer.NA",()=>{n=nd(t,b=>b[hm]===li.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=it(n,b=>{let T=b[hm];if(bl(T)){let E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!ai(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],E[1])?E[1]:e.useSticky?Qge(T):Kge(T)}else{if($i(T))return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{let E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(E);return e.useSticky?Qge(w):Kge(w)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=it(n,b=>b.tokenTypeIdx),l=it(n,b=>{let T=b.GROUP;if(T!==li.SKIPPED){if(Mi(T))return T;if(Er(T))return!1;throw Error("non exhaustive match")}}),u=it(n,b=>{let T=b.LONGER_ALT;if(T)return zt(T)?it(T,w=>YS(n,w)):[YS(n,T)]}),h=it(n,b=>b.PUSH_MODE),f=it(n,b=>Gt(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=s1e(e.lineTerminatorCharacters);d=it(n,T=>!1),e.positionTracking!=="onlyOffset"&&(d=it(n,T=>Gt(T,"LINE_BREAKS")?!!T.LINE_BREAKS:a1e(T,b)===!1&&KC(b,T.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=it(n,n1e),m=it(a,$et),g=un(n,(b,T)=>{let E=T.GROUP;return Mi(E)&&E!==li.SKIPPED&&(b[E]=[]),b},{}),y=it(a,(b,T)=>({pattern:a[T],longerAlt:u[T],canLineTerminator:d[T],isCustom:p[T],short:m[T],group:l[T],push:h[T],pop:f[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=un(n,(b,T,E)=>{if(typeof T.PATTERN=="string"){let w=T.PATTERN.charCodeAt(0),k=Ru(w);kF(b,k,y[E])}else if(zt(T.START_CHARS_HINT)){let w;Re(T.START_CHARS_HINT,k=>{let C=typeof k=="string"?k.charCodeAt(0):k,D=Ru(C);w!==D&&(w=D,kF(b,D,y[E]))})}else if(bl(T.PATTERN))if(T.PATTERN.unicode)v=!1,e.ensureOptimizations&&yy(`${S4} Unable to analyze < ${T.PATTERN.toString()} > pattern. + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function OF(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")l6(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)l6(f,e,r);else{for(let f=h.from;f<=h.to&&f=Dy){let f=h.from>=Dy?h.from:Dy,d=h.to,p=Bu(f),m=Bu(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":OF(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&PF(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return Gr(e)}function l6(t,e,r){let n=Bu(t);e[n]=n,r===!0&&srt(t,e)}function srt(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Bu(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Bu(i.charCodeAt(0));e[a]=a}}}function R1e(t,e){return Ls(t.value,r=>{if(typeof r=="number")return ci(e,r);{let n=r;return Ls(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function PF(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?zt(t.value)?is(t.value,PF):PF(t.value):!1}function c6(t,e){if(e instanceof RegExp){let r=_y(e),n=new BF(t);return n.visit(r),n.found}else return Ls(e,r=>ci(t,r.charCodeAt(0)))!==void 0}var L1e,PT,BF,M1e=O(()=>{"use strict";_T();rr();Cy();o6();FF();L1e="Complement Sets are not supported for first char optimization",PT=`Unable to use "first char" lexer optimizations: +`;o(N1e,"getOptimizedStartCodesIndices");o(OF,"firstCharOptimizedIndices");o(l6,"addOptimizedIdxToResult");o(srt,"handleIgnoreCase");o(R1e,"findCode");o(PF,"isWholeOptional");BF=class extends Pu{static{o(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){ci(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?R1e(e,this.targetCharCodes)===void 0&&(this.found=!0):R1e(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o(c6,"canMatchCharCode")});function P1e(t,e){e=ad(e,{useSticky:zF,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:o((b,T)=>T(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Srt()});let n;r("Reject Lexer.NA",()=>{n=od(t,b=>b[pm]===fi.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=lt(n,b=>{let T=b[pm];if(Al(T)){let E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!ci(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],E[1])?E[1]:e.useSticky?O1e(T):I1e(T)}else{if(Vi(T))return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{let E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(E);return e.useSticky?O1e(w):I1e(w)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=lt(n,b=>b.tokenTypeIdx),l=lt(n,b=>{let T=b.GROUP;if(T!==fi.SKIPPED){if(Bi(T))return T;if(Dr(T))return!1;throw Error("non exhaustive match")}}),u=lt(n,b=>{let T=b.LONGER_ALT;if(T)return zt(T)?lt(T,w=>sS(n,w)):[sS(n,T)]}),h=lt(n,b=>b.PUSH_MODE),f=lt(n,b=>Gt(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=U1e(e.lineTerminatorCharacters);d=lt(n,T=>!1),e.positionTracking!=="onlyOffset"&&(d=lt(n,T=>Gt(T,"LINE_BREAKS")?!!T.LINE_BREAKS:q1e(T,b)===!1&&c6(b,T.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=lt(n,G1e),m=lt(a,krt),g=pn(n,(b,T)=>{let E=T.GROUP;return Bi(E)&&E!==fi.SKIPPED&&(b[E]=[]),b},{}),y=lt(a,(b,T)=>({pattern:a[T],longerAlt:u[T],canLineTerminator:d[T],isCustom:p[T],short:m[T],group:l[T],push:h[T],pop:f[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=pn(n,(b,T,E)=>{if(typeof T.PATTERN=="string"){let w=T.PATTERN.charCodeAt(0),k=Bu(w);$F(b,k,y[E])}else if(zt(T.START_CHARS_HINT)){let w;Oe(T.START_CHARS_HINT,k=>{let S=typeof k=="string"?k.charCodeAt(0):k,A=Bu(S);w!==A&&(w=A,$F(b,A,y[E]))})}else if(Al(T.PATTERN))if(T.PATTERN.unicode)v=!1,e.ensureOptimizations&&Sy(`${PT} Unable to analyze < ${T.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let w=jge(T.PATTERN,e.ensureOptimizations);Tr(w)&&(v=!1),Re(w,k=>{kF(b,k,y[E])})}else e.ensureOptimizations&&yy(`${S4} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let w=N1e(T.PATTERN,e.ensureOptimizations);Er(w)&&(v=!1),Oe(w,k=>{$F(b,k,y[E])})}else e.ensureOptimizations&&Sy(`${PT} TokenType: <${T.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function Jge(t,e){let r=[],n=ket(t);r=r.concat(n.errors);let i=Eet(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(wet(a)),r=r.concat(Met(a)),r=r.concat(Iet(a,e)),r=r.concat(Oet(a)),r}function wet(t){let e=[],r=cn(t,n=>bl(n[hm]));return e=e.concat(Aet(r)),e=e.concat(Ret(r)),e=e.concat(Let(r)),e=e.concat(Net(r)),e=e.concat(_et(r)),e}function ket(t){let e=cn(t,i=>!Gt(i,hm)),r=it(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:oi.MISSING_PATTERN,tokenTypes:[i]})),n=rd(t,e);return{errors:r,valid:n}}function Eet(t){let e=cn(t,i=>{let a=i[hm];return!bl(a)&&!$i(a)&&!Gt(a,"exec")&&!Mi(a)}),r=it(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:oi.INVALID_PATTERN,tokenTypes:[i]})),n=rd(t,e);return{errors:r,valid:n}}function Aet(t){class e extends Du{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=cn(t,i=>{let a=i.PATTERN;try{let s=by(a),l=new e;return l.visit(s),l.found}catch{return Cet.test(a.source)}});return it(r,i=>({message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function B1e(t,e){let r=[],n=lrt(t);r=r.concat(n.errors);let i=crt(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(ort(a)),r=r.concat(yrt(a)),r=r.concat(vrt(a,e)),r=r.concat(xrt(a)),r}function ort(t){let e=[],r=dn(t,n=>Al(n[pm]));return e=e.concat(hrt(r)),e=e.concat(prt(r)),e=e.concat(mrt(r)),e=e.concat(grt(r)),e=e.concat(frt(r)),e}function lrt(t){let e=dn(t,i=>!Gt(i,pm)),r=lt(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:hi.MISSING_PATTERN,tokenTypes:[i]})),n=sd(t,e);return{errors:r,valid:n}}function crt(t){let e=dn(t,i=>{let a=i[pm];return!Al(a)&&!Vi(a)&&!Gt(a,"exec")&&!Bi(a)}),r=lt(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:hi.INVALID_PATTERN,tokenTypes:[i]})),n=sd(t,e);return{errors:r,valid:n}}function hrt(t){class e extends Pu{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=dn(t,i=>{let a=i.PATTERN;try{let s=_y(a),l=new e;return l.visit(s),l.found}catch{return urt.test(a.source)}});return lt(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:oi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function _et(t){let e=cn(t,n=>n.PATTERN.test(""));return it(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:oi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function Ret(t){class e extends Du{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=cn(t,i=>{let a=i.PATTERN;try{let s=by(a),l=new e;return l.visit(s),l.found}catch{return Det.test(a.source)}});return it(r,i=>({message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:hi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function frt(t){let e=dn(t,n=>n.PATTERN.test(""));return lt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:hi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function prt(t){class e extends Pu{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=dn(t,i=>{let a=i.PATTERN;try{let s=_y(a),l=new e;return l.visit(s),l.found}catch{return drt.test(a.source)}});return lt(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:oi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Let(t){let e=cn(t,n=>{let i=n[hm];return i instanceof RegExp&&(i.multiline||i.global)});return it(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:oi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function Net(t){let e=[],r=it(t,a=>un(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!ai(e,l)&&l.PATTERN!==li.NA&&(e.push(l),s.push(l)),s),[]));r=fu(r);let n=cn(r,a=>a.length>1);return it(n,a=>{let s=it(a,u=>u.name);return{message:`The same RegExp pattern ->${va(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:oi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function Met(t){let e=cn(t,n=>{if(!Gt(n,"GROUP"))return!1;let i=n.GROUP;return i!==li.SKIPPED&&i!==li.NA&&!Mi(i)});return it(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:oi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function Iet(t,e){let r=cn(t,i=>i.PUSH_MODE!==void 0&&!ai(e,i.PUSH_MODE));return it(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:oi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function Oet(t){let e=[],r=un(t,(n,i,a)=>{let s=i.PATTERN;return s===li.NA||(Mi(s)?n.push({str:s,idx:a,tokenType:i}):bl(s)&&Bet(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return Re(t,(n,i)=>{Re(r,({str:a,idx:s,tokenType:l})=>{if(i${l.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:hi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function mrt(t){let e=dn(t,n=>{let i=n[pm];return i instanceof RegExp&&(i.multiline||i.global)});return lt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:hi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function grt(t){let e=[],r=lt(t,a=>pn(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!ci(e,l)&&l.PATTERN!==fi.NA&&(e.push(l),s.push(l)),s),[]));r=xu(r);let n=dn(r,a=>a.length>1);return lt(n,a=>{let s=lt(a,u=>u.name);return{message:`The same RegExp pattern ->${Ta(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:hi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function yrt(t){let e=dn(t,n=>{if(!Gt(n,"GROUP"))return!1;let i=n.GROUP;return i!==fi.SKIPPED&&i!==fi.NA&&!Bi(i)});return lt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:hi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function vrt(t,e){let r=dn(t,i=>i.PUSH_MODE!==void 0&&!ci(e,i.PUSH_MODE));return lt(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:hi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function xrt(t){let e=[],r=pn(t,(n,i,a)=>{let s=i.PATTERN;return s===fi.NA||(Bi(s)?n.push({str:s,idx:a,tokenType:i}):Al(s)&&Trt(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return Oe(t,(n,i)=>{Oe(r,({str:a,idx:s,tokenType:l})=>{if(i${l.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:oi.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function Pet(t,e){if(bl(e)){if(Fet(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if($i(e))return e(t,0,[],{});if(Gt(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function Bet(t){return Ds([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function Fet(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition -`,type:oi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Gt(t,QC)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+QC+`> property in its definition -`,type:oi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Gt(t,QC)&&Gt(t,wy)&&!Gt(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${wy}: <${t.defaultMode}>which does not exist -`,type:oi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Gt(t,QC)&&Re(t.modes,(i,a)=>{Re(i,(s,l)=>{if(Er(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> -`,type:oi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Gt(s,"LONGER_ALT")){let u=zt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Re(u,h=>{!Er(h)&&!ai(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> -`,type:oi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function t1e(t,e,r){let n=[],i=!1,a=fu(ln(Rr(t.modes))),s=nd(a,u=>u[hm]===li.NA),l=s1e(r);return e&&Re(s,u=>{let h=a1e(u,l);if(h!==!1){let d={message:zet(u,h),type:h.issue,tokenType:u};n.push(d)}else Gt(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):KC(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:hi.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function brt(t,e){if(Al(e)){if(wrt(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(Vi(e))return e(t,0,[],{});if(Gt(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function Trt(t){return Ls([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function wrt(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition +`,type:hi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Gt(t,u6)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+u6+`> property in its definition +`,type:hi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Gt(t,u6)&&Gt(t,Ry)&&!Gt(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ry}: <${t.defaultMode}>which does not exist +`,type:hi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Gt(t,u6)&&Oe(t.modes,(i,a)=>{Oe(i,(s,l)=>{if(Dr(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> +`,type:hi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Gt(s,"LONGER_ALT")){let u=zt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Oe(u,h=>{!Dr(h)&&!ci(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> +`,type:hi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function $1e(t,e,r){let n=[],i=!1,a=xu(fn(Gr(t.modes))),s=od(a,u=>u[pm]===fi.NA),l=U1e(r);return e&&Oe(s,u=>{let h=q1e(u,l);if(h!==!1){let d={message:Ert(u,h),type:h.issue,tokenType:u};n.push(d)}else Gt(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):c6(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:oi.NO_LINE_BREAKS_FLAGS}),n}function r1e(t){let e={},r=en(t);return Re(r,n=>{let i=t[n];if(zt(i))e[n]=[];else throw Error("non exhaustive match")}),e}function n1e(t){let e=t.PATTERN;if(bl(e))return!1;if($i(e))return!0;if(Gt(e,"exec"))return!0;if(Mi(e))return!1;throw Error("non exhaustive match")}function $et(t){return Mi(t)&&t.length===1?t.charCodeAt(0):!1}function a1e(t,e){if(Gt(t,"LINE_BREAKS"))return!1;if(bl(t.PATTERN)){try{KC(e,t.PATTERN)}catch(r){return{issue:oi.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(Mi(t.PATTERN))return!1;if(n1e(t))return{issue:oi.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function zet(t,e){if(e.issue===oi.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + for details.`,type:hi.NO_LINE_BREAKS_FLAGS}),n}function z1e(t){let e={},r=nn(t);return Oe(r,n=>{let i=t[n];if(zt(i))e[n]=[];else throw Error("non exhaustive match")}),e}function G1e(t){let e=t.PATTERN;if(Al(e))return!1;if(Vi(e))return!0;if(Gt(e,"exec"))return!0;if(Bi(e))return!1;throw Error("non exhaustive match")}function krt(t){return Bi(t)&&t.length===1?t.charCodeAt(0):!1}function q1e(t,e){if(Gt(t,"LINE_BREAKS"))return!1;if(Al(t.PATTERN)){try{c6(e,t.PATTERN)}catch(r){return{issue:hi.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(Bi(t.PATTERN))return!1;if(G1e(t))return{issue:hi.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function Ert(t,e){if(e.issue===hi.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. The problem is in the <${t.name}> Token Type Root cause: ${e.errMsg}. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===oi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===hi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function s1e(t){return it(t,r=>Mi(r)?r.charCodeAt(0):r)}function kF(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Ru(t){return t255?255+~~(t/255):t}}var hm,wy,QC,SF,Cet,Det,i1e,Ty,ZC,wF=I(()=>{"use strict";g4();E4();Kt();vy();Xge();jC();hm="PATTERN",wy="defaultMode",QC="modes",SF=typeof new RegExp("(?:)").sticky=="boolean";o(Zge,"analyzeTokenTypes");o(Jge,"validatePatterns");o(wet,"validateRegExpPattern");o(ket,"findMissingPatterns");o(Eet,"findInvalidPatterns");Cet=/[^\\][$]/;o(Aet,"findEndOfInputAnchor");o(_et,"findEmptyMatchRegExps");Det=/[^\\[][\^]|^\^/;o(Ret,"findStartOfInputAnchor");o(Let,"findUnsupportedFlags");o(Net,"findDuplicatePatterns");o(Met,"findInvalidGroupType");o(Iet,"findModesThatDoNotExist");o(Oet,"findUnreachablePatterns");o(Pet,"tryToMatchStrToPattern");o(Bet,"noMetaChar");o(Fet,"usesLookAheadOrBehind");o(Kge,"addStartOfInput");o(Qge,"addStickyFlag");o(e1e,"performRuntimeChecks");o(t1e,"performWarningRuntimeChecks");o(r1e,"cloneEmptyGroups");o(n1e,"isCustomPattern");o($et,"isShortPattern");i1e={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function Vet(t){let e=yn(t),r=t,n=!0;for(;n;){r=fu(ln(it(r,a=>a.CATEGORIES)));let i=rd(r,e);e=e.concat(i),Tr(i)?n=!1:r=i}return e}function qet(t){Re(t,e=>{EF(e)||(c1e[o1e]=e,e.tokenTypeIdx=o1e++),l1e(e)&&!zt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),l1e(e)||(e.CATEGORIES=[]),Het(e)||(e.categoryMatches=[]),Yet(e)||(e.categoryMatchesMap={})})}function Uet(t){Re(t,e=>{e.categoryMatches=[],Re(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(c1e[n].tokenTypeIdx)})})}function Wet(t){Re(t,e=>{u1e([],e)})}function u1e(t,e){Re(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Re(e.CATEGORIES,r=>{let n=t.concat(e);ai(n,r)||u1e(n,r)})}function EF(t){return Gt(t,"tokenTypeIdx")}function l1e(t){return Gt(t,"CATEGORIES")}function Het(t){return Gt(t,"categoryMatches")}function Yet(t){return Gt(t,"categoryMatchesMap")}function h1e(t){return Gt(t,"tokenTypeIdx")}var o1e,c1e,fm=I(()=>{"use strict";Kt();o(Gh,"tokenStructuredMatcher");o(ky,"tokenStructuredMatcherNoCategories");o1e=1,c1e={};o(Vh,"augmentTokenTypes");o(Vet,"expandCategories");o(qet,"assignTokenDefaultProps");o(Uet,"assignCategoriesTokensProp");o(Wet,"assignCategoriesMapProp");o(u1e,"singleAssignCategoriesToksMap");o(EF,"hasShortKeyProperty");o(l1e,"hasCategoriesProperty");o(Het,"hasExtendingTokensTypesProperty");o(Yet,"hasExtendingTokensTypesMapProperty");o(h1e,"isTokenType")});var Sy,CF=I(()=>{"use strict";Sy={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var oi,C4,li,E4=I(()=>{"use strict";wF();Kt();vy();fm();CF();jC();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(oi||(oi={}));C4={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Sy,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(C4);li=class{static{o(this,"Lexer")}constructor(e,r=C4){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=w4(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=Pa({},C4,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===C4.lineTerminatorsPattern)this.config.lineTerminatorsPattern=i1e;else if(this.config.lineTerminatorCharacters===C4.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),zt(e)?i={modes:{defaultMode:yn(e)},defaultMode:wy}:(a=!1,i=yn(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(e1e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(t1e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Re(i.modes,(l,u)=>{i.modes[u]=nd(l,h=>Er(h))});let s=en(i.modes);if(Re(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Jge(l,s))}),Tr(this.lexerDefinitionErrors)){Vh(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=Zge(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=Pa({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Tr(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=it(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function U1e(t){return lt(t,r=>Bi(r)?r.charCodeAt(0):r)}function $F(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Bu(t){return t255?255+~~(t/255):t}}var pm,Ry,u6,zF,urt,drt,V1e,Dy,h6,FF=O(()=>{"use strict";_T();BT();rr();Cy();M1e();o6();pm="PATTERN",Ry="defaultMode",u6="modes",zF=typeof new RegExp("(?:)").sticky=="boolean";o(P1e,"analyzeTokenTypes");o(B1e,"validatePatterns");o(ort,"validateRegExpPattern");o(lrt,"findMissingPatterns");o(crt,"findInvalidPatterns");urt=/[^\\][$]/;o(hrt,"findEndOfInputAnchor");o(frt,"findEmptyMatchRegExps");drt=/[^\\[][\^]|^\^/;o(prt,"findStartOfInputAnchor");o(mrt,"findUnsupportedFlags");o(grt,"findDuplicatePatterns");o(yrt,"findInvalidGroupType");o(vrt,"findModesThatDoNotExist");o(xrt,"findUnreachablePatterns");o(brt,"tryToMatchStrToPattern");o(Trt,"noMetaChar");o(wrt,"usesLookAheadOrBehind");o(I1e,"addStartOfInput");o(O1e,"addStickyFlag");o(F1e,"performRuntimeChecks");o($1e,"performWarningRuntimeChecks");o(z1e,"cloneEmptyGroups");o(G1e,"isCustomPattern");o(krt,"isShortPattern");V1e={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function Crt(t){let e=Tn(t),r=t,n=!0;for(;n;){r=xu(fn(lt(r,a=>a.CATEGORIES)));let i=sd(r,e);e=e.concat(i),Er(i)?n=!1:r=i}return e}function Art(t){Oe(t,e=>{GF(e)||(Y1e[W1e]=e,e.tokenTypeIdx=W1e++),H1e(e)&&!zt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),H1e(e)||(e.CATEGORIES=[]),Rrt(e)||(e.categoryMatches=[]),Lrt(e)||(e.categoryMatchesMap={})})}function _rt(t){Oe(t,e=>{e.categoryMatches=[],Oe(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(Y1e[n].tokenTypeIdx)})})}function Drt(t){Oe(t,e=>{j1e([],e)})}function j1e(t,e){Oe(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Oe(e.CATEGORIES,r=>{let n=t.concat(e);ci(n,r)||j1e(n,r)})}function GF(t){return Gt(t,"tokenTypeIdx")}function H1e(t){return Gt(t,"CATEGORIES")}function Rrt(t){return Gt(t,"categoryMatches")}function Lrt(t){return Gt(t,"categoryMatchesMap")}function X1e(t){return Gt(t,"tokenTypeIdx")}var W1e,Y1e,mm=O(()=>{"use strict";rr();o(Yh,"tokenStructuredMatcher");o(Ly,"tokenStructuredMatcherNoCategories");W1e=1,Y1e={};o(jh,"augmentTokenTypes");o(Crt,"expandCategories");o(Art,"assignTokenDefaultProps");o(_rt,"assignCategoriesTokensProp");o(Drt,"assignCategoriesMapProp");o(j1e,"singleAssignCategoriesToksMap");o(GF,"hasShortKeyProperty");o(H1e,"hasCategoriesProperty");o(Rrt,"hasExtendingTokensTypesProperty");o(Lrt,"hasExtendingTokensTypesMapProperty");o(X1e,"isTokenType")});var Ny,VF=O(()=>{"use strict";Ny={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var hi,FT,fi,BT=O(()=>{"use strict";FF();rr();Cy();mm();VF();o6();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(hi||(hi={}));FT={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Ny,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(FT);fi=class{static{o(this,"Lexer")}constructor(e,r=FT){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=IT(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=$a({},FT,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===FT.lineTerminatorsPattern)this.config.lineTerminatorsPattern=V1e;else if(this.config.lineTerminatorCharacters===FT.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),zt(e)?i={modes:{defaultMode:Tn(e)},defaultMode:Ry}:(a=!1,i=Tn(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(F1e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat($1e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Oe(i.modes,(l,u)=>{i.modes[u]=od(l,h=>Dr(h))});let s=nn(i.modes);if(Oe(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(B1e(l,s))}),Er(this.lexerDefinitionErrors)){jh(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=P1e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=$a({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Er(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=lt(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: -`+u)}Re(this.lexerDefinitionWarning,l=>{T4(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(SF?(this.chopInput=pa,this.match=this.matchWithTest):(this.updateLastIndex=yi,this.match=this.matchWithExec),a&&(this.handleModes=yi),this.trackStartLines===!1&&(this.computeNewColumn=pa),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=yi),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=un(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!Tr(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. +`+u)}Oe(this.lexerDefinitionWarning,l=>{MT(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(zF?(this.chopInput=va,this.match=this.matchWithTest):(this.updateLastIndex=ki,this.match=this.matchWithExec),a&&(this.handleModes=ki),this.trackStartLines===!1&&(this.computeNewColumn=va),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=ki),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=pn(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!Er(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Wge()}),this.TRACE_INIT("toFastProperties",()=>{k4(this)})})}tokenize(e,r=this.defaultMode){if(!Tr(this.lexerDefinitionErrors)){let i=it(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{D1e()}),this.TRACE_INIT("toFastProperties",()=>{OT(this)})})}tokenize(e,r=this.defaultMode){if(!Er(this.lexerDefinitionErrors)){let i=lt(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,l,u,h,f,d,p,m,g,y,v,x,b,T=e,E=T.length,w=0,k=0,C=this.hasCustom?0:Math.floor(e.length/10),D=new Array(C),R=[],O=this.trackStartLines?1:void 0,L=this.trackStartLines?1:void 0,S=r1e(this.emptyGroups),A=this.trackStartLines,_=this.config.lineTerminatorsPattern,N=0,M=[],P=[],B=[],F=[];Object.freeze(F);let G;function $(){return M}o($,"getPossiblePatternsSlow");function V(Z){let de=Ru(Z),re=P[de];return re===void 0?F:re}o(V,"getPossiblePatternsOptimized");let K=o(Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){let de=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);R.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:de})}else{B.pop();let de=ya(B);M=this.patternIdxToConfig[de],P=this.charCodeToPatternIdxToConfig[de],N=M.length;let re=this.canModeBeOptimized[de]&&this.config.safeMode===!1;P&&re?G=V:G=$}},"pop_mode");function ee(Z){B.push(Z),P=this.charCodeToPatternIdxToConfig[Z],M=this.patternIdxToConfig[Z],N=M.length,N=M.length;let de=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;P&&de?G=V:G=$}o(ee,"push_mode"),ee.call(this,r);let H,he=this.config.recoveryEnabled;for(;wu.length){u=s,h=f,H=le;break}}}break}}if(u!==null){if(d=u.length,p=H.group,p!==void 0&&(m=H.tokenTypeIdx,g=this.createTokenInstance(u,w,m,H.tokenType,O,L,d),this.handlePayload(g,h),p===!1?k=this.addToken(D,k,g):S[p].push(g)),e=this.chopInput(e,d),w=w+d,L=this.computeNewColumn(L,d),A===!0&&H.canLineTerminator===!0){let ne=0,te,Q;_.lastIndex=0;do te=_.test(u),te===!0&&(Q=_.lastIndex-1,ne++);while(te===!0);ne!==0&&(O=O+ne,L=d-Q,this.updateTokenEndLineColumnLocation(g,p,Q,ne,O,L,d))}this.handleModes(H,K,ee,g)}else{let ne=w,te=O,Q=L,le=he===!1;for(;le===!1&&w{"use strict";Kt();E4();fm();o(qh,"tokenLabel");o(AF,"hasTokenLabel");jet="parent",f1e="categories",d1e="label",p1e="group",m1e="push_mode",g1e="pop_mode",y1e="longer_alt",v1e="line_breaks",x1e="start_chars_hint";o(zd,"createToken");o(Xet,"createTokenInternal");Ho=zd({name:"EOF",pattern:li.NA});Vh([Ho]);o(Uh,"createTokenInstance");o(A4,"tokenMatcher")});var Wh,b1e,kc,Ey=I(()=>{"use strict";dm();Kt();Fs();Wh={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${AF(t)?`--> ${qh(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` -but found: '`+va(e).image+"'";if(n)return a+n+l;{let u=un(t,(p,m)=>p.concat(m),[]),h=it(u,p=>`[${it(p,m=>qh(m)).join(", ")}]`),d=`one of these possible Token sequences: -${it(h,(p,m)=>` ${m+1}. ${p}`).join(` +`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,l,u,h,f,d,p,m,g,y,v,x,b,T=e,E=T.length,w=0,k=0,S=this.hasCustom?0:Math.floor(e.length/10),A=new Array(S),L=[],I=this.trackStartLines?1:void 0,N=this.trackStartLines?1:void 0,C=z1e(this.emptyGroups),_=this.trackStartLines,D=this.config.lineTerminatorsPattern,M=0,R=[],P=[],B=[],F=[];Object.freeze(F);let G;function $(){return R}o($,"getPossiblePatternsSlow");function V(Y){let le=Bu(Y),ee=P[le];return ee===void 0?F:ee}o(V,"getPossiblePatternsOptimized");let X=o(Y=>{if(B.length===1&&Y.tokenType.PUSH_MODE===void 0){let le=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Y);L.push({offset:Y.startOffset,line:Y.startLine,column:Y.startColumn,length:Y.image.length,message:le})}else{B.pop();let le=ba(B);R=this.patternIdxToConfig[le],P=this.charCodeToPatternIdxToConfig[le],M=R.length;let ee=this.canModeBeOptimized[le]&&this.config.safeMode===!1;P&&ee?G=V:G=$}},"pop_mode");function Q(Y){B.push(Y),P=this.charCodeToPatternIdxToConfig[Y],R=this.patternIdxToConfig[Y],M=R.length,M=R.length;let le=this.canModeBeOptimized[Y]&&this.config.safeMode===!1;P&&le?G=V:G=$}o(Q,"push_mode"),Q.call(this,r);let H,ie=this.config.recoveryEnabled;for(;wu.length){u=s,h=f,H=xe;break}}}break}}if(u!==null){if(d=u.length,p=H.group,p!==void 0&&(m=H.tokenTypeIdx,g=this.createTokenInstance(u,w,m,H.tokenType,I,N,d),this.handlePayload(g,h),p===!1?k=this.addToken(A,k,g):C[p].push(g)),e=this.chopInput(e,d),w=w+d,N=this.computeNewColumn(N,d),_===!0&&H.canLineTerminator===!0){let J=0,te,Z;D.lastIndex=0;do te=D.test(u),te===!0&&(Z=D.lastIndex-1,J++);while(te===!0);J!==0&&(I=I+J,N=d-Z,this.updateTokenEndLineColumnLocation(g,p,Z,J,I,N,d))}this.handleModes(H,X,Q,g)}else{let J=w,te=I,Z=N,xe=ie===!1;for(;xe===!1&&w{"use strict";rr();BT();mm();o(Xh,"tokenLabel");o(qF,"hasTokenLabel");Nrt="parent",K1e="categories",Q1e="label",Z1e="group",J1e="push_mode",eye="pop_mode",tye="longer_alt",rye="line_breaks",nye="start_chars_hint";o(Ud,"createToken");o(Mrt,"createTokenInternal");el=Ud({name:"EOF",pattern:fi.NA});jh([el]);o(Kh,"createTokenInstance");o($T,"tokenMatcher")});var Qh,iye,Lc,My=O(()=>{"use strict";gm();rr();zs();Qh={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${qF(t)?`--> ${Xh(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` +but found: '`+Ta(e).image+"'";if(n)return a+n+l;{let u=pn(t,(p,m)=>p.concat(m),[]),h=lt(u,p=>`[${lt(p,m=>Xh(m)).join(", ")}]`),d=`one of these possible Token sequences: +${lt(h,(p,m)=>` ${m+1}. ${p}`).join(` `)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=` -but found: '`+va(e).image+"'";if(r)return i+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${it(t,h=>`[${it(h,f=>qh(f)).join(",")}]`).join(" ,")}>`;return i+u+s}}};Object.freeze(Wh);b1e={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+t.name+"<-"}},kc={buildDuplicateFoundError(t,e){function r(f){return f instanceof Pr?f.terminalType.name:f instanceof Tn?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let n=t.name,i=va(e),a=i.idx,s=vo(i),l=r(i),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} +but found: '`+Ta(e).image+"'";if(r)return i+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: + <${lt(t,h=>`[${lt(h,f=>Xh(f)).join(",")}]`).join(" ,")}>`;return i+u+s}}};Object.freeze(Qh);iye={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Lc={buildDuplicateFoundError(t,e){function r(f){return f instanceof Yr?f.terminalType.name:f instanceof Sn?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let n=t.name,i=Ta(e),a=i.idx,s=ko(i),l=r(i),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,` @@ -1133,110 +1142,110 @@ inside top level rule: ->`+t.name+"<-"}},kc={buildDuplicateFoundError(t,e){funct The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. To resolve this make sure each Terminal and Non-Terminal names are unique This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=it(t.prefixPath,i=>qh(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix +and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=lt(t.prefixPath,i=>Xh(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX -For Further details.`},buildAlternationAmbiguityError(t){let e=it(t.prefixPath,i=>qh(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, +For Further details.`},buildAlternationAmbiguityError(t){let e=lt(t.prefixPath,i=>Xh(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n},buildEmptyRepetitionError(t){let e=vo(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +For Further details.`,n},buildEmptyRepetitionError(t){let e=ko(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: inside <${t.topLevelRule.name}> Rule. - has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=it(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. + has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=lt(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ps?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function T1e(t,e){let r=new _F(t,e);return r.resolveRefs(),r.errors}var _F,w1e=I(()=>{"use strict";xo();Kt();Fs();o(T1e,"resolveGrammar");_F=class extends Bs{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Re(Rr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:na.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function r6(t,e,r=[]){r=yn(r);let n=[],i=0;function a(l){return l.concat(Ni(t,i+1))}o(a,"remainingPathWith");function s(l){let u=r6(a(l),e,r);return n.concat(u)}for(o(s,"getAlternativesForProd");r.length{Tr(u.definition)===!1&&(n=s(u.definition))}),n;if(l instanceof Pr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Ni(t,i)}),n}function n6(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Tr(d);){let p=d.pop();if(p===s){l&&ya(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(Tr(m))continue;let x=m[0];if(x===i){let b={idx:g,def:Ni(m),ruleStack:Ch(y),occurrenceStack:Ch(v)};d.push(b)}else if(x instanceof Pr)if(g=0;b--){let T=x.definition[b],E={idx:g,def:T.definition.concat(Ni(m)),ruleStack:y,occurrenceStack:v};d.push(E),d.push(s)}else if(x instanceof Un)d.push({idx:g,def:x.definition.concat(Ni(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof Ps)d.push(Ket(x,g,y,v));else throw Error("non exhaustive match")}return f}function Ket(t,e,r,n){let i=yn(r);i.push(t.name);let a=yn(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var DF,JC,Cy,e6,_4,t6,D4,R4=I(()=>{"use strict";Kt();gF();WC();Fs();DF=class extends zh{static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=yn(this.path.ruleStack).reverse(),this.occurrenceStack=yn(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Tr(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},JC=class extends DF{static{o(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new Un({definition:i});this.possibleTokTypes=um(a),this.found=!0}}},Cy=class extends zh{static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},e6=class extends Cy{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=va(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Pr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},_4=class extends Cy{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=va(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Pr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},t6=class extends Cy{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=va(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Pr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},D4=class extends Cy{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=va(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Pr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};o(r6,"possiblePathsFrom");o(n6,"nextPossibleTokensAfter");o(Ket,"expandTopLevelRule")});function L4(t){if(t instanceof wn||t==="Option")return ci.OPTION;if(t instanceof Kr||t==="Repetition")return ci.REPETITION;if(t instanceof Wn||t==="RepetitionMandatory")return ci.REPETITION_MANDATORY;if(t instanceof Hn||t==="RepetitionMandatoryWithSeparator")return ci.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Bn||t==="RepetitionWithSeparator")return ci.REPETITION_WITH_SEPARATOR;if(t instanceof Fn||t==="Alternation")return ci.ALTERNATION;throw Error("non exhaustive match")}function a6(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=L4(n);return a===ci.ALTERNATION?Ay(e,r,i):_y(e,r,a,i)}function S1e(t,e,r,n,i,a){let s=Ay(t,e,r),l=R1e(s)?ky:Gh;return a(s,n,l,i)}function E1e(t,e,r,n,i,a){let s=_y(t,e,i,r),l=R1e(s)?ky:Gh;return a(s[0],l,n)}function C1e(t,e,r,n){let i=t.length,a=rs(t,s=>rs(s,l=>l.length===1));if(e)return function(s){let l=it(s,u=>u.GATE);for(let u=0;uln(u)),l=un(s,(u,h,f)=>(Re(h,d=>{Gt(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Re(d.categoryMatches,p=>{Gt(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){let a=ln(t);if(a.length===1&&Tr(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=un(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Re(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;ar6([s],1)),n=k1e(r.length),i=it(r,s=>{let l={};return Re(s,u=>{let h=RF(u.partialPath);Re(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=k1e(l.length);for(let u=0;u{let x=RF(v.partialPath);Re(x,b=>{i[u][b]=!0})})}}}}return n}function Ay(t,e,r,n){let i=new i6(t,ci.ALTERNATION,n);return e.accept(i),_1e(i.result,r)}function _y(t,e,r,n){let i=new i6(t,r);e.accept(i);let a=i.result,l=new LF(e,t,r).startWalking(),u=new Un({definition:a}),h=new Un({definition:l});return _1e([u,h],n)}function s6(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function R1e(t){return rs(t,e=>rs(e,r=>rs(r,n=>Tr(n.categoryMatches))))}var ci,LF,i6,Dy=I(()=>{"use strict";Kt();R4();WC();fm();Fs();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ci||(ci={}));o(L4,"getProdType");o(a6,"getLookaheadPaths");o(S1e,"buildLookaheadFuncForOr");o(E1e,"buildLookaheadFuncForOptionalProd");o(C1e,"buildAlternativesLookAheadFunc");o(A1e,"buildSingleAlternativeLookaheadFunction");LF=class extends zh{static{o(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,ci.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,ci.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,ci.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,ci.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,ci.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},i6=class extends Bs{static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,ci.OPTION)}visitRepetition(e){this.checkIsTarget(e,ci.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,ci.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,ci.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,ci.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,ci.ALTERNATION)}};o(k1e,"initializeArrayOfArrays");o(RF,"pathToHashKeys");o(Qet,"isUniquePrefixHash");o(_1e,"lookAheadSequenceFromAlternatives");o(Ay,"getLookaheadPathsForOr");o(_y,"getLookaheadPathsForOptionalProd");o(s6,"containsPath");o(D1e,"isStrictPrefixOfPath");o(R1e,"areTokenCategoriesNotUsed")});function L1e(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return it(e,r=>Object.assign({type:na.CUSTOM_LOOKAHEAD_VALIDATION},r))}function N1e(t,e,r,n){let i=Ba(t,u=>Zet(u,r)),a=itt(t,e,r),s=Ba(t,u=>ttt(u,r)),l=Ba(t,u=>ett(u,t,n,r));return i.concat(a,s,l)}function Zet(t,e){let r=new NF;t.accept(r);let n=r.allProductions,i=iI(n,Jet),a=uo(i,l=>l.length>1);return it(Rr(a),l=>{let u=va(l),h=e.buildDuplicateFoundError(t,l),f=vo(u),d={message:h,type:na.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=M1e(u);return p&&(d.parameter=p),d})}function Jet(t){return`${vo(t)}_#_${t.idx}_#_${M1e(t)}`}function M1e(t){return t instanceof Pr?t.terminalType.name:t instanceof Tn?t.nonTerminalName:""}function ett(t,e,r,n){let i=[];if(un(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:na.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function I1e(t,e,r){let n=[],i;return ai(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:na.INVALID_RULE_OVERRIDE,ruleName:t})),n}function IF(t,e,r,n=[]){let i=[],a=o6(e.definition);if(Tr(a))return[];{let s=t.name;ai(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:na.LEFT_RECURSION,ruleName:s});let u=rd(a,n.concat([t])),h=Ba(u,f=>{let d=yn(n);return d.push(f),IF(t,f,r,d)});return i.concat(h)}}function o6(t){let e=[];if(Tr(t))return e;let r=va(t);if(r instanceof Tn)e.push(r.referencedRule);else if(r instanceof Un||r instanceof wn||r instanceof Wn||r instanceof Hn||r instanceof Bn||r instanceof Kr)e=e.concat(o6(r.definition));else if(r instanceof Fn)e=ln(it(r.definition,a=>o6(a.definition)));else if(!(r instanceof Pr))throw Error("non exhaustive match");let n=cm(r),i=t.length>1;if(n&&i){let a=Ni(t);return e.concat(o6(a))}else return e}function O1e(t,e){let r=new N4;t.accept(r);let n=r.alternations;return Ba(n,a=>{let s=Ch(a.definition);return Ba(s,(l,u)=>{let h=n6([l],[],Gh,1);return Tr(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:na.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function P1e(t,e,r){let n=new N4;t.accept(n);let i=n.alternations;return i=nd(i,s=>s.ignoreAmbiguities===!0),Ba(i,s=>{let l=s.idx,u=s.maxLookahead||e,h=Ay(l,t,u,s),f=rtt(h,s,t,r),d=ntt(h,s,t,r);return f.concat(d)})}function ttt(t,e){let r=new N4;t.accept(r);let n=r.alternations;return Ba(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:na.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function B1e(t,e,r){let n=[];return Re(t,i=>{let a=new MF;i.accept(a);let s=a.allProductions;Re(s,l=>{let u=L4(l),h=l.maxLookahead||e,f=l.idx,p=_y(f,i,u,h)[0];if(Tr(ln(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:na.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function rtt(t,e,r,n){let i=[],a=un(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Re(u,f=>{let d=[h];Re(t,(p,m)=>{h!==m&&s6(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!s6(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return it(a,l=>{let u=it(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:na.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function ntt(t,e,r,n){let i=un(t,(s,l,u)=>{let h=it(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return fu(Ba(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=cn(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:na.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function itt(t,e,r){let n=[],i=it(e,a=>a.name);return Re(t,a=>{let s=a.name;if(ai(i,s)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:na.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}var NF,N4,MF,M4=I(()=>{"use strict";Kt();xo();Fs();Dy();R4();fm();o(L1e,"validateLookahead");o(N1e,"validateGrammar");o(Zet,"validateDuplicateProductions");o(Jet,"identifyProductionForDuplicates");o(M1e,"getExtraProductionArgument");NF=class extends Bs{static{o(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};o(ett,"validateRuleDoesNotAlreadyExist");o(I1e,"validateRuleIsOverridden");o(IF,"validateNoLeftRecursion");o(o6,"getFirstNoneTerminal");N4=class extends Bs{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(O1e,"validateEmptyOrAlternative");o(P1e,"validateAmbiguousAlternationAlternatives");MF=class extends Bs{static{o(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};o(ttt,"validateTooManyAlts");o(B1e,"validateSomeNonEmptyLookaheadPath");o(rtt,"checkAlternativesAmbiguities");o(ntt,"checkPrefixAlternativesAmbiguities");o(itt,"checkTerminalAndNoneTerminalsNameSpace")});function F1e(t){let e=td(t,{errMsgProvider:b1e}),r={};return Re(t.rules,n=>{r[n.name]=n}),T1e(r,e.errMsgProvider)}function $1e(t){return t=td(t,{errMsgProvider:kc}),N1e(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var z1e=I(()=>{"use strict";Kt();w1e();M4();Ey();o(F1e,"resolveGrammar");o($1e,"validateGrammar")});function Gd(t){return ai(W1e,t.name)}var G1e,V1e,q1e,U1e,W1e,Ry,pm,I4,O4,P4,Ly=I(()=>{"use strict";Kt();G1e="MismatchedTokenException",V1e="NoViableAltException",q1e="EarlyExitException",U1e="NotAllInputParsedException",W1e=[G1e,V1e,q1e,U1e];Object.freeze(W1e);o(Gd,"isRecognitionException");Ry=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},pm=class extends Ry{static{o(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=G1e}},I4=class extends Ry{static{o(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=V1e}},O4=class extends Ry{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=U1e}},P4=class extends Ry{static{o(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=q1e}}});function att(t,e,r,n,i,a,s){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=Ho,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var OF,BF,PF,l6,FF=I(()=>{"use strict";dm();Kt();Ly();yF();xo();OF={},BF="InRuleRecoveryException",PF=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=BF}},l6=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Gt(e,"recoveryEnabled")?e.recoveryEnabled:$s.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=att)}getTokenToInsert(e){let r=Uh(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new pm(m,h,this.LA(0));g.resyncedTokens=Ch(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new PF("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Tr(r))return!1;let n=this.LA(1);return Ds(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return ai(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Ds(e,a=>A4(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return OF;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return it(e,(n,i)=>i===0?OF:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=it(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return ln(e)}getFollowSetFromFollowKey(e){if(e===OF)return[Ho];let r=e.ruleName+e.idxInCallingRule+HC+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Ho)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Ch(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=yn(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return it(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(att,"attemptInRepetitionRecovery")});function c6(t,e,r){return r|e|t}var u6=I(()=>{"use strict";o(c6,"getKeyForAutomaticLookahead")});var Hh,$F=I(()=>{"use strict";Kt();Ey();xo();M4();Dy();Hh=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:$s.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(Tr(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return Ba(e,r=>IF(r,r,kc))}validateEmptyOrAlternatives(e){return Ba(e,r=>O1e(r,kc))}validateAmbiguousAlternationAlternatives(e,r){return Ba(e,n=>P1e(n,r,kc))}validateSomeNonEmptyLookaheadPath(e,r){return B1e(e,r,kc)}buildLookaheadForAlternation(e){return S1e(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,C1e)}buildLookaheadForOptional(e){return E1e(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,L4(e.prodType),A1e)}}});function stt(t){h6.reset(),t.accept(h6);let e=h6.dslMethods;return h6.reset(),e}var f6,zF,h6,H1e=I(()=>{"use strict";Kt();xo();u6();Fs();$F();f6=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Gt(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:$s.dynamicTokensEnabled,this.maxLookahead=Gt(e,"maxLookahead")?e.maxLookahead:$s.maxLookahead,this.lookaheadStrategy=Gt(e,"lookaheadStrategy")?e.lookaheadStrategy:new Hh({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Re(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=stt(r);Re(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${vo(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=c6(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Re(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,vo(h))}),Re(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,vo(h))}),Re(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,vo(h))}),Re(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,vo(h))}),Re(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,vo(h))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=c6(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return c6(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},zF=class extends Bs{static{o(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},h6=new zF;o(stt,"collectMethods")});function qF(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o(qF,"setNodeLocationOnlyOffset");o(UF,"setNodeLocationFull");o(Y1e,"addTerminalToCst");o(j1e,"addNoneTerminalToCst")});function WF(t,e){Object.defineProperty(t,ott,{enumerable:!1,configurable:!0,writable:!1,value:e})}var ott,K1e=I(()=>{"use strict";ott="name";o(WF,"defineNameProp")});function ltt(t,e){let r=en(t),n=r.length;for(let i=0;is.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Fs?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function aye(t,e){let r=new UF(t,e);return r.resolveRefs(),r.errors}var UF,sye=O(()=>{"use strict";Eo();rr();zs();o(aye,"resolveGrammar");UF=class extends $s{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Oe(Gr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:la.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function m6(t,e,r=[]){r=Tn(r);let n=[],i=0;function a(l){return l.concat(Pi(t,i+1))}o(a,"remainingPathWith");function s(l){let u=m6(a(l),e,r);return n.concat(u)}for(o(s,"getAlternativesForProd");r.length{Er(u.definition)===!1&&(n=s(u.definition))}),n;if(l instanceof Yr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Pi(t,i)}),n}function g6(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Er(d);){let p=d.pop();if(p===s){l&&ba(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(Er(m))continue;let x=m[0];if(x===i){let b={idx:g,def:Pi(m),ruleStack:Nh(y),occurrenceStack:Nh(v)};d.push(b)}else if(x instanceof Yr)if(g=0;b--){let T=x.definition[b],E={idx:g,def:T.definition.concat(Pi(m)),ruleStack:y,occurrenceStack:v};d.push(E),d.push(s)}else if(x instanceof Yn)d.push({idx:g,def:x.definition.concat(Pi(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof Fs)d.push(Irt(x,g,y,v));else throw Error("non exhaustive match")}return f}function Irt(t,e,r,n){let i=Tn(r);i.push(t.name);let a=Tn(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var WF,f6,Iy,d6,zT,p6,GT,VT=O(()=>{"use strict";rr();NF();i6();zs();WF=class extends Hh{static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Tn(this.path.ruleStack).reverse(),this.occurrenceStack=Tn(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Er(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},f6=class extends WF{static{o(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new Yn({definition:i});this.possibleTokTypes=dm(a),this.found=!0}}},Iy=class extends Hh{static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},d6=class extends Iy{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=Ta(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Yr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},zT=class extends Iy{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=Ta(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Yr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},p6=class extends Iy{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=Ta(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Yr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},GT=class extends Iy{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=Ta(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Yr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};o(m6,"possiblePathsFrom");o(g6,"nextPossibleTokensAfter");o(Irt,"expandTopLevelRule")});function qT(t){if(t instanceof Cn||t==="Option")return di.OPTION;if(t instanceof Jr||t==="Repetition")return di.REPETITION;if(t instanceof jn||t==="RepetitionMandatory")return di.REPETITION_MANDATORY;if(t instanceof Xn||t==="RepetitionMandatoryWithSeparator")return di.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof zn||t==="RepetitionWithSeparator")return di.REPETITION_WITH_SEPARATOR;if(t instanceof Gn||t==="Alternation")return di.ALTERNATION;throw Error("non exhaustive match")}function v6(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=qT(n);return a===di.ALTERNATION?Oy(e,r,i):Py(e,r,a,i)}function lye(t,e,r,n,i,a){let s=Oy(t,e,r),l=pye(s)?Ly:Yh;return a(s,n,l,i)}function cye(t,e,r,n,i,a){let s=Py(t,e,i,r),l=pye(s)?Ly:Yh;return a(s[0],l,n)}function uye(t,e,r,n){let i=t.length,a=is(t,s=>is(s,l=>l.length===1));if(e)return function(s){let l=lt(s,u=>u.GATE);for(let u=0;ufn(u)),l=pn(s,(u,h,f)=>(Oe(h,d=>{Gt(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Oe(d.categoryMatches,p=>{Gt(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){let a=fn(t);if(a.length===1&&Er(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=pn(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Oe(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;am6([s],1)),n=oye(r.length),i=lt(r,s=>{let l={};return Oe(s,u=>{let h=HF(u.partialPath);Oe(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=oye(l.length);for(let u=0;u{let x=HF(v.partialPath);Oe(x,b=>{i[u][b]=!0})})}}}}return n}function Oy(t,e,r,n){let i=new y6(t,di.ALTERNATION,n);return e.accept(i),fye(i.result,r)}function Py(t,e,r,n){let i=new y6(t,r);e.accept(i);let a=i.result,l=new YF(e,t,r).startWalking(),u=new Yn({definition:a}),h=new Yn({definition:l});return fye([u,h],n)}function x6(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function pye(t){return is(t,e=>is(e,r=>is(r,n=>Er(n.categoryMatches))))}var di,YF,y6,By=O(()=>{"use strict";rr();VT();i6();mm();zs();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(di||(di={}));o(qT,"getProdType");o(v6,"getLookaheadPaths");o(lye,"buildLookaheadFuncForOr");o(cye,"buildLookaheadFuncForOptionalProd");o(uye,"buildAlternativesLookAheadFunc");o(hye,"buildSingleAlternativeLookaheadFunction");YF=class extends Hh{static{o(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,di.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,di.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,di.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,di.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,di.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},y6=class extends $s{static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,di.OPTION)}visitRepetition(e){this.checkIsTarget(e,di.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,di.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,di.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,di.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,di.ALTERNATION)}};o(oye,"initializeArrayOfArrays");o(HF,"pathToHashKeys");o(Ort,"isUniquePrefixHash");o(fye,"lookAheadSequenceFromAlternatives");o(Oy,"getLookaheadPathsForOr");o(Py,"getLookaheadPathsForOptionalProd");o(x6,"containsPath");o(dye,"isStrictPrefixOfPath");o(pye,"areTokenCategoriesNotUsed")});function mye(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return lt(e,r=>Object.assign({type:la.CUSTOM_LOOKAHEAD_VALIDATION},r))}function gye(t,e,r,n){let i=za(t,u=>Prt(u,r)),a=Vrt(t,e,r),s=za(t,u=>$rt(u,r)),l=za(t,u=>Frt(u,t,n,r));return i.concat(a,s,l)}function Prt(t,e){let r=new jF;t.accept(r);let n=r.allProductions,i=bI(n,Brt),a=go(i,l=>l.length>1);return lt(Gr(a),l=>{let u=Ta(l),h=e.buildDuplicateFoundError(t,l),f=ko(u),d={message:h,type:la.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=yye(u);return p&&(d.parameter=p),d})}function Brt(t){return`${ko(t)}_#_${t.idx}_#_${yye(t)}`}function yye(t){return t instanceof Yr?t.terminalType.name:t instanceof Sn?t.nonTerminalName:""}function Frt(t,e,r,n){let i=[];if(pn(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:la.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function vye(t,e,r){let n=[],i;return ci(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:la.INVALID_RULE_OVERRIDE,ruleName:t})),n}function KF(t,e,r,n=[]){let i=[],a=b6(e.definition);if(Er(a))return[];{let s=t.name;ci(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:la.LEFT_RECURSION,ruleName:s});let u=sd(a,n.concat([t])),h=za(u,f=>{let d=Tn(n);return d.push(f),KF(t,f,r,d)});return i.concat(h)}}function b6(t){let e=[];if(Er(t))return e;let r=Ta(t);if(r instanceof Sn)e.push(r.referencedRule);else if(r instanceof Yn||r instanceof Cn||r instanceof jn||r instanceof Xn||r instanceof zn||r instanceof Jr)e=e.concat(b6(r.definition));else if(r instanceof Gn)e=fn(lt(r.definition,a=>b6(a.definition)));else if(!(r instanceof Yr))throw Error("non exhaustive match");let n=fm(r),i=t.length>1;if(n&&i){let a=Pi(t);return e.concat(b6(a))}else return e}function xye(t,e){let r=new UT;t.accept(r);let n=r.alternations;return za(n,a=>{let s=Nh(a.definition);return za(s,(l,u)=>{let h=g6([l],[],Yh,1);return Er(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:la.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function bye(t,e,r){let n=new UT;t.accept(n);let i=n.alternations;return i=od(i,s=>s.ignoreAmbiguities===!0),za(i,s=>{let l=s.idx,u=s.maxLookahead||e,h=Oy(l,t,u,s),f=zrt(h,s,t,r),d=Grt(h,s,t,r);return f.concat(d)})}function $rt(t,e){let r=new UT;t.accept(r);let n=r.alternations;return za(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:la.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Tye(t,e,r){let n=[];return Oe(t,i=>{let a=new XF;i.accept(a);let s=a.allProductions;Oe(s,l=>{let u=qT(l),h=l.maxLookahead||e,f=l.idx,p=Py(f,i,u,h)[0];if(Er(fn(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:la.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function zrt(t,e,r,n){let i=[],a=pn(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Oe(u,f=>{let d=[h];Oe(t,(p,m)=>{h!==m&&x6(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!x6(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return lt(a,l=>{let u=lt(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:la.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function Grt(t,e,r,n){let i=pn(t,(s,l,u)=>{let h=lt(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return xu(za(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=dn(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:la.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function Vrt(t,e,r){let n=[],i=lt(e,a=>a.name);return Oe(t,a=>{let s=a.name;if(ci(i,s)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:la.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}var jF,UT,XF,WT=O(()=>{"use strict";rr();Eo();zs();By();VT();mm();o(mye,"validateLookahead");o(gye,"validateGrammar");o(Prt,"validateDuplicateProductions");o(Brt,"identifyProductionForDuplicates");o(yye,"getExtraProductionArgument");jF=class extends $s{static{o(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};o(Frt,"validateRuleDoesNotAlreadyExist");o(vye,"validateRuleIsOverridden");o(KF,"validateNoLeftRecursion");o(b6,"getFirstNoneTerminal");UT=class extends $s{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(xye,"validateEmptyOrAlternative");o(bye,"validateAmbiguousAlternationAlternatives");XF=class extends $s{static{o(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};o($rt,"validateTooManyAlts");o(Tye,"validateSomeNonEmptyLookaheadPath");o(zrt,"checkAlternativesAmbiguities");o(Grt,"checkPrefixAlternativesAmbiguities");o(Vrt,"checkTerminalAndNoneTerminalsNameSpace")});function wye(t){let e=ad(t,{errMsgProvider:iye}),r={};return Oe(t.rules,n=>{r[n.name]=n}),aye(r,e.errMsgProvider)}function kye(t){return t=ad(t,{errMsgProvider:Lc}),gye(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var Eye=O(()=>{"use strict";rr();sye();WT();My();o(wye,"resolveGrammar");o(kye,"validateGrammar")});function Wd(t){return ci(Dye,t.name)}var Sye,Cye,Aye,_ye,Dye,Fy,ym,HT,YT,jT,$y=O(()=>{"use strict";rr();Sye="MismatchedTokenException",Cye="NoViableAltException",Aye="EarlyExitException",_ye="NotAllInputParsedException",Dye=[Sye,Cye,Aye,_ye];Object.freeze(Dye);o(Wd,"isRecognitionException");Fy=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},ym=class extends Fy{static{o(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Sye}},HT=class extends Fy{static{o(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Cye}},YT=class extends Fy{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=_ye}},jT=class extends Fy{static{o(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Aye}}});function qrt(t,e,r,n,i,a,s){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=el,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var QF,JF,ZF,T6,e$=O(()=>{"use strict";gm();rr();$y();MF();Eo();QF={},JF="InRuleRecoveryException",ZF=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=JF}},T6=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Gt(e,"recoveryEnabled")?e.recoveryEnabled:Gs.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=qrt)}getTokenToInsert(e){let r=Kh(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new ym(m,h,this.LA(0));g.resyncedTokens=Nh(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new ZF("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Er(r))return!1;let n=this.LA(1);return Ls(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return ci(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Ls(e,a=>$T(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return QF;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return lt(e,(n,i)=>i===0?QF:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=lt(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return fn(e)}getFollowSetFromFollowKey(e){if(e===QF)return[el];let r=e.ruleName+e.idxInCallingRule+a6+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,el)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Nh(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=Tn(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return lt(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(qrt,"attemptInRepetitionRecovery")});function w6(t,e,r){return r|e|t}var k6=O(()=>{"use strict";o(w6,"getKeyForAutomaticLookahead")});var Zh,t$=O(()=>{"use strict";rr();My();Eo();WT();By();Zh=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Gs.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(Er(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return za(e,r=>KF(r,r,Lc))}validateEmptyOrAlternatives(e){return za(e,r=>xye(r,Lc))}validateAmbiguousAlternationAlternatives(e,r){return za(e,n=>bye(n,r,Lc))}validateSomeNonEmptyLookaheadPath(e,r){return Tye(e,r,Lc)}buildLookaheadForAlternation(e){return lye(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,uye)}buildLookaheadForOptional(e){return cye(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,qT(e.prodType),hye)}}});function Urt(t){E6.reset(),t.accept(E6);let e=E6.dslMethods;return E6.reset(),e}var S6,r$,E6,Rye=O(()=>{"use strict";rr();Eo();k6();zs();t$();S6=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Gt(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Gs.dynamicTokensEnabled,this.maxLookahead=Gt(e,"maxLookahead")?e.maxLookahead:Gs.maxLookahead,this.lookaheadStrategy=Gt(e,"lookaheadStrategy")?e.lookaheadStrategy:new Zh({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Oe(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=Urt(r);Oe(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${ko(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=w6(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Oe(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,ko(h))}),Oe(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,ko(h))}),Oe(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,ko(h))}),Oe(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,ko(h))}),Oe(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,ko(h))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=w6(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return w6(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},r$=class extends $s{static{o(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},E6=new r$;o(Urt,"collectMethods")});function a$(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o(a$,"setNodeLocationOnlyOffset");o(s$,"setNodeLocationFull");o(Lye,"addTerminalToCst");o(Nye,"addNoneTerminalToCst")});function o$(t,e){Object.defineProperty(t,Wrt,{enumerable:!1,configurable:!0,writable:!1,value:e})}var Wrt,Iye=O(()=>{"use strict";Wrt="name";o(o$,"defineNameProp")});function Hrt(t,e){let r=nn(t),n=r.length;for(let i=0;is.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` - `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Z1e(t,e,r){let n=o(function(){},"derivedConstructor");WF(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Re(e,a=>{i[a]=ltt}),n.prototype=i,n.prototype.constructor=n,n}function ctt(t,e){return utt(t,e)}function utt(t,e){let r=cn(e,i=>$i(t[i])===!1),n=it(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:HF.MISSING_METHOD,methodName:i}));return fu(n)}var HF,J1e=I(()=>{"use strict";Kt();K1e();o(ltt,"defaultVisit");o(Q1e,"createBaseSemanticVisitorConstructor");o(Z1e,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(HF||(HF={}));o(ctt,"validateVisitor");o(utt,"validateMissingCstMethods")});var g6,eye=I(()=>{"use strict";X1e();Kt();J1e();xo();g6=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Gt(e,"nodeLocationTracking")?e.nodeLocationTracking:$s.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=yi,this.cstFinallyStateUpdate=yi,this.cstPostTerminal=yi,this.cstPostNonTerminal=yi,this.cstPostRule=yi;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=UF,this.setNodeLocationFromNode=UF,this.cstPostRule=yi,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=yi,this.setNodeLocationFromNode=yi,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=qF,this.setNodeLocationFromNode=qF,this.cstPostRule=yi,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=yi,this.setNodeLocationFromNode=yi,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=yi,this.setNodeLocationFromNode=yi,this.cstPostRule=yi,this.setInitialNodeLocation=yi;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Y1e(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];j1e(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(Er(this.baseCstVisitorConstructor)){let e=Q1e(this.className,en(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Er(this.baseCstVisitorWithDefaultsConstructor)){let e=Z1e(this.className,en(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var y6,tye=I(()=>{"use strict";xo();y6=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Ny}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Ny:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var v6,rye=I(()=>{"use strict";Kt();Ly();xo();Ey();M4();Fs();v6=class{static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=My){if(ai(this.definedRulesNames,e)){let s={message:kc.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:na.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=My){let i=I1e(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Gd(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return qC(Rr(this.gastProductionsCache))}}});var x6,nye=I(()=>{"use strict";Kt();u6();Ly();Dy();R4();xo();FF();dm();fm();x6=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ky,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Gt(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Pye(t,e,r){let n=o(function(){},"derivedConstructor");o$(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Oe(e,a=>{i[a]=Hrt}),n.prototype=i,n.prototype.constructor=n,n}function Yrt(t,e){return jrt(t,e)}function jrt(t,e){let r=dn(e,i=>Vi(t[i])===!1),n=lt(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:l$.MISSING_METHOD,methodName:i}));return xu(n)}var l$,Bye=O(()=>{"use strict";rr();Iye();o(Hrt,"defaultVisit");o(Oye,"createBaseSemanticVisitorConstructor");o(Pye,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(l$||(l$={}));o(Yrt,"validateVisitor");o(jrt,"validateMissingCstMethods")});var D6,Fye=O(()=>{"use strict";Mye();rr();Bye();Eo();D6=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Gt(e,"nodeLocationTracking")?e.nodeLocationTracking:Gs.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ki,this.cstFinallyStateUpdate=ki,this.cstPostTerminal=ki,this.cstPostNonTerminal=ki,this.cstPostRule=ki;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=s$,this.setNodeLocationFromNode=s$,this.cstPostRule=ki,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ki,this.setNodeLocationFromNode=ki,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=a$,this.setNodeLocationFromNode=a$,this.cstPostRule=ki,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ki,this.setNodeLocationFromNode=ki,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ki,this.setNodeLocationFromNode=ki,this.cstPostRule=ki,this.setInitialNodeLocation=ki;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Lye(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Nye(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(Dr(this.baseCstVisitorConstructor)){let e=Oye(this.className,nn(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Dr(this.baseCstVisitorWithDefaultsConstructor)){let e=Pye(this.className,nn(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var R6,$ye=O(()=>{"use strict";Eo();R6=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):zy}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?zy:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var L6,zye=O(()=>{"use strict";rr();$y();Eo();My();WT();zs();L6=class{static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Gy){if(ci(this.definedRulesNames,e)){let s={message:Lc.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:la.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Gy){let i=vye(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Wd(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return r6(Gr(this.gastProductionsCache))}}});var N6,Gye=O(()=>{"use strict";rr();k6();$y();By();VT();Eo();e$();gm();mm();N6=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ly,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Gt(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 - For Further details.`);if(zt(e)){if(Tr(e))throw Error(`A Token Vocabulary cannot be empty. + For Further details.`);if(zt(e)){if(Er(e))throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if(zt(e))this.tokensMap=un(e,(a,s)=>(a[s.name]=s,a),{});else if(Gt(e,"modes")&&rs(ln(Rr(e.modes)),h1e)){let a=ln(Rr(e.modes)),s=_1(a);this.tokensMap=un(s,(l,u)=>(l[u.name]=u,l),{})}else if(In(e))this.tokensMap=yn(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Ho;let n=Gt(e,"modes")?ln(Rr(e.modes)):Rr(e),i=rs(n,a=>Tr(a.categoryMatches));this.tokenMatcher=i?ky:Gh,Vh(Rr(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Gt(n,"resyncEnabled")?n.resyncEnabled:My.resyncEnabled,a=Gt(n,"recoveryValueFunc")?n.recoveryValueFunc:My.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Gd(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ci.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,t6)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,D4],l,1536,e,D4)}else throw this.raiseEarlyExitException(e,ci.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,e6,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,_4],l,1280,e,_4)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=zt(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new O4(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw Gd(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new pm(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===BF?n:a}}else throw n}saveRecogState(){let e=this.errors,r=yn(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Ho)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var b6,iye=I(()=>{"use strict";Ly();Kt();Dy();xo();b6=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Gt(e,"errorMessageProvider")?e.errorMessageProvider:$s.errorMessageProvider}SAVE_ERROR(e){if(Gd(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:yn(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return yn(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=_y(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new P4(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=Ay(e,i,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new I4(u,this.LA(1),l))}}});var T6,aye=I(()=>{"use strict";R4();Kt();T6=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(Er(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return n6([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=va(e.ruleStack),i=this.getGAstProductions()[r];return new JC(i,e).startWalking()}}});function F4(t,e,r,n=!1){k6(r);let i=ya(this.recordingProdStack),a=$i(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Gt(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),S6}function dtt(t,e){k6(e);let r=ya(this.recordingProdStack),n=zt(t)===!1,i=n===!1?t:t.DEF,a=new Fn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Gt(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=ub(i,l=>$i(l.GATE));return a.hasPredicates=s,r.definition.push(a),Re(i,l=>{let u=new Un({definition:[]});a.definition.push(u),Gt(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Gt(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),S6}function lye(t){return t===0?"":`${t}`}function k6(t){if(t<0||t>oye){let e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${oye+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var S6,sye,oye,cye,uye,ftt,w6,hye=I(()=>{"use strict";Kt();Fs();E4();fm();dm();xo();u6();S6={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(S6);sye=!0,oye=Math.pow(2,8)-1,cye=zd({name:"RECORDING_PHASE_TOKEN",pattern:li.NA});Vh([cye]);uye=Uh(cye,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(uye);ftt={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},w6=class{static{o(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Ny}topLevelRuleRecord(e,r){try{let n=new Ps({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if(zt(e))this.tokensMap=pn(e,(a,s)=>(a[s.name]=s,a),{});else if(Gt(e,"modes")&&is(fn(Gr(e.modes)),X1e)){let a=fn(Gr(e.modes)),s=P1(a);this.tokensMap=pn(s,(l,u)=>(l[u.name]=u,l),{})}else if(On(e))this.tokensMap=Tn(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=el;let n=Gt(e,"modes")?fn(Gr(e.modes)):Gr(e),i=is(n,a=>Er(a.categoryMatches));this.tokenMatcher=i?Ly:Yh,jh(Gr(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Gt(n,"resyncEnabled")?n.resyncEnabled:Gy.resyncEnabled,a=Gt(n,"recoveryValueFunc")?n.recoveryValueFunc:Gy.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Wd(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,di.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,p6)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,GT],l,1536,e,GT)}else throw this.raiseEarlyExitException(e,di.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,d6,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,zT],l,1280,e,zT)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=zt(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new YT(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw Wd(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ym(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===JF?n:a}}else throw n}saveRecogState(){let e=this.errors,r=Tn(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),el)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var M6,Vye=O(()=>{"use strict";$y();rr();By();Eo();M6=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Gt(e,"errorMessageProvider")?e.errorMessageProvider:Gs.errorMessageProvider}SAVE_ERROR(e){if(Wd(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Tn(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Tn(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=Py(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new jT(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=Oy(e,i,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new HT(u,this.LA(1),l))}}});var I6,qye=O(()=>{"use strict";VT();rr();I6=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(Dr(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return g6([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=Ta(e.ruleStack),i=this.getGAstProductions()[r];return new f6(i,e).startWalking()}}});function KT(t,e,r,n=!1){P6(r);let i=ba(this.recordingProdStack),a=Vi(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Gt(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),B6}function Qrt(t,e){P6(e);let r=ba(this.recordingProdStack),n=zt(t)===!1,i=n===!1?t:t.DEF,a=new Gn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Gt(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=wb(i,l=>Vi(l.GATE));return a.hasPredicates=s,r.definition.push(a),Oe(i,l=>{let u=new Yn({definition:[]});a.definition.push(u),Gt(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Gt(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),B6}function Hye(t){return t===0?"":`${t}`}function P6(t){if(t<0||t>Wye){let e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${Wye+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var B6,Uye,Wye,Yye,jye,Krt,O6,Xye=O(()=>{"use strict";rr();zs();BT();mm();gm();Eo();k6();B6={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(B6);Uye=!0,Wye=Math.pow(2,8)-1,Yye=Ud({name:"RECORDING_PHASE_TOKEN",pattern:fi.NA});jh([Yye]);jye=Kh(Yye,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(jye);Krt={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},O6=class{static{o(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return zy}topLevelRuleRecord(e,r){try{let n=new Fs({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return F4.call(this,wn,e,r)}atLeastOneInternalRecord(e,r){F4.call(this,Wn,r,e)}atLeastOneSepFirstInternalRecord(e,r){F4.call(this,Hn,r,e,sye)}manyInternalRecord(e,r){F4.call(this,Kr,r,e)}manySepFirstInternalRecord(e,r){F4.call(this,Bn,r,e,sye)}orInternalRecord(e,r){return dtt.call(this,e,r)}subruleInternalRecord(e,r,n){if(k6(r),!e||Gt(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=ya(this.recordingProdStack),a=e.ruleName,s=new Tn({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?ftt:S6}consumeInternalRecord(e,r,n){if(k6(r),!EF(e)){let s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=ya(this.recordingProdStack),a=new Pr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),uye}};o(F4,"recordProd");o(dtt,"recordOrProd");o(lye,"getIdxSuffix");o(k6,"assertMethodIdxIsValid")});var E6,fye=I(()=>{"use strict";Kt();vy();xo();E6=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(Gt(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=$s.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=w4(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function dye(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var pye=I(()=>{"use strict";o(dye,"applyMixins")});function C6(t=void 0){return function(){return t}}var Ny,$s,My,na,$4,z4,xo=I(()=>{"use strict";Kt();vy();Uge();dm();Ey();z1e();FF();H1e();eye();tye();rye();nye();iye();aye();hye();fye();pye();M4();Ny=Uh(Ho,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ny);$s=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Wh,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),My=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(na||(na={}));o(C6,"EMPTY_ALT");$4=class t{static{o(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{k4(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Re(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=F1e({rules:Rr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Tr(n)&&this.skipValidations===!1){let i=$1e({rules:Rr(this.gastProductionsCache),tokenTypes:Rr(this.tokensMap),errMsgProvider:kc,grammarName:r}),a=L1e({lookaheadStrategy:this.lookaheadStrategy,rules:Rr(this.gastProductionsCache),tokenTypes:Rr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Tr(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=qge(Rr(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Rr(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Rr(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!Tr(this.definitionErrors))throw e=it(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return KT.call(this,Cn,e,r)}atLeastOneInternalRecord(e,r){KT.call(this,jn,r,e)}atLeastOneSepFirstInternalRecord(e,r){KT.call(this,Xn,r,e,Uye)}manyInternalRecord(e,r){KT.call(this,Jr,r,e)}manySepFirstInternalRecord(e,r){KT.call(this,zn,r,e,Uye)}orInternalRecord(e,r){return Qrt.call(this,e,r)}subruleInternalRecord(e,r,n){if(P6(r),!e||Gt(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=ba(this.recordingProdStack),a=e.ruleName,s=new Sn({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?Krt:B6}consumeInternalRecord(e,r,n){if(P6(r),!GF(e)){let s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=ba(this.recordingProdStack),a=new Yr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),jye}};o(KT,"recordProd");o(Qrt,"recordOrProd");o(Hye,"getIdxSuffix");o(P6,"assertMethodIdxIsValid")});var F6,Kye=O(()=>{"use strict";rr();Cy();Eo();F6=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(Gt(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Gs.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=IT(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function Qye(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var Zye=O(()=>{"use strict";o(Qye,"applyMixins")});function $6(t=void 0){return function(){return t}}var zy,Gs,Gy,la,QT,ZT,Eo=O(()=>{"use strict";rr();Cy();_1e();gm();My();Eye();e$();Rye();Fye();$ye();zye();Gye();Vye();qye();Xye();Kye();Zye();WT();zy=Kh(el,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(zy);Gs=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Qh,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Gy=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(la||(la={}));o($6,"EMPTY_ALT");QT=class t{static{o(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{OT(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Oe(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=wye({rules:Gr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Er(n)&&this.skipValidations===!1){let i=kye({rules:Gr(this.gastProductionsCache),tokenTypes:Gr(this.tokensMap),errMsgProvider:Lc,grammarName:r}),a=mye({lookaheadStrategy:this.lookaheadStrategy,rules:Gr(this.gastProductionsCache),tokenTypes:Gr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Er(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=A1e(Gr(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Gr(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Gr(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!Er(this.definitionErrors))throw e=lt(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),Gt(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Gt(r,"skipValidations")?r.skipValidations:$s.skipValidations}};$4.DEFER_DEFINITION_ERRORS_HANDLING=!1;dye($4,[l6,f6,g6,y6,x6,v6,b6,T6,w6,E6]);z4=class extends $4{static{o(this,"EmbeddedActionsParser")}constructor(e,r=$s){let n=yn(r);n.outputCst=!1,super(e,n)}}});var mye=I(()=>{"use strict";Fs()});var gye=I(()=>{"use strict"});var yye=I(()=>{"use strict";mye();gye()});var vye=I(()=>{"use strict";dF()});var Vd=I(()=>{"use strict";dF();xo();E4();dm();Dy();$F();Ey();Ly();CF();Fs();Fs();yye();vye()});function mm(t,e,r){return`${t.name}_${e}_${r}`}function wye(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};btt(e,t);let r=t.length;for(let n=0;nkye(t,e,s));return By(t,e,n,r,...i)}function Ctt(t,e,r){let n=ka(t,e,r,{type:qd});Ud(t,n);let i=By(t,e,n,r,gm(t,e,r));return Att(t,e,r,i)}function gm(t,e,r){let n=cn(it(r.definition,i=>kye(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Dtt(t,n)}function Sye(t,e,r,n,i){let a=n.left,s=n.right,l=ka(t,e,r,{type:xtt});Ud(t,l);let u=ka(t,e,r,{type:Tye});return a.loopback=l,u.loopback=l,t.decisionMap[mm(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,qi(s,l),i===void 0?(qi(l,a),qi(l,u)):(qi(l,u),qi(l,i.left),qi(i.right,a)),{left:a,right:u}}function Eye(t,e,r,n,i){let a=n.left,s=n.right,l=ka(t,e,r,{type:vtt});Ud(t,l);let u=ka(t,e,r,{type:Tye}),h=ka(t,e,r,{type:ytt});return l.loopback=h,u.loopback=h,qi(l,a),qi(l,u),qi(s,h),i!==void 0?(qi(h,u),qi(h,i.left),qi(i.right,a)):qi(h,l),t.decisionMap[mm(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function Att(t,e,r,n){let i=n.left,a=n.right;return qi(i,a),t.decisionMap[mm(e,"Option",r.idx)]=i,n}function Ud(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function By(t,e,r,n,...i){let a=ka(t,e,n,{type:gtt,start:r});r.end=a;for(let l of i)l!==void 0?(qi(r,l.left),qi(l.right,a)):qi(r,a);let s={left:r,right:a};return t.decisionMap[mm(e,_tt(n),n.idx)]=r,s}function _tt(t){if(t instanceof Fn)return"Alternation";if(t instanceof wn)return"Option";if(t instanceof Kr)return"Repetition";if(t instanceof Bn)return"RepetitionWithSeparator";if(t instanceof Wn)return"RepetitionMandatory";if(t instanceof Hn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Dtt(t,e){let r=e.length;for(let a=0;a{"use strict";E1();JM();Vd();o(mm,"buildATNKey");qd=1,mtt=2,xye=4,bye=5,Py=7,gtt=8,ytt=9,vtt=10,xtt=11,Tye=12,G4=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Iy=class extends G4{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},V4=class extends G4{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},Oy=class extends G4{static{o(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};o(wye,"createATN");o(btt,"createRuleStartAndStopATNStates");o(kye,"atom");o(Ttt,"repetition");o(wtt,"repetitionSep");o(ktt,"repetitionMandatory");o(Stt,"repetitionMandatorySep");o(Ett,"alternation");o(Ctt,"option");o(gm,"block");o(Sye,"plus");o(Eye,"star");o(Att,"optional");o(Ud,"defineDecisionState");o(By,"makeAlts");o(_tt,"getProdType");o(Dtt,"makeBlock");o(jF,"tokenRef");o(Rtt,"ruleRef");o(Ltt,"buildRuleHandle");o(qi,"epsilon");o(ka,"newState");o(XF,"addTransition");o(Ntt,"removeState")});function KF(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var q4,Fy,Aye=I(()=>{"use strict";E1();q4={},Fy=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=KF(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return it(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(KF,"getATNConfigKey")});function Mtt(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function Dye(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function Itt(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nqh(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${$tt(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Gt(r,"skipValidations")?r.skipValidations:Gs.skipValidations}};QT.DEFER_DEFINITION_ERRORS_HANDLING=!1;Qye(QT,[T6,S6,D6,R6,N6,L6,M6,I6,O6,F6]);ZT=class extends QT{static{o(this,"EmbeddedActionsParser")}constructor(e,r=Gs){let n=Tn(r);n.outputCst=!1,super(e,n)}}});var Jye=O(()=>{"use strict";zs()});var eve=O(()=>{"use strict"});var tve=O(()=>{"use strict";Jye();eve()});var rve=O(()=>{"use strict";DF()});var Hd=O(()=>{"use strict";DF();Eo();BT();gm();By();t$();My();$y();VF();zs();zs();tve();rve()});function vm(t,e,r){return`${t.name}_${e}_${r}`}function sve(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};int(e,t);let r=t.length;for(let n=0;nove(t,e,s));return Wy(t,e,n,r,...i)}function unt(t,e,r){let n=Ca(t,e,r,{type:Yd});jd(t,n);let i=Wy(t,e,n,r,xm(t,e,r));return hnt(t,e,r,i)}function xm(t,e,r){let n=dn(lt(r.definition,i=>ove(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:dnt(t,n)}function lve(t,e,r,n,i){let a=n.left,s=n.right,l=Ca(t,e,r,{type:nnt});jd(t,l);let u=Ca(t,e,r,{type:ave});return a.loopback=l,u.loopback=l,t.decisionMap[vm(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,Hi(s,l),i===void 0?(Hi(l,a),Hi(l,u)):(Hi(l,u),Hi(l,i.left),Hi(i.right,a)),{left:a,right:u}}function cve(t,e,r,n,i){let a=n.left,s=n.right,l=Ca(t,e,r,{type:rnt});jd(t,l);let u=Ca(t,e,r,{type:ave}),h=Ca(t,e,r,{type:tnt});return l.loopback=h,u.loopback=h,Hi(l,a),Hi(l,u),Hi(s,h),i!==void 0?(Hi(h,u),Hi(h,i.left),Hi(i.right,a)):Hi(h,l),t.decisionMap[vm(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function hnt(t,e,r,n){let i=n.left,a=n.right;return Hi(i,a),t.decisionMap[vm(e,"Option",r.idx)]=i,n}function jd(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Wy(t,e,r,n,...i){let a=Ca(t,e,n,{type:ent,start:r});r.end=a;for(let l of i)l!==void 0?(Hi(r,l.left),Hi(l.right,a)):Hi(r,a);let s={left:r,right:a};return t.decisionMap[vm(e,fnt(n),n.idx)]=r,s}function fnt(t){if(t instanceof Gn)return"Alternation";if(t instanceof Cn)return"Option";if(t instanceof Jr)return"Repetition";if(t instanceof zn)return"RepetitionWithSeparator";if(t instanceof jn)return"RepetitionMandatory";if(t instanceof Xn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function dnt(t,e){let r=e.length;for(let a=0;a{"use strict";M1();mI();Hd();o(vm,"buildATNKey");Yd=1,Jrt=2,nve=4,ive=5,Uy=7,ent=8,tnt=9,rnt=10,nnt=11,ave=12,JT=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Vy=class extends JT{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},e4=class extends JT{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},qy=class extends JT{static{o(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};o(sve,"createATN");o(int,"createRuleStartAndStopATNStates");o(ove,"atom");o(ant,"repetition");o(snt,"repetitionSep");o(ont,"repetitionMandatory");o(lnt,"repetitionMandatorySep");o(cnt,"alternation");o(unt,"option");o(xm,"block");o(lve,"plus");o(cve,"star");o(hnt,"optional");o(jd,"defineDecisionState");o(Wy,"makeAlts");o(fnt,"getProdType");o(dnt,"makeBlock");o(u$,"tokenRef");o(pnt,"ruleRef");o(mnt,"buildRuleHandle");o(Hi,"epsilon");o(Ca,"newState");o(h$,"addTransition");o(gnt,"removeState")});function f$(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var t4,Hy,hve=O(()=>{"use strict";M1();t4={},Hy=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=f$(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return lt(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(f$,"getATNConfigKey")});function ynt(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function dve(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function vnt(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nXh(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${knt(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function $tt(t){if(t instanceof Tn)return"SUBRULE";if(t instanceof wn)return"OPTION";if(t instanceof Fn)return"OR";if(t instanceof Wn)return"AT_LEAST_ONE";if(t instanceof Hn)return"AT_LEAST_ONE_SEP";if(t instanceof Bn)return"MANY_SEP";if(t instanceof Kr)return"MANY";if(t instanceof Pr)return"CONSUME";throw Error("non exhaustive match")}function ztt(t,e,r){let n=Ba(e.configs.elements,a=>a.state.transitions),i=Rue(n.filter(a=>a instanceof Iy).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Gtt(t,e){return t.edges[e.tokenTypeIdx]}function Vtt(t,e,r){let n=new Fy,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Py){i.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!Ytt(a))for(let s of i)a.add(s);return a}function qtt(t,e){if(t instanceof Iy&&A4(e,t.tokenType))return t.target}function Utt(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Lye(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Rye(t,e,r,n){return n=Nye(t,n),e.edges[r.tokenTypeIdx]=n,n}function Nye(t,e){if(e===q4)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Wtt(t){let e=new Fy,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};_6(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Ztt(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var A6,_ye,U4,Mye=I(()=>{"use strict";Vd();Cye();Aye();oI();tI();Lue();E1();pS();qS();jS();hI();o(Mtt,"createDFACache");A6=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=wye(e.rules),this.dfas=Itt(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=mm(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=it(a6({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>it(p,m=>m[0]));if(Dye(d,!1)&&!a){let p=un(d,(m,g,y)=>(Re(g,v=>{v&&(m[v.tokenTypeIdx]=y,Re(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new A6,g=p===void 0?0:p.length;for(let v=0;vit(p,m=>m[0]));if(Dye(d)&&d[0][0]&&!a){let p=d[0],m=ln(p);if(m.length===1&&Tr(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=un(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Re(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=QF.call(this,s,f,_ye,l);return typeof p=="object"?!1:p===0}}};o(Dye,"isLL1Sequence");o(Itt,"initATNSimulator");o(QF,"adaptivePredict");o(Ott,"performLookahead");o(Ptt,"computeLookaheadTarget");o(Btt,"reportLookaheadAmbiguity");o(Ftt,"buildAmbiguityError");o($tt,"getProductionDslName");o(ztt,"buildAdaptivePredictError");o(Gtt,"getExistingTargetState");o(Vtt,"computeReachSet");o(qtt,"getReachableTarget");o(Utt,"getUniqueAlt");o(Lye,"newDFAState");o(Rye,"addDFAEdge");o(Nye,"addDFAState");o(Wtt,"computeStartState");o(_6,"closure");o(Htt,"getEpsilonTarget");o(Ytt,"hasConfigInRuleStopState");o(jtt,"allConfigsInRuleStopStates");o(Xtt,"hasConflictTerminatingPrediction");o(Ktt,"getConflictingAltSets");o(Qtt,"hasConflictingAltSet");o(Ztt,"hasStateAssociatedWithOneAlt")});var Iye=I(()=>{"use strict";Mye()});var B6={};vr(B6,{AnnotatedTextEdit:()=>Yh,ChangeAnnotation:()=>ym,ChangeAnnotationIdentifier:()=>Va,CodeAction:()=>N$,CodeActionContext:()=>L$,CodeActionKind:()=>R$,CodeActionTriggerKind:()=>Q4,CodeDescription:()=>o$,CodeLens:()=>M$,Color:()=>R6,ColorInformation:()=>t$,ColorPresentation:()=>r$,Command:()=>vm,CompletionItem:()=>v$,CompletionItemKind:()=>f$,CompletionItemLabelDetails:()=>y$,CompletionItemTag:()=>p$,CompletionList:()=>x$,CreateFile:()=>zy,DeleteFile:()=>Vy,Diagnostic:()=>Y4,DiagnosticRelatedInformation:()=>L6,DiagnosticSeverity:()=>a$,DiagnosticTag:()=>s$,DocumentHighlight:()=>S$,DocumentHighlightKind:()=>k$,DocumentLink:()=>O$,DocumentSymbol:()=>D$,DocumentUri:()=>ZF,EOL:()=>Jtt,FoldingRange:()=>i$,FoldingRangeKind:()=>n$,FormattingOptions:()=>I$,Hover:()=>b$,InlayHint:()=>U$,InlayHintKind:()=>O6,InlayHintLabelPart:()=>P6,InlineCompletionContext:()=>K$,InlineCompletionItem:()=>H$,InlineCompletionList:()=>Y$,InlineCompletionTriggerKind:()=>j$,InlineValueContext:()=>q$,InlineValueEvaluatableExpression:()=>V$,InlineValueText:()=>z$,InlineValueVariableLookup:()=>G$,InsertReplaceEdit:()=>m$,InsertTextFormat:()=>d$,InsertTextMode:()=>g$,Location:()=>H4,LocationLink:()=>e$,MarkedString:()=>K4,MarkupContent:()=>qy,MarkupKind:()=>I6,OptionalVersionedTextDocumentIdentifier:()=>X4,ParameterInformation:()=>T$,Position:()=>nn,Range:()=>Yr,RenameFile:()=>Gy,SelectedCompletionInfo:()=>X$,SelectionRange:()=>P$,SemanticTokenModifiers:()=>F$,SemanticTokenTypes:()=>B$,SemanticTokens:()=>$$,SignatureInformation:()=>w$,StringValue:()=>W$,SymbolInformation:()=>A$,SymbolKind:()=>E$,SymbolTag:()=>C$,TextDocument:()=>Z$,TextDocumentEdit:()=>j4,TextDocumentIdentifier:()=>c$,TextDocumentItem:()=>h$,TextEdit:()=>Lu,URI:()=>D6,VersionedTextDocumentIdentifier:()=>u$,WorkspaceChange:()=>l$,WorkspaceEdit:()=>N6,WorkspaceFolder:()=>Q$,WorkspaceSymbol:()=>_$,integer:()=>JF,uinteger:()=>W4});var ZF,D6,JF,W4,nn,Yr,H4,e$,R6,t$,r$,n$,i$,L6,a$,s$,o$,Y4,vm,Lu,ym,Va,Yh,j4,zy,Gy,Vy,N6,$y,M6,l$,c$,u$,X4,h$,I6,qy,f$,d$,p$,m$,g$,y$,v$,x$,K4,b$,T$,w$,k$,S$,E$,C$,A$,_$,D$,R$,Q4,L$,N$,M$,I$,O$,P$,B$,F$,$$,z$,G$,V$,q$,O6,P6,U$,W$,H$,Y$,j$,X$,K$,Q$,Jtt,Z$,J$,qe,Uy=I(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(ZF||(ZF={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(D6||(D6={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(JF||(JF={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(W4||(W4={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=W4.MAX_VALUE),i===Number.MAX_VALUE&&(i=W4.MAX_VALUE),{line:n,character:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.uinteger(i.line)&&qe.uinteger(i.character)}o(r,"is"),t.is=r})(nn||(nn={}));(function(t){function e(n,i,a,s){if(qe.uinteger(n)&&qe.uinteger(i)&&qe.uinteger(a)&&qe.uinteger(s))return{start:nn.create(n,i),end:nn.create(a,s)};if(nn.is(n)&&nn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&nn.is(i.start)&&nn.is(i.end)}o(r,"is"),t.is=r})(Yr||(Yr={}));(function(t){function e(n,i){return{uri:n,range:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&Yr.is(i.range)&&(qe.string(i.uri)||qe.undefined(i.uri))}o(r,"is"),t.is=r})(H4||(H4={}));(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&Yr.is(i.targetRange)&&qe.string(i.targetUri)&&Yr.is(i.targetSelectionRange)&&(Yr.is(i.originSelectionRange)||qe.undefined(i.originSelectionRange))}o(r,"is"),t.is=r})(e$||(e$={}));(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.numberRange(i.red,0,1)&&qe.numberRange(i.green,0,1)&&qe.numberRange(i.blue,0,1)&&qe.numberRange(i.alpha,0,1)}o(r,"is"),t.is=r})(R6||(R6={}));(function(t){function e(n,i){return{range:n,color:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&Yr.is(i.range)&&R6.is(i.color)}o(r,"is"),t.is=r})(t$||(t$={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.string(i.label)&&(qe.undefined(i.textEdit)||Lu.is(i))&&(qe.undefined(i.additionalTextEdits)||qe.typedArray(i.additionalTextEdits,Lu.is))}o(r,"is"),t.is=r})(r$||(r$={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(n$||(n$={}));(function(t){function e(n,i,a,s,l,u){let h={startLine:n,endLine:i};return qe.defined(a)&&(h.startCharacter=a),qe.defined(s)&&(h.endCharacter=s),qe.defined(l)&&(h.kind=l),qe.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.uinteger(i.startLine)&&qe.uinteger(i.startLine)&&(qe.undefined(i.startCharacter)||qe.uinteger(i.startCharacter))&&(qe.undefined(i.endCharacter)||qe.uinteger(i.endCharacter))&&(qe.undefined(i.kind)||qe.string(i.kind))}o(r,"is"),t.is=r})(i$||(i$={}));(function(t){function e(n,i){return{location:n,message:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&H4.is(i.location)&&qe.string(i.message)}o(r,"is"),t.is=r})(L6||(L6={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(a$||(a$={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(s$||(s$={}));(function(t){function e(r){let n=r;return qe.objectLiteral(n)&&qe.string(n.href)}o(e,"is"),t.is=e})(o$||(o$={}));(function(t){function e(n,i,a,s,l,u){let h={range:n,message:i};return qe.defined(a)&&(h.severity=a),qe.defined(s)&&(h.code=s),qe.defined(l)&&(h.source=l),qe.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(n){var i;let a=n;return qe.defined(a)&&Yr.is(a.range)&&qe.string(a.message)&&(qe.number(a.severity)||qe.undefined(a.severity))&&(qe.integer(a.code)||qe.string(a.code)||qe.undefined(a.code))&&(qe.undefined(a.codeDescription)||qe.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(qe.string(a.source)||qe.undefined(a.source))&&(qe.undefined(a.relatedInformation)||qe.typedArray(a.relatedInformation,L6.is))}o(r,"is"),t.is=r})(Y4||(Y4={}));(function(t){function e(n,i,...a){let s={title:n,command:i};return qe.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.title)&&qe.string(i.command)}o(r,"is"),t.is=r})(vm||(vm={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}o(n,"del"),t.del=n;function i(a){let s=a;return qe.objectLiteral(s)&&qe.string(s.newText)&&Yr.is(s.range)}o(i,"is"),t.is=i})(Lu||(Lu={}));(function(t){function e(n,i,a){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.string(i.label)&&(qe.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(qe.string(i.description)||i.description===void 0)}o(r,"is"),t.is=r})(ym||(ym={}));(function(t){function e(r){let n=r;return qe.string(n)}o(e,"is"),t.is=e})(Va||(Va={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}o(n,"del"),t.del=n;function i(a){let s=a;return Lu.is(s)&&(ym.is(s.annotationId)||Va.is(s.annotationId))}o(i,"is"),t.is=i})(Yh||(Yh={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&X4.is(i.textDocument)&&Array.isArray(i.edits)}o(r,"is"),t.is=r})(j4||(j4={}));(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&qe.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||qe.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||qe.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Va.is(i.annotationId))}o(r,"is"),t.is=r})(zy||(zy={}));(function(t){function e(n,i,a,s){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&qe.string(i.oldUri)&&qe.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||qe.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||qe.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Va.is(i.annotationId))}o(r,"is"),t.is=r})(Gy||(Gy={}));(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&qe.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||qe.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||qe.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Va.is(i.annotationId))}o(r,"is"),t.is=r})(Vy||(Vy={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>qe.string(i.kind)?zy.is(i)||Gy.is(i)||Vy.is(i):j4.is(i)))}o(e,"is"),t.is=e})(N6||(N6={}));$y=class{static{o(this,"TextEditChangeImpl")}constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=Lu.insert(e,r):Va.is(n)?(a=n,i=Yh.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Yh.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=Lu.replace(e,r):Va.is(n)?(a=n,i=Yh.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Yh.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=Lu.del(e):Va.is(r)?(i=r,n=Yh.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Yh.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},M6=class{static{o(this,"ChangeAnnotations")}constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Va.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},l$=class{static{o(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new M6(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(j4.is(r)){let n=new $y(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new $y(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(X4.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new $y(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new $y(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new M6,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ym.is(r)||Va.is(r)?i=r:n=r;let a,s;if(i===void 0?a=zy.create(e,n):(s=Va.is(i)?i:this._changeAnnotations.manage(i),a=zy.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;ym.is(n)||Va.is(n)?a=n:i=n;let s,l;if(a===void 0?s=Gy.create(e,r,i):(l=Va.is(a)?a:this._changeAnnotations.manage(a),s=Gy.create(e,r,i,l)),this._workspaceEdit.documentChanges.push(s),l!==void 0)return l}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ym.is(r)||Va.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Vy.create(e,n):(s=Va.is(i)?i:this._changeAnnotations.manage(i),a=Vy.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.uri)}o(r,"is"),t.is=r})(c$||(c$={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.uri)&&qe.integer(i.version)}o(r,"is"),t.is=r})(u$||(u$={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.uri)&&(i.version===null||qe.integer(i.version))}o(r,"is"),t.is=r})(X4||(X4={}));(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.uri)&&qe.string(i.languageId)&&qe.integer(i.version)&&qe.string(i.text)}o(r,"is"),t.is=r})(h$||(h$={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}o(e,"is"),t.is=e})(I6||(I6={}));(function(t){function e(r){let n=r;return qe.objectLiteral(r)&&I6.is(n.kind)&&qe.string(n.value)}o(e,"is"),t.is=e})(qy||(qy={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(f$||(f$={}));(function(t){t.PlainText=1,t.Snippet=2})(d$||(d$={}));(function(t){t.Deprecated=1})(p$||(p$={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i&&qe.string(i.newText)&&Yr.is(i.insert)&&Yr.is(i.replace)}o(r,"is"),t.is=r})(m$||(m$={}));(function(t){t.asIs=1,t.adjustIndentation=2})(g$||(g$={}));(function(t){function e(r){let n=r;return n&&(qe.string(n.detail)||n.detail===void 0)&&(qe.string(n.description)||n.description===void 0)}o(e,"is"),t.is=e})(y$||(y$={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(v$||(v$={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}o(e,"create"),t.create=e})(x$||(x$={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return qe.string(i)||qe.objectLiteral(i)&&qe.string(i.language)&&qe.string(i.value)}o(r,"is"),t.is=r})(K4||(K4={}));(function(t){function e(r){let n=r;return!!n&&qe.objectLiteral(n)&&(qy.is(n.contents)||K4.is(n.contents)||qe.typedArray(n.contents,K4.is))&&(r.range===void 0||Yr.is(r.range))}o(e,"is"),t.is=e})(b$||(b$={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}o(e,"create"),t.create=e})(T$||(T$={}));(function(t){function e(r,n,...i){let a={label:r};return qe.defined(n)&&(a.documentation=n),qe.defined(i)?a.parameters=i:a.parameters=[],a}o(e,"create"),t.create=e})(w$||(w$={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(k$||(k$={}));(function(t){function e(r,n){let i={range:r};return qe.number(n)&&(i.kind=n),i}o(e,"create"),t.create=e})(S$||(S$={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(E$||(E$={}));(function(t){t.Deprecated=1})(C$||(C$={}));(function(t){function e(r,n,i,a,s){let l={name:r,kind:n,location:{uri:a,range:i}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(A$||(A$={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}o(e,"create"),t.create=e})(_$||(_$={}));(function(t){function e(n,i,a,s,l,u){let h={name:n,detail:i,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return i&&qe.string(i.name)&&qe.number(i.kind)&&Yr.is(i.range)&&Yr.is(i.selectionRange)&&(i.detail===void 0||qe.string(i.detail))&&(i.deprecated===void 0||qe.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}o(r,"is"),t.is=r})(D$||(D$={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(R$||(R$={}));(function(t){t.Invoked=1,t.Automatic=2})(Q4||(Q4={}));(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.typedArray(i.diagnostics,Y4.is)&&(i.only===void 0||qe.typedArray(i.only,qe.string))&&(i.triggerKind===void 0||i.triggerKind===Q4.Invoked||i.triggerKind===Q4.Automatic)}o(r,"is"),t.is=r})(L$||(L$={}));(function(t){function e(n,i,a){let s={title:n},l=!0;return typeof i=="string"?(l=!1,s.kind=i):vm.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&qe.string(i.title)&&(i.diagnostics===void 0||qe.typedArray(i.diagnostics,Y4.is))&&(i.kind===void 0||qe.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||vm.is(i.command))&&(i.isPreferred===void 0||qe.boolean(i.isPreferred))&&(i.edit===void 0||N6.is(i.edit))}o(r,"is"),t.is=r})(N$||(N$={}));(function(t){function e(n,i){let a={range:n};return qe.defined(i)&&(a.data=i),a}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&Yr.is(i.range)&&(qe.undefined(i.command)||vm.is(i.command))}o(r,"is"),t.is=r})(M$||(M$={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.uinteger(i.tabSize)&&qe.boolean(i.insertSpaces)}o(r,"is"),t.is=r})(I$||(I$={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&Yr.is(i.range)&&(qe.undefined(i.target)||qe.string(i.target))}o(r,"is"),t.is=r})(O$||(O$={}));(function(t){function e(n,i){return{range:n,parent:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&Yr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}o(r,"is"),t.is=r})(P$||(P$={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(B$||(B$={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(F$||(F$={}));(function(t){function e(r){let n=r;return qe.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}o(e,"is"),t.is=e})($$||($$={}));(function(t){function e(n,i){return{range:n,text:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Yr.is(i.range)&&qe.string(i.text)}o(r,"is"),t.is=r})(z$||(z$={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Yr.is(i.range)&&qe.boolean(i.caseSensitiveLookup)&&(qe.string(i.variableName)||i.variableName===void 0)}o(r,"is"),t.is=r})(G$||(G$={}));(function(t){function e(n,i){return{range:n,expression:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Yr.is(i.range)&&(qe.string(i.expression)||i.expression===void 0)}o(r,"is"),t.is=r})(V$||(V$={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&Yr.is(n.stoppedLocation)}o(r,"is"),t.is=r})(q$||(q$={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(O6||(O6={}));(function(t){function e(n){return{value:n}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&(i.tooltip===void 0||qe.string(i.tooltip)||qy.is(i.tooltip))&&(i.location===void 0||H4.is(i.location))&&(i.command===void 0||vm.is(i.command))}o(r,"is"),t.is=r})(P6||(P6={}));(function(t){function e(n,i,a){let s={position:n,label:i};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&nn.is(i.position)&&(qe.string(i.label)||qe.typedArray(i.label,P6.is))&&(i.kind===void 0||O6.is(i.kind))&&i.textEdits===void 0||qe.typedArray(i.textEdits,Lu.is)&&(i.tooltip===void 0||qe.string(i.tooltip)||qy.is(i.tooltip))&&(i.paddingLeft===void 0||qe.boolean(i.paddingLeft))&&(i.paddingRight===void 0||qe.boolean(i.paddingRight))}o(r,"is"),t.is=r})(U$||(U$={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(W$||(W$={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}o(e,"create"),t.create=e})(H$||(H$={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(Y$||(Y$={}));(function(t){t.Invoked=0,t.Automatic=1})(j$||(j$={}));(function(t){function e(r,n){return{range:r,text:n}}o(e,"create"),t.create=e})(X$||(X$={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}o(e,"create"),t.create=e})(K$||(K$={}));(function(t){function e(r){let n=r;return qe.objectLiteral(n)&&D6.is(n.uri)&&qe.string(n.name)}o(e,"is"),t.is=e})(Q$||(Q$={}));Jtt=[` +For Further details.`,n}function knt(t){if(t instanceof Sn)return"SUBRULE";if(t instanceof Cn)return"OPTION";if(t instanceof Gn)return"OR";if(t instanceof jn)return"AT_LEAST_ONE";if(t instanceof Xn)return"AT_LEAST_ONE_SEP";if(t instanceof zn)return"MANY_SEP";if(t instanceof Jr)return"MANY";if(t instanceof Yr)return"CONSUME";throw Error("non exhaustive match")}function Ent(t,e,r){let n=za(e.configs.elements,a=>a.state.transitions),i=phe(n.filter(a=>a instanceof Vy).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Snt(t,e){return t.edges[e.tokenTypeIdx]}function Cnt(t,e,r){let n=new Hy,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Uy){i.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!Lnt(a))for(let s of i)a.add(s);return a}function Ant(t,e){if(t instanceof Vy&&$T(e,t.tokenType))return t.target}function _nt(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function mve(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function pve(t,e,r,n){return n=gve(t,n),e.edges[r.tokenTypeIdx]=n,n}function gve(t,e){if(e===t4)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Dnt(t){let e=new Hy,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};G6(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Pnt(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var z6,fve,r4,yve=O(()=>{"use strict";Hd();uve();hve();kI();yI();mhe();M1();AE();rS();oS();AI();o(ynt,"createDFACache");z6=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=sve(e.rules),this.dfas=vnt(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=vm(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=lt(v6({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>lt(p,m=>m[0]));if(dve(d,!1)&&!a){let p=pn(d,(m,g,y)=>(Oe(g,v=>{v&&(m[v.tokenTypeIdx]=y,Oe(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new z6,g=p===void 0?0:p.length;for(let v=0;vlt(p,m=>m[0]));if(dve(d)&&d[0][0]&&!a){let p=d[0],m=fn(p);if(m.length===1&&Er(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=pn(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Oe(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=d$.call(this,s,f,fve,l);return typeof p=="object"?!1:p===0}}};o(dve,"isLL1Sequence");o(vnt,"initATNSimulator");o(d$,"adaptivePredict");o(xnt,"performLookahead");o(bnt,"computeLookaheadTarget");o(Tnt,"reportLookaheadAmbiguity");o(wnt,"buildAmbiguityError");o(knt,"getProductionDslName");o(Ent,"buildAdaptivePredictError");o(Snt,"getExistingTargetState");o(Cnt,"computeReachSet");o(Ant,"getReachableTarget");o(_nt,"getUniqueAlt");o(mve,"newDFAState");o(pve,"addDFAEdge");o(gve,"addDFAState");o(Dnt,"computeStartState");o(G6,"closure");o(Rnt,"getEpsilonTarget");o(Lnt,"hasConfigInRuleStopState");o(Nnt,"allConfigsInRuleStopStates");o(Mnt,"hasConflictTerminatingPrediction");o(Int,"getConflictingAltSets");o(Ont,"hasConflictingAltSet");o(Pnt,"hasStateAssociatedWithOneAlt")});var vve=O(()=>{"use strict";yve()});var K6={};vr(K6,{AnnotatedTextEdit:()=>Jh,ChangeAnnotation:()=>bm,ChangeAnnotationIdentifier:()=>Wa,CodeAction:()=>j$,CodeActionContext:()=>Y$,CodeActionKind:()=>H$,CodeActionTriggerKind:()=>c4,CodeDescription:()=>k$,CodeLens:()=>X$,Color:()=>q6,ColorInformation:()=>y$,ColorPresentation:()=>v$,Command:()=>Tm,CompletionItem:()=>I$,CompletionItemKind:()=>_$,CompletionItemLabelDetails:()=>M$,CompletionItemTag:()=>R$,CompletionList:()=>O$,CreateFile:()=>jy,DeleteFile:()=>Ky,Diagnostic:()=>a4,DiagnosticRelatedInformation:()=>U6,DiagnosticSeverity:()=>T$,DiagnosticTag:()=>w$,DocumentHighlight:()=>z$,DocumentHighlightKind:()=>$$,DocumentLink:()=>Q$,DocumentSymbol:()=>W$,DocumentUri:()=>p$,EOL:()=>Bnt,FoldingRange:()=>b$,FoldingRangeKind:()=>x$,FormattingOptions:()=>K$,Hover:()=>P$,InlayHint:()=>sz,InlayHintKind:()=>j6,InlayHintLabelPart:()=>X6,InlineCompletionContext:()=>fz,InlineCompletionItem:()=>lz,InlineCompletionList:()=>cz,InlineCompletionTriggerKind:()=>uz,InlineValueContext:()=>az,InlineValueEvaluatableExpression:()=>iz,InlineValueText:()=>rz,InlineValueVariableLookup:()=>nz,InsertReplaceEdit:()=>L$,InsertTextFormat:()=>D$,InsertTextMode:()=>N$,Location:()=>i4,LocationLink:()=>g$,MarkedString:()=>l4,MarkupContent:()=>Qy,MarkupKind:()=>Y6,OptionalVersionedTextDocumentIdentifier:()=>o4,ParameterInformation:()=>B$,Position:()=>on,Range:()=>Kr,RenameFile:()=>Xy,SelectedCompletionInfo:()=>hz,SelectionRange:()=>Z$,SemanticTokenModifiers:()=>ez,SemanticTokenTypes:()=>J$,SemanticTokens:()=>tz,SignatureInformation:()=>F$,StringValue:()=>oz,SymbolInformation:()=>q$,SymbolKind:()=>G$,SymbolTag:()=>V$,TextDocument:()=>pz,TextDocumentEdit:()=>s4,TextDocumentIdentifier:()=>S$,TextDocumentItem:()=>A$,TextEdit:()=>Fu,URI:()=>V6,VersionedTextDocumentIdentifier:()=>C$,WorkspaceChange:()=>E$,WorkspaceEdit:()=>W6,WorkspaceFolder:()=>dz,WorkspaceSymbol:()=>U$,integer:()=>m$,uinteger:()=>n4});var p$,V6,m$,n4,on,Kr,i4,g$,q6,y$,v$,x$,b$,U6,T$,w$,k$,a4,Tm,Fu,bm,Wa,Jh,s4,jy,Xy,Ky,W6,Yy,H6,E$,S$,C$,o4,A$,Y6,Qy,_$,D$,R$,L$,N$,M$,I$,O$,l4,P$,B$,F$,$$,z$,G$,V$,q$,U$,W$,H$,c4,Y$,j$,X$,K$,Q$,Z$,J$,ez,tz,rz,nz,iz,az,j6,X6,sz,oz,lz,cz,uz,hz,fz,dz,Bnt,pz,mz,Ye,Zy=O(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(p$||(p$={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(V6||(V6={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(m$||(m$={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(n4||(n4={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=n4.MAX_VALUE),i===Number.MAX_VALUE&&(i=n4.MAX_VALUE),{line:n,character:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.uinteger(i.line)&&Ye.uinteger(i.character)}o(r,"is"),t.is=r})(on||(on={}));(function(t){function e(n,i,a,s){if(Ye.uinteger(n)&&Ye.uinteger(i)&&Ye.uinteger(a)&&Ye.uinteger(s))return{start:on.create(n,i),end:on.create(a,s)};if(on.is(n)&&on.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&on.is(i.start)&&on.is(i.end)}o(r,"is"),t.is=r})(Kr||(Kr={}));(function(t){function e(n,i){return{uri:n,range:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Kr.is(i.range)&&(Ye.string(i.uri)||Ye.undefined(i.uri))}o(r,"is"),t.is=r})(i4||(i4={}));(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Kr.is(i.targetRange)&&Ye.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||Ye.undefined(i.originSelectionRange))}o(r,"is"),t.is=r})(g$||(g$={}));(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.numberRange(i.red,0,1)&&Ye.numberRange(i.green,0,1)&&Ye.numberRange(i.blue,0,1)&&Ye.numberRange(i.alpha,0,1)}o(r,"is"),t.is=r})(q6||(q6={}));(function(t){function e(n,i){return{range:n,color:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Kr.is(i.range)&&q6.is(i.color)}o(r,"is"),t.is=r})(y$||(y$={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.string(i.label)&&(Ye.undefined(i.textEdit)||Fu.is(i))&&(Ye.undefined(i.additionalTextEdits)||Ye.typedArray(i.additionalTextEdits,Fu.is))}o(r,"is"),t.is=r})(v$||(v$={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(x$||(x$={}));(function(t){function e(n,i,a,s,l,u){let h={startLine:n,endLine:i};return Ye.defined(a)&&(h.startCharacter=a),Ye.defined(s)&&(h.endCharacter=s),Ye.defined(l)&&(h.kind=l),Ye.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.uinteger(i.startLine)&&Ye.uinteger(i.startLine)&&(Ye.undefined(i.startCharacter)||Ye.uinteger(i.startCharacter))&&(Ye.undefined(i.endCharacter)||Ye.uinteger(i.endCharacter))&&(Ye.undefined(i.kind)||Ye.string(i.kind))}o(r,"is"),t.is=r})(b$||(b$={}));(function(t){function e(n,i){return{location:n,message:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&i4.is(i.location)&&Ye.string(i.message)}o(r,"is"),t.is=r})(U6||(U6={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(T$||(T$={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(w$||(w$={}));(function(t){function e(r){let n=r;return Ye.objectLiteral(n)&&Ye.string(n.href)}o(e,"is"),t.is=e})(k$||(k$={}));(function(t){function e(n,i,a,s,l,u){let h={range:n,message:i};return Ye.defined(a)&&(h.severity=a),Ye.defined(s)&&(h.code=s),Ye.defined(l)&&(h.source=l),Ye.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(n){var i;let a=n;return Ye.defined(a)&&Kr.is(a.range)&&Ye.string(a.message)&&(Ye.number(a.severity)||Ye.undefined(a.severity))&&(Ye.integer(a.code)||Ye.string(a.code)||Ye.undefined(a.code))&&(Ye.undefined(a.codeDescription)||Ye.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(Ye.string(a.source)||Ye.undefined(a.source))&&(Ye.undefined(a.relatedInformation)||Ye.typedArray(a.relatedInformation,U6.is))}o(r,"is"),t.is=r})(a4||(a4={}));(function(t){function e(n,i,...a){let s={title:n,command:i};return Ye.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.title)&&Ye.string(i.command)}o(r,"is"),t.is=r})(Tm||(Tm={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}o(n,"del"),t.del=n;function i(a){let s=a;return Ye.objectLiteral(s)&&Ye.string(s.newText)&&Kr.is(s.range)}o(i,"is"),t.is=i})(Fu||(Fu={}));(function(t){function e(n,i,a){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.string(i.label)&&(Ye.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(Ye.string(i.description)||i.description===void 0)}o(r,"is"),t.is=r})(bm||(bm={}));(function(t){function e(r){let n=r;return Ye.string(n)}o(e,"is"),t.is=e})(Wa||(Wa={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}o(n,"del"),t.del=n;function i(a){let s=a;return Fu.is(s)&&(bm.is(s.annotationId)||Wa.is(s.annotationId))}o(i,"is"),t.is=i})(Jh||(Jh={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&o4.is(i.textDocument)&&Array.isArray(i.edits)}o(r,"is"),t.is=r})(s4||(s4={}));(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&Ye.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||Ye.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Ye.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Wa.is(i.annotationId))}o(r,"is"),t.is=r})(jy||(jy={}));(function(t){function e(n,i,a,s){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&Ye.string(i.oldUri)&&Ye.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||Ye.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Ye.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Wa.is(i.annotationId))}o(r,"is"),t.is=r})(Xy||(Xy={}));(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&Ye.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||Ye.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||Ye.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Wa.is(i.annotationId))}o(r,"is"),t.is=r})(Ky||(Ky={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>Ye.string(i.kind)?jy.is(i)||Xy.is(i)||Ky.is(i):s4.is(i)))}o(e,"is"),t.is=e})(W6||(W6={}));Yy=class{static{o(this,"TextEditChangeImpl")}constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=Fu.insert(e,r):Wa.is(n)?(a=n,i=Jh.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Jh.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=Fu.replace(e,r):Wa.is(n)?(a=n,i=Jh.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Jh.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=Fu.del(e):Wa.is(r)?(i=r,n=Jh.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Jh.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},H6=class{static{o(this,"ChangeAnnotations")}constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Wa.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},E$=class{static{o(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new H6(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(s4.is(r)){let n=new Yy(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new Yy(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(o4.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new Yy(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new Yy(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new H6,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;bm.is(r)||Wa.is(r)?i=r:n=r;let a,s;if(i===void 0?a=jy.create(e,n):(s=Wa.is(i)?i:this._changeAnnotations.manage(i),a=jy.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;bm.is(n)||Wa.is(n)?a=n:i=n;let s,l;if(a===void 0?s=Xy.create(e,r,i):(l=Wa.is(a)?a:this._changeAnnotations.manage(a),s=Xy.create(e,r,i,l)),this._workspaceEdit.documentChanges.push(s),l!==void 0)return l}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;bm.is(r)||Wa.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Ky.create(e,n):(s=Wa.is(i)?i:this._changeAnnotations.manage(i),a=Ky.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.uri)}o(r,"is"),t.is=r})(S$||(S$={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.uri)&&Ye.integer(i.version)}o(r,"is"),t.is=r})(C$||(C$={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.uri)&&(i.version===null||Ye.integer(i.version))}o(r,"is"),t.is=r})(o4||(o4={}));(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.uri)&&Ye.string(i.languageId)&&Ye.integer(i.version)&&Ye.string(i.text)}o(r,"is"),t.is=r})(A$||(A$={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}o(e,"is"),t.is=e})(Y6||(Y6={}));(function(t){function e(r){let n=r;return Ye.objectLiteral(r)&&Y6.is(n.kind)&&Ye.string(n.value)}o(e,"is"),t.is=e})(Qy||(Qy={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(_$||(_$={}));(function(t){t.PlainText=1,t.Snippet=2})(D$||(D$={}));(function(t){t.Deprecated=1})(R$||(R$={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ye.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}o(r,"is"),t.is=r})(L$||(L$={}));(function(t){t.asIs=1,t.adjustIndentation=2})(N$||(N$={}));(function(t){function e(r){let n=r;return n&&(Ye.string(n.detail)||n.detail===void 0)&&(Ye.string(n.description)||n.description===void 0)}o(e,"is"),t.is=e})(M$||(M$={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(I$||(I$={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}o(e,"create"),t.create=e})(O$||(O$={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return Ye.string(i)||Ye.objectLiteral(i)&&Ye.string(i.language)&&Ye.string(i.value)}o(r,"is"),t.is=r})(l4||(l4={}));(function(t){function e(r){let n=r;return!!n&&Ye.objectLiteral(n)&&(Qy.is(n.contents)||l4.is(n.contents)||Ye.typedArray(n.contents,l4.is))&&(r.range===void 0||Kr.is(r.range))}o(e,"is"),t.is=e})(P$||(P$={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}o(e,"create"),t.create=e})(B$||(B$={}));(function(t){function e(r,n,...i){let a={label:r};return Ye.defined(n)&&(a.documentation=n),Ye.defined(i)?a.parameters=i:a.parameters=[],a}o(e,"create"),t.create=e})(F$||(F$={}));(function(t){t.Text=1,t.Read=2,t.Write=3})($$||($$={}));(function(t){function e(r,n){let i={range:r};return Ye.number(n)&&(i.kind=n),i}o(e,"create"),t.create=e})(z$||(z$={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(G$||(G$={}));(function(t){t.Deprecated=1})(V$||(V$={}));(function(t){function e(r,n,i,a,s){let l={name:r,kind:n,location:{uri:a,range:i}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(q$||(q$={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}o(e,"create"),t.create=e})(U$||(U$={}));(function(t){function e(n,i,a,s,l,u){let h={name:n,detail:i,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ye.string(i.name)&&Ye.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||Ye.string(i.detail))&&(i.deprecated===void 0||Ye.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}o(r,"is"),t.is=r})(W$||(W$={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(H$||(H$={}));(function(t){t.Invoked=1,t.Automatic=2})(c4||(c4={}));(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.typedArray(i.diagnostics,a4.is)&&(i.only===void 0||Ye.typedArray(i.only,Ye.string))&&(i.triggerKind===void 0||i.triggerKind===c4.Invoked||i.triggerKind===c4.Automatic)}o(r,"is"),t.is=r})(Y$||(Y$={}));(function(t){function e(n,i,a){let s={title:n},l=!0;return typeof i=="string"?(l=!1,s.kind=i):Tm.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ye.string(i.title)&&(i.diagnostics===void 0||Ye.typedArray(i.diagnostics,a4.is))&&(i.kind===void 0||Ye.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Tm.is(i.command))&&(i.isPreferred===void 0||Ye.boolean(i.isPreferred))&&(i.edit===void 0||W6.is(i.edit))}o(r,"is"),t.is=r})(j$||(j$={}));(function(t){function e(n,i){let a={range:n};return Ye.defined(i)&&(a.data=i),a}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Kr.is(i.range)&&(Ye.undefined(i.command)||Tm.is(i.command))}o(r,"is"),t.is=r})(X$||(X$={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.uinteger(i.tabSize)&&Ye.boolean(i.insertSpaces)}o(r,"is"),t.is=r})(K$||(K$={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Kr.is(i.range)&&(Ye.undefined(i.target)||Ye.string(i.target))}o(r,"is"),t.is=r})(Q$||(Q$={}));(function(t){function e(n,i){return{range:n,parent:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}o(r,"is"),t.is=r})(Z$||(Z$={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(J$||(J$={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(ez||(ez={}));(function(t){function e(r){let n=r;return Ye.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}o(e,"is"),t.is=e})(tz||(tz={}));(function(t){function e(n,i){return{range:n,text:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Kr.is(i.range)&&Ye.string(i.text)}o(r,"is"),t.is=r})(rz||(rz={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Kr.is(i.range)&&Ye.boolean(i.caseSensitiveLookup)&&(Ye.string(i.variableName)||i.variableName===void 0)}o(r,"is"),t.is=r})(nz||(nz={}));(function(t){function e(n,i){return{range:n,expression:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Kr.is(i.range)&&(Ye.string(i.expression)||i.expression===void 0)}o(r,"is"),t.is=r})(iz||(iz={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Kr.is(n.stoppedLocation)}o(r,"is"),t.is=r})(az||(az={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(j6||(j6={}));(function(t){function e(n){return{value:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&(i.tooltip===void 0||Ye.string(i.tooltip)||Qy.is(i.tooltip))&&(i.location===void 0||i4.is(i.location))&&(i.command===void 0||Tm.is(i.command))}o(r,"is"),t.is=r})(X6||(X6={}));(function(t){function e(n,i,a){let s={position:n,label:i};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&on.is(i.position)&&(Ye.string(i.label)||Ye.typedArray(i.label,X6.is))&&(i.kind===void 0||j6.is(i.kind))&&i.textEdits===void 0||Ye.typedArray(i.textEdits,Fu.is)&&(i.tooltip===void 0||Ye.string(i.tooltip)||Qy.is(i.tooltip))&&(i.paddingLeft===void 0||Ye.boolean(i.paddingLeft))&&(i.paddingRight===void 0||Ye.boolean(i.paddingRight))}o(r,"is"),t.is=r})(sz||(sz={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(oz||(oz={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}o(e,"create"),t.create=e})(lz||(lz={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(cz||(cz={}));(function(t){t.Invoked=0,t.Automatic=1})(uz||(uz={}));(function(t){function e(r,n){return{range:r,text:n}}o(e,"create"),t.create=e})(hz||(hz={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}o(e,"create"),t.create=e})(fz||(fz={}));(function(t){function e(r){let n=r;return Ye.objectLiteral(n)&&V6.is(n.uri)&&Ye.string(n.name)}o(e,"is"),t.is=e})(dz||(dz={}));Bnt=[` `,`\r -`,"\r"];(function(t){function e(a,s,l,u){return new J$(a,s,l,u)}o(e,"create"),t.create=e;function r(a){let s=a;return!!(qe.defined(s)&&qe.string(s.uri)&&(qe.undefined(s.languageId)||qe.string(s.languageId))&&qe.uinteger(s.lineCount)&&qe.func(s.getText)&&qe.func(s.positionAt)&&qe.func(s.offsetAt))}o(r,"is"),t.is=r;function n(a,s){let l=a.getText(),u=i(s,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(n,"applyEdits"),t.applyEdits=n;function i(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,s),i(h,s);let f=0,d=0,p=0;for(;f{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(n,"applyEdits"),t.applyEdits=n;function i(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,s),i(h,s);let f=0,d=0,p=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return nn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return nn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}o(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}o(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})(qe||(qe={}))});var Z4,J4,xm,bm,ez,Wy,F6=I(()=>{"use strict";Uy();yc();Z4=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Wy(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new bm;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new xm(e.startOffset,e.image.length,fy(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let a of e){let s=new xm(a.startOffset,a.image.length,fy(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},J4=class{static{o(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},xm=class extends J4{static{o(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},bm=class extends J4{static{o(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new ez(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},ez=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},Wy=class extends bm{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function tz(t){return t.$type===$6}var $6,Oye,Pye,eT,tT,z6,Hy,rT,ert,G6,rz,nT=I(()=>{"use strict";Uo();Vd();Iye();Uo();wc();ls();F6();$6=Symbol("Datatype");o(tz,"isDataTypeNode");Oye="\u200B",Pye=o(t=>t.endsWith(Oye)?t:t+Oye,"withRuleSuffix"),eT=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new rz(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new G6(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},tT=class extends eT{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Z4,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;Bd(e)&&(i=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(Pye(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),wa(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let a=!this.isRecording()&&e!==void 0;if(a){let s={$type:e};this.stack.push(s),e===$6?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,crossRef:u}=this.getAssignment(n),h=this.current;if(l){let f=Dl(n)?i.image:this.converter.convert(i.image,s);this.assign(l.operator,l.feature,f,s,u)}else if(tz(h)){let f=i.image;Dl(n)||(f=this.converter.convert(f,s).toString()),h.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let l;try{l=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(l===void 0&&!n&&(l=this.construct()),l!==void 0&&s&&s.length>0&&this.performSubruleAssignment(l,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let s=this.current;if(tz(s))s.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):tz(e)?this.converter.convert(e.value,e.$cstNode):(kB(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let y=0;ys?(s=x.precedence,a=y):x.precedence===s&&(x.rightAssoc||(a=y))}let l=i.slice(0,a),u=i.slice(a+1),h=n.slice(0,a+1),f=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:u},m=this.constructInfix(d,r),g=this.constructInfix(p,r);return{$type:e.$type,$cstNode:e.$cstNode,left:m,operator:i[a],right:g}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Ih(e,xc);this.assignmentMap.set(e,{assignment:r,crossRef:r&&bc(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let s=this.current,l;switch(a==="single"&&typeof n=="string"?l=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?l=this.linker.buildMultiReference(s,r,i,n):l=n,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[i,a]of Object.entries(r)){let s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},z6=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Wh.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Wh.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Wh.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Wh.buildEarlyExitMessage(e)}},Hy=class extends z6{static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},rT=class extends eT{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Pye(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},ert={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Hy},G6=class extends z4{static{o(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...ert,lookaheadStrategy:n?new Hh({maxLookahead:r.maxLookahead}):new U4({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},rz=class extends G6{static{o(this,"ProfilerWrapper")}constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}});function iT(t,e,r){return trt({parser:e,tokens:r,ruleNames:new Map},t),e}function trt(t,e){let r=v4(e,!1),n=Or(e.rules).filter(wa).filter(a=>r.has(a));for(let a of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,Tm(s,a.definition))}let i=Or(e.rules).filter(Bd).filter(a=>r.has(a));for(let a of i)t.parser.rule(a,rrt(t,a))}function rrt(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Os(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(m=>m.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);let u={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},h={...a,$container:s};s.elements.push(u,h);let d=n.map(m=>t.tokens[m.value]).map((m,g)=>({ALT:o(()=>t.parser.consume(g,m,u),"ALT")})),p;return m=>{p??(p=iz(t,r)),t.parser.subrule(0,p,!1,a,m),t.parser.many(0,{DEF:o(()=>{t.parser.alternatives(0,d),t.parser.subrule(1,p,!1,h,m)},"DEF")})}}function Tm(t,e,r=!1){let n;if(Dl(e))n=crt(t,e);else if(Fh(e))n=nrt(t,e);else if(xc(e))n=Tm(t,e.terminal);else if(bc(e))n=Bye(t,e);else if(Tc(e))n=irt(t,e);else if(DC(e))n=srt(t,e);else if(MC(e))n=ort(t,e);else if(Pd(e))n=lrt(t,e);else if(RB(e)){let i=t.consume++;n=o(()=>t.parser.consume(i,Ho,e),"method")}else throw new am(e.$cstNode,`Unexpected element type: ${e.$type}`);return Fye(t,r?void 0:V6(e),n,e.cardinality)}function nrt(t,e){let r=$d(e);return()=>t.parser.action(r,e)}function irt(t,e){let r=e.rule.ref;if(Bh(r)){let n=t.subrule++,i=wa(r)&&r.fragment,a=e.arguments.length>0?art(r,e.arguments):()=>({}),s;return l=>{s??(s=iz(t,r)),t.parser.subrule(n,s,i,e,a(l))}}else if(Os(r)){let n=t.consume++,i=nz(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)_u(r);else throw new am(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function art(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Nu(i.value)}));return i=>{let a={};for(let{parameterName:s,predicate:l}of n)s&&(a[s]=l(i));return a}}else{let n=e.map(i=>Nu(i.value));return i=>{let a={};for(let s=0;se(n)||r(n)}else if(_B(t)){let e=Nu(t.left),r=Nu(t.right);return n=>e(n)&&r(n)}else if(MB(t)){let e=Nu(t.value);return r=>!e(r)}else if(IB(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(CB(t)){let e=!!t.true;return()=>e}_u(t)}function srt(t,e){if(e.elements.length===1)return Tm(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:Tm(t,i,!0)},s=V6(i);s&&(a.GATE=Nu(s)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let s={ALT:o(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(i)),s}))}}function ort(t,e){if(e.elements.length===1)return Tm(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:Tm(t,l,!0)},h=V6(l);h&&(u.GATE=Nu(h)),r.push(u)}let n=t.or++,i=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[h],f})),"alternatives"),s=Fye(t,V6(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function lrt(t,e){let r=e.elements.map(n=>Tm(t,n));return n=>r.forEach(i=>i(n))}function V6(t){if(Pd(t))return t.guardCondition}function Bye(t,e,r=e.terminal){if(r)if(Tc(r)&&wa(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,a;return s=>{a??(a=iz(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(Tc(r)&&Os(r.rule.ref)){let n=t.consume++,i=nz(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Dl(r)){let n=t.consume++,i=nz(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=zC(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+$d(e.type.ref));return Bye(t,e,i)}}function crt(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Fye(t,e,r,n){let i=e&&Nu(e);if(!n)if(i){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>i(s),"GATE")},{ALT:C6(),GATE:o(()=>!i(s),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){let a=t.many++;if(i){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>i(l),"GATE")},{ALT:C6(),GATE:o(()=>!i(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(n==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else _u(n)}function iz(t,e){let r=urt(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function urt(t,e){if(Bh(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!wa(n);)(Pd(n)||DC(n)||MC(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function nz(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var q6=I(()=>{"use strict";Vd();Uo();PC();Ms();wc();o(iT,"createParser");o(trt,"buildRules");o(rrt,"buildInfixRule");o(Tm,"buildElement");o(nrt,"buildAction");o(irt,"buildRuleCall");o(art,"buildRuleCallPredicate");o(Nu,"buildPredicate");o(srt,"buildAlternatives");o(ort,"buildUnorderedGroup");o(lrt,"buildGroup");o(V6,"getGuardCondition");o(Bye,"buildCrossReference");o(crt,"buildKeyword");o(Fye,"wrap");o(iz,"getRule");o(urt,"getRuleName");o(nz,"getToken")});function az(t){let e=t.Grammar,r=t.parser.Lexer,n=new rT(t);return iT(e,n,r.definition),n.finalize(),n}var sz=I(()=>{"use strict";nT();q6();o(az,"createCompletionParser")});function oz(t){let e=$ye(t);return e.finalize(),e}function $ye(t){let e=t.Grammar,r=t.parser.Lexer,n=new tT(t);return iT(e,n,r.definition)}var lz=I(()=>{"use strict";nT();q6();o(oz,"createLangiumParser");o($ye,"prepareLangiumParser")});var jh,U6=I(()=>{"use strict";Vd();Uo();ls();wc();py();Ms();jh=class{static{o(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=Or(v4(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Os).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=my(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=y4(r)?li.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Bh).flatMap(i=>gc(i).filter(Dl)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(Fd(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&JB("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var wm,Mu,cz=I(()=>{"use strict";Uo();wc();wm=class{static{o(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(bc(n)&&(n=rF(n)),Tc(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return Mu.convertInt(r);case"STRING":return Mu.convertString(r);case"ID":return Mu.convertID(r)}switch(cF(e)?.toLowerCase()){case"number":return Mu.convertNumber(r);case"boolean":return Mu.convertBoolean(r);case"bigint":return Mu.convertBigint(r);case"date":return Mu.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(fz,"__esModule",{value:!0});var uz;function hz(){if(uz===void 0)throw new Error("No runtime abstraction layer installed");return uz}o(hz,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");uz=r}o(e,"install"),t.install=e})(hz||(hz={}));fz.default=hz});var Yy=Jt(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.stringArray=cs.array=cs.func=cs.error=cs.number=cs.string=cs.boolean=void 0;function hrt(t){return t===!0||t===!1}o(hrt,"boolean");cs.boolean=hrt;function zye(t){return typeof t=="string"||t instanceof String}o(zye,"string");cs.string=zye;function frt(t){return typeof t=="number"||t instanceof Number}o(frt,"number");cs.number=frt;function drt(t){return t instanceof Error}o(drt,"error");cs.error=drt;function prt(t){return typeof t=="function"}o(prt,"func");cs.func=prt;function Gye(t){return Array.isArray(t)}o(Gye,"array");cs.array=Gye;function mrt(t){return Gye(t)&&t.every(e=>zye(e))}o(mrt,"stringArray");cs.stringArray=mrt});var km=Jt(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});jy.Emitter=jy.Event=void 0;var grt=Wd(),Vye;(function(t){let e={dispose(){}};t.None=function(){return e}})(Vye||(jy.Event=Vye={}));var dz=class{static{o(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new dz),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};jy.Emitter=W6;W6._noop=function(){}});var aT=Jt(Xy=>{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.CancellationTokenSource=Xy.CancellationToken=void 0;var yrt=Wd(),vrt=Yy(),pz=km(),H6;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:pz.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:pz.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||vrt.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}o(e,"is"),t.is=e})(H6||(Xy.CancellationToken=H6={}));var xrt=Object.freeze(function(t,e){let r=(0,yrt.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Y6=class{static{o(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?xrt:(this._emitter||(this._emitter=new pz.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},mz=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new Y6),this._token}cancel(){this._token?this._token.cancel():this._token=H6.Cancelled}dispose(){this._token?this._token instanceof Y6&&this._token.dispose():this._token=H6.None}};Xy.CancellationTokenSource=mz});var Ar={};var Rl=I(()=>{"use strict";$r(Ar,Aa(aT(),1))});function gz(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function X6(){return j6=performance.now(),new Ar.CancellationTokenSource}function Uye(t){qye=t}function Iu(t){return t===Ll}async function Ti(t){if(t===Ar.CancellationToken.None)return;let e=performance.now();if(e-j6>=qye&&(j6=e,await gz(),j6=performance.now()),t.isCancellationRequested)throw Ll}var j6,qye,Ll,zs,Nl=I(()=>{"use strict";Rl();o(gz,"delayNextTick");j6=0,qye=10;o(X6,"startCancelableOperation");o(Uye,"setInterruptionPeriod");Ll=Symbol("OperationCancelled");o(Iu,"isOperationCancelled");o(Ti,"interruptAndCheck");zs=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function yz(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);yz(n,e),yz(i,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function brt(t){let e=Yye(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var K6,Ky,jye=I(()=>{"use strict";K6=class t{static{o(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=Yye(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=Wye(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=s:n=s+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&Hye(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,s,l){return new K6(i,a,s,l)}o(e,"create"),t.create=e;function r(i,a,s){if(i instanceof K6)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function n(i,a){let s=i.getText(),l=yz(a.map(brt),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(n,"applyEdits"),t.applyEdits=n})(Ky||(Ky={}));o(yz,"mergeSort");o(Wye,"computeLineOffsets");o(Hye,"isEOL");o(Yye,"getWellformedRange");o(brt,"getWellformedEdit")});var Xye,ia,Qy,vz=I(()=>{"use strict";(()=>{"use strict";var t={975:L=>{function S(N){if(typeof N!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(N))}o(S,"e");function A(N,M){for(var P,B="",F=0,G=-1,$=0,V=0;V<=N.length;++V){if(V2){var K=B.lastIndexOf("/");if(K!==B.length-1){K===-1?(B="",F=0):F=(B=B.slice(0,K)).length-1-B.lastIndexOf("/"),G=V,$=0;continue}}else if(B.length===2||B.length===1){B="",F=0,G=V,$=0;continue}}M&&(B.length>0?B+="/..":B="..",F=2)}else B.length>0?B+="/"+N.slice(G+1,V):B=N.slice(G+1,V),F=V-G-1;G=V,$=0}else P===46&&$!==-1?++$:$=-1}return B}o(A,"r");var _={resolve:o(function(){for(var N,M="",P=!1,B=arguments.length-1;B>=-1&&!P;B--){var F;B>=0?F=arguments[B]:(N===void 0&&(N=process.cwd()),F=N),S(F),F.length!==0&&(M=F+"/"+M,P=F.charCodeAt(0)===47)}return M=A(M,!P),P?M.length>0?"/"+M:"/":M.length>0?M:"."},"resolve"),normalize:o(function(N){if(S(N),N.length===0)return".";var M=N.charCodeAt(0)===47,P=N.charCodeAt(N.length-1)===47;return(N=A(N,!M)).length!==0||M||(N="."),N.length>0&&P&&(N+="/"),M?"/"+N:N},"normalize"),isAbsolute:o(function(N){return S(N),N.length>0&&N.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var N,M=0;M0&&(N===void 0?N=P:N+="/"+P)}return N===void 0?".":_.normalize(N)},"join"),relative:o(function(N,M){if(S(N),S(M),N===M||(N=_.resolve(N))===(M=_.resolve(M)))return"";for(var P=1;PV){if(M.charCodeAt(G+ee)===47)return M.slice(G+ee+1);if(ee===0)return M.slice(G+ee)}else F>V&&(N.charCodeAt(P+ee)===47?K=ee:ee===0&&(K=0));break}var H=N.charCodeAt(P+ee);if(H!==M.charCodeAt(G+ee))break;H===47&&(K=ee)}var he="";for(ee=P+K+1;ee<=B;++ee)ee!==B&&N.charCodeAt(ee)!==47||(he.length===0?he+="..":he+="/..");return he.length>0?he+M.slice(G+K):(G+=K,M.charCodeAt(G)===47&&++G,M.slice(G))},"relative"),_makeLong:o(function(N){return N},"_makeLong"),dirname:o(function(N){if(S(N),N.length===0)return".";for(var M=N.charCodeAt(0),P=M===47,B=-1,F=!0,G=N.length-1;G>=1;--G)if((M=N.charCodeAt(G))===47){if(!F){B=G;break}}else F=!1;return B===-1?P?"/":".":P&&B===1?"//":N.slice(0,B)},"dirname"),basename:o(function(N,M){if(M!==void 0&&typeof M!="string")throw new TypeError('"ext" argument must be a string');S(N);var P,B=0,F=-1,G=!0;if(M!==void 0&&M.length>0&&M.length<=N.length){if(M.length===N.length&&M===N)return"";var $=M.length-1,V=-1;for(P=N.length-1;P>=0;--P){var K=N.charCodeAt(P);if(K===47){if(!G){B=P+1;break}}else V===-1&&(G=!1,V=P+1),$>=0&&(K===M.charCodeAt($)?--$==-1&&(F=P):($=-1,F=V))}return B===F?F=V:F===-1&&(F=N.length),N.slice(B,F)}for(P=N.length-1;P>=0;--P)if(N.charCodeAt(P)===47){if(!G){B=P+1;break}}else F===-1&&(G=!1,F=P+1);return F===-1?"":N.slice(B,F)},"basename"),extname:o(function(N){S(N);for(var M=-1,P=0,B=-1,F=!0,G=0,$=N.length-1;$>=0;--$){var V=N.charCodeAt($);if(V!==47)B===-1&&(F=!1,B=$+1),V===46?M===-1?M=$:G!==1&&(G=1):M!==-1&&(G=-1);else if(!F){P=$+1;break}}return M===-1||B===-1||G===0||G===1&&M===B-1&&M===P+1?"":N.slice(M,B)},"extname"),format:o(function(N){if(N===null||typeof N!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof N);return(function(M,P){var B=P.dir||P.root,F=P.base||(P.name||"")+(P.ext||"");return B?B===P.root?B+F:B+"/"+F:F})(0,N)},"format"),parse:o(function(N){S(N);var M={root:"",dir:"",base:"",ext:"",name:""};if(N.length===0)return M;var P,B=N.charCodeAt(0),F=B===47;F?(M.root="/",P=1):P=0;for(var G=-1,$=0,V=-1,K=!0,ee=N.length-1,H=0;ee>=P;--ee)if((B=N.charCodeAt(ee))!==47)V===-1&&(K=!1,V=ee+1),B===46?G===-1?G=ee:H!==1&&(H=1):G!==-1&&(H=-1);else if(!K){$=ee+1;break}return G===-1||V===-1||H===0||H===1&&G===V-1&&G===$+1?V!==-1&&(M.base=M.name=$===0&&F?N.slice(1,V):N.slice($,V)):($===0&&F?(M.name=N.slice(1,G),M.base=N.slice(1,V)):(M.name=N.slice($,G),M.base=N.slice($,V)),M.ext=N.slice(G,V)),$>0?M.dir=N.slice(0,$-1):F&&(M.dir="/"),M},"parse"),sep:"/",delimiter:":",win32:null,posix:null};_.posix=_,L.exports=_}},e={};function r(L){var S=e[L];if(S!==void 0)return S.exports;var A=e[L]={exports:{}};return t[L](A,A.exports,r),A.exports}o(r,"r"),r.d=(L,S)=>{for(var A in S)r.o(S,A)&&!r.o(L,A)&&Object.defineProperty(L,A,{enumerable:!0,get:S[A]})},r.o=(L,S)=>Object.prototype.hasOwnProperty.call(L,S),r.r=L=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(L,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(L,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:o(()=>p,"URI"),Utils:o(()=>O,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(L,S){if(!L.scheme&&S)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!a.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!s.test(L.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"a");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"l")}static isUri(S){return S instanceof p||!!S&&typeof S.authority=="string"&&typeof S.fragment=="string"&&typeof S.path=="string"&&typeof S.query=="string"&&typeof S.scheme=="string"&&typeof S.fsPath=="string"&&typeof S.with=="function"&&typeof S.toString=="function"}scheme;authority;path;query;fragment;constructor(S,A,_,N,M,P=!1){typeof S=="object"?(this.scheme=S.scheme||h,this.authority=S.authority||h,this.path=S.path||h,this.query=S.query||h,this.fragment=S.fragment||h):(this.scheme=(function(B,F){return B||F?B:"file"})(S,P),this.authority=A||h,this.path=(function(B,F){switch(B){case"https":case"http":case"file":F?F[0]!==f&&(F=f+F):F=f}return F})(this.scheme,_||h),this.query=N||h,this.fragment=M||h,u(this,P))}get fsPath(){return b(this,!1)}with(S){if(!S)return this;let{scheme:A,authority:_,path:N,query:M,fragment:P}=S;return A===void 0?A=this.scheme:A===null&&(A=h),_===void 0?_=this.authority:_===null&&(_=h),N===void 0?N=this.path:N===null&&(N=h),M===void 0?M=this.query:M===null&&(M=h),P===void 0?P=this.fragment:P===null&&(P=h),A===this.scheme&&_===this.authority&&N===this.path&&M===this.query&&P===this.fragment?this:new g(A,_,N,M,P)}static parse(S,A=!1){let _=d.exec(S);return _?new g(_[2]||h,k(_[4]||h),k(_[5]||h),k(_[7]||h),k(_[9]||h),A):new g(h,h,h,h,h)}static file(S){let A=h;if(i&&(S=S.replace(/\\/g,f)),S[0]===f&&S[1]===f){let _=S.indexOf(f,2);_===-1?(A=S.substring(2),S=f):(A=S.substring(2,_),S=S.substring(_)||f)}return new g("file",A,S,h,h)}static from(S){let A=new g(S.scheme,S.authority,S.path,S.query,S.fragment);return u(A,!0),A}toString(S=!1){return T(this,S)}toJSON(){return this}static revive(S){if(S){if(S instanceof p)return S;{let A=new g(S);return A._formatted=S.external,A._fsPath=S._sep===m?S.fsPath:null,A}}return S}}let m=i?1:void 0;class g extends p{static{o(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(S=!1){return S?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let S={$mid:1};return this._fsPath&&(S.fsPath=this._fsPath,S._sep=m),this._formatted&&(S.external=this._formatted),this.path&&(S.path=this.path),this.scheme&&(S.scheme=this.scheme),this.authority&&(S.authority=this.authority),this.query&&(S.query=this.query),this.fragment&&(S.fragment=this.fragment),S}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(L,S,A){let _,N=-1;for(let M=0;M=97&&P<=122||P>=65&&P<=90||P>=48&&P<=57||P===45||P===46||P===95||P===126||S&&P===47||A&&P===91||A&&P===93||A&&P===58)N!==-1&&(_+=encodeURIComponent(L.substring(N,M)),N=-1),_!==void 0&&(_+=L.charAt(M));else{_===void 0&&(_=L.substr(0,M));let B=y[P];B!==void 0?(N!==-1&&(_+=encodeURIComponent(L.substring(N,M)),N=-1),_+=B):N===-1&&(N=M)}}return N!==-1&&(_+=encodeURIComponent(L.substring(N))),_!==void 0?_:L}o(v,"m");function x(L){let S;for(let A=0;A1&&L.scheme==="file"?`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?S?L.path.substr(1):L.path[1].toLowerCase()+L.path.substr(2):L.path,i&&(A=A.replace(/\//g,"\\")),A}o(b,"v");function T(L,S){let A=S?x:v,_="",{scheme:N,authority:M,path:P,query:B,fragment:F}=L;if(N&&(_+=N,_+=":"),(M||N==="file")&&(_+=f,_+=f),M){let G=M.indexOf("@");if(G!==-1){let $=M.substr(0,G);M=M.substr(G+1),G=$.lastIndexOf(":"),G===-1?_+=A($,!1,!1):(_+=A($.substr(0,G),!1,!1),_+=":",_+=A($.substr(G+1),!1,!0)),_+="@"}M=M.toLowerCase(),G=M.lastIndexOf(":"),G===-1?_+=A(M,!1,!0):(_+=A(M.substr(0,G),!1,!0),_+=M.substr(G))}if(P){if(P.length>=3&&P.charCodeAt(0)===47&&P.charCodeAt(2)===58){let G=P.charCodeAt(1);G>=65&&G<=90&&(P=`/${String.fromCharCode(G+32)}:${P.substr(3)}`)}else if(P.length>=2&&P.charCodeAt(1)===58){let G=P.charCodeAt(0);G>=65&&G<=90&&(P=`${String.fromCharCode(G+32)}:${P.substr(2)}`)}_+=A(P,!0,!1)}return B&&(_+="?",_+=A(B,!1,!1)),F&&(_+="#",_+=S?F:v(F,!1,!1)),_}o(T,"b");function E(L){try{return decodeURIComponent(L)}catch{return L.length>3?L.substr(0,3)+E(L.substr(3)):L}}o(E,"C");let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(L){return L.match(w)?L.replace(w,(S=>E(S))):L}o(k,"w");var C=r(975);let D=C.posix||C,R="/";var O;(function(L){L.joinPath=function(S,...A){return S.with({path:D.join(S.path,...A)})},L.resolvePath=function(S,...A){let _=S.path,N=!1;_[0]!==R&&(_=R+_,N=!0);let M=D.resolve(_,...A);return N&&M[0]===R&&!S.authority&&(M=M.substring(1)),S.with({path:M})},L.dirname=function(S){if(S.path.length===0||S.path===R)return S;let A=D.dirname(S.path);return A.length===1&&A.charCodeAt(0)===46&&(A=""),S.with({path:A})},L.basename=function(S){return D.basename(S.path)},L.extname=function(S){return D.extname(S.path)}})(O||(O={})),Xye=n})();({URI:ia,Utils:Qy}=Xye)});var Ii,Zy,Sc=I(()=>{"use strict";vz();(function(t){t.basename=Qy.basename,t.dirname=Qy.dirname,t.extname=Qy.extname,t.joinPath=Qy.joinPath,t.resolvePath=Qy.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,l){return s?.toString()===l?.toString()}o(r,"equals"),t.equals=r;function n(s,l){let u=typeof s=="string"?ia.parse(s).path:s.path,h=typeof l=="string"?ia.parse(l).path:l.path,f=u.split("/").filter(y=>y.length>0),d=h.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),d[0]&&y.test(d[0])&&(d[0]=d[0].toLowerCase()),f[0]!==d[0])return h.substring(1)}let p=0;for(;p({name:i.name,uri:Ii.joinPath(ia.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Ii.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}}});var Nr,sT,oT,Jy=I(()=>{"use strict";jye();Jy();Rl();Ms();Sc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(Nr||(Nr={}));sT=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=Ar.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ia.parse(e.uri),Ar.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return Ar.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:Nr.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:Nr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=Nr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=Ky.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},oT=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new Zy,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return Or(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,Nr.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=Nr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=Nr.Changed;return this.documentTrie.delete(r),n}}});var Sm,lT,xz=I(()=>{"use strict";Rl();mc();ls();Nl();Jy();Sm=Symbol("RefResolving"),lT=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=Ar.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Is(e.parseResult.value))await Ti(r),Rd(i).forEach(a=>{let s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of Is(e.parseResult.value))await Ti(r),Rd(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Sm;try{let i=this.getCandidate(e);if(W0(i))n._ref=i;else{n._nodeDescription=i;let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Sm;try{let i=this.getCandidates(e),a=[];if(W0(i))n._linkingError=i;else for(let s of i){let l=this.loadAstNode(s);l&&a.push({ref:l,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(bi(this._ref))return this._ref;if(bB(this._nodeDescription)){let l=a.loadAstNode(this._nodeDescription);this._ref=l??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Sm;let l=ny(e).$document,u=a.getLinkedNode({reference:s,container:e,property:r});if(u.error&&l&&l.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(W0(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ny(e.container).$document;n&&n.state{"use strict";wc();o(Kye,"isNamed");cT=class{static{o(this,"DefaultNameProvider")}getName(e){if(Kye(e))return e.name}getNameNode(e){return x4(e.$cstNode,"name")}}});var uT,Tz=I(()=>{"use strict";wc();mc();ls();yc();Ms();Sc();Uo();uT=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Is(e.Grammar).some(r=>bc(r)&&r.isMulti)}findDeclarations(e){if(e){let r=lF(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(ra(i)||Go(i))return pC(i);if(Array.isArray(i)){for(let a of i)if((ra(a)||Go(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return pC(a)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||UB(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of Rd(n))if(Go(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>Ii.equals(a.sourceUri,r.documentUri))),n.push(...i),Or(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i);if(a){let s=os(i),l=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:l,targetUri:s.uri,targetPath:l,segment:im(a),local:!0})}}return n}}});var us,Em,Hd=I(()=>{"use strict";Ms();us=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return ty.sum(Or(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?Or(r):Dd}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Or(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Or(this.map.keys())}values(){return Or(this.map.values()).flat()}entriesGroupedByKey(){return Or(this.map.entries())}},Em=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var hT,wz=I(()=>{"use strict";ls();Rl();Hd();Nl();hT=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=Ar.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=t4,i=Ar.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,r);for(let s of n(e))await Ti(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=Ar.CancellationToken.None){let n=e.parseResult.value,i=new us;for(let a of gc(n))await Ti(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var ev,kz,fT,Trt,Sz=I(()=>{"use strict";Hd();Ms();ev=class{static{o(this,"StreamScope")}constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},kz=class{static{o(this,"MapScope")}constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?Or(i).concat(this.outerScope.getElements(e)):Or(i)}getAllElements(){let e=Or(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},fT=class{static{o(this,"MultiMapScope")}constructor(e,r,n){this.elements=new us,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?Or(n).concat(this.outerScope.getElements(e)):Or(n)}getAllElements(){let e=Or(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Trt={getElement(){},getElements(){return Dd},getAllElements(){return Dd}}});var tv,dT,Cm,Q6,rv,Z6=I(()=>{"use strict";tv=class{static{o(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},dT=class extends tv{static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Cm=class extends tv{static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},Q6=class extends Cm{static{o(this,"DocumentCache")}constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let s of a)this.clear(s)}))}},rv=class extends dT{static{o(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var pT,Ez=I(()=>{"use strict";Sz();ls();Ms();Z6();pT=class{static{o(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new rv(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=os(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(l=>this.reflection.isSubtype(l.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new ev(Or(e),r,n)}createScopeForNodes(e,r,n){let i=Or(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new ev(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new fT(this.indexManager.allElements(e)))}}});function Cz(t){return typeof t.$comment=="string"}function Qye(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var mT,J6=I(()=>{"use strict";vz();mc();ls();wc();o(Cz,"isAstNodeWithComment");o(Qye,"isIntermediateReference");mT=class{static{o(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,a=o((l,u)=>this.replacer(l,u,n),"defaultReplacer"),s=i?(l,u)=>i(l,u,a):a;try{return this.currentDocument=os(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:l}){if(!this.ignoreProperties.has(e))if(ra(r)){let u=r.ref,h=n?r.$refText:void 0;if(u){let f=os(u),d="";this.currentDocument&&this.currentDocument!==f&&(l?d=l(f.uri,u):d=f.uri.toString());let p=this.astNodeLocator.getAstNodePath(u);return{$ref:`${d}#${p}`,$refText:h}}else return{$error:r.error?.message??"Could not resolve reference",$refText:h}}else if(Go(r)){let u=n?r.$refText:void 0,h=[];for(let f of r.items){let d=f.ref,p=os(f.ref),m="";this.currentDocument&&this.currentDocument!==p&&(l?m=l(p.uri,d):m=p.uri.toString());let g=this.astNodeLocator.getAstNodePath(d);h.push(`${m}#${g}`)}return{$refs:h,$refText:u}}else if(bi(r)){let u;if(a&&(u=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(u??(u={...r}),u.$sourceText=r.$cstNode?.text),s){u??(u={...r});let h=this.commentProvider.getComment(r);h&&(u.$comment=h.replace(/\r/g,""))}return u??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=iF(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Sc();gT=class{static{o(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=Ii.extname(e),i=Ii.basename(e),a=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!a)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}});function Am(t){return{code:t}}var eA,yT,tA=I(()=>{"use strict";Yo();Hd();Nl();Ms();o(Am,"diagnosticData");(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(eA||(eA={}));yT=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new us,this.knownCategories=new Set(eA.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,l)}else _u(s)}}wrapValidationException(e,r){return async(n,i,a)=>{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(Iu(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Or(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,l)=>{await this.handleException(()=>e.call(n,i,a,s,l),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}});function Jye(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=x4(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=sF(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function rA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function eve(t){switch(t){case"error":return Am(Ml.LexingError);case"warning":return Am(Ml.LexingWarning);case"info":return Am(Ml.LexingInfo);case"hint":return Am(Ml.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Zye,vT,Ml,_z=I(()=>{"use strict";Rl();wc();ls();yc();Nl();tA();Zye=Object.freeze({validateNode:!0,validateChildren:!0}),vT=class{static{o(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=Ar.CancellationToken.None){let i=e.parseResult,a=[];if(await Ti(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===Ml.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===Ml.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===Ml.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(Iu(s))throw s;console.error("An error occurred during validation:",s)}return await Ti(n),a}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of i){let s=a.severity??"error",l={severity:rA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:eve(s),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=fy(i.token);if(a){let s={severity:rA("error"),range:a,message:i.message,data:Am(Ml.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Ml.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=Ar.CancellationToken.None){let i=[],a=o((s,l,u)=>{i.push(this.toDiagnostic(s,l,u))},"acceptor");return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=Ar.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let s of a)await Ti(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=Ar.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let s=Is(e).iterator();for(let l of s){a.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{let h=this.validationRegistry.getChecks(l.$type,r.categories);for(let f of h)await f(l,n,i)}finally{a.stopSubTask(l.$type)}u.validateChildren||s.prune()}}finally{a.stop()}}else{let a=Is(e).iterator();for(let s of a){await Ti(i);let l=this.validateSingleNodeOptions(s,r);if(l.validateNode){let u=this.validationRegistry.getChecks(s.$type,r.categories);for(let h of u)await h(s,n,i)}l.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return Zye}async validateAstAfter(e,r,n,i=Ar.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let s of a)await Ti(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:Jye(n),severity:rA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(Jye,"getDiagnosticRange");o(rA,"toDiagnosticSeverity");o(eve,"toDiagnosticData");(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ml||(Ml={}))});var xT,bT,Dz=I(()=>{"use strict";Rl();mc();ls();yc();Nl();Sc();xT=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??os(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s,l=o(()=>s??(s=im(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:im(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},bT=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=Ar.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Is(i))await Ti(r),Rd(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ra(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Go(r)&&(n=r.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let i=os(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],l=im(r.$refNode);for(let u of n)s.push({sourceUri:i,sourcePath:a,targetUri:u.documentUri,targetPath:u.path,segment:l,local:Ii.equals(u.documentUri,i)});return s}}});var TT,Rz=I(()=>{"use strict";TT=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1));return i[l]?.[u]}return i[a]},e)}}});var ui={};var nA=I(()=>{"use strict";$r(ui,Aa(km(),1))});var wT,Lz=I(()=>{"use strict";nA();Nl();wT=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new zs,this.onConfigurationSectionUpdateEmitter=new ui.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}});var rG=Jt(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.Message=ir.NotificationType9=ir.NotificationType8=ir.NotificationType7=ir.NotificationType6=ir.NotificationType5=ir.NotificationType4=ir.NotificationType3=ir.NotificationType2=ir.NotificationType1=ir.NotificationType0=ir.NotificationType=ir.RequestType9=ir.RequestType8=ir.RequestType7=ir.RequestType6=ir.RequestType5=ir.RequestType4=ir.RequestType3=ir.RequestType2=ir.RequestType1=ir.RequestType=ir.RequestType0=ir.AbstractMessageSignature=ir.ParameterStructures=ir.ResponseError=ir.ErrorCodes=void 0;var _m=Yy(),Nz;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(Nz||(ir.ErrorCodes=Nz={}));var Mz=class t extends Error{static{o(this,"ResponseError")}constructor(e,r,n){super(r),this.code=_m.number(e)?e:Nz.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ir.ResponseError=Mz;var bo=class t{static{o(this,"ParameterStructures")}constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ir.ParameterStructures=bo;bo.auto=new bo("auto");bo.byPosition=new bo("byPosition");bo.byName=new bo("byName");var Jn=class{static{o(this,"AbstractMessageSignature")}constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return bo.auto}};ir.AbstractMessageSignature=Jn;var Iz=class extends Jn{static{o(this,"RequestType0")}constructor(e){super(e,0)}};ir.RequestType0=Iz;var Oz=class extends Jn{static{o(this,"RequestType")}constructor(e,r=bo.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ir.RequestType=Oz;var Pz=class extends Jn{static{o(this,"RequestType1")}constructor(e,r=bo.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ir.RequestType1=Pz;var Bz=class extends Jn{static{o(this,"RequestType2")}constructor(e){super(e,2)}};ir.RequestType2=Bz;var Fz=class extends Jn{static{o(this,"RequestType3")}constructor(e){super(e,3)}};ir.RequestType3=Fz;var $z=class extends Jn{static{o(this,"RequestType4")}constructor(e){super(e,4)}};ir.RequestType4=$z;var zz=class extends Jn{static{o(this,"RequestType5")}constructor(e){super(e,5)}};ir.RequestType5=zz;var Gz=class extends Jn{static{o(this,"RequestType6")}constructor(e){super(e,6)}};ir.RequestType6=Gz;var Vz=class extends Jn{static{o(this,"RequestType7")}constructor(e){super(e,7)}};ir.RequestType7=Vz;var qz=class extends Jn{static{o(this,"RequestType8")}constructor(e){super(e,8)}};ir.RequestType8=qz;var Uz=class extends Jn{static{o(this,"RequestType9")}constructor(e){super(e,9)}};ir.RequestType9=Uz;var Wz=class extends Jn{static{o(this,"NotificationType")}constructor(e,r=bo.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ir.NotificationType=Wz;var Hz=class extends Jn{static{o(this,"NotificationType0")}constructor(e){super(e,0)}};ir.NotificationType0=Hz;var Yz=class extends Jn{static{o(this,"NotificationType1")}constructor(e,r=bo.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ir.NotificationType1=Yz;var jz=class extends Jn{static{o(this,"NotificationType2")}constructor(e){super(e,2)}};ir.NotificationType2=jz;var Xz=class extends Jn{static{o(this,"NotificationType3")}constructor(e){super(e,3)}};ir.NotificationType3=Xz;var Kz=class extends Jn{static{o(this,"NotificationType4")}constructor(e){super(e,4)}};ir.NotificationType4=Kz;var Qz=class extends Jn{static{o(this,"NotificationType5")}constructor(e){super(e,5)}};ir.NotificationType5=Qz;var Zz=class extends Jn{static{o(this,"NotificationType6")}constructor(e){super(e,6)}};ir.NotificationType6=Zz;var Jz=class extends Jn{static{o(this,"NotificationType7")}constructor(e){super(e,7)}};ir.NotificationType7=Jz;var eG=class extends Jn{static{o(this,"NotificationType8")}constructor(e){super(e,8)}};ir.NotificationType8=eG;var tG=class extends Jn{static{o(this,"NotificationType9")}constructor(e){super(e,9)}};ir.NotificationType9=tG;var tve;(function(t){function e(i){let a=i;return a&&_m.string(a.method)&&(_m.string(a.id)||_m.number(a.id))}o(e,"isRequest"),t.isRequest=e;function r(i){let a=i;return a&&_m.string(a.method)&&i.id===void 0}o(r,"isNotification"),t.isNotification=r;function n(i){let a=i;return a&&(a.result!==void 0||!!a.error)&&(_m.string(a.id)||_m.number(a.id)||a.id===null)}o(n,"isResponse"),t.isResponse=n})(tve||(ir.Message=tve={}))});var iG=Jt(Yd=>{"use strict";var rve;Object.defineProperty(Yd,"__esModule",{value:!0});Yd.LRUCache=Yd.LinkedMap=Yd.Touch=void 0;var hs;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(hs||(Yd.Touch=hs={}));var iA=class{static{o(this,"LinkedMap")}constructor(){this[rve]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=hs.None){let n=this._map.get(e);if(n)return r!==hs.None&&this.touch(n,r),n.value}set(e,r,n=hs.None){let i=this._map.get(e);if(i)i.value=r,n!==hs.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case hs.None:this.addItemLast(i);break;case hs.First:this.addItemFirst(i);break;case hs.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}[(rve=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==hs.First&&r!==hs.Last)){if(r===hs.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===hs.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Yd.LinkedMap=iA;var nG=class extends iA{static{o(this,"LRUCache")}constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=hs.AsNew){return super.get(e,r)}peek(e){return super.get(e,hs.None)}set(e,r){return super.set(e,r,hs.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Yd.LRUCache=nG});var ive=Jt(aA=>{"use strict";Object.defineProperty(aA,"__esModule",{value:!0});aA.Disposable=void 0;var nve;(function(t){function e(r){return{dispose:r}}o(e,"create"),t.create=e})(nve||(aA.Disposable=nve={}))});var ave=Jt(nv=>{"use strict";Object.defineProperty(nv,"__esModule",{value:!0});nv.SharedArrayReceiverStrategy=nv.SharedArraySenderStrategy=void 0;var wrt=aT(),kT;(function(t){t.Continue=0,t.Cancelled=1})(kT||(kT={}));var aG=class{static{o(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=kT.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,kT.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};nv.SharedArraySenderStrategy=aG;var sG=class{static{o(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===kT.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},oG=class{static{o(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new sG(e)}cancel(){}dispose(){}},lG=class{static{o(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new wrt.CancellationTokenSource:new oG(r)}};nv.SharedArrayReceiverStrategy=lG});var uG=Jt(sA=>{"use strict";Object.defineProperty(sA,"__esModule",{value:!0});sA.Semaphore=void 0;var krt=Wd(),cG=class{static{o(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,krt.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};sA.Semaphore=cG});var ove=Jt(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});jd.ReadableStreamMessageReader=jd.AbstractMessageReader=jd.MessageReader=void 0;var fG=Wd(),iv=Yy(),hG=km(),Srt=uG(),sve;(function(t){function e(r){let n=r;return n&&iv.func(n.listen)&&iv.func(n.dispose)&&iv.func(n.onError)&&iv.func(n.onClose)&&iv.func(n.onPartialMessage)}o(e,"is"),t.is=e})(sve||(jd.MessageReader=sve={}));var oA=class{static{o(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new hG.Emitter,this.closeEmitter=new hG.Emitter,this.partialMessageEmitter=new hG.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${iv.string(e.message)?e.message:"unknown"}`)}};jd.AbstractMessageReader=oA;var dG;(function(t){function e(r){let n,i,a,s=new Map,l,u=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(a=r.contentDecoder,s.set(a.name,a)),r.contentDecoders!==void 0)for(let h of r.contentDecoders)s.set(h.name,h);if(r.contentTypeDecoder!==void 0&&(l=r.contentTypeDecoder,u.set(l.name,l)),r.contentTypeDecoders!==void 0)for(let h of r.contentTypeDecoders)u.set(h.name,h)}return l===void 0&&(l=(0,fG.default)().applicationJson.decoder,u.set(l.name,l)),{charset:n,contentDecoder:a,contentDecoders:s,contentTypeDecoder:l,contentTypeDecoders:u}}o(e,"fromOptions"),t.fromOptions=e})(dG||(dG={}));var pG=class extends oA{static{o(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=dG.fromOptions(r),this.buffer=(0,fG.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new Srt.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property. -${JSON.stringify(Object.fromEntries(n))}`));return}let a=parseInt(i);if(isNaN(a)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=a}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,fG.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};jd.ReadableStreamMessageReader=pG});var fve=Jt(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.WriteableStreamMessageWriter=Xd.AbstractMessageWriter=Xd.MessageWriter=void 0;var lve=Wd(),ST=Yy(),Ert=uG(),cve=km(),Crt="Content-Length: ",uve=`\r -`,hve;(function(t){function e(r){let n=r;return n&&ST.func(n.dispose)&&ST.func(n.onClose)&&ST.func(n.onError)&&ST.func(n.write)}o(e,"is"),t.is=e})(hve||(Xd.MessageWriter=hve={}));var lA=class{static{o(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new cve.Emitter,this.closeEmitter=new cve.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${ST.string(e.message)?e.message:"unknown"}`)}};Xd.AbstractMessageWriter=lA;var mG;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,lve.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,lve.default)().applicationJson.encoder}}o(e,"fromOptions"),t.fromOptions=e})(mG||(mG={}));var gG=class extends lA{static{o(this,"WriteableStreamMessageWriter")}constructor(e,r){super(),this.writable=e,this.options=mG.fromOptions(r),this.errorCount=0,this.writeSemaphore=new Ert.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(Crt,n.byteLength.toString(),uve),i.push(uve),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Xd.WriteableStreamMessageWriter=gG});var dve=Jt(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.AbstractMessageBuffer=void 0;var Art=13,_rt=10,Drt=`\r -`,yG=class{static{o(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,a=0;e:for(;nthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let a=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(a)}if(this._chunks[0].byteLength>e){let a=this._chunks[0],s=this.asNative(a,e);return this._chunks[0]=a.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let a=this._chunks[i];if(a.byteLength>e){let s=a.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=a.slice(e),this._totalLength-=e,e-=e}else r.set(a,n),n+=a.byteLength,this._chunks.shift(),this._totalLength-=a.byteLength,e-=a.byteLength}return r}};cA.AbstractMessageBuffer=yG});var vve=Jt(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.createMessageConnection=Cr.ConnectionOptions=Cr.MessageStrategy=Cr.CancellationStrategy=Cr.CancellationSenderStrategy=Cr.CancellationReceiverStrategy=Cr.RequestCancellationReceiverStrategy=Cr.IdCancellationReceiverStrategy=Cr.ConnectionStrategy=Cr.ConnectionError=Cr.ConnectionErrors=Cr.LogTraceNotification=Cr.SetTraceNotification=Cr.TraceFormat=Cr.TraceValues=Cr.Trace=Cr.NullLogger=Cr.ProgressType=Cr.ProgressToken=void 0;var pve=Wd(),wi=Yy(),yr=rG(),mve=iG(),ET=km(),vG=aT(),_T;(function(t){t.type=new yr.NotificationType("$/cancelRequest")})(_T||(_T={}));var xG;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}o(e,"is"),t.is=e})(xG||(Cr.ProgressToken=xG={}));var CT;(function(t){t.type=new yr.NotificationType("$/progress")})(CT||(CT={}));var bG=class{static{o(this,"ProgressType")}constructor(){}};Cr.ProgressType=bG;var TG;(function(t){function e(r){return wi.func(r)}o(e,"is"),t.is=e})(TG||(TG={}));Cr.NullLogger=Object.freeze({error:o(()=>{},"error"),warn:o(()=>{},"warn"),info:o(()=>{},"info"),log:o(()=>{},"log")});var pn;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(pn||(Cr.Trace=pn={}));var gve;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(gve||(Cr.TraceValues=gve={}));(function(t){function e(n){if(!wi.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}o(e,"fromString"),t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}o(r,"toString"),t.toString=r})(pn||(Cr.Trace=pn={}));var jo;(function(t){t.Text="text",t.JSON="json"})(jo||(Cr.TraceFormat=jo={}));(function(t){function e(r){return wi.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}o(e,"fromString"),t.fromString=e})(jo||(Cr.TraceFormat=jo={}));var wG;(function(t){t.type=new yr.NotificationType("$/setTrace")})(wG||(Cr.SetTraceNotification=wG={}));var uA;(function(t){t.type=new yr.NotificationType("$/logTrace")})(uA||(Cr.LogTraceNotification=uA={}));var AT;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(AT||(Cr.ConnectionErrors=AT={}));var av=class t extends Error{static{o(this,"ConnectionError")}constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Cr.ConnectionError=av;var kG;(function(t){function e(r){let n=r;return n&&wi.func(n.cancelUndispatched)}o(e,"is"),t.is=e})(kG||(Cr.ConnectionStrategy=kG={}));var hA;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&wi.func(n.createCancellationTokenSource)&&(n.dispose===void 0||wi.func(n.dispose))}o(e,"is"),t.is=e})(hA||(Cr.IdCancellationReceiverStrategy=hA={}));var SG;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&wi.func(n.createCancellationTokenSource)&&(n.dispose===void 0||wi.func(n.dispose))}o(e,"is"),t.is=e})(SG||(Cr.RequestCancellationReceiverStrategy=SG={}));var fA;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new vG.CancellationTokenSource}});function e(r){return hA.is(r)||SG.is(r)}o(e,"is"),t.is=e})(fA||(Cr.CancellationReceiverStrategy=fA={}));var dA;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(_T.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&wi.func(n.sendCancellation)&&wi.func(n.cleanup)}o(e,"is"),t.is=e})(dA||(Cr.CancellationSenderStrategy=dA={}));var pA;(function(t){t.Message=Object.freeze({receiver:fA.Message,sender:dA.Message});function e(r){let n=r;return n&&fA.is(n.receiver)&&dA.is(n.sender)}o(e,"is"),t.is=e})(pA||(Cr.CancellationStrategy=pA={}));var mA;(function(t){function e(r){let n=r;return n&&wi.func(n.handleMessage)}o(e,"is"),t.is=e})(mA||(Cr.MessageStrategy=mA={}));var yve;(function(t){function e(r){let n=r;return n&&(pA.is(n.cancellationStrategy)||kG.is(n.connectionStrategy)||mA.is(n.messageStrategy))}o(e,"is"),t.is=e})(yve||(Cr.ConnectionOptions=yve={}));var Ec;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Ec||(Ec={}));function Rrt(t,e,r,n){let i=r!==void 0?r:Cr.NullLogger,a=0,s=0,l=0,u="2.0",h,f=new Map,d,p=new Map,m=new Map,g,y=new mve.LinkedMap,v=new Map,x=new Set,b=new Map,T=pn.Off,E=jo.Text,w,k=Ec.New,C=new ET.Emitter,D=new ET.Emitter,R=new ET.Emitter,O=new ET.Emitter,L=new ET.Emitter,S=n&&n.cancellationStrategy?n.cancellationStrategy:pA.Message;function A(Y){if(Y===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Y.toString()}o(A,"createRequestQueueKey");function _(Y){return Y===null?"res-unknown-"+(++l).toString():"res-"+Y.toString()}o(_,"createResponseQueueKey");function N(){return"not-"+(++s).toString()}o(N,"createNotificationQueueKey");function M(Y,ce){yr.Message.isRequest(ce)?Y.set(A(ce.id),ce):yr.Message.isResponse(ce)?Y.set(_(ce.id),ce):Y.set(N(),ce)}o(M,"addMessageToQueue");function P(Y){}o(P,"cancelUndispatched");function B(){return k===Ec.Listening}o(B,"isListening");function F(){return k===Ec.Closed}o(F,"isClosed");function G(){return k===Ec.Disposed}o(G,"isDisposed");function $(){(k===Ec.New||k===Ec.Listening)&&(k=Ec.Closed,D.fire(void 0))}o($,"closeHandler");function V(Y){C.fire([Y,void 0,void 0])}o(V,"readErrorHandler");function K(Y){C.fire(Y)}o(K,"writeErrorHandler"),t.onClose($),t.onError(V),e.onClose($),e.onError(K);function ee(){g||y.size===0||(g=(0,pve.default)().timer.setImmediate(()=>{g=void 0,he()}))}o(ee,"triggerMessageQueue");function H(Y){yr.Message.isRequest(Y)?de(Y):yr.Message.isNotification(Y)?ne(Y):yr.Message.isResponse(Y)?re(Y):te(Y)}o(H,"handleMessage");function he(){if(y.size===0)return;let Y=y.shift();try{let ce=n?.messageStrategy;mA.is(ce)?ce.handleMessage(Y,H):H(Y)}finally{ee()}}o(he,"processMessageQueue");let Z=o(Y=>{try{if(yr.Message.isNotification(Y)&&Y.method===_T.type.method){let ce=Y.params.id,U=A(ce),ue=y.get(U);if(yr.Message.isRequest(ue)){let se=n?.connectionStrategy,oe=se&&se.cancelUndispatched?se.cancelUndispatched(ue,P):void 0;if(oe&&(oe.error!==void 0||oe.result!==void 0)){y.delete(U),b.delete(ce),oe.id=ue.id,ge(oe,Y.method,Date.now()),e.write(oe).catch(()=>i.error("Sending response for canceled message failed."));return}}let z=b.get(ce);if(z!==void 0){z.cancel(),Te(Y);return}else x.add(ce)}M(y,Y)}finally{ee()}},"callback");function de(Y){if(G())return;function ce(pe,me,De){let Ce={jsonrpc:u,id:Y.id};pe instanceof yr.ResponseError?Ce.error=pe.toJson():Ce.result=pe===void 0?null:pe,ge(Ce,me,De),e.write(Ce).catch(()=>i.error("Sending response failed."))}o(ce,"reply");function U(pe,me,De){let Ce={jsonrpc:u,id:Y.id,error:pe.toJson()};ge(Ce,me,De),e.write(Ce).catch(()=>i.error("Sending response failed."))}o(U,"replyError");function ue(pe,me,De){pe===void 0&&(pe=null);let Ce={jsonrpc:u,id:Y.id,result:pe};ge(Ce,me,De),e.write(Ce).catch(()=>i.error("Sending response failed."))}o(ue,"replySuccess"),ie(Y);let z=f.get(Y.method),se,oe;z&&(se=z.type,oe=z.handler);let be=Date.now();if(oe||h){let pe=Y.id??String(Date.now()),me=hA.is(S.receiver)?S.receiver.createCancellationTokenSource(pe):S.receiver.createCancellationTokenSource(Y);Y.id!==null&&x.has(Y.id)&&me.cancel(),Y.id!==null&&b.set(pe,me);try{let De;if(oe)if(Y.params===void 0){if(se!==void 0&&se.numberOfParams!==0){U(new yr.ResponseError(yr.ErrorCodes.InvalidParams,`Request ${Y.method} defines ${se.numberOfParams} params but received none.`),Y.method,be);return}De=oe(me.token)}else if(Array.isArray(Y.params)){if(se!==void 0&&se.parameterStructures===yr.ParameterStructures.byName){U(new yr.ResponseError(yr.ErrorCodes.InvalidParams,`Request ${Y.method} defines parameters by name but received parameters by position`),Y.method,be);return}De=oe(...Y.params,me.token)}else{if(se!==void 0&&se.parameterStructures===yr.ParameterStructures.byPosition){U(new yr.ResponseError(yr.ErrorCodes.InvalidParams,`Request ${Y.method} defines parameters by position but received parameters by name`),Y.method,be);return}De=oe(Y.params,me.token)}else h&&(De=h(Y.method,Y.params,me.token));let Ce=De;De?Ce.then?Ce.then(Fe=>{b.delete(pe),ce(Fe,Y.method,be)},Fe=>{b.delete(pe),Fe instanceof yr.ResponseError?U(Fe,Y.method,be):Fe&&wi.string(Fe.message)?U(new yr.ResponseError(yr.ErrorCodes.InternalError,`Request ${Y.method} failed with message: ${Fe.message}`),Y.method,be):U(new yr.ResponseError(yr.ErrorCodes.InternalError,`Request ${Y.method} failed unexpectedly without providing any details.`),Y.method,be)}):(b.delete(pe),ce(De,Y.method,be)):(b.delete(pe),ue(De,Y.method,be))}catch(De){b.delete(pe),De instanceof yr.ResponseError?ce(De,Y.method,be):De&&wi.string(De.message)?U(new yr.ResponseError(yr.ErrorCodes.InternalError,`Request ${Y.method} failed with message: ${De.message}`),Y.method,be):U(new yr.ResponseError(yr.ErrorCodes.InternalError,`Request ${Y.method} failed unexpectedly without providing any details.`),Y.method,be)}}else U(new yr.ResponseError(yr.ErrorCodes.MethodNotFound,`Unhandled method ${Y.method}`),Y.method,be)}o(de,"handleRequest");function re(Y){if(!G())if(Y.id===null)Y.error?i.error(`Received response message without id: Error is: -${JSON.stringify(Y.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let ce=Y.id,U=v.get(ce);if(j(Y,U),U!==void 0){v.delete(ce);try{if(Y.error){let ue=Y.error;U.reject(new yr.ResponseError(ue.code,ue.message,ue.data))}else if(Y.result!==void 0)U.resolve(Y.result);else throw new Error("Should never happen.")}catch(ue){ue.message?i.error(`Response handler '${U.method}' failed with message: ${ue.message}`):i.error(`Response handler '${U.method}' failed unexpectedly.`)}}}}o(re,"handleResponse");function ne(Y){if(G())return;let ce,U;if(Y.method===_T.type.method){let ue=Y.params.id;x.delete(ue),Te(Y);return}else{let ue=p.get(Y.method);ue&&(U=ue.handler,ce=ue.type)}if(U||d)try{if(Te(Y),U)if(Y.params===void 0)ce!==void 0&&ce.numberOfParams!==0&&ce.parameterStructures!==yr.ParameterStructures.byName&&i.error(`Notification ${Y.method} defines ${ce.numberOfParams} params but received none.`),U();else if(Array.isArray(Y.params)){let ue=Y.params;Y.method===CT.type.method&&ue.length===2&&xG.is(ue[0])?U({token:ue[0],value:ue[1]}):(ce!==void 0&&(ce.parameterStructures===yr.ParameterStructures.byName&&i.error(`Notification ${Y.method} defines parameters by name but received parameters by position`),ce.numberOfParams!==Y.params.length&&i.error(`Notification ${Y.method} defines ${ce.numberOfParams} params but received ${ue.length} arguments`)),U(...ue))}else ce!==void 0&&ce.parameterStructures===yr.ParameterStructures.byPosition&&i.error(`Notification ${Y.method} defines parameters by position but received parameters by name`),U(Y.params);else d&&d(Y.method,Y.params)}catch(ue){ue.message?i.error(`Notification handler '${Y.method}' failed with message: ${ue.message}`):i.error(`Notification handler '${Y.method}' failed unexpectedly.`)}else R.fire(Y)}o(ne,"handleNotification");function te(Y){if(!Y){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message: -${JSON.stringify(Y,null,4)}`);let ce=Y;if(wi.string(ce.id)||wi.number(ce.id)){let U=ce.id,ue=v.get(U);ue&&ue.reject(new Error("The received response has neither a result nor an error property."))}}o(te,"handleInvalidMessage");function Q(Y){if(Y!=null)switch(T){case pn.Verbose:return JSON.stringify(Y,null,4);case pn.Compact:return JSON.stringify(Y);default:return}}o(Q,"stringifyTrace");function le(Y){if(!(T===pn.Off||!w))if(E===jo.Text){let ce;(T===pn.Verbose||T===pn.Compact)&&Y.params&&(ce=`Params: ${Q(Y.params)} +`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return on.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return on.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}o(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}o(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})(Ye||(Ye={}))});var u4,h4,wm,km,gz,Jy,Q6=O(()=>{"use strict";Zy();Sc();u4=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Jy(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new km;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new wm(e.startOffset,e.image.length,by(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let a of e){let s=new wm(a.startOffset,a.image.length,by(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},h4=class{static{o(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},wm=class extends h4{static{o(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},km=class extends h4{static{o(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new gz(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},gz=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},Jy=class extends km{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function yz(t){return t.$type===Z6}var Z6,xve,bve,f4,d4,J6,ev,p4,Fnt,eA,vz,m4=O(()=>{"use strict";Zo();Hd();vve();Zo();Rc();us();Q6();Z6=Symbol("Datatype");o(yz,"isDataTypeNode");xve="\u200B",bve=o(t=>t.endsWith(xve)?t:t+xve,"withRuleSuffix"),f4=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new vz(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new eA(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},d4=class extends f4{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new u4,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;Gd(e)&&(i=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(bve(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Sa(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let a=!this.isRecording()&&e!==void 0;if(a){let s={$type:e};this.stack.push(s),e===Z6?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,crossRef:u}=this.getAssignment(n),h=this.current;if(l){let f=Pl(n)?i.image:this.converter.convert(i.image,s);this.assign(l.operator,l.feature,f,s,u)}else if(yz(h)){let f=i.image;Pl(n)||(f=this.converter.convert(f,s).toString()),h.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let l;try{l=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(l===void 0&&!n&&(l=this.construct()),l!==void 0&&s&&s.length>0&&this.performSubruleAssignment(l,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let s=this.current;if(yz(s))s.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):yz(e)?this.converter.convert(e.value,e.$cstNode):($B(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let y=0;ys?(s=x.precedence,a=y):x.precedence===s&&(x.rightAssoc||(a=y))}let l=i.slice(0,a),u=i.slice(a+1),h=n.slice(0,a+1),f=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:u},m=this.constructInfix(d,r),g=this.constructInfix(p,r);return{$type:e.$type,$cstNode:e.$cstNode,left:m,operator:i[a],right:g}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=zh(e,Ac);this.assignmentMap.set(e,{assignment:r,crossRef:r&&_c(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let s=this.current,l;switch(a==="single"&&typeof n=="string"?l=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?l=this.linker.buildMultiReference(s,r,i,n):l=n,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[i,a]of Object.entries(r)){let s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},J6=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Qh.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Qh.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Qh.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Qh.buildEarlyExitMessage(e)}},ev=class extends J6{static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},p4=class extends f4{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(bve(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},Fnt={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new ev},eA=class extends ZT{static{o(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...Fnt,lookaheadStrategy:n?new Zh({maxLookahead:r.maxLookahead}):new r4({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},vz=class extends eA{static{o(this,"ProfilerWrapper")}constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}});function g4(t,e,r){return $nt({parser:e,tokens:r,ruleNames:new Map},t),e}function $nt(t,e){let r=RT(e,!1),n=Hr(e.rules).filter(Sa).filter(a=>r.has(a));for(let a of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,Em(s,a.definition))}let i=Hr(e.rules).filter(Gd).filter(a=>r.has(a));for(let a of i)t.parser.rule(a,znt(t,a))}function znt(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Bs(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(m=>m.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);let u={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},h={...a,$container:s};s.elements.push(u,h);let d=n.map(m=>t.tokens[m.value]).map((m,g)=>({ALT:o(()=>t.parser.consume(g,m,u),"ALT")})),p;return m=>{p??(p=bz(t,r)),t.parser.subrule(0,p,!1,a,m),t.parser.many(0,{DEF:o(()=>{t.parser.alternatives(0,d),t.parser.subrule(1,p,!1,h,m)},"DEF")})}}function Em(t,e,r=!1){let n;if(Pl(e))n=Ynt(t,e);else if(Uh(e))n=Gnt(t,e);else if(Ac(e))n=Em(t,e.terminal);else if(_c(e))n=Tve(t,e);else if(Dc(e))n=Vnt(t,e);else if(VC(e))n=Unt(t,e);else if(HC(e))n=Wnt(t,e);else if(zd(e))n=Hnt(t,e);else if(HB(e)){let i=t.consume++;n=o(()=>t.parser.consume(i,el,e),"method")}else throw new lm(e.$cstNode,`Unexpected element type: ${e.$type}`);return wve(t,r?void 0:tA(e),n,e.cardinality)}function Gnt(t,e){let r=qd(e);return()=>t.parser.action(r,e)}function Vnt(t,e){let r=e.rule.ref;if(qh(r)){let n=t.subrule++,i=Sa(r)&&r.fragment,a=e.arguments.length>0?qnt(r,e.arguments):()=>({}),s;return l=>{s??(s=bz(t,r)),t.parser.subrule(n,s,i,e,a(l))}}else if(Bs(r)){let n=t.consume++,i=xz(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Ou(r);else throw new lm(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function qnt(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:$u(i.value)}));return i=>{let a={};for(let{parameterName:s,predicate:l}of n)s&&(a[s]=l(i));return a}}else{let n=e.map(i=>$u(i.value));return i=>{let a={};for(let s=0;se(n)||r(n)}else if(UB(t)){let e=$u(t.left),r=$u(t.right);return n=>e(n)&&r(n)}else if(XB(t)){let e=$u(t.value);return r=>!e(r)}else if(KB(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(VB(t)){let e=!!t.true;return()=>e}Ou(t)}function Unt(t,e){if(e.elements.length===1)return Em(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:Em(t,i,!0)},s=tA(i);s&&(a.GATE=$u(s)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let s={ALT:o(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(i)),s}))}}function Wnt(t,e){if(e.elements.length===1)return Em(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:Em(t,l,!0)},h=tA(l);h&&(u.GATE=$u(h)),r.push(u)}let n=t.or++,i=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[h],f})),"alternatives"),s=wve(t,tA(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function Hnt(t,e){let r=e.elements.map(n=>Em(t,n));return n=>r.forEach(i=>i(n))}function tA(t){if(zd(t))return t.guardCondition}function Tve(t,e,r=e.terminal){if(r)if(Dc(r)&&Sa(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,a;return s=>{a??(a=bz(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(Dc(r)&&Bs(r.rule.ref)){let n=t.consume++,i=xz(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Pl(r)){let n=t.consume++,i=xz(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=JC(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+qd(e.type.ref));return Tve(t,e,i)}}function Ynt(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wve(t,e,r,n){let i=e&&$u(e);if(!n)if(i){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>i(s),"GATE")},{ALT:$6(),GATE:o(()=>!i(s),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){let a=t.many++;if(i){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>i(l),"GATE")},{ALT:$6(),GATE:o(()=>!i(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(n==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else Ou(n)}function bz(t,e){let r=jnt(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function jnt(t,e){if(qh(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Sa(n);)(zd(n)||VC(n)||HC(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function xz(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var rA=O(()=>{"use strict";Hd();Zo();XC();Os();Rc();o(g4,"createParser");o($nt,"buildRules");o(znt,"buildInfixRule");o(Em,"buildElement");o(Gnt,"buildAction");o(Vnt,"buildRuleCall");o(qnt,"buildRuleCallPredicate");o($u,"buildPredicate");o(Unt,"buildAlternatives");o(Wnt,"buildUnorderedGroup");o(Hnt,"buildGroup");o(tA,"getGuardCondition");o(Tve,"buildCrossReference");o(Ynt,"buildKeyword");o(wve,"wrap");o(bz,"getRule");o(jnt,"getRuleName");o(xz,"getToken")});function Tz(t){let e=t.Grammar,r=t.parser.Lexer,n=new p4(t);return g4(e,n,r.definition),n.finalize(),n}var wz=O(()=>{"use strict";m4();rA();o(Tz,"createCompletionParser")});function kz(t){let e=kve(t);return e.finalize(),e}function kve(t){let e=t.Grammar,r=t.parser.Lexer,n=new d4(t);return g4(e,n,r.definition)}var Ez=O(()=>{"use strict";m4();rA();o(kz,"createLangiumParser");o(kve,"prepareLangiumParser")});var ef,nA=O(()=>{"use strict";Hd();Zo();us();Rc();wy();Os();ef=class{static{o(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=Hr(RT(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Bs).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=ky(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=DT(r)?fi.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(qh).flatMap(i=>Ec(i).filter(Pl)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(Vd(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&mF("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var Sm,zu,Sz=O(()=>{"use strict";Zo();Rc();Sm=class{static{o(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(_c(n)&&(n=vF(n)),Dc(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return zu.convertInt(r);case"STRING":return zu.convertString(r);case"ID":return zu.convertID(r)}switch(SF(e)?.toLowerCase()){case"number":return zu.convertNumber(r);case"boolean":return zu.convertBoolean(r);case"bigint":return zu.convertBigint(r);case"date":return zu.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(_z,"__esModule",{value:!0});var Cz;function Az(){if(Cz===void 0)throw new Error("No runtime abstraction layer installed");return Cz}o(Az,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Cz=r}o(e,"install"),t.install=e})(Az||(Az={}));_z.default=Az});var tv=nr(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.stringArray=hs.array=hs.func=hs.error=hs.number=hs.string=hs.boolean=void 0;function Xnt(t){return t===!0||t===!1}o(Xnt,"boolean");hs.boolean=Xnt;function Eve(t){return typeof t=="string"||t instanceof String}o(Eve,"string");hs.string=Eve;function Knt(t){return typeof t=="number"||t instanceof Number}o(Knt,"number");hs.number=Knt;function Qnt(t){return t instanceof Error}o(Qnt,"error");hs.error=Qnt;function Znt(t){return typeof t=="function"}o(Znt,"func");hs.func=Znt;function Sve(t){return Array.isArray(t)}o(Sve,"array");hs.array=Sve;function Jnt(t){return Sve(t)&&t.every(e=>Eve(e))}o(Jnt,"stringArray");hs.stringArray=Jnt});var Cm=nr(rv=>{"use strict";Object.defineProperty(rv,"__esModule",{value:!0});rv.Emitter=rv.Event=void 0;var eit=Xd(),Cve;(function(t){let e={dispose(){}};t.None=function(){return e}})(Cve||(rv.Event=Cve={}));var Dz=class{static{o(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new Dz),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};rv.Emitter=iA;iA._noop=function(){}});var y4=nr(nv=>{"use strict";Object.defineProperty(nv,"__esModule",{value:!0});nv.CancellationTokenSource=nv.CancellationToken=void 0;var tit=Xd(),rit=tv(),Rz=Cm(),aA;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Rz.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Rz.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||rit.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}o(e,"is"),t.is=e})(aA||(nv.CancellationToken=aA={}));var nit=Object.freeze(function(t,e){let r=(0,tit.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),sA=class{static{o(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?nit:(this._emitter||(this._emitter=new Rz.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Lz=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new sA),this._token}cancel(){this._token?this._token.cancel():this._token=aA.Cancelled}dispose(){this._token?this._token instanceof sA&&this._token.dispose():this._token=aA.None}};nv.CancellationTokenSource=Lz});var Nr={};var Bl=O(()=>{"use strict";jr(Nr,Ra(y4(),1))});function Nz(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function lA(){return oA=performance.now(),new Nr.CancellationTokenSource}function _ve(t){Ave=t}function Gu(t){return t===Fl}async function Ci(t){if(t===Nr.CancellationToken.None)return;let e=performance.now();if(e-oA>=Ave&&(oA=e,await Nz(),oA=performance.now()),t.isCancellationRequested)throw Fl}var oA,Ave,Fl,Vs,$l=O(()=>{"use strict";Bl();o(Nz,"delayNextTick");oA=0,Ave=10;o(lA,"startCancelableOperation");o(_ve,"setInterruptionPeriod");Fl=Symbol("OperationCancelled");o(Gu,"isOperationCancelled");o(Ci,"interruptAndCheck");Vs=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function Mz(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Mz(n,e),Mz(i,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function iit(t){let e=Lve(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var cA,iv,Nve=O(()=>{"use strict";cA=class t{static{o(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=Lve(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=Dve(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=s:n=s+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&Rve(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,s,l){return new cA(i,a,s,l)}o(e,"create"),t.create=e;function r(i,a,s){if(i instanceof cA)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function n(i,a){let s=i.getText(),l=Mz(a.map(iit),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(n,"applyEdits"),t.applyEdits=n})(iv||(iv={}));o(Mz,"mergeSort");o(Dve,"computeLineOffsets");o(Rve,"isEOL");o(Lve,"getWellformedRange");o(iit,"getWellformedEdit")});var Mve,ca,av,Iz=O(()=>{"use strict";(()=>{"use strict";var t={975:N=>{function C(M){if(typeof M!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(M))}o(C,"e");function _(M,R){for(var P,B="",F=0,G=-1,$=0,V=0;V<=M.length;++V){if(V2){var X=B.lastIndexOf("/");if(X!==B.length-1){X===-1?(B="",F=0):F=(B=B.slice(0,X)).length-1-B.lastIndexOf("/"),G=V,$=0;continue}}else if(B.length===2||B.length===1){B="",F=0,G=V,$=0;continue}}R&&(B.length>0?B+="/..":B="..",F=2)}else B.length>0?B+="/"+M.slice(G+1,V):B=M.slice(G+1,V),F=V-G-1;G=V,$=0}else P===46&&$!==-1?++$:$=-1}return B}o(_,"r");var D={resolve:o(function(){for(var M,R="",P=!1,B=arguments.length-1;B>=-1&&!P;B--){var F;B>=0?F=arguments[B]:(M===void 0&&(M=process.cwd()),F=M),C(F),F.length!==0&&(R=F+"/"+R,P=F.charCodeAt(0)===47)}return R=_(R,!P),P?R.length>0?"/"+R:"/":R.length>0?R:"."},"resolve"),normalize:o(function(M){if(C(M),M.length===0)return".";var R=M.charCodeAt(0)===47,P=M.charCodeAt(M.length-1)===47;return(M=_(M,!R)).length!==0||R||(M="."),M.length>0&&P&&(M+="/"),R?"/"+M:M},"normalize"),isAbsolute:o(function(M){return C(M),M.length>0&&M.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var M,R=0;R0&&(M===void 0?M=P:M+="/"+P)}return M===void 0?".":D.normalize(M)},"join"),relative:o(function(M,R){if(C(M),C(R),M===R||(M=D.resolve(M))===(R=D.resolve(R)))return"";for(var P=1;PV){if(R.charCodeAt(G+Q)===47)return R.slice(G+Q+1);if(Q===0)return R.slice(G+Q)}else F>V&&(M.charCodeAt(P+Q)===47?X=Q:Q===0&&(X=0));break}var H=M.charCodeAt(P+Q);if(H!==R.charCodeAt(G+Q))break;H===47&&(X=Q)}var ie="";for(Q=P+X+1;Q<=B;++Q)Q!==B&&M.charCodeAt(Q)!==47||(ie.length===0?ie+="..":ie+="/..");return ie.length>0?ie+R.slice(G+X):(G+=X,R.charCodeAt(G)===47&&++G,R.slice(G))},"relative"),_makeLong:o(function(M){return M},"_makeLong"),dirname:o(function(M){if(C(M),M.length===0)return".";for(var R=M.charCodeAt(0),P=R===47,B=-1,F=!0,G=M.length-1;G>=1;--G)if((R=M.charCodeAt(G))===47){if(!F){B=G;break}}else F=!1;return B===-1?P?"/":".":P&&B===1?"//":M.slice(0,B)},"dirname"),basename:o(function(M,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');C(M);var P,B=0,F=-1,G=!0;if(R!==void 0&&R.length>0&&R.length<=M.length){if(R.length===M.length&&R===M)return"";var $=R.length-1,V=-1;for(P=M.length-1;P>=0;--P){var X=M.charCodeAt(P);if(X===47){if(!G){B=P+1;break}}else V===-1&&(G=!1,V=P+1),$>=0&&(X===R.charCodeAt($)?--$==-1&&(F=P):($=-1,F=V))}return B===F?F=V:F===-1&&(F=M.length),M.slice(B,F)}for(P=M.length-1;P>=0;--P)if(M.charCodeAt(P)===47){if(!G){B=P+1;break}}else F===-1&&(G=!1,F=P+1);return F===-1?"":M.slice(B,F)},"basename"),extname:o(function(M){C(M);for(var R=-1,P=0,B=-1,F=!0,G=0,$=M.length-1;$>=0;--$){var V=M.charCodeAt($);if(V!==47)B===-1&&(F=!1,B=$+1),V===46?R===-1?R=$:G!==1&&(G=1):R!==-1&&(G=-1);else if(!F){P=$+1;break}}return R===-1||B===-1||G===0||G===1&&R===B-1&&R===P+1?"":M.slice(R,B)},"extname"),format:o(function(M){if(M===null||typeof M!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof M);return(function(R,P){var B=P.dir||P.root,F=P.base||(P.name||"")+(P.ext||"");return B?B===P.root?B+F:B+"/"+F:F})(0,M)},"format"),parse:o(function(M){C(M);var R={root:"",dir:"",base:"",ext:"",name:""};if(M.length===0)return R;var P,B=M.charCodeAt(0),F=B===47;F?(R.root="/",P=1):P=0;for(var G=-1,$=0,V=-1,X=!0,Q=M.length-1,H=0;Q>=P;--Q)if((B=M.charCodeAt(Q))!==47)V===-1&&(X=!1,V=Q+1),B===46?G===-1?G=Q:H!==1&&(H=1):G!==-1&&(H=-1);else if(!X){$=Q+1;break}return G===-1||V===-1||H===0||H===1&&G===V-1&&G===$+1?V!==-1&&(R.base=R.name=$===0&&F?M.slice(1,V):M.slice($,V)):($===0&&F?(R.name=M.slice(1,G),R.base=M.slice(1,V)):(R.name=M.slice($,G),R.base=M.slice($,V)),R.ext=M.slice(G,V)),$>0?R.dir=M.slice(0,$-1):F&&(R.dir="/"),R},"parse"),sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,N.exports=D}},e={};function r(N){var C=e[N];if(C!==void 0)return C.exports;var _=e[N]={exports:{}};return t[N](_,_.exports,r),_.exports}o(r,"r"),r.d=(N,C)=>{for(var _ in C)r.o(C,_)&&!r.o(N,_)&&Object.defineProperty(N,_,{enumerable:!0,get:C[_]})},r.o=(N,C)=>Object.prototype.hasOwnProperty.call(N,C),r.r=N=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(N,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:o(()=>p,"URI"),Utils:o(()=>I,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(N,C){if(!N.scheme&&C)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`);if(N.scheme&&!a.test(N.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(N.path){if(N.authority){if(!s.test(N.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"a");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"l")}static isUri(C){return C instanceof p||!!C&&typeof C.authority=="string"&&typeof C.fragment=="string"&&typeof C.path=="string"&&typeof C.query=="string"&&typeof C.scheme=="string"&&typeof C.fsPath=="string"&&typeof C.with=="function"&&typeof C.toString=="function"}scheme;authority;path;query;fragment;constructor(C,_,D,M,R,P=!1){typeof C=="object"?(this.scheme=C.scheme||h,this.authority=C.authority||h,this.path=C.path||h,this.query=C.query||h,this.fragment=C.fragment||h):(this.scheme=(function(B,F){return B||F?B:"file"})(C,P),this.authority=_||h,this.path=(function(B,F){switch(B){case"https":case"http":case"file":F?F[0]!==f&&(F=f+F):F=f}return F})(this.scheme,D||h),this.query=M||h,this.fragment=R||h,u(this,P))}get fsPath(){return b(this,!1)}with(C){if(!C)return this;let{scheme:_,authority:D,path:M,query:R,fragment:P}=C;return _===void 0?_=this.scheme:_===null&&(_=h),D===void 0?D=this.authority:D===null&&(D=h),M===void 0?M=this.path:M===null&&(M=h),R===void 0?R=this.query:R===null&&(R=h),P===void 0?P=this.fragment:P===null&&(P=h),_===this.scheme&&D===this.authority&&M===this.path&&R===this.query&&P===this.fragment?this:new g(_,D,M,R,P)}static parse(C,_=!1){let D=d.exec(C);return D?new g(D[2]||h,k(D[4]||h),k(D[5]||h),k(D[7]||h),k(D[9]||h),_):new g(h,h,h,h,h)}static file(C){let _=h;if(i&&(C=C.replace(/\\/g,f)),C[0]===f&&C[1]===f){let D=C.indexOf(f,2);D===-1?(_=C.substring(2),C=f):(_=C.substring(2,D),C=C.substring(D)||f)}return new g("file",_,C,h,h)}static from(C){let _=new g(C.scheme,C.authority,C.path,C.query,C.fragment);return u(_,!0),_}toString(C=!1){return T(this,C)}toJSON(){return this}static revive(C){if(C){if(C instanceof p)return C;{let _=new g(C);return _._formatted=C.external,_._fsPath=C._sep===m?C.fsPath:null,_}}return C}}let m=i?1:void 0;class g extends p{static{o(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(C=!1){return C?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let C={$mid:1};return this._fsPath&&(C.fsPath=this._fsPath,C._sep=m),this._formatted&&(C.external=this._formatted),this.path&&(C.path=this.path),this.scheme&&(C.scheme=this.scheme),this.authority&&(C.authority=this.authority),this.query&&(C.query=this.query),this.fragment&&(C.fragment=this.fragment),C}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(N,C,_){let D,M=-1;for(let R=0;R=97&&P<=122||P>=65&&P<=90||P>=48&&P<=57||P===45||P===46||P===95||P===126||C&&P===47||_&&P===91||_&&P===93||_&&P===58)M!==-1&&(D+=encodeURIComponent(N.substring(M,R)),M=-1),D!==void 0&&(D+=N.charAt(R));else{D===void 0&&(D=N.substr(0,R));let B=y[P];B!==void 0?(M!==-1&&(D+=encodeURIComponent(N.substring(M,R)),M=-1),D+=B):M===-1&&(M=R)}}return M!==-1&&(D+=encodeURIComponent(N.substring(M))),D!==void 0?D:N}o(v,"m");function x(N){let C;for(let _=0;_1&&N.scheme==="file"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?C?N.path.substr(1):N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(_=_.replace(/\//g,"\\")),_}o(b,"v");function T(N,C){let _=C?x:v,D="",{scheme:M,authority:R,path:P,query:B,fragment:F}=N;if(M&&(D+=M,D+=":"),(R||M==="file")&&(D+=f,D+=f),R){let G=R.indexOf("@");if(G!==-1){let $=R.substr(0,G);R=R.substr(G+1),G=$.lastIndexOf(":"),G===-1?D+=_($,!1,!1):(D+=_($.substr(0,G),!1,!1),D+=":",D+=_($.substr(G+1),!1,!0)),D+="@"}R=R.toLowerCase(),G=R.lastIndexOf(":"),G===-1?D+=_(R,!1,!0):(D+=_(R.substr(0,G),!1,!0),D+=R.substr(G))}if(P){if(P.length>=3&&P.charCodeAt(0)===47&&P.charCodeAt(2)===58){let G=P.charCodeAt(1);G>=65&&G<=90&&(P=`/${String.fromCharCode(G+32)}:${P.substr(3)}`)}else if(P.length>=2&&P.charCodeAt(1)===58){let G=P.charCodeAt(0);G>=65&&G<=90&&(P=`${String.fromCharCode(G+32)}:${P.substr(2)}`)}D+=_(P,!0,!1)}return B&&(D+="?",D+=_(B,!1,!1)),F&&(D+="#",D+=C?F:v(F,!1,!1)),D}o(T,"b");function E(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+E(N.substr(3)):N}}o(E,"C");let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(N){return N.match(w)?N.replace(w,(C=>E(C))):N}o(k,"w");var S=r(975);let A=S.posix||S,L="/";var I;(function(N){N.joinPath=function(C,..._){return C.with({path:A.join(C.path,..._)})},N.resolvePath=function(C,..._){let D=C.path,M=!1;D[0]!==L&&(D=L+D,M=!0);let R=A.resolve(D,..._);return M&&R[0]===L&&!C.authority&&(R=R.substring(1)),C.with({path:R})},N.dirname=function(C){if(C.path.length===0||C.path===L)return C;let _=A.dirname(C.path);return _.length===1&&_.charCodeAt(0)===46&&(_=""),C.with({path:_})},N.basename=function(C){return A.basename(C.path)},N.extname=function(C){return A.extname(C.path)}})(I||(I={})),Mve=n})();({URI:ca,Utils:av}=Mve)});var Fi,sv,Nc=O(()=>{"use strict";Iz();(function(t){t.basename=av.basename,t.dirname=av.dirname,t.extname=av.extname,t.joinPath=av.joinPath,t.resolvePath=av.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,l){return s?.toString()===l?.toString()}o(r,"equals"),t.equals=r;function n(s,l){let u=typeof s=="string"?ca.parse(s).path:s.path,h=typeof l=="string"?ca.parse(l).path:l.path,f=u.split("/").filter(y=>y.length>0),d=h.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),d[0]&&y.test(d[0])&&(d[0]=d[0].toLowerCase()),f[0]!==d[0])return h.substring(1)}let p=0;for(;p({name:i.name,uri:Fi.joinPath(ca.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Fi.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}}});var qr,v4,x4,ov=O(()=>{"use strict";Nve();ov();Bl();Os();Nc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));v4=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=Nr.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ca.parse(e.uri),Nr.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return Nr.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=iv.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},x4=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new sv,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return Hr(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}});var Am,b4,Oz=O(()=>{"use strict";Bl();kc();us();$l();ov();Am=Symbol("RefResolving"),b4=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=Nr.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Ps(e.parseResult.value))await Ci(r),Id(i).forEach(a=>{let s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of Ps(e.parseResult.value))await Ci(r),Id(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Am;try{let i=this.getCandidate(e);if(j0(i))n._ref=i;else{n._nodeDescription=i;let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Am;try{let i=this.getCandidates(e),a=[];if(j0(i))n._linkingError=i;else for(let s of i){let l=this.loadAstNode(s);l&&a.push({ref:l,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(Si(this._ref))return this._ref;if(PB(this._nodeDescription)){let l=a.loadAstNode(this._nodeDescription);this._ref=l??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Am;let l=hy(e).$document,u=a.getLinkedNode({reference:s,container:e,property:r});if(u.error&&l&&l.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(j0(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=hy(e.container).$document;n&&n.state{"use strict";Rc();o(Ive,"isNamed");T4=class{static{o(this,"DefaultNameProvider")}getName(e){if(Ive(e))return e.name}getNameNode(e){return LT(e.$cstNode,"name")}}});var w4,Bz=O(()=>{"use strict";Rc();kc();us();Sc();Os();Nc();Zo();w4=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Ps(e.Grammar).some(r=>_c(r)&&r.isMulti)}findDeclarations(e){if(e){let r=EF(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(oa(i)||Xo(i))return AC(i);if(Array.isArray(i)){for(let a of i)if((oa(a)||Xo(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return AC(a)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||sF(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of Id(n))if(Xo(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>Fi.equals(a.sourceUri,r.documentUri))),n.push(...i),Hr(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i);if(a){let s=cs(i),l=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:l,targetUri:s.uri,targetPath:l,segment:om(a),local:!0})}}return n}}});var fs,_m,Kd=O(()=>{"use strict";Os();fs=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return cy.sum(Hr(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?Hr(r):Md}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Hr(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Hr(this.map.keys())}values(){return Hr(this.map.values()).flat()}entriesGroupedByKey(){return Hr(this.map.entries())}},_m=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var k4,Fz=O(()=>{"use strict";us();Bl();Kd();$l();k4=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=Nr.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=dT,i=Nr.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,r);for(let s of n(e))await Ci(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=Nr.CancellationToken.None){let n=e.parseResult.value,i=new fs;for(let a of Ec(n))await Ci(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var lv,$z,E4,ait,zz=O(()=>{"use strict";Kd();Os();lv=class{static{o(this,"StreamScope")}constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},$z=class{static{o(this,"MapScope")}constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?Hr(i).concat(this.outerScope.getElements(e)):Hr(i)}getAllElements(){let e=Hr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},E4=class{static{o(this,"MultiMapScope")}constructor(e,r,n){this.elements=new fs,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?Hr(n).concat(this.outerScope.getElements(e)):Hr(n)}getAllElements(){let e=Hr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},ait={getElement(){},getElements(){return Md},getAllElements(){return Md}}});var cv,S4,Dm,uA,uv,hA=O(()=>{"use strict";cv=class{static{o(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},S4=class extends cv{static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Dm=class extends cv{static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},uA=class extends Dm{static{o(this,"DocumentCache")}constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let s of a)this.clear(s)}))}},uv=class extends S4{static{o(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var C4,Gz=O(()=>{"use strict";zz();us();Os();hA();C4=class{static{o(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new uv(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=cs(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(l=>this.reflection.isSubtype(l.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new lv(Hr(e),r,n)}createScopeForNodes(e,r,n){let i=Hr(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new lv(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new E4(this.indexManager.allElements(e)))}}});function Vz(t){return typeof t.$comment=="string"}function Ove(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var A4,fA=O(()=>{"use strict";Iz();kc();us();Rc();o(Vz,"isAstNodeWithComment");o(Ove,"isIntermediateReference");A4=class{static{o(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,a=o((l,u)=>this.replacer(l,u,n),"defaultReplacer"),s=i?(l,u)=>i(l,u,a):a;try{return this.currentDocument=cs(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:l}){if(!this.ignoreProperties.has(e))if(oa(r)){let u=r.ref,h=n?r.$refText:void 0;if(u){let f=cs(u),d="";this.currentDocument&&this.currentDocument!==f&&(l?d=l(f.uri,u):d=f.uri.toString());let p=this.astNodeLocator.getAstNodePath(u);return{$ref:`${d}#${p}`,$refText:h}}else return{$error:r.error?.message??"Could not resolve reference",$refText:h}}else if(Xo(r)){let u=n?r.$refText:void 0,h=[];for(let f of r.items){let d=f.ref,p=cs(f.ref),m="";this.currentDocument&&this.currentDocument!==p&&(l?m=l(p.uri,d):m=p.uri.toString());let g=this.astNodeLocator.getAstNodePath(d);h.push(`${m}#${g}`)}return{$refs:h,$refText:u}}else if(Si(r)){let u;if(a&&(u=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(u??(u={...r}),u.$sourceText=r.$cstNode?.text),s){u??(u={...r});let h=this.commentProvider.getComment(r);h&&(u.$comment=h.replace(/\r/g,""))}return u??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=bF(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Nc();_4=class{static{o(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=Fi.extname(e),i=Fi.basename(e),a=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!a)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}});function Rm(t){return{code:t}}var dA,D4,pA=O(()=>{"use strict";tl();Kd();$l();Os();o(Rm,"diagnosticData");(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(dA||(dA={}));D4=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new fs,this.knownCategories=new Set(dA.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,l)}else Ou(s)}}wrapValidationException(e,r){return async(n,i,a)=>{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(Gu(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Hr(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,l)=>{await this.handleException(()=>e.call(n,i,a,s,l),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}});function Bve(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=LT(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=wF(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function mA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function Fve(t){switch(t){case"error":return Rm(zl.LexingError);case"warning":return Rm(zl.LexingWarning);case"info":return Rm(zl.LexingInfo);case"hint":return Rm(zl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Pve,R4,zl,Uz=O(()=>{"use strict";Bl();Rc();us();Sc();$l();pA();Pve=Object.freeze({validateNode:!0,validateChildren:!0}),R4=class{static{o(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=Nr.CancellationToken.None){let i=e.parseResult,a=[];if(await Ci(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===zl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===zl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===zl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(Gu(s))throw s;console.error("An error occurred during validation:",s)}return await Ci(n),a}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of i){let s=a.severity??"error",l={severity:mA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:Fve(s),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=by(i.token);if(a){let s={severity:mA("error"),range:a,message:i.message,data:Rm(zl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:zl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=Nr.CancellationToken.None){let i=[],a=o((s,l,u)=>{i.push(this.toDiagnostic(s,l,u))},"acceptor");return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=Nr.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let s of a)await Ci(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=Nr.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let s=Ps(e).iterator();for(let l of s){a.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{let h=this.validationRegistry.getChecks(l.$type,r.categories);for(let f of h)await f(l,n,i)}finally{a.stopSubTask(l.$type)}u.validateChildren||s.prune()}}finally{a.stop()}}else{let a=Ps(e).iterator();for(let s of a){await Ci(i);let l=this.validateSingleNodeOptions(s,r);if(l.validateNode){let u=this.validationRegistry.getChecks(s.$type,r.categories);for(let h of u)await h(s,n,i)}l.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return Pve}async validateAstAfter(e,r,n,i=Nr.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let s of a)await Ci(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:Bve(n),severity:mA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(Bve,"getDiagnosticRange");o(mA,"toDiagnosticSeverity");o(Fve,"toDiagnosticData");(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(zl||(zl={}))});var L4,N4,Wz=O(()=>{"use strict";Bl();kc();us();Sc();$l();Nc();L4=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??cs(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s,l=o(()=>s??(s=om(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:om(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},N4=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=Nr.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Ps(i))await Ci(r),Id(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];oa(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Xo(r)&&(n=r.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let i=cs(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],l=om(r.$refNode);for(let u of n)s.push({sourceUri:i,sourcePath:a,targetUri:u.documentUri,targetPath:u.path,segment:l,local:Fi.equals(u.documentUri,i)});return s}}});var M4,Hz=O(()=>{"use strict";M4=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1));return i[l]?.[u]}return i[a]},e)}}});var pi={};var gA=O(()=>{"use strict";jr(pi,Ra(Cm(),1))});var I4,Yz=O(()=>{"use strict";gA();$l();I4=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new Vs,this.onConfigurationSectionUpdateEmitter=new pi.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}});var vG=nr(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.Message=lr.NotificationType9=lr.NotificationType8=lr.NotificationType7=lr.NotificationType6=lr.NotificationType5=lr.NotificationType4=lr.NotificationType3=lr.NotificationType2=lr.NotificationType1=lr.NotificationType0=lr.NotificationType=lr.RequestType9=lr.RequestType8=lr.RequestType7=lr.RequestType6=lr.RequestType5=lr.RequestType4=lr.RequestType3=lr.RequestType2=lr.RequestType1=lr.RequestType=lr.RequestType0=lr.AbstractMessageSignature=lr.ParameterStructures=lr.ResponseError=lr.ErrorCodes=void 0;var Lm=tv(),jz;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(jz||(lr.ErrorCodes=jz={}));var Xz=class t extends Error{static{o(this,"ResponseError")}constructor(e,r,n){super(r),this.code=Lm.number(e)?e:jz.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};lr.ResponseError=Xz;var So=class t{static{o(this,"ParameterStructures")}constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};lr.ParameterStructures=So;So.auto=new So("auto");So.byPosition=new So("byPosition");So.byName=new So("byName");var ni=class{static{o(this,"AbstractMessageSignature")}constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return So.auto}};lr.AbstractMessageSignature=ni;var Kz=class extends ni{static{o(this,"RequestType0")}constructor(e){super(e,0)}};lr.RequestType0=Kz;var Qz=class extends ni{static{o(this,"RequestType")}constructor(e,r=So.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};lr.RequestType=Qz;var Zz=class extends ni{static{o(this,"RequestType1")}constructor(e,r=So.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};lr.RequestType1=Zz;var Jz=class extends ni{static{o(this,"RequestType2")}constructor(e){super(e,2)}};lr.RequestType2=Jz;var eG=class extends ni{static{o(this,"RequestType3")}constructor(e){super(e,3)}};lr.RequestType3=eG;var tG=class extends ni{static{o(this,"RequestType4")}constructor(e){super(e,4)}};lr.RequestType4=tG;var rG=class extends ni{static{o(this,"RequestType5")}constructor(e){super(e,5)}};lr.RequestType5=rG;var nG=class extends ni{static{o(this,"RequestType6")}constructor(e){super(e,6)}};lr.RequestType6=nG;var iG=class extends ni{static{o(this,"RequestType7")}constructor(e){super(e,7)}};lr.RequestType7=iG;var aG=class extends ni{static{o(this,"RequestType8")}constructor(e){super(e,8)}};lr.RequestType8=aG;var sG=class extends ni{static{o(this,"RequestType9")}constructor(e){super(e,9)}};lr.RequestType9=sG;var oG=class extends ni{static{o(this,"NotificationType")}constructor(e,r=So.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};lr.NotificationType=oG;var lG=class extends ni{static{o(this,"NotificationType0")}constructor(e){super(e,0)}};lr.NotificationType0=lG;var cG=class extends ni{static{o(this,"NotificationType1")}constructor(e,r=So.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};lr.NotificationType1=cG;var uG=class extends ni{static{o(this,"NotificationType2")}constructor(e){super(e,2)}};lr.NotificationType2=uG;var hG=class extends ni{static{o(this,"NotificationType3")}constructor(e){super(e,3)}};lr.NotificationType3=hG;var fG=class extends ni{static{o(this,"NotificationType4")}constructor(e){super(e,4)}};lr.NotificationType4=fG;var dG=class extends ni{static{o(this,"NotificationType5")}constructor(e){super(e,5)}};lr.NotificationType5=dG;var pG=class extends ni{static{o(this,"NotificationType6")}constructor(e){super(e,6)}};lr.NotificationType6=pG;var mG=class extends ni{static{o(this,"NotificationType7")}constructor(e){super(e,7)}};lr.NotificationType7=mG;var gG=class extends ni{static{o(this,"NotificationType8")}constructor(e){super(e,8)}};lr.NotificationType8=gG;var yG=class extends ni{static{o(this,"NotificationType9")}constructor(e){super(e,9)}};lr.NotificationType9=yG;var $ve;(function(t){function e(i){let a=i;return a&&Lm.string(a.method)&&(Lm.string(a.id)||Lm.number(a.id))}o(e,"isRequest"),t.isRequest=e;function r(i){let a=i;return a&&Lm.string(a.method)&&i.id===void 0}o(r,"isNotification"),t.isNotification=r;function n(i){let a=i;return a&&(a.result!==void 0||!!a.error)&&(Lm.string(a.id)||Lm.number(a.id)||a.id===null)}o(n,"isResponse"),t.isResponse=n})($ve||(lr.Message=$ve={}))});var bG=nr(Qd=>{"use strict";var zve;Object.defineProperty(Qd,"__esModule",{value:!0});Qd.LRUCache=Qd.LinkedMap=Qd.Touch=void 0;var ds;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(ds||(Qd.Touch=ds={}));var yA=class{static{o(this,"LinkedMap")}constructor(){this[zve]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=ds.None){let n=this._map.get(e);if(n)return r!==ds.None&&this.touch(n,r),n.value}set(e,r,n=ds.None){let i=this._map.get(e);if(i)i.value=r,n!==ds.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case ds.None:this.addItemLast(i);break;case ds.First:this.addItemFirst(i);break;case ds.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}[(zve=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==ds.First&&r!==ds.Last)){if(r===ds.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===ds.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Qd.LinkedMap=yA;var xG=class extends yA{static{o(this,"LRUCache")}constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=ds.AsNew){return super.get(e,r)}peek(e){return super.get(e,ds.None)}set(e,r){return super.set(e,r,ds.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Qd.LRUCache=xG});var Vve=nr(vA=>{"use strict";Object.defineProperty(vA,"__esModule",{value:!0});vA.Disposable=void 0;var Gve;(function(t){function e(r){return{dispose:r}}o(e,"create"),t.create=e})(Gve||(vA.Disposable=Gve={}))});var qve=nr(hv=>{"use strict";Object.defineProperty(hv,"__esModule",{value:!0});hv.SharedArrayReceiverStrategy=hv.SharedArraySenderStrategy=void 0;var sit=y4(),O4;(function(t){t.Continue=0,t.Cancelled=1})(O4||(O4={}));var TG=class{static{o(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=O4.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,O4.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};hv.SharedArraySenderStrategy=TG;var wG=class{static{o(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===O4.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},kG=class{static{o(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new wG(e)}cancel(){}dispose(){}},EG=class{static{o(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new sit.CancellationTokenSource:new kG(r)}};hv.SharedArrayReceiverStrategy=EG});var CG=nr(xA=>{"use strict";Object.defineProperty(xA,"__esModule",{value:!0});xA.Semaphore=void 0;var oit=Xd(),SG=class{static{o(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,oit.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};xA.Semaphore=SG});var Wve=nr(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.ReadableStreamMessageReader=Zd.AbstractMessageReader=Zd.MessageReader=void 0;var _G=Xd(),fv=tv(),AG=Cm(),lit=CG(),Uve;(function(t){function e(r){let n=r;return n&&fv.func(n.listen)&&fv.func(n.dispose)&&fv.func(n.onError)&&fv.func(n.onClose)&&fv.func(n.onPartialMessage)}o(e,"is"),t.is=e})(Uve||(Zd.MessageReader=Uve={}));var bA=class{static{o(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new AG.Emitter,this.closeEmitter=new AG.Emitter,this.partialMessageEmitter=new AG.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${fv.string(e.message)?e.message:"unknown"}`)}};Zd.AbstractMessageReader=bA;var DG;(function(t){function e(r){let n,i,a,s=new Map,l,u=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(a=r.contentDecoder,s.set(a.name,a)),r.contentDecoders!==void 0)for(let h of r.contentDecoders)s.set(h.name,h);if(r.contentTypeDecoder!==void 0&&(l=r.contentTypeDecoder,u.set(l.name,l)),r.contentTypeDecoders!==void 0)for(let h of r.contentTypeDecoders)u.set(h.name,h)}return l===void 0&&(l=(0,_G.default)().applicationJson.decoder,u.set(l.name,l)),{charset:n,contentDecoder:a,contentDecoders:s,contentTypeDecoder:l,contentTypeDecoders:u}}o(e,"fromOptions"),t.fromOptions=e})(DG||(DG={}));var RG=class extends bA{static{o(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=DG.fromOptions(r),this.buffer=(0,_G.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new lit.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(n))}`));return}let a=parseInt(i);if(isNaN(a)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=a}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,_G.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Zd.ReadableStreamMessageReader=RG});var Kve=nr(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.WriteableStreamMessageWriter=Jd.AbstractMessageWriter=Jd.MessageWriter=void 0;var Hve=Xd(),P4=tv(),cit=CG(),Yve=Cm(),uit="Content-Length: ",jve=`\r +`,Xve;(function(t){function e(r){let n=r;return n&&P4.func(n.dispose)&&P4.func(n.onClose)&&P4.func(n.onError)&&P4.func(n.write)}o(e,"is"),t.is=e})(Xve||(Jd.MessageWriter=Xve={}));var TA=class{static{o(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new Yve.Emitter,this.closeEmitter=new Yve.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${P4.string(e.message)?e.message:"unknown"}`)}};Jd.AbstractMessageWriter=TA;var LG;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,Hve.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,Hve.default)().applicationJson.encoder}}o(e,"fromOptions"),t.fromOptions=e})(LG||(LG={}));var NG=class extends TA{static{o(this,"WriteableStreamMessageWriter")}constructor(e,r){super(),this.writable=e,this.options=LG.fromOptions(r),this.errorCount=0,this.writeSemaphore=new cit.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(uit,n.byteLength.toString(),jve),i.push(jve),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Jd.WriteableStreamMessageWriter=NG});var Qve=nr(wA=>{"use strict";Object.defineProperty(wA,"__esModule",{value:!0});wA.AbstractMessageBuffer=void 0;var hit=13,fit=10,dit=`\r +`,MG=class{static{o(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,a=0;e:for(;nthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let a=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(a)}if(this._chunks[0].byteLength>e){let a=this._chunks[0],s=this.asNative(a,e);return this._chunks[0]=a.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let a=this._chunks[i];if(a.byteLength>e){let s=a.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=a.slice(e),this._totalLength-=e,e-=e}else r.set(a,n),n+=a.byteLength,this._chunks.shift(),this._totalLength-=a.byteLength,e-=a.byteLength}return r}};wA.AbstractMessageBuffer=MG});var r2e=nr(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.createMessageConnection=Rr.ConnectionOptions=Rr.MessageStrategy=Rr.CancellationStrategy=Rr.CancellationSenderStrategy=Rr.CancellationReceiverStrategy=Rr.RequestCancellationReceiverStrategy=Rr.IdCancellationReceiverStrategy=Rr.ConnectionStrategy=Rr.ConnectionError=Rr.ConnectionErrors=Rr.LogTraceNotification=Rr.SetTraceNotification=Rr.TraceFormat=Rr.TraceValues=Rr.Trace=Rr.NullLogger=Rr.ProgressType=Rr.ProgressToken=void 0;var Zve=Xd(),Ai=tv(),br=vG(),Jve=bG(),B4=Cm(),IG=y4(),z4;(function(t){t.type=new br.NotificationType("$/cancelRequest")})(z4||(z4={}));var OG;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}o(e,"is"),t.is=e})(OG||(Rr.ProgressToken=OG={}));var F4;(function(t){t.type=new br.NotificationType("$/progress")})(F4||(F4={}));var PG=class{static{o(this,"ProgressType")}constructor(){}};Rr.ProgressType=PG;var BG;(function(t){function e(r){return Ai.func(r)}o(e,"is"),t.is=e})(BG||(BG={}));Rr.NullLogger=Object.freeze({error:o(()=>{},"error"),warn:o(()=>{},"warn"),info:o(()=>{},"info"),log:o(()=>{},"log")});var vn;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(vn||(Rr.Trace=vn={}));var e2e;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(e2e||(Rr.TraceValues=e2e={}));(function(t){function e(n){if(!Ai.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}o(e,"fromString"),t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}o(r,"toString"),t.toString=r})(vn||(Rr.Trace=vn={}));var rl;(function(t){t.Text="text",t.JSON="json"})(rl||(Rr.TraceFormat=rl={}));(function(t){function e(r){return Ai.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}o(e,"fromString"),t.fromString=e})(rl||(Rr.TraceFormat=rl={}));var FG;(function(t){t.type=new br.NotificationType("$/setTrace")})(FG||(Rr.SetTraceNotification=FG={}));var kA;(function(t){t.type=new br.NotificationType("$/logTrace")})(kA||(Rr.LogTraceNotification=kA={}));var $4;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})($4||(Rr.ConnectionErrors=$4={}));var dv=class t extends Error{static{o(this,"ConnectionError")}constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Rr.ConnectionError=dv;var $G;(function(t){function e(r){let n=r;return n&&Ai.func(n.cancelUndispatched)}o(e,"is"),t.is=e})($G||(Rr.ConnectionStrategy=$G={}));var EA;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&Ai.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ai.func(n.dispose))}o(e,"is"),t.is=e})(EA||(Rr.IdCancellationReceiverStrategy=EA={}));var zG;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&Ai.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ai.func(n.dispose))}o(e,"is"),t.is=e})(zG||(Rr.RequestCancellationReceiverStrategy=zG={}));var SA;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new IG.CancellationTokenSource}});function e(r){return EA.is(r)||zG.is(r)}o(e,"is"),t.is=e})(SA||(Rr.CancellationReceiverStrategy=SA={}));var CA;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(z4.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&Ai.func(n.sendCancellation)&&Ai.func(n.cleanup)}o(e,"is"),t.is=e})(CA||(Rr.CancellationSenderStrategy=CA={}));var AA;(function(t){t.Message=Object.freeze({receiver:SA.Message,sender:CA.Message});function e(r){let n=r;return n&&SA.is(n.receiver)&&CA.is(n.sender)}o(e,"is"),t.is=e})(AA||(Rr.CancellationStrategy=AA={}));var _A;(function(t){function e(r){let n=r;return n&&Ai.func(n.handleMessage)}o(e,"is"),t.is=e})(_A||(Rr.MessageStrategy=_A={}));var t2e;(function(t){function e(r){let n=r;return n&&(AA.is(n.cancellationStrategy)||$G.is(n.connectionStrategy)||_A.is(n.messageStrategy))}o(e,"is"),t.is=e})(t2e||(Rr.ConnectionOptions=t2e={}));var Mc;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Mc||(Mc={}));function pit(t,e,r,n){let i=r!==void 0?r:Rr.NullLogger,a=0,s=0,l=0,u="2.0",h,f=new Map,d,p=new Map,m=new Map,g,y=new Jve.LinkedMap,v=new Map,x=new Set,b=new Map,T=vn.Off,E=rl.Text,w,k=Mc.New,S=new B4.Emitter,A=new B4.Emitter,L=new B4.Emitter,I=new B4.Emitter,N=new B4.Emitter,C=n&&n.cancellationStrategy?n.cancellationStrategy:AA.Message;function _(j){if(j===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+j.toString()}o(_,"createRequestQueueKey");function D(j){return j===null?"res-unknown-"+(++l).toString():"res-"+j.toString()}o(D,"createResponseQueueKey");function M(){return"not-"+(++s).toString()}o(M,"createNotificationQueueKey");function R(j,ae){br.Message.isRequest(ae)?j.set(_(ae.id),ae):br.Message.isResponse(ae)?j.set(D(ae.id),ae):j.set(M(),ae)}o(R,"addMessageToQueue");function P(j){}o(P,"cancelUndispatched");function B(){return k===Mc.Listening}o(B,"isListening");function F(){return k===Mc.Closed}o(F,"isClosed");function G(){return k===Mc.Disposed}o(G,"isDisposed");function $(){(k===Mc.New||k===Mc.Listening)&&(k=Mc.Closed,A.fire(void 0))}o($,"closeHandler");function V(j){S.fire([j,void 0,void 0])}o(V,"readErrorHandler");function X(j){S.fire(j)}o(X,"writeErrorHandler"),t.onClose($),t.onError(V),e.onClose($),e.onError(X);function Q(){g||y.size===0||(g=(0,Zve.default)().timer.setImmediate(()=>{g=void 0,ie()}))}o(Q,"triggerMessageQueue");function H(j){br.Message.isRequest(j)?le(j):br.Message.isNotification(j)?J(j):br.Message.isResponse(j)?ee(j):te(j)}o(H,"handleMessage");function ie(){if(y.size===0)return;let j=y.shift();try{let ae=n?.messageStrategy;_A.is(ae)?ae.handleMessage(j,H):H(j)}finally{Q()}}o(ie,"processMessageQueue");let Y=o(j=>{try{if(br.Message.isNotification(j)&&j.method===z4.type.method){let ae=j.params.id,U=_(ae),ce=y.get(U);if(br.Message.isRequest(ce)){let ne=n?.connectionStrategy,se=ne&&ne.cancelUndispatched?ne.cancelUndispatched(ce,P):void 0;if(se&&(se.error!==void 0||se.result!==void 0)){y.delete(U),b.delete(ae),se.id=ce.id,Se(se,j.method,Date.now()),e.write(se).catch(()=>i.error("Sending response for canceled message failed."));return}}let z=b.get(ae);if(z!==void 0){z.cancel(),ke(j);return}else x.add(ae)}R(y,j)}finally{Q()}},"callback");function le(j){if(G())return;function ae(pe,me,Re){let ge={jsonrpc:u,id:j.id};pe instanceof br.ResponseError?ge.error=pe.toJson():ge.result=pe===void 0?null:pe,Se(ge,me,Re),e.write(ge).catch(()=>i.error("Sending response failed."))}o(ae,"reply");function U(pe,me,Re){let ge={jsonrpc:u,id:j.id,error:pe.toJson()};Se(ge,me,Re),e.write(ge).catch(()=>i.error("Sending response failed."))}o(U,"replyError");function ce(pe,me,Re){pe===void 0&&(pe=null);let ge={jsonrpc:u,id:j.id,result:pe};Se(ge,me,Re),e.write(ge).catch(()=>i.error("Sending response failed."))}o(ce,"replySuccess"),Me(j);let z=f.get(j.method),ne,se;z&&(ne=z.type,se=z.handler);let be=Date.now();if(se||h){let pe=j.id??String(Date.now()),me=EA.is(C.receiver)?C.receiver.createCancellationTokenSource(pe):C.receiver.createCancellationTokenSource(j);j.id!==null&&x.has(j.id)&&me.cancel(),j.id!==null&&b.set(pe,me);try{let Re;if(se)if(j.params===void 0){if(ne!==void 0&&ne.numberOfParams!==0){U(new br.ResponseError(br.ErrorCodes.InvalidParams,`Request ${j.method} defines ${ne.numberOfParams} params but received none.`),j.method,be);return}Re=se(me.token)}else if(Array.isArray(j.params)){if(ne!==void 0&&ne.parameterStructures===br.ParameterStructures.byName){U(new br.ResponseError(br.ErrorCodes.InvalidParams,`Request ${j.method} defines parameters by name but received parameters by position`),j.method,be);return}Re=se(...j.params,me.token)}else{if(ne!==void 0&&ne.parameterStructures===br.ParameterStructures.byPosition){U(new br.ResponseError(br.ErrorCodes.InvalidParams,`Request ${j.method} defines parameters by position but received parameters by name`),j.method,be);return}Re=se(j.params,me.token)}else h&&(Re=h(j.method,j.params,me.token));let ge=Re;Re?ge.then?ge.then(Ie=>{b.delete(pe),ae(Ie,j.method,be)},Ie=>{b.delete(pe),Ie instanceof br.ResponseError?U(Ie,j.method,be):Ie&&Ai.string(Ie.message)?U(new br.ResponseError(br.ErrorCodes.InternalError,`Request ${j.method} failed with message: ${Ie.message}`),j.method,be):U(new br.ResponseError(br.ErrorCodes.InternalError,`Request ${j.method} failed unexpectedly without providing any details.`),j.method,be)}):(b.delete(pe),ae(Re,j.method,be)):(b.delete(pe),ce(Re,j.method,be))}catch(Re){b.delete(pe),Re instanceof br.ResponseError?ae(Re,j.method,be):Re&&Ai.string(Re.message)?U(new br.ResponseError(br.ErrorCodes.InternalError,`Request ${j.method} failed with message: ${Re.message}`),j.method,be):U(new br.ResponseError(br.ErrorCodes.InternalError,`Request ${j.method} failed unexpectedly without providing any details.`),j.method,be)}}else U(new br.ResponseError(br.ErrorCodes.MethodNotFound,`Unhandled method ${j.method}`),j.method,be)}o(le,"handleRequest");function ee(j){if(!G())if(j.id===null)j.error?i.error(`Received response message without id: Error is: +${JSON.stringify(j.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let ae=j.id,U=v.get(ae);if(we(j,U),U!==void 0){v.delete(ae);try{if(j.error){let ce=j.error;U.reject(new br.ResponseError(ce.code,ce.message,ce.data))}else if(j.result!==void 0)U.resolve(j.result);else throw new Error("Should never happen.")}catch(ce){ce.message?i.error(`Response handler '${U.method}' failed with message: ${ce.message}`):i.error(`Response handler '${U.method}' failed unexpectedly.`)}}}}o(ee,"handleResponse");function J(j){if(G())return;let ae,U;if(j.method===z4.type.method){let ce=j.params.id;x.delete(ce),ke(j);return}else{let ce=p.get(j.method);ce&&(U=ce.handler,ae=ce.type)}if(U||d)try{if(ke(j),U)if(j.params===void 0)ae!==void 0&&ae.numberOfParams!==0&&ae.parameterStructures!==br.ParameterStructures.byName&&i.error(`Notification ${j.method} defines ${ae.numberOfParams} params but received none.`),U();else if(Array.isArray(j.params)){let ce=j.params;j.method===F4.type.method&&ce.length===2&&OG.is(ce[0])?U({token:ce[0],value:ce[1]}):(ae!==void 0&&(ae.parameterStructures===br.ParameterStructures.byName&&i.error(`Notification ${j.method} defines parameters by name but received parameters by position`),ae.numberOfParams!==j.params.length&&i.error(`Notification ${j.method} defines ${ae.numberOfParams} params but received ${ce.length} arguments`)),U(...ce))}else ae!==void 0&&ae.parameterStructures===br.ParameterStructures.byPosition&&i.error(`Notification ${j.method} defines parameters by position but received parameters by name`),U(j.params);else d&&d(j.method,j.params)}catch(ce){ce.message?i.error(`Notification handler '${j.method}' failed with message: ${ce.message}`):i.error(`Notification handler '${j.method}' failed unexpectedly.`)}else L.fire(j)}o(J,"handleNotification");function te(j){if(!j){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message: +${JSON.stringify(j,null,4)}`);let ae=j;if(Ai.string(ae.id)||Ai.number(ae.id)){let U=ae.id,ce=v.get(U);ce&&ce.reject(new Error("The received response has neither a result nor an error property."))}}o(te,"handleInvalidMessage");function Z(j){if(j!=null)switch(T){case vn.Verbose:return JSON.stringify(j,null,4);case vn.Compact:return JSON.stringify(j);default:return}}o(Z,"stringifyTrace");function xe(j){if(!(T===vn.Off||!w))if(E===rl.Text){let ae;(T===vn.Verbose||T===vn.Compact)&&j.params&&(ae=`Params: ${Z(j.params)} -`),w.log(`Sending request '${Y.method} - (${Y.id})'.`,ce)}else Ge("send-request",Y)}o(le,"traceSendingRequest");function J(Y){if(!(T===pn.Off||!w))if(E===jo.Text){let ce;(T===pn.Verbose||T===pn.Compact)&&(Y.params?ce=`Params: ${Q(Y.params)} +`),w.log(`Sending request '${j.method} - (${j.id})'.`,ae)}else _e("send-request",j)}o(xe,"traceSendingRequest");function de(j){if(!(T===vn.Off||!w))if(E===rl.Text){let ae;(T===vn.Verbose||T===vn.Compact)&&(j.params?ae=`Params: ${Z(j.params)} -`:ce=`No parameters provided. +`:ae=`No parameters provided. -`),w.log(`Sending notification '${Y.method}'.`,ce)}else Ge("send-notification",Y)}o(J,"traceSendingNotification");function ge(Y,ce,U){if(!(T===pn.Off||!w))if(E===jo.Text){let ue;(T===pn.Verbose||T===pn.Compact)&&(Y.error&&Y.error.data?ue=`Error data: ${Q(Y.error.data)} +`),w.log(`Sending notification '${j.method}'.`,ae)}else _e("send-notification",j)}o(de,"traceSendingNotification");function Se(j,ae,U){if(!(T===vn.Off||!w))if(E===rl.Text){let ce;(T===vn.Verbose||T===vn.Compact)&&(j.error&&j.error.data?ce=`Error data: ${Z(j.error.data)} -`:Y.result?ue=`Result: ${Q(Y.result)} +`:j.result?ce=`Result: ${Z(j.result)} -`:Y.error===void 0&&(ue=`No result returned. +`:j.error===void 0&&(ce=`No result returned. -`)),w.log(`Sending response '${ce} - (${Y.id})'. Processing request took ${Date.now()-U}ms`,ue)}else Ge("send-response",Y)}o(ge,"traceSendingResponse");function ie(Y){if(!(T===pn.Off||!w))if(E===jo.Text){let ce;(T===pn.Verbose||T===pn.Compact)&&Y.params&&(ce=`Params: ${Q(Y.params)} +`)),w.log(`Sending response '${ae} - (${j.id})'. Processing request took ${Date.now()-U}ms`,ce)}else _e("send-response",j)}o(Se,"traceSendingResponse");function Me(j){if(!(T===vn.Off||!w))if(E===rl.Text){let ae;(T===vn.Verbose||T===vn.Compact)&&j.params&&(ae=`Params: ${Z(j.params)} -`),w.log(`Received request '${Y.method} - (${Y.id})'.`,ce)}else Ge("receive-request",Y)}o(ie,"traceReceivedRequest");function Te(Y){if(!(T===pn.Off||!w||Y.method===uA.type.method))if(E===jo.Text){let ce;(T===pn.Verbose||T===pn.Compact)&&(Y.params?ce=`Params: ${Q(Y.params)} +`),w.log(`Received request '${j.method} - (${j.id})'.`,ae)}else _e("receive-request",j)}o(Me,"traceReceivedRequest");function ke(j){if(!(T===vn.Off||!w||j.method===kA.type.method))if(E===rl.Text){let ae;(T===vn.Verbose||T===vn.Compact)&&(j.params?ae=`Params: ${Z(j.params)} -`:ce=`No parameters provided. +`:ae=`No parameters provided. -`),w.log(`Received notification '${Y.method}'.`,ce)}else Ge("receive-notification",Y)}o(Te,"traceReceivedNotification");function j(Y,ce){if(!(T===pn.Off||!w))if(E===jo.Text){let U;if((T===pn.Verbose||T===pn.Compact)&&(Y.error&&Y.error.data?U=`Error data: ${Q(Y.error.data)} +`),w.log(`Received notification '${j.method}'.`,ae)}else _e("receive-notification",j)}o(ke,"traceReceivedNotification");function we(j,ae){if(!(T===vn.Off||!w))if(E===rl.Text){let U;if((T===vn.Verbose||T===vn.Compact)&&(j.error&&j.error.data?U=`Error data: ${Z(j.error.data)} -`:Y.result?U=`Result: ${Q(Y.result)} +`:j.result?U=`Result: ${Z(j.result)} -`:Y.error===void 0&&(U=`No result returned. +`:j.error===void 0&&(U=`No result returned. -`)),ce){let ue=Y.error?` Request failed: ${Y.error.message} (${Y.error.code}).`:"";w.log(`Received response '${ce.method} - (${Y.id})' in ${Date.now()-ce.timerStart}ms.${ue}`,U)}else w.log(`Received response ${Y.id} without active response promise.`,U)}else Ge("receive-response",Y)}o(j,"traceReceivedResponse");function Ge(Y,ce){if(!w||T===pn.Off)return;let U={isLSPMessage:!0,type:Y,message:ce,timestamp:Date.now()};w.log(U)}o(Ge,"logLSPMessage");function ye(){if(F())throw new av(AT.Closed,"Connection is closed.");if(G())throw new av(AT.Disposed,"Connection is disposed.")}o(ye,"throwIfClosedOrDisposed");function $e(){if(B())throw new av(AT.AlreadyListening,"Connection is already listening")}o($e,"throwIfListening");function Xe(){if(!B())throw new Error("Call listen() first.")}o(Xe,"throwIfNotListening");function Ue(Y){return Y===void 0?null:Y}o(Ue,"undefinedToNull");function Le(Y){if(Y!==null)return Y}o(Le,"nullToUndefined");function Ie(Y){return Y!=null&&!Array.isArray(Y)&&typeof Y=="object"}o(Ie,"isNamedParam");function Me(Y,ce){switch(Y){case yr.ParameterStructures.auto:return Ie(ce)?Le(ce):[Ue(ce)];case yr.ParameterStructures.byName:if(!Ie(ce))throw new Error("Received parameters by name but param is not an object literal.");return Le(ce);case yr.ParameterStructures.byPosition:return[Ue(ce)];default:throw new Error(`Unknown parameter structure ${Y.toString()}`)}}o(Me,"computeSingleParam");function Ae(Y,ce){let U,ue=Y.numberOfParams;switch(ue){case 0:U=void 0;break;case 1:U=Me(Y.parameterStructures,ce[0]);break;default:U=[];for(let z=0;z{ye();let U,ue;if(wi.string(Y)){U=Y;let se=ce[0],oe=0,be=yr.ParameterStructures.auto;yr.ParameterStructures.is(se)&&(oe=1,be=se);let pe=ce.length,me=pe-oe;switch(me){case 0:ue=void 0;break;case 1:ue=Me(be,ce[oe]);break;default:if(be===yr.ParameterStructures.byName)throw new Error(`Received ${me} parameters for 'by Name' notification parameter structure.`);ue=ce.slice(oe,pe).map(De=>Ue(De));break}}else{let se=ce;U=Y.method,ue=Ae(Y,se)}let z={jsonrpc:u,method:U,params:ue};return J(z),e.write(z).catch(se=>{throw i.error("Sending notification failed."),se})},"sendNotification"),onNotification:o((Y,ce)=>{ye();let U;return wi.func(Y)?d=Y:ce&&(wi.string(Y)?(U=Y,p.set(Y,{type:void 0,handler:ce})):(U=Y.method,p.set(Y.method,{type:Y,handler:ce}))),{dispose:o(()=>{U!==void 0?p.delete(U):d=void 0},"dispose")}},"onNotification"),onProgress:o((Y,ce,U)=>{if(m.has(ce))throw new Error(`Progress handler for token ${ce} already registered`);return m.set(ce,U),{dispose:o(()=>{m.delete(ce)},"dispose")}},"onProgress"),sendProgress:o((Y,ce,U)=>ze.sendNotification(CT.type,{token:ce,value:U}),"sendProgress"),onUnhandledProgress:O.event,sendRequest:o((Y,...ce)=>{ye(),Xe();let U,ue,z;if(wi.string(Y)){U=Y;let pe=ce[0],me=ce[ce.length-1],De=0,Ce=yr.ParameterStructures.auto;yr.ParameterStructures.is(pe)&&(De=1,Ce=pe);let Fe=ce.length;vG.CancellationToken.is(me)&&(Fe=Fe-1,z=me);let Ye=Fe-De;switch(Ye){case 0:ue=void 0;break;case 1:ue=Me(Ce,ce[De]);break;default:if(Ce===yr.ParameterStructures.byName)throw new Error(`Received ${Ye} parameters for 'by Name' request parameter structure.`);ue=ce.slice(De,Fe).map(xt=>Ue(xt));break}}else{let pe=ce;U=Y.method,ue=Ae(Y,pe);let me=Y.numberOfParams;z=vG.CancellationToken.is(pe[me])?pe[me]:void 0}let se=a++,oe;z&&(oe=z.onCancellationRequested(()=>{let pe=S.sender.sendCancellation(ze,se);return pe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${se}`),Promise.resolve()):pe.catch(()=>{i.log(`Sending cancellation messages for id ${se} failed`)})}));let be={jsonrpc:u,id:se,method:U,params:ue};return le(be),typeof S.sender.enableCancellation=="function"&&S.sender.enableCancellation(be),new Promise(async(pe,me)=>{let De=o(Ye=>{pe(Ye),S.sender.cleanup(se),oe?.dispose()},"resolveWithCleanup"),Ce=o(Ye=>{me(Ye),S.sender.cleanup(se),oe?.dispose()},"rejectWithCleanup"),Fe={method:U,timerStart:Date.now(),resolve:De,reject:Ce};try{await e.write(be),v.set(se,Fe)}catch(Ye){throw i.error("Sending request failed."),Fe.reject(new yr.ResponseError(yr.ErrorCodes.MessageWriteError,Ye.message?Ye.message:"Unknown reason")),Ye}})},"sendRequest"),onRequest:o((Y,ce)=>{ye();let U=null;return TG.is(Y)?(U=void 0,h=Y):wi.string(Y)?(U=null,ce!==void 0&&(U=Y,f.set(Y,{handler:ce,type:void 0}))):ce!==void 0&&(U=Y.method,f.set(Y.method,{type:Y,handler:ce})),{dispose:o(()=>{U!==null&&(U!==void 0?f.delete(U):h=void 0)},"dispose")}},"onRequest"),hasPendingResponse:o(()=>v.size>0,"hasPendingResponse"),trace:o(async(Y,ce,U)=>{let ue=!1,z=jo.Text;U!==void 0&&(wi.boolean(U)?ue=U:(ue=U.sendNotification||!1,z=U.traceFormat||jo.Text)),T=Y,E=z,T===pn.Off?w=void 0:w=ce,ue&&!F()&&!G()&&await ze.sendNotification(wG.type,{value:pn.toString(Y)})},"trace"),onError:C.event,onClose:D.event,onUnhandledNotification:R.event,onDispose:L.event,end:o(()=>{e.end()},"end"),dispose:o(()=>{if(G())return;k=Ec.Disposed,L.fire(void 0);let Y=new yr.ResponseError(yr.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let ce of v.values())ce.reject(Y);v=new Map,b=new Map,x=new Set,y=new mve.LinkedMap,wi.func(e.dispose)&&e.dispose(),wi.func(t.dispose)&&t.dispose()},"dispose"),listen:o(()=>{ye(),$e(),k=Ec.Listening,t.listen(Z)},"listen"),inspect:o(()=>{(0,pve.default)().console.log("inspect")},"inspect")};return ze.onNotification(uA.type,Y=>{if(T===pn.Off||!w)return;let ce=T===pn.Verbose||T===pn.Compact;w.log(Y.message,ce?Y.verbose:void 0)}),ze.onNotification(CT.type,Y=>{let ce=m.get(Y.token);ce?ce(Y.value):O.fire(Y)}),ze}o(Rrt,"createMessageConnection");Cr.createMessageConnection=Rrt});var gA=Jt(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.ProgressType=et.ProgressToken=et.createMessageConnection=et.NullLogger=et.ConnectionOptions=et.ConnectionStrategy=et.AbstractMessageBuffer=et.WriteableStreamMessageWriter=et.AbstractMessageWriter=et.MessageWriter=et.ReadableStreamMessageReader=et.AbstractMessageReader=et.MessageReader=et.SharedArrayReceiverStrategy=et.SharedArraySenderStrategy=et.CancellationToken=et.CancellationTokenSource=et.Emitter=et.Event=et.Disposable=et.LRUCache=et.Touch=et.LinkedMap=et.ParameterStructures=et.NotificationType9=et.NotificationType8=et.NotificationType7=et.NotificationType6=et.NotificationType5=et.NotificationType4=et.NotificationType3=et.NotificationType2=et.NotificationType1=et.NotificationType0=et.NotificationType=et.ErrorCodes=et.ResponseError=et.RequestType9=et.RequestType8=et.RequestType7=et.RequestType6=et.RequestType5=et.RequestType4=et.RequestType3=et.RequestType2=et.RequestType1=et.RequestType0=et.RequestType=et.Message=et.RAL=void 0;et.MessageStrategy=et.CancellationStrategy=et.CancellationSenderStrategy=et.CancellationReceiverStrategy=et.ConnectionError=et.ConnectionErrors=et.LogTraceNotification=et.SetTraceNotification=et.TraceFormat=et.TraceValues=et.Trace=void 0;var Yn=rG();Object.defineProperty(et,"Message",{enumerable:!0,get:o(function(){return Yn.Message},"get")});Object.defineProperty(et,"RequestType",{enumerable:!0,get:o(function(){return Yn.RequestType},"get")});Object.defineProperty(et,"RequestType0",{enumerable:!0,get:o(function(){return Yn.RequestType0},"get")});Object.defineProperty(et,"RequestType1",{enumerable:!0,get:o(function(){return Yn.RequestType1},"get")});Object.defineProperty(et,"RequestType2",{enumerable:!0,get:o(function(){return Yn.RequestType2},"get")});Object.defineProperty(et,"RequestType3",{enumerable:!0,get:o(function(){return Yn.RequestType3},"get")});Object.defineProperty(et,"RequestType4",{enumerable:!0,get:o(function(){return Yn.RequestType4},"get")});Object.defineProperty(et,"RequestType5",{enumerable:!0,get:o(function(){return Yn.RequestType5},"get")});Object.defineProperty(et,"RequestType6",{enumerable:!0,get:o(function(){return Yn.RequestType6},"get")});Object.defineProperty(et,"RequestType7",{enumerable:!0,get:o(function(){return Yn.RequestType7},"get")});Object.defineProperty(et,"RequestType8",{enumerable:!0,get:o(function(){return Yn.RequestType8},"get")});Object.defineProperty(et,"RequestType9",{enumerable:!0,get:o(function(){return Yn.RequestType9},"get")});Object.defineProperty(et,"ResponseError",{enumerable:!0,get:o(function(){return Yn.ResponseError},"get")});Object.defineProperty(et,"ErrorCodes",{enumerable:!0,get:o(function(){return Yn.ErrorCodes},"get")});Object.defineProperty(et,"NotificationType",{enumerable:!0,get:o(function(){return Yn.NotificationType},"get")});Object.defineProperty(et,"NotificationType0",{enumerable:!0,get:o(function(){return Yn.NotificationType0},"get")});Object.defineProperty(et,"NotificationType1",{enumerable:!0,get:o(function(){return Yn.NotificationType1},"get")});Object.defineProperty(et,"NotificationType2",{enumerable:!0,get:o(function(){return Yn.NotificationType2},"get")});Object.defineProperty(et,"NotificationType3",{enumerable:!0,get:o(function(){return Yn.NotificationType3},"get")});Object.defineProperty(et,"NotificationType4",{enumerable:!0,get:o(function(){return Yn.NotificationType4},"get")});Object.defineProperty(et,"NotificationType5",{enumerable:!0,get:o(function(){return Yn.NotificationType5},"get")});Object.defineProperty(et,"NotificationType6",{enumerable:!0,get:o(function(){return Yn.NotificationType6},"get")});Object.defineProperty(et,"NotificationType7",{enumerable:!0,get:o(function(){return Yn.NotificationType7},"get")});Object.defineProperty(et,"NotificationType8",{enumerable:!0,get:o(function(){return Yn.NotificationType8},"get")});Object.defineProperty(et,"NotificationType9",{enumerable:!0,get:o(function(){return Yn.NotificationType9},"get")});Object.defineProperty(et,"ParameterStructures",{enumerable:!0,get:o(function(){return Yn.ParameterStructures},"get")});var EG=iG();Object.defineProperty(et,"LinkedMap",{enumerable:!0,get:o(function(){return EG.LinkedMap},"get")});Object.defineProperty(et,"LRUCache",{enumerable:!0,get:o(function(){return EG.LRUCache},"get")});Object.defineProperty(et,"Touch",{enumerable:!0,get:o(function(){return EG.Touch},"get")});var Lrt=ive();Object.defineProperty(et,"Disposable",{enumerable:!0,get:o(function(){return Lrt.Disposable},"get")});var xve=km();Object.defineProperty(et,"Event",{enumerable:!0,get:o(function(){return xve.Event},"get")});Object.defineProperty(et,"Emitter",{enumerable:!0,get:o(function(){return xve.Emitter},"get")});var bve=aT();Object.defineProperty(et,"CancellationTokenSource",{enumerable:!0,get:o(function(){return bve.CancellationTokenSource},"get")});Object.defineProperty(et,"CancellationToken",{enumerable:!0,get:o(function(){return bve.CancellationToken},"get")});var Tve=ave();Object.defineProperty(et,"SharedArraySenderStrategy",{enumerable:!0,get:o(function(){return Tve.SharedArraySenderStrategy},"get")});Object.defineProperty(et,"SharedArrayReceiverStrategy",{enumerable:!0,get:o(function(){return Tve.SharedArrayReceiverStrategy},"get")});var CG=ove();Object.defineProperty(et,"MessageReader",{enumerable:!0,get:o(function(){return CG.MessageReader},"get")});Object.defineProperty(et,"AbstractMessageReader",{enumerable:!0,get:o(function(){return CG.AbstractMessageReader},"get")});Object.defineProperty(et,"ReadableStreamMessageReader",{enumerable:!0,get:o(function(){return CG.ReadableStreamMessageReader},"get")});var AG=fve();Object.defineProperty(et,"MessageWriter",{enumerable:!0,get:o(function(){return AG.MessageWriter},"get")});Object.defineProperty(et,"AbstractMessageWriter",{enumerable:!0,get:o(function(){return AG.AbstractMessageWriter},"get")});Object.defineProperty(et,"WriteableStreamMessageWriter",{enumerable:!0,get:o(function(){return AG.WriteableStreamMessageWriter},"get")});var Nrt=dve();Object.defineProperty(et,"AbstractMessageBuffer",{enumerable:!0,get:o(function(){return Nrt.AbstractMessageBuffer},"get")});var qa=vve();Object.defineProperty(et,"ConnectionStrategy",{enumerable:!0,get:o(function(){return qa.ConnectionStrategy},"get")});Object.defineProperty(et,"ConnectionOptions",{enumerable:!0,get:o(function(){return qa.ConnectionOptions},"get")});Object.defineProperty(et,"NullLogger",{enumerable:!0,get:o(function(){return qa.NullLogger},"get")});Object.defineProperty(et,"createMessageConnection",{enumerable:!0,get:o(function(){return qa.createMessageConnection},"get")});Object.defineProperty(et,"ProgressToken",{enumerable:!0,get:o(function(){return qa.ProgressToken},"get")});Object.defineProperty(et,"ProgressType",{enumerable:!0,get:o(function(){return qa.ProgressType},"get")});Object.defineProperty(et,"Trace",{enumerable:!0,get:o(function(){return qa.Trace},"get")});Object.defineProperty(et,"TraceValues",{enumerable:!0,get:o(function(){return qa.TraceValues},"get")});Object.defineProperty(et,"TraceFormat",{enumerable:!0,get:o(function(){return qa.TraceFormat},"get")});Object.defineProperty(et,"SetTraceNotification",{enumerable:!0,get:o(function(){return qa.SetTraceNotification},"get")});Object.defineProperty(et,"LogTraceNotification",{enumerable:!0,get:o(function(){return qa.LogTraceNotification},"get")});Object.defineProperty(et,"ConnectionErrors",{enumerable:!0,get:o(function(){return qa.ConnectionErrors},"get")});Object.defineProperty(et,"ConnectionError",{enumerable:!0,get:o(function(){return qa.ConnectionError},"get")});Object.defineProperty(et,"CancellationReceiverStrategy",{enumerable:!0,get:o(function(){return qa.CancellationReceiverStrategy},"get")});Object.defineProperty(et,"CancellationSenderStrategy",{enumerable:!0,get:o(function(){return qa.CancellationSenderStrategy},"get")});Object.defineProperty(et,"CancellationStrategy",{enumerable:!0,get:o(function(){return qa.CancellationStrategy},"get")});Object.defineProperty(et,"MessageStrategy",{enumerable:!0,get:o(function(){return qa.MessageStrategy},"get")});var Mrt=Wd();et.RAL=Mrt.default});var kve=Jt(LG=>{"use strict";Object.defineProperty(LG,"__esModule",{value:!0});var Ou=gA(),yA=class t extends Ou.AbstractMessageBuffer{static{o(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};yA.emptyBuffer=new Uint8Array(0);var _G=class{static{o(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new Ou.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Ou.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Ou.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Ou.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Ou.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},DG=class{static{o(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Ou.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Ou.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Ou.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},Irt=new TextEncoder,wve=Object.freeze({messageBuffer:Object.freeze({create:o(t=>new yA(t),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:o((t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(Irt.encode(JSON.stringify(t,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:o((t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))},"decode")})}),stream:Object.freeze({asReadableStream:o(t=>new _G(t),"asReadableStream"),asWritableStream:o(t=>new DG(t),"asWritableStream")}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:o(()=>clearTimeout(n),"dispose")}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:o(()=>clearTimeout(r),"dispose")}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:o(()=>clearInterval(n),"dispose")}}})});function RG(){return wve}o(RG,"RIL");(function(t){function e(){Ou.RAL.install(wve)}o(e,"install"),t.install=e})(RG||(RG={}));LG.default=RG});var Dm=Jt(Xo=>{"use strict";var Ort=Xo&&Xo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Prt=Xo&&Xo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ort(e,t,r)};Object.defineProperty(Xo,"__esModule",{value:!0});Xo.createMessageConnection=Xo.BrowserMessageWriter=Xo.BrowserMessageReader=void 0;var Brt=kve();Brt.default.install();var sv=gA();Prt(gA(),Xo);var NG=class extends sv.AbstractMessageReader{static{o(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new sv.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};Xo.BrowserMessageReader=NG;var MG=class extends sv.AbstractMessageWriter{static{o(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};Xo.BrowserMessageWriter=MG;function Frt(t,e,r,n){return r===void 0&&(r=sv.NullLogger),sv.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,sv.createMessageConnection)(t,e,r,n)}o(Frt,"createMessageConnection");Xo.createMessageConnection=Frt});var IG=Jt((J0r,Sve)=>{"use strict";Sve.exports=Dm()});var hi=Jt(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.ProtocolNotificationType=To.ProtocolNotificationType0=To.ProtocolRequestType=To.ProtocolRequestType0=To.RegistrationType=To.MessageDirection=void 0;var ov=Dm(),Eve;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Eve||(To.MessageDirection=Eve={}));var OG=class{static{o(this,"RegistrationType")}constructor(e){this.method=e}};To.RegistrationType=OG;var PG=class extends ov.RequestType0{static{o(this,"ProtocolRequestType0")}constructor(e){super(e)}};To.ProtocolRequestType0=PG;var BG=class extends ov.RequestType{static{o(this,"ProtocolRequestType")}constructor(e){super(e,ov.ParameterStructures.byName)}};To.ProtocolRequestType=BG;var FG=class extends ov.NotificationType0{static{o(this,"ProtocolNotificationType0")}constructor(e){super(e)}};To.ProtocolNotificationType0=FG;var $G=class extends ov.NotificationType{static{o(this,"ProtocolNotificationType")}constructor(e){super(e,ov.ParameterStructures.byName)}};To.ProtocolNotificationType=$G});var vA=Jt(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.objectLiteral=Ui.typedArray=Ui.stringArray=Ui.array=Ui.func=Ui.error=Ui.number=Ui.string=Ui.boolean=void 0;function $rt(t){return t===!0||t===!1}o($rt,"boolean");Ui.boolean=$rt;function Cve(t){return typeof t=="string"||t instanceof String}o(Cve,"string");Ui.string=Cve;function zrt(t){return typeof t=="number"||t instanceof Number}o(zrt,"number");Ui.number=zrt;function Grt(t){return t instanceof Error}o(Grt,"error");Ui.error=Grt;function Vrt(t){return typeof t=="function"}o(Vrt,"func");Ui.func=Vrt;function Ave(t){return Array.isArray(t)}o(Ave,"array");Ui.array=Ave;function qrt(t){return Ave(t)&&t.every(e=>Cve(e))}o(qrt,"stringArray");Ui.stringArray=qrt;function Urt(t,e){return Array.isArray(t)&&t.every(e)}o(Urt,"typedArray");Ui.typedArray=Urt;function Wrt(t){return t!==null&&typeof t=="object"}o(Wrt,"objectLiteral");Ui.objectLiteral=Wrt});var Rve=Jt(xA=>{"use strict";Object.defineProperty(xA,"__esModule",{value:!0});xA.ImplementationRequest=void 0;var _ve=hi(),Dve;(function(t){t.method="textDocument/implementation",t.messageDirection=_ve.MessageDirection.clientToServer,t.type=new _ve.ProtocolRequestType(t.method)})(Dve||(xA.ImplementationRequest=Dve={}))});var Mve=Jt(bA=>{"use strict";Object.defineProperty(bA,"__esModule",{value:!0});bA.TypeDefinitionRequest=void 0;var Lve=hi(),Nve;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=Lve.MessageDirection.clientToServer,t.type=new Lve.ProtocolRequestType(t.method)})(Nve||(bA.TypeDefinitionRequest=Nve={}))});var Pve=Jt(lv=>{"use strict";Object.defineProperty(lv,"__esModule",{value:!0});lv.DidChangeWorkspaceFoldersNotification=lv.WorkspaceFoldersRequest=void 0;var TA=hi(),Ive;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=TA.MessageDirection.serverToClient,t.type=new TA.ProtocolRequestType0(t.method)})(Ive||(lv.WorkspaceFoldersRequest=Ive={}));var Ove;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=TA.MessageDirection.clientToServer,t.type=new TA.ProtocolNotificationType(t.method)})(Ove||(lv.DidChangeWorkspaceFoldersNotification=Ove={}))});var $ve=Jt(wA=>{"use strict";Object.defineProperty(wA,"__esModule",{value:!0});wA.ConfigurationRequest=void 0;var Bve=hi(),Fve;(function(t){t.method="workspace/configuration",t.messageDirection=Bve.MessageDirection.serverToClient,t.type=new Bve.ProtocolRequestType(t.method)})(Fve||(wA.ConfigurationRequest=Fve={}))});var Vve=Jt(cv=>{"use strict";Object.defineProperty(cv,"__esModule",{value:!0});cv.ColorPresentationRequest=cv.DocumentColorRequest=void 0;var kA=hi(),zve;(function(t){t.method="textDocument/documentColor",t.messageDirection=kA.MessageDirection.clientToServer,t.type=new kA.ProtocolRequestType(t.method)})(zve||(cv.DocumentColorRequest=zve={}));var Gve;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=kA.MessageDirection.clientToServer,t.type=new kA.ProtocolRequestType(t.method)})(Gve||(cv.ColorPresentationRequest=Gve={}))});var Wve=Jt(uv=>{"use strict";Object.defineProperty(uv,"__esModule",{value:!0});uv.FoldingRangeRefreshRequest=uv.FoldingRangeRequest=void 0;var SA=hi(),qve;(function(t){t.method="textDocument/foldingRange",t.messageDirection=SA.MessageDirection.clientToServer,t.type=new SA.ProtocolRequestType(t.method)})(qve||(uv.FoldingRangeRequest=qve={}));var Uve;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=SA.MessageDirection.serverToClient,t.type=new SA.ProtocolRequestType0(t.method)})(Uve||(uv.FoldingRangeRefreshRequest=Uve={}))});var jve=Jt(EA=>{"use strict";Object.defineProperty(EA,"__esModule",{value:!0});EA.DeclarationRequest=void 0;var Hve=hi(),Yve;(function(t){t.method="textDocument/declaration",t.messageDirection=Hve.MessageDirection.clientToServer,t.type=new Hve.ProtocolRequestType(t.method)})(Yve||(EA.DeclarationRequest=Yve={}))});var Qve=Jt(CA=>{"use strict";Object.defineProperty(CA,"__esModule",{value:!0});CA.SelectionRangeRequest=void 0;var Xve=hi(),Kve;(function(t){t.method="textDocument/selectionRange",t.messageDirection=Xve.MessageDirection.clientToServer,t.type=new Xve.ProtocolRequestType(t.method)})(Kve||(CA.SelectionRangeRequest=Kve={}))});var t2e=Jt(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.WorkDoneProgressCancelNotification=Kd.WorkDoneProgressCreateRequest=Kd.WorkDoneProgress=void 0;var Hrt=Dm(),AA=hi(),Zve;(function(t){t.type=new Hrt.ProgressType;function e(r){return r===t.type}o(e,"is"),t.is=e})(Zve||(Kd.WorkDoneProgress=Zve={}));var Jve;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=AA.MessageDirection.serverToClient,t.type=new AA.ProtocolRequestType(t.method)})(Jve||(Kd.WorkDoneProgressCreateRequest=Jve={}));var e2e;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=AA.MessageDirection.clientToServer,t.type=new AA.ProtocolNotificationType(t.method)})(e2e||(Kd.WorkDoneProgressCancelNotification=e2e={}))});var a2e=Jt(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});Qd.CallHierarchyOutgoingCallsRequest=Qd.CallHierarchyIncomingCallsRequest=Qd.CallHierarchyPrepareRequest=void 0;var hv=hi(),r2e;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=hv.MessageDirection.clientToServer,t.type=new hv.ProtocolRequestType(t.method)})(r2e||(Qd.CallHierarchyPrepareRequest=r2e={}));var n2e;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=hv.MessageDirection.clientToServer,t.type=new hv.ProtocolRequestType(t.method)})(n2e||(Qd.CallHierarchyIncomingCallsRequest=n2e={}));var i2e;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=hv.MessageDirection.clientToServer,t.type=new hv.ProtocolRequestType(t.method)})(i2e||(Qd.CallHierarchyOutgoingCallsRequest=i2e={}))});var h2e=Jt(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.SemanticTokensRefreshRequest=wo.SemanticTokensRangeRequest=wo.SemanticTokensDeltaRequest=wo.SemanticTokensRequest=wo.SemanticTokensRegistrationType=wo.TokenFormat=void 0;var Xh=hi(),s2e;(function(t){t.Relative="relative"})(s2e||(wo.TokenFormat=s2e={}));var DT;(function(t){t.method="textDocument/semanticTokens",t.type=new Xh.RegistrationType(t.method)})(DT||(wo.SemanticTokensRegistrationType=DT={}));var o2e;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=Xh.MessageDirection.clientToServer,t.type=new Xh.ProtocolRequestType(t.method),t.registrationMethod=DT.method})(o2e||(wo.SemanticTokensRequest=o2e={}));var l2e;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=Xh.MessageDirection.clientToServer,t.type=new Xh.ProtocolRequestType(t.method),t.registrationMethod=DT.method})(l2e||(wo.SemanticTokensDeltaRequest=l2e={}));var c2e;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=Xh.MessageDirection.clientToServer,t.type=new Xh.ProtocolRequestType(t.method),t.registrationMethod=DT.method})(c2e||(wo.SemanticTokensRangeRequest=c2e={}));var u2e;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=Xh.MessageDirection.serverToClient,t.type=new Xh.ProtocolRequestType0(t.method)})(u2e||(wo.SemanticTokensRefreshRequest=u2e={}))});var p2e=Jt(_A=>{"use strict";Object.defineProperty(_A,"__esModule",{value:!0});_A.ShowDocumentRequest=void 0;var f2e=hi(),d2e;(function(t){t.method="window/showDocument",t.messageDirection=f2e.MessageDirection.serverToClient,t.type=new f2e.ProtocolRequestType(t.method)})(d2e||(_A.ShowDocumentRequest=d2e={}))});var y2e=Jt(DA=>{"use strict";Object.defineProperty(DA,"__esModule",{value:!0});DA.LinkedEditingRangeRequest=void 0;var m2e=hi(),g2e;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=m2e.MessageDirection.clientToServer,t.type=new m2e.ProtocolRequestType(t.method)})(g2e||(DA.LinkedEditingRangeRequest=g2e={}))});var E2e=Jt(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.WillDeleteFilesRequest=fs.DidDeleteFilesNotification=fs.DidRenameFilesNotification=fs.WillRenameFilesRequest=fs.DidCreateFilesNotification=fs.WillCreateFilesRequest=fs.FileOperationPatternKind=void 0;var Il=hi(),v2e;(function(t){t.file="file",t.folder="folder"})(v2e||(fs.FileOperationPatternKind=v2e={}));var x2e;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolRequestType(t.method)})(x2e||(fs.WillCreateFilesRequest=x2e={}));var b2e;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolNotificationType(t.method)})(b2e||(fs.DidCreateFilesNotification=b2e={}));var T2e;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolRequestType(t.method)})(T2e||(fs.WillRenameFilesRequest=T2e={}));var w2e;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolNotificationType(t.method)})(w2e||(fs.DidRenameFilesNotification=w2e={}));var k2e;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolNotificationType(t.method)})(k2e||(fs.DidDeleteFilesNotification=k2e={}));var S2e;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolRequestType(t.method)})(S2e||(fs.WillDeleteFilesRequest=S2e={}))});var R2e=Jt(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.MonikerRequest=Zd.MonikerKind=Zd.UniquenessLevel=void 0;var C2e=hi(),A2e;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(A2e||(Zd.UniquenessLevel=A2e={}));var _2e;(function(t){t.$import="import",t.$export="export",t.local="local"})(_2e||(Zd.MonikerKind=_2e={}));var D2e;(function(t){t.method="textDocument/moniker",t.messageDirection=C2e.MessageDirection.clientToServer,t.type=new C2e.ProtocolRequestType(t.method)})(D2e||(Zd.MonikerRequest=D2e={}))});var I2e=Jt(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.TypeHierarchySubtypesRequest=Jd.TypeHierarchySupertypesRequest=Jd.TypeHierarchyPrepareRequest=void 0;var fv=hi(),L2e;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=fv.MessageDirection.clientToServer,t.type=new fv.ProtocolRequestType(t.method)})(L2e||(Jd.TypeHierarchyPrepareRequest=L2e={}));var N2e;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=fv.MessageDirection.clientToServer,t.type=new fv.ProtocolRequestType(t.method)})(N2e||(Jd.TypeHierarchySupertypesRequest=N2e={}));var M2e;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=fv.MessageDirection.clientToServer,t.type=new fv.ProtocolRequestType(t.method)})(M2e||(Jd.TypeHierarchySubtypesRequest=M2e={}))});var B2e=Jt(dv=>{"use strict";Object.defineProperty(dv,"__esModule",{value:!0});dv.InlineValueRefreshRequest=dv.InlineValueRequest=void 0;var RA=hi(),O2e;(function(t){t.method="textDocument/inlineValue",t.messageDirection=RA.MessageDirection.clientToServer,t.type=new RA.ProtocolRequestType(t.method)})(O2e||(dv.InlineValueRequest=O2e={}));var P2e;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=RA.MessageDirection.serverToClient,t.type=new RA.ProtocolRequestType0(t.method)})(P2e||(dv.InlineValueRefreshRequest=P2e={}))});var G2e=Jt(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.InlayHintRefreshRequest=ep.InlayHintResolveRequest=ep.InlayHintRequest=void 0;var pv=hi(),F2e;(function(t){t.method="textDocument/inlayHint",t.messageDirection=pv.MessageDirection.clientToServer,t.type=new pv.ProtocolRequestType(t.method)})(F2e||(ep.InlayHintRequest=F2e={}));var $2e;(function(t){t.method="inlayHint/resolve",t.messageDirection=pv.MessageDirection.clientToServer,t.type=new pv.ProtocolRequestType(t.method)})($2e||(ep.InlayHintResolveRequest=$2e={}));var z2e;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=pv.MessageDirection.serverToClient,t.type=new pv.ProtocolRequestType0(t.method)})(z2e||(ep.InlayHintRefreshRequest=z2e={}))});var j2e=Jt(Ol=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});Ol.DiagnosticRefreshRequest=Ol.WorkspaceDiagnosticRequest=Ol.DocumentDiagnosticRequest=Ol.DocumentDiagnosticReportKind=Ol.DiagnosticServerCancellationData=void 0;var Y2e=Dm(),Yrt=vA(),mv=hi(),V2e;(function(t){function e(r){let n=r;return n&&Yrt.boolean(n.retriggerRequest)}o(e,"is"),t.is=e})(V2e||(Ol.DiagnosticServerCancellationData=V2e={}));var q2e;(function(t){t.Full="full",t.Unchanged="unchanged"})(q2e||(Ol.DocumentDiagnosticReportKind=q2e={}));var U2e;(function(t){t.method="textDocument/diagnostic",t.messageDirection=mv.MessageDirection.clientToServer,t.type=new mv.ProtocolRequestType(t.method),t.partialResult=new Y2e.ProgressType})(U2e||(Ol.DocumentDiagnosticRequest=U2e={}));var W2e;(function(t){t.method="workspace/diagnostic",t.messageDirection=mv.MessageDirection.clientToServer,t.type=new mv.ProtocolRequestType(t.method),t.partialResult=new Y2e.ProgressType})(W2e||(Ol.WorkspaceDiagnosticRequest=W2e={}));var H2e;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=mv.MessageDirection.serverToClient,t.type=new mv.ProtocolRequestType0(t.method)})(H2e||(Ol.DiagnosticRefreshRequest=H2e={}))});var txe=Jt(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.DidCloseNotebookDocumentNotification=Di.DidSaveNotebookDocumentNotification=Di.DidChangeNotebookDocumentNotification=Di.NotebookCellArrayChange=Di.DidOpenNotebookDocumentNotification=Di.NotebookDocumentSyncRegistrationType=Di.NotebookDocument=Di.NotebookCell=Di.ExecutionSummary=Di.NotebookCellKind=void 0;var RT=(Uy(),D3(B6)),Cc=vA(),Pu=hi(),zG;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(zG||(Di.NotebookCellKind=zG={}));var GG;(function(t){function e(i,a){let s={executionOrder:i};return(a===!0||a===!1)&&(s.success=a),s}o(e,"create"),t.create=e;function r(i){let a=i;return Cc.objectLiteral(a)&&RT.uinteger.is(a.executionOrder)&&(a.success===void 0||Cc.boolean(a.success))}o(r,"is"),t.is=r;function n(i,a){return i===a?!0:i==null||a===null||a===void 0?!1:i.executionOrder===a.executionOrder&&i.success===a.success}o(n,"equals"),t.equals=n})(GG||(Di.ExecutionSummary=GG={}));var LA;(function(t){function e(a,s){return{kind:a,document:s}}o(e,"create"),t.create=e;function r(a){let s=a;return Cc.objectLiteral(s)&&zG.is(s.kind)&&RT.DocumentUri.is(s.document)&&(s.metadata===void 0||Cc.objectLiteral(s.metadata))}o(r,"is"),t.is=r;function n(a,s){let l=new Set;return a.document!==s.document&&l.add("document"),a.kind!==s.kind&&l.add("kind"),a.executionSummary!==s.executionSummary&&l.add("executionSummary"),(a.metadata!==void 0||s.metadata!==void 0)&&!i(a.metadata,s.metadata)&&l.add("metadata"),(a.executionSummary!==void 0||s.executionSummary!==void 0)&&!GG.equals(a.executionSummary,s.executionSummary)&&l.add("executionSummary"),l}o(n,"diff"),t.diff=n;function i(a,s){if(a===s)return!0;if(a==null||s===null||s===void 0||typeof a!=typeof s||typeof a!="object")return!1;let l=Array.isArray(a),u=Array.isArray(s);if(l!==u)return!1;if(l&&u){if(a.length!==s.length)return!1;for(let h=0;h{"use strict";Object.defineProperty(NA,"__esModule",{value:!0});NA.InlineCompletionRequest=void 0;var rxe=hi(),nxe;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=rxe.MessageDirection.clientToServer,t.type=new rxe.ProtocolRequestType(t.method)})(nxe||(NA.InlineCompletionRequest=nxe={}))});var ybe=Jt(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.WorkspaceSymbolRequest=ke.CodeActionResolveRequest=ke.CodeActionRequest=ke.DocumentSymbolRequest=ke.DocumentHighlightRequest=ke.ReferencesRequest=ke.DefinitionRequest=ke.SignatureHelpRequest=ke.SignatureHelpTriggerKind=ke.HoverRequest=ke.CompletionResolveRequest=ke.CompletionRequest=ke.CompletionTriggerKind=ke.PublishDiagnosticsNotification=ke.WatchKind=ke.RelativePattern=ke.FileChangeType=ke.DidChangeWatchedFilesNotification=ke.WillSaveTextDocumentWaitUntilRequest=ke.WillSaveTextDocumentNotification=ke.TextDocumentSaveReason=ke.DidSaveTextDocumentNotification=ke.DidCloseTextDocumentNotification=ke.DidChangeTextDocumentNotification=ke.TextDocumentContentChangeEvent=ke.DidOpenTextDocumentNotification=ke.TextDocumentSyncKind=ke.TelemetryEventNotification=ke.LogMessageNotification=ke.ShowMessageRequest=ke.ShowMessageNotification=ke.MessageType=ke.DidChangeConfigurationNotification=ke.ExitNotification=ke.ShutdownRequest=ke.InitializedNotification=ke.InitializeErrorCodes=ke.InitializeRequest=ke.WorkDoneProgressOptions=ke.TextDocumentRegistrationOptions=ke.StaticRegistrationOptions=ke.PositionEncodingKind=ke.FailureHandlingKind=ke.ResourceOperationKind=ke.UnregistrationRequest=ke.RegistrationRequest=ke.DocumentSelector=ke.NotebookCellTextDocumentFilter=ke.NotebookDocumentFilter=ke.TextDocumentFilter=void 0;ke.MonikerRequest=ke.MonikerKind=ke.UniquenessLevel=ke.WillDeleteFilesRequest=ke.DidDeleteFilesNotification=ke.WillRenameFilesRequest=ke.DidRenameFilesNotification=ke.WillCreateFilesRequest=ke.DidCreateFilesNotification=ke.FileOperationPatternKind=ke.LinkedEditingRangeRequest=ke.ShowDocumentRequest=ke.SemanticTokensRegistrationType=ke.SemanticTokensRefreshRequest=ke.SemanticTokensRangeRequest=ke.SemanticTokensDeltaRequest=ke.SemanticTokensRequest=ke.TokenFormat=ke.CallHierarchyPrepareRequest=ke.CallHierarchyOutgoingCallsRequest=ke.CallHierarchyIncomingCallsRequest=ke.WorkDoneProgressCancelNotification=ke.WorkDoneProgressCreateRequest=ke.WorkDoneProgress=ke.SelectionRangeRequest=ke.DeclarationRequest=ke.FoldingRangeRefreshRequest=ke.FoldingRangeRequest=ke.ColorPresentationRequest=ke.DocumentColorRequest=ke.ConfigurationRequest=ke.DidChangeWorkspaceFoldersNotification=ke.WorkspaceFoldersRequest=ke.TypeDefinitionRequest=ke.ImplementationRequest=ke.ApplyWorkspaceEditRequest=ke.ExecuteCommandRequest=ke.PrepareRenameRequest=ke.RenameRequest=ke.PrepareSupportDefaultBehavior=ke.DocumentOnTypeFormattingRequest=ke.DocumentRangesFormattingRequest=ke.DocumentRangeFormattingRequest=ke.DocumentFormattingRequest=ke.DocumentLinkResolveRequest=ke.DocumentLinkRequest=ke.CodeLensRefreshRequest=ke.CodeLensResolveRequest=ke.CodeLensRequest=ke.WorkspaceSymbolResolveRequest=void 0;ke.InlineCompletionRequest=ke.DidCloseNotebookDocumentNotification=ke.DidSaveNotebookDocumentNotification=ke.DidChangeNotebookDocumentNotification=ke.NotebookCellArrayChange=ke.DidOpenNotebookDocumentNotification=ke.NotebookDocumentSyncRegistrationType=ke.NotebookDocument=ke.NotebookCell=ke.ExecutionSummary=ke.NotebookCellKind=ke.DiagnosticRefreshRequest=ke.WorkspaceDiagnosticRequest=ke.DocumentDiagnosticRequest=ke.DocumentDiagnosticReportKind=ke.DiagnosticServerCancellationData=ke.InlayHintRefreshRequest=ke.InlayHintResolveRequest=ke.InlayHintRequest=ke.InlineValueRefreshRequest=ke.InlineValueRequest=ke.TypeHierarchySupertypesRequest=ke.TypeHierarchySubtypesRequest=ke.TypeHierarchyPrepareRequest=void 0;var Et=hi(),axe=(Uy(),D3(B6)),Sa=vA(),jrt=Rve();Object.defineProperty(ke,"ImplementationRequest",{enumerable:!0,get:o(function(){return jrt.ImplementationRequest},"get")});var Xrt=Mve();Object.defineProperty(ke,"TypeDefinitionRequest",{enumerable:!0,get:o(function(){return Xrt.TypeDefinitionRequest},"get")});var dbe=Pve();Object.defineProperty(ke,"WorkspaceFoldersRequest",{enumerable:!0,get:o(function(){return dbe.WorkspaceFoldersRequest},"get")});Object.defineProperty(ke,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:o(function(){return dbe.DidChangeWorkspaceFoldersNotification},"get")});var Krt=$ve();Object.defineProperty(ke,"ConfigurationRequest",{enumerable:!0,get:o(function(){return Krt.ConfigurationRequest},"get")});var pbe=Vve();Object.defineProperty(ke,"DocumentColorRequest",{enumerable:!0,get:o(function(){return pbe.DocumentColorRequest},"get")});Object.defineProperty(ke,"ColorPresentationRequest",{enumerable:!0,get:o(function(){return pbe.ColorPresentationRequest},"get")});var mbe=Wve();Object.defineProperty(ke,"FoldingRangeRequest",{enumerable:!0,get:o(function(){return mbe.FoldingRangeRequest},"get")});Object.defineProperty(ke,"FoldingRangeRefreshRequest",{enumerable:!0,get:o(function(){return mbe.FoldingRangeRefreshRequest},"get")});var Qrt=jve();Object.defineProperty(ke,"DeclarationRequest",{enumerable:!0,get:o(function(){return Qrt.DeclarationRequest},"get")});var Zrt=Qve();Object.defineProperty(ke,"SelectionRangeRequest",{enumerable:!0,get:o(function(){return Zrt.SelectionRangeRequest},"get")});var HG=t2e();Object.defineProperty(ke,"WorkDoneProgress",{enumerable:!0,get:o(function(){return HG.WorkDoneProgress},"get")});Object.defineProperty(ke,"WorkDoneProgressCreateRequest",{enumerable:!0,get:o(function(){return HG.WorkDoneProgressCreateRequest},"get")});Object.defineProperty(ke,"WorkDoneProgressCancelNotification",{enumerable:!0,get:o(function(){return HG.WorkDoneProgressCancelNotification},"get")});var YG=a2e();Object.defineProperty(ke,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:o(function(){return YG.CallHierarchyIncomingCallsRequest},"get")});Object.defineProperty(ke,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:o(function(){return YG.CallHierarchyOutgoingCallsRequest},"get")});Object.defineProperty(ke,"CallHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return YG.CallHierarchyPrepareRequest},"get")});var yv=h2e();Object.defineProperty(ke,"TokenFormat",{enumerable:!0,get:o(function(){return yv.TokenFormat},"get")});Object.defineProperty(ke,"SemanticTokensRequest",{enumerable:!0,get:o(function(){return yv.SemanticTokensRequest},"get")});Object.defineProperty(ke,"SemanticTokensDeltaRequest",{enumerable:!0,get:o(function(){return yv.SemanticTokensDeltaRequest},"get")});Object.defineProperty(ke,"SemanticTokensRangeRequest",{enumerable:!0,get:o(function(){return yv.SemanticTokensRangeRequest},"get")});Object.defineProperty(ke,"SemanticTokensRefreshRequest",{enumerable:!0,get:o(function(){return yv.SemanticTokensRefreshRequest},"get")});Object.defineProperty(ke,"SemanticTokensRegistrationType",{enumerable:!0,get:o(function(){return yv.SemanticTokensRegistrationType},"get")});var Jrt=p2e();Object.defineProperty(ke,"ShowDocumentRequest",{enumerable:!0,get:o(function(){return Jrt.ShowDocumentRequest},"get")});var ent=y2e();Object.defineProperty(ke,"LinkedEditingRangeRequest",{enumerable:!0,get:o(function(){return ent.LinkedEditingRangeRequest},"get")});var Rm=E2e();Object.defineProperty(ke,"FileOperationPatternKind",{enumerable:!0,get:o(function(){return Rm.FileOperationPatternKind},"get")});Object.defineProperty(ke,"DidCreateFilesNotification",{enumerable:!0,get:o(function(){return Rm.DidCreateFilesNotification},"get")});Object.defineProperty(ke,"WillCreateFilesRequest",{enumerable:!0,get:o(function(){return Rm.WillCreateFilesRequest},"get")});Object.defineProperty(ke,"DidRenameFilesNotification",{enumerable:!0,get:o(function(){return Rm.DidRenameFilesNotification},"get")});Object.defineProperty(ke,"WillRenameFilesRequest",{enumerable:!0,get:o(function(){return Rm.WillRenameFilesRequest},"get")});Object.defineProperty(ke,"DidDeleteFilesNotification",{enumerable:!0,get:o(function(){return Rm.DidDeleteFilesNotification},"get")});Object.defineProperty(ke,"WillDeleteFilesRequest",{enumerable:!0,get:o(function(){return Rm.WillDeleteFilesRequest},"get")});var jG=R2e();Object.defineProperty(ke,"UniquenessLevel",{enumerable:!0,get:o(function(){return jG.UniquenessLevel},"get")});Object.defineProperty(ke,"MonikerKind",{enumerable:!0,get:o(function(){return jG.MonikerKind},"get")});Object.defineProperty(ke,"MonikerRequest",{enumerable:!0,get:o(function(){return jG.MonikerRequest},"get")});var XG=I2e();Object.defineProperty(ke,"TypeHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return XG.TypeHierarchyPrepareRequest},"get")});Object.defineProperty(ke,"TypeHierarchySubtypesRequest",{enumerable:!0,get:o(function(){return XG.TypeHierarchySubtypesRequest},"get")});Object.defineProperty(ke,"TypeHierarchySupertypesRequest",{enumerable:!0,get:o(function(){return XG.TypeHierarchySupertypesRequest},"get")});var gbe=B2e();Object.defineProperty(ke,"InlineValueRequest",{enumerable:!0,get:o(function(){return gbe.InlineValueRequest},"get")});Object.defineProperty(ke,"InlineValueRefreshRequest",{enumerable:!0,get:o(function(){return gbe.InlineValueRefreshRequest},"get")});var KG=G2e();Object.defineProperty(ke,"InlayHintRequest",{enumerable:!0,get:o(function(){return KG.InlayHintRequest},"get")});Object.defineProperty(ke,"InlayHintResolveRequest",{enumerable:!0,get:o(function(){return KG.InlayHintResolveRequest},"get")});Object.defineProperty(ke,"InlayHintRefreshRequest",{enumerable:!0,get:o(function(){return KG.InlayHintRefreshRequest},"get")});var LT=j2e();Object.defineProperty(ke,"DiagnosticServerCancellationData",{enumerable:!0,get:o(function(){return LT.DiagnosticServerCancellationData},"get")});Object.defineProperty(ke,"DocumentDiagnosticReportKind",{enumerable:!0,get:o(function(){return LT.DocumentDiagnosticReportKind},"get")});Object.defineProperty(ke,"DocumentDiagnosticRequest",{enumerable:!0,get:o(function(){return LT.DocumentDiagnosticRequest},"get")});Object.defineProperty(ke,"WorkspaceDiagnosticRequest",{enumerable:!0,get:o(function(){return LT.WorkspaceDiagnosticRequest},"get")});Object.defineProperty(ke,"DiagnosticRefreshRequest",{enumerable:!0,get:o(function(){return LT.DiagnosticRefreshRequest},"get")});var Bu=txe();Object.defineProperty(ke,"NotebookCellKind",{enumerable:!0,get:o(function(){return Bu.NotebookCellKind},"get")});Object.defineProperty(ke,"ExecutionSummary",{enumerable:!0,get:o(function(){return Bu.ExecutionSummary},"get")});Object.defineProperty(ke,"NotebookCell",{enumerable:!0,get:o(function(){return Bu.NotebookCell},"get")});Object.defineProperty(ke,"NotebookDocument",{enumerable:!0,get:o(function(){return Bu.NotebookDocument},"get")});Object.defineProperty(ke,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:o(function(){return Bu.NotebookDocumentSyncRegistrationType},"get")});Object.defineProperty(ke,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Bu.DidOpenNotebookDocumentNotification},"get")});Object.defineProperty(ke,"NotebookCellArrayChange",{enumerable:!0,get:o(function(){return Bu.NotebookCellArrayChange},"get")});Object.defineProperty(ke,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Bu.DidChangeNotebookDocumentNotification},"get")});Object.defineProperty(ke,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Bu.DidSaveNotebookDocumentNotification},"get")});Object.defineProperty(ke,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Bu.DidCloseNotebookDocumentNotification},"get")});var tnt=ixe();Object.defineProperty(ke,"InlineCompletionRequest",{enumerable:!0,get:o(function(){return tnt.InlineCompletionRequest},"get")});var VG;(function(t){function e(r){let n=r;return Sa.string(n)||Sa.string(n.language)||Sa.string(n.scheme)||Sa.string(n.pattern)}o(e,"is"),t.is=e})(VG||(ke.TextDocumentFilter=VG={}));var qG;(function(t){function e(r){let n=r;return Sa.objectLiteral(n)&&(Sa.string(n.notebookType)||Sa.string(n.scheme)||Sa.string(n.pattern))}o(e,"is"),t.is=e})(qG||(ke.NotebookDocumentFilter=qG={}));var UG;(function(t){function e(r){let n=r;return Sa.objectLiteral(n)&&(Sa.string(n.notebook)||qG.is(n.notebook))&&(n.language===void 0||Sa.string(n.language))}o(e,"is"),t.is=e})(UG||(ke.NotebookCellTextDocumentFilter=UG={}));var WG;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Sa.string(n)&&!VG.is(n)&&!UG.is(n))return!1;return!0}o(e,"is"),t.is=e})(WG||(ke.DocumentSelector=WG={}));var sxe;(function(t){t.method="client/registerCapability",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(sxe||(ke.RegistrationRequest=sxe={}));var oxe;(function(t){t.method="client/unregisterCapability",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(oxe||(ke.UnregistrationRequest=oxe={}));var lxe;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(lxe||(ke.ResourceOperationKind=lxe={}));var cxe;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(cxe||(ke.FailureHandlingKind=cxe={}));var uxe;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(uxe||(ke.PositionEncodingKind=uxe={}));var hxe;(function(t){function e(r){let n=r;return n&&Sa.string(n.id)&&n.id.length>0}o(e,"hasId"),t.hasId=e})(hxe||(ke.StaticRegistrationOptions=hxe={}));var fxe;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||WG.is(n.documentSelector))}o(e,"is"),t.is=e})(fxe||(ke.TextDocumentRegistrationOptions=fxe={}));var dxe;(function(t){function e(n){let i=n;return Sa.objectLiteral(i)&&(i.workDoneProgress===void 0||Sa.boolean(i.workDoneProgress))}o(e,"is"),t.is=e;function r(n){let i=n;return i&&Sa.boolean(i.workDoneProgress)}o(r,"hasWorkDoneProgress"),t.hasWorkDoneProgress=r})(dxe||(ke.WorkDoneProgressOptions=dxe={}));var pxe;(function(t){t.method="initialize",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(pxe||(ke.InitializeRequest=pxe={}));var mxe;(function(t){t.unknownProtocolVersion=1})(mxe||(ke.InitializeErrorCodes=mxe={}));var gxe;(function(t){t.method="initialized",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(gxe||(ke.InitializedNotification=gxe={}));var yxe;(function(t){t.method="shutdown",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType0(t.method)})(yxe||(ke.ShutdownRequest=yxe={}));var vxe;(function(t){t.method="exit",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType0(t.method)})(vxe||(ke.ExitNotification=vxe={}));var xxe;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(xxe||(ke.DidChangeConfigurationNotification=xxe={}));var bxe;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(bxe||(ke.MessageType=bxe={}));var Txe;(function(t){t.method="window/showMessage",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(Txe||(ke.ShowMessageNotification=Txe={}));var wxe;(function(t){t.method="window/showMessageRequest",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(wxe||(ke.ShowMessageRequest=wxe={}));var kxe;(function(t){t.method="window/logMessage",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(kxe||(ke.LogMessageNotification=kxe={}));var Sxe;(function(t){t.method="telemetry/event",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(Sxe||(ke.TelemetryEventNotification=Sxe={}));var Exe;(function(t){t.None=0,t.Full=1,t.Incremental=2})(Exe||(ke.TextDocumentSyncKind=Exe={}));var Cxe;(function(t){t.method="textDocument/didOpen",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Cxe||(ke.DidOpenTextDocumentNotification=Cxe={}));var Axe;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}o(e,"isIncremental"),t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}o(r,"isFull"),t.isFull=r})(Axe||(ke.TextDocumentContentChangeEvent=Axe={}));var _xe;(function(t){t.method="textDocument/didChange",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(_xe||(ke.DidChangeTextDocumentNotification=_xe={}));var Dxe;(function(t){t.method="textDocument/didClose",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Dxe||(ke.DidCloseTextDocumentNotification=Dxe={}));var Rxe;(function(t){t.method="textDocument/didSave",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Rxe||(ke.DidSaveTextDocumentNotification=Rxe={}));var Lxe;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(Lxe||(ke.TextDocumentSaveReason=Lxe={}));var Nxe;(function(t){t.method="textDocument/willSave",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Nxe||(ke.WillSaveTextDocumentNotification=Nxe={}));var Mxe;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Mxe||(ke.WillSaveTextDocumentWaitUntilRequest=Mxe={}));var Ixe;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Ixe||(ke.DidChangeWatchedFilesNotification=Ixe={}));var Oxe;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(Oxe||(ke.FileChangeType=Oxe={}));var Pxe;(function(t){function e(r){let n=r;return Sa.objectLiteral(n)&&(axe.URI.is(n.baseUri)||axe.WorkspaceFolder.is(n.baseUri))&&Sa.string(n.pattern)}o(e,"is"),t.is=e})(Pxe||(ke.RelativePattern=Pxe={}));var Bxe;(function(t){t.Create=1,t.Change=2,t.Delete=4})(Bxe||(ke.WatchKind=Bxe={}));var Fxe;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(Fxe||(ke.PublishDiagnosticsNotification=Fxe={}));var $xe;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})($xe||(ke.CompletionTriggerKind=$xe={}));var zxe;(function(t){t.method="textDocument/completion",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(zxe||(ke.CompletionRequest=zxe={}));var Gxe;(function(t){t.method="completionItem/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Gxe||(ke.CompletionResolveRequest=Gxe={}));var Vxe;(function(t){t.method="textDocument/hover",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Vxe||(ke.HoverRequest=Vxe={}));var qxe;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(qxe||(ke.SignatureHelpTriggerKind=qxe={}));var Uxe;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Uxe||(ke.SignatureHelpRequest=Uxe={}));var Wxe;(function(t){t.method="textDocument/definition",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Wxe||(ke.DefinitionRequest=Wxe={}));var Hxe;(function(t){t.method="textDocument/references",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Hxe||(ke.ReferencesRequest=Hxe={}));var Yxe;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Yxe||(ke.DocumentHighlightRequest=Yxe={}));var jxe;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(jxe||(ke.DocumentSymbolRequest=jxe={}));var Xxe;(function(t){t.method="textDocument/codeAction",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Xxe||(ke.CodeActionRequest=Xxe={}));var Kxe;(function(t){t.method="codeAction/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Kxe||(ke.CodeActionResolveRequest=Kxe={}));var Qxe;(function(t){t.method="workspace/symbol",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Qxe||(ke.WorkspaceSymbolRequest=Qxe={}));var Zxe;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Zxe||(ke.WorkspaceSymbolResolveRequest=Zxe={}));var Jxe;(function(t){t.method="textDocument/codeLens",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Jxe||(ke.CodeLensRequest=Jxe={}));var ebe;(function(t){t.method="codeLens/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(ebe||(ke.CodeLensResolveRequest=ebe={}));var tbe;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType0(t.method)})(tbe||(ke.CodeLensRefreshRequest=tbe={}));var rbe;(function(t){t.method="textDocument/documentLink",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(rbe||(ke.DocumentLinkRequest=rbe={}));var nbe;(function(t){t.method="documentLink/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(nbe||(ke.DocumentLinkResolveRequest=nbe={}));var ibe;(function(t){t.method="textDocument/formatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(ibe||(ke.DocumentFormattingRequest=ibe={}));var abe;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(abe||(ke.DocumentRangeFormattingRequest=abe={}));var sbe;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(sbe||(ke.DocumentRangesFormattingRequest=sbe={}));var obe;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(obe||(ke.DocumentOnTypeFormattingRequest=obe={}));var lbe;(function(t){t.Identifier=1})(lbe||(ke.PrepareSupportDefaultBehavior=lbe={}));var cbe;(function(t){t.method="textDocument/rename",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(cbe||(ke.RenameRequest=cbe={}));var ube;(function(t){t.method="textDocument/prepareRename",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(ube||(ke.PrepareRenameRequest=ube={}));var hbe;(function(t){t.method="workspace/executeCommand",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(hbe||(ke.ExecuteCommandRequest=hbe={}));var fbe;(function(t){t.method="workspace/applyEdit",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType("workspace/applyEdit")})(fbe||(ke.ApplyWorkspaceEditRequest=fbe={}))});var xbe=Jt(MA=>{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});MA.createProtocolConnection=void 0;var vbe=Dm();function rnt(t,e,r,n){return vbe.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,vbe.createMessageConnection)(t,e,r,n)}o(rnt,"createProtocolConnection");MA.createProtocolConnection=rnt});var Tbe=Jt(ko=>{"use strict";var nnt=ko&&ko.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),IA=ko&&ko.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&nnt(e,t,r)};Object.defineProperty(ko,"__esModule",{value:!0});ko.LSPErrorCodes=ko.createProtocolConnection=void 0;IA(Dm(),ko);IA((Uy(),D3(B6)),ko);IA(hi(),ko);IA(ybe(),ko);var int=xbe();Object.defineProperty(ko,"createProtocolConnection",{enumerable:!0,get:o(function(){return int.createProtocolConnection},"get")});var bbe;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(bbe||(ko.LSPErrorCodes=bbe={}))});var kbe=Jt(Fu=>{"use strict";var ant=Fu&&Fu.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),wbe=Fu&&Fu.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ant(e,t,r)};Object.defineProperty(Fu,"__esModule",{value:!0});Fu.createProtocolConnection=void 0;var snt=IG();wbe(IG(),Fu);wbe(Tbe(),Fu);function ont(t,e,r,n){return(0,snt.createMessageConnection)(t,e,r,n)}o(ont,"createProtocolConnection");Fu.createProtocolConnection=ont});var tp,QG=I(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(tp||(tp={}))});var vv,NT,ZG=I(()=>{"use strict";vv=Aa(kbe(),1);Rl();QG();Hd();Nl();Ms();Sc();Jy();NT=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new us,this.documentPhaseListeners=new us,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Nr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Ar.CancellationToken.None){for(let i of e){let a=i.uri.toString();if(i.state===Nr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,Nr.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=Nr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=Nr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=Ar.CancellationToken.None){this.currentState=Nr.Changed;let i=[];for(let u of r){let h=this.langiumDocuments.deleteDocuments(u);for(let f of h)i.push(f.uri),this.cleanUpDeleted(f)}let a=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of a){let h=this.langiumDocuments.getDocument(u);h===void 0&&(h=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),h.state=Nr.Changed,this.langiumDocuments.addDocument(h)),this.resetToState(h,Nr.Changed)}let s=Or(a).concat(i).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!s.has(u.uri.toString())&&this.shouldRelink(u,s)).forEach(u=>this.resetToState(u,Nr.ComputedScopes)),await this.emitUpdate(a,i),await Ti(n);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return Or(s).filter(l=>!a.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),tp.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case Nr.Changed:case Nr.Parsed:this.indexManager.removeContent(e.uri);case Nr.IndexedContent:e.localSymbols=void 0;case Nr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Nr.Linked:this.indexManager.removeReferences(e.uri);case Nr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Nr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Nr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,Nr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,Nr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,Nr.ComputedScopes,n,async s=>{let l=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await l.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,Nr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,Nr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,Nr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),tp.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),tp.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=Ar.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Ll);if(this.currentState>=e&&e>i.state)return Promise.reject(new vv.ResponseError(vv.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${Nr[i.state]}, requiring ${Nr[e]}, but workspace state is already ${Nr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new vv.ResponseError(vv.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{let l=this.onDocumentPhase(e,h=>{Ii.equals(h.uri,r)&&(l.dispose(),u.dispose(),a(h.uri))}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(Ll)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Ll):new Promise((n,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(Ll)})})}async notifyDocumentPhase(e,r,n){let a=this.documentPhaseListeners.get(r).slice();for(let s of a)try{await Ti(n),await s(e,n)}catch(l){if(!Iu(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let a=this.buildPhaseListeners.get(r).slice();for(let s of a)await Ti(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=Or(l.result.validationChecks).concat(a.categories).distinct().toArray():l.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}});var MT,JG=I(()=>{"use strict";ls();Z6();Rl();Ms();Sc();MT=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Cm,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=os(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{Ii.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Or(i)}allElements(e,r){let n=Or(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=Ar.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=Ar.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var IT,eV=I(()=>{"use strict";Rl();Nl();Sc();Ms();IT=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new zs,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=Ar.CancellationToken.None){let n=await this.performStartup(e);await Ti(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=o(s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)},"collector");await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let a=Or(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ia.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Ii.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}});function PA(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function rV(t){return t&&"modes"in t&&"defaultMode"in t}function tV(t){return!PA(t)&&!rV(t)}var OT,OA,Lm,BA=I(()=>{"use strict";Vd();OT=class{static{o(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,a){return Sy.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return Sy.buildUnableToPopLexerModeMessage(e)}},OA={mode:"full"},Lm=class{static{o(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=tV(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new li(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=OA){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(tV(e))return e;let r=rV(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};o(PA,"isTokenTypeArray");o(rV,"isIMultiModeLexerDefinition");o(tV,"isTokenTypeDictionary")});function aV(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=nn.create(0,0));let a=Cbe(t),s=oV(n),l=cnt({lines:a,position:i,options:s});return pnt({index:0,tokens:l,position:i})}function sV(t,e){let r=oV(e),n=Cbe(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],s=r.start,l=r.end;return!!s?.exec(i)&&!!l?.exec(a)}function Cbe(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(QB)}function cnt(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i=l.length){if(e.length>0){let f=nn.create(r,n);e.push({type:"break",content:"",range:Yr.create(f,f)})}}else{Sbe.lastIndex=u;let f=Sbe.exec(l);if(f){let d=f[0],p=f[1],m=nn.create(r,n+u),g=nn.create(r,n+u+d.length);e.push({type:"tag",content:p,range:Yr.create(m,g)}),u+=d.length,u=iV(l,u)}if(u0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function unt(t,e,r,n){let i=[];if(t.length===0){let a=nn.create(r,n),s=nn.create(r,n+e.length);i.push({type:"text",content:e,range:Yr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:Yr.create(nn.create(r,a+n),nn.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:Yr.create(nn.create(r,a+f+n),nn.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:Yr.create(nn.create(r,a+f+n),nn.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:Yr.create(nn.create(r,a+f+n),nn.create(r,a+f+n))});a=u+l[0].length}let s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Yr.create(nn.create(r,a+n),nn.create(r,a+n+s.length))})}return i}function iV(t,e){let r=t.substring(e).match(hnt);return r?e+r.index:t.length}function dnt(t){let e=t.match(fnt);if(e&&typeof e.index=="number")return e.index}function pnt(t){let e=nn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new FA([],Yr.create(e,e));let r=[];for(;t.index0){let s=iV(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??xnt(e,i)}}function xnt(t,e){try{return ia.parse(t,!0),`[${e}](${t})`}catch{return t}}function Ebe(t){return t.endsWith(` +`)),ae){let ce=j.error?` Request failed: ${j.error.message} (${j.error.code}).`:"";w.log(`Received response '${ae.method} - (${j.id})' in ${Date.now()-ae.timerStart}ms.${ce}`,U)}else w.log(`Received response ${j.id} without active response promise.`,U)}else _e("receive-response",j)}o(we,"traceReceivedResponse");function _e(j,ae){if(!w||T===vn.Off)return;let U={isLSPMessage:!0,type:j,message:ae,timestamp:Date.now()};w.log(U)}o(_e,"logLSPMessage");function $e(){if(F())throw new dv($4.Closed,"Connection is closed.");if(G())throw new dv($4.Disposed,"Connection is disposed.")}o($e,"throwIfClosedOrDisposed");function fe(){if(B())throw new dv($4.AlreadyListening,"Connection is already listening")}o(fe,"throwIfListening");function Ke(){if(!B())throw new Error("Call listen() first.")}o(Ke,"throwIfNotListening");function Te(j){return j===void 0?null:j}o(Te,"undefinedToNull");function Be(j){if(j!==null)return j}o(Be,"nullToUndefined");function Ue(j){return j!=null&&!Array.isArray(j)&&typeof j=="object"}o(Ue,"isNamedParam");function Ge(j,ae){switch(j){case br.ParameterStructures.auto:return Ue(ae)?Be(ae):[Te(ae)];case br.ParameterStructures.byName:if(!Ue(ae))throw new Error("Received parameters by name but param is not an object literal.");return Be(ae);case br.ParameterStructures.byPosition:return[Te(ae)];default:throw new Error(`Unknown parameter structure ${j.toString()}`)}}o(Ge,"computeSingleParam");function Ne(j,ae){let U,ce=j.numberOfParams;switch(ce){case 0:U=void 0;break;case 1:U=Ge(j.parameterStructures,ae[0]);break;default:U=[];for(let z=0;z{$e();let U,ce;if(Ai.string(j)){U=j;let ne=ae[0],se=0,be=br.ParameterStructures.auto;br.ParameterStructures.is(ne)&&(se=1,be=ne);let pe=ae.length,me=pe-se;switch(me){case 0:ce=void 0;break;case 1:ce=Ge(be,ae[se]);break;default:if(be===br.ParameterStructures.byName)throw new Error(`Received ${me} parameters for 'by Name' notification parameter structure.`);ce=ae.slice(se,pe).map(Re=>Te(Re));break}}else{let ne=ae;U=j.method,ce=Ne(j,ne)}let z={jsonrpc:u,method:U,params:ce};return de(z),e.write(z).catch(ne=>{throw i.error("Sending notification failed."),ne})},"sendNotification"),onNotification:o((j,ae)=>{$e();let U;return Ai.func(j)?d=j:ae&&(Ai.string(j)?(U=j,p.set(j,{type:void 0,handler:ae})):(U=j.method,p.set(j.method,{type:j,handler:ae}))),{dispose:o(()=>{U!==void 0?p.delete(U):d=void 0},"dispose")}},"onNotification"),onProgress:o((j,ae,U)=>{if(m.has(ae))throw new Error(`Progress handler for token ${ae} already registered`);return m.set(ae,U),{dispose:o(()=>{m.delete(ae)},"dispose")}},"onProgress"),sendProgress:o((j,ae,U)=>We.sendNotification(F4.type,{token:ae,value:U}),"sendProgress"),onUnhandledProgress:I.event,sendRequest:o((j,...ae)=>{$e(),Ke();let U,ce,z;if(Ai.string(j)){U=j;let pe=ae[0],me=ae[ae.length-1],Re=0,ge=br.ParameterStructures.auto;br.ParameterStructures.is(pe)&&(Re=1,ge=pe);let Ie=ae.length;IG.CancellationToken.is(me)&&(Ie=Ie-1,z=me);let qe=Ie-Re;switch(qe){case 0:ce=void 0;break;case 1:ce=Ge(ge,ae[Re]);break;default:if(ge===br.ParameterStructures.byName)throw new Error(`Received ${qe} parameters for 'by Name' request parameter structure.`);ce=ae.slice(Re,Ie).map(Pe=>Te(Pe));break}}else{let pe=ae;U=j.method,ce=Ne(j,pe);let me=j.numberOfParams;z=IG.CancellationToken.is(pe[me])?pe[me]:void 0}let ne=a++,se;z&&(se=z.onCancellationRequested(()=>{let pe=C.sender.sendCancellation(We,ne);return pe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${ne}`),Promise.resolve()):pe.catch(()=>{i.log(`Sending cancellation messages for id ${ne} failed`)})}));let be={jsonrpc:u,id:ne,method:U,params:ce};return xe(be),typeof C.sender.enableCancellation=="function"&&C.sender.enableCancellation(be),new Promise(async(pe,me)=>{let Re=o(qe=>{pe(qe),C.sender.cleanup(ne),se?.dispose()},"resolveWithCleanup"),ge=o(qe=>{me(qe),C.sender.cleanup(ne),se?.dispose()},"rejectWithCleanup"),Ie={method:U,timerStart:Date.now(),resolve:Re,reject:ge};try{await e.write(be),v.set(ne,Ie)}catch(qe){throw i.error("Sending request failed."),Ie.reject(new br.ResponseError(br.ErrorCodes.MessageWriteError,qe.message?qe.message:"Unknown reason")),qe}})},"sendRequest"),onRequest:o((j,ae)=>{$e();let U=null;return BG.is(j)?(U=void 0,h=j):Ai.string(j)?(U=null,ae!==void 0&&(U=j,f.set(j,{handler:ae,type:void 0}))):ae!==void 0&&(U=j.method,f.set(j.method,{type:j,handler:ae})),{dispose:o(()=>{U!==null&&(U!==void 0?f.delete(U):h=void 0)},"dispose")}},"onRequest"),hasPendingResponse:o(()=>v.size>0,"hasPendingResponse"),trace:o(async(j,ae,U)=>{let ce=!1,z=rl.Text;U!==void 0&&(Ai.boolean(U)?ce=U:(ce=U.sendNotification||!1,z=U.traceFormat||rl.Text)),T=j,E=z,T===vn.Off?w=void 0:w=ae,ce&&!F()&&!G()&&await We.sendNotification(FG.type,{value:vn.toString(j)})},"trace"),onError:S.event,onClose:A.event,onUnhandledNotification:L.event,onDispose:N.event,end:o(()=>{e.end()},"end"),dispose:o(()=>{if(G())return;k=Mc.Disposed,N.fire(void 0);let j=new br.ResponseError(br.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let ae of v.values())ae.reject(j);v=new Map,b=new Map,x=new Set,y=new Jve.LinkedMap,Ai.func(e.dispose)&&e.dispose(),Ai.func(t.dispose)&&t.dispose()},"dispose"),listen:o(()=>{$e(),fe(),k=Mc.Listening,t.listen(Y)},"listen"),inspect:o(()=>{(0,Zve.default)().console.log("inspect")},"inspect")};return We.onNotification(kA.type,j=>{if(T===vn.Off||!w)return;let ae=T===vn.Verbose||T===vn.Compact;w.log(j.message,ae?j.verbose:void 0)}),We.onNotification(F4.type,j=>{let ae=m.get(j.token);ae?ae(j.value):I.fire(j)}),We}o(pit,"createMessageConnection");Rr.createMessageConnection=pit});var DA=nr(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.ProgressType=tt.ProgressToken=tt.createMessageConnection=tt.NullLogger=tt.ConnectionOptions=tt.ConnectionStrategy=tt.AbstractMessageBuffer=tt.WriteableStreamMessageWriter=tt.AbstractMessageWriter=tt.MessageWriter=tt.ReadableStreamMessageReader=tt.AbstractMessageReader=tt.MessageReader=tt.SharedArrayReceiverStrategy=tt.SharedArraySenderStrategy=tt.CancellationToken=tt.CancellationTokenSource=tt.Emitter=tt.Event=tt.Disposable=tt.LRUCache=tt.Touch=tt.LinkedMap=tt.ParameterStructures=tt.NotificationType9=tt.NotificationType8=tt.NotificationType7=tt.NotificationType6=tt.NotificationType5=tt.NotificationType4=tt.NotificationType3=tt.NotificationType2=tt.NotificationType1=tt.NotificationType0=tt.NotificationType=tt.ErrorCodes=tt.ResponseError=tt.RequestType9=tt.RequestType8=tt.RequestType7=tt.RequestType6=tt.RequestType5=tt.RequestType4=tt.RequestType3=tt.RequestType2=tt.RequestType1=tt.RequestType0=tt.RequestType=tt.Message=tt.RAL=void 0;tt.MessageStrategy=tt.CancellationStrategy=tt.CancellationSenderStrategy=tt.CancellationReceiverStrategy=tt.ConnectionError=tt.ConnectionErrors=tt.LogTraceNotification=tt.SetTraceNotification=tt.TraceFormat=tt.TraceValues=tt.Trace=void 0;var Kn=vG();Object.defineProperty(tt,"Message",{enumerable:!0,get:o(function(){return Kn.Message},"get")});Object.defineProperty(tt,"RequestType",{enumerable:!0,get:o(function(){return Kn.RequestType},"get")});Object.defineProperty(tt,"RequestType0",{enumerable:!0,get:o(function(){return Kn.RequestType0},"get")});Object.defineProperty(tt,"RequestType1",{enumerable:!0,get:o(function(){return Kn.RequestType1},"get")});Object.defineProperty(tt,"RequestType2",{enumerable:!0,get:o(function(){return Kn.RequestType2},"get")});Object.defineProperty(tt,"RequestType3",{enumerable:!0,get:o(function(){return Kn.RequestType3},"get")});Object.defineProperty(tt,"RequestType4",{enumerable:!0,get:o(function(){return Kn.RequestType4},"get")});Object.defineProperty(tt,"RequestType5",{enumerable:!0,get:o(function(){return Kn.RequestType5},"get")});Object.defineProperty(tt,"RequestType6",{enumerable:!0,get:o(function(){return Kn.RequestType6},"get")});Object.defineProperty(tt,"RequestType7",{enumerable:!0,get:o(function(){return Kn.RequestType7},"get")});Object.defineProperty(tt,"RequestType8",{enumerable:!0,get:o(function(){return Kn.RequestType8},"get")});Object.defineProperty(tt,"RequestType9",{enumerable:!0,get:o(function(){return Kn.RequestType9},"get")});Object.defineProperty(tt,"ResponseError",{enumerable:!0,get:o(function(){return Kn.ResponseError},"get")});Object.defineProperty(tt,"ErrorCodes",{enumerable:!0,get:o(function(){return Kn.ErrorCodes},"get")});Object.defineProperty(tt,"NotificationType",{enumerable:!0,get:o(function(){return Kn.NotificationType},"get")});Object.defineProperty(tt,"NotificationType0",{enumerable:!0,get:o(function(){return Kn.NotificationType0},"get")});Object.defineProperty(tt,"NotificationType1",{enumerable:!0,get:o(function(){return Kn.NotificationType1},"get")});Object.defineProperty(tt,"NotificationType2",{enumerable:!0,get:o(function(){return Kn.NotificationType2},"get")});Object.defineProperty(tt,"NotificationType3",{enumerable:!0,get:o(function(){return Kn.NotificationType3},"get")});Object.defineProperty(tt,"NotificationType4",{enumerable:!0,get:o(function(){return Kn.NotificationType4},"get")});Object.defineProperty(tt,"NotificationType5",{enumerable:!0,get:o(function(){return Kn.NotificationType5},"get")});Object.defineProperty(tt,"NotificationType6",{enumerable:!0,get:o(function(){return Kn.NotificationType6},"get")});Object.defineProperty(tt,"NotificationType7",{enumerable:!0,get:o(function(){return Kn.NotificationType7},"get")});Object.defineProperty(tt,"NotificationType8",{enumerable:!0,get:o(function(){return Kn.NotificationType8},"get")});Object.defineProperty(tt,"NotificationType9",{enumerable:!0,get:o(function(){return Kn.NotificationType9},"get")});Object.defineProperty(tt,"ParameterStructures",{enumerable:!0,get:o(function(){return Kn.ParameterStructures},"get")});var GG=bG();Object.defineProperty(tt,"LinkedMap",{enumerable:!0,get:o(function(){return GG.LinkedMap},"get")});Object.defineProperty(tt,"LRUCache",{enumerable:!0,get:o(function(){return GG.LRUCache},"get")});Object.defineProperty(tt,"Touch",{enumerable:!0,get:o(function(){return GG.Touch},"get")});var mit=Vve();Object.defineProperty(tt,"Disposable",{enumerable:!0,get:o(function(){return mit.Disposable},"get")});var n2e=Cm();Object.defineProperty(tt,"Event",{enumerable:!0,get:o(function(){return n2e.Event},"get")});Object.defineProperty(tt,"Emitter",{enumerable:!0,get:o(function(){return n2e.Emitter},"get")});var i2e=y4();Object.defineProperty(tt,"CancellationTokenSource",{enumerable:!0,get:o(function(){return i2e.CancellationTokenSource},"get")});Object.defineProperty(tt,"CancellationToken",{enumerable:!0,get:o(function(){return i2e.CancellationToken},"get")});var a2e=qve();Object.defineProperty(tt,"SharedArraySenderStrategy",{enumerable:!0,get:o(function(){return a2e.SharedArraySenderStrategy},"get")});Object.defineProperty(tt,"SharedArrayReceiverStrategy",{enumerable:!0,get:o(function(){return a2e.SharedArrayReceiverStrategy},"get")});var VG=Wve();Object.defineProperty(tt,"MessageReader",{enumerable:!0,get:o(function(){return VG.MessageReader},"get")});Object.defineProperty(tt,"AbstractMessageReader",{enumerable:!0,get:o(function(){return VG.AbstractMessageReader},"get")});Object.defineProperty(tt,"ReadableStreamMessageReader",{enumerable:!0,get:o(function(){return VG.ReadableStreamMessageReader},"get")});var qG=Kve();Object.defineProperty(tt,"MessageWriter",{enumerable:!0,get:o(function(){return qG.MessageWriter},"get")});Object.defineProperty(tt,"AbstractMessageWriter",{enumerable:!0,get:o(function(){return qG.AbstractMessageWriter},"get")});Object.defineProperty(tt,"WriteableStreamMessageWriter",{enumerable:!0,get:o(function(){return qG.WriteableStreamMessageWriter},"get")});var git=Qve();Object.defineProperty(tt,"AbstractMessageBuffer",{enumerable:!0,get:o(function(){return git.AbstractMessageBuffer},"get")});var Ha=r2e();Object.defineProperty(tt,"ConnectionStrategy",{enumerable:!0,get:o(function(){return Ha.ConnectionStrategy},"get")});Object.defineProperty(tt,"ConnectionOptions",{enumerable:!0,get:o(function(){return Ha.ConnectionOptions},"get")});Object.defineProperty(tt,"NullLogger",{enumerable:!0,get:o(function(){return Ha.NullLogger},"get")});Object.defineProperty(tt,"createMessageConnection",{enumerable:!0,get:o(function(){return Ha.createMessageConnection},"get")});Object.defineProperty(tt,"ProgressToken",{enumerable:!0,get:o(function(){return Ha.ProgressToken},"get")});Object.defineProperty(tt,"ProgressType",{enumerable:!0,get:o(function(){return Ha.ProgressType},"get")});Object.defineProperty(tt,"Trace",{enumerable:!0,get:o(function(){return Ha.Trace},"get")});Object.defineProperty(tt,"TraceValues",{enumerable:!0,get:o(function(){return Ha.TraceValues},"get")});Object.defineProperty(tt,"TraceFormat",{enumerable:!0,get:o(function(){return Ha.TraceFormat},"get")});Object.defineProperty(tt,"SetTraceNotification",{enumerable:!0,get:o(function(){return Ha.SetTraceNotification},"get")});Object.defineProperty(tt,"LogTraceNotification",{enumerable:!0,get:o(function(){return Ha.LogTraceNotification},"get")});Object.defineProperty(tt,"ConnectionErrors",{enumerable:!0,get:o(function(){return Ha.ConnectionErrors},"get")});Object.defineProperty(tt,"ConnectionError",{enumerable:!0,get:o(function(){return Ha.ConnectionError},"get")});Object.defineProperty(tt,"CancellationReceiverStrategy",{enumerable:!0,get:o(function(){return Ha.CancellationReceiverStrategy},"get")});Object.defineProperty(tt,"CancellationSenderStrategy",{enumerable:!0,get:o(function(){return Ha.CancellationSenderStrategy},"get")});Object.defineProperty(tt,"CancellationStrategy",{enumerable:!0,get:o(function(){return Ha.CancellationStrategy},"get")});Object.defineProperty(tt,"MessageStrategy",{enumerable:!0,get:o(function(){return Ha.MessageStrategy},"get")});var yit=Xd();tt.RAL=yit.default});var o2e=nr(YG=>{"use strict";Object.defineProperty(YG,"__esModule",{value:!0});var Vu=DA(),RA=class t extends Vu.AbstractMessageBuffer{static{o(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};RA.emptyBuffer=new Uint8Array(0);var UG=class{static{o(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new Vu.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Vu.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Vu.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Vu.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Vu.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},WG=class{static{o(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Vu.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Vu.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Vu.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},vit=new TextEncoder,s2e=Object.freeze({messageBuffer:Object.freeze({create:o(t=>new RA(t),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:o((t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(vit.encode(JSON.stringify(t,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:o((t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))},"decode")})}),stream:Object.freeze({asReadableStream:o(t=>new UG(t),"asReadableStream"),asWritableStream:o(t=>new WG(t),"asWritableStream")}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:o(()=>clearTimeout(n),"dispose")}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:o(()=>clearTimeout(r),"dispose")}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:o(()=>clearInterval(n),"dispose")}}})});function HG(){return s2e}o(HG,"RIL");(function(t){function e(){Vu.RAL.install(s2e)}o(e,"install"),t.install=e})(HG||(HG={}));YG.default=HG});var Nm=nr(nl=>{"use strict";var xit=nl&&nl.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),bit=nl&&nl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&xit(e,t,r)};Object.defineProperty(nl,"__esModule",{value:!0});nl.createMessageConnection=nl.BrowserMessageWriter=nl.BrowserMessageReader=void 0;var Tit=o2e();Tit.default.install();var pv=DA();bit(DA(),nl);var jG=class extends pv.AbstractMessageReader{static{o(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new pv.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};nl.BrowserMessageReader=jG;var XG=class extends pv.AbstractMessageWriter{static{o(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};nl.BrowserMessageWriter=XG;function wit(t,e,r,n){return r===void 0&&(r=pv.NullLogger),pv.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,pv.createMessageConnection)(t,e,r,n)}o(wit,"createMessageConnection");nl.createMessageConnection=wit});var KG=nr((tyr,l2e)=>{"use strict";l2e.exports=Nm()});var mi=nr(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.ProtocolNotificationType=Co.ProtocolNotificationType0=Co.ProtocolRequestType=Co.ProtocolRequestType0=Co.RegistrationType=Co.MessageDirection=void 0;var mv=Nm(),c2e;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(c2e||(Co.MessageDirection=c2e={}));var QG=class{static{o(this,"RegistrationType")}constructor(e){this.method=e}};Co.RegistrationType=QG;var ZG=class extends mv.RequestType0{static{o(this,"ProtocolRequestType0")}constructor(e){super(e)}};Co.ProtocolRequestType0=ZG;var JG=class extends mv.RequestType{static{o(this,"ProtocolRequestType")}constructor(e){super(e,mv.ParameterStructures.byName)}};Co.ProtocolRequestType=JG;var eV=class extends mv.NotificationType0{static{o(this,"ProtocolNotificationType0")}constructor(e){super(e)}};Co.ProtocolNotificationType0=eV;var tV=class extends mv.NotificationType{static{o(this,"ProtocolNotificationType")}constructor(e){super(e,mv.ParameterStructures.byName)}};Co.ProtocolNotificationType=tV});var LA=nr(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.objectLiteral=Yi.typedArray=Yi.stringArray=Yi.array=Yi.func=Yi.error=Yi.number=Yi.string=Yi.boolean=void 0;function kit(t){return t===!0||t===!1}o(kit,"boolean");Yi.boolean=kit;function u2e(t){return typeof t=="string"||t instanceof String}o(u2e,"string");Yi.string=u2e;function Eit(t){return typeof t=="number"||t instanceof Number}o(Eit,"number");Yi.number=Eit;function Sit(t){return t instanceof Error}o(Sit,"error");Yi.error=Sit;function Cit(t){return typeof t=="function"}o(Cit,"func");Yi.func=Cit;function h2e(t){return Array.isArray(t)}o(h2e,"array");Yi.array=h2e;function Ait(t){return h2e(t)&&t.every(e=>u2e(e))}o(Ait,"stringArray");Yi.stringArray=Ait;function _it(t,e){return Array.isArray(t)&&t.every(e)}o(_it,"typedArray");Yi.typedArray=_it;function Dit(t){return t!==null&&typeof t=="object"}o(Dit,"objectLiteral");Yi.objectLiteral=Dit});var p2e=nr(NA=>{"use strict";Object.defineProperty(NA,"__esModule",{value:!0});NA.ImplementationRequest=void 0;var f2e=mi(),d2e;(function(t){t.method="textDocument/implementation",t.messageDirection=f2e.MessageDirection.clientToServer,t.type=new f2e.ProtocolRequestType(t.method)})(d2e||(NA.ImplementationRequest=d2e={}))});var y2e=nr(MA=>{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});MA.TypeDefinitionRequest=void 0;var m2e=mi(),g2e;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=m2e.MessageDirection.clientToServer,t.type=new m2e.ProtocolRequestType(t.method)})(g2e||(MA.TypeDefinitionRequest=g2e={}))});var b2e=nr(gv=>{"use strict";Object.defineProperty(gv,"__esModule",{value:!0});gv.DidChangeWorkspaceFoldersNotification=gv.WorkspaceFoldersRequest=void 0;var IA=mi(),v2e;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=IA.MessageDirection.serverToClient,t.type=new IA.ProtocolRequestType0(t.method)})(v2e||(gv.WorkspaceFoldersRequest=v2e={}));var x2e;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=IA.MessageDirection.clientToServer,t.type=new IA.ProtocolNotificationType(t.method)})(x2e||(gv.DidChangeWorkspaceFoldersNotification=x2e={}))});var k2e=nr(OA=>{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.ConfigurationRequest=void 0;var T2e=mi(),w2e;(function(t){t.method="workspace/configuration",t.messageDirection=T2e.MessageDirection.serverToClient,t.type=new T2e.ProtocolRequestType(t.method)})(w2e||(OA.ConfigurationRequest=w2e={}))});var C2e=nr(yv=>{"use strict";Object.defineProperty(yv,"__esModule",{value:!0});yv.ColorPresentationRequest=yv.DocumentColorRequest=void 0;var PA=mi(),E2e;(function(t){t.method="textDocument/documentColor",t.messageDirection=PA.MessageDirection.clientToServer,t.type=new PA.ProtocolRequestType(t.method)})(E2e||(yv.DocumentColorRequest=E2e={}));var S2e;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=PA.MessageDirection.clientToServer,t.type=new PA.ProtocolRequestType(t.method)})(S2e||(yv.ColorPresentationRequest=S2e={}))});var D2e=nr(vv=>{"use strict";Object.defineProperty(vv,"__esModule",{value:!0});vv.FoldingRangeRefreshRequest=vv.FoldingRangeRequest=void 0;var BA=mi(),A2e;(function(t){t.method="textDocument/foldingRange",t.messageDirection=BA.MessageDirection.clientToServer,t.type=new BA.ProtocolRequestType(t.method)})(A2e||(vv.FoldingRangeRequest=A2e={}));var _2e;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=BA.MessageDirection.serverToClient,t.type=new BA.ProtocolRequestType0(t.method)})(_2e||(vv.FoldingRangeRefreshRequest=_2e={}))});var N2e=nr(FA=>{"use strict";Object.defineProperty(FA,"__esModule",{value:!0});FA.DeclarationRequest=void 0;var R2e=mi(),L2e;(function(t){t.method="textDocument/declaration",t.messageDirection=R2e.MessageDirection.clientToServer,t.type=new R2e.ProtocolRequestType(t.method)})(L2e||(FA.DeclarationRequest=L2e={}))});var O2e=nr($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.SelectionRangeRequest=void 0;var M2e=mi(),I2e;(function(t){t.method="textDocument/selectionRange",t.messageDirection=M2e.MessageDirection.clientToServer,t.type=new M2e.ProtocolRequestType(t.method)})(I2e||($A.SelectionRangeRequest=I2e={}))});var $2e=nr(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.WorkDoneProgressCancelNotification=ep.WorkDoneProgressCreateRequest=ep.WorkDoneProgress=void 0;var Rit=Nm(),zA=mi(),P2e;(function(t){t.type=new Rit.ProgressType;function e(r){return r===t.type}o(e,"is"),t.is=e})(P2e||(ep.WorkDoneProgress=P2e={}));var B2e;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=zA.MessageDirection.serverToClient,t.type=new zA.ProtocolRequestType(t.method)})(B2e||(ep.WorkDoneProgressCreateRequest=B2e={}));var F2e;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=zA.MessageDirection.clientToServer,t.type=new zA.ProtocolNotificationType(t.method)})(F2e||(ep.WorkDoneProgressCancelNotification=F2e={}))});var q2e=nr(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.CallHierarchyOutgoingCallsRequest=tp.CallHierarchyIncomingCallsRequest=tp.CallHierarchyPrepareRequest=void 0;var xv=mi(),z2e;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=xv.MessageDirection.clientToServer,t.type=new xv.ProtocolRequestType(t.method)})(z2e||(tp.CallHierarchyPrepareRequest=z2e={}));var G2e;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=xv.MessageDirection.clientToServer,t.type=new xv.ProtocolRequestType(t.method)})(G2e||(tp.CallHierarchyIncomingCallsRequest=G2e={}));var V2e;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=xv.MessageDirection.clientToServer,t.type=new xv.ProtocolRequestType(t.method)})(V2e||(tp.CallHierarchyOutgoingCallsRequest=V2e={}))});var X2e=nr(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.SemanticTokensRefreshRequest=Ao.SemanticTokensRangeRequest=Ao.SemanticTokensDeltaRequest=Ao.SemanticTokensRequest=Ao.SemanticTokensRegistrationType=Ao.TokenFormat=void 0;var tf=mi(),U2e;(function(t){t.Relative="relative"})(U2e||(Ao.TokenFormat=U2e={}));var G4;(function(t){t.method="textDocument/semanticTokens",t.type=new tf.RegistrationType(t.method)})(G4||(Ao.SemanticTokensRegistrationType=G4={}));var W2e;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=tf.MessageDirection.clientToServer,t.type=new tf.ProtocolRequestType(t.method),t.registrationMethod=G4.method})(W2e||(Ao.SemanticTokensRequest=W2e={}));var H2e;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=tf.MessageDirection.clientToServer,t.type=new tf.ProtocolRequestType(t.method),t.registrationMethod=G4.method})(H2e||(Ao.SemanticTokensDeltaRequest=H2e={}));var Y2e;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=tf.MessageDirection.clientToServer,t.type=new tf.ProtocolRequestType(t.method),t.registrationMethod=G4.method})(Y2e||(Ao.SemanticTokensRangeRequest=Y2e={}));var j2e;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=tf.MessageDirection.serverToClient,t.type=new tf.ProtocolRequestType0(t.method)})(j2e||(Ao.SemanticTokensRefreshRequest=j2e={}))});var Z2e=nr(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.ShowDocumentRequest=void 0;var K2e=mi(),Q2e;(function(t){t.method="window/showDocument",t.messageDirection=K2e.MessageDirection.serverToClient,t.type=new K2e.ProtocolRequestType(t.method)})(Q2e||(GA.ShowDocumentRequest=Q2e={}))});var txe=nr(VA=>{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.LinkedEditingRangeRequest=void 0;var J2e=mi(),exe;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=J2e.MessageDirection.clientToServer,t.type=new J2e.ProtocolRequestType(t.method)})(exe||(VA.LinkedEditingRangeRequest=exe={}))});var cxe=nr(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.WillDeleteFilesRequest=ps.DidDeleteFilesNotification=ps.DidRenameFilesNotification=ps.WillRenameFilesRequest=ps.DidCreateFilesNotification=ps.WillCreateFilesRequest=ps.FileOperationPatternKind=void 0;var Gl=mi(),rxe;(function(t){t.file="file",t.folder="folder"})(rxe||(ps.FileOperationPatternKind=rxe={}));var nxe;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolRequestType(t.method)})(nxe||(ps.WillCreateFilesRequest=nxe={}));var ixe;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolNotificationType(t.method)})(ixe||(ps.DidCreateFilesNotification=ixe={}));var axe;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolRequestType(t.method)})(axe||(ps.WillRenameFilesRequest=axe={}));var sxe;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolNotificationType(t.method)})(sxe||(ps.DidRenameFilesNotification=sxe={}));var oxe;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolNotificationType(t.method)})(oxe||(ps.DidDeleteFilesNotification=oxe={}));var lxe;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolRequestType(t.method)})(lxe||(ps.WillDeleteFilesRequest=lxe={}))});var pxe=nr(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});rp.MonikerRequest=rp.MonikerKind=rp.UniquenessLevel=void 0;var uxe=mi(),hxe;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(hxe||(rp.UniquenessLevel=hxe={}));var fxe;(function(t){t.$import="import",t.$export="export",t.local="local"})(fxe||(rp.MonikerKind=fxe={}));var dxe;(function(t){t.method="textDocument/moniker",t.messageDirection=uxe.MessageDirection.clientToServer,t.type=new uxe.ProtocolRequestType(t.method)})(dxe||(rp.MonikerRequest=dxe={}))});var vxe=nr(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.TypeHierarchySubtypesRequest=np.TypeHierarchySupertypesRequest=np.TypeHierarchyPrepareRequest=void 0;var bv=mi(),mxe;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=bv.MessageDirection.clientToServer,t.type=new bv.ProtocolRequestType(t.method)})(mxe||(np.TypeHierarchyPrepareRequest=mxe={}));var gxe;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=bv.MessageDirection.clientToServer,t.type=new bv.ProtocolRequestType(t.method)})(gxe||(np.TypeHierarchySupertypesRequest=gxe={}));var yxe;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=bv.MessageDirection.clientToServer,t.type=new bv.ProtocolRequestType(t.method)})(yxe||(np.TypeHierarchySubtypesRequest=yxe={}))});var Txe=nr(Tv=>{"use strict";Object.defineProperty(Tv,"__esModule",{value:!0});Tv.InlineValueRefreshRequest=Tv.InlineValueRequest=void 0;var qA=mi(),xxe;(function(t){t.method="textDocument/inlineValue",t.messageDirection=qA.MessageDirection.clientToServer,t.type=new qA.ProtocolRequestType(t.method)})(xxe||(Tv.InlineValueRequest=xxe={}));var bxe;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=qA.MessageDirection.serverToClient,t.type=new qA.ProtocolRequestType0(t.method)})(bxe||(Tv.InlineValueRefreshRequest=bxe={}))});var Sxe=nr(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.InlayHintRefreshRequest=ip.InlayHintResolveRequest=ip.InlayHintRequest=void 0;var wv=mi(),wxe;(function(t){t.method="textDocument/inlayHint",t.messageDirection=wv.MessageDirection.clientToServer,t.type=new wv.ProtocolRequestType(t.method)})(wxe||(ip.InlayHintRequest=wxe={}));var kxe;(function(t){t.method="inlayHint/resolve",t.messageDirection=wv.MessageDirection.clientToServer,t.type=new wv.ProtocolRequestType(t.method)})(kxe||(ip.InlayHintResolveRequest=kxe={}));var Exe;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=wv.MessageDirection.serverToClient,t.type=new wv.ProtocolRequestType0(t.method)})(Exe||(ip.InlayHintRefreshRequest=Exe={}))});var Nxe=nr(Vl=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});Vl.DiagnosticRefreshRequest=Vl.WorkspaceDiagnosticRequest=Vl.DocumentDiagnosticRequest=Vl.DocumentDiagnosticReportKind=Vl.DiagnosticServerCancellationData=void 0;var Lxe=Nm(),Lit=LA(),kv=mi(),Cxe;(function(t){function e(r){let n=r;return n&&Lit.boolean(n.retriggerRequest)}o(e,"is"),t.is=e})(Cxe||(Vl.DiagnosticServerCancellationData=Cxe={}));var Axe;(function(t){t.Full="full",t.Unchanged="unchanged"})(Axe||(Vl.DocumentDiagnosticReportKind=Axe={}));var _xe;(function(t){t.method="textDocument/diagnostic",t.messageDirection=kv.MessageDirection.clientToServer,t.type=new kv.ProtocolRequestType(t.method),t.partialResult=new Lxe.ProgressType})(_xe||(Vl.DocumentDiagnosticRequest=_xe={}));var Dxe;(function(t){t.method="workspace/diagnostic",t.messageDirection=kv.MessageDirection.clientToServer,t.type=new kv.ProtocolRequestType(t.method),t.partialResult=new Lxe.ProgressType})(Dxe||(Vl.WorkspaceDiagnosticRequest=Dxe={}));var Rxe;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=kv.MessageDirection.serverToClient,t.type=new kv.ProtocolRequestType0(t.method)})(Rxe||(Vl.DiagnosticRefreshRequest=Rxe={}))});var $xe=nr(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.DidCloseNotebookDocumentNotification=Mi.DidSaveNotebookDocumentNotification=Mi.DidChangeNotebookDocumentNotification=Mi.NotebookCellArrayChange=Mi.DidOpenNotebookDocumentNotification=Mi.NotebookDocumentSyncRegistrationType=Mi.NotebookDocument=Mi.NotebookCell=Mi.ExecutionSummary=Mi.NotebookCellKind=void 0;var V4=(Zy(),G3(K6)),Ic=LA(),qu=mi(),rV;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(rV||(Mi.NotebookCellKind=rV={}));var nV;(function(t){function e(i,a){let s={executionOrder:i};return(a===!0||a===!1)&&(s.success=a),s}o(e,"create"),t.create=e;function r(i){let a=i;return Ic.objectLiteral(a)&&V4.uinteger.is(a.executionOrder)&&(a.success===void 0||Ic.boolean(a.success))}o(r,"is"),t.is=r;function n(i,a){return i===a?!0:i==null||a===null||a===void 0?!1:i.executionOrder===a.executionOrder&&i.success===a.success}o(n,"equals"),t.equals=n})(nV||(Mi.ExecutionSummary=nV={}));var UA;(function(t){function e(a,s){return{kind:a,document:s}}o(e,"create"),t.create=e;function r(a){let s=a;return Ic.objectLiteral(s)&&rV.is(s.kind)&&V4.DocumentUri.is(s.document)&&(s.metadata===void 0||Ic.objectLiteral(s.metadata))}o(r,"is"),t.is=r;function n(a,s){let l=new Set;return a.document!==s.document&&l.add("document"),a.kind!==s.kind&&l.add("kind"),a.executionSummary!==s.executionSummary&&l.add("executionSummary"),(a.metadata!==void 0||s.metadata!==void 0)&&!i(a.metadata,s.metadata)&&l.add("metadata"),(a.executionSummary!==void 0||s.executionSummary!==void 0)&&!nV.equals(a.executionSummary,s.executionSummary)&&l.add("executionSummary"),l}o(n,"diff"),t.diff=n;function i(a,s){if(a===s)return!0;if(a==null||s===null||s===void 0||typeof a!=typeof s||typeof a!="object")return!1;let l=Array.isArray(a),u=Array.isArray(s);if(l!==u)return!1;if(l&&u){if(a.length!==s.length)return!1;for(let h=0;h{"use strict";Object.defineProperty(WA,"__esModule",{value:!0});WA.InlineCompletionRequest=void 0;var zxe=mi(),Gxe;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=zxe.MessageDirection.clientToServer,t.type=new zxe.ProtocolRequestType(t.method)})(Gxe||(WA.InlineCompletionRequest=Gxe={}))});var tTe=nr(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.WorkspaceSymbolRequest=Ce.CodeActionResolveRequest=Ce.CodeActionRequest=Ce.DocumentSymbolRequest=Ce.DocumentHighlightRequest=Ce.ReferencesRequest=Ce.DefinitionRequest=Ce.SignatureHelpRequest=Ce.SignatureHelpTriggerKind=Ce.HoverRequest=Ce.CompletionResolveRequest=Ce.CompletionRequest=Ce.CompletionTriggerKind=Ce.PublishDiagnosticsNotification=Ce.WatchKind=Ce.RelativePattern=Ce.FileChangeType=Ce.DidChangeWatchedFilesNotification=Ce.WillSaveTextDocumentWaitUntilRequest=Ce.WillSaveTextDocumentNotification=Ce.TextDocumentSaveReason=Ce.DidSaveTextDocumentNotification=Ce.DidCloseTextDocumentNotification=Ce.DidChangeTextDocumentNotification=Ce.TextDocumentContentChangeEvent=Ce.DidOpenTextDocumentNotification=Ce.TextDocumentSyncKind=Ce.TelemetryEventNotification=Ce.LogMessageNotification=Ce.ShowMessageRequest=Ce.ShowMessageNotification=Ce.MessageType=Ce.DidChangeConfigurationNotification=Ce.ExitNotification=Ce.ShutdownRequest=Ce.InitializedNotification=Ce.InitializeErrorCodes=Ce.InitializeRequest=Ce.WorkDoneProgressOptions=Ce.TextDocumentRegistrationOptions=Ce.StaticRegistrationOptions=Ce.PositionEncodingKind=Ce.FailureHandlingKind=Ce.ResourceOperationKind=Ce.UnregistrationRequest=Ce.RegistrationRequest=Ce.DocumentSelector=Ce.NotebookCellTextDocumentFilter=Ce.NotebookDocumentFilter=Ce.TextDocumentFilter=void 0;Ce.MonikerRequest=Ce.MonikerKind=Ce.UniquenessLevel=Ce.WillDeleteFilesRequest=Ce.DidDeleteFilesNotification=Ce.WillRenameFilesRequest=Ce.DidRenameFilesNotification=Ce.WillCreateFilesRequest=Ce.DidCreateFilesNotification=Ce.FileOperationPatternKind=Ce.LinkedEditingRangeRequest=Ce.ShowDocumentRequest=Ce.SemanticTokensRegistrationType=Ce.SemanticTokensRefreshRequest=Ce.SemanticTokensRangeRequest=Ce.SemanticTokensDeltaRequest=Ce.SemanticTokensRequest=Ce.TokenFormat=Ce.CallHierarchyPrepareRequest=Ce.CallHierarchyOutgoingCallsRequest=Ce.CallHierarchyIncomingCallsRequest=Ce.WorkDoneProgressCancelNotification=Ce.WorkDoneProgressCreateRequest=Ce.WorkDoneProgress=Ce.SelectionRangeRequest=Ce.DeclarationRequest=Ce.FoldingRangeRefreshRequest=Ce.FoldingRangeRequest=Ce.ColorPresentationRequest=Ce.DocumentColorRequest=Ce.ConfigurationRequest=Ce.DidChangeWorkspaceFoldersNotification=Ce.WorkspaceFoldersRequest=Ce.TypeDefinitionRequest=Ce.ImplementationRequest=Ce.ApplyWorkspaceEditRequest=Ce.ExecuteCommandRequest=Ce.PrepareRenameRequest=Ce.RenameRequest=Ce.PrepareSupportDefaultBehavior=Ce.DocumentOnTypeFormattingRequest=Ce.DocumentRangesFormattingRequest=Ce.DocumentRangeFormattingRequest=Ce.DocumentFormattingRequest=Ce.DocumentLinkResolveRequest=Ce.DocumentLinkRequest=Ce.CodeLensRefreshRequest=Ce.CodeLensResolveRequest=Ce.CodeLensRequest=Ce.WorkspaceSymbolResolveRequest=void 0;Ce.InlineCompletionRequest=Ce.DidCloseNotebookDocumentNotification=Ce.DidSaveNotebookDocumentNotification=Ce.DidChangeNotebookDocumentNotification=Ce.NotebookCellArrayChange=Ce.DidOpenNotebookDocumentNotification=Ce.NotebookDocumentSyncRegistrationType=Ce.NotebookDocument=Ce.NotebookCell=Ce.ExecutionSummary=Ce.NotebookCellKind=Ce.DiagnosticRefreshRequest=Ce.WorkspaceDiagnosticRequest=Ce.DocumentDiagnosticRequest=Ce.DocumentDiagnosticReportKind=Ce.DiagnosticServerCancellationData=Ce.InlayHintRefreshRequest=Ce.InlayHintResolveRequest=Ce.InlayHintRequest=Ce.InlineValueRefreshRequest=Ce.InlineValueRequest=Ce.TypeHierarchySupertypesRequest=Ce.TypeHierarchySubtypesRequest=Ce.TypeHierarchyPrepareRequest=void 0;var Et=mi(),qxe=(Zy(),G3(K6)),Aa=LA(),Nit=p2e();Object.defineProperty(Ce,"ImplementationRequest",{enumerable:!0,get:o(function(){return Nit.ImplementationRequest},"get")});var Mit=y2e();Object.defineProperty(Ce,"TypeDefinitionRequest",{enumerable:!0,get:o(function(){return Mit.TypeDefinitionRequest},"get")});var Qbe=b2e();Object.defineProperty(Ce,"WorkspaceFoldersRequest",{enumerable:!0,get:o(function(){return Qbe.WorkspaceFoldersRequest},"get")});Object.defineProperty(Ce,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:o(function(){return Qbe.DidChangeWorkspaceFoldersNotification},"get")});var Iit=k2e();Object.defineProperty(Ce,"ConfigurationRequest",{enumerable:!0,get:o(function(){return Iit.ConfigurationRequest},"get")});var Zbe=C2e();Object.defineProperty(Ce,"DocumentColorRequest",{enumerable:!0,get:o(function(){return Zbe.DocumentColorRequest},"get")});Object.defineProperty(Ce,"ColorPresentationRequest",{enumerable:!0,get:o(function(){return Zbe.ColorPresentationRequest},"get")});var Jbe=D2e();Object.defineProperty(Ce,"FoldingRangeRequest",{enumerable:!0,get:o(function(){return Jbe.FoldingRangeRequest},"get")});Object.defineProperty(Ce,"FoldingRangeRefreshRequest",{enumerable:!0,get:o(function(){return Jbe.FoldingRangeRefreshRequest},"get")});var Oit=N2e();Object.defineProperty(Ce,"DeclarationRequest",{enumerable:!0,get:o(function(){return Oit.DeclarationRequest},"get")});var Pit=O2e();Object.defineProperty(Ce,"SelectionRangeRequest",{enumerable:!0,get:o(function(){return Pit.SelectionRangeRequest},"get")});var lV=$2e();Object.defineProperty(Ce,"WorkDoneProgress",{enumerable:!0,get:o(function(){return lV.WorkDoneProgress},"get")});Object.defineProperty(Ce,"WorkDoneProgressCreateRequest",{enumerable:!0,get:o(function(){return lV.WorkDoneProgressCreateRequest},"get")});Object.defineProperty(Ce,"WorkDoneProgressCancelNotification",{enumerable:!0,get:o(function(){return lV.WorkDoneProgressCancelNotification},"get")});var cV=q2e();Object.defineProperty(Ce,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:o(function(){return cV.CallHierarchyIncomingCallsRequest},"get")});Object.defineProperty(Ce,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:o(function(){return cV.CallHierarchyOutgoingCallsRequest},"get")});Object.defineProperty(Ce,"CallHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return cV.CallHierarchyPrepareRequest},"get")});var Sv=X2e();Object.defineProperty(Ce,"TokenFormat",{enumerable:!0,get:o(function(){return Sv.TokenFormat},"get")});Object.defineProperty(Ce,"SemanticTokensRequest",{enumerable:!0,get:o(function(){return Sv.SemanticTokensRequest},"get")});Object.defineProperty(Ce,"SemanticTokensDeltaRequest",{enumerable:!0,get:o(function(){return Sv.SemanticTokensDeltaRequest},"get")});Object.defineProperty(Ce,"SemanticTokensRangeRequest",{enumerable:!0,get:o(function(){return Sv.SemanticTokensRangeRequest},"get")});Object.defineProperty(Ce,"SemanticTokensRefreshRequest",{enumerable:!0,get:o(function(){return Sv.SemanticTokensRefreshRequest},"get")});Object.defineProperty(Ce,"SemanticTokensRegistrationType",{enumerable:!0,get:o(function(){return Sv.SemanticTokensRegistrationType},"get")});var Bit=Z2e();Object.defineProperty(Ce,"ShowDocumentRequest",{enumerable:!0,get:o(function(){return Bit.ShowDocumentRequest},"get")});var Fit=txe();Object.defineProperty(Ce,"LinkedEditingRangeRequest",{enumerable:!0,get:o(function(){return Fit.LinkedEditingRangeRequest},"get")});var Mm=cxe();Object.defineProperty(Ce,"FileOperationPatternKind",{enumerable:!0,get:o(function(){return Mm.FileOperationPatternKind},"get")});Object.defineProperty(Ce,"DidCreateFilesNotification",{enumerable:!0,get:o(function(){return Mm.DidCreateFilesNotification},"get")});Object.defineProperty(Ce,"WillCreateFilesRequest",{enumerable:!0,get:o(function(){return Mm.WillCreateFilesRequest},"get")});Object.defineProperty(Ce,"DidRenameFilesNotification",{enumerable:!0,get:o(function(){return Mm.DidRenameFilesNotification},"get")});Object.defineProperty(Ce,"WillRenameFilesRequest",{enumerable:!0,get:o(function(){return Mm.WillRenameFilesRequest},"get")});Object.defineProperty(Ce,"DidDeleteFilesNotification",{enumerable:!0,get:o(function(){return Mm.DidDeleteFilesNotification},"get")});Object.defineProperty(Ce,"WillDeleteFilesRequest",{enumerable:!0,get:o(function(){return Mm.WillDeleteFilesRequest},"get")});var uV=pxe();Object.defineProperty(Ce,"UniquenessLevel",{enumerable:!0,get:o(function(){return uV.UniquenessLevel},"get")});Object.defineProperty(Ce,"MonikerKind",{enumerable:!0,get:o(function(){return uV.MonikerKind},"get")});Object.defineProperty(Ce,"MonikerRequest",{enumerable:!0,get:o(function(){return uV.MonikerRequest},"get")});var hV=vxe();Object.defineProperty(Ce,"TypeHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return hV.TypeHierarchyPrepareRequest},"get")});Object.defineProperty(Ce,"TypeHierarchySubtypesRequest",{enumerable:!0,get:o(function(){return hV.TypeHierarchySubtypesRequest},"get")});Object.defineProperty(Ce,"TypeHierarchySupertypesRequest",{enumerable:!0,get:o(function(){return hV.TypeHierarchySupertypesRequest},"get")});var eTe=Txe();Object.defineProperty(Ce,"InlineValueRequest",{enumerable:!0,get:o(function(){return eTe.InlineValueRequest},"get")});Object.defineProperty(Ce,"InlineValueRefreshRequest",{enumerable:!0,get:o(function(){return eTe.InlineValueRefreshRequest},"get")});var fV=Sxe();Object.defineProperty(Ce,"InlayHintRequest",{enumerable:!0,get:o(function(){return fV.InlayHintRequest},"get")});Object.defineProperty(Ce,"InlayHintResolveRequest",{enumerable:!0,get:o(function(){return fV.InlayHintResolveRequest},"get")});Object.defineProperty(Ce,"InlayHintRefreshRequest",{enumerable:!0,get:o(function(){return fV.InlayHintRefreshRequest},"get")});var q4=Nxe();Object.defineProperty(Ce,"DiagnosticServerCancellationData",{enumerable:!0,get:o(function(){return q4.DiagnosticServerCancellationData},"get")});Object.defineProperty(Ce,"DocumentDiagnosticReportKind",{enumerable:!0,get:o(function(){return q4.DocumentDiagnosticReportKind},"get")});Object.defineProperty(Ce,"DocumentDiagnosticRequest",{enumerable:!0,get:o(function(){return q4.DocumentDiagnosticRequest},"get")});Object.defineProperty(Ce,"WorkspaceDiagnosticRequest",{enumerable:!0,get:o(function(){return q4.WorkspaceDiagnosticRequest},"get")});Object.defineProperty(Ce,"DiagnosticRefreshRequest",{enumerable:!0,get:o(function(){return q4.DiagnosticRefreshRequest},"get")});var Uu=$xe();Object.defineProperty(Ce,"NotebookCellKind",{enumerable:!0,get:o(function(){return Uu.NotebookCellKind},"get")});Object.defineProperty(Ce,"ExecutionSummary",{enumerable:!0,get:o(function(){return Uu.ExecutionSummary},"get")});Object.defineProperty(Ce,"NotebookCell",{enumerable:!0,get:o(function(){return Uu.NotebookCell},"get")});Object.defineProperty(Ce,"NotebookDocument",{enumerable:!0,get:o(function(){return Uu.NotebookDocument},"get")});Object.defineProperty(Ce,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:o(function(){return Uu.NotebookDocumentSyncRegistrationType},"get")});Object.defineProperty(Ce,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Uu.DidOpenNotebookDocumentNotification},"get")});Object.defineProperty(Ce,"NotebookCellArrayChange",{enumerable:!0,get:o(function(){return Uu.NotebookCellArrayChange},"get")});Object.defineProperty(Ce,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Uu.DidChangeNotebookDocumentNotification},"get")});Object.defineProperty(Ce,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Uu.DidSaveNotebookDocumentNotification},"get")});Object.defineProperty(Ce,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Uu.DidCloseNotebookDocumentNotification},"get")});var $it=Vxe();Object.defineProperty(Ce,"InlineCompletionRequest",{enumerable:!0,get:o(function(){return $it.InlineCompletionRequest},"get")});var iV;(function(t){function e(r){let n=r;return Aa.string(n)||Aa.string(n.language)||Aa.string(n.scheme)||Aa.string(n.pattern)}o(e,"is"),t.is=e})(iV||(Ce.TextDocumentFilter=iV={}));var aV;(function(t){function e(r){let n=r;return Aa.objectLiteral(n)&&(Aa.string(n.notebookType)||Aa.string(n.scheme)||Aa.string(n.pattern))}o(e,"is"),t.is=e})(aV||(Ce.NotebookDocumentFilter=aV={}));var sV;(function(t){function e(r){let n=r;return Aa.objectLiteral(n)&&(Aa.string(n.notebook)||aV.is(n.notebook))&&(n.language===void 0||Aa.string(n.language))}o(e,"is"),t.is=e})(sV||(Ce.NotebookCellTextDocumentFilter=sV={}));var oV;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Aa.string(n)&&!iV.is(n)&&!sV.is(n))return!1;return!0}o(e,"is"),t.is=e})(oV||(Ce.DocumentSelector=oV={}));var Uxe;(function(t){t.method="client/registerCapability",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(Uxe||(Ce.RegistrationRequest=Uxe={}));var Wxe;(function(t){t.method="client/unregisterCapability",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(Wxe||(Ce.UnregistrationRequest=Wxe={}));var Hxe;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(Hxe||(Ce.ResourceOperationKind=Hxe={}));var Yxe;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(Yxe||(Ce.FailureHandlingKind=Yxe={}));var jxe;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(jxe||(Ce.PositionEncodingKind=jxe={}));var Xxe;(function(t){function e(r){let n=r;return n&&Aa.string(n.id)&&n.id.length>0}o(e,"hasId"),t.hasId=e})(Xxe||(Ce.StaticRegistrationOptions=Xxe={}));var Kxe;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||oV.is(n.documentSelector))}o(e,"is"),t.is=e})(Kxe||(Ce.TextDocumentRegistrationOptions=Kxe={}));var Qxe;(function(t){function e(n){let i=n;return Aa.objectLiteral(i)&&(i.workDoneProgress===void 0||Aa.boolean(i.workDoneProgress))}o(e,"is"),t.is=e;function r(n){let i=n;return i&&Aa.boolean(i.workDoneProgress)}o(r,"hasWorkDoneProgress"),t.hasWorkDoneProgress=r})(Qxe||(Ce.WorkDoneProgressOptions=Qxe={}));var Zxe;(function(t){t.method="initialize",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Zxe||(Ce.InitializeRequest=Zxe={}));var Jxe;(function(t){t.unknownProtocolVersion=1})(Jxe||(Ce.InitializeErrorCodes=Jxe={}));var ebe;(function(t){t.method="initialized",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(ebe||(Ce.InitializedNotification=ebe={}));var tbe;(function(t){t.method="shutdown",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType0(t.method)})(tbe||(Ce.ShutdownRequest=tbe={}));var rbe;(function(t){t.method="exit",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType0(t.method)})(rbe||(Ce.ExitNotification=rbe={}));var nbe;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(nbe||(Ce.DidChangeConfigurationNotification=nbe={}));var ibe;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(ibe||(Ce.MessageType=ibe={}));var abe;(function(t){t.method="window/showMessage",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(abe||(Ce.ShowMessageNotification=abe={}));var sbe;(function(t){t.method="window/showMessageRequest",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(sbe||(Ce.ShowMessageRequest=sbe={}));var obe;(function(t){t.method="window/logMessage",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(obe||(Ce.LogMessageNotification=obe={}));var lbe;(function(t){t.method="telemetry/event",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(lbe||(Ce.TelemetryEventNotification=lbe={}));var cbe;(function(t){t.None=0,t.Full=1,t.Incremental=2})(cbe||(Ce.TextDocumentSyncKind=cbe={}));var ube;(function(t){t.method="textDocument/didOpen",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(ube||(Ce.DidOpenTextDocumentNotification=ube={}));var hbe;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}o(e,"isIncremental"),t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}o(r,"isFull"),t.isFull=r})(hbe||(Ce.TextDocumentContentChangeEvent=hbe={}));var fbe;(function(t){t.method="textDocument/didChange",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(fbe||(Ce.DidChangeTextDocumentNotification=fbe={}));var dbe;(function(t){t.method="textDocument/didClose",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(dbe||(Ce.DidCloseTextDocumentNotification=dbe={}));var pbe;(function(t){t.method="textDocument/didSave",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(pbe||(Ce.DidSaveTextDocumentNotification=pbe={}));var mbe;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(mbe||(Ce.TextDocumentSaveReason=mbe={}));var gbe;(function(t){t.method="textDocument/willSave",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(gbe||(Ce.WillSaveTextDocumentNotification=gbe={}));var ybe;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(ybe||(Ce.WillSaveTextDocumentWaitUntilRequest=ybe={}));var vbe;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(vbe||(Ce.DidChangeWatchedFilesNotification=vbe={}));var xbe;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(xbe||(Ce.FileChangeType=xbe={}));var bbe;(function(t){function e(r){let n=r;return Aa.objectLiteral(n)&&(qxe.URI.is(n.baseUri)||qxe.WorkspaceFolder.is(n.baseUri))&&Aa.string(n.pattern)}o(e,"is"),t.is=e})(bbe||(Ce.RelativePattern=bbe={}));var Tbe;(function(t){t.Create=1,t.Change=2,t.Delete=4})(Tbe||(Ce.WatchKind=Tbe={}));var wbe;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(wbe||(Ce.PublishDiagnosticsNotification=wbe={}));var kbe;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(kbe||(Ce.CompletionTriggerKind=kbe={}));var Ebe;(function(t){t.method="textDocument/completion",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Ebe||(Ce.CompletionRequest=Ebe={}));var Sbe;(function(t){t.method="completionItem/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Sbe||(Ce.CompletionResolveRequest=Sbe={}));var Cbe;(function(t){t.method="textDocument/hover",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Cbe||(Ce.HoverRequest=Cbe={}));var Abe;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(Abe||(Ce.SignatureHelpTriggerKind=Abe={}));var _be;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(_be||(Ce.SignatureHelpRequest=_be={}));var Dbe;(function(t){t.method="textDocument/definition",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Dbe||(Ce.DefinitionRequest=Dbe={}));var Rbe;(function(t){t.method="textDocument/references",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Rbe||(Ce.ReferencesRequest=Rbe={}));var Lbe;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Lbe||(Ce.DocumentHighlightRequest=Lbe={}));var Nbe;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Nbe||(Ce.DocumentSymbolRequest=Nbe={}));var Mbe;(function(t){t.method="textDocument/codeAction",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Mbe||(Ce.CodeActionRequest=Mbe={}));var Ibe;(function(t){t.method="codeAction/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Ibe||(Ce.CodeActionResolveRequest=Ibe={}));var Obe;(function(t){t.method="workspace/symbol",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Obe||(Ce.WorkspaceSymbolRequest=Obe={}));var Pbe;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Pbe||(Ce.WorkspaceSymbolResolveRequest=Pbe={}));var Bbe;(function(t){t.method="textDocument/codeLens",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Bbe||(Ce.CodeLensRequest=Bbe={}));var Fbe;(function(t){t.method="codeLens/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Fbe||(Ce.CodeLensResolveRequest=Fbe={}));var $be;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType0(t.method)})($be||(Ce.CodeLensRefreshRequest=$be={}));var zbe;(function(t){t.method="textDocument/documentLink",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(zbe||(Ce.DocumentLinkRequest=zbe={}));var Gbe;(function(t){t.method="documentLink/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Gbe||(Ce.DocumentLinkResolveRequest=Gbe={}));var Vbe;(function(t){t.method="textDocument/formatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Vbe||(Ce.DocumentFormattingRequest=Vbe={}));var qbe;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(qbe||(Ce.DocumentRangeFormattingRequest=qbe={}));var Ube;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Ube||(Ce.DocumentRangesFormattingRequest=Ube={}));var Wbe;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Wbe||(Ce.DocumentOnTypeFormattingRequest=Wbe={}));var Hbe;(function(t){t.Identifier=1})(Hbe||(Ce.PrepareSupportDefaultBehavior=Hbe={}));var Ybe;(function(t){t.method="textDocument/rename",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Ybe||(Ce.RenameRequest=Ybe={}));var jbe;(function(t){t.method="textDocument/prepareRename",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(jbe||(Ce.PrepareRenameRequest=jbe={}));var Xbe;(function(t){t.method="workspace/executeCommand",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Xbe||(Ce.ExecuteCommandRequest=Xbe={}));var Kbe;(function(t){t.method="workspace/applyEdit",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType("workspace/applyEdit")})(Kbe||(Ce.ApplyWorkspaceEditRequest=Kbe={}))});var nTe=nr(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.createProtocolConnection=void 0;var rTe=Nm();function zit(t,e,r,n){return rTe.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,rTe.createMessageConnection)(t,e,r,n)}o(zit,"createProtocolConnection");HA.createProtocolConnection=zit});var aTe=nr(_o=>{"use strict";var Git=_o&&_o.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),YA=_o&&_o.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Git(e,t,r)};Object.defineProperty(_o,"__esModule",{value:!0});_o.LSPErrorCodes=_o.createProtocolConnection=void 0;YA(Nm(),_o);YA((Zy(),G3(K6)),_o);YA(mi(),_o);YA(tTe(),_o);var Vit=nTe();Object.defineProperty(_o,"createProtocolConnection",{enumerable:!0,get:o(function(){return Vit.createProtocolConnection},"get")});var iTe;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(iTe||(_o.LSPErrorCodes=iTe={}))});var oTe=nr(Wu=>{"use strict";var qit=Wu&&Wu.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),sTe=Wu&&Wu.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&qit(e,t,r)};Object.defineProperty(Wu,"__esModule",{value:!0});Wu.createProtocolConnection=void 0;var Uit=KG();sTe(KG(),Wu);sTe(aTe(),Wu);function Wit(t,e,r,n){return(0,Uit.createMessageConnection)(t,e,r,n)}o(Wit,"createProtocolConnection");Wu.createProtocolConnection=Wit});var ap,dV=O(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(ap||(ap={}))});var Cv,U4,pV=O(()=>{"use strict";Cv=Ra(oTe(),1);Bl();dV();Kd();$l();Os();Nc();ov();U4=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new fs,this.documentPhaseListeners=new fs,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Nr.CancellationToken.None){for(let i of e){let a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=Nr.CancellationToken.None){this.currentState=qr.Changed;let i=[];for(let u of r){let h=this.langiumDocuments.deleteDocuments(u);for(let f of h)i.push(f.uri),this.cleanUpDeleted(f)}let a=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of a){let h=this.langiumDocuments.getDocument(u);h===void 0&&(h=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),h.state=qr.Changed,this.langiumDocuments.addDocument(h)),this.resetToState(h,qr.Changed)}let s=Hr(a).concat(i).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!s.has(u.uri.toString())&&this.shouldRelink(u,s)).forEach(u=>this.resetToState(u,qr.ComputedScopes)),await this.emitUpdate(a,i),await Ci(n);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return Hr(s).filter(l=>!a.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),ap.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{let l=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await l.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),ap.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),ap.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=Nr.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Fl);if(this.currentState>=e&&e>i.state)return Promise.reject(new Cv.ResponseError(Cv.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Cv.ResponseError(Cv.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{let l=this.onDocumentPhase(e,h=>{Fi.equals(h.uri,r)&&(l.dispose(),u.dispose(),a(h.uri))}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(Fl)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Fl):new Promise((n,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(Fl)})})}async notifyDocumentPhase(e,r,n){let a=this.documentPhaseListeners.get(r).slice();for(let s of a)try{await Ci(n),await s(e,n)}catch(l){if(!Gu(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let a=this.buildPhaseListeners.get(r).slice();for(let s of a)await Ci(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=Hr(l.result.validationChecks).concat(a.categories).distinct().toArray():l.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}});var W4,mV=O(()=>{"use strict";us();hA();Bl();Os();Nc();W4=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Dm,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=cs(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{Fi.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Hr(i)}allElements(e,r){let n=Hr(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=Nr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=Nr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var H4,gV=O(()=>{"use strict";Bl();$l();Nc();Os();H4=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new Vs,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=Nr.CancellationToken.None){let n=await this.performStartup(e);await Ci(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=o(s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)},"collector");await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let a=Hr(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ca.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Fi.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}});function XA(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function vV(t){return t&&"modes"in t&&"defaultMode"in t}function yV(t){return!XA(t)&&!vV(t)}var Y4,jA,Im,KA=O(()=>{"use strict";Hd();Y4=class{static{o(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,a){return Ny.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return Ny.buildUnableToPopLexerModeMessage(e)}},jA={mode:"full"},Im=class{static{o(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=yV(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new fi(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=jA){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(yV(e))return e;let r=vV(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};o(XA,"isTokenTypeArray");o(vV,"isIMultiModeLexerDefinition");o(yV,"isTokenTypeDictionary")});function TV(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=on.create(0,0));let a=uTe(t),s=kV(n),l=Yit({lines:a,position:i,options:s});return Zit({index:0,tokens:l,position:i})}function wV(t,e){let r=kV(e),n=uTe(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],s=r.start,l=r.end;return!!s?.exec(i)&&!!l?.exec(a)}function uTe(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(dF)}function Yit(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i=l.length){if(e.length>0){let f=on.create(r,n);e.push({type:"break",content:"",range:Kr.create(f,f)})}}else{lTe.lastIndex=u;let f=lTe.exec(l);if(f){let d=f[0],p=f[1],m=on.create(r,n+u),g=on.create(r,n+u+d.length);e.push({type:"tag",content:p,range:Kr.create(m,g)}),u+=d.length,u=bV(l,u)}if(u0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function jit(t,e,r,n){let i=[];if(t.length===0){let a=on.create(r,n),s=on.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:Kr.create(on.create(r,a+n),on.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(on.create(r,a+f+n),on.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:Kr.create(on.create(r,a+f+n),on.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:Kr.create(on.create(r,a+f+n),on.create(r,a+f+n))});a=u+l[0].length}let s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(on.create(r,a+n),on.create(r,a+n+s.length))})}return i}function bV(t,e){let r=t.substring(e).match(Xit);return r?e+r.index:t.length}function Qit(t){let e=t.match(Kit);if(e&&typeof e.index=="number")return e.index}function Zit(t){let e=on.create(t.position.line,t.position.character);if(t.tokens.length===0)return new QA([],Kr.create(e,e));let r=[];for(;t.index0){let s=bV(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??nat(e,i)}}function nat(t,e){try{return ca.parse(t,!0),`[${e}](${t})`}catch{return t}}function cTe(t){return t.endsWith(` `)?` `:` -`}var Sbe,lnt,hnt,fnt,FA,PT,BT,$A,lV=I(()=>{"use strict";Uy();py();Sc();o(aV,"parseJSDoc");o(sV,"isJSDoc");o(Cbe,"getLines");Sbe=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,lnt=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(cnt,"tokenize");o(unt,"buildInlineTokens");hnt=/\S/,fnt=/\s*$/;o(iV,"skipWhitespace");o(dnt,"lastCharacter");o(pnt,"parseJSDocComment");o(mnt,"parseJSDocElement");o(gnt,"appendEmptyLine");o(Abe,"parseJSDocText");o(ynt,"parseJSDocInline");o(_be,"parseJSDocTag");o(Dbe,"parseJSDocLine");o(oV,"normalizeOptions");o(nV,"normalizeOption");FA=class{static{o(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=Ebe(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=Ebe(r)+i}return r.trim()}},PT=class{static{o(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=vnt(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} -${r}`),this.inline?`{${i}}`:i}};o(vnt,"renderInlineTag");o(xnt,"renderLinkDefault");BT=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`}var lTe,Hit,Xit,Kit,QA,j4,X4,ZA,EV=O(()=>{"use strict";Zy();wy();Nc();o(TV,"parseJSDoc");o(wV,"isJSDoc");o(uTe,"getLines");lTe=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Hit=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(Yit,"tokenize");o(jit,"buildInlineTokens");Xit=/\S/,Kit=/\s*$/;o(bV,"skipWhitespace");o(Qit,"lastCharacter");o(Zit,"parseJSDocComment");o(Jit,"parseJSDocElement");o(eat,"appendEmptyLine");o(hTe,"parseJSDocText");o(tat,"parseJSDocInline");o(fTe,"parseJSDocTag");o(dTe,"parseJSDocLine");o(kV,"normalizeOptions");o(xV,"normalizeOption");QA=class{static{o(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=cTe(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=cTe(r)+i}return r.trim()}},j4=class{static{o(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=rat(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}};o(rat,"renderInlineTag");o(nat,"renderLinkDefault");X4=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` -`)}return r}},$A=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(Ebe,"fillNewlines")});var FT,cV=I(()=>{"use strict";ls();lV();FT=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&sV(r))return aV(r).toMarkdown({renderLink:o((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:o(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,l=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=os(e).localSymbols;if(!i)return;let a=e;do{let l=i.getStream(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var $T,uV=I(()=>{"use strict";J6();yc();$T=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Cz(e)?e.$comment:WB(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}});var zT,hV,fV,dV=I(()=>{"use strict";Nl();nA();zT=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},hV=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new zs,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new zs;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Ll)}),this.queue.push(r),r.promise}},fV=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new ui.Emitter,this.deferred=new zs,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Ll),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new zs,this.sendMessage(e),this.deferred.promise}}});var GT,pV=I(()=>{"use strict";Rl();Nl();GT=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Ar.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=X6();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=Ar.CancellationToken.None){let i=new zs,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){Iu(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var VT,mV=I(()=>{"use strict";F6();Uo();mc();ls();Hd();yc();VT=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new Em,this.tokenTypeIdMap=new Em,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Is(e))r.set(i,{});if(e.$cstNode)for(let i of nm(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)bi(l)?s.push(this.dehydrateAstNode(l,r)):ra(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else bi(a)?n[i]=this.dehydrateAstNode(a,r):ra(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return e4(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),pc(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):_d(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Is(e))r.set(a,{});let i;if(e.$cstNode)for(let a of nm(e.$cstNode)){let s;"fullText"in a?(s=new Wy(a.fullText),i=s):"content"in a?s=new bm:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)bi(l)?s.push(this.setParent(this.hydrateAstNode(l,r),n)):ra(l)?s.push(this.hydrateReference(l,n,i,r)):s.push(l)}else bi(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ra(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),pc(i))for(let a of e.content){let s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new xm(n,i,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Is(this.grammar))u4(r)&&this.grammarElementIdMap.set(r,e++)}}});function Ua(t){return{documentation:{CommentProvider:o(e=>new $T(e),"CommentProvider"),DocumentationProvider:o(e=>new FT(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new zT(e),"AsyncParser"),GrammarConfig:o(e=>hF(e),"GrammarConfig"),LangiumParser:o(e=>oz(e),"LangiumParser"),CompletionParser:o(e=>az(e),"CompletionParser"),ValueConverter:o(()=>new wm,"ValueConverter"),TokenBuilder:o(()=>new jh,"TokenBuilder"),Lexer:o(e=>new Lm(e),"Lexer"),ParserErrorMessageProvider:o(()=>new Hy,"ParserErrorMessageProvider"),LexerErrorMessageProvider:o(()=>new OT,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new TT,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new xT(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new bT(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new lT(e),"Linker"),NameProvider:o(()=>new cT,"NameProvider"),ScopeProvider:o(e=>new pT(e),"ScopeProvider"),ScopeComputation:o(e=>new hT(e),"ScopeComputation"),References:o(e=>new uT(e),"References")},serializer:{Hydrator:o(e=>new VT(e),"Hydrator"),JsonSerializer:o(e=>new mT(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new vT(e),"DocumentValidator"),ValidationRegistry:o(e=>new yT(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function Wa(t){return{ServiceRegistry:o(e=>new gT(e),"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new oT(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new sT(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new NT(e),"DocumentBuilder"),IndexManager:o(e=>new MT(e),"IndexManager"),WorkspaceManager:o(e=>new IT(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new GT,"WorkspaceLock"),ConfigurationProvider:o(e=>new wT(e),"ConfigurationProvider")},profilers:{}}}var gV=I(()=>{"use strict";fF();sz();lz();U6();cz();xz();bz();Tz();wz();Ez();J6();Az();_z();tA();Dz();Rz();Lz();ZG();Jy();JG();eV();BA();cV();uV();nT();dV();pV();mV();o(Ua,"createDefaultCoreModule");o(Wa,"createDefaultSharedCoreModule")});function ei(t,e,r,n,i,a,s,l,u){let h=[t,e,r,n,i,a,s,l,u].reduce(qT,{});return Ibe(h)}function Mbe(t){if(t&&t[Nbe])for(let e of Object.values(t))Mbe(e);return t}function Ibe(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),set:o(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:o((n,i)=>i===Nbe?!0:Lbe(n,i,t,e||r),"get"),getOwnPropertyDescriptor:o((n,i)=>(Lbe(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:o((n,i)=>i in t,"has"),ownKeys:o(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}function Lbe(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===Rbe)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=Rbe;try{t[e]=typeof i=="function"?i(n):Ibe(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function qT(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=qT(i,n):t[r]=qT({},n)}else t[r]=n}return t}var yV,Nbe,Rbe,vV=I(()=>{"use strict";(function(t){t.merge=(e,r)=>qT(qT({},e),r)})(yV||(yV={}));o(ei,"inject");Nbe=Symbol("isProxy");o(Mbe,"eagerLoad");o(Ibe,"_inject");Rbe=Symbol();o(Lbe,"_resolve");o(qT,"_merge")});var Obe=I(()=>{"use strict"});var Pbe=I(()=>{"use strict";uV();cV();lV()});var Bbe=I(()=>{"use strict"});var Fbe=I(()=>{"use strict";fF();Bbe()});var xV,Nm,zA,bV,$be=I(()=>{"use strict";Vd();U6();BA();xV={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Nm||(Nm={}));zA=class extends jh{static{o(this,"IndentationAwareTokenBuilder")}constructor(e=xV){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...xV,...e},this.indentTokenType=zd({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=zd({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!PA(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:l}=this.options,u,h,f,d=[];for(let p of n){for(let[m,g]of l)p.name===m?p.PUSH_MODE=Nm.IGNORE_INDENTATION:p.name===g&&(p.POP_MODE=!0);p.name===a?u=p:p.name===i?h=p:p.name===s?f=p:d.push(p)}if(!u||!h||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[Nm.REGULAR]:[u,h,...d,f],[Nm.IGNORE_INDENTATION]:[...d,f]},defaultMode:Nm.REGULAR}:[u,h,f,...d]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r -`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,r,n,i){let a=this.getLineNumber(r,i);return Uh(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);return a<=s?null:(this.indentationStack.push(a),l)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);if(a>=s)return null;let u=this.indentationStack.lastIndexOf(a);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:l?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let h=this.indentationStack.length-u-1,f=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let d=0;d1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},bV=class extends Lm{static{o(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof zA)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=OA){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=s.tokenTypeIdx,h=[],f=n.tokens.length-1;for(let d=0;d=0&&h.push(n.tokens[f]),n.tokens=h,n}}});var zbe=I(()=>{"use strict"});var Gbe=I(()=>{"use strict";dV();sz();F6();$be();lz();nT();BA();q6();zbe();U6();cz()});var Vbe=I(()=>{"use strict";xz();bz();Tz();Sz();wz();Ez()});var qbe=I(()=>{"use strict";mV();J6()});var GA,Ha,TV=I(()=>{"use strict";GA=class{static{o(this,"EmptyFileSystemProvider")}stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},Ha={fileSystemProvider:o(()=>new GA,"fileSystemProvider")}});function wnt(){let t=ei(Wa(Ha),Tnt),e=ei(Ua({shared:t}),bnt);return t.ServiceRegistry.register(e),e}function $u(t){let e=wnt(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ia.parse(`memory:/${r.name??"grammar"}.langium`)),r}var bnt,Tnt,Ube=I(()=>{"use strict";gV();vV();Uo();TV();Sc();bnt={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Tnt={AstReflection:o(()=>new hy,"AstReflection")};o(wnt,"createMinimalGrammarServices");o($u,"loadGrammarFromJson")});var an={};vr(an,{AstUtils:()=>mC,BiMap:()=>Em,Cancellation:()=>Ar,ContextCache:()=>Cm,CstUtils:()=>OC,DONE_RESULT:()=>ss,Deferred:()=>zs,Disposable:()=>tp,DisposableCache:()=>tv,DocumentCache:()=>Q6,EMPTY_STREAM:()=>Dd,ErrorWithLocation:()=>am,GrammarUtils:()=>VC,MultiMap:()=>us,OperationCancelled:()=>Ll,Reduction:()=>ty,RegExpUtils:()=>$C,SimpleCache:()=>dT,StreamImpl:()=>Vo,TreeStreamImpl:()=>Eu,URI:()=>ia,UriTrie:()=>Zy,UriUtils:()=>Ii,WorkspaceCache:()=>rv,assertCondition:()=>kge,assertUnreachable:()=>_u,delayNextTick:()=>gz,interruptAndCheck:()=>Ti,isOperationCancelled:()=>Iu,loadGrammarFromJson:()=>$u,setInterruptionPeriod:()=>Uye,startCancelableOperation:()=>X6,stream:()=>Or});var Wbe=I(()=>{"use strict";Z6();nA();$r(an,ui);Hd();QG();PC();Ube();Nl();Ms();Sc();ls();Rl();yc();wc();py()});var Hbe=I(()=>{"use strict";_z();tA()});var wV,VA,Ybe=I(()=>{"use strict";Hd();wV=class{static{o(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new us}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new VA(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let l=r.entries.get(s),u=l.reduce((h,f)=>h+f);n.push({name:`${r.identifier}.${s}`,count:l.length,duration:u})}let i=r.duration-n.map(s=>s.duration).reduce((s,l)=>s+l,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,l)=>l.duration-s.duration);function a(s){return Math.round(100*s)/100}return o(a,"Round"),console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":a(100*s.duration/r.duration),"Time (ms)":a(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},VA=class{static{o(this,"ProfilingTask")}constructor(e,r){this.stack=[],this.entries=new us,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}}});var jbe=I(()=>{"use strict";Dz();Rz();Lz();ZG();Jy();TV();JG();pV();eV();Ybe()});var Ea={};vr(Ea,{AbstractAstReflection:()=>U0,AbstractCstNode:()=>J4,AbstractLangiumParser:()=>eT,AbstractParserErrorMessageProvider:()=>z6,AbstractThreadedAsyncParser:()=>hV,AstUtils:()=>mC,BiMap:()=>Em,Cancellation:()=>Ar,CompositeCstNodeImpl:()=>bm,ContextCache:()=>Cm,CstNodeBuilder:()=>Z4,CstUtils:()=>OC,DEFAULT_TOKENIZE_OPTIONS:()=>OA,DONE_RESULT:()=>ss,DatatypeSymbol:()=>$6,DefaultAstNodeDescriptionProvider:()=>xT,DefaultAstNodeLocator:()=>TT,DefaultAsyncParser:()=>zT,DefaultCommentProvider:()=>$T,DefaultConfigurationProvider:()=>wT,DefaultDocumentBuilder:()=>NT,DefaultDocumentValidator:()=>vT,DefaultHydrator:()=>VT,DefaultIndexManager:()=>MT,DefaultJsonSerializer:()=>mT,DefaultLangiumDocumentFactory:()=>sT,DefaultLangiumDocuments:()=>oT,DefaultLangiumProfiler:()=>wV,DefaultLexer:()=>Lm,DefaultLexerErrorMessageProvider:()=>OT,DefaultLinker:()=>lT,DefaultNameProvider:()=>cT,DefaultReferenceDescriptionProvider:()=>bT,DefaultReferences:()=>uT,DefaultScopeComputation:()=>hT,DefaultScopeProvider:()=>pT,DefaultServiceRegistry:()=>gT,DefaultTokenBuilder:()=>jh,DefaultValueConverter:()=>wm,DefaultWorkspaceLock:()=>GT,DefaultWorkspaceManager:()=>IT,Deferred:()=>zs,Disposable:()=>tp,DisposableCache:()=>tv,DocumentCache:()=>Q6,DocumentState:()=>Nr,DocumentValidator:()=>Ml,EMPTY_SCOPE:()=>Trt,EMPTY_STREAM:()=>Dd,EmptyFileSystem:()=>Ha,EmptyFileSystemProvider:()=>GA,ErrorWithLocation:()=>am,GrammarAST:()=>f4,GrammarUtils:()=>VC,IndentationAwareLexer:()=>bV,IndentationAwareTokenBuilder:()=>zA,JSDocDocumentationProvider:()=>FT,LangiumCompletionParser:()=>rT,LangiumParser:()=>tT,LangiumParserErrorMessageProvider:()=>Hy,LeafCstNodeImpl:()=>xm,LexingMode:()=>Nm,MapScope:()=>kz,Module:()=>yV,MultiMap:()=>us,MultiMapScope:()=>fT,OperationCancelled:()=>Ll,ParserWorker:()=>fV,ProfilingTask:()=>VA,Reduction:()=>ty,RefResolving:()=>Sm,RegExpUtils:()=>$C,RootCstNodeImpl:()=>Wy,SimpleCache:()=>dT,StreamImpl:()=>Vo,StreamScope:()=>ev,TextDocument:()=>Ky,TreeStreamImpl:()=>Eu,URI:()=>ia,UriTrie:()=>Zy,UriUtils:()=>Ii,VALIDATE_EACH_NODE:()=>Zye,ValidationCategory:()=>eA,ValidationRegistry:()=>yT,ValueConverter:()=>Mu,WorkspaceCache:()=>rv,assertCondition:()=>kge,assertUnreachable:()=>_u,createCompletionParser:()=>az,createDefaultCoreModule:()=>Ua,createDefaultSharedCoreModule:()=>Wa,createGrammarConfig:()=>hF,createLangiumParser:()=>oz,createParser:()=>iT,delayNextTick:()=>gz,diagnosticData:()=>Am,eagerLoad:()=>Mbe,getDiagnosticRange:()=>Jye,indentationBuilderDefaultOptions:()=>xV,inject:()=>ei,interruptAndCheck:()=>Ti,isAstNode:()=>bi,isAstNodeDescription:()=>bB,isAstNodeWithComment:()=>Cz,isCompositeCstNode:()=>pc,isIMultiModeLexerDefinition:()=>rV,isJSDoc:()=>sV,isLeafCstNode:()=>_d,isLinkingError:()=>W0,isMultiReference:()=>Go,isNamed:()=>Kye,isOperationCancelled:()=>Iu,isReference:()=>ra,isRootCstNode:()=>e4,isTokenTypeArray:()=>PA,isTokenTypeDictionary:()=>tV,loadGrammarFromJson:()=>$u,parseJSDoc:()=>aV,prepareLangiumParser:()=>$ye,setInterruptionPeriod:()=>Uye,startCancelableOperation:()=>X6,stream:()=>Or,toDiagnosticData:()=>eve,toDiagnosticSeverity:()=>rA});var Yo=I(()=>{"use strict";gV();vV();Az();Obe();mc();Pbe();Fbe();Gbe();Vbe();qbe();Wbe();$r(Ea,an);Hbe();jbe();Uo()});function n4e(t){return Ac.isInstance(t,Gu.$type)}function i4e(t){return Ac.isInstance(t,HT.$type)}function a4e(t){return Ac.isInstance(t,Im.$type)}function s4e(t){return Ac.isInstance(t,np.$type)}function o4e(t){return Ac.isInstance(t,Tv.$type)}function l4e(t){return Ac.isInstance(t,Om.$type)}function c4e(t){return Ac.isInstance(t,Pm.$type)}function u4e(t){return Ac.isInstance(t,Bm.$type)}function h4e(t){return Ac.isInstance(t,ip.$type)}function f4e(t){return Ac.isInstance(t,YT.$type)}function d4e(t){return Ac.isInstance(t,Fm.$type)}var knt,kt,DV,RV,LV,NV,MV,IV,OV,qyr,Gu,qA,HT,Xbe,UA,kV,Im,WA,xv,zu,SV,np,UT,Tv,WT,EV,HA,Om,CV,Pm,Bm,ip,YT,rp,AV,bv,Mm,Fm,_V,p4e,Ac,Kbe,Snt,Qbe,Ent,Zbe,Cnt,Jbe,Ant,e4e,_nt,t4e,Dnt,r4e,Rnt,Lnt,Nnt,Mnt,Int,Ont,Pnt,Bnt,Gs,PV,BV,FV,$V,zV,GV,VV,Fnt,$nt,znt,Gnt,ap,Kh,ds,Vnt,ps=I(()=>{"use strict";Yo();Yo();Yo();Yo();knt=Object.defineProperty,kt=o((t,e)=>knt(t,"name",{value:e,configurable:!0}),"__name");(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[[\w ]+\]/}})(DV||(DV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(RV||(RV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(LV||(LV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(NV||(NV={}));(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(MV||(MV={}));(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(IV||(IV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(OV||(OV={}));qyr={...DV.Terminals,...RV.Terminals,...LV.Terminals,...NV.Terminals,...MV.Terminals,...IV.Terminals,...OV.Terminals},Gu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};o(n4e,"isArchitecture");kt(n4e,"isArchitecture");qA={$type:"Axis",label:"label",name:"name"},HT={$type:"Branch",name:"name",order:"order"};o(i4e,"isBranch");kt(i4e,"isBranch");Xbe={$type:"Checkout",branch:"branch"},UA={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},kV={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Im={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};o(a4e,"isCommit");kt(a4e,"isCommit");WA={$type:"Curve",entries:"entries",label:"label",name:"name"},xv={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},zu={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},SV={$type:"Entry",axis:"axis",value:"value"},np={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};o(s4e,"isGitGraph");kt(s4e,"isGitGraph");UT={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Tv={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};o(o4e,"isInfo");kt(o4e,"isInfo");WT={$type:"Item",classSelector:"classSelector",name:"name"},EV={$type:"Junction",id:"id",in:"in"},HA={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Om={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};o(l4e,"isMerge");kt(l4e,"isMerge");CV={$type:"Option",name:"name",value:"value"},Pm={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};o(c4e,"isPacket");kt(c4e,"isPacket");Bm={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};o(u4e,"isPacketBlock");kt(u4e,"isPacketBlock");ip={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};o(h4e,"isPie");kt(h4e,"isPie");YT={$type:"PieSection",label:"label",value:"value"};o(f4e,"isPieSection");kt(f4e,"isPieSection");rp={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},AV={$type:"Section",classSelector:"classSelector",name:"name"},bv={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Mm={$type:"Statement"},Fm={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};o(d4e,"isTreemap");kt(d4e,"isTreemap");_V={$type:"TreemapRow",indent:"indent",item:"item"},p4e=class extends U0{static{o(this,"MermaidAstReflection")}constructor(){super(...arguments),this.types={Architecture:{name:Gu.$type,properties:{accDescr:{name:Gu.accDescr},accTitle:{name:Gu.accTitle},edges:{name:Gu.edges,defaultValue:[]},groups:{name:Gu.groups,defaultValue:[]},junctions:{name:Gu.junctions,defaultValue:[]},services:{name:Gu.services,defaultValue:[]},title:{name:Gu.title}},superTypes:[]},Axis:{name:qA.$type,properties:{label:{name:qA.label},name:{name:qA.name}},superTypes:[]},Branch:{name:HT.$type,properties:{name:{name:HT.name},order:{name:HT.order}},superTypes:[Mm.$type]},Checkout:{name:Xbe.$type,properties:{branch:{name:Xbe.branch}},superTypes:[Mm.$type]},CherryPicking:{name:UA.$type,properties:{id:{name:UA.id},parent:{name:UA.parent},tags:{name:UA.tags,defaultValue:[]}},superTypes:[Mm.$type]},ClassDefStatement:{name:kV.$type,properties:{className:{name:kV.className},styleText:{name:kV.styleText}},superTypes:[]},Commit:{name:Im.$type,properties:{id:{name:Im.id},message:{name:Im.message},tags:{name:Im.tags,defaultValue:[]},type:{name:Im.type}},superTypes:[Mm.$type]},Curve:{name:WA.$type,properties:{entries:{name:WA.entries,defaultValue:[]},label:{name:WA.label},name:{name:WA.name}},superTypes:[]},Direction:{name:xv.$type,properties:{accDescr:{name:xv.accDescr},accTitle:{name:xv.accTitle},dir:{name:xv.dir},statements:{name:xv.statements,defaultValue:[]},title:{name:xv.title}},superTypes:[np.$type]},Edge:{name:zu.$type,properties:{lhsDir:{name:zu.lhsDir},lhsGroup:{name:zu.lhsGroup,defaultValue:!1},lhsId:{name:zu.lhsId},lhsInto:{name:zu.lhsInto,defaultValue:!1},rhsDir:{name:zu.rhsDir},rhsGroup:{name:zu.rhsGroup,defaultValue:!1},rhsId:{name:zu.rhsId},rhsInto:{name:zu.rhsInto,defaultValue:!1},title:{name:zu.title}},superTypes:[]},Entry:{name:SV.$type,properties:{axis:{name:SV.axis,referenceType:qA.$type},value:{name:SV.value}},superTypes:[]},GitGraph:{name:np.$type,properties:{accDescr:{name:np.accDescr},accTitle:{name:np.accTitle},statements:{name:np.statements,defaultValue:[]},title:{name:np.title}},superTypes:[]},Group:{name:UT.$type,properties:{icon:{name:UT.icon},id:{name:UT.id},in:{name:UT.in},title:{name:UT.title}},superTypes:[]},Info:{name:Tv.$type,properties:{accDescr:{name:Tv.accDescr},accTitle:{name:Tv.accTitle},title:{name:Tv.title}},superTypes:[]},Item:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name}},superTypes:[]},Junction:{name:EV.$type,properties:{id:{name:EV.id},in:{name:EV.in}},superTypes:[]},Leaf:{name:HA.$type,properties:{classSelector:{name:HA.classSelector},name:{name:HA.name},value:{name:HA.value}},superTypes:[WT.$type]},Merge:{name:Om.$type,properties:{branch:{name:Om.branch},id:{name:Om.id},tags:{name:Om.tags,defaultValue:[]},type:{name:Om.type}},superTypes:[Mm.$type]},Option:{name:CV.$type,properties:{name:{name:CV.name},value:{name:CV.value,defaultValue:!1}},superTypes:[]},Packet:{name:Pm.$type,properties:{accDescr:{name:Pm.accDescr},accTitle:{name:Pm.accTitle},blocks:{name:Pm.blocks,defaultValue:[]},title:{name:Pm.title}},superTypes:[]},PacketBlock:{name:Bm.$type,properties:{bits:{name:Bm.bits},end:{name:Bm.end},label:{name:Bm.label},start:{name:Bm.start}},superTypes:[]},Pie:{name:ip.$type,properties:{accDescr:{name:ip.accDescr},accTitle:{name:ip.accTitle},sections:{name:ip.sections,defaultValue:[]},showData:{name:ip.showData,defaultValue:!1},title:{name:ip.title}},superTypes:[]},PieSection:{name:YT.$type,properties:{label:{name:YT.label},value:{name:YT.value}},superTypes:[]},Radar:{name:rp.$type,properties:{accDescr:{name:rp.accDescr},accTitle:{name:rp.accTitle},axes:{name:rp.axes,defaultValue:[]},curves:{name:rp.curves,defaultValue:[]},options:{name:rp.options,defaultValue:[]},title:{name:rp.title}},superTypes:[]},Section:{name:AV.$type,properties:{classSelector:{name:AV.classSelector},name:{name:AV.name}},superTypes:[WT.$type]},Service:{name:bv.$type,properties:{icon:{name:bv.icon},iconText:{name:bv.iconText},id:{name:bv.id},in:{name:bv.in},title:{name:bv.title}},superTypes:[]},Statement:{name:Mm.$type,properties:{},superTypes:[]},Treemap:{name:Fm.$type,properties:{accDescr:{name:Fm.accDescr},accTitle:{name:Fm.accTitle},title:{name:Fm.title},TreemapRows:{name:Fm.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:_V.$type,properties:{indent:{name:_V.indent},item:{name:_V.item}},superTypes:[]}}}static{kt(this,"MermaidAstReflection")}},Ac=new p4e,Snt=kt(()=>Kbe??(Kbe=$u(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),Ent=kt(()=>Qbe??(Qbe=$u(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),Cnt=kt(()=>Zbe??(Zbe=$u(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),Ant=kt(()=>Jbe??(Jbe=$u(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),_nt=kt(()=>e4e??(e4e=$u(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),Dnt=kt(()=>t4e??(t4e=$u(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),Rnt=kt(()=>r4e??(r4e=$u(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),Lnt={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Nnt={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Mnt={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Int={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ont={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Pnt={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Bnt={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Gs={AstReflection:kt(()=>new p4e,"AstReflection")},PV={Grammar:kt(()=>Snt(),"Grammar"),LanguageMetaData:kt(()=>Lnt,"LanguageMetaData"),parser:{}},BV={Grammar:kt(()=>Ent(),"Grammar"),LanguageMetaData:kt(()=>Nnt,"LanguageMetaData"),parser:{}},FV={Grammar:kt(()=>Cnt(),"Grammar"),LanguageMetaData:kt(()=>Mnt,"LanguageMetaData"),parser:{}},$V={Grammar:kt(()=>Ant(),"Grammar"),LanguageMetaData:kt(()=>Int,"LanguageMetaData"),parser:{}},zV={Grammar:kt(()=>_nt(),"Grammar"),LanguageMetaData:kt(()=>Ont,"LanguageMetaData"),parser:{}},GV={Grammar:kt(()=>Dnt(),"Grammar"),LanguageMetaData:kt(()=>Pnt,"LanguageMetaData"),parser:{}},VV={Grammar:kt(()=>Rnt(),"Grammar"),LanguageMetaData:kt(()=>Bnt,"LanguageMetaData"),parser:{}},Fnt=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,$nt=/accTitle[\t ]*:([^\n\r]*)/,znt=/title([\t ][^\n\r]*|)/,Gnt={ACC_DESCR:Fnt,ACC_TITLE:$nt,TITLE:znt},ap=class extends wm{static{o(this,"AbstractMermaidValueConverter")}static{kt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=Gnt[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},Kh=class extends ap{static{o(this,"CommonValueConverter")}static{kt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},ds=class extends jh{static{o(this,"AbstractMermaidTokenBuilder")}static{kt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},Vnt=class extends ds{static{o(this,"CommonTokenBuilder")}static{kt(this,"CommonTokenBuilder")}}});function jA(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),BV,YA);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var qnt,YA,qV=I(()=>{"use strict";ps();Yo();qnt=class extends ds{static{o(this,"GitGraphTokenBuilder")}static{kt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},YA={parser:{TokenBuilder:kt(()=>new qnt,"TokenBuilder"),ValueConverter:kt(()=>new Kh,"ValueConverter")}};o(jA,"createGitGraphServices");kt(jA,"createGitGraphServices")});function KA(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),FV,XA);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var Unt,XA,UV=I(()=>{"use strict";ps();Yo();Unt=class extends ds{static{o(this,"InfoTokenBuilder")}static{kt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},XA={parser:{TokenBuilder:kt(()=>new Unt,"TokenBuilder"),ValueConverter:kt(()=>new Kh,"ValueConverter")}};o(KA,"createInfoServices");kt(KA,"createInfoServices")});function ZA(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),$V,QA);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var Wnt,QA,WV=I(()=>{"use strict";ps();Yo();Wnt=class extends ds{static{o(this,"PacketTokenBuilder")}static{kt(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},QA={parser:{TokenBuilder:kt(()=>new Wnt,"TokenBuilder"),ValueConverter:kt(()=>new Kh,"ValueConverter")}};o(ZA,"createPacketServices");kt(ZA,"createPacketServices")});function e7(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),zV,JA);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var Hnt,Ynt,JA,HV=I(()=>{"use strict";ps();Yo();Hnt=class extends ds{static{o(this,"PieTokenBuilder")}static{kt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},Ynt=class extends ap{static{o(this,"PieValueConverter")}static{kt(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},JA={parser:{TokenBuilder:kt(()=>new Hnt,"TokenBuilder"),ValueConverter:kt(()=>new Ynt,"ValueConverter")}};o(e7,"createPieServices");kt(e7,"createPieServices")});function r7(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),PV,t7);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var jnt,Xnt,t7,YV=I(()=>{"use strict";ps();Yo();jnt=class extends ds{static{o(this,"ArchitectureTokenBuilder")}static{kt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},Xnt=class extends ap{static{o(this,"ArchitectureValueConverter")}static{kt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},t7={parser:{TokenBuilder:kt(()=>new jnt,"TokenBuilder"),ValueConverter:kt(()=>new Xnt,"ValueConverter")}};o(r7,"createArchitectureServices");kt(r7,"createArchitectureServices")});function i7(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),GV,n7);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}var Knt,n7,jV=I(()=>{"use strict";ps();Yo();Knt=class extends ds{static{o(this,"RadarTokenBuilder")}static{kt(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},n7={parser:{TokenBuilder:kt(()=>new Knt,"TokenBuilder"),ValueConverter:kt(()=>new Kh,"ValueConverter")}};o(i7,"createRadarServices");kt(i7,"createRadarServices")});function m4e(t){let e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){let n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}function s7(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),VV,a7);return e.ServiceRegistry.register(r),m4e(r),{shared:e,Treemap:r}}var Qnt,Znt,Jnt,eit,a7,XV=I(()=>{"use strict";ps();Yo();Qnt=class extends ds{static{o(this,"TreemapTokenBuilder")}static{kt(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},Znt=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Jnt=class extends ap{static{o(this,"TreemapValueConverter")}static{kt(this,"TreemapValueConverter")}runCustomConverter(t,e,r){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR")return e.substring(1,e.length-1);if(t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;let n=Znt.exec(e);if(n)return{$type:"ClassDefStatement",className:n[1],styleText:n[2]||void 0}}}};o(m4e,"registerValidationChecks");kt(m4e,"registerValidationChecks");eit=class{static{o(this,"TreemapValidator")}static{kt(this,"TreemapValidator")}checkSingleRoot(t,e){let r;for(let n of t.TreemapRows)n.item&&(r===void 0&&n.indent===void 0?r=0:n.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):r!==void 0&&r>=parseInt(n.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},a7={parser:{TokenBuilder:kt(()=>new Qnt,"TokenBuilder"),ValueConverter:kt(()=>new Jnt,"ValueConverter")},validation:{TreemapValidator:kt(()=>new eit,"TreemapValidator")}};o(s7,"createTreemapServices");kt(s7,"createTreemapServices")});var g4e={};vr(g4e,{InfoModule:()=>XA,createInfoServices:()=>KA});var y4e=I(()=>{"use strict";UV();ps()});var v4e={};vr(v4e,{PacketModule:()=>QA,createPacketServices:()=>ZA});var x4e=I(()=>{"use strict";WV();ps()});var b4e={};vr(b4e,{PieModule:()=>JA,createPieServices:()=>e7});var T4e=I(()=>{"use strict";HV();ps()});var w4e={};vr(w4e,{ArchitectureModule:()=>t7,createArchitectureServices:()=>r7});var k4e=I(()=>{"use strict";YV();ps()});var S4e={};vr(S4e,{GitGraphModule:()=>YA,createGitGraphServices:()=>jA});var E4e=I(()=>{"use strict";qV();ps()});var C4e={};vr(C4e,{RadarModule:()=>n7,createRadarServices:()=>i7});var A4e=I(()=>{"use strict";jV();ps()});var _4e={};vr(_4e,{TreemapModule:()=>a7,createTreemapServices:()=>s7});var D4e=I(()=>{"use strict";XV();ps()});async function Vs(t,e){let r=tit[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);Qh[t]||await r();let i=Qh[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new rit(i);return i.value}var Qh,tit,rit,sp=I(()=>{"use strict";qV();UV();WV();HV();YV();jV();XV();ps();Qh={},tit={info:kt(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(y4e(),g4e)),e=t().Info.parser.LangiumParser;Qh.info=e},"info"),packet:kt(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(x4e(),v4e)),e=t().Packet.parser.LangiumParser;Qh.packet=e},"packet"),pie:kt(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(T4e(),b4e)),e=t().Pie.parser.LangiumParser;Qh.pie=e},"pie"),architecture:kt(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(k4e(),w4e)),e=t().Architecture.parser.LangiumParser;Qh.architecture=e},"architecture"),gitGraph:kt(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(E4e(),S4e)),e=t().GitGraph.parser.LangiumParser;Qh.gitGraph=e},"gitGraph"),radar:kt(async()=>{let{createRadarServices:t}=await Promise.resolve().then(()=>(A4e(),C4e)),e=t().Radar.parser.LangiumParser;Qh.radar=e},"radar"),treemap:kt(async()=>{let{createTreemapServices:t}=await Promise.resolve().then(()=>(D4e(),_4e)),e=t().Treemap.parser.LangiumParser;Qh.treemap=e},"treemap")};o(Vs,"parse");kt(Vs,"parse");rit=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(` -`),r=t.parserErrors.map(n=>n.message).join(` -`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{kt(this,"MermaidParseError")}}});function Pl(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var $m=I(()=>{"use strict";o(Pl,"populateCommonDb")});var fn,o7=I(()=>{"use strict";fn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var wv,KV=I(()=>{"use strict";wv=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function QV(){return yN({length:7})}function iit(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function R4e(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function N4e(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in Nt.records.branches)Nt.records.branches.get(i)===e.id&&n.push(i);if(X.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=Nt.records.commits.get(e.parents[0]);R4e(t,e,i),e.parents[1]&&t.push(Nt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=Nt.records.commits.get(e.parents[0]);R4e(t,e,i)}}t=iit(t,i=>i.id),N4e(t)}var nit,zm,Nt,ait,sit,oit,lit,cit,uit,hit,L4e,fit,dit,pit,mit,git,M4e,yit,vit,xit,l7,ZV=I(()=>{"use strict";gt();sr();ti();wr();ki();o7();KV();Ka();nit=gr.gitGraph,zm=o(()=>Qn({...nit,...tr().gitGraph}),"getConfig"),Nt=new wv(()=>{let t=zm(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});o(QV,"getID");o(iit,"uniqBy");ait=o(function(t){Nt.records.direction=t},"setDirection"),sit=o(function(t){X.debug("options str",t),t=t?.trim(),t=t||"{}";try{Nt.records.options=JSON.parse(t)}catch(e){X.error("error while parsing gitGraph options",e.message)}},"setOptions"),oit=o(function(){return Nt.records.options},"getOptions"),lit=o(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;X.info("commit",e,r,n,i),X.debug("Entering commit:",e,r,n,i);let a=zm();r=nt.sanitizeText(r,a),e=nt.sanitizeText(e,a),i=i?.map(l=>nt.sanitizeText(l,a));let s={id:r||Nt.records.seq+"-"+QV(),message:e,seq:Nt.records.seq++,type:n??fn.NORMAL,tags:i??[],parents:Nt.records.head==null?[]:[Nt.records.head.id],branch:Nt.records.currBranch};Nt.records.head=s,X.info("main branch",a.mainBranchName),Nt.records.commits.has(s.id)&&X.warn(`Commit ID ${s.id} already exists`),Nt.records.commits.set(s.id,s),Nt.records.branches.set(Nt.records.currBranch,s.id),X.debug("in pushCommit "+s.id)},"commit"),cit=o(function(t){let e=t.name,r=t.order;if(e=nt.sanitizeText(e,zm()),Nt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Nt.records.branches.set(e,Nt.records.head!=null?Nt.records.head.id:null),Nt.records.branchConfig.set(e,{name:e,order:r}),L4e(e),X.debug("in createBranch")},"branch"),uit=o(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=zm();e=nt.sanitizeText(e,a),r&&(r=nt.sanitizeText(r,a));let s=Nt.records.branches.get(Nt.records.currBranch),l=Nt.records.branches.get(e),u=s?Nt.records.commits.get(s):void 0,h=l?Nt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Nt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${Nt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!Nt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&Nt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${Nt.records.seq}-${QV()}`,message:`merged branch ${e} into ${Nt.records.currBranch}`,seq:Nt.records.seq++,parents:Nt.records.head==null?[]:[Nt.records.head.id,f],branch:Nt.records.currBranch,type:fn.MERGE,customType:n,customId:!!r,tags:i??[]};Nt.records.head=d,Nt.records.commits.set(d.id,d),Nt.records.branches.set(Nt.records.currBranch,d.id),X.debug(Nt.records.branches),X.debug("in mergeBranch")},"merge"),hit=o(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;X.debug("Entering cherryPick:",e,r,n);let a=zm();if(e=nt.sanitizeText(e,a),r=nt.sanitizeText(r,a),n=n?.map(u=>nt.sanitizeText(u,a)),i=nt.sanitizeText(i,a),!e||!Nt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=Nt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===fn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Nt.records.commits.has(r)){if(l===Nt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=Nt.records.branches.get(Nt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Nt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=Nt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Nt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:Nt.records.seq+"-"+QV(),message:`cherry-picked ${s?.message} into ${Nt.records.currBranch}`,seq:Nt.records.seq++,parents:Nt.records.head==null?[]:[Nt.records.head.id,s.id],branch:Nt.records.currBranch,type:fn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===fn.MERGE?`|parent:${i}`:""}`]};Nt.records.head=f,Nt.records.commits.set(f.id,f),Nt.records.branches.set(Nt.records.currBranch,f.id),X.debug(Nt.records.branches),X.debug("in cherryPick")}},"cherryPick"),L4e=o(function(t){if(t=nt.sanitizeText(t,zm()),Nt.records.branches.has(t)){Nt.records.currBranch=t;let e=Nt.records.branches.get(Nt.records.currBranch);e===void 0||!e?Nt.records.head=null:Nt.records.head=Nt.records.commits.get(e)??null}else{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}`,expected:[`branch ${t}`]},e}},"checkout");o(R4e,"upsert");o(N4e,"prettyPrintCommitHistory");fit=o(function(){X.debug(Nt.records.commits);let t=M4e()[0];N4e([t])},"prettyPrint"),dit=o(function(){Nt.reset(),Mr()},"clear"),pit=o(function(){return[...Nt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),mit=o(function(){return Nt.records.branches},"getBranches"),git=o(function(){return Nt.records.commits},"getCommits"),M4e=o(function(){let t=[...Nt.records.commits.values()];return t.forEach(function(e){X.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),yit=o(function(){return Nt.records.currBranch},"getCurrentBranch"),vit=o(function(){return Nt.records.direction},"getDirection"),xit=o(function(){return Nt.records.head},"getHead"),l7={commitType:fn,getConfig:zm,setDirection:ait,setOptions:sit,getOptions:oit,commit:lit,branch:cit,merge:uit,cherryPick:hit,checkout:L4e,prettyPrint:fit,clear:dit,getBranchesAsObjArray:pit,getBranches:mit,getCommits:git,getCommitsArray:M4e,getCurrentBranch:yit,getDirection:vit,getHead:xit,setAccTitle:zr,getAccTitle:Vr,getAccDescription:Ur,setAccDescription:qr,setDiagramTitle:Xr,getDiagramTitle:Wr}});var bit,Tit,wit,kit,Sit,Eit,Cit,I4e,O4e=I(()=>{"use strict";sp();gt();$m();ZV();o7();bit=o((t,e)=>{Pl(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)Tit(r,e)},"populate"),Tit=o((t,e)=>{let n={Commit:o(i=>e.commit(wit(i)),"Commit"),Branch:o(i=>e.branch(kit(i)),"Branch"),Merge:o(i=>e.merge(Sit(i)),"Merge"),Checkout:o(i=>e.checkout(Eit(i)),"Checkout"),CherryPicking:o(i=>e.cherryPick(Cit(i)),"CherryPicking")}[t.$type];n?n(t):X.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),wit=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?fn[t.type]:fn.NORMAL,tags:t.tags??void 0}),"parseCommit"),kit=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),Sit=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?fn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Eit=o(t=>t.branch,"parseCheckout"),Cit=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),I4e={parse:o(async t=>{let e=await Vs("gitGraph",t);X.debug(e),bit(e,l7)},"parse")}});var Ait,Bl,lp,cp,Vu,Zh,Gm,So,Eo,c7,jT,u7,op,Qr,_it,B4e,F4e,Dit,Rit,Lit,Nit,Mit,Iit,Oit,Pit,Bit,Fit,$it,zit,P4e,Git,XT,Vit,qit,Uit,Wit,Hit,$4e,z4e=I(()=>{"use strict";kr();Qt();gt();sr();o7();Ait=xe(),Bl=Ait?.gitGraph,lp=10,cp=40,Vu=4,Zh=2,Gm=8,So=new Map,Eo=new Map,c7=30,jT=new Map,u7=[],op=0,Qr="LR",_it=o(()=>{So.clear(),Eo.clear(),jT.clear(),op=0,u7=[],Qr="LR"},"clear"),B4e=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let 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)}),e},"drawText"),F4e=o(t=>{let e,r,n;return Qr==="BT"?(r=o((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=o((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=Qr==="TB"||Qr=="BT"?Eo.get(i)?.y:Eo.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),Dit=o(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Eo.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),Rit=o((t,e,r)=>{let n=r,i=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(n=Nit(l),i=Math.max(n,i)):a.push(l),Mit(l,n)}),n=i,a.forEach(s=>{Iit(s,n,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=Dit(l.parents);n=Eo.get(u).y-cp,n<=i&&(i=n);let h=So.get(l.branch).pos,f=n-lp;Eo.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),Lit=o(t=>{let e=F4e(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Eo.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),Nit=o(t=>Lit(t)+cp,"calculateCommitPosition"),Mit=o((t,e)=>{let r=So.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+lp;return Eo.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),Iit=o((t,e,r)=>{let n=So.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Eo.set(t.id,{x:a,y:i})},"setRootPosition"),Oit=o((t,e,r,n,i,a)=>{if(a===fn.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%Gm} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%Gm} ${n}-inner`);else if(a===fn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let s=t.append("circle");if(s.attr("cx",r.x),s.attr("cy",r.y),s.attr("r",e.type===fn.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%Gm}`),a===fn.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%Gm}`)}a===fn.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%Gm}`)}},"drawCommitBullet"),Pit=o((t,e,r,n)=>{if(e.type!==fn.CHERRY_PICK&&(e.customId&&e.type===fn.MERGE||e.type!==fn.MERGE)&&Bl?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=s.node()?.getBBox();if(l&&(a.attr("x",r.posWithOffset-l.width/2-Zh).attr("y",r.y+13.5).attr("width",l.width+2*Zh).attr("height",l.height+2*Zh),Qr==="TB"||Qr==="BT"?(a.attr("x",r.x-(l.width+4*Vu+5)).attr("y",r.y-12),s.attr("x",r.x-(l.width+4*Vu)).attr("y",r.y+l.height-12)):s.attr("x",r.posWithOffset-l.width/2),Bl.rotateCommitLabel))if(Qr==="TB"||Qr==="BT")s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;i.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),Bit=o((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` - ${n-a/2-Vu/2},${m+Zh} - ${n-a/2-Vu/2},${m-Zh} - ${r.posWithOffset-a/2-Vu},${m-p-Zh} - ${r.posWithOffset+a/2+Vu},${m-p-Zh} - ${r.posWithOffset+a/2+Vu},${m+p+Zh} - ${r.posWithOffset-a/2-Vu},${m+p+Zh}`),h.attr("cy",m).attr("cx",n-a/2+Vu/2).attr("r",1.5).attr("class","tag-hole"),Qr==="TB"||Qr==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` +`)}return r}},ZA=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(cTe,"fillNewlines")});var K4,SV=O(()=>{"use strict";us();EV();K4=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&wV(r))return TV(r).toMarkdown({renderLink:o((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:o(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,l=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=cs(e).localSymbols;if(!i)return;let a=e;do{let l=i.getStream(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var Q4,CV=O(()=>{"use strict";fA();Sc();Q4=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Vz(e)?e.$comment:oF(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}});var Z4,AV,_V,DV=O(()=>{"use strict";$l();gA();Z4=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},AV=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Vs,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Vs;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Fl)}),this.queue.push(r),r.promise}},_V=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new pi.Emitter,this.deferred=new Vs,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Fl),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Vs,this.sendMessage(e),this.deferred.promise}}});var J4,RV=O(()=>{"use strict";Bl();$l();J4=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Nr.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=lA();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=Nr.CancellationToken.None){let i=new Vs,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){Gu(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var e3,LV=O(()=>{"use strict";Q6();Zo();kc();us();Kd();Sc();e3=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new _m,this.tokenTypeIdMap=new _m,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Ps(e))r.set(i,{});if(e.$cstNode)for(let i of sm(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)Si(l)?s.push(this.dehydrateAstNode(l,r)):oa(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else Si(a)?n[i]=this.dehydrateAstNode(a,r):oa(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return fT(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),wc(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):Nd(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Ps(e))r.set(a,{});let i;if(e.$cstNode)for(let a of sm(e.$cstNode)){let s;"fullText"in a?(s=new Jy(a.fullText),i=s):"content"in a?s=new km:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)Si(l)?s.push(this.setParent(this.hydrateAstNode(l,r),n)):oa(l)?s.push(this.hydrateReference(l,n,i,r)):s.push(l)}else Si(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):oa(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),wc(i))for(let a of e.content){let s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new wm(n,i,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Ps(this.grammar))wT(r)&&this.grammarElementIdMap.set(r,e++)}}});function Ya(t){return{documentation:{CommentProvider:o(e=>new Q4(e),"CommentProvider"),DocumentationProvider:o(e=>new K4(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new Z4(e),"AsyncParser"),GrammarConfig:o(e=>AF(e),"GrammarConfig"),LangiumParser:o(e=>kz(e),"LangiumParser"),CompletionParser:o(e=>Tz(e),"CompletionParser"),ValueConverter:o(()=>new Sm,"ValueConverter"),TokenBuilder:o(()=>new ef,"TokenBuilder"),Lexer:o(e=>new Im(e),"Lexer"),ParserErrorMessageProvider:o(()=>new ev,"ParserErrorMessageProvider"),LexerErrorMessageProvider:o(()=>new Y4,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new M4,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new L4(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new N4(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new b4(e),"Linker"),NameProvider:o(()=>new T4,"NameProvider"),ScopeProvider:o(e=>new C4(e),"ScopeProvider"),ScopeComputation:o(e=>new k4(e),"ScopeComputation"),References:o(e=>new w4(e),"References")},serializer:{Hydrator:o(e=>new e3(e),"Hydrator"),JsonSerializer:o(e=>new A4(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new R4(e),"DocumentValidator"),ValidationRegistry:o(e=>new D4(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function ja(t){return{ServiceRegistry:o(e=>new _4(e),"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new x4(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new v4(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new U4(e),"DocumentBuilder"),IndexManager:o(e=>new W4(e),"IndexManager"),WorkspaceManager:o(e=>new H4(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new J4,"WorkspaceLock"),ConfigurationProvider:o(e=>new I4(e),"ConfigurationProvider")},profilers:{}}}var NV=O(()=>{"use strict";_F();wz();Ez();nA();Sz();Oz();Pz();Bz();Fz();Gz();fA();qz();Uz();pA();Wz();Hz();Yz();pV();ov();mV();gV();KA();SV();CV();m4();DV();RV();LV();o(Ya,"createDefaultCoreModule");o(ja,"createDefaultSharedCoreModule")});function ii(t,e,r,n,i,a,s,l,u){let h=[t,e,r,n,i,a,s,l,u].reduce(t3,{});return vTe(h)}function yTe(t){if(t&&t[gTe])for(let e of Object.values(t))yTe(e);return t}function vTe(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),set:o(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:o((n,i)=>i===gTe?!0:mTe(n,i,t,e||r),"get"),getOwnPropertyDescriptor:o((n,i)=>(mTe(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:o((n,i)=>i in t,"has"),ownKeys:o(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}function mTe(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===pTe)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=pTe;try{t[e]=typeof i=="function"?i(n):vTe(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function t3(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=t3(i,n):t[r]=t3({},n)}else t[r]=n}return t}var MV,gTe,pTe,IV=O(()=>{"use strict";(function(t){t.merge=(e,r)=>t3(t3({},e),r)})(MV||(MV={}));o(ii,"inject");gTe=Symbol("isProxy");o(yTe,"eagerLoad");o(vTe,"_inject");pTe=Symbol();o(mTe,"_resolve");o(t3,"_merge")});var xTe=O(()=>{"use strict"});var bTe=O(()=>{"use strict";CV();SV();EV()});var TTe=O(()=>{"use strict"});var wTe=O(()=>{"use strict";_F();TTe()});var OV,Om,JA,PV,kTe=O(()=>{"use strict";Hd();nA();KA();OV={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Om||(Om={}));JA=class extends ef{static{o(this,"IndentationAwareTokenBuilder")}constructor(e=OV){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...OV,...e},this.indentTokenType=Ud({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=Ud({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!XA(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:l}=this.options,u,h,f,d=[];for(let p of n){for(let[m,g]of l)p.name===m?p.PUSH_MODE=Om.IGNORE_INDENTATION:p.name===g&&(p.POP_MODE=!0);p.name===a?u=p:p.name===i?h=p:p.name===s?f=p:d.push(p)}if(!u||!h||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[Om.REGULAR]:[u,h,...d,f],[Om.IGNORE_INDENTATION]:[...d,f]},defaultMode:Om.REGULAR}:[u,h,f,...d]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r +`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,r,n,i){let a=this.getLineNumber(r,i);return Kh(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);return a<=s?null:(this.indentationStack.push(a),l)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);if(a>=s)return null;let u=this.indentationStack.lastIndexOf(a);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:l?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let h=this.indentationStack.length-u-1,f=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let d=0;d1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},PV=class extends Im{static{o(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof JA)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=jA){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=s.tokenTypeIdx,h=[],f=n.tokens.length-1;for(let d=0;d=0&&h.push(n.tokens[f]),n.tokens=h,n}}});var ETe=O(()=>{"use strict"});var STe=O(()=>{"use strict";DV();wz();Q6();kTe();Ez();m4();KA();rA();ETe();nA();Sz()});var CTe=O(()=>{"use strict";Oz();Pz();Bz();zz();Fz();Gz()});var ATe=O(()=>{"use strict";LV();fA()});var e7,Xa,BV=O(()=>{"use strict";e7=class{static{o(this,"EmptyFileSystemProvider")}stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},Xa={fileSystemProvider:o(()=>new e7,"fileSystemProvider")}});function sat(){let t=ii(ja(Xa),aat),e=ii(Ya({shared:t}),iat);return t.ServiceRegistry.register(e),e}function Hu(t){let e=sat(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ca.parse(`memory:/${r.name??"grammar"}.langium`)),r}var iat,aat,_Te=O(()=>{"use strict";NV();IV();Zo();BV();Nc();iat={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},aat={AstReflection:o(()=>new xy,"AstReflection")};o(sat,"createMinimalGrammarServices");o(Hu,"loadGrammarFromJson")});var ln={};vr(ln,{AstUtils:()=>_C,BiMap:()=>_m,Cancellation:()=>Nr,ContextCache:()=>Dm,CstUtils:()=>jC,DONE_RESULT:()=>ls,Deferred:()=>Vs,Disposable:()=>ap,DisposableCache:()=>cv,DocumentCache:()=>uA,EMPTY_STREAM:()=>Md,ErrorWithLocation:()=>lm,GrammarUtils:()=>t6,MultiMap:()=>fs,OperationCancelled:()=>Fl,Reduction:()=>cy,RegExpUtils:()=>ZC,SimpleCache:()=>S4,StreamImpl:()=>Ko,TreeStreamImpl:()=>Nu,URI:()=>ca,UriTrie:()=>sv,UriUtils:()=>Fi,WorkspaceCache:()=>uv,assertCondition:()=>o1e,assertUnreachable:()=>Ou,delayNextTick:()=>Nz,interruptAndCheck:()=>Ci,isOperationCancelled:()=>Gu,loadGrammarFromJson:()=>Hu,setInterruptionPeriod:()=>_ve,startCancelableOperation:()=>lA,stream:()=>Hr});var DTe=O(()=>{"use strict";hA();gA();jr(ln,pi);Kd();dV();XC();_Te();$l();Os();Nc();us();Bl();Sc();Rc();wy()});var RTe=O(()=>{"use strict";Uz();pA()});var FV,t7,LTe=O(()=>{"use strict";Kd();FV=class{static{o(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new fs}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new t7(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let l=r.entries.get(s),u=l.reduce((h,f)=>h+f);n.push({name:`${r.identifier}.${s}`,count:l.length,duration:u})}let i=r.duration-n.map(s=>s.duration).reduce((s,l)=>s+l,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,l)=>l.duration-s.duration);function a(s){return Math.round(100*s)/100}return o(a,"Round"),console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":a(100*s.duration/r.duration),"Time (ms)":a(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},t7=class{static{o(this,"ProfilingTask")}constructor(e,r){this.stack=[],this.entries=new fs,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}}});var NTe=O(()=>{"use strict";Wz();Hz();Yz();pV();ov();BV();mV();RV();gV();LTe()});var _a={};vr(_a,{AbstractAstReflection:()=>Y0,AbstractCstNode:()=>h4,AbstractLangiumParser:()=>f4,AbstractParserErrorMessageProvider:()=>J6,AbstractThreadedAsyncParser:()=>AV,AstUtils:()=>_C,BiMap:()=>_m,Cancellation:()=>Nr,CompositeCstNodeImpl:()=>km,ContextCache:()=>Dm,CstNodeBuilder:()=>u4,CstUtils:()=>jC,DEFAULT_TOKENIZE_OPTIONS:()=>jA,DONE_RESULT:()=>ls,DatatypeSymbol:()=>Z6,DefaultAstNodeDescriptionProvider:()=>L4,DefaultAstNodeLocator:()=>M4,DefaultAsyncParser:()=>Z4,DefaultCommentProvider:()=>Q4,DefaultConfigurationProvider:()=>I4,DefaultDocumentBuilder:()=>U4,DefaultDocumentValidator:()=>R4,DefaultHydrator:()=>e3,DefaultIndexManager:()=>W4,DefaultJsonSerializer:()=>A4,DefaultLangiumDocumentFactory:()=>v4,DefaultLangiumDocuments:()=>x4,DefaultLangiumProfiler:()=>FV,DefaultLexer:()=>Im,DefaultLexerErrorMessageProvider:()=>Y4,DefaultLinker:()=>b4,DefaultNameProvider:()=>T4,DefaultReferenceDescriptionProvider:()=>N4,DefaultReferences:()=>w4,DefaultScopeComputation:()=>k4,DefaultScopeProvider:()=>C4,DefaultServiceRegistry:()=>_4,DefaultTokenBuilder:()=>ef,DefaultValueConverter:()=>Sm,DefaultWorkspaceLock:()=>J4,DefaultWorkspaceManager:()=>H4,Deferred:()=>Vs,Disposable:()=>ap,DisposableCache:()=>cv,DocumentCache:()=>uA,DocumentState:()=>qr,DocumentValidator:()=>zl,EMPTY_SCOPE:()=>ait,EMPTY_STREAM:()=>Md,EmptyFileSystem:()=>Xa,EmptyFileSystemProvider:()=>e7,ErrorWithLocation:()=>lm,GrammarAST:()=>ET,GrammarUtils:()=>t6,IndentationAwareLexer:()=>PV,IndentationAwareTokenBuilder:()=>JA,JSDocDocumentationProvider:()=>K4,LangiumCompletionParser:()=>p4,LangiumParser:()=>d4,LangiumParserErrorMessageProvider:()=>ev,LeafCstNodeImpl:()=>wm,LexingMode:()=>Om,MapScope:()=>$z,Module:()=>MV,MultiMap:()=>fs,MultiMapScope:()=>E4,OperationCancelled:()=>Fl,ParserWorker:()=>_V,ProfilingTask:()=>t7,Reduction:()=>cy,RefResolving:()=>Am,RegExpUtils:()=>ZC,RootCstNodeImpl:()=>Jy,SimpleCache:()=>S4,StreamImpl:()=>Ko,StreamScope:()=>lv,TextDocument:()=>iv,TreeStreamImpl:()=>Nu,URI:()=>ca,UriTrie:()=>sv,UriUtils:()=>Fi,VALIDATE_EACH_NODE:()=>Pve,ValidationCategory:()=>dA,ValidationRegistry:()=>D4,ValueConverter:()=>zu,WorkspaceCache:()=>uv,assertCondition:()=>o1e,assertUnreachable:()=>Ou,createCompletionParser:()=>Tz,createDefaultCoreModule:()=>Ya,createDefaultSharedCoreModule:()=>ja,createGrammarConfig:()=>AF,createLangiumParser:()=>kz,createParser:()=>g4,delayNextTick:()=>Nz,diagnosticData:()=>Rm,eagerLoad:()=>yTe,getDiagnosticRange:()=>Bve,indentationBuilderDefaultOptions:()=>OV,inject:()=>ii,interruptAndCheck:()=>Ci,isAstNode:()=>Si,isAstNodeDescription:()=>PB,isAstNodeWithComment:()=>Vz,isCompositeCstNode:()=>wc,isIMultiModeLexerDefinition:()=>vV,isJSDoc:()=>wV,isLeafCstNode:()=>Nd,isLinkingError:()=>j0,isMultiReference:()=>Xo,isNamed:()=>Ive,isOperationCancelled:()=>Gu,isReference:()=>oa,isRootCstNode:()=>fT,isTokenTypeArray:()=>XA,isTokenTypeDictionary:()=>yV,loadGrammarFromJson:()=>Hu,parseJSDoc:()=>TV,prepareLangiumParser:()=>kve,setInterruptionPeriod:()=>_ve,startCancelableOperation:()=>lA,stream:()=>Hr,toDiagnosticData:()=>Fve,toDiagnosticSeverity:()=>mA});var tl=O(()=>{"use strict";NV();IV();qz();xTe();kc();bTe();wTe();STe();CTe();ATe();DTe();jr(_a,ln);RTe();NTe();Zo()});function GTe(t){return Oc.isInstance(t,ju.$type)}function VTe(t){return Oc.isInstance(t,i3.$type)}function qTe(t){return Oc.isInstance(t,Bm.$type)}function UTe(t){return Oc.isInstance(t,op.$type)}function WTe(t){return Oc.isInstance(t,Dv.$type)}function HTe(t){return Oc.isInstance(t,Fm.$type)}function YTe(t){return Oc.isInstance(t,$m.$type)}function jTe(t){return Oc.isInstance(t,zm.$type)}function XTe(t){return Oc.isInstance(t,lp.$type)}function KTe(t){return Oc.isInstance(t,a3.$type)}function QTe(t){return Oc.isInstance(t,Gm.$type)}var oat,kt,WV,HV,YV,jV,XV,KV,QV,Wxr,ju,r7,i3,MTe,n7,$V,Bm,i7,Av,Yu,zV,op,r3,Dv,n3,GV,a7,Fm,VV,$m,zm,lp,a3,sp,qV,_v,Pm,Gm,UV,ZTe,Oc,ITe,lat,OTe,cat,PTe,uat,BTe,hat,FTe,fat,$Te,dat,zTe,pat,mat,gat,yat,vat,xat,bat,Tat,qs,ZV,JV,eq,tq,rq,nq,iq,wat,kat,Eat,Sat,cp,rf,ms,Cat,gs=O(()=>{"use strict";tl();tl();tl();tl();oat=Object.defineProperty,kt=o((t,e)=>oat(t,"name",{value:e,configurable:!0}),"__name");(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(WV||(WV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(HV||(HV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(YV||(YV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(jV||(jV={}));(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(XV||(XV={}));(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(KV||(KV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(QV||(QV={}));Wxr={...WV.Terminals,...HV.Terminals,...YV.Terminals,...jV.Terminals,...XV.Terminals,...KV.Terminals,...QV.Terminals},ju={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};o(GTe,"isArchitecture");kt(GTe,"isArchitecture");r7={$type:"Axis",label:"label",name:"name"},i3={$type:"Branch",name:"name",order:"order"};o(VTe,"isBranch");kt(VTe,"isBranch");MTe={$type:"Checkout",branch:"branch"},n7={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},$V={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Bm={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};o(qTe,"isCommit");kt(qTe,"isCommit");i7={$type:"Curve",entries:"entries",label:"label",name:"name"},Av={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Yu={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},zV={$type:"Entry",axis:"axis",value:"value"},op={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};o(UTe,"isGitGraph");kt(UTe,"isGitGraph");r3={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Dv={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};o(WTe,"isInfo");kt(WTe,"isInfo");n3={$type:"Item",classSelector:"classSelector",name:"name"},GV={$type:"Junction",id:"id",in:"in"},a7={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Fm={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};o(HTe,"isMerge");kt(HTe,"isMerge");VV={$type:"Option",name:"name",value:"value"},$m={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};o(YTe,"isPacket");kt(YTe,"isPacket");zm={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};o(jTe,"isPacketBlock");kt(jTe,"isPacketBlock");lp={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};o(XTe,"isPie");kt(XTe,"isPie");a3={$type:"PieSection",label:"label",value:"value"};o(KTe,"isPieSection");kt(KTe,"isPieSection");sp={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},qV={$type:"Section",classSelector:"classSelector",name:"name"},_v={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Pm={$type:"Statement"},Gm={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};o(QTe,"isTreemap");kt(QTe,"isTreemap");UV={$type:"TreemapRow",indent:"indent",item:"item"},ZTe=class extends Y0{static{o(this,"MermaidAstReflection")}constructor(){super(...arguments),this.types={Architecture:{name:ju.$type,properties:{accDescr:{name:ju.accDescr},accTitle:{name:ju.accTitle},edges:{name:ju.edges,defaultValue:[]},groups:{name:ju.groups,defaultValue:[]},junctions:{name:ju.junctions,defaultValue:[]},services:{name:ju.services,defaultValue:[]},title:{name:ju.title}},superTypes:[]},Axis:{name:r7.$type,properties:{label:{name:r7.label},name:{name:r7.name}},superTypes:[]},Branch:{name:i3.$type,properties:{name:{name:i3.name},order:{name:i3.order}},superTypes:[Pm.$type]},Checkout:{name:MTe.$type,properties:{branch:{name:MTe.branch}},superTypes:[Pm.$type]},CherryPicking:{name:n7.$type,properties:{id:{name:n7.id},parent:{name:n7.parent},tags:{name:n7.tags,defaultValue:[]}},superTypes:[Pm.$type]},ClassDefStatement:{name:$V.$type,properties:{className:{name:$V.className},styleText:{name:$V.styleText}},superTypes:[]},Commit:{name:Bm.$type,properties:{id:{name:Bm.id},message:{name:Bm.message},tags:{name:Bm.tags,defaultValue:[]},type:{name:Bm.type}},superTypes:[Pm.$type]},Curve:{name:i7.$type,properties:{entries:{name:i7.entries,defaultValue:[]},label:{name:i7.label},name:{name:i7.name}},superTypes:[]},Direction:{name:Av.$type,properties:{accDescr:{name:Av.accDescr},accTitle:{name:Av.accTitle},dir:{name:Av.dir},statements:{name:Av.statements,defaultValue:[]},title:{name:Av.title}},superTypes:[op.$type]},Edge:{name:Yu.$type,properties:{lhsDir:{name:Yu.lhsDir},lhsGroup:{name:Yu.lhsGroup,defaultValue:!1},lhsId:{name:Yu.lhsId},lhsInto:{name:Yu.lhsInto,defaultValue:!1},rhsDir:{name:Yu.rhsDir},rhsGroup:{name:Yu.rhsGroup,defaultValue:!1},rhsId:{name:Yu.rhsId},rhsInto:{name:Yu.rhsInto,defaultValue:!1},title:{name:Yu.title}},superTypes:[]},Entry:{name:zV.$type,properties:{axis:{name:zV.axis,referenceType:r7.$type},value:{name:zV.value}},superTypes:[]},GitGraph:{name:op.$type,properties:{accDescr:{name:op.accDescr},accTitle:{name:op.accTitle},statements:{name:op.statements,defaultValue:[]},title:{name:op.title}},superTypes:[]},Group:{name:r3.$type,properties:{icon:{name:r3.icon},id:{name:r3.id},in:{name:r3.in},title:{name:r3.title}},superTypes:[]},Info:{name:Dv.$type,properties:{accDescr:{name:Dv.accDescr},accTitle:{name:Dv.accTitle},title:{name:Dv.title}},superTypes:[]},Item:{name:n3.$type,properties:{classSelector:{name:n3.classSelector},name:{name:n3.name}},superTypes:[]},Junction:{name:GV.$type,properties:{id:{name:GV.id},in:{name:GV.in}},superTypes:[]},Leaf:{name:a7.$type,properties:{classSelector:{name:a7.classSelector},name:{name:a7.name},value:{name:a7.value}},superTypes:[n3.$type]},Merge:{name:Fm.$type,properties:{branch:{name:Fm.branch},id:{name:Fm.id},tags:{name:Fm.tags,defaultValue:[]},type:{name:Fm.type}},superTypes:[Pm.$type]},Option:{name:VV.$type,properties:{name:{name:VV.name},value:{name:VV.value,defaultValue:!1}},superTypes:[]},Packet:{name:$m.$type,properties:{accDescr:{name:$m.accDescr},accTitle:{name:$m.accTitle},blocks:{name:$m.blocks,defaultValue:[]},title:{name:$m.title}},superTypes:[]},PacketBlock:{name:zm.$type,properties:{bits:{name:zm.bits},end:{name:zm.end},label:{name:zm.label},start:{name:zm.start}},superTypes:[]},Pie:{name:lp.$type,properties:{accDescr:{name:lp.accDescr},accTitle:{name:lp.accTitle},sections:{name:lp.sections,defaultValue:[]},showData:{name:lp.showData,defaultValue:!1},title:{name:lp.title}},superTypes:[]},PieSection:{name:a3.$type,properties:{label:{name:a3.label},value:{name:a3.value}},superTypes:[]},Radar:{name:sp.$type,properties:{accDescr:{name:sp.accDescr},accTitle:{name:sp.accTitle},axes:{name:sp.axes,defaultValue:[]},curves:{name:sp.curves,defaultValue:[]},options:{name:sp.options,defaultValue:[]},title:{name:sp.title}},superTypes:[]},Section:{name:qV.$type,properties:{classSelector:{name:qV.classSelector},name:{name:qV.name}},superTypes:[n3.$type]},Service:{name:_v.$type,properties:{icon:{name:_v.icon},iconText:{name:_v.iconText},id:{name:_v.id},in:{name:_v.in},title:{name:_v.title}},superTypes:[]},Statement:{name:Pm.$type,properties:{},superTypes:[]},Treemap:{name:Gm.$type,properties:{accDescr:{name:Gm.accDescr},accTitle:{name:Gm.accTitle},title:{name:Gm.title},TreemapRows:{name:Gm.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:UV.$type,properties:{indent:{name:UV.indent},item:{name:UV.item}},superTypes:[]}}}static{kt(this,"MermaidAstReflection")}},Oc=new ZTe,lat=kt(()=>ITe??(ITe=Hu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),cat=kt(()=>OTe??(OTe=Hu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),uat=kt(()=>PTe??(PTe=Hu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),hat=kt(()=>BTe??(BTe=Hu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),fat=kt(()=>FTe??(FTe=Hu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),dat=kt(()=>$Te??($Te=Hu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),pat=kt(()=>zTe??(zTe=Hu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),mat={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gat={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},yat={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vat={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xat={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bat={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Tat={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},qs={AstReflection:kt(()=>new ZTe,"AstReflection")},ZV={Grammar:kt(()=>lat(),"Grammar"),LanguageMetaData:kt(()=>mat,"LanguageMetaData"),parser:{}},JV={Grammar:kt(()=>cat(),"Grammar"),LanguageMetaData:kt(()=>gat,"LanguageMetaData"),parser:{}},eq={Grammar:kt(()=>uat(),"Grammar"),LanguageMetaData:kt(()=>yat,"LanguageMetaData"),parser:{}},tq={Grammar:kt(()=>hat(),"Grammar"),LanguageMetaData:kt(()=>vat,"LanguageMetaData"),parser:{}},rq={Grammar:kt(()=>fat(),"Grammar"),LanguageMetaData:kt(()=>xat,"LanguageMetaData"),parser:{}},nq={Grammar:kt(()=>dat(),"Grammar"),LanguageMetaData:kt(()=>bat,"LanguageMetaData"),parser:{}},iq={Grammar:kt(()=>pat(),"Grammar"),LanguageMetaData:kt(()=>Tat,"LanguageMetaData"),parser:{}},wat=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,kat=/accTitle[\t ]*:([^\n\r]*)/,Eat=/title([\t ][^\n\r]*|)/,Sat={ACC_DESCR:wat,ACC_TITLE:kat,TITLE:Eat},cp=class extends Sm{static{o(this,"AbstractMermaidValueConverter")}static{kt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=Sat[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},rf=class extends cp{static{o(this,"CommonValueConverter")}static{kt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},ms=class extends ef{static{o(this,"AbstractMermaidTokenBuilder")}static{kt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},Cat=class extends ms{static{o(this,"CommonTokenBuilder")}static{kt(this,"CommonTokenBuilder")}}});function o7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),JV,s7);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var Aat,s7,aq=O(()=>{"use strict";gs();tl();Aat=class extends ms{static{o(this,"GitGraphTokenBuilder")}static{kt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},s7={parser:{TokenBuilder:kt(()=>new Aat,"TokenBuilder"),ValueConverter:kt(()=>new rf,"ValueConverter")}};o(o7,"createGitGraphServices");kt(o7,"createGitGraphServices")});function c7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),eq,l7);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var _at,l7,sq=O(()=>{"use strict";gs();tl();_at=class extends ms{static{o(this,"InfoTokenBuilder")}static{kt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},l7={parser:{TokenBuilder:kt(()=>new _at,"TokenBuilder"),ValueConverter:kt(()=>new rf,"ValueConverter")}};o(c7,"createInfoServices");kt(c7,"createInfoServices")});function h7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),tq,u7);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var Dat,u7,oq=O(()=>{"use strict";gs();tl();Dat=class extends ms{static{o(this,"PacketTokenBuilder")}static{kt(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},u7={parser:{TokenBuilder:kt(()=>new Dat,"TokenBuilder"),ValueConverter:kt(()=>new rf,"ValueConverter")}};o(h7,"createPacketServices");kt(h7,"createPacketServices")});function d7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),rq,f7);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var Rat,Lat,f7,lq=O(()=>{"use strict";gs();tl();Rat=class extends ms{static{o(this,"PieTokenBuilder")}static{kt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},Lat=class extends cp{static{o(this,"PieValueConverter")}static{kt(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},f7={parser:{TokenBuilder:kt(()=>new Rat,"TokenBuilder"),ValueConverter:kt(()=>new Lat,"ValueConverter")}};o(d7,"createPieServices");kt(d7,"createPieServices")});function m7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),ZV,p7);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var Nat,Mat,p7,cq=O(()=>{"use strict";gs();tl();Nat=class extends ms{static{o(this,"ArchitectureTokenBuilder")}static{kt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},Mat=class extends cp{static{o(this,"ArchitectureValueConverter")}static{kt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE"){let n=e.replace(/^\[|]$/g,"").trim();return(n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"))&&(n=n.slice(1,-1),n=n.replace(/\\"/g,'"').replace(/\\'/g,"'")),n.trim()}}},p7={parser:{TokenBuilder:kt(()=>new Nat,"TokenBuilder"),ValueConverter:kt(()=>new Mat,"ValueConverter")}};o(m7,"createArchitectureServices");kt(m7,"createArchitectureServices")});function y7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),nq,g7);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}var Iat,g7,uq=O(()=>{"use strict";gs();tl();Iat=class extends ms{static{o(this,"RadarTokenBuilder")}static{kt(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},g7={parser:{TokenBuilder:kt(()=>new Iat,"TokenBuilder"),ValueConverter:kt(()=>new rf,"ValueConverter")}};o(y7,"createRadarServices");kt(y7,"createRadarServices")});function JTe(t){let e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){let n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}function x7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),iq,v7);return e.ServiceRegistry.register(r),JTe(r),{shared:e,Treemap:r}}var Oat,Pat,Bat,Fat,v7,hq=O(()=>{"use strict";gs();tl();Oat=class extends ms{static{o(this,"TreemapTokenBuilder")}static{kt(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},Pat=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Bat=class extends cp{static{o(this,"TreemapValueConverter")}static{kt(this,"TreemapValueConverter")}runCustomConverter(t,e,r){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR")return e.substring(1,e.length-1);if(t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;let n=Pat.exec(e);if(n)return{$type:"ClassDefStatement",className:n[1],styleText:n[2]||void 0}}}};o(JTe,"registerValidationChecks");kt(JTe,"registerValidationChecks");Fat=class{static{o(this,"TreemapValidator")}static{kt(this,"TreemapValidator")}checkSingleRoot(t,e){let r;for(let n of t.TreemapRows)n.item&&(r===void 0&&n.indent===void 0?r=0:n.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):r!==void 0&&r>=parseInt(n.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},v7={parser:{TokenBuilder:kt(()=>new Oat,"TokenBuilder"),ValueConverter:kt(()=>new Bat,"ValueConverter")},validation:{TreemapValidator:kt(()=>new Fat,"TreemapValidator")}};o(x7,"createTreemapServices");kt(x7,"createTreemapServices")});var e4e={};vr(e4e,{InfoModule:()=>l7,createInfoServices:()=>c7});var t4e=O(()=>{"use strict";sq();gs()});var r4e={};vr(r4e,{PacketModule:()=>u7,createPacketServices:()=>h7});var n4e=O(()=>{"use strict";oq();gs()});var i4e={};vr(i4e,{PieModule:()=>f7,createPieServices:()=>d7});var a4e=O(()=>{"use strict";lq();gs()});var s4e={};vr(s4e,{ArchitectureModule:()=>p7,createArchitectureServices:()=>m7});var o4e=O(()=>{"use strict";cq();gs()});var l4e={};vr(l4e,{GitGraphModule:()=>s7,createGitGraphServices:()=>o7});var c4e=O(()=>{"use strict";aq();gs()});var u4e={};vr(u4e,{RadarModule:()=>g7,createRadarServices:()=>y7});var h4e=O(()=>{"use strict";uq();gs()});var f4e={};vr(f4e,{TreemapModule:()=>v7,createTreemapServices:()=>x7});var d4e=O(()=>{"use strict";hq();gs()});async function Us(t,e){let r=$at[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);nf[t]||await r();let i=nf[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new zat(i);return i.value}var nf,$at,zat,up=O(()=>{"use strict";aq();sq();oq();lq();cq();uq();hq();gs();nf={},$at={info:kt(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(t4e(),e4e)),e=t().Info.parser.LangiumParser;nf.info=e},"info"),packet:kt(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(n4e(),r4e)),e=t().Packet.parser.LangiumParser;nf.packet=e},"packet"),pie:kt(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(a4e(),i4e)),e=t().Pie.parser.LangiumParser;nf.pie=e},"pie"),architecture:kt(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(o4e(),s4e)),e=t().Architecture.parser.LangiumParser;nf.architecture=e},"architecture"),gitGraph:kt(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(c4e(),l4e)),e=t().GitGraph.parser.LangiumParser;nf.gitGraph=e},"gitGraph"),radar:kt(async()=>{let{createRadarServices:t}=await Promise.resolve().then(()=>(h4e(),u4e)),e=t().Radar.parser.LangiumParser;nf.radar=e},"radar"),treemap:kt(async()=>{let{createTreemapServices:t}=await Promise.resolve().then(()=>(d4e(),f4e)),e=t().Treemap.parser.LangiumParser;nf.treemap=e},"treemap")};o(Us,"parse");kt(Us,"parse");zat=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>{let i=n.line!==void 0&&!isNaN(n.line)?n.line:"?",a=n.column!==void 0&&!isNaN(n.column)?n.column:"?";return`Lexer error on line ${i}, column ${a}: ${n.message}`}).join(` +`),r=t.parserErrors.map(n=>{let i=n.token.startLine!==void 0&&!isNaN(n.token.startLine)?n.token.startLine:"?",a=n.token.startColumn!==void 0&&!isNaN(n.token.startColumn)?n.token.startColumn:"?";return`Parse error on line ${i}, column ${a}: ${n.message}`}).join(` +`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{kt(this,"MermaidParseError")}}});function ql(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var Vm=O(()=>{"use strict";o(ql,"populateCommonDb")});var gn,b7=O(()=>{"use strict";gn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var Rv,fq=O(()=>{"use strict";Rv=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function dq(){return NN({length:7})}function Vat(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function p4e(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function g4e(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in Mt.records.branches)Mt.records.branches.get(i)===e.id&&n.push(i);if(K.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=Mt.records.commits.get(e.parents[0]);p4e(t,e,i),e.parents[1]&&t.push(Mt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=Mt.records.commits.get(e.parents[0]);p4e(t,e,i)}}t=Vat(t,i=>i.id),g4e(t)}var Gat,qm,Mt,qat,Uat,Wat,Hat,Yat,jat,Xat,m4e,Kat,Qat,Zat,Jat,est,y4e,tst,rst,nst,T7,pq=O(()=>{"use strict";xt();ar();$r();Ur();si();b7();fq();La();Gat=gr.gitGraph,qm=o(()=>Pn({...Gat,...Zt().gitGraph}),"getConfig"),Mt=new Rv(()=>{let t=qm(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});o(dq,"getID");o(Vat,"uniqBy");qat=o(function(t){Mt.records.direction=t},"setDirection"),Uat=o(function(t){K.debug("options str",t),t=t?.trim(),t=t||"{}";try{Mt.records.options=JSON.parse(t)}catch(e){K.error("error while parsing gitGraph options",e.message)}},"setOptions"),Wat=o(function(){return Mt.records.options},"getOptions"),Hat=o(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;K.info("commit",e,r,n,i),K.debug("Entering commit:",e,r,n,i);let a=qm();r=st.sanitizeText(r,a),e=st.sanitizeText(e,a),i=i?.map(l=>st.sanitizeText(l,a));let s={id:r||Mt.records.seq+"-"+dq(),message:e,seq:Mt.records.seq++,type:n??gn.NORMAL,tags:i??[],parents:Mt.records.head==null?[]:[Mt.records.head.id],branch:Mt.records.currBranch};Mt.records.head=s,K.info("main branch",a.mainBranchName),Mt.records.commits.has(s.id)&&K.warn(`Commit ID ${s.id} already exists`),Mt.records.commits.set(s.id,s),Mt.records.branches.set(Mt.records.currBranch,s.id),K.debug("in pushCommit "+s.id)},"commit"),Yat=o(function(t){let e=t.name,r=t.order;if(e=st.sanitizeText(e,qm()),Mt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Mt.records.branches.set(e,Mt.records.head!=null?Mt.records.head.id:null),Mt.records.branchConfig.set(e,{name:e,order:r}),m4e(e),K.debug("in createBranch")},"branch"),jat=o(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=qm();e=st.sanitizeText(e,a),r&&(r=st.sanitizeText(r,a));let s=Mt.records.branches.get(Mt.records.currBranch),l=Mt.records.branches.get(e),u=s?Mt.records.commits.get(s):void 0,h=l?Mt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Mt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${Mt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!Mt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&Mt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${Mt.records.seq}-${dq()}`,message:`merged branch ${e} into ${Mt.records.currBranch}`,seq:Mt.records.seq++,parents:Mt.records.head==null?[]:[Mt.records.head.id,f],branch:Mt.records.currBranch,type:gn.MERGE,customType:n,customId:!!r,tags:i??[]};Mt.records.head=d,Mt.records.commits.set(d.id,d),Mt.records.branches.set(Mt.records.currBranch,d.id),K.debug(Mt.records.branches),K.debug("in mergeBranch")},"merge"),Xat=o(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;K.debug("Entering cherryPick:",e,r,n);let a=qm();if(e=st.sanitizeText(e,a),r=st.sanitizeText(r,a),n=n?.map(u=>st.sanitizeText(u,a)),i=st.sanitizeText(i,a),!e||!Mt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=Mt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===gn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Mt.records.commits.has(r)){if(l===Mt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=Mt.records.branches.get(Mt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Mt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=Mt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Mt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:Mt.records.seq+"-"+dq(),message:`cherry-picked ${s?.message} into ${Mt.records.currBranch}`,seq:Mt.records.seq++,parents:Mt.records.head==null?[]:[Mt.records.head.id,s.id],branch:Mt.records.currBranch,type:gn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===gn.MERGE?`|parent:${i}`:""}`]};Mt.records.head=f,Mt.records.commits.set(f.id,f),Mt.records.branches.set(Mt.records.currBranch,f.id),K.debug(Mt.records.branches),K.debug("in cherryPick")}},"cherryPick"),m4e=o(function(t){if(t=st.sanitizeText(t,qm()),Mt.records.branches.has(t)){Mt.records.currBranch=t;let e=Mt.records.branches.get(Mt.records.currBranch);e===void 0||!e?Mt.records.head=null:Mt.records.head=Mt.records.commits.get(e)??null}else{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}`,expected:[`branch ${t}`]},e}},"checkout");o(p4e,"upsert");o(g4e,"prettyPrintCommitHistory");Kat=o(function(){K.debug(Mt.records.commits);let t=y4e()[0];g4e([t])},"prettyPrint"),Qat=o(function(){Mt.reset(),_r()},"clear"),Zat=o(function(){return[...Mt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),Jat=o(function(){return Mt.records.branches},"getBranches"),est=o(function(){return Mt.records.commits},"getCommits"),y4e=o(function(){let t=[...Mt.records.commits.values()];return t.forEach(function(e){K.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),tst=o(function(){return Mt.records.currBranch},"getCurrentBranch"),rst=o(function(){return Mt.records.direction},"getDirection"),nst=o(function(){return Mt.records.head},"getHead"),T7={commitType:gn,getConfig:qm,setDirection:qat,setOptions:Uat,getOptions:Wat,commit:Hat,branch:Yat,merge:jat,cherryPick:Xat,checkout:m4e,prettyPrint:Kat,clear:Qat,getBranchesAsObjArray:Zat,getBranches:Jat,getCommits:est,getCommitsArray:y4e,getCurrentBranch:tst,getDirection:rst,getHead:nst,setAccTitle:Lr,getAccTitle:Or,getAccDescription:Br,setAccDescription:Pr,setDiagramTitle:zr,getDiagramTitle:Fr}});var ist,ast,sst,ost,lst,cst,ust,v4e,x4e=O(()=>{"use strict";up();xt();Vm();pq();b7();ist=o((t,e)=>{ql(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)ast(r,e)},"populate"),ast=o((t,e)=>{let n={Commit:o(i=>e.commit(sst(i)),"Commit"),Branch:o(i=>e.branch(ost(i)),"Branch"),Merge:o(i=>e.merge(lst(i)),"Merge"),Checkout:o(i=>e.checkout(cst(i)),"Checkout"),CherryPicking:o(i=>e.cherryPick(ust(i)),"CherryPicking")}[t.$type];n?n(t):K.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),sst=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?gn[t.type]:gn.NORMAL,tags:t.tags??void 0}),"parseCommit"),ost=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),lst=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?gn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),cst=o(t=>t.branch,"parseCheckout"),ust=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),v4e={parse:o(async t=>{let e=await Us("gitGraph",t);K.debug(e),ist(e,T7)},"parse")}});var fp,dp,Xu,af,Um,Do,Ro,w7,s3,k7,hp,en,hst,T4e,w4e,fst,dst,pst,mst,gst,yst,vst,xst,bst,Tst,wst,kst,b4e,Est,o3,Sst,Cst,Ast,_st,Dst,k4e,E4e=O(()=>{"use strict";Ar();jt();xt();ar();b7();fp=10,dp=40,Xu=4,af=2,Um=8,Do=new Map,Ro=new Map,w7=30,s3=new Map,k7=[],hp=0,en="LR",hst=o(()=>{Do.clear(),Ro.clear(),s3.clear(),hp=0,k7=[],en="LR"},"clear"),T4e=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let 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)}),e},"drawText"),w4e=o(t=>{let e,r,n;return en==="BT"?(r=o((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=o((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=en==="TB"||en=="BT"?Ro.get(i)?.y:Ro.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),fst=o(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Ro.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),dst=o((t,e,r)=>{let n=r,i=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(n=mst(l),i=Math.max(n,i)):a.push(l),gst(l,n)}),n=i,a.forEach(s=>{yst(s,n,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=fst(l.parents);n=Ro.get(u).y-dp,n<=i&&(i=n);let h=Do.get(l.branch).pos,f=n-fp;Ro.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),pst=o(t=>{let e=w4e(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Ro.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),mst=o(t=>pst(t)+dp,"calculateCommitPosition"),gst=o((t,e)=>{let r=Do.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+fp;return Ro.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),yst=o((t,e,r)=>{let n=Do.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Ro.set(t.id,{x:a,y:i})},"setRootPosition"),vst=o((t,e,r,n,i,a)=>{if(a===gn.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%Um} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%Um} ${n}-inner`);else if(a===gn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let s=t.append("circle");if(s.attr("cx",r.x),s.attr("cy",r.y),s.attr("r",e.type===gn.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%Um}`),a===gn.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%Um}`)}a===gn.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%Um}`)}},"drawCommitBullet"),xst=o((t,e,r,n,i)=>{if(e.type!==gn.CHERRY_PICK&&(e.customId&&e.type===gn.MERGE||e.type!==gn.MERGE)&&i.showCommitLabel){let a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),l=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),u=l.node()?.getBBox();if(u&&(s.attr("x",r.posWithOffset-u.width/2-af).attr("y",r.y+13.5).attr("width",u.width+2*af).attr("height",u.height+2*af),en==="TB"||en==="BT"?(s.attr("x",r.x-(u.width+4*Xu+5)).attr("y",r.y-12),l.attr("x",r.x-(u.width+4*Xu)).attr("y",r.y+u.height-12)):l.attr("x",r.posWithOffset-u.width/2),i.rotateCommitLabel))if(en==="TB"||en==="BT")l.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let h=-7.5-(u.width+10)/25*9.5,f=10+u.width/25*8.5;a.attr("transform","translate("+h+", "+f+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),bst=o((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` + ${n-a/2-Xu/2},${m+af} + ${n-a/2-Xu/2},${m-af} + ${r.posWithOffset-a/2-Xu},${m-p-af} + ${r.posWithOffset+a/2+Xu},${m-p-af} + ${r.posWithOffset+a/2+Xu},${m+p+af} + ${r.posWithOffset-a/2-Xu},${m+p+af}`),h.attr("cy",m).attr("cx",n-a/2+Xu/2).attr("r",1.5).attr("class","tag-hole"),en==="TB"||en==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` ${r.x},${g+2} ${r.x},${g-2} - ${r.x+lp},${g-p-2} - ${r.x+lp+a+4},${g-p-2} - ${r.x+lp+a+4},${g+p+2} - ${r.x+lp},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Vu/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),Fit=o(t=>{switch(t.customType??t.type){case fn.NORMAL:return"commit-normal";case fn.REVERSE:return"commit-reverse";case fn.HIGHLIGHT:return"commit-highlight";case fn.MERGE:return"commit-merge";case fn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),$it=o((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=F4e(t.parents);if(a){let s=n.get(a)??i;return e==="TB"?s.y+cp:e==="BT"?(n.get(t.id)??i).y-cp:s.x+cp}}else return e==="TB"?c7:e==="BT"?(n.get(t.id)??i).y-cp:0;return 0},"calculatePosition"),zit=o((t,e,r)=>{let n=Qr==="BT"&&r?e:e+lp,i=Qr==="TB"||Qr==="BT"?n:So.get(t.branch)?.pos,a=Qr==="TB"||Qr==="BT"?So.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),P4e=o((t,e,r)=>{if(!Bl)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=Qr==="TB"||Qr==="BT"?c7:0,s=[...e.keys()],l=Bl?.parallelCommits??!1,u=o((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=s.sort(u);Qr==="BT"&&(l&&Rit(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=$it(d,Qr,a,Eo));let p=zit(d,a,l);if(r){let m=Fit(d),g=d.customType??d.type,y=So.get(d.branch)?.index??0;Oit(n,d,p,m,y,g),Pit(i,d,p,a),Bit(i,d,p,a)}Qr==="TB"||Qr==="BT"?Eo.set(d.id,{x:p.x,y:p.posWithOffset}):Eo.set(d.id,{x:p.posWithOffset,y:p.y}),a=Qr==="BT"&&l?a+cp:a+cp+lp,a>op&&(op=a)})},"drawCommits"),Git=o((t,e,r,n,i)=>{let s=(Qr==="TB"||Qr==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),XT=o((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(u7.every(s=>Math.abs(s-n)>=10))return u7.push(n),n;let a=Math.abs(t-e);return XT(t,e-a/5,r+1)},"findLane"),Vit=o((t,e,r,n)=>{let i=Eo.get(e.id),a=Eo.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=Git(e,r,i,a,n),l="",u="",h=0,f=0,d=So.get(r.branch)?.index;r.type===fn.MERGE&&e.id!==r.parents[0]&&(d=So.get(e.branch)?.index);let p;if(s){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===fn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):Qr==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===fn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===fn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%Gm)},"drawArrow"),qit=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{Vit(r,e.get(a),i,e)})})},"drawArrows"),Uit=o((t,e)=>{let r=t.append("g");e.forEach((n,i)=>{let a=i%Gm,s=So.get(n.name)?.pos;if(s===void 0)throw new Error(`Position not found for branch ${n.name}`);let l=r.append("line");l.attr("x1",0),l.attr("y1",s),l.attr("x2",op),l.attr("y2",s),l.attr("class","branch branch"+a),Qr==="TB"?(l.attr("y1",c7),l.attr("x1",s),l.attr("y2",op),l.attr("x2",s)):Qr==="BT"&&(l.attr("y1",op),l.attr("x1",s),l.attr("y2",c7),l.attr("x2",s)),u7.push(s);let u=n.name,h=B4e(u),f=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(h);let m=h.getBBox();f.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(Bl?.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(Bl?.rotateCommitLabel===!0?30:0))+", "+(s-m.height/2-1)+")"),Qr==="TB"?(f.attr("x",s-m.width/2-10).attr("y",0),p.attr("transform","translate("+(s-m.width/2-5)+", 0)")):Qr==="BT"?(f.attr("x",s-m.width/2-10).attr("y",op),p.attr("transform","translate("+(s-m.width/2-5)+", "+op+")")):f.attr("transform","translate(-19, "+(s-m.height/2)+")")})},"drawBranches"),Wit=o(function(t,e,r,n,i){return So.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Qr==="TB"||Qr==="BT"?n.width/2:0),e},"setBranchPosition"),Hit=o(function(t,e,r,n){if(_it(),X.debug("in gitgraph renderer",t+` -`,"id:",e,r),!Bl)throw new Error("GitGraph config not found");let i=Bl.rotateCommitLabel??!1,a=n.db;jT=a.getCommits();let s=a.getBranchesAsObjArray();Qr=a.getDirection();let l=He(`[id="${e}"]`),u=0;s.forEach((h,f)=>{let d=B4e(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=Wit(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),P4e(l,jT,!1),Bl.showBranches&&Uit(l,s),qit(l,jT),P4e(l,jT,!0),jt.insertTitle(l,"gitTitleText",Bl.titleTopMargin??0,a.getDiagramTitle()),dD(void 0,l,Bl.diagramPadding,Bl.useMaxWidth)},"draw"),$4e={draw:Hit}});var Yit,G4e,V4e=I(()=>{"use strict";Yit=o(t=>` + ${r.x+fp},${g-p-2} + ${r.x+fp+a+4},${g-p-2} + ${r.x+fp+a+4},${g+p+2} + ${r.x+fp},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Xu/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),Tst=o(t=>{switch(t.customType??t.type){case gn.NORMAL:return"commit-normal";case gn.REVERSE:return"commit-reverse";case gn.HIGHLIGHT:return"commit-highlight";case gn.MERGE:return"commit-merge";case gn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),wst=o((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=w4e(t.parents);if(a){let s=n.get(a)??i;return e==="TB"?s.y+dp:e==="BT"?(n.get(t.id)??i).y-dp:s.x+dp}}else return e==="TB"?w7:e==="BT"?(n.get(t.id)??i).y-dp:0;return 0},"calculatePosition"),kst=o((t,e,r)=>{let n=en==="BT"&&r?e:e+fp,i=en==="TB"||en==="BT"?n:Do.get(t.branch)?.pos,a=en==="TB"||en==="BT"?Do.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),b4e=o((t,e,r,n)=>{let i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels"),s=en==="TB"||en==="BT"?w7:0,l=[...e.keys()],u=n.parallelCommits??!1,h=o((d,p)=>{let m=e.get(d)?.seq,g=e.get(p)?.seq;return m!==void 0&&g!==void 0?m-g:0},"sortKeys"),f=l.sort(h);en==="BT"&&(u&&dst(f,e,s),f=f.reverse()),f.forEach(d=>{let p=e.get(d);if(!p)throw new Error(`Commit not found for key ${d}`);u&&(s=wst(p,en,s,Ro));let m=kst(p,s,u);if(r){let g=Tst(p),y=p.customType??p.type,v=Do.get(p.branch)?.index??0;vst(i,p,m,g,v,y),xst(a,p,m,s,n),bst(a,p,m,s)}en==="TB"||en==="BT"?Ro.set(p.id,{x:m.x,y:m.posWithOffset}):Ro.set(p.id,{x:m.posWithOffset,y:m.y}),s=en==="BT"&&u?s+dp:s+dp+fp,s>hp&&(hp=s)})},"drawCommits"),Est=o((t,e,r,n,i)=>{let s=(en==="TB"||en==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),o3=o((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(k7.every(s=>Math.abs(s-n)>=10))return k7.push(n),n;let a=Math.abs(t-e);return o3(t,e-a/5,r+1)},"findLane"),Sst=o((t,e,r,n)=>{let i=Ro.get(e.id),a=Ro.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=Est(e,r,i,a,n),l="",u="",h=0,f=0,d=Do.get(r.branch)?.index;r.type===gn.MERGE&&e.id!==r.parents[0]&&(d=Do.get(e.branch)?.index);let p;if(s){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===gn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):en==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===gn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${u} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===gn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%Um)},"drawArrow"),Cst=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{Sst(r,e.get(a),i,e)})})},"drawArrows"),Ast=o((t,e,r)=>{let n=t.append("g");e.forEach((i,a)=>{let s=a%Um,l=Do.get(i.name)?.pos;if(l===void 0)throw new Error(`Position not found for branch ${i.name}`);let u=n.append("line");u.attr("x1",0),u.attr("y1",l),u.attr("x2",hp),u.attr("y2",l),u.attr("class","branch branch"+s),en==="TB"?(u.attr("y1",w7),u.attr("x1",l),u.attr("y2",hp),u.attr("x2",l)):en==="BT"&&(u.attr("y1",hp),u.attr("x1",l),u.attr("y2",w7),u.attr("x2",l)),k7.push(l);let h=i.name,f=T4e(h),d=n.insert("rect"),m=n.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+s);m.node().appendChild(f);let g=f.getBBox();d.attr("class","branchLabelBkg label"+s).attr("rx",4).attr("ry",4).attr("x",-g.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-g.height/2+8).attr("width",g.width+18).attr("height",g.height+4),m.attr("transform","translate("+(-g.width-14-(r.rotateCommitLabel===!0?30:0))+", "+(l-g.height/2-1)+")"),en==="TB"?(d.attr("x",l-g.width/2-10).attr("y",0),m.attr("transform","translate("+(l-g.width/2-5)+", 0)")):en==="BT"?(d.attr("x",l-g.width/2-10).attr("y",hp),m.attr("transform","translate("+(l-g.width/2-5)+", "+hp+")")):d.attr("transform","translate(-19, "+(l-g.height/2)+")")})},"drawBranches"),_st=o(function(t,e,r,n,i){return Do.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(en==="TB"||en==="BT"?n.width/2:0),e},"setBranchPosition"),Dst=o(function(t,e,r,n){hst(),K.debug("in gitgraph renderer",t+` +`,"id:",e,r);let i=n.db;if(!i.getConfig){K.error("getConfig method is not available on db");return}let a=i.getConfig(),s=a.rotateCommitLabel??!1;s3=i.getCommits();let l=i.getBranchesAsObjArray();en=i.getDirection();let u=je(`[id="${e}"]`),h=0;l.forEach((f,d)=>{let p=T4e(f.name),m=u.append("g"),g=m.insert("g").attr("class","branchLabel"),y=g.insert("g").attr("class","label branch-label");y.node()?.appendChild(p);let v=p.getBBox();h=_st(f.name,h,d,v,s),y.remove(),g.remove(),m.remove()}),b4e(u,s3,!1,a),a.showBranches&&Ast(u,l,a),Cst(u,s3),b4e(u,s3,!0,a),Xt.insertTitle(u,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),_D(void 0,u,a.diagramPadding,a.useMaxWidth)},"draw"),k4e={draw:Dst}});var Rst,S4e,C4e=O(()=>{"use strict";Rst=o(t=>` .commit-id, .commit-msg, .branch-label { @@ -1287,12 +1296,12 @@ ${r}`),this.inline?`{${i}}`:i}};o(vnt,"renderInlineTag");o(xnt,"renderLinkDefaul font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),G4e=Yit});var q4e={};vr(q4e,{diagram:()=>jit});var jit,U4e=I(()=>{"use strict";O4e();ZV();z4e();V4e();jit={parser:I4e,db:l7,renderer:$4e,styles:G4e}});var JV,Y4e,j4e=I(()=>{"use strict";JV=(function(){var t=o(function(A,_,N,M){for(N=N||{},M=A.length;M--;N[A[M]]=_);return N},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],T=[1,19],E=[1,20],w=[1,21],k=[1,22],C=[1,23],D=[1,25],R=[1,35],O={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:o(function(_,N,M,P,B,F,G){var $=F.length-1;switch(B){case 1:return F[$-1];case 2:this.$=[];break;case 3:F[$-1].push(F[$]),this.$=F[$-1];break;case 4:case 5:this.$=F[$];break;case 6:case 7:this.$=[];break;case 8:P.setWeekday("monday");break;case 9:P.setWeekday("tuesday");break;case 10:P.setWeekday("wednesday");break;case 11:P.setWeekday("thursday");break;case 12:P.setWeekday("friday");break;case 13:P.setWeekday("saturday");break;case 14:P.setWeekday("sunday");break;case 15:P.setWeekend("friday");break;case 16:P.setWeekend("saturday");break;case 17:P.setDateFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 18:P.enableInclusiveEndDates(),this.$=F[$].substr(18);break;case 19:P.TopAxis(),this.$=F[$].substr(8);break;case 20:P.setAxisFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 21:P.setTickInterval(F[$].substr(13)),this.$=F[$].substr(13);break;case 22:P.setExcludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 23:P.setIncludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 24:P.setTodayMarker(F[$].substr(12)),this.$=F[$].substr(12);break;case 27:P.setDiagramTitle(F[$].substr(6)),this.$=F[$].substr(6);break;case 28:this.$=F[$].trim(),P.setAccTitle(this.$);break;case 29:case 30:this.$=F[$].trim(),P.setAccDescription(this.$);break;case 31:P.addSection(F[$].substr(8)),this.$=F[$].substr(8);break;case 33:P.addTask(F[$-1],F[$]),this.$="task";break;case 34:this.$=F[$-1],P.setClickEvent(F[$-1],F[$],null);break;case 35:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],F[$]);break;case 36:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],null),P.setLink(F[$-2],F[$]);break;case 37:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-2],F[$-1]),P.setLink(F[$-3],F[$]);break;case 38:this.$=F[$-2],P.setClickEvent(F[$-2],F[$],null),P.setLink(F[$-2],F[$-1]);break;case 39:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-1],F[$]),P.setLink(F[$-3],F[$-2]);break;case 40:this.$=F[$-1],P.setLink(F[$-1],F[$]);break;case 41:case 47:this.$=F[$-1]+" "+F[$];break;case 42:case 43:case 45:this.$=F[$-2]+" "+F[$-1]+" "+F[$];break;case 44:case 46:this.$=F[$-3]+" "+F[$-2]+" "+F[$-1]+" "+F[$];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:E,33:w,35:k,36:C,37:24,38:D,40:R},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:E,33:w,35:k,36:C,37:24,38:D,40:R},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:o(function(_,N){if(N.recoverable)this.trace(_);else{var M=new Error(_);throw M.hash=N,M}},"parseError"),parse:o(function(_){var N=this,M=[0],P=[],B=[null],F=[],G=this.table,$="",V=0,K=0,ee=0,H=2,he=1,Z=F.slice.call(arguments,1),de=Object.create(this.lexer),re={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(re.yy[ne]=this.yy[ne]);de.setInput(_,re.yy),re.yy.lexer=de,re.yy.parser=this,typeof de.yylloc>"u"&&(de.yylloc={});var te=de.yylloc;F.push(te);var Q=de.options&&de.options.ranges;typeof re.yy.parseError=="function"?this.parseError=re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function le(Ae){M.length=M.length-2*Ae,B.length=B.length-Ae,F.length=F.length-Ae}o(le,"popStack");function J(){var Ae;return Ae=P.pop()||de.lex()||he,typeof Ae!="number"&&(Ae instanceof Array&&(P=Ae,Ae=P.pop()),Ae=N.symbols_[Ae]||Ae),Ae}o(J,"lex");for(var ge,ie,Te,j,Ge,ye,$e={},Xe,Ue,Le,Ie;;){if(Te=M[M.length-1],this.defaultActions[Te]?j=this.defaultActions[Te]:((ge===null||typeof ge>"u")&&(ge=J()),j=G[Te]&&G[Te][ge]),typeof j>"u"||!j.length||!j[0]){var Me="";Ie=[];for(Xe in G[Te])this.terminals_[Xe]&&Xe>H&&Ie.push("'"+this.terminals_[Xe]+"'");de.showPosition?Me="Parse error on line "+(V+1)+`: -`+de.showPosition()+` -Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse error on line "+(V+1)+": Unexpected "+(ge==he?"end of input":"'"+(this.terminals_[ge]||ge)+"'"),this.parseError(Me,{text:de.match,token:this.terminals_[ge]||ge,line:de.yylineno,loc:te,expected:Ie})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+ge);switch(j[0]){case 1:M.push(ge),B.push(de.yytext),F.push(de.yylloc),M.push(j[1]),ge=null,ie?(ge=ie,ie=null):(K=de.yyleng,$=de.yytext,V=de.yylineno,te=de.yylloc,ee>0&&ee--);break;case 2:if(Ue=this.productions_[j[1]][1],$e.$=B[B.length-Ue],$e._$={first_line:F[F.length-(Ue||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(Ue||1)].first_column,last_column:F[F.length-1].last_column},Q&&($e._$.range=[F[F.length-(Ue||1)].range[0],F[F.length-1].range[1]]),ye=this.performAction.apply($e,[$,K,V,re.yy,j[1],B,F].concat(Z)),typeof ye<"u")return ye;Ue&&(M=M.slice(0,-1*Ue*2),B=B.slice(0,-1*Ue),F=F.slice(0,-1*Ue)),M.push(this.productions_[j[1]][0]),B.push($e.$),F.push($e._$),Le=G[M[M.length-2]][M[M.length-1]],M.push(Le);break;case 3:return!0}}return!0},"parse")},L=(function(){var A={EOF:1,parseError:o(function(N,M){if(this.yy.parser)this.yy.parser.parseError(N,M);else throw new Error(N)},"parseError"),setInput:o(function(_,N){return this.yy=N||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var N=_.match(/(?:\r\n?|\n).*/g);return N?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:o(function(_){var N=_.length,M=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-N),this.offset-=N;var P=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),M.length-1&&(this.yylineno-=M.length-1);var B=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:M?(M.length===P.length?this.yylloc.first_column:0)+P[P.length-M.length].length-M[0].length:this.yylloc.first_column-N},this.options.ranges&&(this.yylloc.range=[B[0],B[0]+this.yyleng-N]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(_){this.unput(this.match.slice(_))},"less"),pastInput:o(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var _=this.pastInput(),N=new Array(_.length+1).join("-");return _+this.upcomingInput()+` -`+N+"^"},"showPosition"),test_match:o(function(_,N){var M,P,B;if(this.options.backtrack_lexer&&(B={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&&(B.yylloc.range=this.yylloc.range.slice(0))),P=_[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,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(_[0].length),this.matched+=_[0],M=this.performAction.call(this,this.yy,this,N,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var F in B)this[F]=B[F];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,N,M,P;this._more||(this.yytext="",this.match="");for(var B=this._currentRules(),F=0;FN[0].length)){if(N=M,P=F,this.options.backtrack_lexer){if(_=this.test_match(M,B[F]),_!==!1)return _;if(this._backtrack){N=!1;continue}else return!1}else if(!this.options.flex)break}return N?(_=this.test_match(N,B[P]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var N=this.next();return N||this.lex()},"lex"),begin:o(function(N){this.conditionStack.push(N)},"begin"),popState:o(function(){var N=this.conditionStack.length-1;return N>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(N){return N=this.conditionStack.length-1-Math.abs(N||0),N>=0?this.conditionStack[N]:"INITIAL"},"topState"),pushState:o(function(N){this.begin(N)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(N,M,P,B){var F=B;switch(P){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return A})();O.lexer=L;function S(){this.yy={}}return o(S,"Parser"),S.prototype=O,O.Parser=S,new S})();JV.parser=JV;Y4e=JV});var X4e=Jt((eq,tq)=>{"use strict";(function(t,e){typeof eq=="object"&&typeof tq<"u"?tq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(eq,(function(){"use strict";var t="day";return function(e,r,n){var i=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}}))});var K4e=Jt((rq,nq)=>{"use strict";(function(t,e){typeof rq=="object"&&typeof nq<"u"?nq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(rq,(function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x})(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[n,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,u("seconds")],ss:[i,u("seconds")],m:[i,u("minutes")],mm:[i,u("minutes")],H:[i,u("hours")],h:[i,u("hours")],HH:[i,u("hours")],hh:[i,u("hours")],D:[i,u("day")],DD:[n,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[i,u("week")],ww:[n,u("week")],M:[i,u("month")],MM:[n,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map((function(x){return x.slice(0,3)}))).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(D,R,O){var L=O&&O.toUpperCase();return R||v[O]||t[O]||v[L].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(S,A,_){return A||_.slice(1)}))}))).match(e),b=x.length,T=0;T-1)return new Date((M==="X"?1e3:1)*N);var F=m(M)(N),G=F.year,$=F.month,V=F.day,K=F.hours,ee=F.minutes,H=F.seconds,he=F.milliseconds,Z=F.zone,de=F.week,re=new Date,ne=V||(G||$?1:re.getDate()),te=G||re.getFullYear(),Q=0;G&&!$||(Q=$>0?$-1:re.getMonth());var le,J=K||0,ge=ee||0,ie=H||0,Te=he||0;return Z?new Date(Date.UTC(te,Q,ne,J,ge,ie,Te+60*Z.offset*1e3)):P?new Date(Date.UTC(te,Q,ne,J,ge,ie,Te)):(le=new Date(te,Q,ne,J,ge,ie,Te),de&&(le=B(le).week(de).toDate()),le)}catch{return new Date("")}})(E,C,w,v),this.init(),L&&L!==!0&&(this.$L=this.locale(L).$L),O&&E!=this.format(C)&&(this.$d=new Date("")),s={}}else if(C instanceof Array)for(var S=C.length,A=1;A<=S;A+=1){k[1]=C[A-1];var _=v.apply(this,k);if(_.isValid()){this.$d=_.$d,this.$L=_.$L,this.init();break}A===S&&(this.$d=new Date(""))}else b.call(this,T)}}}))});var Q4e=Jt((iq,aq)=>{"use strict";(function(t,e){typeof iq=="object"&&typeof aq<"u"?aq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(iq,(function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}}));return n.bind(this)(u)}}}))});function dTe(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}var eTe,Ko,tTe,rTe,nTe,Z4e,qu,cq,uq,hq,KT,QT,fq,dq,d7,Sv,pq,iTe,mq,ZT,gq,yq,p7,sq,Zit,Jit,eat,tat,rat,nat,iat,aat,sat,oat,lat,cat,uat,hat,fat,dat,pat,mat,gat,yat,vat,xat,bat,aTe,Tat,wat,kat,sTe,Sat,oq,oTe,lTe,h7,kv,Eat,Cat,lq,f7,aa,cTe,Aat,Vm,_at,J4e,Dat,uTe,Rat,hTe,Lat,Nat,fTe,pTe=I(()=>{"use strict";eTe=Aa(Fg(),1),Ko=Aa(N3(),1),tTe=Aa(X4e(),1),rTe=Aa(K4e(),1),nTe=Aa(Q4e(),1);gt();Qt();sr();ki();Ko.default.extend(tTe.default);Ko.default.extend(rTe.default);Ko.default.extend(nTe.default);Z4e={friday:5,saturday:6},qu="",cq="",hq="",KT=[],QT=[],fq=new Map,dq=[],d7=[],Sv="",pq="",iTe=["active","done","crit","milestone","vert"],mq=[],ZT=!1,gq=!1,yq="sunday",p7="saturday",sq=0,Zit=o(function(){dq=[],d7=[],Sv="",mq=[],h7=0,lq=void 0,f7=void 0,aa=[],qu="",cq="",pq="",uq=void 0,hq="",KT=[],QT=[],ZT=!1,gq=!1,sq=0,fq=new Map,Mr(),yq="sunday",p7="saturday"},"clear"),Jit=o(function(t){cq=t},"setAxisFormat"),eat=o(function(){return cq},"getAxisFormat"),tat=o(function(t){uq=t},"setTickInterval"),rat=o(function(){return uq},"getTickInterval"),nat=o(function(t){hq=t},"setTodayMarker"),iat=o(function(){return hq},"getTodayMarker"),aat=o(function(t){qu=t},"setDateFormat"),sat=o(function(){ZT=!0},"enableInclusiveEndDates"),oat=o(function(){return ZT},"endDatesAreInclusive"),lat=o(function(){gq=!0},"enableTopAxis"),cat=o(function(){return gq},"topAxisEnabled"),uat=o(function(t){pq=t},"setDisplayMode"),hat=o(function(){return pq},"getDisplayMode"),fat=o(function(){return qu},"getDateFormat"),dat=o(function(t){KT=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),pat=o(function(){return KT},"getIncludes"),mat=o(function(t){QT=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),gat=o(function(){return QT},"getExcludes"),yat=o(function(){return fq},"getLinks"),vat=o(function(t){Sv=t,dq.push(t)},"addSection"),xat=o(function(){return dq},"getSections"),bat=o(function(){let t=J4e(),e=10,r=0;for(;!t&&r{let u=l.trim();return u==="x"||u==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));let a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let l=null;for(let h of a.groups.ids.split(" ")){let f=Vm(h);f!==void 0&&(!l||f.endTime>l.endTime)&&(l=f)}if(l)return l.endTime;let u=new Date;return u.setHours(0,0,0,0),u}let s=(0,Ko.default)(r,e.trim(),!0);if(s.isValid())return s.toDate();{X.debug("Invalid date:"+r),X.debug("With date format:"+e.trim());let l=new Date(r);if(l===void 0||isNaN(l.getTime())||l.getFullYear()<-1e4||l.getFullYear()>1e4)throw new Error("Invalid date:"+r);return l}},"getStartDate"),oTe=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),lTe=o(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=Vm(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),fq.set(n,r))}),uTe(t,"clickable")},"setLink"),uTe=o(function(t,e){t.split(",").forEach(function(r){let n=Vm(r);n!==void 0&&n.classes.push(e)})},"setClass"),Rat=o(function(t,e,r){if(xe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{jt.runFunc(e,...n)})},"setClickFun"),hTe=o(function(t,e){mq.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),Lat=o(function(t,e,r){t.split(",").forEach(function(n){Rat(n,e,r)}),uTe(t,"clickable")},"setClickEvent"),Nat=o(function(t){mq.forEach(function(e){e(t)})},"bindFunctions"),fTe={getConfig:o(()=>xe().gantt,"getConfig"),clear:Zit,setDateFormat:aat,getDateFormat:fat,enableInclusiveEndDates:sat,endDatesAreInclusive:oat,enableTopAxis:lat,topAxisEnabled:cat,setAxisFormat:Jit,getAxisFormat:eat,setTickInterval:tat,getTickInterval:rat,setTodayMarker:nat,getTodayMarker:iat,setAccTitle:zr,getAccTitle:Vr,setDiagramTitle:Xr,getDiagramTitle:Wr,setDisplayMode:uat,getDisplayMode:hat,setAccDescription:qr,getAccDescription:Ur,addSection:vat,getSections:xat,getTasks:bat,addTask:Aat,findTaskById:Vm,addTaskOrg:_at,setIncludes:dat,getIncludes:pat,setExcludes:mat,getExcludes:gat,setClickEvent:Lat,setLink:Dat,getLinks:yat,bindFunctions:Nat,parseDuration:oTe,isInvalidDate:aTe,setWeekday:Tat,getWeekday:wat,setWeekend:kat};o(dTe,"getTaskTags")});var mTe=Jt((vq,xq)=>{"use strict";(function(t,e){typeof vq=="object"&&typeof xq<"u"?xq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_duration=e()})(vq,(function(){"use strict";var t,e,r=1e3,n=6e4,i=36e5,a=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,l=31536e6,u=2628e6,h=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:l,months:u,days:a,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},d=o(function(E){return E instanceof b},"c"),p=o(function(E,w,k){return new b(E,k,w.$l)},"f"),m=o(function(E){return e.p(E)+"s"},"m"),g=o(function(E){return E<0},"l"),y=o(function(E){return g(E)?Math.ceil(E):Math.floor(E)},"$"),v=o(function(E){return Math.abs(E)},"y"),x=o(function(E,w){return E?g(E)?{negative:!0,format:""+v(E)+w}:{negative:!1,format:""+E+w}:{negative:!1,format:""}},"v"),b=(function(){function E(k,C,D){var R=this;if(this.$d={},this.$l=D,k===void 0&&(this.$ms=0,this.parseFromMilliseconds()),C)return p(k*f[m(C)],this);if(typeof k=="number")return this.$ms=k,this.parseFromMilliseconds(),this;if(typeof k=="object")return Object.keys(k).forEach((function(S){R.$d[m(S)]=k[S]})),this.calMilliseconds(),this;if(typeof k=="string"){var O=k.match(h);if(O){var L=O.slice(2).map((function(S){return S!=null?Number(S):0}));return this.$d.years=L[0],this.$d.months=L[1],this.$d.weeks=L[2],this.$d.days=L[3],this.$d.hours=L[4],this.$d.minutes=L[5],this.$d.seconds=L[6],this.calMilliseconds(),this}}return this}o(E,"l");var w=E.prototype;return w.calMilliseconds=function(){var k=this;this.$ms=Object.keys(this.$d).reduce((function(C,D){return C+(k.$d[D]||0)*f[D]}),0)},w.parseFromMilliseconds=function(){var k=this.$ms;this.$d.years=y(k/l),k%=l,this.$d.months=y(k/u),k%=u,this.$d.days=y(k/a),k%=a,this.$d.hours=y(k/i),k%=i,this.$d.minutes=y(k/n),k%=n,this.$d.seconds=y(k/r),k%=r,this.$d.milliseconds=k},w.toISOString=function(){var k=x(this.$d.years,"Y"),C=x(this.$d.months,"M"),D=+this.$d.days||0;this.$d.weeks&&(D+=7*this.$d.weeks);var R=x(D,"D"),O=x(this.$d.hours,"H"),L=x(this.$d.minutes,"M"),S=this.$d.seconds||0;this.$d.milliseconds&&(S+=this.$d.milliseconds/1e3,S=Math.round(1e3*S)/1e3);var A=x(S,"S"),_=k.negative||C.negative||R.negative||O.negative||L.negative||A.negative,N=O.format||L.format||A.format?"T":"",M=(_?"-":"")+"P"+k.format+C.format+R.format+N+O.format+L.format+A.format;return M==="P"||M==="-P"?"P0D":M},w.toJSON=function(){return this.toISOString()},w.format=function(k){var C=k||"YYYY-MM-DDTHH:mm:ss",D={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return C.replace(s,(function(R,O){return O||String(D[R])}))},w.as=function(k){return this.$ms/f[m(k)]},w.get=function(k){var C=this.$ms,D=m(k);return D==="milliseconds"?C%=1e3:C=D==="weeks"?y(C/f[D]):this.$d[D],C||0},w.add=function(k,C,D){var R;return R=C?k*f[m(C)]:d(k)?k.$ms:p(k,this).$ms,p(this.$ms+R*(D?-1:1),this)},w.subtract=function(k,C){return this.add(k,C,!0)},w.locale=function(k){var C=this.clone();return C.$l=k,C},w.clone=function(){return p(this.$ms,this)},w.humanize=function(k){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!k)},w.valueOf=function(){return this.asMilliseconds()},w.milliseconds=function(){return this.get("milliseconds")},w.asMilliseconds=function(){return this.as("milliseconds")},w.seconds=function(){return this.get("seconds")},w.asSeconds=function(){return this.as("seconds")},w.minutes=function(){return this.get("minutes")},w.asMinutes=function(){return this.as("minutes")},w.hours=function(){return this.get("hours")},w.asHours=function(){return this.as("hours")},w.days=function(){return this.get("days")},w.asDays=function(){return this.as("days")},w.weeks=function(){return this.get("weeks")},w.asWeeks=function(){return this.as("weeks")},w.months=function(){return this.get("months")},w.asMonths=function(){return this.as("months")},w.years=function(){return this.get("years")},w.asYears=function(){return this.as("years")},E})(),T=o(function(E,w,k){return E.add(w.years()*k,"y").add(w.months()*k,"M").add(w.days()*k,"d").add(w.hours()*k,"h").add(w.minutes()*k,"m").add(w.seconds()*k,"s").add(w.milliseconds()*k,"ms")},"p");return function(E,w,k){t=k,e=k().$utils(),k.duration=function(R,O){var L=k.locale();return p(R,{$l:L},O)},k.isDuration=d;var C=w.prototype.add,D=w.prototype.subtract;w.prototype.add=function(R,O){return d(R)?T(this,R,1):C.bind(this)(R,O)},w.prototype.subtract=function(R,O){return d(R)?T(this,R,-1):D.bind(this)(R,O)}}}))});var Ev,yTe,Mat,gTe,Iat,Jh,bq,Oat,vTe,xTe=I(()=>{"use strict";Ev=Aa(N3(),1),yTe=Aa(mTe(),1);gt();kr();wr();Qt();Fi();Ev.default.extend(yTe.default);Mat=o(function(){X.debug("Something is calling, setConf, remove the call")},"setConf"),gTe={monday:Df,tuesday:b5,wednesday:T5,thursday:Kc,friday:w5,saturday:k5,sunday:tc},Iat=o((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(let a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),bq=1e4,Oat=o(function(t,e,r,n){let i=xe().gantt,a=xe().securityLevel,s;a==="sandbox"&&(s=He("#i"+e));let l=a==="sandbox"?He(s.nodes()[0].contentDocument.body):He("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);Jh=h.parentElement.offsetWidth,Jh===void 0&&(Jh=1200),i.useWidth!==void 0&&(Jh=i.useWidth);let f=n.db.getTasks(),d=[];for(let R of f)d.push(R.type);d=D(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let R={};for(let L of f)R[L.section]===void 0?R[L.section]=[L]:R[L.section].push(L);let O=0;for(let L of Object.keys(R)){let S=Iat(R[L],O)+1;O+=S,m+=S*(i.barHeight+i.barGap),p[L]=S}}else{m+=f.length*(i.barHeight+i.barGap);for(let R of d)p[R]=f.filter(O=>O.type===R).length}h.setAttribute("viewBox","0 0 "+Jh+" "+m);let g=l.select(`[id="${e}"]`),y=C5().domain([Lw(f,function(R){return R.startTime}),Rw(f,function(R){return R.endTime})]).rangeRound([0,Jh-i.leftPadding-i.rightPadding]);function v(R,O){let L=R.startTime,S=O.startTime,A=0;return L>S?A=1:L$.vert===V.vert?0:$.vert?1:-1);let P=[...new Set(R.map($=>$.order))].map($=>R.find(V=>V.order===$));g.append("g").selectAll("rect").data(P).enter().append("rect").attr("x",0).attr("y",function($,V){return V=$.order,V*O+L-2}).attr("width",function(){return N-i.rightPadding/2}).attr("height",O).attr("class",function($){for(let[V,K]of d.entries())if($.type===K)return"section section"+V%i.numberSectionStyles;return"section section0"}).enter();let B=g.append("g").selectAll("rect").data(R).enter(),F=n.db.getLinks();if(B.append("rect").attr("id",function($){return $.id}).attr("rx",3).attr("ry",3).attr("x",function($){return $.milestone?y($.startTime)+S+.5*(y($.endTime)-y($.startTime))-.5*A:y($.startTime)+S}).attr("y",function($,V){return V=$.order,$.vert?i.gridLineStartPadding:V*O+L}).attr("width",function($){return $.milestone?A:$.vert?.08*A:y($.renderEndTime||$.endTime)-y($.startTime)}).attr("height",function($){return $.vert?f.length*(i.barHeight+i.barGap)+i.barHeight*2:A}).attr("transform-origin",function($,V){return V=$.order,(y($.startTime)+S+.5*(y($.endTime)-y($.startTime))).toString()+"px "+(V*O+L+.5*A).toString()+"px"}).attr("class",function($){let V="task",K="";$.classes.length>0&&(K=$.classes.join(" "));let ee=0;for(let[he,Z]of d.entries())$.type===Z&&(ee=he%i.numberSectionStyles);let H="";return $.active?$.crit?H+=" activeCrit":H=" active":$.done?$.crit?H=" doneCrit":H=" done":$.crit&&(H+=" crit"),H.length===0&&(H=" task"),$.milestone&&(H=" milestone "+H),$.vert&&(H=" vert "+H),H+=ee,H+=" "+K,V+H}),B.append("text").attr("id",function($){return $.id+"-text"}).text(function($){return $.task}).attr("font-size",i.fontSize).attr("x",function($){let V=y($.startTime),K=y($.renderEndTime||$.endTime);if($.milestone&&(V+=.5*(y($.endTime)-y($.startTime))-.5*A,K=V+A),$.vert)return y($.startTime)+S;let ee=this.getBBox().width;return ee>K-V?K+ee+1.5*i.leftPadding>N?V+S-5:K+S+5:(K-V)/2+V+S}).attr("y",function($,V){return $.vert?i.gridLineStartPadding+f.length*(i.barHeight+i.barGap)+60:(V=$.order,V*O+i.barHeight/2+(i.fontSize/2-2)+L)}).attr("text-height",A).attr("class",function($){let V=y($.startTime),K=y($.endTime);$.milestone&&(K=V+A);let ee=this.getBBox().width,H="";$.classes.length>0&&(H=$.classes.join(" "));let he=0;for(let[de,re]of d.entries())$.type===re&&(he=de%i.numberSectionStyles);let Z="";return $.active&&($.crit?Z="activeCritText"+he:Z="activeText"+he),$.done?$.crit?Z=Z+" doneCritText"+he:Z=Z+" doneText"+he:$.crit&&(Z=Z+" critText"+he),$.milestone&&(Z+=" milestoneText"),$.vert&&(Z+=" vertText"),ee>K-V?K+ee+1.5*i.leftPadding>N?H+" taskTextOutsideLeft taskTextOutside"+he+" "+Z:H+" taskTextOutsideRight taskTextOutside"+he+" "+Z+" width-"+ee:H+" taskText taskText"+he+" "+Z+" width-"+ee}),xe().securityLevel==="sandbox"){let $;$=He("#i"+e);let V=$.nodes()[0].contentDocument;B.filter(function(K){return F.has(K.id)}).each(function(K){var ee=V.querySelector("#"+K.id),H=V.querySelector("#"+K.id+"-text");let he=ee.parentNode;var Z=V.createElement("a");Z.setAttribute("xlink:href",F.get(K.id)),Z.setAttribute("target","_top"),he.appendChild(Z),Z.appendChild(ee),Z.appendChild(H)})}}o(b,"drawRects");function T(R,O,L,S,A,_,N,M){if(N.length===0&&M.length===0)return;let P,B;for(let{startTime:ee,endTime:H}of _)(P===void 0||eeB)&&(B=H);if(!P||!B)return;if((0,Ev.default)(B).diff((0,Ev.default)(P),"year")>5){X.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let F=n.db.getDateFormat(),G=[],$=null,V=(0,Ev.default)(P);for(;V.valueOf()<=B;)n.db.isInvalidDate(V,F,N,M)?$?$.end=V:$={start:V,end:V}:$&&(G.push($),$=null),V=V.add(1,"d");g.append("g").selectAll("rect").data(G).enter().append("rect").attr("id",ee=>"exclude-"+ee.start.format("YYYY-MM-DD")).attr("x",ee=>y(ee.start.startOf("day"))+L).attr("y",i.gridLineStartPadding).attr("width",ee=>y(ee.end.endOf("day"))-y(ee.start.startOf("day"))).attr("height",A-O-i.gridLineStartPadding).attr("transform-origin",function(ee,H){return(y(ee.start)+L+.5*(y(ee.end)-y(ee.start))).toString()+"px "+(H*R+.5*A).toString()+"px"}).attr("class","exclude-range")}o(T,"drawExcludeDays");function E(R,O,L,S){if(L<=0||R>O)return 1/0;let A=O-R,_=Ev.default.duration({[S??"day"]:L}).asMilliseconds();return _<=0?1/0:Math.ceil(A/_)}o(E,"getEstimatedTickCount");function w(R,O,L,S){let A=n.db.getDateFormat(),_=n.db.getAxisFormat(),N;_?N=_:A==="D"?N="%d":N=i.axisFormat??"%Y-%m-%d";let M=CD(y).tickSize(-S+O+i.gridLineStartPadding).tickFormat(Jp(N)),B=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(B!==null){let F=parseInt(B[1],10);if(isNaN(F)||F<=0)X.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let G=B[2],$=n.db.getWeekday()||i.weekday,V=y.domain(),K=V[0],ee=V[1],H=E(K,ee,F,G);if(H>bq)X.warn(`The tick interval "${F}${G}" would generate ${H} ticks, which exceeds the maximum allowed (${bq}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(G){case"millisecond":M.ticks(jc.every(F));break;case"second":M.ticks(No.every(F));break;case"minute":M.ticks(fh.every(F));break;case"hour":M.ticks(dh.every(F));break;case"day":M.ticks(ll.every(F));break;case"week":M.ticks(gTe[$].every(F));break;case"month":M.ticks(ph.every(F));break}}}if(g.append("g").attr("class","grid").attr("transform","translate("+R+", "+(S-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 F=ED(y).tickSize(-S+O+i.gridLineStartPadding).tickFormat(Jp(N));if(B!==null){let G=parseInt(B[1],10);if(isNaN(G)||G<=0)X.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let $=B[2],V=n.db.getWeekday()||i.weekday,K=y.domain(),ee=K[0],H=K[1];if(E(ee,H,G,$)<=bq)switch($){case"millisecond":F.ticks(jc.every(G));break;case"second":F.ticks(No.every(G));break;case"minute":F.ticks(fh.every(G));break;case"hour":F.ticks(dh.every(G));break;case"day":F.ticks(ll.every(G));break;case"week":F.ticks(gTe[V].every(G));break;case"month":F.ticks(ph.every(G));break}}}g.append("g").attr("class","grid").attr("transform","translate("+R+", "+O+")").call(F).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(w,"makeGrid");function k(R,O){let L=0,S=Object.keys(p).map(A=>[A,p[A]]);g.append("g").selectAll("text").data(S).enter().append(function(A){let _=A[0].split(nt.lineBreakRegex),N=-(_.length-1)/2,M=u.createElementNS("http://www.w3.org/2000/svg","text");M.setAttribute("dy",N+"em");for(let[P,B]of _.entries()){let F=u.createElementNS("http://www.w3.org/2000/svg","tspan");F.setAttribute("alignment-baseline","central"),F.setAttribute("x","10"),P>0&&F.setAttribute("dy","1em"),F.textContent=B,M.appendChild(F)}return M}).attr("x",10).attr("y",function(A,_){if(_>0)for(let N=0;N<_;N++)return L+=S[_-1][1],A[1]*R/2+L*R+O;else return A[1]*R/2+O}).attr("font-size",i.sectionFontSize).attr("class",function(A){for(let[_,N]of d.entries())if(A[0]===N)return"sectionTitle sectionTitle"+_%i.numberSectionStyles;return"sectionTitle"})}o(k,"vertLabels");function C(R,O,L,S){let A=n.db.getTodayMarker();if(A==="off")return;let _=g.append("g").attr("class","today"),N=new Date,M=_.append("line");M.attr("x1",y(N)+R).attr("x2",y(N)+R).attr("y1",i.titleTopMargin).attr("y2",S-i.titleTopMargin).attr("class","today"),A!==""&&M.attr("style",A.replace(/,/g,";"))}o(C,"drawToday");function D(R){let O={},L=[];for(let S=0,A=R.length;S{"use strict";Pat=o(t=>` +`,"getStyles"),S4e=Rst});var A4e={};vr(A4e,{diagram:()=>Lst});var Lst,_4e=O(()=>{"use strict";x4e();pq();E4e();C4e();Lst={parser:v4e,db:T7,renderer:k4e,styles:S4e}});var mq,L4e,N4e=O(()=>{"use strict";mq=(function(){var t=o(function(_,D,M,R){for(M=M||{},R=_.length;R--;M[_[R]]=D);return M},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],T=[1,19],E=[1,20],w=[1,21],k=[1,22],S=[1,23],A=[1,25],L=[1,35],I={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:o(function(D,M,R,P,B,F,G){var $=F.length-1;switch(B){case 1:return F[$-1];case 2:this.$=[];break;case 3:F[$-1].push(F[$]),this.$=F[$-1];break;case 4:case 5:this.$=F[$];break;case 6:case 7:this.$=[];break;case 8:P.setWeekday("monday");break;case 9:P.setWeekday("tuesday");break;case 10:P.setWeekday("wednesday");break;case 11:P.setWeekday("thursday");break;case 12:P.setWeekday("friday");break;case 13:P.setWeekday("saturday");break;case 14:P.setWeekday("sunday");break;case 15:P.setWeekend("friday");break;case 16:P.setWeekend("saturday");break;case 17:P.setDateFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 18:P.enableInclusiveEndDates(),this.$=F[$].substr(18);break;case 19:P.TopAxis(),this.$=F[$].substr(8);break;case 20:P.setAxisFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 21:P.setTickInterval(F[$].substr(13)),this.$=F[$].substr(13);break;case 22:P.setExcludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 23:P.setIncludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 24:P.setTodayMarker(F[$].substr(12)),this.$=F[$].substr(12);break;case 27:P.setDiagramTitle(F[$].substr(6)),this.$=F[$].substr(6);break;case 28:this.$=F[$].trim(),P.setAccTitle(this.$);break;case 29:case 30:this.$=F[$].trim(),P.setAccDescription(this.$);break;case 31:P.addSection(F[$].substr(8)),this.$=F[$].substr(8);break;case 33:P.addTask(F[$-1],F[$]),this.$="task";break;case 34:this.$=F[$-1],P.setClickEvent(F[$-1],F[$],null);break;case 35:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],F[$]);break;case 36:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],null),P.setLink(F[$-2],F[$]);break;case 37:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-2],F[$-1]),P.setLink(F[$-3],F[$]);break;case 38:this.$=F[$-2],P.setClickEvent(F[$-2],F[$],null),P.setLink(F[$-2],F[$-1]);break;case 39:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-1],F[$]),P.setLink(F[$-3],F[$-2]);break;case 40:this.$=F[$-1],P.setLink(F[$-1],F[$]);break;case 41:case 47:this.$=F[$-1]+" "+F[$];break;case 42:case 43:case 45:this.$=F[$-2]+" "+F[$-1]+" "+F[$];break;case 44:case 46:this.$=F[$-3]+" "+F[$-2]+" "+F[$-1]+" "+F[$];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:E,33:w,35:k,36:S,37:24,38:A,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:E,33:w,35:k,36:S,37:24,38:A,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:o(function(D,M){if(M.recoverable)this.trace(D);else{var R=new Error(D);throw R.hash=M,R}},"parseError"),parse:o(function(D){var M=this,R=[0],P=[],B=[null],F=[],G=this.table,$="",V=0,X=0,Q=0,H=2,ie=1,Y=F.slice.call(arguments,1),le=Object.create(this.lexer),ee={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(ee.yy[J]=this.yy[J]);le.setInput(D,ee.yy),ee.yy.lexer=le,ee.yy.parser=this,typeof le.yylloc>"u"&&(le.yylloc={});var te=le.yylloc;F.push(te);var Z=le.options&&le.options.ranges;typeof ee.yy.parseError=="function"?this.parseError=ee.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xe(Ne){R.length=R.length-2*Ne,B.length=B.length-Ne,F.length=F.length-Ne}o(xe,"popStack");function de(){var Ne;return Ne=P.pop()||le.lex()||ie,typeof Ne!="number"&&(Ne instanceof Array&&(P=Ne,Ne=P.pop()),Ne=M.symbols_[Ne]||Ne),Ne}o(de,"lex");for(var Se,Me,ke,we,_e,$e,fe={},Ke,Te,Be,Ue;;){if(ke=R[R.length-1],this.defaultActions[ke]?we=this.defaultActions[ke]:((Se===null||typeof Se>"u")&&(Se=de()),we=G[ke]&&G[ke][Se]),typeof we>"u"||!we.length||!we[0]){var Ge="";Ue=[];for(Ke in G[ke])this.terminals_[Ke]&&Ke>H&&Ue.push("'"+this.terminals_[Ke]+"'");le.showPosition?Ge="Parse error on line "+(V+1)+`: +`+le.showPosition()+` +Expecting `+Ue.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":Ge="Parse error on line "+(V+1)+": Unexpected "+(Se==ie?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(Ge,{text:le.match,token:this.terminals_[Se]||Se,line:le.yylineno,loc:te,expected:Ue})}if(we[0]instanceof Array&&we.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ke+", token: "+Se);switch(we[0]){case 1:R.push(Se),B.push(le.yytext),F.push(le.yylloc),R.push(we[1]),Se=null,Me?(Se=Me,Me=null):(X=le.yyleng,$=le.yytext,V=le.yylineno,te=le.yylloc,Q>0&&Q--);break;case 2:if(Te=this.productions_[we[1]][1],fe.$=B[B.length-Te],fe._$={first_line:F[F.length-(Te||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(Te||1)].first_column,last_column:F[F.length-1].last_column},Z&&(fe._$.range=[F[F.length-(Te||1)].range[0],F[F.length-1].range[1]]),$e=this.performAction.apply(fe,[$,X,V,ee.yy,we[1],B,F].concat(Y)),typeof $e<"u")return $e;Te&&(R=R.slice(0,-1*Te*2),B=B.slice(0,-1*Te),F=F.slice(0,-1*Te)),R.push(this.productions_[we[1]][0]),B.push(fe.$),F.push(fe._$),Be=G[R[R.length-2]][R[R.length-1]],R.push(Be);break;case 3:return!0}}return!0},"parse")},N=(function(){var _={EOF:1,parseError:o(function(M,R){if(this.yy.parser)this.yy.parser.parseError(M,R);else throw new Error(M)},"parseError"),setInput:o(function(D,M){return this.yy=M||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},"setInput"),input:o(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var M=D.match(/(?:\r\n?|\n).*/g);return M?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:o(function(D){var M=D.length,R=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-M),this.offset-=M;var P=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),R.length-1&&(this.yylineno-=R.length-1);var B=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:R?(R.length===P.length?this.yylloc.first_column:0)+P[P.length-R.length].length-R[0].length:this.yylloc.first_column-M},this.options.ranges&&(this.yylloc.range=[B[0],B[0]+this.yyleng-M]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(D){this.unput(this.match.slice(D))},"less"),pastInput:o(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var D=this.pastInput(),M=new Array(D.length+1).join("-");return D+this.upcomingInput()+` +`+M+"^"},"showPosition"),test_match:o(function(D,M){var R,P,B;if(this.options.backtrack_lexer&&(B={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&&(B.yylloc.range=this.yylloc.range.slice(0))),P=D[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.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],R=this.performAction.call(this,this.yy,this,M,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var F in B)this[F]=B[F];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,M,R,P;this._more||(this.yytext="",this.match="");for(var B=this._currentRules(),F=0;FM[0].length)){if(M=R,P=F,this.options.backtrack_lexer){if(D=this.test_match(R,B[F]),D!==!1)return D;if(this._backtrack){M=!1;continue}else return!1}else if(!this.options.flex)break}return M?(D=this.test_match(M,B[P]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var M=this.next();return M||this.lex()},"lex"),begin:o(function(M){this.conditionStack.push(M)},"begin"),popState:o(function(){var M=this.conditionStack.length-1;return M>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(M){return M=this.conditionStack.length-1-Math.abs(M||0),M>=0?this.conditionStack[M]:"INITIAL"},"topState"),pushState:o(function(M){this.begin(M)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(M,R,P,B){var F=B;switch(P){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return _})();I.lexer=N;function C(){this.yy={}}return o(C,"Parser"),C.prototype=I,I.Parser=C,new C})();mq.parser=mq;L4e=mq});var M4e=nr((gq,yq)=>{"use strict";(function(t,e){typeof gq=="object"&&typeof yq<"u"?yq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(gq,(function(){"use strict";var t="day";return function(e,r,n){var i=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}}))});var I4e=nr((vq,xq)=>{"use strict";(function(t,e){typeof vq=="object"&&typeof xq<"u"?xq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(vq,(function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x})(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[n,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,u("seconds")],ss:[i,u("seconds")],m:[i,u("minutes")],mm:[i,u("minutes")],H:[i,u("hours")],h:[i,u("hours")],HH:[i,u("hours")],hh:[i,u("hours")],D:[i,u("day")],DD:[n,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[i,u("week")],ww:[n,u("week")],M:[i,u("month")],MM:[n,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map((function(x){return x.slice(0,3)}))).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(A,L,I){var N=I&&I.toUpperCase();return L||v[I]||t[I]||v[N].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(C,_,D){return _||D.slice(1)}))}))).match(e),b=x.length,T=0;T-1)return new Date((R==="X"?1e3:1)*M);var F=m(R)(M),G=F.year,$=F.month,V=F.day,X=F.hours,Q=F.minutes,H=F.seconds,ie=F.milliseconds,Y=F.zone,le=F.week,ee=new Date,J=V||(G||$?1:ee.getDate()),te=G||ee.getFullYear(),Z=0;G&&!$||(Z=$>0?$-1:ee.getMonth());var xe,de=X||0,Se=Q||0,Me=H||0,ke=ie||0;return Y?new Date(Date.UTC(te,Z,J,de,Se,Me,ke+60*Y.offset*1e3)):P?new Date(Date.UTC(te,Z,J,de,Se,Me,ke)):(xe=new Date(te,Z,J,de,Se,Me,ke),le&&(xe=B(xe).week(le).toDate()),xe)}catch{return new Date("")}})(E,S,w,v),this.init(),N&&N!==!0&&(this.$L=this.locale(N).$L),I&&E!=this.format(S)&&(this.$d=new Date("")),s={}}else if(S instanceof Array)for(var C=S.length,_=1;_<=C;_+=1){k[1]=S[_-1];var D=v.apply(this,k);if(D.isValid()){this.$d=D.$d,this.$L=D.$L,this.init();break}_===C&&(this.$d=new Date(""))}else b.call(this,T)}}}))});var O4e=nr((bq,Tq)=>{"use strict";(function(t,e){typeof bq=="object"&&typeof Tq<"u"?Tq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(bq,(function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}}));return n.bind(this)(u)}}}))});function Q4e(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}var F4e,il,$4e,z4e,G4e,P4e,Ku,Sq,Cq,Aq,l3,c3,_q,Dq,C7,Nv,Rq,V4e,Lq,u3,Nq,Mq,A7,wq,Ost,Pst,Bst,Fst,$st,zst,Gst,Vst,qst,Ust,Wst,Hst,Yst,jst,Xst,Kst,Qst,Zst,Jst,eot,tot,rot,not,q4e,iot,aot,sot,U4e,oot,kq,W4e,H4e,E7,Lv,lot,cot,Eq,S7,ua,Y4e,uot,Wm,hot,B4e,fot,j4e,dot,X4e,pot,mot,K4e,Z4e=O(()=>{"use strict";F4e=Ra(Wg(),1),il=Ra(U3(),1),$4e=Ra(M4e(),1),z4e=Ra(I4e(),1),G4e=Ra(O4e(),1);xt();jt();ar();si();il.default.extend($4e.default);il.default.extend(z4e.default);il.default.extend(G4e.default);P4e={friday:5,saturday:6},Ku="",Sq="",Aq="",l3=[],c3=[],_q=new Map,Dq=[],C7=[],Nv="",Rq="",V4e=["active","done","crit","milestone","vert"],Lq=[],u3=!1,Nq=!1,Mq="sunday",A7="saturday",wq=0,Ost=o(function(){Dq=[],C7=[],Nv="",Lq=[],E7=0,Eq=void 0,S7=void 0,ua=[],Ku="",Sq="",Rq="",Cq=void 0,Aq="",l3=[],c3=[],u3=!1,Nq=!1,wq=0,_q=new Map,_r(),Mq="sunday",A7="saturday"},"clear"),Pst=o(function(t){Sq=t},"setAxisFormat"),Bst=o(function(){return Sq},"getAxisFormat"),Fst=o(function(t){Cq=t},"setTickInterval"),$st=o(function(){return Cq},"getTickInterval"),zst=o(function(t){Aq=t},"setTodayMarker"),Gst=o(function(){return Aq},"getTodayMarker"),Vst=o(function(t){Ku=t},"setDateFormat"),qst=o(function(){u3=!0},"enableInclusiveEndDates"),Ust=o(function(){return u3},"endDatesAreInclusive"),Wst=o(function(){Nq=!0},"enableTopAxis"),Hst=o(function(){return Nq},"topAxisEnabled"),Yst=o(function(t){Rq=t},"setDisplayMode"),jst=o(function(){return Rq},"getDisplayMode"),Xst=o(function(){return Ku},"getDateFormat"),Kst=o(function(t){l3=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),Qst=o(function(){return l3},"getIncludes"),Zst=o(function(t){c3=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),Jst=o(function(){return c3},"getExcludes"),eot=o(function(){return _q},"getLinks"),tot=o(function(t){Nv=t,Dq.push(t)},"addSection"),rot=o(function(){return Dq},"getSections"),not=o(function(){let t=B4e(),e=10,r=0;for(;!t&&r{let u=l.trim();return u==="x"||u==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));let a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let l=null;for(let h of a.groups.ids.split(" ")){let f=Wm(h);f!==void 0&&(!l||f.endTime>l.endTime)&&(l=f)}if(l)return l.endTime;let u=new Date;return u.setHours(0,0,0,0),u}let s=(0,il.default)(r,e.trim(),!0);if(s.isValid())return s.toDate();{K.debug("Invalid date:"+r),K.debug("With date format:"+e.trim());let l=new Date(r);if(l===void 0||isNaN(l.getTime())||l.getFullYear()<-1e4||l.getFullYear()>1e4)throw new Error("Invalid date:"+r);return l}},"getStartDate"),W4e=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),H4e=o(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=Wm(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),_q.set(n,r))}),j4e(t,"clickable")},"setLink"),j4e=o(function(t,e){t.split(",").forEach(function(r){let n=Wm(r);n!==void 0&&n.classes.push(e)})},"setClass"),dot=o(function(t,e,r){if(ve().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Xt.runFunc(e,...n)})},"setClickFun"),X4e=o(function(t,e){Lq.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),pot=o(function(t,e,r){t.split(",").forEach(function(n){dot(n,e,r)}),j4e(t,"clickable")},"setClickEvent"),mot=o(function(t){Lq.forEach(function(e){e(t)})},"bindFunctions"),K4e={getConfig:o(()=>ve().gantt,"getConfig"),clear:Ost,setDateFormat:Vst,getDateFormat:Xst,enableInclusiveEndDates:qst,endDatesAreInclusive:Ust,enableTopAxis:Wst,topAxisEnabled:Hst,setAxisFormat:Pst,getAxisFormat:Bst,setTickInterval:Fst,getTickInterval:$st,setTodayMarker:zst,getTodayMarker:Gst,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,setDisplayMode:Yst,getDisplayMode:jst,setAccDescription:Pr,getAccDescription:Br,addSection:tot,getSections:rot,getTasks:not,addTask:uot,findTaskById:Wm,addTaskOrg:hot,setIncludes:Kst,getIncludes:Qst,setExcludes:Zst,getExcludes:Jst,setClickEvent:pot,setLink:fot,getLinks:eot,bindFunctions:mot,parseDuration:W4e,isInvalidDate:q4e,setWeekday:iot,getWeekday:aot,setWeekend:sot};o(Q4e,"getTaskTags")});var J4e=nr((Iq,Oq)=>{"use strict";(function(t,e){typeof Iq=="object"&&typeof Oq<"u"?Oq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_duration=e()})(Iq,(function(){"use strict";var t,e,r=1e3,n=6e4,i=36e5,a=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,l=31536e6,u=2628e6,h=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:l,months:u,days:a,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},d=o(function(E){return E instanceof b},"c"),p=o(function(E,w,k){return new b(E,k,w.$l)},"f"),m=o(function(E){return e.p(E)+"s"},"m"),g=o(function(E){return E<0},"l"),y=o(function(E){return g(E)?Math.ceil(E):Math.floor(E)},"$"),v=o(function(E){return Math.abs(E)},"y"),x=o(function(E,w){return E?g(E)?{negative:!0,format:""+v(E)+w}:{negative:!1,format:""+E+w}:{negative:!1,format:""}},"v"),b=(function(){function E(k,S,A){var L=this;if(this.$d={},this.$l=A,k===void 0&&(this.$ms=0,this.parseFromMilliseconds()),S)return p(k*f[m(S)],this);if(typeof k=="number")return this.$ms=k,this.parseFromMilliseconds(),this;if(typeof k=="object")return Object.keys(k).forEach((function(C){L.$d[m(C)]=k[C]})),this.calMilliseconds(),this;if(typeof k=="string"){var I=k.match(h);if(I){var N=I.slice(2).map((function(C){return C!=null?Number(C):0}));return this.$d.years=N[0],this.$d.months=N[1],this.$d.weeks=N[2],this.$d.days=N[3],this.$d.hours=N[4],this.$d.minutes=N[5],this.$d.seconds=N[6],this.calMilliseconds(),this}}return this}o(E,"l");var w=E.prototype;return w.calMilliseconds=function(){var k=this;this.$ms=Object.keys(this.$d).reduce((function(S,A){return S+(k.$d[A]||0)*f[A]}),0)},w.parseFromMilliseconds=function(){var k=this.$ms;this.$d.years=y(k/l),k%=l,this.$d.months=y(k/u),k%=u,this.$d.days=y(k/a),k%=a,this.$d.hours=y(k/i),k%=i,this.$d.minutes=y(k/n),k%=n,this.$d.seconds=y(k/r),k%=r,this.$d.milliseconds=k},w.toISOString=function(){var k=x(this.$d.years,"Y"),S=x(this.$d.months,"M"),A=+this.$d.days||0;this.$d.weeks&&(A+=7*this.$d.weeks);var L=x(A,"D"),I=x(this.$d.hours,"H"),N=x(this.$d.minutes,"M"),C=this.$d.seconds||0;this.$d.milliseconds&&(C+=this.$d.milliseconds/1e3,C=Math.round(1e3*C)/1e3);var _=x(C,"S"),D=k.negative||S.negative||L.negative||I.negative||N.negative||_.negative,M=I.format||N.format||_.format?"T":"",R=(D?"-":"")+"P"+k.format+S.format+L.format+M+I.format+N.format+_.format;return R==="P"||R==="-P"?"P0D":R},w.toJSON=function(){return this.toISOString()},w.format=function(k){var S=k||"YYYY-MM-DDTHH:mm:ss",A={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return S.replace(s,(function(L,I){return I||String(A[L])}))},w.as=function(k){return this.$ms/f[m(k)]},w.get=function(k){var S=this.$ms,A=m(k);return A==="milliseconds"?S%=1e3:S=A==="weeks"?y(S/f[A]):this.$d[A],S||0},w.add=function(k,S,A){var L;return L=S?k*f[m(S)]:d(k)?k.$ms:p(k,this).$ms,p(this.$ms+L*(A?-1:1),this)},w.subtract=function(k,S){return this.add(k,S,!0)},w.locale=function(k){var S=this.clone();return S.$l=k,S},w.clone=function(){return p(this.$ms,this)},w.humanize=function(k){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!k)},w.valueOf=function(){return this.asMilliseconds()},w.milliseconds=function(){return this.get("milliseconds")},w.asMilliseconds=function(){return this.as("milliseconds")},w.seconds=function(){return this.get("seconds")},w.asSeconds=function(){return this.as("seconds")},w.minutes=function(){return this.get("minutes")},w.asMinutes=function(){return this.as("minutes")},w.hours=function(){return this.get("hours")},w.asHours=function(){return this.as("hours")},w.days=function(){return this.get("days")},w.asDays=function(){return this.as("days")},w.weeks=function(){return this.get("weeks")},w.asWeeks=function(){return this.as("weeks")},w.months=function(){return this.get("months")},w.asMonths=function(){return this.as("months")},w.years=function(){return this.get("years")},w.asYears=function(){return this.as("years")},E})(),T=o(function(E,w,k){return E.add(w.years()*k,"y").add(w.months()*k,"M").add(w.days()*k,"d").add(w.hours()*k,"h").add(w.minutes()*k,"m").add(w.seconds()*k,"s").add(w.milliseconds()*k,"ms")},"p");return function(E,w,k){t=k,e=k().$utils(),k.duration=function(L,I){var N=k.locale();return p(L,{$l:N},I)},k.isDuration=d;var S=w.prototype.add,A=w.prototype.subtract;w.prototype.add=function(L,I){return d(L)?T(this,L,1):S.bind(this)(L,I)},w.prototype.subtract=function(L,I){return d(L)?T(this,L,-1):A.bind(this)(L,I)}}}))});var Mv,t3e,got,e3e,yot,sf,Pq,vot,r3e,n3e=O(()=>{"use strict";Mv=Ra(U3(),1),t3e=Ra(J4e(),1);xt();Ar();Ur();jt();Ti();Mv.default.extend(t3e.default);got=o(function(){K.debug("Something is calling, setConf, remove the call")},"setConf"),e3e={monday:If,tuesday:M5,wednesday:I5,thursday:iu,friday:O5,saturday:P5,sunday:oc},yot=o((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(let a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Pq=1e4,vot=o(function(t,e,r,n){let i=ve().gantt,a=ve().securityLevel,s;a==="sandbox"&&(s=je("#i"+e));let l=a==="sandbox"?je(s.nodes()[0].contentDocument.body):je("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);sf=h.parentElement.offsetWidth,sf===void 0&&(sf=1200),i.useWidth!==void 0&&(sf=i.useWidth);let f=n.db.getTasks(),d=[];for(let L of f)d.push(L.type);d=A(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let L={};for(let N of f)L[N.section]===void 0?L[N.section]=[N]:L[N.section].push(N);let I=0;for(let N of Object.keys(L)){let C=yot(L[N],I)+1;I+=C,m+=C*(i.barHeight+i.barGap),p[N]=C}}else{m+=f.length*(i.barHeight+i.barGap);for(let L of d)p[L]=f.filter(I=>I.type===L).length}h.setAttribute("viewBox","0 0 "+sf+" "+m);let g=l.select(`[id="${e}"]`),y=$5().domain([Uw(f,function(L){return L.startTime}),qw(f,function(L){return L.endTime})]).rangeRound([0,sf-i.leftPadding-i.rightPadding]);function v(L,I){let N=L.startTime,C=I.startTime,_=0;return N>C?_=1:N$.vert===V.vert?0:$.vert?1:-1);let P=[...new Set(L.map($=>$.order))].map($=>L.find(V=>V.order===$));g.append("g").selectAll("rect").data(P).enter().append("rect").attr("x",0).attr("y",function($,V){return V=$.order,V*I+N-2}).attr("width",function(){return M-i.rightPadding/2}).attr("height",I).attr("class",function($){for(let[V,X]of d.entries())if($.type===X)return"section section"+V%i.numberSectionStyles;return"section section0"}).enter();let B=g.append("g").selectAll("rect").data(L).enter(),F=n.db.getLinks();if(B.append("rect").attr("id",function($){return $.id}).attr("rx",3).attr("ry",3).attr("x",function($){return $.milestone?y($.startTime)+C+.5*(y($.endTime)-y($.startTime))-.5*_:y($.startTime)+C}).attr("y",function($,V){return V=$.order,$.vert?i.gridLineStartPadding:V*I+N}).attr("width",function($){return $.milestone?_:$.vert?.08*_:y($.renderEndTime||$.endTime)-y($.startTime)}).attr("height",function($){return $.vert?f.length*(i.barHeight+i.barGap)+i.barHeight*2:_}).attr("transform-origin",function($,V){return V=$.order,(y($.startTime)+C+.5*(y($.endTime)-y($.startTime))).toString()+"px "+(V*I+N+.5*_).toString()+"px"}).attr("class",function($){let V="task",X="";$.classes.length>0&&(X=$.classes.join(" "));let Q=0;for(let[ie,Y]of d.entries())$.type===Y&&(Q=ie%i.numberSectionStyles);let H="";return $.active?$.crit?H+=" activeCrit":H=" active":$.done?$.crit?H=" doneCrit":H=" done":$.crit&&(H+=" crit"),H.length===0&&(H=" task"),$.milestone&&(H=" milestone "+H),$.vert&&(H=" vert "+H),H+=Q,H+=" "+X,V+H}),B.append("text").attr("id",function($){return $.id+"-text"}).text(function($){return $.task}).attr("font-size",i.fontSize).attr("x",function($){let V=y($.startTime),X=y($.renderEndTime||$.endTime);if($.milestone&&(V+=.5*(y($.endTime)-y($.startTime))-.5*_,X=V+_),$.vert)return y($.startTime)+C;let Q=this.getBBox().width;return Q>X-V?X+Q+1.5*i.leftPadding>M?V+C-5:X+C+5:(X-V)/2+V+C}).attr("y",function($,V){return $.vert?i.gridLineStartPadding+f.length*(i.barHeight+i.barGap)+60:(V=$.order,V*I+i.barHeight/2+(i.fontSize/2-2)+N)}).attr("text-height",_).attr("class",function($){let V=y($.startTime),X=y($.endTime);$.milestone&&(X=V+_);let Q=this.getBBox().width,H="";$.classes.length>0&&(H=$.classes.join(" "));let ie=0;for(let[le,ee]of d.entries())$.type===ee&&(ie=le%i.numberSectionStyles);let Y="";return $.active&&($.crit?Y="activeCritText"+ie:Y="activeText"+ie),$.done?$.crit?Y=Y+" doneCritText"+ie:Y=Y+" doneText"+ie:$.crit&&(Y=Y+" critText"+ie),$.milestone&&(Y+=" milestoneText"),$.vert&&(Y+=" vertText"),Q>X-V?X+Q+1.5*i.leftPadding>M?H+" taskTextOutsideLeft taskTextOutside"+ie+" "+Y:H+" taskTextOutsideRight taskTextOutside"+ie+" "+Y+" width-"+Q:H+" taskText taskText"+ie+" "+Y+" width-"+Q}),ve().securityLevel==="sandbox"){let $;$=je("#i"+e);let V=$.nodes()[0].contentDocument;B.filter(function(X){return F.has(X.id)}).each(function(X){var Q=V.querySelector("#"+X.id),H=V.querySelector("#"+X.id+"-text");let ie=Q.parentNode;var Y=V.createElement("a");Y.setAttribute("xlink:href",F.get(X.id)),Y.setAttribute("target","_top"),ie.appendChild(Y),Y.appendChild(Q),Y.appendChild(H)})}}o(b,"drawRects");function T(L,I,N,C,_,D,M,R){if(M.length===0&&R.length===0)return;let P,B;for(let{startTime:Q,endTime:H}of D)(P===void 0||QB)&&(B=H);if(!P||!B)return;if((0,Mv.default)(B).diff((0,Mv.default)(P),"year")>5){K.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let F=n.db.getDateFormat(),G=[],$=null,V=(0,Mv.default)(P);for(;V.valueOf()<=B;)n.db.isInvalidDate(V,F,M,R)?$?$.end=V:$={start:V,end:V}:$&&(G.push($),$=null),V=V.add(1,"d");g.append("g").selectAll("rect").data(G).enter().append("rect").attr("id",Q=>"exclude-"+Q.start.format("YYYY-MM-DD")).attr("x",Q=>y(Q.start.startOf("day"))+N).attr("y",i.gridLineStartPadding).attr("width",Q=>y(Q.end.endOf("day"))-y(Q.start.startOf("day"))).attr("height",_-I-i.gridLineStartPadding).attr("transform-origin",function(Q,H){return(y(Q.start)+N+.5*(y(Q.end)-y(Q.start))).toString()+"px "+(H*L+.5*_).toString()+"px"}).attr("class","exclude-range")}o(T,"drawExcludeDays");function E(L,I,N,C){if(N<=0||L>I)return 1/0;let _=I-L,D=Mv.default.duration({[C??"day"]:N}).asMilliseconds();return D<=0?1/0:Math.ceil(_/D)}o(E,"getEstimatedTickCount");function w(L,I,N,C){let _=n.db.getDateFormat(),D=n.db.getAxisFormat(),M;D?M=D:_==="D"?M="%d":M=i.axisFormat??"%Y-%m-%d";let R=GD(y).tickSize(-C+I+i.gridLineStartPadding).tickFormat(r0(M)),B=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(B!==null){let F=parseInt(B[1],10);if(isNaN(F)||F<=0)K.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let G=B[2],$=n.db.getWeekday()||i.weekday,V=y.domain(),X=V[0],Q=V[1],H=E(X,Q,F,G);if(H>Pq)K.warn(`The tick interval "${F}${G}" would generate ${H} ticks, which exceeds the maximum allowed (${Pq}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(G){case"millisecond":R.ticks(ru.every(F));break;case"second":R.ticks($o.every(F));break;case"minute":R.ticks(yh.every(F));break;case"hour":R.ticks(vh.every(F));break;case"day":R.ticks(gl.every(F));break;case"week":R.ticks(e3e[$].every(F));break;case"month":R.ticks(xh.every(F));break}}}if(g.append("g").attr("class","grid").attr("transform","translate("+L+", "+(C-50)+")").call(R).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 F=zD(y).tickSize(-C+I+i.gridLineStartPadding).tickFormat(r0(M));if(B!==null){let G=parseInt(B[1],10);if(isNaN(G)||G<=0)K.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let $=B[2],V=n.db.getWeekday()||i.weekday,X=y.domain(),Q=X[0],H=X[1];if(E(Q,H,G,$)<=Pq)switch($){case"millisecond":F.ticks(ru.every(G));break;case"second":F.ticks($o.every(G));break;case"minute":F.ticks(yh.every(G));break;case"hour":F.ticks(vh.every(G));break;case"day":F.ticks(gl.every(G));break;case"week":F.ticks(e3e[V].every(G));break;case"month":F.ticks(xh.every(G));break}}}g.append("g").attr("class","grid").attr("transform","translate("+L+", "+I+")").call(F).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(w,"makeGrid");function k(L,I){let N=0,C=Object.keys(p).map(_=>[_,p[_]]);g.append("g").selectAll("text").data(C).enter().append(function(_){let D=_[0].split(st.lineBreakRegex),M=-(D.length-1)/2,R=u.createElementNS("http://www.w3.org/2000/svg","text");R.setAttribute("dy",M+"em");for(let[P,B]of D.entries()){let F=u.createElementNS("http://www.w3.org/2000/svg","tspan");F.setAttribute("alignment-baseline","central"),F.setAttribute("x","10"),P>0&&F.setAttribute("dy","1em"),F.textContent=B,R.appendChild(F)}return R}).attr("x",10).attr("y",function(_,D){if(D>0)for(let M=0;M{"use strict";xot=o(t=>` .mermaid-main-font { font-family: ${t.fontFamily}; } @@ -1484,6 +1493,19 @@ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse erro fill: ${t.taskTextDarkColor} !important; } + /* Done task text displayed outside the bar sits against the diagram background, + not against the done-task bar, so it must use the outside/contrast color. */ + .doneText0.taskTextOutsideLeft, + .doneText0.taskTextOutsideRight, + .doneText1.taskTextOutsideLeft, + .doneText1.taskTextOutsideRight, + .doneText2.taskTextOutsideLeft, + .doneText2.taskTextOutsideRight, + .doneText3.taskTextOutsideLeft, + .doneText3.taskTextOutsideRight { + fill: ${t.taskTextOutsideColor} !important; + } + /* Tasks on the critical line */ @@ -1530,6 +1552,18 @@ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse erro fill: ${t.taskTextDarkColor} !important; } + /* Done-crit task text outside the bar \u2014 same reasoning as doneText above. */ + .doneCritText0.taskTextOutsideLeft, + .doneCritText0.taskTextOutsideRight, + .doneCritText1.taskTextOutsideLeft, + .doneCritText1.taskTextOutsideRight, + .doneCritText2.taskTextOutsideLeft, + .doneCritText2.taskTextOutsideRight, + .doneCritText3.taskTextOutsideLeft, + .doneCritText3.taskTextOutsideRight { + fill: ${t.taskTextOutsideColor} !important; + } + .vert { stroke: ${t.vertLineColor}; } @@ -1553,8 +1587,8 @@ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse erro fill: ${t.titleColor||t.textColor}; font-family: ${t.fontFamily}; } -`,"getStyles"),bTe=Pat});var wTe={};vr(wTe,{diagram:()=>Bat});var Bat,kTe=I(()=>{"use strict";j4e();pTe();xTe();TTe();Bat={parser:Y4e,db:fTe,renderer:vTe,styles:bTe}});var CTe,ATe=I(()=>{"use strict";sp();gt();CTe={parse:o(async t=>{let e=await Vs("info",t);X.debug(e)},"parse")}});var JT,Tq=I(()=>{JT={name:"mermaid",version:"11.12.3",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.1.1","@iconify/utils":"^3.0.1","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.13",dayjs:"^1.11.18",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.23",marked:"^16.2.1",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.5","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.2",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.1.0",jison:"^0.4.18","js-base64":"^3.7.8",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.3",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.13","type-fest":"^4.35.0",typedoc:"^0.28.12","typedoc-plugin-markdown":"^4.8.1",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.6.4","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}});var Vat,qat,_Te,DTe=I(()=>{"use strict";Tq();Vat={version:JT.version+""},qat=o(()=>Vat.version,"getVersion"),_Te={getVersion:qat}});var Ca,Uu=I(()=>{"use strict";kr();Qt();Ca=o(t=>{let{securityLevel:e}=xe(),r=He("body");if(e==="sandbox"){let a=He(`#i${t}`).node()?.contentDocument??document;r=He(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var Uat,RTe,LTe=I(()=>{"use strict";gt();Uu();Fi();Uat=o((t,e,r)=>{X.debug(`rendering info diagram -`+t);let n=Ca(e);Sn(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),RTe={draw:Uat}});var NTe={};vr(NTe,{diagram:()=>Wat});var Wat,MTe=I(()=>{"use strict";ATe();DTe();LTe();Wat={parser:CTe,db:_Te,renderer:RTe}});var PTe,wq,m7,kq,jat,Xat,Kat,Qat,Zat,Jat,est,g7,Sq=I(()=>{"use strict";gt();ki();Ka();PTe=gr.pie,wq={sections:new Map,showData:!1,config:PTe},m7=wq.sections,kq=wq.showData,jat=structuredClone(PTe),Xat=o(()=>structuredClone(jat),"getConfig"),Kat=o(()=>{m7=new Map,kq=wq.showData,Mr()},"clear"),Qat=o(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);m7.has(t)||(m7.set(t,e),X.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),Zat=o(()=>m7,"getSections"),Jat=o(t=>{kq=t},"setShowData"),est=o(()=>kq,"getShowData"),g7={getConfig:Xat,clear:Kat,setDiagramTitle:Xr,getDiagramTitle:Wr,setAccTitle:zr,getAccTitle:Vr,setAccDescription:qr,getAccDescription:Ur,addSection:Qat,getSections:Zat,setShowData:Jat,getShowData:est}});var tst,BTe,FTe=I(()=>{"use strict";sp();gt();$m();Sq();tst=o((t,e)=>{Pl(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),BTe={parse:o(async t=>{let e=await Vs("pie",t);X.debug(e),tst(e,g7)},"parse")}});var rst,$Te,zTe=I(()=>{"use strict";rst=o(t=>` +`,"getStyles"),i3e=xot});var s3e={};vr(s3e,{diagram:()=>bot});var bot,o3e=O(()=>{"use strict";N4e();Z4e();n3e();a3e();bot={parser:L4e,db:K4e,renderer:r3e,styles:i3e}});var u3e,h3e=O(()=>{"use strict";up();xt();u3e={parse:o(async t=>{let e=await Us("info",t);K.debug(e)},"parse")}});var Eot,Sot,f3e,d3e=O(()=>{"use strict";Eot={version:"11.13.0"},Sot=o(()=>Eot.version,"getVersion"),f3e={getVersion:Sot}});var Ii,Ul=O(()=>{"use strict";Ar();jt();Ii=o(t=>{let{securityLevel:e}=ve(),r=je("body");if(e==="sandbox"){let a=je(`#i${t}`).node()?.contentDocument??document;r=je(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var Cot,p3e,m3e=O(()=>{"use strict";xt();Ul();Ti();Cot=o((t,e,r)=>{K.debug(`rendering info diagram +`+t);let n=Ii(e);Zr(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),p3e={draw:Cot}});var g3e={};vr(g3e,{diagram:()=>Aot});var Aot,y3e=O(()=>{"use strict";h3e();d3e();m3e();Aot={parser:u3e,db:f3e,renderer:p3e}});var b3e,Bq,_7,Fq,Rot,Lot,Not,Mot,Iot,Oot,Pot,D7,$q=O(()=>{"use strict";xt();si();La();b3e=gr.pie,Bq={sections:new Map,showData:!1,config:b3e},_7=Bq.sections,Fq=Bq.showData,Rot=structuredClone(b3e),Lot=o(()=>structuredClone(Rot),"getConfig"),Not=o(()=>{_7=new Map,Fq=Bq.showData,_r()},"clear"),Mot=o(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);_7.has(t)||(_7.set(t,e),K.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),Iot=o(()=>_7,"getSections"),Oot=o(t=>{Fq=t},"setShowData"),Pot=o(()=>Fq,"getShowData"),D7={getConfig:Lot,clear:Not,setDiagramTitle:zr,getDiagramTitle:Fr,setAccTitle:Lr,getAccTitle:Or,setAccDescription:Pr,getAccDescription:Br,addSection:Mot,getSections:Iot,setShowData:Oot,getShowData:Pot}});var Bot,T3e,w3e=O(()=>{"use strict";up();xt();Vm();$q();Bot=o((t,e)=>{ql(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),T3e={parse:o(async t=>{let e=await Us("pie",t);K.debug(e),Bot(e,D7)},"parse")}});var Fot,k3e,E3e=O(()=>{"use strict";Fot=o(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1582,25 +1616,25 @@ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse erro font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } -`,"getStyles"),$Te=rst});var nst,ist,GTe,VTe=I(()=>{"use strict";kr();Qt();gt();Uu();Fi();sr();nst=o(t=>{let e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1).sort((i,a)=>a.value-i.value);return N5().value(i=>i.value)(r)},"createPieArcs"),ist=o((t,e,r,n)=>{X.debug(`rendering pie chart -`+t);let i=n.db,a=xe(),s=Qn(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Ca(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=ru(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=ic().innerRadius(0).outerRadius(x),T=ic().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let E=i.getSections(),w=nst(E),k=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],C=0;E.forEach(_=>{C+=_});let D=w.filter(_=>(_.data.value/C*100).toFixed(0)!=="0"),R=Lo(k);m.selectAll("mySlices").data(D).enter().append("path").attr("d",b).attr("fill",_=>R(_.data.label)).attr("class","pieCircle"),m.selectAll("mySlices").data(D).enter().append("text").text(_=>(_.data.value/C*100).toFixed(0)+"%").attr("transform",_=>"translate("+T.centroid(_)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let O=[...E.entries()].map(([_,N])=>({label:_,value:N})),L=m.selectAll(".legend").data(O).enter().append("g").attr("class","legend").attr("transform",(_,N)=>{let M=u+h,P=M*O.length/2,B=12*u,F=N*M-P;return"translate("+B+","+F+")"});L.append("rect").attr("width",u).attr("height",u).style("fill",_=>R(_.label)).style("stroke",_=>R(_.label)),L.append("text").attr("x",u+h).attr("y",u-h).text(_=>i.getShowData()?`${_.label} [${_.value}]`:_.label);let S=Math.max(...L.selectAll("text").nodes().map(_=>_?.getBoundingClientRect().width??0)),A=d+l+u+h+S;p.attr("viewBox",`0 0 ${A} ${f}`),Sn(p,f,A,s.useMaxWidth)},"draw"),GTe={draw:ist}});var qTe={};vr(qTe,{diagram:()=>ast});var ast,UTe=I(()=>{"use strict";FTe();Sq();zTe();VTe();ast={parser:BTe,db:g7,renderer:GTe,styles:$Te}});var Eq,HTe,YTe=I(()=>{"use strict";Eq=(function(){var t=o(function(ue,z,se,oe){for(se=se||{},oe=ue.length;oe--;se[ue[oe]]=z);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],T=[1,19],E=[1,20],w=[1,21],k=[1,22],C=[1,24],D=[1,25],R=[1,26],O=[1,27],L=[1,28],S=[1,29],A=[1,32],_=[1,33],N=[1,34],M=[1,39],P=[1,40],B=[1,42],F=[1,44],G=[1,62],$=[1,61],V=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],K=[1,65],ee=[1,66],H=[1,67],he=[1,68],Z=[1,69],de=[1,70],re=[1,71],ne=[1,72],te=[1,73],Q=[1,74],le=[1,75],J=[1,76],ge=[4,5,6,7,8,9,10,11,12,13,14,15,18],ie=[1,90],Te=[1,91],j=[1,92],Ge=[1,99],ye=[1,93],$e=[1,96],Xe=[1,94],Ue=[1,95],Le=[1,97],Ie=[1,98],Me=[1,102],Ae=[10,55,56,57],ze=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],Y={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(z,se,oe,be,pe,me,De){var Ce=me.length-1;switch(pe){case 23:this.$=me[Ce];break;case 24:this.$=me[Ce-1]+""+me[Ce];break;case 26:this.$=me[Ce-1]+me[Ce];break;case 27:this.$=[me[Ce].trim()];break;case 28:me[Ce-2].push(me[Ce].trim()),this.$=me[Ce-2];break;case 29:this.$=me[Ce-4],be.addClass(me[Ce-2],me[Ce]);break;case 37:this.$=[];break;case 42:this.$=me[Ce].trim(),be.setDiagramTitle(this.$);break;case 43:this.$=me[Ce].trim(),be.setAccTitle(this.$);break;case 44:case 45:this.$=me[Ce].trim(),be.setAccDescription(this.$);break;case 46:be.addSection(me[Ce].substr(8)),this.$=me[Ce].substr(8);break;case 47:be.addPoint(me[Ce-3],"",me[Ce-1],me[Ce],[]);break;case 48:be.addPoint(me[Ce-4],me[Ce-3],me[Ce-1],me[Ce],[]);break;case 49:be.addPoint(me[Ce-4],"",me[Ce-2],me[Ce-1],me[Ce]);break;case 50:be.addPoint(me[Ce-5],me[Ce-4],me[Ce-2],me[Ce-1],me[Ce]);break;case 51:be.setXAxisLeftText(me[Ce-2]),be.setXAxisRightText(me[Ce]);break;case 52:me[Ce-1].text+=" \u27F6 ",be.setXAxisLeftText(me[Ce-1]);break;case 53:be.setXAxisLeftText(me[Ce]);break;case 54:be.setYAxisBottomText(me[Ce-2]),be.setYAxisTopText(me[Ce]);break;case 55:me[Ce-1].text+=" \u27F6 ",be.setYAxisBottomText(me[Ce-1]);break;case 56:be.setYAxisBottomText(me[Ce]);break;case 57:be.setQuadrant1Text(me[Ce]);break;case 58:be.setQuadrant2Text(me[Ce]);break;case 59:be.setQuadrant3Text(me[Ce]);break;case 60:be.setQuadrant4Text(me[Ce]);break;case 64:this.$={text:me[Ce],type:"text"};break;case 65:this.$={text:me[Ce-1].text+""+me[Ce],type:me[Ce-1].type};break;case 66:this.$={text:me[Ce],type:"text"};break;case 67:this.$={text:me[Ce],type:"markdown"};break;case 68:this.$=me[Ce];break;case 69:this.$=me[Ce-1]+""+me[Ce];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:E,41:w,42:k,48:C,50:D,51:R,52:O,53:L,54:S,60:A,61:_,63:N,64:M,65:P,66:B,67:F}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:E,41:w,42:k,48:C,50:D,51:R,52:O,53:L,54:S,60:A,61:_,63:N,64:M,65:P,66:B,67:F}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,44:[1,57],47:[1,58],58:60,59:59,63:N,64:M,65:P,66:B,67:F},t(V,[2,64]),t(V,[2,66]),t(V,[2,67]),t(V,[2,70]),t(V,[2,71]),t(V,[2,72]),t(V,[2,73]),t(V,[2,74]),t(V,[2,75]),t(V,[2,76]),t(V,[2,77]),t(V,[2,78]),t(V,[2,79]),t(V,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:K,5:ee,6:H,7:he,8:Z,9:de,10:re,11:ne,12:te,13:Q,14:le,15:J,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,49:[1,77],63:N,64:M,65:P,66:B,67:F}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,49:[1,78],63:N,64:M,65:P,66:B,67:F}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),{45:[1,79]},{44:[1,80]},t(V,[2,65]),t(V,[2,81]),t(V,[2,82]),t(V,[2,83]),{3:82,4:K,5:ee,6:H,7:he,8:Z,9:de,10:re,11:ne,12:te,13:Q,14:le,15:J,18:[1,81]},t(ge,[2,23]),t(ge,[2,1]),t(ge,[2,2]),t(ge,[2,3]),t(ge,[2,4]),t(ge,[2,5]),t(ge,[2,6]),t(ge,[2,7]),t(ge,[2,8]),t(ge,[2,9]),t(ge,[2,10]),t(ge,[2,11]),t(ge,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:A,61:_,63:N,64:M,65:P,66:B,67:F}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:A,61:_,63:N,64:M,65:P,66:B,67:F}),{46:[1,85]},{45:[1,86]},{4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,16:89,17:Xe,18:Ue,19:Le,20:Ie,22:88,23:87},t(ge,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,47],{22:88,16:89,23:100,4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,17:Xe,18:Ue,19:Le,20:Ie}),{46:[1,101]},t(u,[2,29],{10:Me}),t(Ae,[2,27],{16:103,4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,17:Xe,18:Ue,19:Le,20:Ie}),t(ze,[2,25]),t(ze,[2,13]),t(ze,[2,14]),t(ze,[2,15]),t(ze,[2,16]),t(ze,[2,17]),t(ze,[2,18]),t(ze,[2,19]),t(ze,[2,20]),t(ze,[2,21]),t(ze,[2,22]),t(u,[2,49],{10:Me}),t(u,[2,48],{22:88,16:89,23:104,4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,17:Xe,18:Ue,19:Le,20:Ie}),{4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,16:89,17:Xe,18:Ue,19:Le,20:Ie,22:105},t(ze,[2,26]),t(u,[2,50],{10:Me}),t(Ae,[2,28],{16:103,4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,17:Xe,18:Ue,19:Le,20:Ie})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(z,se){if(se.recoverable)this.trace(z);else{var oe=new Error(z);throw oe.hash=se,oe}},"parseError"),parse:o(function(z){var se=this,oe=[0],be=[],pe=[null],me=[],De=this.table,Ce="",Fe=0,Ye=0,xt=0,je=2,Pe=1,rt=me.slice.call(arguments,1),We=Object.create(this.lexer),ut={yy:{}};for(var Ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ut)&&(ut.yy[Ut]=this.yy[Ut]);We.setInput(z,ut.yy),ut.yy.lexer=We,ut.yy.parser=this,typeof We.yylloc>"u"&&(We.yylloc={});var Tt=We.yylloc;me.push(Tt);var Mt=We.options&&We.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function mt(_e){oe.length=oe.length-2*_e,pe.length=pe.length-_e,me.length=me.length-_e}o(mt,"popStack");function at(){var _e;return _e=be.pop()||We.lex()||Pe,typeof _e!="number"&&(_e instanceof Array&&(be=_e,_e=be.pop()),_e=se.symbols_[_e]||_e),_e}o(at,"lex");for(var wt,St,bt,pt,Zr,Lt,Dn={},Hr,mr,hr,Br;;){if(bt=oe[oe.length-1],this.defaultActions[bt]?pt=this.defaultActions[bt]:((wt===null||typeof wt>"u")&&(wt=at()),pt=De[bt]&&De[bt][wt]),typeof pt>"u"||!pt.length||!pt[0]){var Dt="";Br=[];for(Hr in De[bt])this.terminals_[Hr]&&Hr>je&&Br.push("'"+this.terminals_[Hr]+"'");We.showPosition?Dt="Parse error on line "+(Fe+1)+`: -`+We.showPosition()+` -Expecting `+Br.join(", ")+", got '"+(this.terminals_[wt]||wt)+"'":Dt="Parse error on line "+(Fe+1)+": Unexpected "+(wt==Pe?"end of input":"'"+(this.terminals_[wt]||wt)+"'"),this.parseError(Dt,{text:We.match,token:this.terminals_[wt]||wt,line:We.yylineno,loc:Tt,expected:Br})}if(pt[0]instanceof Array&&pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+bt+", token: "+wt);switch(pt[0]){case 1:oe.push(wt),pe.push(We.yytext),me.push(We.yylloc),oe.push(pt[1]),wt=null,St?(wt=St,St=null):(Ye=We.yyleng,Ce=We.yytext,Fe=We.yylineno,Tt=We.yylloc,xt>0&&xt--);break;case 2:if(mr=this.productions_[pt[1]][1],Dn.$=pe[pe.length-mr],Dn._$={first_line:me[me.length-(mr||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(mr||1)].first_column,last_column:me[me.length-1].last_column},Mt&&(Dn._$.range=[me[me.length-(mr||1)].range[0],me[me.length-1].range[1]]),Lt=this.performAction.apply(Dn,[Ce,Ye,Fe,ut.yy,pt[1],pe,me].concat(rt)),typeof Lt<"u")return Lt;mr&&(oe=oe.slice(0,-1*mr*2),pe=pe.slice(0,-1*mr),me=me.slice(0,-1*mr)),oe.push(this.productions_[pt[1]][0]),pe.push(Dn.$),me.push(Dn._$),hr=De[oe[oe.length-2]][oe[oe.length-1]],oe.push(hr);break;case 3:return!0}}return!0},"parse")},ce=(function(){var ue={EOF:1,parseError:o(function(se,oe){if(this.yy.parser)this.yy.parser.parseError(se,oe);else throw new Error(se)},"parseError"),setInput:o(function(z,se){return this.yy=se||this.yy||{},this._input=z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var z=this._input[0];this.yytext+=z,this.yyleng++,this.offset++,this.match+=z,this.matched+=z;var se=z.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),z},"input"),unput:o(function(z){var se=z.length,oe=z.split(/(?:\r\n?|\n)/g);this._input=z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var be=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 pe=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===be.length?this.yylloc.first_column:0)+be[be.length-oe.length].length-oe[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[pe[0],pe[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(z){this.unput(this.match.slice(z))},"less"),pastInput:o(function(){var z=this.matched.substr(0,this.matched.length-this.match.length);return(z.length>20?"...":"")+z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var z=this.match;return z.length<20&&(z+=this._input.substr(0,20-z.length)),(z.substr(0,20)+(z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var z=this.pastInput(),se=new Array(z.length+1).join("-");return z+this.upcomingInput()+` -`+se+"^"},"showPosition"),test_match:o(function(z,se){var oe,be,pe;if(this.options.backtrack_lexer&&(pe={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&&(pe.yylloc.range=this.yylloc.range.slice(0))),be=z[0].match(/(?:\r\n?|\n).*/g),be&&(this.yylineno+=be.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:be?be[be.length-1].length-be[be.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+z[0].length},this.yytext+=z[0],this.match+=z[0],this.matches=z,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(z[0].length),this.matched+=z[0],oe=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),oe)return oe;if(this._backtrack){for(var me in pe)this[me]=pe[me];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var z,se,oe,be;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),me=0;mese[0].length)){if(se=oe,be=me,this.options.backtrack_lexer){if(z=this.test_match(oe,pe[me]),z!==!1)return z;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(z=this.test_match(se,pe[be]),z!==!1?z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var se=this.next();return se||this.lex()},"lex"),begin:o(function(se){this.conditionStack.push(se)},"begin"),popState:o(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:o(function(se){this.begin(se)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(se,oe,be,pe){var me=pe;switch(be){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return ue})();Y.lexer=ce;function U(){this.yy={}}return o(U,"Parser"),U.prototype=Y,Y.Parser=U,new U})();Eq.parser=Eq;HTe=Eq});var qs,y7,jTe=I(()=>{"use strict";kr();Ka();gt();a2();qs=uf(),y7=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:gr.quadrantChart?.chartWidth||500,chartWidth:gr.quadrantChart?.chartHeight||500,titlePadding:gr.quadrantChart?.titlePadding||10,titleFontSize:gr.quadrantChart?.titleFontSize||20,quadrantPadding:gr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:gr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:gr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:gr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:gr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:gr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:gr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:gr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:gr.quadrantChart?.pointLabelFontSize||12,pointRadius:gr.quadrantChart?.pointRadius||5,xAxisPosition:gr.quadrantChart?.xAxisPosition||"top",yAxisPosition:gr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:gr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:gr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:qs.quadrant1Fill,quadrant2Fill:qs.quadrant2Fill,quadrant3Fill:qs.quadrant3Fill,quadrant4Fill:qs.quadrant4Fill,quadrant1TextFill:qs.quadrant1TextFill,quadrant2TextFill:qs.quadrant2TextFill,quadrant3TextFill:qs.quadrant3TextFill,quadrant4TextFill:qs.quadrant4TextFill,quadrantPointFill:qs.quadrantPointFill,quadrantPointTextFill:qs.quadrantPointTextFill,quadrantXAxisTextFill:qs.quadrantXAxisTextFill,quadrantYAxisTextFill:qs.quadrantYAxisTextFill,quadrantTitleFill:qs.quadrantTitleFill,quadrantInternalBorderStrokeFill:qs.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:qs.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,X.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){X.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){X.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,l=ec().domain([0,1]).range([i,s+i]),u=ec().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+i,x2:s+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function Cq(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function XTe(t){return!/^\d+$/.test(t)}function KTe(t){return!/^\d+px$/.test(t)}var qm,QTe=I(()=>{"use strict";qm=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};o(Cq,"validateHexCode");o(XTe,"validateNumber");o(KTe,"validateSizeInPixels")});function ef(t){return fr(t.trim(),lst)}function cst(t){Ya.setData({quadrant1Text:ef(t.text)})}function ust(t){Ya.setData({quadrant2Text:ef(t.text)})}function hst(t){Ya.setData({quadrant3Text:ef(t.text)})}function fst(t){Ya.setData({quadrant4Text:ef(t.text)})}function dst(t){Ya.setData({xAxisLeftText:ef(t.text)})}function pst(t){Ya.setData({xAxisRightText:ef(t.text)})}function mst(t){Ya.setData({yAxisTopText:ef(t.text)})}function gst(t){Ya.setData({yAxisBottomText:ef(t.text)})}function Aq(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(XTe(i))throw new qm(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(Cq(i))throw new qm(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(Cq(i))throw new qm(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(KTe(i))throw new qm(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function yst(t,e,r,n,i){let a=Aq(i);Ya.addPoints([{x:r,y:n,text:ef(t.text),className:e,...a}])}function vst(t,e){Ya.addClass(t,Aq(e))}function xst(t){Ya.setConfig({chartWidth:t})}function bst(t){Ya.setConfig({chartHeight:t})}function Tst(){let t=xe(),{themeVariables:e,quadrantChart:r}=t;return r&&Ya.setConfig(r),Ya.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),Ya.setData({titleText:Wr()}),Ya.build()}var lst,Ya,wst,ZTe,JTe=I(()=>{"use strict";Qt();wr();ki();jTe();QTe();lst=xe();o(ef,"textSanitizer");Ya=new y7;o(cst,"setQuadrant1Text");o(ust,"setQuadrant2Text");o(hst,"setQuadrant3Text");o(fst,"setQuadrant4Text");o(dst,"setXAxisLeftText");o(pst,"setXAxisRightText");o(mst,"setYAxisTopText");o(gst,"setYAxisBottomText");o(Aq,"parseStyles");o(yst,"addPoint");o(vst,"addClass");o(xst,"setWidth");o(bst,"setHeight");o(Tst,"getQuadrantData");wst=o(function(){Ya.clear(),Mr()},"clear"),ZTe={setWidth:xst,setHeight:bst,setQuadrant1Text:cst,setQuadrant2Text:ust,setQuadrant3Text:hst,setQuadrant4Text:fst,setXAxisLeftText:dst,setXAxisRightText:pst,setYAxisTopText:mst,setYAxisBottomText:gst,parseStyles:Aq,addPoint:yst,addClass:vst,getQuadrantData:Tst,clear:wst,setAccTitle:zr,getAccTitle:Vr,setDiagramTitle:Xr,getDiagramTitle:Wr,getAccDescription:Ur,setAccDescription:qr}});var kst,e3e,t3e=I(()=>{"use strict";kr();Qt();gt();Fi();kst=o((t,e,r,n)=>{function i(D){return D==="top"?"hanging":"middle"}o(i,"getDominantBaseLine");function a(D){return D==="left"?"start":"middle"}o(a,"getTextAnchor");function s(D){return`translate(${D.x}, ${D.y}) rotate(${D.rotation||0})`}o(s,"getTransformation");let l=xe();X.debug(`Rendering quadrant chart -`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=He("#i"+e));let d=(u==="sandbox"?He(h.nodes()[0].contentDocument.body):He("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;Sn(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),T=p.append("g").attr("class","labels"),E=p.append("g").attr("class","title");y.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",D=>D.x1).attr("y1",D=>D.y1).attr("x2",D=>D.x2).attr("y2",D=>D.y2).style("stroke",D=>D.strokeFill).style("stroke-width",D=>D.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",D=>D.x).attr("y",D=>D.y).attr("width",D=>D.width).attr("height",D=>D.height).attr("fill",D=>D.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",D=>D.text.fill).attr("font-size",D=>D.text.fontSize).attr("dominant-baseline",D=>i(D.text.horizontalPos)).attr("text-anchor",D=>a(D.text.verticalPos)).attr("transform",D=>s(D.text)).text(D=>D.text.text),T.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(D=>D.text).attr("fill",D=>D.fill).attr("font-size",D=>D.fontSize).attr("dominant-baseline",D=>i(D.horizontalPos)).attr("text-anchor",D=>a(D.verticalPos)).attr("transform",D=>s(D));let C=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");C.append("circle").attr("cx",D=>D.x).attr("cy",D=>D.y).attr("r",D=>D.radius).attr("fill",D=>D.fill).attr("stroke",D=>D.strokeColor).attr("stroke-width",D=>D.strokeWidth),C.append("text").attr("x",0).attr("y",0).text(D=>D.text.text).attr("fill",D=>D.text.fill).attr("font-size",D=>D.text.fontSize).attr("dominant-baseline",D=>i(D.text.horizontalPos)).attr("text-anchor",D=>a(D.text.verticalPos)).attr("transform",D=>s(D.text))},"draw"),e3e={draw:kst}});var r3e={};vr(r3e,{diagram:()=>Sst});var Sst,n3e=I(()=>{"use strict";YTe();JTe();t3e();Sst={parser:HTe,db:ZTe,renderer:e3e,styles:o(()=>"","styles")}});var _q,s3e,o3e=I(()=>{"use strict";_q=(function(){var t=o(function(N,M,P,B){for(P=P||{},B=N.length;B--;P[N[B]]=M);return P},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],E=[1,43],w=[1,42],k=[1,47],C=[1,50],D=[1,10,12,14,16,18,19,21,23,34,35,36],R=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],L=[1,64],S={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(M,P,B,F,G,$,V){var K=$.length-1;switch(G){case 5:F.setOrientation($[K]);break;case 9:F.setDiagramTitle($[K].text.trim());break;case 12:F.setLineData({text:"",type:"text"},$[K]);break;case 13:F.setLineData($[K-1],$[K]);break;case 14:F.setBarData({text:"",type:"text"},$[K]);break;case 15:F.setBarData($[K-1],$[K]);break;case 16:this.$=$[K].trim(),F.setAccTitle(this.$);break;case 17:case 18:this.$=$[K].trim(),F.setAccDescription(this.$);break;case 19:this.$=$[K-1];break;case 20:this.$=[Number($[K-2]),...$[K]];break;case 21:this.$=[Number($[K])];break;case 22:F.setXAxisTitle($[K]);break;case 23:F.setXAxisTitle($[K-1]);break;case 24:F.setXAxisTitle({type:"text",text:""});break;case 25:F.setXAxisBand($[K]);break;case 26:F.setXAxisRangeData(Number($[K-2]),Number($[K]));break;case 27:this.$=$[K-1];break;case 28:this.$=[$[K-2],...$[K]];break;case 29:this.$=[$[K]];break;case 30:F.setYAxisTitle($[K]);break;case 31:F.setYAxisTitle($[K-1]);break;case 32:F.setYAxisTitle({type:"text",text:""});break;case 33:F.setYAxisRangeData(Number($[K-2]),Number($[K]));break;case 37:this.$={text:$[K],type:"text"};break;case 38:this.$={text:$[K],type:"text"};break;case 39:this.$={text:$[K],type:"markdown"};break;case 40:this.$=$[K];break;case 41:this.$=$[K-1]+""+$[K];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:39,13:38,24:E,27:w,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:45,15:44,27:k,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:49,17:48,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:52,17:51,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{20:[1,53]},{22:[1,54]},t(D,[2,18]),{1:[2,2]},t(D,[2,8]),t(D,[2,9]),t(R,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T}),t(R,[2,38]),t(R,[2,39]),t(O,[2,40]),t(O,[2,42]),t(O,[2,43]),t(O,[2,44]),t(O,[2,45]),t(O,[2,46]),t(O,[2,47]),t(O,[2,48]),t(O,[2,49]),t(O,[2,50]),t(O,[2,51]),t(D,[2,10]),t(D,[2,22],{30:41,29:56,24:E,27:w}),t(D,[2,24]),t(D,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(D,[2,11]),t(D,[2,30],{33:60,27:k}),t(D,[2,32]),{31:[1,61]},t(D,[2,12]),{17:62,24:C},{25:63,27:L},t(D,[2,14]),{17:65,24:C},t(D,[2,16]),t(D,[2,17]),t(O,[2,41]),t(D,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(D,[2,31]),{27:[1,69]},t(D,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(D,[2,15]),t(D,[2,26]),t(D,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(D,[2,33]),t(D,[2,19]),{25:73,27:L},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(M,P){if(P.recoverable)this.trace(M);else{var B=new Error(M);throw B.hash=P,B}},"parseError"),parse:o(function(M){var P=this,B=[0],F=[],G=[null],$=[],V=this.table,K="",ee=0,H=0,he=0,Z=2,de=1,re=$.slice.call(arguments,1),ne=Object.create(this.lexer),te={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&(te.yy[Q]=this.yy[Q]);ne.setInput(M,te.yy),te.yy.lexer=ne,te.yy.parser=this,typeof ne.yylloc>"u"&&(ne.yylloc={});var le=ne.yylloc;$.push(le);var J=ne.options&&ne.options.ranges;typeof te.yy.parseError=="function"?this.parseError=te.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ge(Y){B.length=B.length-2*Y,G.length=G.length-Y,$.length=$.length-Y}o(ge,"popStack");function ie(){var Y;return Y=F.pop()||ne.lex()||de,typeof Y!="number"&&(Y instanceof Array&&(F=Y,Y=F.pop()),Y=P.symbols_[Y]||Y),Y}o(ie,"lex");for(var Te,j,Ge,ye,$e,Xe,Ue={},Le,Ie,Me,Ae;;){if(Ge=B[B.length-1],this.defaultActions[Ge]?ye=this.defaultActions[Ge]:((Te===null||typeof Te>"u")&&(Te=ie()),ye=V[Ge]&&V[Ge][Te]),typeof ye>"u"||!ye.length||!ye[0]){var ze="";Ae=[];for(Le in V[Ge])this.terminals_[Le]&&Le>Z&&Ae.push("'"+this.terminals_[Le]+"'");ne.showPosition?ze="Parse error on line "+(ee+1)+`: -`+ne.showPosition()+` -Expecting `+Ae.join(", ")+", got '"+(this.terminals_[Te]||Te)+"'":ze="Parse error on line "+(ee+1)+": Unexpected "+(Te==de?"end of input":"'"+(this.terminals_[Te]||Te)+"'"),this.parseError(ze,{text:ne.match,token:this.terminals_[Te]||Te,line:ne.yylineno,loc:le,expected:Ae})}if(ye[0]instanceof Array&&ye.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ge+", token: "+Te);switch(ye[0]){case 1:B.push(Te),G.push(ne.yytext),$.push(ne.yylloc),B.push(ye[1]),Te=null,j?(Te=j,j=null):(H=ne.yyleng,K=ne.yytext,ee=ne.yylineno,le=ne.yylloc,he>0&&he--);break;case 2:if(Ie=this.productions_[ye[1]][1],Ue.$=G[G.length-Ie],Ue._$={first_line:$[$.length-(Ie||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(Ie||1)].first_column,last_column:$[$.length-1].last_column},J&&(Ue._$.range=[$[$.length-(Ie||1)].range[0],$[$.length-1].range[1]]),Xe=this.performAction.apply(Ue,[K,H,ee,te.yy,ye[1],G,$].concat(re)),typeof Xe<"u")return Xe;Ie&&(B=B.slice(0,-1*Ie*2),G=G.slice(0,-1*Ie),$=$.slice(0,-1*Ie)),B.push(this.productions_[ye[1]][0]),G.push(Ue.$),$.push(Ue._$),Me=V[B[B.length-2]][B[B.length-1]],B.push(Me);break;case 3:return!0}}return!0},"parse")},A=(function(){var N={EOF:1,parseError:o(function(P,B){if(this.yy.parser)this.yy.parser.parseError(P,B);else throw new Error(P)},"parseError"),setInput:o(function(M,P){return this.yy=P||this.yy||{},this._input=M,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var M=this._input[0];this.yytext+=M,this.yyleng++,this.offset++,this.match+=M,this.matched+=M;var P=M.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),M},"input"),unput:o(function(M){var P=M.length,B=M.split(/(?:\r\n?|\n)/g);this._input=M+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;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),B.length-1&&(this.yylineno-=B.length-1);var G=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:B?(B.length===F.length?this.yylloc.first_column:0)+F[F.length-B.length].length-B[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[G[0],G[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(M){this.unput(this.match.slice(M))},"less"),pastInput:o(function(){var M=this.matched.substr(0,this.matched.length-this.match.length);return(M.length>20?"...":"")+M.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var M=this.match;return M.length<20&&(M+=this._input.substr(0,20-M.length)),(M.substr(0,20)+(M.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var M=this.pastInput(),P=new Array(M.length+1).join("-");return M+this.upcomingInput()+` -`+P+"^"},"showPosition"),test_match:o(function(M,P){var B,F,G;if(this.options.backtrack_lexer&&(G={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&&(G.yylloc.range=this.yylloc.range.slice(0))),F=M[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+M[0].length},this.yytext+=M[0],this.match+=M[0],this.matches=M,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(M[0].length),this.matched+=M[0],B=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),B)return B;if(this._backtrack){for(var $ in G)this[$]=G[$];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var M,P,B,F;this._more||(this.yytext="",this.match="");for(var G=this._currentRules(),$=0;$P[0].length)){if(P=B,F=$,this.options.backtrack_lexer){if(M=this.test_match(B,G[$]),M!==!1)return M;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(M=this.test_match(P,G[F]),M!==!1?M:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var P=this.next();return P||this.lex()},"lex"),begin:o(function(P){this.conditionStack.push(P)},"begin"),popState:o(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:o(function(P){this.begin(P)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(P,B,F,G){var $=G;switch(F){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 31;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 27;case 25:return this.popState(),26;break;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return N})();S.lexer=A;function _(){this.yy={}}return o(_,"Parser"),_.prototype=S,S.Parser=_,new _})();_q.parser=_q;s3e=_q});function Dq(t){return t.type==="bar"}function v7(t){return t.type==="band"}function Cv(t){return t.type==="linear"}var x7=I(()=>{"use strict";o(Dq,"isBarPlot");o(v7,"isBandAxisData");o(Cv,"isLinearAxisData")});var Av,Rq=I(()=>{"use strict";yl();Av=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=Nne(i,1,a),l=s?s.width:a.length*r,u=s?s.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var _v,Lq=I(()=>{"use strict";_v=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var b7,l3e=I(()=>{"use strict";kr();gt();Lq();b7=class extends _v{static{o(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=_g().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=_g().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),X.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var T7,c3e=I(()=>{"use strict";kr();Lq();T7=class extends _v{static{o(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=ec().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=ec().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function Nq(t,e,r,n){let i=new Av(n);return v7(t)?new b7(e,r,t.categories,t.title,i):new T7(e,r,[t.min,t.max],t.title,i)}var u3e=I(()=>{"use strict";x7();Rq();l3e();c3e();o(Nq,"getAxis")});function h3e(t,e,r,n){let i=new Av(n);return new Mq(i,t,e,r)}var Mq,f3e=I(()=>{"use strict";Rq();Mq=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};o(h3e,"getChartTitleComponent")});var w7,d3e=I(()=>{"use strict";kr();w7=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=ac().y(n=>n[0]).x(n=>n[1])(e):r=ac().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var k7,p3e=I(()=>{"use strict";k7=class{constructor(e,r,n,i,a,s){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=s}static{o(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function m3e(t,e,r){return new Iq(t,e,r)}var Iq,g3e=I(()=>{"use strict";d3e();p3e();Iq=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new w7(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new k7(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};o(m3e,"getPlotComponent")});var S7,y3e=I(()=>{"use strict";u3e();f3e();g3e();x7();S7=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:h3e(e,r,n,i),plot:m3e(e,r,n),xAxis:Nq(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:Nq(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{o(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>Dq(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>Dq(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var E7,v3e=I(()=>{"use strict";y3e();E7=class{static{o(this,"XYChartBuilder")}static build(e,r,n,i){return new S7(e,r,n,i).getDrawableElement()}}});function b3e(){let t=uf(),e=tr();return Qn(t.xyChart,e.themeVariables.xyChart)}function T3e(){let t=tr();return Qn(gr.xyChart,t.xyChart)}function w3e(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Bq(t){let e=tr();return fr(t.trim(),e)}function _st(t){x3e=t}function Dst(t){t==="horizontal"?t3.chartOrientation="horizontal":t3.chartOrientation="vertical"}function Rst(t){kn.xAxis.title=Bq(t.text)}function k3e(t,e){kn.xAxis={type:"linear",title:kn.xAxis.title,min:t,max:e},C7=!0}function Lst(t){kn.xAxis={type:"band",title:kn.xAxis.title,categories:t.map(e=>Bq(e.text))},C7=!0}function Nst(t){kn.yAxis.title=Bq(t.text)}function Mst(t,e){kn.yAxis={type:"linear",title:kn.yAxis.title,min:t,max:e},Pq=!0}function Ist(t){let e=Math.min(...t),r=Math.max(...t),n=Cv(kn.yAxis)?kn.yAxis.min:1/0,i=Cv(kn.yAxis)?kn.yAxis.max:-1/0;kn.yAxis={type:"linear",title:kn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function S3e(t){let e=[];if(t.length===0)return e;if(!C7){let r=Cv(kn.xAxis)?kn.xAxis.min:1/0,n=Cv(kn.xAxis)?kn.xAxis.max:-1/0;k3e(Math.min(r,1),Math.max(n,t.length))}if(Pq||Ist(t),v7(kn.xAxis)&&(e=kn.xAxis.categories.map((r,n)=>[r,t[n]])),Cv(kn.xAxis)){let r=kn.xAxis.min,n=kn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function E3e(t){return Oq[t===0?0:t%Oq.length]}function Ost(t,e){let r=S3e(e);kn.plots.push({type:"line",strokeFill:E3e(e3),strokeWidth:2,data:r}),e3++}function Pst(t,e){let r=S3e(e);kn.plots.push({type:"bar",fill:E3e(e3),data:r}),e3++}function Bst(){if(kn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return kn.title=Wr(),E7.build(t3,kn,r3,x3e)}function Fst(){return r3}function $st(){return t3}function zst(){return kn}var e3,x3e,t3,r3,kn,Oq,C7,Pq,Gst,C3e,A3e=I(()=>{"use strict";ti();Ka();a2();sr();wr();ki();v3e();x7();e3=0,t3=T3e(),r3=b3e(),kn=w3e(),Oq=r3.plotColorPalette.split(",").map(t=>t.trim()),C7=!1,Pq=!1;o(b3e,"getChartDefaultThemeConfig");o(T3e,"getChartDefaultConfig");o(w3e,"getChartDefaultData");o(Bq,"textSanitizer");o(_st,"setTmpSVGG");o(Dst,"setOrientation");o(Rst,"setXAxisTitle");o(k3e,"setXAxisRangeData");o(Lst,"setXAxisBand");o(Nst,"setYAxisTitle");o(Mst,"setYAxisRangeData");o(Ist,"setYAxisRangeFromPlotData");o(S3e,"transformDataWithoutCategory");o(E3e,"getPlotColorFromPalette");o(Ost,"setLineData");o(Pst,"setBarData");o(Bst,"getDrawableElem");o(Fst,"getChartThemeConfig");o($st,"getChartConfig");o(zst,"getXYChartData");Gst=o(function(){Mr(),e3=0,t3=T3e(),kn=w3e(),r3=b3e(),Oq=r3.plotColorPalette.split(",").map(t=>t.trim()),C7=!1,Pq=!1},"clear"),C3e={getDrawableElem:Bst,clear:Gst,setAccTitle:zr,getAccTitle:Vr,setDiagramTitle:Xr,getDiagramTitle:Wr,getAccDescription:Ur,setAccDescription:qr,setOrientation:Dst,setXAxisTitle:Rst,setXAxisRangeData:k3e,setXAxisBand:Lst,setYAxisTitle:Nst,setYAxisRangeData:Mst,setLineData:Ost,setBarData:Pst,setTmpSVGG:_st,getChartThemeConfig:Fst,getChartConfig:$st,getXYChartData:zst}});var Vst,_3e,D3e=I(()=>{"use strict";gt();Uu();Fi();Vst=o((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),l=i.getXYChartData().plots[0].data.map(T=>T[1]);function u(T){return T==="top"?"text-before-edge":"middle"}o(u,"getDominantBaseLine");function h(T){return T==="left"?"start":T==="right"?"end":"middle"}o(h,"getTextAnchor");function f(T){return`translate(${T.x}, ${T.y}) rotate(${T.rotation||0})`}o(f,"getTextTransformation"),X.debug(`Rendering xychart chart -`+t);let d=Ca(e),p=d.append("g").attr("class","main"),m=p.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Sn(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),m.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));let g=i.getDrawableElem(),y={};function v(T){let E=p,w="";for(let[k]of T.entries()){let C=p;k>0&&y[w]&&(C=y[w]),w+=T[k],E=y[w],E||(E=y[w]=C.append("g").attr("class",T[k]))}return E}o(v,"getGroup");for(let T of g){if(T.data.length===0)continue;let E=v(T.groupTexts);switch(T.type){case"rect":if(E.selectAll("rect").data(T.data).enter().append("rect").attr("x",w=>w.x).attr("y",w=>w.y).attr("width",w=>w.width).attr("height",w=>w.height).attr("fill",w=>w.fill).attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth),s.showDataLabel)if(s.chartOrientation==="horizontal"){let C=function(O,L){let{data:S,label:A}=O;return L*A.length*.7<=S.width-10};var x=C;o(C,"fitsHorizontally");let w=.7,k=T.data.map((O,L)=>({data:O,label:l[L].toString()})).filter(O=>O.data.width>0&&O.data.height>0),D=k.map(O=>{let{data:L}=O,S=L.height*.7;for(;!C(O,S)&&S>0;)S-=1;return S}),R=Math.floor(Math.min(...D));E.selectAll("text").data(k).enter().append("text").attr("x",O=>O.data.x+O.data.width-10).attr("y",O=>O.data.y+O.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${R}px`).text(O=>O.label)}else{let C=function(O,L,S){let{data:A,label:_}=O,M=L*_.length*.7,P=A.x+A.width/2,B=P-M/2,F=P+M/2,G=B>=A.x&&F<=A.x+A.width,$=A.y+S+L<=A.y+A.height;return G&&$};var b=C;o(C,"fitsInBar");let w=10,k=T.data.map((O,L)=>({data:O,label:l[L].toString()})).filter(O=>O.data.width>0&&O.data.height>0),D=k.map(O=>{let{data:L,label:S}=O,A=L.width/(S.length*.7);for(;!C(O,A,10)&&A>0;)A-=1;return A}),R=Math.floor(Math.min(...D));E.selectAll("text").data(k).enter().append("text").attr("x",O=>O.data.x+O.data.width/2).attr("y",O=>O.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${R}px`).text(O=>O.label)}break;case"text":E.selectAll("text").data(T.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",w=>w.fill).attr("font-size",w=>w.fontSize).attr("dominant-baseline",w=>u(w.verticalPos)).attr("text-anchor",w=>h(w.horizontalPos)).attr("transform",w=>f(w)).text(w=>w.text);break;case"path":E.selectAll("path").data(T.data).enter().append("path").attr("d",w=>w.path).attr("fill",w=>w.fill?w.fill:"none").attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth);break}}},"draw"),_3e={draw:Vst}});var R3e={};vr(R3e,{diagram:()=>qst});var qst,L3e=I(()=>{"use strict";o3e();A3e();D3e();qst={parser:s3e,db:C3e,renderer:_3e}});var Fq,I3e,O3e=I(()=>{"use strict";Fq=(function(){var t=o(function(Y,ce,U,ue){for(U=U||{},ue=Y.length;ue--;U[Y[ue]]=ce);return U},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],l=[2,7],u=[1,26],h=[1,27],f=[1,28],d=[1,29],p=[1,33],m=[1,34],g=[1,35],y=[1,36],v=[1,37],x=[1,38],b=[1,24],T=[1,31],E=[1,32],w=[1,30],k=[1,39],C=[1,40],D=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],R=[1,61],O=[89,90],L=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],S=[27,29],A=[1,70],_=[1,71],N=[1,72],M=[1,73],P=[1,74],B=[1,75],F=[1,76],G=[1,83],$=[1,80],V=[1,84],K=[1,85],ee=[1,86],H=[1,87],he=[1,88],Z=[1,89],de=[1,90],re=[1,91],ne=[1,92],te=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Q=[63,64],le=[1,101],J=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],ge=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ie=[1,110],Te=[1,106],j=[1,107],Ge=[1,108],ye=[1,109],$e=[1,111],Xe=[1,116],Ue=[1,117],Le=[1,114],Ie=[1,115],Me={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:o(function(ce,U,ue,z,se,oe,be){var pe=oe.length-1;switch(se){case 4:this.$=oe[pe].trim(),z.setAccTitle(this.$);break;case 5:case 6:this.$=oe[pe].trim(),z.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:z.setDirection("TB");break;case 18:z.setDirection("BT");break;case 19:z.setDirection("RL");break;case 20:z.setDirection("LR");break;case 21:z.addRequirement(oe[pe-3],oe[pe-4]);break;case 22:z.addRequirement(oe[pe-5],oe[pe-6]),z.setClass([oe[pe-5]],oe[pe-3]);break;case 23:z.setNewReqId(oe[pe-2]);break;case 24:z.setNewReqText(oe[pe-2]);break;case 25:z.setNewReqRisk(oe[pe-2]);break;case 26:z.setNewReqVerifyMethod(oe[pe-2]);break;case 29:this.$=z.RequirementType.REQUIREMENT;break;case 30:this.$=z.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=z.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=z.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=z.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=z.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=z.RiskLevel.LOW_RISK;break;case 36:this.$=z.RiskLevel.MED_RISK;break;case 37:this.$=z.RiskLevel.HIGH_RISK;break;case 38:this.$=z.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=z.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=z.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=z.VerifyType.VERIFY_TEST;break;case 42:z.addElement(oe[pe-3]);break;case 43:z.addElement(oe[pe-5]),z.setClass([oe[pe-5]],oe[pe-3]);break;case 44:z.setNewElementType(oe[pe-2]);break;case 45:z.setNewElementDocRef(oe[pe-2]);break;case 48:z.addRelationship(oe[pe-2],oe[pe],oe[pe-4]);break;case 49:z.addRelationship(oe[pe-2],oe[pe-4],oe[pe]);break;case 50:this.$=z.Relationships.CONTAINS;break;case 51:this.$=z.Relationships.COPIES;break;case 52:this.$=z.Relationships.DERIVES;break;case 53:this.$=z.Relationships.SATISFIES;break;case 54:this.$=z.Relationships.VERIFIES;break;case 55:this.$=z.Relationships.REFINES;break;case 56:this.$=z.Relationships.TRACES;break;case 57:this.$=oe[pe-2],z.defineClass(oe[pe-1],oe[pe]);break;case 58:z.setClass(oe[pe-1],oe[pe]);break;case 59:z.setClass([oe[pe-2]],oe[pe]);break;case 60:case 62:this.$=[oe[pe]];break;case 61:case 63:this.$=oe[pe-2].concat([oe[pe]]);break;case 64:this.$=oe[pe-2],z.setCssStyle(oe[pe-1],oe[pe]);break;case 65:this.$=[oe[pe]];break;case 66:oe[pe-2].push(oe[pe]),this.$=oe[pe-2];break;case 68:this.$=oe[pe-1]+oe[pe];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:43,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:44,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:45,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:46,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:47,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:48,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:49,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:50,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(D,[2,17]),t(D,[2,18]),t(D,[2,19]),t(D,[2,20]),{30:60,33:62,75:R,89:k,90:C},{30:63,33:62,75:R,89:k,90:C},{30:64,33:62,75:R,89:k,90:C},t(O,[2,29]),t(O,[2,30]),t(O,[2,31]),t(O,[2,32]),t(O,[2,33]),t(O,[2,34]),t(L,[2,81]),t(L,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(S,[2,79]),t(S,[2,80]),{27:[1,67],29:[1,68]},t(S,[2,85]),t(S,[2,86]),{62:69,65:A,66:_,67:N,68:M,69:P,70:B,71:F},{62:77,65:A,66:_,67:N,68:M,69:P,70:B,71:F},{30:78,33:62,75:R,89:k,90:C},{73:79,75:G,76:$,78:81,79:82,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne},t(te,[2,60]),t(te,[2,62]),{73:93,75:G,76:$,78:81,79:82,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne},{30:94,33:62,75:R,76:$,89:k,90:C},{5:[1,95]},{30:96,33:62,75:R,89:k,90:C},{5:[1,97]},{30:98,33:62,75:R,89:k,90:C},{63:[1,99]},t(Q,[2,50]),t(Q,[2,51]),t(Q,[2,52]),t(Q,[2,53]),t(Q,[2,54]),t(Q,[2,55]),t(Q,[2,56]),{64:[1,100]},t(D,[2,59],{76:$}),t(D,[2,64],{76:le}),{33:103,75:[1,102],89:k,90:C},t(J,[2,65],{79:104,75:G,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne}),t(ge,[2,67]),t(ge,[2,69]),t(ge,[2,70]),t(ge,[2,71]),t(ge,[2,72]),t(ge,[2,73]),t(ge,[2,74]),t(ge,[2,75]),t(ge,[2,76]),t(ge,[2,77]),t(ge,[2,78]),t(D,[2,57],{76:le}),t(D,[2,58],{76:$}),{5:ie,28:105,31:Te,34:j,36:Ge,38:ye,40:$e},{27:[1,112],76:$},{5:Xe,40:Ue,56:113,57:Le,59:Ie},{27:[1,118],76:$},{33:119,89:k,90:C},{33:120,89:k,90:C},{75:G,78:121,79:82,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne},t(te,[2,61]),t(te,[2,63]),t(ge,[2,68]),t(D,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:ie,28:126,31:Te,34:j,36:Ge,38:ye,40:$e},t(D,[2,28]),{5:[1,127]},t(D,[2,42]),{32:[1,128]},{32:[1,129]},{5:Xe,40:Ue,56:130,57:Le,59:Ie},t(D,[2,47]),{5:[1,131]},t(D,[2,48]),t(D,[2,49]),t(J,[2,66],{79:104,75:G,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne}),{33:132,89:k,90:C},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(D,[2,27]),{5:ie,28:145,31:Te,34:j,36:Ge,38:ye,40:$e},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(D,[2,46]),{5:Xe,40:Ue,56:152,57:Le,59:Ie},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(D,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(D,[2,43]),{5:ie,28:159,31:Te,34:j,36:Ge,38:ye,40:$e},{5:ie,28:160,31:Te,34:j,36:Ge,38:ye,40:$e},{5:ie,28:161,31:Te,34:j,36:Ge,38:ye,40:$e},{5:ie,28:162,31:Te,34:j,36:Ge,38:ye,40:$e},{5:Xe,40:Ue,56:163,57:Le,59:Ie},{5:Xe,40:Ue,56:164,57:Le,59:Ie},t(D,[2,23]),t(D,[2,24]),t(D,[2,25]),t(D,[2,26]),t(D,[2,44]),t(D,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:o(function(ce,U){if(U.recoverable)this.trace(ce);else{var ue=new Error(ce);throw ue.hash=U,ue}},"parseError"),parse:o(function(ce){var U=this,ue=[0],z=[],se=[null],oe=[],be=this.table,pe="",me=0,De=0,Ce=0,Fe=2,Ye=1,xt=oe.slice.call(arguments,1),je=Object.create(this.lexer),Pe={yy:{}};for(var rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,rt)&&(Pe.yy[rt]=this.yy[rt]);je.setInput(ce,Pe.yy),Pe.yy.lexer=je,Pe.yy.parser=this,typeof je.yylloc>"u"&&(je.yylloc={});var We=je.yylloc;oe.push(We);var ut=je.options&&je.options.ranges;typeof Pe.yy.parseError=="function"?this.parseError=Pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ut(hr){ue.length=ue.length-2*hr,se.length=se.length-hr,oe.length=oe.length-hr}o(Ut,"popStack");function Tt(){var hr;return hr=z.pop()||je.lex()||Ye,typeof hr!="number"&&(hr instanceof Array&&(z=hr,hr=z.pop()),hr=U.symbols_[hr]||hr),hr}o(Tt,"lex");for(var Mt,mt,at,wt,St,bt,pt={},Zr,Lt,Dn,Hr;;){if(at=ue[ue.length-1],this.defaultActions[at]?wt=this.defaultActions[at]:((Mt===null||typeof Mt>"u")&&(Mt=Tt()),wt=be[at]&&be[at][Mt]),typeof wt>"u"||!wt.length||!wt[0]){var mr="";Hr=[];for(Zr in be[at])this.terminals_[Zr]&&Zr>Fe&&Hr.push("'"+this.terminals_[Zr]+"'");je.showPosition?mr="Parse error on line "+(me+1)+`: -`+je.showPosition()+` -Expecting `+Hr.join(", ")+", got '"+(this.terminals_[Mt]||Mt)+"'":mr="Parse error on line "+(me+1)+": Unexpected "+(Mt==Ye?"end of input":"'"+(this.terminals_[Mt]||Mt)+"'"),this.parseError(mr,{text:je.match,token:this.terminals_[Mt]||Mt,line:je.yylineno,loc:We,expected:Hr})}if(wt[0]instanceof Array&&wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+at+", token: "+Mt);switch(wt[0]){case 1:ue.push(Mt),se.push(je.yytext),oe.push(je.yylloc),ue.push(wt[1]),Mt=null,mt?(Mt=mt,mt=null):(De=je.yyleng,pe=je.yytext,me=je.yylineno,We=je.yylloc,Ce>0&&Ce--);break;case 2:if(Lt=this.productions_[wt[1]][1],pt.$=se[se.length-Lt],pt._$={first_line:oe[oe.length-(Lt||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(Lt||1)].first_column,last_column:oe[oe.length-1].last_column},ut&&(pt._$.range=[oe[oe.length-(Lt||1)].range[0],oe[oe.length-1].range[1]]),bt=this.performAction.apply(pt,[pe,De,me,Pe.yy,wt[1],se,oe].concat(xt)),typeof bt<"u")return bt;Lt&&(ue=ue.slice(0,-1*Lt*2),se=se.slice(0,-1*Lt),oe=oe.slice(0,-1*Lt)),ue.push(this.productions_[wt[1]][0]),se.push(pt.$),oe.push(pt._$),Dn=be[ue[ue.length-2]][ue[ue.length-1]],ue.push(Dn);break;case 3:return!0}}return!0},"parse")},Ae=(function(){var Y={EOF:1,parseError:o(function(U,ue){if(this.yy.parser)this.yy.parser.parseError(U,ue);else throw new Error(U)},"parseError"),setInput:o(function(ce,U){return this.yy=U||this.yy||{},this._input=ce,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var ce=this._input[0];this.yytext+=ce,this.yyleng++,this.offset++,this.match+=ce,this.matched+=ce;var U=ce.match(/(?:\r\n?|\n).*/g);return U?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ce},"input"),unput:o(function(ce){var U=ce.length,ue=ce.split(/(?:\r\n?|\n)/g);this._input=ce+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var z=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),ue.length-1&&(this.yylineno-=ue.length-1);var se=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:ue?(ue.length===z.length?this.yylloc.first_column:0)+z[z.length-ue.length].length-ue[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[se[0],se[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(ce){this.unput(this.match.slice(ce))},"less"),pastInput:o(function(){var ce=this.matched.substr(0,this.matched.length-this.match.length);return(ce.length>20?"...":"")+ce.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ce=this.match;return ce.length<20&&(ce+=this._input.substr(0,20-ce.length)),(ce.substr(0,20)+(ce.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ce=this.pastInput(),U=new Array(ce.length+1).join("-");return ce+this.upcomingInput()+` -`+U+"^"},"showPosition"),test_match:o(function(ce,U){var ue,z,se;if(this.options.backtrack_lexer&&(se={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&&(se.yylloc.range=this.yylloc.range.slice(0))),z=ce[0].match(/(?:\r\n?|\n).*/g),z&&(this.yylineno+=z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:z?z[z.length-1].length-z[z.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ce[0].length},this.yytext+=ce[0],this.match+=ce[0],this.matches=ce,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(ce[0].length),this.matched+=ce[0],ue=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ue)return ue;if(this._backtrack){for(var oe in se)this[oe]=se[oe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ce,U,ue,z;this._more||(this.yytext="",this.match="");for(var se=this._currentRules(),oe=0;oeU[0].length)){if(U=ue,z=oe,this.options.backtrack_lexer){if(ce=this.test_match(ue,se[oe]),ce!==!1)return ce;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(ce=this.test_match(U,se[z]),ce!==!1?ce:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var U=this.next();return U||this.lex()},"lex"),begin:o(function(U){this.conditionStack.push(U)},"begin"),popState:o(function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},"topState"),pushState:o(function(U){this.begin(U)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(U,ue,z,se){var oe=se;switch(z){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return ue.yytext=ue.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return Y})();Me.lexer=Ae;function ze(){this.yy={}}return o(ze,"Parser"),ze.prototype=Me,Me.Parser=ze,new ze})();Fq.parser=Fq;I3e=Fq});var A7,P3e=I(()=>{"use strict";Qt();gt();ki();A7=class{constructor(){this.relations=[];this.latestRequirement=this.getInitialRequirement();this.requirements=new Map;this.latestElement=this.getInitialElement();this.elements=new Map;this.classes=new Map;this.direction="TB";this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"};this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"};this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"};this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"};this.setAccTitle=zr;this.getAccTitle=Vr;this.setAccDescription=qr;this.getAccDescription=Ur;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getConfig=o(()=>xe().requirement,"getConfig");this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),X.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Mr()}setCssStyle(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(let a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(i)for(let a of r){i.classes.push(a);let s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(let n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){let e=xe(),r=[],n=[];for(let i of this.requirements.values()){let a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,r.push(a)}for(let i of this.elements.values()){let a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),r.push(a)}for(let i of this.relations){let a=0,s=i.type===this.Relationships.CONTAINS,l={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look};n.push(l),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}}});var Yst,B3e,F3e=I(()=>{"use strict";Yst=o(t=>` +`,"getStyles"),k3e=Fot});var $ot,zot,S3e,C3e=O(()=>{"use strict";Ar();jt();xt();Ul();Ti();ar();$ot=o(t=>{let e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1).sort((i,a)=>a.value-i.value);return W5().value(i=>i.value)(r)},"createPieArcs"),zot=o((t,e,r,n)=>{K.debug(`rendering pie chart +`+t);let i=n.db,a=ve(),s=Pn(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Ii(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=Uo(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=uc().innerRadius(0).outerRadius(x),T=uc().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let E=i.getSections(),w=$ot(E),k=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],S=0;E.forEach(D=>{S+=D});let A=w.filter(D=>(D.data.value/S*100).toFixed(0)!=="0"),L=Fo(k);m.selectAll("mySlices").data(A).enter().append("path").attr("d",b).attr("fill",D=>L(D.data.label)).attr("class","pieCircle"),m.selectAll("mySlices").data(A).enter().append("text").text(D=>(D.data.value/S*100).toFixed(0)+"%").attr("transform",D=>"translate("+T.centroid(D)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let I=[...E.entries()].map(([D,M])=>({label:D,value:M})),N=m.selectAll(".legend").data(I).enter().append("g").attr("class","legend").attr("transform",(D,M)=>{let R=u+h,P=R*I.length/2,B=12*u,F=M*R-P;return"translate("+B+","+F+")"});N.append("rect").attr("width",u).attr("height",u).style("fill",D=>L(D.label)).style("stroke",D=>L(D.label)),N.append("text").attr("x",u+h).attr("y",u-h).text(D=>i.getShowData()?`${D.label} [${D.value}]`:D.label);let C=Math.max(...N.selectAll("text").nodes().map(D=>D?.getBoundingClientRect().width??0)),_=d+l+u+h+C;p.attr("viewBox",`0 0 ${_} ${f}`),Zr(p,f,_,s.useMaxWidth)},"draw"),S3e={draw:zot}});var A3e={};vr(A3e,{diagram:()=>Got});var Got,_3e=O(()=>{"use strict";w3e();$q();E3e();C3e();Got={parser:T3e,db:D7,renderer:S3e,styles:k3e}});var zq,R3e,L3e=O(()=>{"use strict";zq=(function(){var t=o(function(ce,z,ne,se){for(ne=ne||{},se=ce.length;se--;ne[ce[se]]=z);return ne},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],T=[1,19],E=[1,20],w=[1,21],k=[1,22],S=[1,24],A=[1,25],L=[1,26],I=[1,27],N=[1,28],C=[1,29],_=[1,32],D=[1,33],M=[1,34],R=[1,39],P=[1,40],B=[1,42],F=[1,44],G=[1,62],$=[1,61],V=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Q=[1,66],H=[1,67],ie=[1,68],Y=[1,69],le=[1,70],ee=[1,71],J=[1,72],te=[1,73],Z=[1,74],xe=[1,75],de=[1,76],Se=[4,5,6,7,8,9,10,11,12,13,14,15,18],Me=[1,90],ke=[1,91],we=[1,92],_e=[1,99],$e=[1,93],fe=[1,96],Ke=[1,94],Te=[1,95],Be=[1,97],Ue=[1,98],Ge=[1,102],Ne=[10,55,56,57],We=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],j={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(z,ne,se,be,pe,me,Re){var ge=me.length-1;switch(pe){case 23:this.$=me[ge];break;case 24:this.$=me[ge-1]+""+me[ge];break;case 26:this.$=me[ge-1]+me[ge];break;case 27:this.$=[me[ge].trim()];break;case 28:me[ge-2].push(me[ge].trim()),this.$=me[ge-2];break;case 29:this.$=me[ge-4],be.addClass(me[ge-2],me[ge]);break;case 37:this.$=[];break;case 42:this.$=me[ge].trim(),be.setDiagramTitle(this.$);break;case 43:this.$=me[ge].trim(),be.setAccTitle(this.$);break;case 44:case 45:this.$=me[ge].trim(),be.setAccDescription(this.$);break;case 46:be.addSection(me[ge].substr(8)),this.$=me[ge].substr(8);break;case 47:be.addPoint(me[ge-3],"",me[ge-1],me[ge],[]);break;case 48:be.addPoint(me[ge-4],me[ge-3],me[ge-1],me[ge],[]);break;case 49:be.addPoint(me[ge-4],"",me[ge-2],me[ge-1],me[ge]);break;case 50:be.addPoint(me[ge-5],me[ge-4],me[ge-2],me[ge-1],me[ge]);break;case 51:be.setXAxisLeftText(me[ge-2]),be.setXAxisRightText(me[ge]);break;case 52:me[ge-1].text+=" \u27F6 ",be.setXAxisLeftText(me[ge-1]);break;case 53:be.setXAxisLeftText(me[ge]);break;case 54:be.setYAxisBottomText(me[ge-2]),be.setYAxisTopText(me[ge]);break;case 55:me[ge-1].text+=" \u27F6 ",be.setYAxisBottomText(me[ge-1]);break;case 56:be.setYAxisBottomText(me[ge]);break;case 57:be.setQuadrant1Text(me[ge]);break;case 58:be.setQuadrant2Text(me[ge]);break;case 59:be.setQuadrant3Text(me[ge]);break;case 60:be.setQuadrant4Text(me[ge]);break;case 64:this.$={text:me[ge],type:"text"};break;case 65:this.$={text:me[ge-1].text+""+me[ge],type:me[ge-1].type};break;case 66:this.$={text:me[ge],type:"text"};break;case 67:this.$={text:me[ge],type:"markdown"};break;case 68:this.$=me[ge];break;case 69:this.$=me[ge-1]+""+me[ge];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:E,41:w,42:k,48:S,50:A,51:L,52:I,53:N,54:C,60:_,61:D,63:M,64:R,65:P,66:B,67:F}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:E,41:w,42:k,48:S,50:A,51:L,52:I,53:N,54:C,60:_,61:D,63:M,64:R,65:P,66:B,67:F}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,44:[1,57],47:[1,58],58:60,59:59,63:M,64:R,65:P,66:B,67:F},t(V,[2,64]),t(V,[2,66]),t(V,[2,67]),t(V,[2,70]),t(V,[2,71]),t(V,[2,72]),t(V,[2,73]),t(V,[2,74]),t(V,[2,75]),t(V,[2,76]),t(V,[2,77]),t(V,[2,78]),t(V,[2,79]),t(V,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:X,5:Q,6:H,7:ie,8:Y,9:le,10:ee,11:J,12:te,13:Z,14:xe,15:de,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,49:[1,77],63:M,64:R,65:P,66:B,67:F}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,49:[1,78],63:M,64:R,65:P,66:B,67:F}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),{45:[1,79]},{44:[1,80]},t(V,[2,65]),t(V,[2,81]),t(V,[2,82]),t(V,[2,83]),{3:82,4:X,5:Q,6:H,7:ie,8:Y,9:le,10:ee,11:J,12:te,13:Z,14:xe,15:de,18:[1,81]},t(Se,[2,23]),t(Se,[2,1]),t(Se,[2,2]),t(Se,[2,3]),t(Se,[2,4]),t(Se,[2,5]),t(Se,[2,6]),t(Se,[2,7]),t(Se,[2,8]),t(Se,[2,9]),t(Se,[2,10]),t(Se,[2,11]),t(Se,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:_,61:D,63:M,64:R,65:P,66:B,67:F}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:_,61:D,63:M,64:R,65:P,66:B,67:F}),{46:[1,85]},{45:[1,86]},{4:Me,5:ke,6:we,8:_e,11:$e,13:fe,16:89,17:Ke,18:Te,19:Be,20:Ue,22:88,23:87},t(Se,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,47],{22:88,16:89,23:100,4:Me,5:ke,6:we,8:_e,11:$e,13:fe,17:Ke,18:Te,19:Be,20:Ue}),{46:[1,101]},t(u,[2,29],{10:Ge}),t(Ne,[2,27],{16:103,4:Me,5:ke,6:we,8:_e,11:$e,13:fe,17:Ke,18:Te,19:Be,20:Ue}),t(We,[2,25]),t(We,[2,13]),t(We,[2,14]),t(We,[2,15]),t(We,[2,16]),t(We,[2,17]),t(We,[2,18]),t(We,[2,19]),t(We,[2,20]),t(We,[2,21]),t(We,[2,22]),t(u,[2,49],{10:Ge}),t(u,[2,48],{22:88,16:89,23:104,4:Me,5:ke,6:we,8:_e,11:$e,13:fe,17:Ke,18:Te,19:Be,20:Ue}),{4:Me,5:ke,6:we,8:_e,11:$e,13:fe,16:89,17:Ke,18:Te,19:Be,20:Ue,22:105},t(We,[2,26]),t(u,[2,50],{10:Ge}),t(Ne,[2,28],{16:103,4:Me,5:ke,6:we,8:_e,11:$e,13:fe,17:Ke,18:Te,19:Be,20:Ue})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(z,ne){if(ne.recoverable)this.trace(z);else{var se=new Error(z);throw se.hash=ne,se}},"parseError"),parse:o(function(z){var ne=this,se=[0],be=[],pe=[null],me=[],Re=this.table,ge="",Ie=0,qe=0,Pe=0,Xe=2,oe=1,et=me.slice.call(arguments,1),he=Object.create(this.lexer),ot={yy:{}};for(var Dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Dt)&&(ot.yy[Dt]=this.yy[Dt]);he.setInput(z,ot.yy),ot.yy.lexer=he,ot.yy.parser=this,typeof he.yylloc>"u"&&(he.yylloc={});var It=he.yylloc;me.push(It);var wt=he.options&&he.options.ranges;typeof ot.yy.parseError=="function"?this.parseError=ot.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Rt(mt){se.length=se.length-2*mt,pe.length=pe.length-mt,me.length=me.length-mt}o(Rt,"popStack");function it(){var mt;return mt=be.pop()||he.lex()||oe,typeof mt!="number"&&(mt instanceof Array&&(be=mt,mt=be.pop()),mt=ne.symbols_[mt]||mt),mt}o(it,"lex");for(var at,Ct,yt,dt,Ht,cr,Kt={},kr,ur,tr,hr;;){if(yt=se[se.length-1],this.defaultActions[yt]?dt=this.defaultActions[yt]:((at===null||typeof at>"u")&&(at=it()),dt=Re[yt]&&Re[yt][at]),typeof dt>"u"||!dt.length||!dt[0]){var _n="";hr=[];for(kr in Re[yt])this.terminals_[kr]&&kr>Xe&&hr.push("'"+this.terminals_[kr]+"'");he.showPosition?_n="Parse error on line "+(Ie+1)+`: +`+he.showPosition()+` +Expecting `+hr.join(", ")+", got '"+(this.terminals_[at]||at)+"'":_n="Parse error on line "+(Ie+1)+": Unexpected "+(at==oe?"end of input":"'"+(this.terminals_[at]||at)+"'"),this.parseError(_n,{text:he.match,token:this.terminals_[at]||at,line:he.yylineno,loc:It,expected:hr})}if(dt[0]instanceof Array&&dt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+yt+", token: "+at);switch(dt[0]){case 1:se.push(at),pe.push(he.yytext),me.push(he.yylloc),se.push(dt[1]),at=null,Ct?(at=Ct,Ct=null):(qe=he.yyleng,ge=he.yytext,Ie=he.yylineno,It=he.yylloc,Pe>0&&Pe--);break;case 2:if(ur=this.productions_[dt[1]][1],Kt.$=pe[pe.length-ur],Kt._$={first_line:me[me.length-(ur||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(ur||1)].first_column,last_column:me[me.length-1].last_column},wt&&(Kt._$.range=[me[me.length-(ur||1)].range[0],me[me.length-1].range[1]]),cr=this.performAction.apply(Kt,[ge,qe,Ie,ot.yy,dt[1],pe,me].concat(et)),typeof cr<"u")return cr;ur&&(se=se.slice(0,-1*ur*2),pe=pe.slice(0,-1*ur),me=me.slice(0,-1*ur)),se.push(this.productions_[dt[1]][0]),pe.push(Kt.$),me.push(Kt._$),tr=Re[se[se.length-2]][se[se.length-1]],se.push(tr);break;case 3:return!0}}return!0},"parse")},ae=(function(){var ce={EOF:1,parseError:o(function(ne,se){if(this.yy.parser)this.yy.parser.parseError(ne,se);else throw new Error(ne)},"parseError"),setInput:o(function(z,ne){return this.yy=ne||this.yy||{},this._input=z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var z=this._input[0];this.yytext+=z,this.yyleng++,this.offset++,this.match+=z,this.matched+=z;var ne=z.match(/(?:\r\n?|\n).*/g);return ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),z},"input"),unput:o(function(z){var ne=z.length,se=z.split(/(?:\r\n?|\n)/g);this._input=z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ne),this.offset-=ne;var be=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),se.length-1&&(this.yylineno-=se.length-1);var pe=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:se?(se.length===be.length?this.yylloc.first_column:0)+be[be.length-se.length].length-se[0].length:this.yylloc.first_column-ne},this.options.ranges&&(this.yylloc.range=[pe[0],pe[0]+this.yyleng-ne]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(z){this.unput(this.match.slice(z))},"less"),pastInput:o(function(){var z=this.matched.substr(0,this.matched.length-this.match.length);return(z.length>20?"...":"")+z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var z=this.match;return z.length<20&&(z+=this._input.substr(0,20-z.length)),(z.substr(0,20)+(z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var z=this.pastInput(),ne=new Array(z.length+1).join("-");return z+this.upcomingInput()+` +`+ne+"^"},"showPosition"),test_match:o(function(z,ne){var se,be,pe;if(this.options.backtrack_lexer&&(pe={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&&(pe.yylloc.range=this.yylloc.range.slice(0))),be=z[0].match(/(?:\r\n?|\n).*/g),be&&(this.yylineno+=be.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:be?be[be.length-1].length-be[be.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+z[0].length},this.yytext+=z[0],this.match+=z[0],this.matches=z,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(z[0].length),this.matched+=z[0],se=this.performAction.call(this,this.yy,this,ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var me in pe)this[me]=pe[me];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var z,ne,se,be;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),me=0;mene[0].length)){if(ne=se,be=me,this.options.backtrack_lexer){if(z=this.test_match(se,pe[me]),z!==!1)return z;if(this._backtrack){ne=!1;continue}else return!1}else if(!this.options.flex)break}return ne?(z=this.test_match(ne,pe[be]),z!==!1?z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var ne=this.next();return ne||this.lex()},"lex"),begin:o(function(ne){this.conditionStack.push(ne)},"begin"),popState:o(function(){var ne=this.conditionStack.length-1;return ne>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(ne){return ne=this.conditionStack.length-1-Math.abs(ne||0),ne>=0?this.conditionStack[ne]:"INITIAL"},"topState"),pushState:o(function(ne){this.begin(ne)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(ne,se,be,pe){var me=pe;switch(be){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return ce})();j.lexer=ae;function U(){this.yy={}}return o(U,"Parser"),U.prototype=j,j.Parser=U,new U})();zq.parser=zq;R3e=zq});var Ws,R7,N3e=O(()=>{"use strict";Ar();La();xt();y2();Ws=yf(),R7=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:gr.quadrantChart?.chartWidth||500,chartWidth:gr.quadrantChart?.chartHeight||500,titlePadding:gr.quadrantChart?.titlePadding||10,titleFontSize:gr.quadrantChart?.titleFontSize||20,quadrantPadding:gr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:gr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:gr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:gr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:gr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:gr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:gr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:gr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:gr.quadrantChart?.pointLabelFontSize||12,pointRadius:gr.quadrantChart?.pointRadius||5,xAxisPosition:gr.quadrantChart?.xAxisPosition||"top",yAxisPosition:gr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:gr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:gr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:Ws.quadrant1Fill,quadrant2Fill:Ws.quadrant2Fill,quadrant3Fill:Ws.quadrant3Fill,quadrant4Fill:Ws.quadrant4Fill,quadrant1TextFill:Ws.quadrant1TextFill,quadrant2TextFill:Ws.quadrant2TextFill,quadrant3TextFill:Ws.quadrant3TextFill,quadrant4TextFill:Ws.quadrant4TextFill,quadrantPointFill:Ws.quadrantPointFill,quadrantPointTextFill:Ws.quadrantPointTextFill,quadrantXAxisTextFill:Ws.quadrantXAxisTextFill,quadrantYAxisTextFill:Ws.quadrantYAxisTextFill,quadrantTitleFill:Ws.quadrantTitleFill,quadrantInternalBorderStrokeFill:Ws.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Ws.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,K.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){K.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){K.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,l=sc().domain([0,1]).range([i,s+i]),u=sc().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+i,x2:s+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function Gq(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function M3e(t){return!/^\d+$/.test(t)}function I3e(t){return!/^\d+px$/.test(t)}var Hm,O3e=O(()=>{"use strict";Hm=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};o(Gq,"validateHexCode");o(M3e,"validateNumber");o(I3e,"validateSizeInPixels")});function of(t){return wr(t.trim(),Uot)}function Wot(t){Ka.setData({quadrant1Text:of(t.text)})}function Hot(t){Ka.setData({quadrant2Text:of(t.text)})}function Yot(t){Ka.setData({quadrant3Text:of(t.text)})}function jot(t){Ka.setData({quadrant4Text:of(t.text)})}function Xot(t){Ka.setData({xAxisLeftText:of(t.text)})}function Kot(t){Ka.setData({xAxisRightText:of(t.text)})}function Qot(t){Ka.setData({yAxisTopText:of(t.text)})}function Zot(t){Ka.setData({yAxisBottomText:of(t.text)})}function Vq(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(M3e(i))throw new Hm(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(Gq(i))throw new Hm(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(Gq(i))throw new Hm(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(I3e(i))throw new Hm(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function Jot(t,e,r,n,i){let a=Vq(i);Ka.addPoints([{x:r,y:n,text:of(t.text),className:e,...a}])}function elt(t,e){Ka.addClass(t,Vq(e))}function tlt(t){Ka.setConfig({chartWidth:t})}function rlt(t){Ka.setConfig({chartHeight:t})}function nlt(){let t=ve(),{themeVariables:e,quadrantChart:r}=t;return r&&Ka.setConfig(r),Ka.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),Ka.setData({titleText:Fr()}),Ka.build()}var Uot,Ka,ilt,P3e,B3e=O(()=>{"use strict";jt();Ur();si();N3e();O3e();Uot=ve();o(of,"textSanitizer");Ka=new R7;o(Wot,"setQuadrant1Text");o(Hot,"setQuadrant2Text");o(Yot,"setQuadrant3Text");o(jot,"setQuadrant4Text");o(Xot,"setXAxisLeftText");o(Kot,"setXAxisRightText");o(Qot,"setYAxisTopText");o(Zot,"setYAxisBottomText");o(Vq,"parseStyles");o(Jot,"addPoint");o(elt,"addClass");o(tlt,"setWidth");o(rlt,"setHeight");o(nlt,"getQuadrantData");ilt=o(function(){Ka.clear(),_r()},"clear"),P3e={setWidth:tlt,setHeight:rlt,setQuadrant1Text:Wot,setQuadrant2Text:Hot,setQuadrant3Text:Yot,setQuadrant4Text:jot,setXAxisLeftText:Xot,setXAxisRightText:Kot,setYAxisTopText:Qot,setYAxisBottomText:Zot,parseStyles:Vq,addPoint:Jot,addClass:elt,getQuadrantData:nlt,clear:ilt,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,getAccDescription:Br,setAccDescription:Pr}});var alt,F3e,$3e=O(()=>{"use strict";Ar();jt();xt();Ti();alt=o((t,e,r,n)=>{function i(A){return A==="top"?"hanging":"middle"}o(i,"getDominantBaseLine");function a(A){return A==="left"?"start":"middle"}o(a,"getTextAnchor");function s(A){return`translate(${A.x}, ${A.y}) rotate(${A.rotation||0})`}o(s,"getTransformation");let l=ve();K.debug(`Rendering quadrant chart +`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=je("#i"+e));let d=(u==="sandbox"?je(h.nodes()[0].contentDocument.body):je("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;Zr(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),T=p.append("g").attr("class","labels"),E=p.append("g").attr("class","title");y.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",A=>A.x1).attr("y1",A=>A.y1).attr("x2",A=>A.x2).attr("y2",A=>A.y2).style("stroke",A=>A.strokeFill).style("stroke-width",A=>A.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",A=>A.x).attr("y",A=>A.y).attr("width",A=>A.width).attr("height",A=>A.height).attr("fill",A=>A.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text)).text(A=>A.text.text),T.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(A=>A.text).attr("fill",A=>A.fill).attr("font-size",A=>A.fontSize).attr("dominant-baseline",A=>i(A.horizontalPos)).attr("text-anchor",A=>a(A.verticalPos)).attr("transform",A=>s(A));let S=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");S.append("circle").attr("cx",A=>A.x).attr("cy",A=>A.y).attr("r",A=>A.radius).attr("fill",A=>A.fill).attr("stroke",A=>A.strokeColor).attr("stroke-width",A=>A.strokeWidth),S.append("text").attr("x",0).attr("y",0).text(A=>A.text.text).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text))},"draw"),F3e={draw:alt}});var z3e={};vr(z3e,{diagram:()=>slt});var slt,G3e=O(()=>{"use strict";L3e();B3e();$3e();slt={parser:R3e,db:P3e,renderer:F3e,styles:o(()=>"","styles")}});var qq,U3e,W3e=O(()=>{"use strict";qq=(function(){var t=o(function(M,R,P,B){for(P=P||{},B=M.length;B--;P[M[B]]=R);return P},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],E=[1,43],w=[1,42],k=[1,47],S=[1,50],A=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],I=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],N=[1,64],C={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(R,P,B,F,G,$,V){var X=$.length-1;switch(G){case 5:F.setOrientation($[X]);break;case 9:F.setDiagramTitle($[X].text.trim());break;case 12:F.setLineData({text:"",type:"text"},$[X]);break;case 13:F.setLineData($[X-1],$[X]);break;case 14:F.setBarData({text:"",type:"text"},$[X]);break;case 15:F.setBarData($[X-1],$[X]);break;case 16:this.$=$[X].trim(),F.setAccTitle(this.$);break;case 17:case 18:this.$=$[X].trim(),F.setAccDescription(this.$);break;case 19:this.$=$[X-1];break;case 20:this.$=[Number($[X-2]),...$[X]];break;case 21:this.$=[Number($[X])];break;case 22:F.setXAxisTitle($[X]);break;case 23:F.setXAxisTitle($[X-1]);break;case 24:F.setXAxisTitle({type:"text",text:""});break;case 25:F.setXAxisBand($[X]);break;case 26:F.setXAxisRangeData(Number($[X-2]),Number($[X]));break;case 27:this.$=$[X-1];break;case 28:this.$=[$[X-2],...$[X]];break;case 29:this.$=[$[X]];break;case 30:F.setYAxisTitle($[X]);break;case 31:F.setYAxisTitle($[X-1]);break;case 32:F.setYAxisTitle({type:"text",text:""});break;case 33:F.setYAxisRangeData(Number($[X-2]),Number($[X]));break;case 37:this.$={text:$[X],type:"text"};break;case 38:this.$={text:$[X],type:"text"};break;case 39:this.$={text:$[X],type:"markdown"};break;case 40:this.$=$[X];break;case 41:this.$=$[X-1]+""+$[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:39,13:38,24:E,27:w,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:45,15:44,27:k,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:49,17:48,24:S,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:52,17:51,24:S,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{20:[1,53]},{22:[1,54]},t(A,[2,18]),{1:[2,2]},t(A,[2,8]),t(A,[2,9]),t(L,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T}),t(L,[2,38]),t(L,[2,39]),t(I,[2,40]),t(I,[2,42]),t(I,[2,43]),t(I,[2,44]),t(I,[2,45]),t(I,[2,46]),t(I,[2,47]),t(I,[2,48]),t(I,[2,49]),t(I,[2,50]),t(I,[2,51]),t(A,[2,10]),t(A,[2,22],{30:41,29:56,24:E,27:w}),t(A,[2,24]),t(A,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(A,[2,11]),t(A,[2,30],{33:60,27:k}),t(A,[2,32]),{31:[1,61]},t(A,[2,12]),{17:62,24:S},{25:63,27:N},t(A,[2,14]),{17:65,24:S},t(A,[2,16]),t(A,[2,17]),t(I,[2,41]),t(A,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(A,[2,31]),{27:[1,69]},t(A,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(A,[2,15]),t(A,[2,26]),t(A,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(A,[2,33]),t(A,[2,19]),{25:73,27:N},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(R,P){if(P.recoverable)this.trace(R);else{var B=new Error(R);throw B.hash=P,B}},"parseError"),parse:o(function(R){var P=this,B=[0],F=[],G=[null],$=[],V=this.table,X="",Q=0,H=0,ie=0,Y=2,le=1,ee=$.slice.call(arguments,1),J=Object.create(this.lexer),te={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(te.yy[Z]=this.yy[Z]);J.setInput(R,te.yy),te.yy.lexer=J,te.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var xe=J.yylloc;$.push(xe);var de=J.options&&J.options.ranges;typeof te.yy.parseError=="function"?this.parseError=te.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(j){B.length=B.length-2*j,G.length=G.length-j,$.length=$.length-j}o(Se,"popStack");function Me(){var j;return j=F.pop()||J.lex()||le,typeof j!="number"&&(j instanceof Array&&(F=j,j=F.pop()),j=P.symbols_[j]||j),j}o(Me,"lex");for(var ke,we,_e,$e,fe,Ke,Te={},Be,Ue,Ge,Ne;;){if(_e=B[B.length-1],this.defaultActions[_e]?$e=this.defaultActions[_e]:((ke===null||typeof ke>"u")&&(ke=Me()),$e=V[_e]&&V[_e][ke]),typeof $e>"u"||!$e.length||!$e[0]){var We="";Ne=[];for(Be in V[_e])this.terminals_[Be]&&Be>Y&&Ne.push("'"+this.terminals_[Be]+"'");J.showPosition?We="Parse error on line "+(Q+1)+`: +`+J.showPosition()+` +Expecting `+Ne.join(", ")+", got '"+(this.terminals_[ke]||ke)+"'":We="Parse error on line "+(Q+1)+": Unexpected "+(ke==le?"end of input":"'"+(this.terminals_[ke]||ke)+"'"),this.parseError(We,{text:J.match,token:this.terminals_[ke]||ke,line:J.yylineno,loc:xe,expected:Ne})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_e+", token: "+ke);switch($e[0]){case 1:B.push(ke),G.push(J.yytext),$.push(J.yylloc),B.push($e[1]),ke=null,we?(ke=we,we=null):(H=J.yyleng,X=J.yytext,Q=J.yylineno,xe=J.yylloc,ie>0&&ie--);break;case 2:if(Ue=this.productions_[$e[1]][1],Te.$=G[G.length-Ue],Te._$={first_line:$[$.length-(Ue||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(Ue||1)].first_column,last_column:$[$.length-1].last_column},de&&(Te._$.range=[$[$.length-(Ue||1)].range[0],$[$.length-1].range[1]]),Ke=this.performAction.apply(Te,[X,H,Q,te.yy,$e[1],G,$].concat(ee)),typeof Ke<"u")return Ke;Ue&&(B=B.slice(0,-1*Ue*2),G=G.slice(0,-1*Ue),$=$.slice(0,-1*Ue)),B.push(this.productions_[$e[1]][0]),G.push(Te.$),$.push(Te._$),Ge=V[B[B.length-2]][B[B.length-1]],B.push(Ge);break;case 3:return!0}}return!0},"parse")},_=(function(){var M={EOF:1,parseError:o(function(P,B){if(this.yy.parser)this.yy.parser.parseError(P,B);else throw new Error(P)},"parseError"),setInput:o(function(R,P){return this.yy=P||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var P=R.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},"input"),unput:o(function(R){var P=R.length,B=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;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),B.length-1&&(this.yylineno-=B.length-1);var G=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:B?(B.length===F.length?this.yylloc.first_column:0)+F[F.length-B.length].length-B[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[G[0],G[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(R){this.unput(this.match.slice(R))},"less"),pastInput:o(function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var R=this.pastInput(),P=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+P+"^"},"showPosition"),test_match:o(function(R,P){var B,F,G;if(this.options.backtrack_lexer&&(G={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&&(G.yylloc.range=this.yylloc.range.slice(0))),F=R[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+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,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(R[0].length),this.matched+=R[0],B=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),B)return B;if(this._backtrack){for(var $ in G)this[$]=G[$];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,P,B,F;this._more||(this.yytext="",this.match="");for(var G=this._currentRules(),$=0;$P[0].length)){if(P=B,F=$,this.options.backtrack_lexer){if(R=this.test_match(B,G[$]),R!==!1)return R;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(R=this.test_match(P,G[F]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var P=this.next();return P||this.lex()},"lex"),begin:o(function(P){this.conditionStack.push(P)},"begin"),popState:o(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:o(function(P){this.begin(P)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(P,B,F,G){var $=G;switch(F){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 31;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 27;case 25:return this.popState(),26;break;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return M})();C.lexer=_;function D(){this.yy={}}return o(D,"Parser"),D.prototype=C,C.Parser=D,new D})();qq.parser=qq;U3e=qq});function Uq(t){return t.type==="bar"}function L7(t){return t.type==="band"}function Iv(t){return t.type==="linear"}var N7=O(()=>{"use strict";o(Uq,"isBarPlot");o(L7,"isBandAxisData");o(Iv,"isLinearAxisData")});var Ov,Wq=O(()=>{"use strict";co();Ov=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=gie(i,1,a),l=s?s.width:a.length*r,u=s?s.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var Pv,Hq=O(()=>{"use strict";Pv=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var M7,H3e=O(()=>{"use strict";Ar();xt();Hq();M7=class extends Pv{static{o(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=Og().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=Og().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),K.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var I7,Y3e=O(()=>{"use strict";Ar();Hq();I7=class extends Pv{static{o(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=sc().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=sc().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function Yq(t,e,r,n){let i=new Ov(n);return L7(t)?new M7(e,r,t.categories,t.title,i):new I7(e,r,[t.min,t.max],t.title,i)}var j3e=O(()=>{"use strict";N7();Wq();H3e();Y3e();o(Yq,"getAxis")});function X3e(t,e,r,n){let i=new Ov(n);return new jq(i,t,e,r)}var jq,K3e=O(()=>{"use strict";Wq();jq=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};o(X3e,"getChartTitleComponent")});var O7,Q3e=O(()=>{"use strict";Ar();O7=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=hc().y(n=>n[0]).x(n=>n[1])(e):r=hc().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var P7,Z3e=O(()=>{"use strict";P7=class{constructor(e,r,n,i,a,s){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=s}static{o(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function J3e(t,e,r){return new Xq(t,e,r)}var Xq,ewe=O(()=>{"use strict";Q3e();Z3e();Xq=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new O7(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new P7(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};o(J3e,"getPlotComponent")});var B7,twe=O(()=>{"use strict";j3e();K3e();ewe();N7();B7=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:X3e(e,r,n,i),plot:J3e(e,r,n),xAxis:Yq(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:Yq(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{o(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>Uq(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>Uq(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var F7,rwe=O(()=>{"use strict";twe();F7=class{static{o(this,"XYChartBuilder")}static build(e,r,n,i){return new B7(e,r,n,i).getDrawableElement()}}});function iwe(){let t=yf(),e=Zt();return Pn(t.xyChart,e.themeVariables.xyChart)}function awe(){let t=Zt();return Pn(gr.xyChart,t.xyChart)}function swe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Zq(t){let e=Zt();return wr(t.trim(),e)}function ult(t){nwe=t}function hlt(t){t==="horizontal"?f3.chartOrientation="horizontal":f3.chartOrientation="vertical"}function flt(t){An.xAxis.title=Zq(t.text)}function owe(t,e){An.xAxis={type:"linear",title:An.xAxis.title,min:t,max:e},$7=!0}function dlt(t){An.xAxis={type:"band",title:An.xAxis.title,categories:t.map(e=>Zq(e.text))},$7=!0}function plt(t){An.yAxis.title=Zq(t.text)}function mlt(t,e){An.yAxis={type:"linear",title:An.yAxis.title,min:t,max:e},Qq=!0}function glt(t){let e=Math.min(...t),r=Math.max(...t),n=Iv(An.yAxis)?An.yAxis.min:1/0,i=Iv(An.yAxis)?An.yAxis.max:-1/0;An.yAxis={type:"linear",title:An.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function lwe(t){let e=[];if(t.length===0)return e;if(!$7){let r=Iv(An.xAxis)?An.xAxis.min:1/0,n=Iv(An.xAxis)?An.xAxis.max:-1/0;owe(Math.min(r,1),Math.max(n,t.length))}if(Qq||glt(t),L7(An.xAxis)&&(e=An.xAxis.categories.map((r,n)=>[r,t[n]])),Iv(An.xAxis)){let r=An.xAxis.min,n=An.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function cwe(t){return Kq[t===0?0:t%Kq.length]}function ylt(t,e){let r=lwe(e);An.plots.push({type:"line",strokeFill:cwe(h3),strokeWidth:2,data:r}),h3++}function vlt(t,e){let r=lwe(e);An.plots.push({type:"bar",fill:cwe(h3),data:r}),h3++}function xlt(){if(An.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return An.title=Fr(),F7.build(f3,An,d3,nwe)}function blt(){return d3}function Tlt(){return f3}function wlt(){return An}var h3,nwe,f3,d3,An,Kq,$7,Qq,klt,uwe,hwe=O(()=>{"use strict";$r();La();y2();ar();Ur();si();rwe();N7();h3=0,f3=awe(),d3=iwe(),An=swe(),Kq=d3.plotColorPalette.split(",").map(t=>t.trim()),$7=!1,Qq=!1;o(iwe,"getChartDefaultThemeConfig");o(awe,"getChartDefaultConfig");o(swe,"getChartDefaultData");o(Zq,"textSanitizer");o(ult,"setTmpSVGG");o(hlt,"setOrientation");o(flt,"setXAxisTitle");o(owe,"setXAxisRangeData");o(dlt,"setXAxisBand");o(plt,"setYAxisTitle");o(mlt,"setYAxisRangeData");o(glt,"setYAxisRangeFromPlotData");o(lwe,"transformDataWithoutCategory");o(cwe,"getPlotColorFromPalette");o(ylt,"setLineData");o(vlt,"setBarData");o(xlt,"getDrawableElem");o(blt,"getChartThemeConfig");o(Tlt,"getChartConfig");o(wlt,"getXYChartData");klt=o(function(){_r(),h3=0,f3=awe(),An=swe(),d3=iwe(),Kq=d3.plotColorPalette.split(",").map(t=>t.trim()),$7=!1,Qq=!1},"clear"),uwe={getDrawableElem:xlt,clear:klt,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,getAccDescription:Br,setAccDescription:Pr,setOrientation:hlt,setXAxisTitle:flt,setXAxisRangeData:owe,setXAxisBand:dlt,setYAxisTitle:plt,setYAxisRangeData:mlt,setLineData:ylt,setBarData:vlt,setTmpSVGG:ult,getChartThemeConfig:blt,getChartConfig:Tlt,getXYChartData:wlt}});var Elt,fwe,dwe=O(()=>{"use strict";xt();Ul();Ti();Elt=o((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),l=i.getXYChartData().plots[0].data.map(T=>T[1]);function u(T){return T==="top"?"text-before-edge":"middle"}o(u,"getDominantBaseLine");function h(T){return T==="left"?"start":T==="right"?"end":"middle"}o(h,"getTextAnchor");function f(T){return`translate(${T.x}, ${T.y}) rotate(${T.rotation||0})`}o(f,"getTextTransformation"),K.debug(`Rendering xychart chart +`+t);let d=Ii(e),p=d.append("g").attr("class","main"),m=p.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Zr(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),m.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));let g=i.getDrawableElem(),y={};function v(T){let E=p,w="";for(let[k]of T.entries()){let S=p;k>0&&y[w]&&(S=y[w]),w+=T[k],E=y[w],E||(E=y[w]=S.append("g").attr("class",T[k]))}return E}o(v,"getGroup");for(let T of g){if(T.data.length===0)continue;let E=v(T.groupTexts);switch(T.type){case"rect":if(E.selectAll("rect").data(T.data).enter().append("rect").attr("x",w=>w.x).attr("y",w=>w.y).attr("width",w=>w.width).attr("height",w=>w.height).attr("fill",w=>w.fill).attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth),s.showDataLabel)if(s.chartOrientation==="horizontal"){let S=function(I,N){let{data:C,label:_}=I;return N*_.length*.7<=C.width-10};var x=S;o(S,"fitsHorizontally");let w=.7,k=T.data.map((I,N)=>({data:I,label:l[N].toString()})).filter(I=>I.data.width>0&&I.data.height>0),A=k.map(I=>{let{data:N}=I,C=N.height*.7;for(;!S(I,C)&&C>0;)C-=1;return C}),L=Math.floor(Math.min(...A));E.selectAll("text").data(k).enter().append("text").attr("x",I=>I.data.x+I.data.width-10).attr("y",I=>I.data.y+I.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${L}px`).text(I=>I.label)}else{let S=function(I,N,C){let{data:_,label:D}=I,R=N*D.length*.7,P=_.x+_.width/2,B=P-R/2,F=P+R/2,G=B>=_.x&&F<=_.x+_.width,$=_.y+C+N<=_.y+_.height;return G&&$};var b=S;o(S,"fitsInBar");let w=10,k=T.data.map((I,N)=>({data:I,label:l[N].toString()})).filter(I=>I.data.width>0&&I.data.height>0),A=k.map(I=>{let{data:N,label:C}=I,_=N.width/(C.length*.7);for(;!S(I,_,10)&&_>0;)_-=1;return _}),L=Math.floor(Math.min(...A));E.selectAll("text").data(k).enter().append("text").attr("x",I=>I.data.x+I.data.width/2).attr("y",I=>I.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${L}px`).text(I=>I.label)}break;case"text":E.selectAll("text").data(T.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",w=>w.fill).attr("font-size",w=>w.fontSize).attr("dominant-baseline",w=>u(w.verticalPos)).attr("text-anchor",w=>h(w.horizontalPos)).attr("transform",w=>f(w)).text(w=>w.text);break;case"path":E.selectAll("path").data(T.data).enter().append("path").attr("d",w=>w.path).attr("fill",w=>w.fill?w.fill:"none").attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth);break}}},"draw"),fwe={draw:Elt}});var pwe={};vr(pwe,{diagram:()=>Slt});var Slt,mwe=O(()=>{"use strict";W3e();hwe();dwe();Slt={parser:U3e,db:uwe,renderer:fwe}});var Jq,vwe,xwe=O(()=>{"use strict";Jq=(function(){var t=o(function(j,ae,U,ce){for(U=U||{},ce=j.length;ce--;U[j[ce]]=ae);return U},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],l=[2,7],u=[1,26],h=[1,27],f=[1,28],d=[1,29],p=[1,33],m=[1,34],g=[1,35],y=[1,36],v=[1,37],x=[1,38],b=[1,24],T=[1,31],E=[1,32],w=[1,30],k=[1,39],S=[1,40],A=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],L=[1,61],I=[89,90],N=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],C=[27,29],_=[1,70],D=[1,71],M=[1,72],R=[1,73],P=[1,74],B=[1,75],F=[1,76],G=[1,83],$=[1,80],V=[1,84],X=[1,85],Q=[1,86],H=[1,87],ie=[1,88],Y=[1,89],le=[1,90],ee=[1,91],J=[1,92],te=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Z=[63,64],xe=[1,101],de=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Se=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Me=[1,110],ke=[1,106],we=[1,107],_e=[1,108],$e=[1,109],fe=[1,111],Ke=[1,116],Te=[1,117],Be=[1,114],Ue=[1,115],Ge={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:o(function(ae,U,ce,z,ne,se,be){var pe=se.length-1;switch(ne){case 4:this.$=se[pe].trim(),z.setAccTitle(this.$);break;case 5:case 6:this.$=se[pe].trim(),z.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:z.setDirection("TB");break;case 18:z.setDirection("BT");break;case 19:z.setDirection("RL");break;case 20:z.setDirection("LR");break;case 21:z.addRequirement(se[pe-3],se[pe-4]);break;case 22:z.addRequirement(se[pe-5],se[pe-6]),z.setClass([se[pe-5]],se[pe-3]);break;case 23:z.setNewReqId(se[pe-2]);break;case 24:z.setNewReqText(se[pe-2]);break;case 25:z.setNewReqRisk(se[pe-2]);break;case 26:z.setNewReqVerifyMethod(se[pe-2]);break;case 29:this.$=z.RequirementType.REQUIREMENT;break;case 30:this.$=z.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=z.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=z.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=z.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=z.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=z.RiskLevel.LOW_RISK;break;case 36:this.$=z.RiskLevel.MED_RISK;break;case 37:this.$=z.RiskLevel.HIGH_RISK;break;case 38:this.$=z.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=z.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=z.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=z.VerifyType.VERIFY_TEST;break;case 42:z.addElement(se[pe-3]);break;case 43:z.addElement(se[pe-5]),z.setClass([se[pe-5]],se[pe-3]);break;case 44:z.setNewElementType(se[pe-2]);break;case 45:z.setNewElementDocRef(se[pe-2]);break;case 48:z.addRelationship(se[pe-2],se[pe],se[pe-4]);break;case 49:z.addRelationship(se[pe-2],se[pe-4],se[pe]);break;case 50:this.$=z.Relationships.CONTAINS;break;case 51:this.$=z.Relationships.COPIES;break;case 52:this.$=z.Relationships.DERIVES;break;case 53:this.$=z.Relationships.SATISFIES;break;case 54:this.$=z.Relationships.VERIFIES;break;case 55:this.$=z.Relationships.REFINES;break;case 56:this.$=z.Relationships.TRACES;break;case 57:this.$=se[pe-2],z.defineClass(se[pe-1],se[pe]);break;case 58:z.setClass(se[pe-1],se[pe]);break;case 59:z.setClass([se[pe-2]],se[pe]);break;case 60:case 62:this.$=[se[pe]];break;case 61:case 63:this.$=se[pe-2].concat([se[pe]]);break;case 64:this.$=se[pe-2],z.setCssStyle(se[pe-1],se[pe]);break;case 65:this.$=[se[pe]];break;case 66:se[pe-2].push(se[pe]),this.$=se[pe-2];break;case 68:this.$=se[pe-1]+se[pe];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:43,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:44,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:45,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:46,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:47,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:48,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:49,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:50,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(A,[2,17]),t(A,[2,18]),t(A,[2,19]),t(A,[2,20]),{30:60,33:62,75:L,89:k,90:S},{30:63,33:62,75:L,89:k,90:S},{30:64,33:62,75:L,89:k,90:S},t(I,[2,29]),t(I,[2,30]),t(I,[2,31]),t(I,[2,32]),t(I,[2,33]),t(I,[2,34]),t(N,[2,81]),t(N,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(C,[2,79]),t(C,[2,80]),{27:[1,67],29:[1,68]},t(C,[2,85]),t(C,[2,86]),{62:69,65:_,66:D,67:M,68:R,69:P,70:B,71:F},{62:77,65:_,66:D,67:M,68:R,69:P,70:B,71:F},{30:78,33:62,75:L,89:k,90:S},{73:79,75:G,76:$,78:81,79:82,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J},t(te,[2,60]),t(te,[2,62]),{73:93,75:G,76:$,78:81,79:82,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J},{30:94,33:62,75:L,76:$,89:k,90:S},{5:[1,95]},{30:96,33:62,75:L,89:k,90:S},{5:[1,97]},{30:98,33:62,75:L,89:k,90:S},{63:[1,99]},t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(Z,[2,54]),t(Z,[2,55]),t(Z,[2,56]),{64:[1,100]},t(A,[2,59],{76:$}),t(A,[2,64],{76:xe}),{33:103,75:[1,102],89:k,90:S},t(de,[2,65],{79:104,75:G,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J}),t(Se,[2,67]),t(Se,[2,69]),t(Se,[2,70]),t(Se,[2,71]),t(Se,[2,72]),t(Se,[2,73]),t(Se,[2,74]),t(Se,[2,75]),t(Se,[2,76]),t(Se,[2,77]),t(Se,[2,78]),t(A,[2,57],{76:xe}),t(A,[2,58],{76:$}),{5:Me,28:105,31:ke,34:we,36:_e,38:$e,40:fe},{27:[1,112],76:$},{5:Ke,40:Te,56:113,57:Be,59:Ue},{27:[1,118],76:$},{33:119,89:k,90:S},{33:120,89:k,90:S},{75:G,78:121,79:82,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J},t(te,[2,61]),t(te,[2,63]),t(Se,[2,68]),t(A,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:Me,28:126,31:ke,34:we,36:_e,38:$e,40:fe},t(A,[2,28]),{5:[1,127]},t(A,[2,42]),{32:[1,128]},{32:[1,129]},{5:Ke,40:Te,56:130,57:Be,59:Ue},t(A,[2,47]),{5:[1,131]},t(A,[2,48]),t(A,[2,49]),t(de,[2,66],{79:104,75:G,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J}),{33:132,89:k,90:S},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(A,[2,27]),{5:Me,28:145,31:ke,34:we,36:_e,38:$e,40:fe},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(A,[2,46]),{5:Ke,40:Te,56:152,57:Be,59:Ue},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(A,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(A,[2,43]),{5:Me,28:159,31:ke,34:we,36:_e,38:$e,40:fe},{5:Me,28:160,31:ke,34:we,36:_e,38:$e,40:fe},{5:Me,28:161,31:ke,34:we,36:_e,38:$e,40:fe},{5:Me,28:162,31:ke,34:we,36:_e,38:$e,40:fe},{5:Ke,40:Te,56:163,57:Be,59:Ue},{5:Ke,40:Te,56:164,57:Be,59:Ue},t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),t(A,[2,26]),t(A,[2,44]),t(A,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:o(function(ae,U){if(U.recoverable)this.trace(ae);else{var ce=new Error(ae);throw ce.hash=U,ce}},"parseError"),parse:o(function(ae){var U=this,ce=[0],z=[],ne=[null],se=[],be=this.table,pe="",me=0,Re=0,ge=0,Ie=2,qe=1,Pe=se.slice.call(arguments,1),Xe=Object.create(this.lexer),oe={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(oe.yy[et]=this.yy[et]);Xe.setInput(ae,oe.yy),oe.yy.lexer=Xe,oe.yy.parser=this,typeof Xe.yylloc>"u"&&(Xe.yylloc={});var he=Xe.yylloc;se.push(he);var ot=Xe.options&&Xe.options.ranges;typeof oe.yy.parseError=="function"?this.parseError=oe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Dt(tr){ce.length=ce.length-2*tr,ne.length=ne.length-tr,se.length=se.length-tr}o(Dt,"popStack");function It(){var tr;return tr=z.pop()||Xe.lex()||qe,typeof tr!="number"&&(tr instanceof Array&&(z=tr,tr=z.pop()),tr=U.symbols_[tr]||tr),tr}o(It,"lex");for(var wt,Rt,it,at,Ct,yt,dt={},Ht,cr,Kt,kr;;){if(it=ce[ce.length-1],this.defaultActions[it]?at=this.defaultActions[it]:((wt===null||typeof wt>"u")&&(wt=It()),at=be[it]&&be[it][wt]),typeof at>"u"||!at.length||!at[0]){var ur="";kr=[];for(Ht in be[it])this.terminals_[Ht]&&Ht>Ie&&kr.push("'"+this.terminals_[Ht]+"'");Xe.showPosition?ur="Parse error on line "+(me+1)+`: +`+Xe.showPosition()+` +Expecting `+kr.join(", ")+", got '"+(this.terminals_[wt]||wt)+"'":ur="Parse error on line "+(me+1)+": Unexpected "+(wt==qe?"end of input":"'"+(this.terminals_[wt]||wt)+"'"),this.parseError(ur,{text:Xe.match,token:this.terminals_[wt]||wt,line:Xe.yylineno,loc:he,expected:kr})}if(at[0]instanceof Array&&at.length>1)throw new Error("Parse Error: multiple actions possible at state: "+it+", token: "+wt);switch(at[0]){case 1:ce.push(wt),ne.push(Xe.yytext),se.push(Xe.yylloc),ce.push(at[1]),wt=null,Rt?(wt=Rt,Rt=null):(Re=Xe.yyleng,pe=Xe.yytext,me=Xe.yylineno,he=Xe.yylloc,ge>0&&ge--);break;case 2:if(cr=this.productions_[at[1]][1],dt.$=ne[ne.length-cr],dt._$={first_line:se[se.length-(cr||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(cr||1)].first_column,last_column:se[se.length-1].last_column},ot&&(dt._$.range=[se[se.length-(cr||1)].range[0],se[se.length-1].range[1]]),yt=this.performAction.apply(dt,[pe,Re,me,oe.yy,at[1],ne,se].concat(Pe)),typeof yt<"u")return yt;cr&&(ce=ce.slice(0,-1*cr*2),ne=ne.slice(0,-1*cr),se=se.slice(0,-1*cr)),ce.push(this.productions_[at[1]][0]),ne.push(dt.$),se.push(dt._$),Kt=be[ce[ce.length-2]][ce[ce.length-1]],ce.push(Kt);break;case 3:return!0}}return!0},"parse")},Ne=(function(){var j={EOF:1,parseError:o(function(U,ce){if(this.yy.parser)this.yy.parser.parseError(U,ce);else throw new Error(U)},"parseError"),setInput:o(function(ae,U){return this.yy=U||this.yy||{},this._input=ae,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var ae=this._input[0];this.yytext+=ae,this.yyleng++,this.offset++,this.match+=ae,this.matched+=ae;var U=ae.match(/(?:\r\n?|\n).*/g);return U?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ae},"input"),unput:o(function(ae){var U=ae.length,ce=ae.split(/(?:\r\n?|\n)/g);this._input=ae+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var z=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),ce.length-1&&(this.yylineno-=ce.length-1);var ne=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:ce?(ce.length===z.length?this.yylloc.first_column:0)+z[z.length-ce.length].length-ce[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[ne[0],ne[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(ae){this.unput(this.match.slice(ae))},"less"),pastInput:o(function(){var ae=this.matched.substr(0,this.matched.length-this.match.length);return(ae.length>20?"...":"")+ae.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ae=this.match;return ae.length<20&&(ae+=this._input.substr(0,20-ae.length)),(ae.substr(0,20)+(ae.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ae=this.pastInput(),U=new Array(ae.length+1).join("-");return ae+this.upcomingInput()+` +`+U+"^"},"showPosition"),test_match:o(function(ae,U){var ce,z,ne;if(this.options.backtrack_lexer&&(ne={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&&(ne.yylloc.range=this.yylloc.range.slice(0))),z=ae[0].match(/(?:\r\n?|\n).*/g),z&&(this.yylineno+=z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:z?z[z.length-1].length-z[z.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ae[0].length},this.yytext+=ae[0],this.match+=ae[0],this.matches=ae,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(ae[0].length),this.matched+=ae[0],ce=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ce)return ce;if(this._backtrack){for(var se in ne)this[se]=ne[se];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ae,U,ce,z;this._more||(this.yytext="",this.match="");for(var ne=this._currentRules(),se=0;seU[0].length)){if(U=ce,z=se,this.options.backtrack_lexer){if(ae=this.test_match(ce,ne[se]),ae!==!1)return ae;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(ae=this.test_match(U,ne[z]),ae!==!1?ae:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var U=this.next();return U||this.lex()},"lex"),begin:o(function(U){this.conditionStack.push(U)},"begin"),popState:o(function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},"topState"),pushState:o(function(U){this.begin(U)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(U,ce,z,ne){var se=ne;switch(z){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return ce.yytext=ce.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return j})();Ge.lexer=Ne;function We(){this.yy={}}return o(We,"Parser"),We.prototype=Ge,Ge.Parser=We,new We})();Jq.parser=Jq;vwe=Jq});var z7,bwe=O(()=>{"use strict";jt();xt();si();z7=class{constructor(){this.relations=[];this.latestRequirement=this.getInitialRequirement();this.requirements=new Map;this.latestElement=this.getInitialElement();this.elements=new Map;this.classes=new Map;this.direction="TB";this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"};this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"};this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"};this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"};this.setAccTitle=Lr;this.getAccTitle=Or;this.setAccDescription=Pr;this.getAccDescription=Br;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getConfig=o(()=>ve().requirement,"getConfig");this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),K.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,_r()}setCssStyle(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(let a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(i)for(let a of r){i.classes.push(a);let s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(let n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){let e=ve(),r=[],n=[];for(let i of this.requirements.values()){let a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,r.push(a)}for(let i of this.elements.values()){let a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),r.push(a)}for(let i of this.relations){let a=0,s=i.type===this.Relationships.CONTAINS,l={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`\xAB${i.type}\xBB`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(l),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}}});var Dlt,Twe,wwe=O(()=>{"use strict";Dlt=o(t=>` marker { fill: ${t.relationColor}; @@ -1642,6 +1676,15 @@ Expecting `+Hr.join(", ")+", got '"+(this.terminals_[Mt]||Mt)+"'":mr="Parse erro .relationshipLabel { fill: ${t.relationLabelColor}; } + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + } + .edgeLabel .label rect { + fill: ${t.edgeLabelBackground}; + } + .edgeLabel .label text { + fill: ${t.relationLabelColor}; + } .divider { stroke: ${t.nodeBorder}; stroke-width: 1; @@ -1658,16 +1701,16 @@ Expecting `+Hr.join(", ")+", got '"+(this.terminals_[Mt]||Mt)+"'":mr="Parse erro background-color: ${t.edgeLabelBackground}; } -`,"getStyles"),B3e=Yst});var $q={};vr($q,{draw:()=>jst});var jst,$3e=I(()=>{"use strict";Qt();gt();y0();Cd();Ad();sr();jst=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing requirement diagram (unified)",e);let{securityLevel:i,state:a,layout:s}=xe(),l=n.db.getData(),u=xl(e,i);l.type=n.type,l.layoutAlgorithm=ku(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=["requirement_contains","requirement_arrow"],l.diagramId=e,await _l(l,u);let h=8;jt.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),mo(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw")});var z3e={};vr(z3e,{diagram:()=>Xst});var Xst,G3e=I(()=>{"use strict";O3e();P3e();F3e();$3e();Xst={parser:I3e,get db(){return new A7},renderer:$q,styles:B3e}});var zq,U3e,W3e=I(()=>{"use strict";zq=(function(){var t=o(function(ne,te,Q,le){for(Q=Q||{},le=ne.length;le--;Q[ne[le]]=te);return Q},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,13],u=[1,14],h=[1,16],f=[1,17],d=[1,18],p=[1,24],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],T=[1,31],E=[1,32],w=[1,33],k=[1,34],C=[1,35],D=[1,36],R=[1,37],O=[1,38],L=[1,39],S=[1,41],A=[1,42],_=[1,43],N=[1,44],M=[1,45],P=[1,46],B=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,55,60,61,62,63,71],F=[2,71],G=[4,5,16,50,52,53],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],V=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,55,60,61,62,63,71],K=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,55,60,61,62,63,71],ee=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,55,60,61,62,63,71],H=[69,70,71],he=[1,127],Z={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,actor_with_config:54,note:55,placement:56,text2:57,over:58,actor_pair:59,links:60,link:61,properties:62,details:63,spaceList:64,",":65,left_of:66,right_of:67,signaltype:68,"+":69,"-":70,ACTOR:71,config_object:72,CONFIG_START:73,CONFIG_CONTENT:74,CONFIG_END:75,SOLID_OPEN_ARROW:76,DOTTED_OPEN_ARROW:77,SOLID_ARROW:78,BIDIRECTIONAL_SOLID_ARROW:79,DOTTED_ARROW:80,BIDIRECTIONAL_DOTTED_ARROW:81,SOLID_CROSS:82,DOTTED_CROSS:83,SOLID_POINT:84,DOTTED_POINT:85,TXT:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",55:"note",58:"over",60:"links",61:"link",62:"properties",63:"details",65:",",66:"left_of",67:"right_of",69:"+",70:"-",71:"ACTOR",73:"CONFIG_START",74:"CONFIG_CONTENT",75:"CONFIG_END",76:"SOLID_OPEN_ARROW",77:"DOTTED_OPEN_ARROW",78:"SOLID_ARROW",79:"BIDIRECTIONAL_SOLID_ARROW",80:"DOTTED_ARROW",81:"BIDIRECTIONAL_DOTTED_ARROW",82:"SOLID_CROSS",83:"DOTTED_CROSS",84:"SOLID_POINT",85:"DOTTED_POINT",86:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[64,2],[64,1],[59,3],[59,1],[56,1],[56,1],[17,5],[17,5],[17,4],[54,2],[72,3],[22,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[57,1]],performAction:o(function(te,Q,le,J,ge,ie,Te){var j=ie.length-1;switch(ge){case 3:return J.apply(ie[j]),ie[j];break;case 4:case 9:this.$=[];break;case 5:case 10:ie[j-1].push(ie[j]),this.$=ie[j-1];break;case 6:case 7:case 11:case 12:this.$=ie[j];break;case 8:case 13:this.$=[];break;case 15:ie[j].type="createParticipant",this.$=ie[j];break;case 16:ie[j-1].unshift({type:"boxStart",boxData:J.parseBoxData(ie[j-2])}),ie[j-1].push({type:"boxEnd",boxText:ie[j-2]}),this.$=ie[j-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ie[j-2]),sequenceIndexStep:Number(ie[j-1]),sequenceVisible:!0,signalType:J.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ie[j-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:J.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:J.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:J.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:J.LINETYPE.ACTIVE_START,actor:ie[j-1].actor};break;case 23:this.$={type:"activeEnd",signalType:J.LINETYPE.ACTIVE_END,actor:ie[j-1].actor};break;case 29:J.setDiagramTitle(ie[j].substring(6)),this.$=ie[j].substring(6);break;case 30:J.setDiagramTitle(ie[j].substring(7)),this.$=ie[j].substring(7);break;case 31:this.$=ie[j].trim(),J.setAccTitle(this.$);break;case 32:case 33:this.$=ie[j].trim(),J.setAccDescription(this.$);break;case 34:ie[j-1].unshift({type:"loopStart",loopText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.LOOP_START}),ie[j-1].push({type:"loopEnd",loopText:ie[j-2],signalType:J.LINETYPE.LOOP_END}),this.$=ie[j-1];break;case 35:ie[j-1].unshift({type:"rectStart",color:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.RECT_START}),ie[j-1].push({type:"rectEnd",color:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.RECT_END}),this.$=ie[j-1];break;case 36:ie[j-1].unshift({type:"optStart",optText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.OPT_START}),ie[j-1].push({type:"optEnd",optText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.OPT_END}),this.$=ie[j-1];break;case 37:ie[j-1].unshift({type:"altStart",altText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.ALT_START}),ie[j-1].push({type:"altEnd",signalType:J.LINETYPE.ALT_END}),this.$=ie[j-1];break;case 38:ie[j-1].unshift({type:"parStart",parText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.PAR_START}),ie[j-1].push({type:"parEnd",signalType:J.LINETYPE.PAR_END}),this.$=ie[j-1];break;case 39:ie[j-1].unshift({type:"parStart",parText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.PAR_OVER_START}),ie[j-1].push({type:"parEnd",signalType:J.LINETYPE.PAR_END}),this.$=ie[j-1];break;case 40:ie[j-1].unshift({type:"criticalStart",criticalText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.CRITICAL_START}),ie[j-1].push({type:"criticalEnd",signalType:J.LINETYPE.CRITICAL_END}),this.$=ie[j-1];break;case 41:ie[j-1].unshift({type:"breakStart",breakText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.BREAK_START}),ie[j-1].push({type:"breakEnd",optText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.BREAK_END}),this.$=ie[j-1];break;case 43:this.$=ie[j-3].concat([{type:"option",optionText:J.parseMessage(ie[j-1]),signalType:J.LINETYPE.CRITICAL_OPTION},ie[j]]);break;case 45:this.$=ie[j-3].concat([{type:"and",parText:J.parseMessage(ie[j-1]),signalType:J.LINETYPE.PAR_AND},ie[j]]);break;case 47:this.$=ie[j-3].concat([{type:"else",altText:J.parseMessage(ie[j-1]),signalType:J.LINETYPE.ALT_ELSE},ie[j]]);break;case 48:ie[j-3].draw="participant",ie[j-3].type="addParticipant",ie[j-3].description=J.parseMessage(ie[j-1]),this.$=ie[j-3];break;case 49:ie[j-1].draw="participant",ie[j-1].type="addParticipant",this.$=ie[j-1];break;case 50:ie[j-3].draw="actor",ie[j-3].type="addParticipant",ie[j-3].description=J.parseMessage(ie[j-1]),this.$=ie[j-3];break;case 51:ie[j-1].draw="actor",ie[j-1].type="addParticipant",this.$=ie[j-1];break;case 52:ie[j-1].type="destroyParticipant",this.$=ie[j-1];break;case 53:ie[j-1].draw="participant",ie[j-1].type="addParticipant",this.$=ie[j-1];break;case 54:this.$=[ie[j-1],{type:"addNote",placement:ie[j-2],actor:ie[j-1].actor,text:ie[j]}];break;case 55:ie[j-2]=[].concat(ie[j-1],ie[j-1]).slice(0,2),ie[j-2][0]=ie[j-2][0].actor,ie[j-2][1]=ie[j-2][1].actor,this.$=[ie[j-1],{type:"addNote",placement:J.PLACEMENT.OVER,actor:ie[j-2].slice(0,2),text:ie[j]}];break;case 56:this.$=[ie[j-1],{type:"addLinks",actor:ie[j-1].actor,text:ie[j]}];break;case 57:this.$=[ie[j-1],{type:"addALink",actor:ie[j-1].actor,text:ie[j]}];break;case 58:this.$=[ie[j-1],{type:"addProperties",actor:ie[j-1].actor,text:ie[j]}];break;case 59:this.$=[ie[j-1],{type:"addDetails",actor:ie[j-1].actor,text:ie[j]}];break;case 62:this.$=[ie[j-2],ie[j]];break;case 63:this.$=ie[j];break;case 64:this.$=J.PLACEMENT.LEFTOF;break;case 65:this.$=J.PLACEMENT.RIGHTOF;break;case 66:this.$=[ie[j-4],ie[j-1],{type:"addMessage",from:ie[j-4].actor,to:ie[j-1].actor,signalType:ie[j-3],msg:ie[j],activate:!0},{type:"activeStart",signalType:J.LINETYPE.ACTIVE_START,actor:ie[j-1].actor}];break;case 67:this.$=[ie[j-4],ie[j-1],{type:"addMessage",from:ie[j-4].actor,to:ie[j-1].actor,signalType:ie[j-3],msg:ie[j]},{type:"activeEnd",signalType:J.LINETYPE.ACTIVE_END,actor:ie[j-4].actor}];break;case 68:this.$=[ie[j-3],ie[j-1],{type:"addMessage",from:ie[j-3].actor,to:ie[j-1].actor,signalType:ie[j-2],msg:ie[j]}];break;case 69:this.$={type:"addParticipant",actor:ie[j-1],config:ie[j]};break;case 70:this.$=ie[j-1].trim();break;case 71:this.$={type:"addParticipant",actor:ie[j]};break;case 72:this.$=J.LINETYPE.SOLID_OPEN;break;case 73:this.$=J.LINETYPE.DOTTED_OPEN;break;case 74:this.$=J.LINETYPE.SOLID;break;case 75:this.$=J.LINETYPE.BIDIRECTIONAL_SOLID;break;case 76:this.$=J.LINETYPE.DOTTED;break;case 77:this.$=J.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 78:this.$=J.LINETYPE.SOLID_CROSS;break;case 79:this.$=J.LINETYPE.DOTTED_CROSS;break;case 80:this.$=J.LINETYPE.SOLID_POINT;break;case 81:this.$=J.LINETYPE.DOTTED_POINT;break;case 82:this.$=J.parseMessage(ie[j].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},t(B,[2,5]),{9:47,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},t(B,[2,7]),t(B,[2,8]),t(B,[2,14]),{12:48,50:R,52:O,53:L},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,71:P},{22:55,71:P},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(B,[2,29]),t(B,[2,30]),{32:[1,61]},{34:[1,62]},t(B,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,54:72,71:[1,73]},{22:74,71:P},{22:75,71:P},{68:76,76:[1,77],77:[1,78],78:[1,79],79:[1,80],80:[1,81],81:[1,82],82:[1,83],83:[1,84],84:[1,85],85:[1,86]},{56:87,58:[1,88],66:[1,89],67:[1,90]},{22:91,71:P},{22:92,71:P},{22:93,71:P},{22:94,71:P},t([5,51,65,76,77,78,79,80,81,82,83,84,85,86],F),t(B,[2,6]),t(B,[2,15]),t(G,[2,9],{10:95}),t(B,[2,17]),{5:[1,97],19:[1,96]},{5:[1,98]},t(B,[2,21]),{5:[1,99]},{5:[1,100]},t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),t(B,[2,31]),t(B,[2,32]),t($,i,{7:101}),t($,i,{7:102}),t($,i,{7:103}),t(V,i,{40:104,7:105}),t(K,i,{42:106,7:107}),t(K,i,{7:107,42:108}),t(ee,i,{45:109,7:110}),t($,i,{7:111}),{5:[1,113],51:[1,112]},{5:[1,114]},t([5,51],F,{72:115,73:[1,116]}),{5:[1,118],51:[1,117]},{5:[1,119]},{22:122,69:[1,120],70:[1,121],71:P},t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(H,[2,81]),{22:123,71:P},{22:125,59:124,71:P},{71:[2,64]},{71:[2,65]},{57:126,86:he},{57:128,86:he},{57:129,86:he},{57:130,86:he},{4:[1,133],5:[1,135],11:132,12:134,16:[1,131],50:R,52:O,53:L},{5:[1,136]},t(B,[2,19]),t(B,[2,20]),t(B,[2,22]),t(B,[2,23]),{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,137],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,138],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,139],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{16:[1,140]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,46],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,49:[1,141],50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{16:[1,142]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,44],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,48:[1,143],50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{16:[1,144]},{16:[1,145]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,42],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,47:[1,146],50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,147],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{15:[1,148]},t(B,[2,49]),t(B,[2,53]),{5:[2,69]},{74:[1,149]},{15:[1,150]},t(B,[2,51]),t(B,[2,52]),{22:151,71:P},{22:152,71:P},{57:153,86:he},{57:154,86:he},{57:155,86:he},{65:[1,156],86:[2,63]},{5:[2,56]},{5:[2,82]},{5:[2,57]},{5:[2,58]},{5:[2,59]},t(B,[2,16]),t(G,[2,10]),{12:157,50:R,52:O,53:L},t(G,[2,12]),t(G,[2,13]),t(B,[2,18]),t(B,[2,34]),t(B,[2,35]),t(B,[2,36]),t(B,[2,37]),{15:[1,158]},t(B,[2,38]),{15:[1,159]},t(B,[2,39]),t(B,[2,40]),{15:[1,160]},t(B,[2,41]),{5:[1,161]},{75:[1,162]},{5:[1,163]},{57:164,86:he},{57:165,86:he},{5:[2,68]},{5:[2,54]},{5:[2,55]},{22:166,71:P},t(G,[2,11]),t(V,i,{7:105,40:167}),t(K,i,{7:107,42:168}),t(ee,i,{7:110,45:169}),t(B,[2,48]),{5:[2,70]},t(B,[2,50]),{5:[2,66]},{5:[2,67]},{86:[2,62]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],89:[2,64],90:[2,65],115:[2,69],126:[2,56],127:[2,82],128:[2,57],129:[2,58],130:[2,59],153:[2,68],154:[2,54],155:[2,55],162:[2,70],164:[2,66],165:[2,67],166:[2,62],167:[2,47],168:[2,45],169:[2,43]},parseError:o(function(te,Q){if(Q.recoverable)this.trace(te);else{var le=new Error(te);throw le.hash=Q,le}},"parseError"),parse:o(function(te){var Q=this,le=[0],J=[],ge=[null],ie=[],Te=this.table,j="",Ge=0,ye=0,$e=0,Xe=2,Ue=1,Le=ie.slice.call(arguments,1),Ie=Object.create(this.lexer),Me={yy:{}};for(var Ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ae)&&(Me.yy[Ae]=this.yy[Ae]);Ie.setInput(te,Me.yy),Me.yy.lexer=Ie,Me.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ze=Ie.yylloc;ie.push(ze);var Y=Ie.options&&Ie.options.ranges;typeof Me.yy.parseError=="function"?this.parseError=Me.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ce(je){le.length=le.length-2*je,ge.length=ge.length-je,ie.length=ie.length-je}o(ce,"popStack");function U(){var je;return je=J.pop()||Ie.lex()||Ue,typeof je!="number"&&(je instanceof Array&&(J=je,je=J.pop()),je=Q.symbols_[je]||je),je}o(U,"lex");for(var ue,z,se,oe,be,pe,me={},De,Ce,Fe,Ye;;){if(se=le[le.length-1],this.defaultActions[se]?oe=this.defaultActions[se]:((ue===null||typeof ue>"u")&&(ue=U()),oe=Te[se]&&Te[se][ue]),typeof oe>"u"||!oe.length||!oe[0]){var xt="";Ye=[];for(De in Te[se])this.terminals_[De]&&De>Xe&&Ye.push("'"+this.terminals_[De]+"'");Ie.showPosition?xt="Parse error on line "+(Ge+1)+`: -`+Ie.showPosition()+` -Expecting `+Ye.join(", ")+", got '"+(this.terminals_[ue]||ue)+"'":xt="Parse error on line "+(Ge+1)+": Unexpected "+(ue==Ue?"end of input":"'"+(this.terminals_[ue]||ue)+"'"),this.parseError(xt,{text:Ie.match,token:this.terminals_[ue]||ue,line:Ie.yylineno,loc:ze,expected:Ye})}if(oe[0]instanceof Array&&oe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+ue);switch(oe[0]){case 1:le.push(ue),ge.push(Ie.yytext),ie.push(Ie.yylloc),le.push(oe[1]),ue=null,z?(ue=z,z=null):(ye=Ie.yyleng,j=Ie.yytext,Ge=Ie.yylineno,ze=Ie.yylloc,$e>0&&$e--);break;case 2:if(Ce=this.productions_[oe[1]][1],me.$=ge[ge.length-Ce],me._$={first_line:ie[ie.length-(Ce||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(Ce||1)].first_column,last_column:ie[ie.length-1].last_column},Y&&(me._$.range=[ie[ie.length-(Ce||1)].range[0],ie[ie.length-1].range[1]]),pe=this.performAction.apply(me,[j,ye,Ge,Me.yy,oe[1],ge,ie].concat(Le)),typeof pe<"u")return pe;Ce&&(le=le.slice(0,-1*Ce*2),ge=ge.slice(0,-1*Ce),ie=ie.slice(0,-1*Ce)),le.push(this.productions_[oe[1]][0]),ge.push(me.$),ie.push(me._$),Fe=Te[le[le.length-2]][le[le.length-1]],le.push(Fe);break;case 3:return!0}}return!0},"parse")},de=(function(){var ne={EOF:1,parseError:o(function(Q,le){if(this.yy.parser)this.yy.parser.parseError(Q,le);else throw new Error(Q)},"parseError"),setInput:o(function(te,Q){return this.yy=Q||this.yy||{},this._input=te,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var te=this._input[0];this.yytext+=te,this.yyleng++,this.offset++,this.match+=te,this.matched+=te;var Q=te.match(/(?:\r\n?|\n).*/g);return Q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),te},"input"),unput:o(function(te){var Q=te.length,le=te.split(/(?:\r\n?|\n)/g);this._input=te+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Q),this.offset-=Q;var J=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),le.length-1&&(this.yylineno-=le.length-1);var ge=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:le?(le.length===J.length?this.yylloc.first_column:0)+J[J.length-le.length].length-le[0].length:this.yylloc.first_column-Q},this.options.ranges&&(this.yylloc.range=[ge[0],ge[0]+this.yyleng-Q]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(te){this.unput(this.match.slice(te))},"less"),pastInput:o(function(){var te=this.matched.substr(0,this.matched.length-this.match.length);return(te.length>20?"...":"")+te.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var te=this.match;return te.length<20&&(te+=this._input.substr(0,20-te.length)),(te.substr(0,20)+(te.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var te=this.pastInput(),Q=new Array(te.length+1).join("-");return te+this.upcomingInput()+` -`+Q+"^"},"showPosition"),test_match:o(function(te,Q){var le,J,ge;if(this.options.backtrack_lexer&&(ge={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&&(ge.yylloc.range=this.yylloc.range.slice(0))),J=te[0].match(/(?:\r\n?|\n).*/g),J&&(this.yylineno+=J.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:J?J[J.length-1].length-J[J.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+te[0].length},this.yytext+=te[0],this.match+=te[0],this.matches=te,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(te[0].length),this.matched+=te[0],le=this.performAction.call(this,this.yy,this,Q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),le)return le;if(this._backtrack){for(var ie in ge)this[ie]=ge[ie];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var te,Q,le,J;this._more||(this.yytext="",this.match="");for(var ge=this._currentRules(),ie=0;ieQ[0].length)){if(Q=le,J=ie,this.options.backtrack_lexer){if(te=this.test_match(le,ge[ie]),te!==!1)return te;if(this._backtrack){Q=!1;continue}else return!1}else if(!this.options.flex)break}return Q?(te=this.test_match(Q,ge[J]),te!==!1?te:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Q=this.next();return Q||this.lex()},"lex"),begin:o(function(Q){this.conditionStack.push(Q)},"begin"),popState:o(function(){var Q=this.conditionStack.length-1;return Q>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Q){return Q=this.conditionStack.length-1-Math.abs(Q||0),Q>=0?this.conditionStack[Q]:"INITIAL"},"topState"),pushState:o(function(Q){this.begin(Q)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Q,le,J,ge){var ie=ge;switch(J){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("CONFIG"),73;break;case 8:return 74;case 9:return this.popState(),this.popState(),75;break;case 10:return le.yytext=le.yytext.trim(),71;break;case 11:return le.yytext=le.yytext.trim(),this.begin("ALIAS"),71;break;case 12:return this.begin("LINE"),14;break;case 13:return this.begin("ID"),50;break;case 14:return this.begin("ID"),52;break;case 15:return 13;case 16:return this.begin("ID"),53;break;case 17:return le.yytext=le.yytext.trim(),this.begin("ALIAS"),71;break;case 18:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 19:return this.popState(),this.popState(),5;break;case 20:return this.begin("LINE"),36;break;case 21:return this.begin("LINE"),37;break;case 22:return this.begin("LINE"),38;break;case 23:return this.begin("LINE"),39;break;case 24:return this.begin("LINE"),49;break;case 25:return this.begin("LINE"),41;break;case 26:return this.begin("LINE"),43;break;case 27:return this.begin("LINE"),48;break;case 28:return this.begin("LINE"),44;break;case 29:return this.begin("LINE"),47;break;case 30:return this.begin("LINE"),46;break;case 31:return this.popState(),15;break;case 32:return 16;case 33:return 66;case 34:return 67;case 35:return 60;case 36:return 61;case 37:return 62;case 38:return 63;case 39:return 58;case 40:return 55;case 41:return this.begin("ID"),21;break;case 42:return this.begin("ID"),23;break;case 43:return 29;case 44:return 30;case 45:return this.begin("acc_title"),31;break;case 46:return this.popState(),"acc_title_value";break;case 47:return this.begin("acc_descr"),33;break;case 48:return this.popState(),"acc_descr_value";break;case 49:this.begin("acc_descr_multiline");break;case 50:this.popState();break;case 51:return"acc_descr_multiline_value";case 52:return 6;case 53:return 18;case 54:return 20;case 55:return 65;case 56:return 5;case 57:return le.yytext=le.yytext.trim(),71;break;case 58:return 78;case 59:return 79;case 60:return 80;case 61:return 81;case 62:return 76;case 63:return 77;case 64:return 82;case 65:return 83;case 66:return 84;case 67:return 85;case 68:return 86;case 69:return 86;case 70:return 69;case 71:return 70;case 72:return 5;case 73:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^\<->\->:\n,;@]+?([\-]*[^\<->\->:\n,;@]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^<\->\->:\n,;]+?([\-]*[^<\->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[50,51],inclusive:!1},acc_descr:{rules:[48],inclusive:!1},acc_title:{rules:[46],inclusive:!1},ID:{rules:[2,3,7,10,11,17],inclusive:!1},ALIAS:{rules:[2,3,18,19],inclusive:!1},LINE:{rules:[2,3,31],inclusive:!1},CONFIG:{rules:[8,9],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,49,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73],inclusive:!0}}};return ne})();Z.lexer=de;function re(){this.yy={}}return o(re,"Parser"),re.prototype=Z,Z.Parser=re,new re})();zq.parser=zq;U3e=zq});var Jst,eot,tot,n3,_7,Gq=I(()=>{"use strict";Qt();Hx();gt();KV();wr();ki();Jst={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},eot={FILLED:0,OPEN:1},tot={LEFTOF:0,RIGHTOF:1,OVER:2},n3={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},_7=class{constructor(){this.state=new wv(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}));this.setAccTitle=zr;this.setAccDescription=qr;this.setDiagramTitle=Xr;this.getAccTitle=Vr;this.getAccDescription=Ur;this.getDiagramTitle=Wr;this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(xe().wrap),this.LINETYPE=Jst,this.ARROWTYPE=eot,this.PLACEMENT=tot}static{o(this,"SequenceDB")}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,l;if(a!==void 0){let h;a.includes(` +`,"getStyles"),Twe=Dlt});var eU={};vr(eU,{draw:()=>Rlt});var Rlt,kwe=O(()=>{"use strict";jt();xt();b0();Rd();Ld();ar();Rlt=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing requirement diagram (unified)",e);let{securityLevel:i,state:a,layout:s}=ve(),l=n.db.getData(),u=Sl(e,i);l.type=n.type,l.layoutAlgorithm=Ru(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=["requirement_contains","requirement_arrow"],l.diagramId=e,await Ol(l,u);let h=8;Xt.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),bo(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw")});var Ewe={};vr(Ewe,{diagram:()=>Llt});var Llt,Swe=O(()=>{"use strict";xwe();bwe();wwe();kwe();Llt={parser:vwe,get db(){return new z7},renderer:eU,styles:Twe}});var tU,_we,Dwe=O(()=>{"use strict";tU=(function(){var t=o(function(Re,ge,Ie,qe){for(Ie=Ie||{},qe=Re.length;qe--;Ie[Re[qe]]=ge);return Ie},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,12],u=[1,14],h=[1,15],f=[1,17],d=[1,18],p=[1,19],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],T=[1,31],E=[1,32],w=[1,33],k=[1,34],S=[1,35],A=[1,36],L=[1,37],I=[1,38],N=[1,39],C=[1,40],_=[1,42],D=[1,43],M=[1,44],R=[1,45],P=[1,46],B=[1,47],F=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],G=[1,74],$=[1,80],V=[1,81],X=[1,82],Q=[1,83],H=[1,84],ie=[1,85],Y=[1,86],le=[1,87],ee=[1,88],J=[1,89],te=[1,90],Z=[1,91],xe=[1,92],de=[1,93],Se=[1,94],Me=[1,95],ke=[1,96],we=[1,97],_e=[1,98],$e=[1,99],fe=[1,100],Ke=[1,101],Te=[1,102],Be=[1,103],Ue=[1,104],Ge=[1,105],Ne=[2,78],We=[4,5,17,51,53,54],j=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],ae=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],U=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],ce=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],z=[5,52],ne=[70,71,72,73],se=[1,151],be={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:o(function(ge,Ie,qe,Pe,Xe,oe,et){var he=oe.length-1;switch(Xe){case 3:return Pe.apply(oe[he]),oe[he];break;case 4:case 10:this.$=[];break;case 5:case 11:oe[he-1].push(oe[he]),this.$=oe[he-1];break;case 6:case 7:case 12:case 13:this.$=oe[he];break;case 8:case 9:case 14:this.$=[];break;case 16:oe[he].type="createParticipant",this.$=oe[he];break;case 17:oe[he-1].unshift({type:"boxStart",boxData:Pe.parseBoxData(oe[he-2])}),oe[he-1].push({type:"boxEnd",boxText:oe[he-2]}),this.$=oe[he-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(oe[he-2]),sequenceIndexStep:Number(oe[he-1]),sequenceVisible:!0,signalType:Pe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(oe[he-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:Pe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:Pe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:Pe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:Pe.LINETYPE.ACTIVE_START,actor:oe[he-1].actor};break;case 24:this.$={type:"activeEnd",signalType:Pe.LINETYPE.ACTIVE_END,actor:oe[he-1].actor};break;case 30:Pe.setDiagramTitle(oe[he].substring(6)),this.$=oe[he].substring(6);break;case 31:Pe.setDiagramTitle(oe[he].substring(7)),this.$=oe[he].substring(7);break;case 32:this.$=oe[he].trim(),Pe.setAccTitle(this.$);break;case 33:case 34:this.$=oe[he].trim(),Pe.setAccDescription(this.$);break;case 35:oe[he-1].unshift({type:"loopStart",loopText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.LOOP_START}),oe[he-1].push({type:"loopEnd",loopText:oe[he-2],signalType:Pe.LINETYPE.LOOP_END}),this.$=oe[he-1];break;case 36:oe[he-1].unshift({type:"rectStart",color:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.RECT_START}),oe[he-1].push({type:"rectEnd",color:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.RECT_END}),this.$=oe[he-1];break;case 37:oe[he-1].unshift({type:"optStart",optText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.OPT_START}),oe[he-1].push({type:"optEnd",optText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.OPT_END}),this.$=oe[he-1];break;case 38:oe[he-1].unshift({type:"altStart",altText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.ALT_START}),oe[he-1].push({type:"altEnd",signalType:Pe.LINETYPE.ALT_END}),this.$=oe[he-1];break;case 39:oe[he-1].unshift({type:"parStart",parText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.PAR_START}),oe[he-1].push({type:"parEnd",signalType:Pe.LINETYPE.PAR_END}),this.$=oe[he-1];break;case 40:oe[he-1].unshift({type:"parStart",parText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.PAR_OVER_START}),oe[he-1].push({type:"parEnd",signalType:Pe.LINETYPE.PAR_END}),this.$=oe[he-1];break;case 41:oe[he-1].unshift({type:"criticalStart",criticalText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.CRITICAL_START}),oe[he-1].push({type:"criticalEnd",signalType:Pe.LINETYPE.CRITICAL_END}),this.$=oe[he-1];break;case 42:oe[he-1].unshift({type:"breakStart",breakText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.BREAK_START}),oe[he-1].push({type:"breakEnd",optText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.BREAK_END}),this.$=oe[he-1];break;case 44:this.$=oe[he-3].concat([{type:"option",optionText:Pe.parseMessage(oe[he-1]),signalType:Pe.LINETYPE.CRITICAL_OPTION},oe[he]]);break;case 46:this.$=oe[he-3].concat([{type:"and",parText:Pe.parseMessage(oe[he-1]),signalType:Pe.LINETYPE.PAR_AND},oe[he]]);break;case 48:this.$=oe[he-3].concat([{type:"else",altText:Pe.parseMessage(oe[he-1]),signalType:Pe.LINETYPE.ALT_ELSE},oe[he]]);break;case 49:oe[he-3].draw="participant",oe[he-3].type="addParticipant",oe[he-3].description=Pe.parseMessage(oe[he-1]),this.$=oe[he-3];break;case 50:oe[he-1].draw="participant",oe[he-1].type="addParticipant",this.$=oe[he-1];break;case 51:oe[he-3].draw="actor",oe[he-3].type="addParticipant",oe[he-3].description=Pe.parseMessage(oe[he-1]),this.$=oe[he-3];break;case 52:case 57:oe[he-1].draw="actor",oe[he-1].type="addParticipant",this.$=oe[he-1];break;case 53:oe[he-1].type="destroyParticipant",this.$=oe[he-1];break;case 54:oe[he-3].draw="participant",oe[he-3].type="addParticipant",oe[he-3].description=Pe.parseMessage(oe[he-1]),this.$=oe[he-3];break;case 55:oe[he-1].draw="participant",oe[he-1].type="addParticipant",this.$=oe[he-1];break;case 56:oe[he-3].draw="actor",oe[he-3].type="addParticipant",oe[he-3].description=Pe.parseMessage(oe[he-1]),this.$=oe[he-3];break;case 58:this.$=[oe[he-1],{type:"addNote",placement:oe[he-2],actor:oe[he-1].actor,text:oe[he]}];break;case 59:oe[he-2]=[].concat(oe[he-1],oe[he-1]).slice(0,2),oe[he-2][0]=oe[he-2][0].actor,oe[he-2][1]=oe[he-2][1].actor,this.$=[oe[he-1],{type:"addNote",placement:Pe.PLACEMENT.OVER,actor:oe[he-2].slice(0,2),text:oe[he]}];break;case 60:this.$=[oe[he-1],{type:"addLinks",actor:oe[he-1].actor,text:oe[he]}];break;case 61:this.$=[oe[he-1],{type:"addALink",actor:oe[he-1].actor,text:oe[he]}];break;case 62:this.$=[oe[he-1],{type:"addProperties",actor:oe[he-1].actor,text:oe[he]}];break;case 63:this.$=[oe[he-1],{type:"addDetails",actor:oe[he-1].actor,text:oe[he]}];break;case 66:this.$=[oe[he-2],oe[he]];break;case 67:this.$=oe[he];break;case 68:this.$=Pe.PLACEMENT.LEFTOF;break;case 69:this.$=Pe.PLACEMENT.RIGHTOF;break;case 70:this.$=[oe[he-4],oe[he-1],{type:"addMessage",from:oe[he-4].actor,to:oe[he-1].actor,signalType:oe[he-3],msg:oe[he],activate:!0},{type:"activeStart",signalType:Pe.LINETYPE.ACTIVE_START,actor:oe[he-1].actor}];break;case 71:this.$=[oe[he-4],oe[he-1],{type:"addMessage",from:oe[he-4].actor,to:oe[he-1].actor,signalType:oe[he-3],msg:oe[he]},{type:"activeEnd",signalType:Pe.LINETYPE.ACTIVE_END,actor:oe[he-4].actor}];break;case 72:this.$=[oe[he-4],oe[he-1],{type:"addMessage",from:oe[he-4].actor,to:oe[he-1].actor,signalType:oe[he-3],msg:oe[he],activate:!0,centralConnection:Pe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:Pe.LINETYPE.CENTRAL_CONNECTION,actor:oe[he-1].actor}];break;case 73:this.$=[oe[he-4],oe[he-1],{type:"addMessage",from:oe[he-4].actor,to:oe[he-1].actor,signalType:oe[he-2],msg:oe[he],activate:!1,centralConnection:Pe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:Pe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:oe[he-4].actor}];break;case 74:this.$=[oe[he-5],oe[he-1],{type:"addMessage",from:oe[he-5].actor,to:oe[he-1].actor,signalType:oe[he-3],msg:oe[he],activate:!0,centralConnection:Pe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:Pe.LINETYPE.CENTRAL_CONNECTION,actor:oe[he-1].actor},{type:"centralConnectionReverse",signalType:Pe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:oe[he-5].actor}];break;case 75:this.$=[oe[he-3],oe[he-1],{type:"addMessage",from:oe[he-3].actor,to:oe[he-1].actor,signalType:oe[he-2],msg:oe[he]}];break;case 76:this.$={type:"addParticipant",actor:oe[he-1],config:oe[he]};break;case 77:this.$=oe[he-1].trim();break;case 78:this.$={type:"addParticipant",actor:oe[he]};break;case 79:this.$=Pe.LINETYPE.SOLID_OPEN;break;case 80:this.$=Pe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=Pe.LINETYPE.SOLID;break;case 82:this.$=Pe.LINETYPE.SOLID_TOP;break;case 83:this.$=Pe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=Pe.LINETYPE.STICK_TOP;break;case 85:this.$=Pe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=Pe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=Pe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=Pe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=Pe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=Pe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=Pe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=Pe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=Pe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=Pe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=Pe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=Pe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=Pe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=Pe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=Pe.LINETYPE.DOTTED;break;case 100:this.$=Pe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=Pe.LINETYPE.SOLID_CROSS;break;case 102:this.$=Pe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=Pe.LINETYPE.SOLID_POINT;break;case 104:this.$=Pe.LINETYPE.DOTTED_POINT;break;case 105:this.$=Pe.parseMessage(oe[he].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},t(F,[2,5]),{9:48,13:13,14:u,15:h,18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},t(F,[2,7]),t(F,[2,8]),t(F,[2,9]),t(F,[2,15]),{13:49,51:I,53:N,54:C},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:B},{23:56,73:B},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(F,[2,30]),t(F,[2,31]),{33:[1,62]},{35:[1,63]},t(F,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:G},{23:75,55:76,73:G},{23:77,73:B},{69:78,72:[1,79],78:$,79:V,80:X,81:Q,82:H,83:ie,84:Y,85:le,86:ee,87:J,88:te,89:Z,90:xe,91:de,92:Se,93:Me,94:ke,95:we,96:_e,97:$e,98:fe,99:Ke,100:Te,101:Be,102:Ue,103:Ge},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:B},{23:111,73:B},{23:112,73:B},{23:113,73:B},t([5,66,72,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],Ne),t(F,[2,6]),t(F,[2,16]),t(We,[2,10],{11:114}),t(F,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(F,[2,22]),{5:[1,118]},{5:[1,119]},t(F,[2,25]),t(F,[2,26]),t(F,[2,27]),t(F,[2,28]),t(F,[2,29]),t(F,[2,32]),t(F,[2,33]),t(j,i,{7:120}),t(j,i,{7:121}),t(j,i,{7:122}),t(ae,i,{41:123,7:124}),t(U,i,{43:125,7:126}),t(U,i,{7:126,43:127}),t(ce,i,{46:128,7:129}),t(j,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(z,Ne,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:B},{69:146,78:$,79:V,80:X,81:Q,82:H,83:ie,84:Y,85:le,86:ee,87:J,88:te,89:Z,90:xe,91:de,92:Se,93:Me,94:ke,95:we,96:_e,97:$e,98:fe,99:Ke,100:Te,101:Be,102:Ue,103:Ge},t(ne,[2,79]),t(ne,[2,80]),t(ne,[2,81]),t(ne,[2,82]),t(ne,[2,83]),t(ne,[2,84]),t(ne,[2,85]),t(ne,[2,86]),t(ne,[2,87]),t(ne,[2,88]),t(ne,[2,89]),t(ne,[2,90]),t(ne,[2,91]),t(ne,[2,92]),t(ne,[2,93]),t(ne,[2,94]),t(ne,[2,95]),t(ne,[2,96]),t(ne,[2,97]),t(ne,[2,98]),t(ne,[2,99]),t(ne,[2,100]),t(ne,[2,101]),t(ne,[2,102]),t(ne,[2,103]),t(ne,[2,104]),{23:147,73:B},{23:149,60:148,73:B},{73:[2,68]},{73:[2,69]},{58:150,104:se},{58:152,104:se},{58:153,104:se},{58:154,104:se},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:I,53:N,54:C},{5:[1,160]},t(F,[2,20]),t(F,[2,21]),t(F,[2,23]),t(F,[2,24]),{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,161],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,162],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,163],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{17:[1,164]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,47],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,50:[1,165],51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{17:[1,166]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,45],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,49:[1,167],51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,43],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,48:[1,170],51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,171],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{16:[1,172]},t(F,[2,50]),{16:[1,173]},t(F,[2,55]),t(z,[2,76]),{76:[1,174]},{16:[1,175]},t(F,[2,52]),{16:[1,176]},t(F,[2,57]),t(F,[2,53]),{23:177,73:B},{23:178,73:B},{23:179,73:B},{58:180,104:se},{23:181,72:[1,182],73:B},{58:183,104:se},{58:184,104:se},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(F,[2,17]),t(We,[2,11]),{13:186,51:I,53:N,54:C},t(We,[2,13]),t(We,[2,14]),t(F,[2,19]),t(F,[2,35]),t(F,[2,36]),t(F,[2,37]),t(F,[2,38]),{16:[1,187]},t(F,[2,39]),{16:[1,188]},t(F,[2,40]),t(F,[2,41]),{16:[1,189]},t(F,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:se},{58:196,104:se},{58:197,104:se},{5:[2,75]},{58:198,104:se},{23:199,73:B},{5:[2,58]},{5:[2,59]},{23:200,73:B},t(We,[2,12]),t(ae,i,{7:124,41:201}),t(U,i,{7:126,43:202}),t(ce,i,{7:129,46:203}),t(F,[2,49]),t(F,[2,54]),t(z,[2,77]),t(F,[2,51]),t(F,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:se},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:o(function(ge,Ie){if(Ie.recoverable)this.trace(ge);else{var qe=new Error(ge);throw qe.hash=Ie,qe}},"parseError"),parse:o(function(ge){var Ie=this,qe=[0],Pe=[],Xe=[null],oe=[],et=this.table,he="",ot=0,Dt=0,It=0,wt=2,Rt=1,it=oe.slice.call(arguments,1),at=Object.create(this.lexer),Ct={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(Ct.yy[yt]=this.yy[yt]);at.setInput(ge,Ct.yy),Ct.yy.lexer=at,Ct.yy.parser=this,typeof at.yylloc>"u"&&(at.yylloc={});var dt=at.yylloc;oe.push(dt);var Ht=at.options&&at.options.ranges;typeof Ct.yy.parseError=="function"?this.parseError=Ct.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function cr(Cr){qe.length=qe.length-2*Cr,Xe.length=Xe.length-Cr,oe.length=oe.length-Cr}o(cr,"popStack");function Kt(){var Cr;return Cr=Pe.pop()||at.lex()||Rt,typeof Cr!="number"&&(Cr instanceof Array&&(Pe=Cr,Cr=Pe.pop()),Cr=Ie.symbols_[Cr]||Cr),Cr}o(Kt,"lex");for(var kr,ur,tr,hr,_n,mt,Le={},ct,St,Mr,tn;;){if(tr=qe[qe.length-1],this.defaultActions[tr]?hr=this.defaultActions[tr]:((kr===null||typeof kr>"u")&&(kr=Kt()),hr=et[tr]&&et[tr][kr]),typeof hr>"u"||!hr.length||!hr[0]){var cn="";tn=[];for(ct in et[tr])this.terminals_[ct]&&ct>wt&&tn.push("'"+this.terminals_[ct]+"'");at.showPosition?cn="Parse error on line "+(ot+1)+`: +`+at.showPosition()+` +Expecting `+tn.join(", ")+", got '"+(this.terminals_[kr]||kr)+"'":cn="Parse error on line "+(ot+1)+": Unexpected "+(kr==Rt?"end of input":"'"+(this.terminals_[kr]||kr)+"'"),this.parseError(cn,{text:at.match,token:this.terminals_[kr]||kr,line:at.yylineno,loc:dt,expected:tn})}if(hr[0]instanceof Array&&hr.length>1)throw new Error("Parse Error: multiple actions possible at state: "+tr+", token: "+kr);switch(hr[0]){case 1:qe.push(kr),Xe.push(at.yytext),oe.push(at.yylloc),qe.push(hr[1]),kr=null,ur?(kr=ur,ur=null):(Dt=at.yyleng,he=at.yytext,ot=at.yylineno,dt=at.yylloc,It>0&&It--);break;case 2:if(St=this.productions_[hr[1]][1],Le.$=Xe[Xe.length-St],Le._$={first_line:oe[oe.length-(St||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(St||1)].first_column,last_column:oe[oe.length-1].last_column},Ht&&(Le._$.range=[oe[oe.length-(St||1)].range[0],oe[oe.length-1].range[1]]),mt=this.performAction.apply(Le,[he,Dt,ot,Ct.yy,hr[1],Xe,oe].concat(it)),typeof mt<"u")return mt;St&&(qe=qe.slice(0,-1*St*2),Xe=Xe.slice(0,-1*St),oe=oe.slice(0,-1*St)),qe.push(this.productions_[hr[1]][0]),Xe.push(Le.$),oe.push(Le._$),Mr=et[qe[qe.length-2]][qe[qe.length-1]],qe.push(Mr);break;case 3:return!0}}return!0},"parse")},pe=(function(){var Re={EOF:1,parseError:o(function(Ie,qe){if(this.yy.parser)this.yy.parser.parseError(Ie,qe);else throw new Error(Ie)},"parseError"),setInput:o(function(ge,Ie){return this.yy=Ie||this.yy||{},this._input=ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var Ie=ge.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},"input"),unput:o(function(ge){var Ie=ge.length,qe=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Pe=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),qe.length-1&&(this.yylineno-=qe.length-1);var Xe=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:qe?(qe.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-qe.length].length-qe[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[Xe[0],Xe[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(ge){this.unput(this.match.slice(ge))},"less"),pastInput:o(function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ge=this.match;return ge.length<20&&(ge+=this._input.substr(0,20-ge.length)),(ge.substr(0,20)+(ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ge=this.pastInput(),Ie=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+` +`+Ie+"^"},"showPosition"),test_match:o(function(ge,Ie){var qe,Pe,Xe;if(this.options.backtrack_lexer&&(Xe={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&&(Xe.yylloc.range=this.yylloc.range.slice(0))),Pe=ge[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ge[0].length},this.yytext+=ge[0],this.match+=ge[0],this.matches=ge,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(ge[0].length),this.matched+=ge[0],qe=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),qe)return qe;if(this._backtrack){for(var oe in Xe)this[oe]=Xe[oe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,Ie,qe,Pe;this._more||(this.yytext="",this.match="");for(var Xe=this._currentRules(),oe=0;oeIe[0].length)){if(Ie=qe,Pe=oe,this.options.backtrack_lexer){if(ge=this.test_match(qe,Xe[oe]),ge!==!1)return ge;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(ge=this.test_match(Ie,Xe[Pe]),ge!==!1?ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ie=this.next();return Ie||this.lex()},"lex"),begin:o(function(Ie){this.conditionStack.push(Ie)},"begin"),popState:o(function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},"topState"),pushState:o(function(Ie){this.begin(Ie)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Ie,qe,Pe,Xe){var oe=Xe;switch(Pe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;break;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;break;case 10:return this.popState(),this.popState(),77;break;case 11:return qe.yytext=qe.yytext.trim(),73;break;case 12:return qe.yytext=qe.yytext.trim(),this.begin("ALIAS"),73;break;case 13:return qe.yytext=qe.yytext.trim(),this.popState(),73;break;case 14:return this.popState(),10;break;case 15:return this.begin("LINE"),15;break;case 16:return this.begin("ID"),51;break;case 17:return this.begin("ID"),53;break;case 18:return 14;case 19:return this.begin("ID"),54;break;case 20:return this.popState(),this.popState(),this.begin("LINE"),52;break;case 21:return this.popState(),this.popState(),5;break;case 22:return this.begin("LINE"),37;break;case 23:return this.begin("LINE"),38;break;case 24:return this.begin("LINE"),39;break;case 25:return this.begin("LINE"),40;break;case 26:return this.begin("LINE"),50;break;case 27:return this.begin("LINE"),42;break;case 28:return this.begin("LINE"),44;break;case 29:return this.begin("LINE"),49;break;case 30:return this.begin("LINE"),45;break;case 31:return this.begin("LINE"),48;break;case 32:return this.begin("LINE"),47;break;case 33:return this.popState(),16;break;case 34:return 17;case 35:return 67;case 36:return 68;case 37:return 61;case 38:return 62;case 39:return 63;case 40:return 64;case 41:return 59;case 42:return 56;case 43:return this.begin("ID"),22;break;case 44:return this.begin("ID"),24;break;case 45:return 30;case 46:return 31;case 47:return this.begin("acc_title"),32;break;case 48:return this.popState(),"acc_title_value";break;case 49:return this.begin("acc_descr"),34;break;case 50:return this.popState(),"acc_descr_value";break;case 51:this.begin("acc_descr_multiline");break;case 52:this.popState();break;case 53:return"acc_descr_multiline_value";case 54:return 6;case 55:return 19;case 56:return 21;case 57:return 66;case 58:return 5;case 59:return qe.yytext=qe.yytext.trim(),73;break;case 60:return 80;case 61:return 97;case 62:return 98;case 63:return 99;case 64:return 78;case 65:return 79;case 66:return 100;case 67:return 101;case 68:return 102;case 69:return 103;case 70:return 85;case 71:return 86;case 72:return 87;case 73:return 88;case 74:return 93;case 75:return 94;case 76:return 95;case 77:return 96;case 78:return 81;case 79:return 82;case 80:return 83;case 81:return 84;case 82:return 89;case 83:return 90;case 84:return 91;case 85:return 92;case 86:return 104;case 87:return 104;case 88:return 70;case 89:return 71;case 90:return 72;case 91:return 5;case 92:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[52,53],inclusive:!1},acc_descr:{rules:[50],inclusive:!1},acc_title:{rules:[48],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14],inclusive:!1},ALIAS:{rules:[2,3,20,21],inclusive:!1},LINE:{rules:[2,3,33],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,15,16,17,18,19,22,23,24,25,26,27,28,29,30,31,32,34,35,36,37,38,39,40,41,42,43,44,45,46,47,49,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,85,86,87,88,89,90,91,92],inclusive:!0}}};return Re})();be.lexer=pe;function me(){this.yy={}}return o(me,"Parser"),me.prototype=be,be.Parser=me,new me})();tU.parser=tU;_we=tU});var Olt,Plt,Blt,p3,G7,rU=O(()=>{"use strict";jt();ib();xt();fq();Ur();si();Olt={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},Plt={FILLED:0,OPEN:1},Blt={LEFTOF:0,RIGHTOF:1,OVER:2},p3={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},G7=class{constructor(){this.state=new Rv(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}));this.setAccTitle=Lr;this.setAccDescription=Pr;this.setDiagramTitle=zr;this.getAccTitle=Or;this.getAccDescription=Br;this.getDiagramTitle=Fr;this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(ve().wrap),this.LINETYPE=Olt,this.ARROWTYPE=Plt,this.PLACEMENT=Blt}static{o(this,"SequenceDB")}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,l;if(a!==void 0){let h;a.includes(` `)?h=a+` `:h=`{ `+a+` -}`,l=Wf(h,{schema:Uf})}i=l?.type??i;let u=this.state.records.actors.get(e);if(u){if(this.state.records.currentBox&&u.box&&this.state.records.currentBox!==u.box)throw new Error(`A same participant should only be defined in one Box: ${u.name} can't be in '${u.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=u.box?u.box:this.state.records.currentBox,u.box=s,u&&r===u.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){let h=this.state.records.actors.get(this.state.records.prevActor);h&&(h.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();let r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:xe().sequence?.wrap??!1}clear(){this.state.reset(),Mr()}parseMessage(e){let r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return X.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){let r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e),n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{let l=new Option().style;l.color=n,l.color!==n&&(n="transparent",i=e.trim())}let{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?fr(s,xe()):void 0,color:n,wrap:a}}addNote(e,r,n){let i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){let n=this.getActor(e);try{let i=fr(r.text,xe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");let a=JSON.parse(i);this.insertLinks(n,a)}catch(i){X.error("error while parsing actor link text",i)}}addALink(e,r){let n=this.getActor(e);try{let i={},a=fr(r.text,xe()),s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");let l=a.slice(0,s-1).trim(),u=a.slice(s+1).trim();i[l]=u,this.insertLinks(n,i)}catch(i){X.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(let n in r)e.links[n]=r[n]}addProperties(e,r){let n=this.getActor(e);try{let i=fr(r.text,xe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){X.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(let n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){let n=this.getActor(e),i=document.getElementById(r.text);try{let a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){X.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":zr(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return xe().sequence}}});var rot,H3e,Y3e=I(()=>{"use strict";rot=o(t=>`.actor { +}`,l=Kf(h,{schema:Xf})}i=l?.type??i,l?.alias&&(!n||n.text===r)&&(n={text:l.alias,wrap:n?.wrap,type:i});let u=this.state.records.actors.get(e);if(u){if(this.state.records.currentBox&&u.box&&this.state.records.currentBox!==u.box)throw new Error(`A same participant should only be defined in one Box: ${u.name} can't be in '${u.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=u.box?u.box:this.state.records.currentBox,u.box=s,u&&r===u.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){let h=this.state.records.actors.get(this.state.records.prevActor);h&&(h.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},u}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();let r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:ve().sequence?.wrap??!1}clear(){this.state.reset(),_r()}parseMessage(e){let r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return K.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){let r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e),n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{let l=new Option().style;l.color=n,l.color!==n&&(n="transparent",i=e.trim())}let{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?wr(s,ve()):void 0,color:n,wrap:a}}addNote(e,r,n){let i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){let n=this.getActor(e);try{let i=wr(r.text,ve());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");let a=JSON.parse(i);this.insertLinks(n,a)}catch(i){K.error("error while parsing actor link text",i)}}addALink(e,r){let n=this.getActor(e);try{let i={},a=wr(r.text,ve()),s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");let l=a.slice(0,s-1).trim(),u=a.slice(s+1).trim();i[l]=u,this.insertLinks(n,i)}catch(i){K.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(let n in r)e.links[n]=r[n]}addProperties(e,r){let n=this.getActor(e);try{let i=wr(r.text,ve()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){K.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(let n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){let n=this.getActor(e),i=document.getElementById(r.text);try{let a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){K.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Lr(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return ve().sequence}}});var Flt,Rwe,Lwe=O(()=>{"use strict";Flt=o(t=>`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; } @@ -1789,25 +1832,25 @@ Expecting `+Ye.join(", ")+", got '"+(this.terminals_[ue]||ue)+"'":xt="Parse erro stroke-width: 2px; } -`,"getStyles"),H3e=rot});var Vq,up,fp,dp,D7,hp,i3,not,R7,a3,Um,j3e,jr,qq,iot,aot,sot,oot,lot,cot,uot,hot,fot,dot,pot,mot,got,X3e,yot,vot,xot,bot,Tot,wot,kot,K3e,Sot,tf,Eot,Ri,Q3e=I(()=>{"use strict";Vq=Aa(Fg(),1);ti();sr();wr();Cx();up=36,fp="actor-top",dp="actor-bottom",D7="actor-box",hp="actor-man",i3=o(function(t,e){return t0(t,e)},"drawRect"),not=o(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};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,Vq.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),Eot(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),R7=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),a3=o(async function(t,e,r=null){let n=t.append("foreignObject"),i=await vf(e.text,tr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-s.height))}return[n]},"drawKatex"),Um=o(function(t,e){let r=0,n=0,i=e.text.split(nt.lineBreakRegex),[a,s]=ru(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");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[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||fN;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),j3e=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,Um(t,e),n},"drawLabel"),jr=-1,qq=o((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),iot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(jr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R7(`actor${jr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=jr,e.links!=null&&u.attr("id","root-"+jr));let h=Na();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${dp}`:f+=` ${fp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=i3(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?H5(u,h.x+h.width-20,h.y+10,m.substr(1)):W5(u,h.x+h.width-20,h.y+10,m)}tf(r,Nn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${D7}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),aot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(jr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R7(`actor${jr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=jr,e.links!=null&&u.attr("id","root-"+jr));let h=Na();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${dp}`:f+=` ${fp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=6,p={...h,x:h.x+-d,y:h.y+ +d,class:"actor"},m=i3(u,h);if(i3(u,p),e.rectData=h,e.properties?.icon){let y=e.properties.icon.trim();y.charAt(0)==="@"?H5(u,h.x+h.width-20,h.y+10,y.substr(1)):W5(u,h.x+h.width-20,h.y+10,y)}tf(r,Nn(e.description))(e.description,u,h.x-d,h.y+d,h.width,h.height,{class:`actor ${D7}`},r);let g=e.height;if(m.node){let y=m.node().getBBox();e.height=y.height,g=y.height}return g},"drawActorTypeCollections"),sot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower(),u=l;n||(jr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R7(`actor${jr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=jr,e.links!=null&&u.attr("id","root-"+jr));let h=Na(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${dp}`:f+=` ${fp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=h.height/2,p=d/(2.5+h.height/50),m=u.append("g"),g=u.append("g");if(m.append("path").attr("d",`M ${h.x},${h.y+d} +`,"getStyles"),Rwe=Flt});var nU,pp,mp,gp,V7,Ym,m3,$lt,q7,g3,jm,Nwe,Qr,iU,zlt,Glt,Vlt,qlt,Ult,Wlt,Hlt,Ylt,jlt,Xlt,Klt,Qlt,Zlt,Mwe,Jlt,ect,tct,rct,nct,ict,act,Iwe,sct,lf,oct,lct,cct,uct,hct,Qn,Owe=O(()=>{"use strict";nU=Ra(Wg(),1);$r();ar();Ur();a0();pp=36,mp="actor-top",gp="actor-bottom",V7="actor-box",Ym="actor-man",m3=o(function(t,e){return i0(t,e)},"drawRect"),$lt=o(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};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,nU.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),oct(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),q7=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),g3=o(async function(t,e,r=null){let n=t.append("foreignObject"),i=await gg(e.text,Zt()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-s.height))}return[n]},"drawKatex"),jm=o(function(t,e){let r=0,n=0,i=e.text.split(st.lineBreakRegex),[a,s]=Uo(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");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[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||AN;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),Nwe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,jm(t,e),n},"drawLabel"),Qr=-1,iU=o((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),zlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(Qr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",q7(`actor${Qr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Qr,e.links!=null&&u.attr("id","root-"+Qr));let h=Oa();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${gp}`:f+=` ${mp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=m3(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?ak(u,h.x+h.width-20,h.y+10,m.substr(1)):ik(u,h.x+h.width-20,h.y+10,m)}lf(r,Jn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${V7}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),Glt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(Qr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",q7(`actor${Qr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Qr,e.links!=null&&u.attr("id","root-"+Qr));let h=Oa();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${gp}`:f+=` ${mp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=6,p={...h,x:h.x+-d,y:h.y+ +d,class:"actor"},m=m3(u,h);if(m3(u,p),e.rectData=h,e.properties?.icon){let y=e.properties.icon.trim();y.charAt(0)==="@"?ak(u,h.x+h.width-20,h.y+10,y.substr(1)):ik(u,h.x+h.width-20,h.y+10,y)}lf(r,Jn(e.description))(e.description,u,h.x-d,h.y+d,h.width,h.height,{class:`actor ${V7}`},r);let g=e.height;if(m.node){let y=m.node().getBBox();e.height=y.height,g=y.height}return g},"drawActorTypeCollections"),Vlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower(),u=l;n||(Qr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",q7(`actor${Qr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Qr,e.links!=null&&u.attr("id","root-"+Qr));let h=Oa(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${gp}`:f+=` ${mp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=h.height/2,p=d/(2.5+h.height/50),m=u.append("g"),g=u.append("g");if(m.append("path").attr("d",`M ${h.x},${h.y+d} a ${p},${d} 0 0 0 0,${h.height} h ${h.width-2*p} a ${p},${d} 0 0 0 0,-${h.height} Z `).attr("class",f),g.append("path").attr("d",`M ${h.x},${h.y+d} - a ${p},${d} 0 0 0 0,${h.height}`).attr("stroke","#666").attr("stroke-width","1px").attr("class",f),m.attr("transform",`translate(${p}, ${-(h.height/2)})`),g.attr("transform",`translate(${h.width-p}, ${-h.height/2})`),e.rectData=h,e.properties?.icon){let x=e.properties.icon.trim(),b=h.x+h.width-20,T=h.y+10;x.charAt(0)==="@"?H5(u,b,T,x.substr(1)):W5(u,b,T,x)}tf(r,Nn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${D7}`},r);let y=e.height,v=m.select("path:last-child");if(v.node()){let x=v.node().getBBox();e.height=x.height,y=x.height}return y},"drawActorTypeQueue"),oot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower();n||(jr++,l.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=jr);let u=t.append("g"),h=hp;n?h+=` ${dp}`:h+=` ${fp}`,u.attr("class",h),u.attr("name",e.name);let f=Na();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+30,m=18;u.append("defs").append("marker").attr("id","filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("fill","#eaeaf7").attr("stroke","#666").attr("stroke-width",1.2),u.append("line").attr("marker-end","url(#filled-head-control)").attr("transform",`translate(${d}, ${p-m})`);let g=u.node().getBBox();return e.height=g.height+2*(r?.sequence?.labelBoxHeight??0),tf(r,Nn(e.description))(e.description,u,f.x,f.y+m+(n?5:10),f.width,f.height,{class:`actor ${hp}`},r),e.height},"drawActorTypeControl"),lot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower(),u=t.append("g"),h=hp;n?h+=` ${dp}`:h+=` ${fp}`,u.attr("class",h),u.attr("name",e.name);let f=Na();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+(n?10:25),m=18;u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("width",e.width).attr("height",e.height),u.append("line").attr("x1",d-m).attr("x2",d+m).attr("y1",p+m).attr("y2",p+m).attr("stroke","#333").attr("stroke-width",2);let g=u.node().getBBox();return e.height=g.height+(r?.sequence?.labelBoxHeight??0),n||(jr++,l.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=jr),tf(r,Nn(e.description))(e.description,u,f.x,f.y+(n?(p-i+m-5)/2:(p+m-i)/2),f.width,f.height,{class:`actor ${hp}`},r),n?u.attr("transform",`translate(0, ${m/2})`):u.attr("transform",`translate(0, ${m/2})`),e.height},"drawActorTypeEntity"),cot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height+2*r.boxTextMargin,l=t.append("g").lower(),u=l;n||(jr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R7(`actor${jr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=jr,e.links!=null&&u.attr("id","root-"+jr));let h=Na(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${dp}`:f+=` ${fp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name,h.x=e.x,h.y=i;let d=h.width/4,p=h.width/4,m=d/2,g=m/(2.5+d/50),y=u.append("g"),v=` + a ${p},${d} 0 0 0 0,${h.height}`).attr("stroke","#666").attr("stroke-width","1px").attr("class",f),m.attr("transform",`translate(${p}, ${-(h.height/2)})`),g.attr("transform",`translate(${h.width-p}, ${-h.height/2})`),e.rectData=h,e.properties?.icon){let x=e.properties.icon.trim(),b=h.x+h.width-20,T=h.y+10;x.charAt(0)==="@"?ak(u,b,T,x.substr(1)):ik(u,b,T,x)}lf(r,Jn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${V7}`},r);let y=e.height,v=m.select("path:last-child");if(v.node()){let x=v.node().getBBox();e.height=x.height,y=x.height}return y},"drawActorTypeQueue"),qlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower();n||(Qr++,l.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Qr);let u=t.append("g"),h=Ym;n?h+=` ${gp}`:h+=` ${mp}`,u.attr("class",h),u.attr("name",e.name);let f=Oa();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+32,m=22;u.append("defs").append("marker").attr("id","filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("fill","#eaeaf7").attr("stroke","#666").attr("stroke-width",1.2),u.append("line").attr("marker-end","url(#filled-head-control)").attr("transform",`translate(${d}, ${p-m})`);let g=u.node().getBBox();return e.height=g.height+2*(r?.sequence?.labelBoxHeight??0),lf(r,Jn(e.description))(e.description,u,f.x,f.y+m+(n?5:12),f.width,f.height,{class:`actor ${Ym}`},r),e.height},"drawActorTypeControl"),Ult=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower(),u=t.append("g"),h="actor";n?h+=` ${gp}`:h+=` ${mp}`,u.attr("class",h),u.attr("name",e.name);let f=Oa();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+(n?10:25),m=22;u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("width",e.width).attr("height",e.height),u.append("line").attr("x1",d-m).attr("x2",d+m).attr("y1",p+m).attr("y2",p+m).attr("stroke-width",2);let g=u.node().getBBox();return e.height=g.height+(r?.sequence?.labelBoxHeight??0),n||(Qr++,l.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Qr),lf(r,Jn(e.description))(e.description,u,f.x,f.y+(n?15:30),f.width,f.height,{class:`actor ${Ym}`},r),n?u.attr("transform",`translate(0, ${m})`):u.attr("transform",`translate(0, ${m/2-5})`),e.height},"drawActorTypeEntity"),Wlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height+2*r.boxTextMargin,l=t.append("g").lower(),u=l;n||(Qr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",q7(`actor${Qr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Qr,e.links!=null&&u.attr("id","root-"+Qr));let h=Oa(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${gp}`:f+=` ${mp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name,h.x=e.x,h.y=i;let d=h.width/3,p=h.width/3,m=d/2,g=m/(2.5+d/50),y=u.append("g"),v=` M ${h.x},${h.y+g} a ${m},${g} 0 0 0 ${d},0 a ${m},${g} 0 0 0 -${d},0 l 0,${p-2*g} a ${m},${g} 0 0 0 ${d},0 l 0,-${p-2*g} -`;y.append("path").attr("d",v).attr("fill","#eaeaea").attr("stroke","#000").attr("stroke-width",1).attr("class",f),n?y.attr("transform",`translate(${d*1.5}, ${h.height/4-2*g})`):y.attr("transform",`translate(${d*1.5}, ${(h.height+g)/4})`),e.rectData=h,tf(r,Nn(e.description))(e.description,u,h.x,h.y+(n?(h.height+p)/4:(h.height+g)/2),h.width,h.height,{class:`actor ${D7}`},r);let x=y.select("path:last-child");if(x.node()){let b=x.node().getBBox();e.height=b.height+(r.sequence.labelBoxHeight??0)}return e.height},"drawActorTypeDatabase"),uot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=30,u=t.append("g").lower();n||(jr++,u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=jr);let h=t.append("g"),f=hp;n?f+=` ${dp}`:f+=` ${fp}`,h.attr("class",f),h.attr("name",e.name);let d=Na();d.x=e.x,d.y=i,d.fill="#eaeaea",d.width=e.width,d.height=e.height,d.class="actor",h.append("line").attr("id","actor-man-torso"+jr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+10).attr("x2",e.x+e.width/2-15).attr("y2",i+10),h.append("line").attr("id","actor-man-arms"+jr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+0).attr("x2",e.x+e.width/2-l*2.5).attr("y2",i+20),h.append("circle").attr("cx",e.x+e.width/2).attr("cy",i+10).attr("r",l);let p=h.node().getBBox();return e.height=p.height+(r.sequence.labelBoxHeight??0),tf(r,Nn(e.description))(e.description,h,d.x,d.y+(n?l/2-4:l/2+3),d.width,d.height,{class:`actor ${hp}`},r),n?h.attr("transform",`translate(0,${l/2+7})`):h.attr("transform",`translate(0,${l/2+7})`),e.height},"drawActorTypeBoundary"),hot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=t.append("g").lower();n||(jr++,l.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=jr);let u=t.append("g"),h=hp;n?h+=` ${dp}`:h+=` ${fp}`,u.attr("class",h),u.attr("name",e.name);let f=Na();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+jr).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+jr).attr("x1",a-up/2).attr("y1",i+33).attr("x2",a+up/2).attr("y2",i+33),u.append("line").attr("x1",a-up/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+up/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,tf(r,Nn(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${hp}`},r),e.height},"drawActorTypeActor"),fot=o(async function(t,e,r,n){switch(e.type){case"actor":return await hot(t,e,r,n);case"participant":return await iot(t,e,r,n);case"boundary":return await uot(t,e,r,n);case"control":return await oot(t,e,r,n);case"entity":return await lot(t,e,r,n);case"database":return await cot(t,e,r,n);case"collections":return await aot(t,e,r,n);case"queue":return await sot(t,e,r,n)}},"drawActor"),dot=o(function(t,e,r){let i=t.append("g");X3e(i,e),e.name&&tf(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),pot=o(function(t){return t.append("g")},"anchorElement"),mot=o(function(t,e,r,n,i){let a=Na(),s=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,i3(s,a)},"drawActivation"),got=o(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=o(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");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(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=Ex();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=s||20,m.textMargin=a,m.class="labelText",j3e(d,m),m=K3e(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=Nn(m.text)?await a3(d,m,e):Um(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,Nn(m.text)?(e.starty=e.sections[y].y,await a3(d,m,e)):Um(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,T)=>b+T));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),X3e=o(function(t,e){U5(t,e)},"drawBackgroundRect"),yot=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),vot=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),xot=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),bot=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),Tot=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),wot=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),kot=o(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),K3e=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),Sot=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),tf=(function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=ru(m),b=a.split(nt.lineBreakRegex);for(let T=0;T{let s=Wm(Oe),l=a.actorKeys.reduce((d,p)=>d+=t.get(p).width+(t.get(p).margin||0),0),u=Oe.boxMargin*8;l+=u,l-=2*Oe.boxTextMargin,a.wrap&&(a.name=jt.wrapLabel(a.name,l-2*Oe.wrapPadding,s));let h=jt.calculateTextDimensions(a.name,s);i=nt.getMax(h.height,i);let f=nt.getMax(l,h.width+2*Oe.wrapPadding);if(a.margin=Oe.boxTextMargin,la.textMaxHeight=i),nt.getMax(n,Oe.height)}var Oe,ct,Cot,Wm,Dv,Uq,_ot,Dot,Wq,J3e,ewe,L7,Z3e,Lot,Mot,Oot,Pot,Bot,twe,rwe=I(()=>{"use strict";kr();Q3e();gt();wr();wr();Cx();Qt();tg();sr();Fi();Gq();Oe={},ct={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(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))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(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,ewe(xe())},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=this,a=0;function s(l){return o(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Oe.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Oe.boxMargin,Math.max),i.updateVal(ct.data,"startx",t-f*Oe.boxMargin,Math.min),i.updateVal(ct.data,"stopx",r+f*Oe.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Oe.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Oe.boxMargin,Math.max),i.updateVal(ct.data,"starty",e-f*Oe.boxMargin,Math.min),i.updateVal(ct.data,"stopy",n+f*Oe.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,n){let i=nt.getMin(t,r),a=nt.getMax(t,r),s=nt.getMin(e,n),l=nt.getMax(e,n);this.updateVal(ct.data,"startx",i,Math.min),this.updateVal(ct.data,"starty",s,Math.min),this.updateVal(ct.data,"stopx",a,Math.max),this.updateVal(ct.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),newActivation:o(function(t,e,r){let n=r.get(t.from),i=L7(t.from).length||0,a=n.x+n.width/2+(i-1)*Oe.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Oe.activationWidth,stopy:void 0,actor:t.from,anchored:Ri.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:ct.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=nt.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},Cot=o(async function(t,e){ct.bumpVerticalPos(Oe.boxMargin),e.height=Oe.boxMargin,e.starty=ct.getVerticalPos();let r=Na();r.x=e.startx,r.y=e.starty,r.width=e.width||Oe.width,r.class="note";let n=t.append("g"),i=Ri.drawRect(n,r),a=Ex();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Oe.noteFontFamily,a.fontSize=Oe.noteFontSize,a.fontWeight=Oe.noteFontWeight,a.anchor=Oe.noteAlign,a.textMargin=Oe.noteMargin,a.valign="center";let s=Nn(a.text)?await a3(n,a):Um(n,a),l=Math.round(s.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Oe.noteMargin),e.height+=l+2*Oe.noteMargin,ct.bumpVerticalPos(l+2*Oe.noteMargin),e.stopy=e.starty+l+2*Oe.noteMargin,e.stopx=e.startx+r.width,ct.insert(e.startx,e.starty,e.stopx,e.stopy),ct.models.addNote(e)},"drawNote"),Wm=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),Dv=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),Uq=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(Aot,"boundMessage");_ot=o(async function(t,e,r,n){let{startx:i,stopx:a,starty:s,message:l,type:u,sequenceIndex:h,sequenceVisible:f}=e,d=jt.calculateTextDimensions(l,Wm(Oe)),p=Ex();p.x=i,p.y=s+10,p.width=a-i,p.class="messageText",p.dy="1em",p.text=l,p.fontFamily=Oe.messageFontFamily,p.fontSize=Oe.messageFontSize,p.fontWeight=Oe.messageFontWeight,p.anchor=Oe.messageAlign,p.valign="center",p.textMargin=Oe.wrapPadding,p.tspan=!1,Nn(p.text)?await a3(t,p,{startx:i,stopx:a,starty:r}):Um(t,p);let m=d.width,g;i===a?Oe.rightAngles?g=t.append("path").attr("d",`M ${i},${r} H ${i+nt.getMax(Oe.width/2,m/2)} V ${r+25} H ${i}`):g=t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(g=t.append("line"),g.attr("x1",i),g.attr("y1",r),g.attr("x2",a),g.attr("y2",r)),u===n.db.LINETYPE.DOTTED||u===n.db.LINETYPE.DOTTED_CROSS||u===n.db.LINETYPE.DOTTED_POINT||u===n.db.LINETYPE.DOTTED_OPEN||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let y="";Oe.arrowMarkerAbsolute&&(y=Np(!0)),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(u===n.db.LINETYPE.SOLID||u===n.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+y+"#arrowhead)"),(u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(g.attr("marker-start","url("+y+"#arrowhead)"),g.attr("marker-end","url("+y+"#arrowhead)")),(u===n.db.LINETYPE.SOLID_POINT||u===n.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+y+"#filled-head)"),(u===n.db.LINETYPE.SOLID_CROSS||u===n.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+y+"#crosshead)"),(f||Oe.showSequenceNumbers)&&((u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(ii&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),ewe=o(function(t){$n(Oe,t),t.fontFamily&&(Oe.actorFontFamily=Oe.noteFontFamily=Oe.messageFontFamily=t.fontFamily),t.fontSize&&(Oe.actorFontSize=Oe.noteFontSize=Oe.messageFontSize=t.fontSize),t.fontWeight&&(Oe.actorFontWeight=Oe.noteFontWeight=Oe.messageFontWeight=t.fontWeight)},"setConf"),L7=o(function(t){return ct.activations.filter(function(e){return e.actor===t})},"actorActivations"),Z3e=o(function(t,e){let r=e.get(t),n=L7(t),i=n.reduce(function(s,l){return nt.getMin(s,l.startx)},r.x+r.width/2-1),a=n.reduce(function(s,l){return nt.getMax(s,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");o(Wu,"adjustLoopHeightForWrap");o(Rot,"adjustCreatedDestroyedData");Lot=o(async function(t,e,r,n){let{securityLevel:i,sequence:a}=xe();Oe=a;let s;i==="sandbox"&&(s=He("#i"+e));let l=i==="sandbox"?He(s.nodes()[0].contentDocument.body):He("body"),u=i==="sandbox"?s.nodes()[0].contentDocument:document;ct.init(),X.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):He(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),T=await Not(f,y,n);if(Oe.height=await Iot(f,T,m),Ri.insertComputerIcon(h),Ri.insertDatabaseIcon(h),Ri.insertClockIcon(h),x&&(ct.bumpVerticalPos(Oe.boxMargin),b&&ct.bumpVerticalPos(m[0].textMaxHeight)),Oe.hideUnusedParticipants===!0){let B=new Set;y.forEach(F=>{B.add(F.from),B.add(F.to)}),g=g.filter(F=>B.has(F))}Dot(h,f,d,g,0,y,!1);let E=await Bot(y,f,T,n);Ri.insertArrowHead(h),Ri.insertArrowCrossHead(h),Ri.insertArrowFilledHead(h),Ri.insertSequenceNumber(h);function w(B,F){let G=ct.endActivation(B);G.starty+18>F&&(G.starty=F-6,F+=12),Ri.drawActivation(h,G,F,Oe,L7(B.from).length),ct.insert(G.startx,F-10,G.stopx,F)}o(w,"activeEnd");let k=1,C=1,D=[],R=[],O=0;for(let B of y){let F,G,$;switch(B.type){case n.db.LINETYPE.NOTE:ct.resetVerticalPos(),G=B.noteModel,await Cot(h,G);break;case n.db.LINETYPE.ACTIVE_START:ct.newActivation(B,h,f);break;case n.db.LINETYPE.ACTIVE_END:w(B,ct.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.LOOP_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"loop",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.RECT_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin,V=>ct.newLoop(void 0,V.message));break;case n.db.LINETYPE.RECT_END:F=ct.endLoop(),R.push(F),ct.models.addLoop(F),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.OPT_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"opt",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.ALT_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.ALT_ELSE:Wu(E,B,Oe.boxMargin+Oe.boxTextMargin,Oe.boxMargin,V=>ct.addSectionToLoop(V));break;case n.db.LINETYPE.ALT_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"alt",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V)),ct.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:Wu(E,B,Oe.boxMargin+Oe.boxTextMargin,Oe.boxMargin,V=>ct.addSectionToLoop(V));break;case n.db.LINETYPE.PAR_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"par",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.AUTONUMBER:k=B.message.start||k,C=B.message.step||C,B.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.CRITICAL_OPTION:Wu(E,B,Oe.boxMargin+Oe.boxTextMargin,Oe.boxMargin,V=>ct.addSectionToLoop(V));break;case n.db.LINETYPE.CRITICAL_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"critical",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.BREAK_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.BREAK_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"break",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;default:try{$=B.msgModel,$.starty=ct.getVerticalPos(),$.sequenceIndex=k,$.sequenceVisible=n.db.showSequenceNumbers();let V=await Aot(h,$);Rot(B,$,V,O,f,d,p),D.push({messageModel:$,lineStartY:V}),ct.models.addMessage($)}catch(V){X.error("error while drawing message",V)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(B.type)&&(k=k+C),O++}X.debug("createdActors",d),X.debug("destroyedActors",p),await Wq(h,f,g,!1);for(let B of D)await _ot(h,B.messageModel,B.lineStartY,n);Oe.mirrorActors&&await Wq(h,f,g,!0),R.forEach(B=>Ri.drawBackgroundRect(h,B)),qq(h,f,g,Oe);for(let B of ct.models.boxes){B.height=ct.getVerticalPos()-B.y,ct.insert(B.x,B.y,B.x+B.width,B.height);let F=Oe.boxMargin*2;B.startx=B.x-F,B.starty=B.y-F*.25,B.stopx=B.startx+B.width+2*F,B.stopy=B.starty+B.height+F*.75,B.stroke="rgb(0,0,0, 0.5)",Ri.drawBox(h,B,Oe)}x&&ct.bumpVerticalPos(Oe.boxMargin);let L=J3e(h,f,g,u),{bounds:S}=ct.getBounds();S.startx===void 0&&(S.startx=0),S.starty===void 0&&(S.starty=0),S.stopx===void 0&&(S.stopx=0),S.stopy===void 0&&(S.stopy=0);let A=S.stopy-S.starty;A2,d=o(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Oe.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(u-=d(3)));let p=[n,i,a,s],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=jt.wrapLabel(t.message,nt.getMax(m+2*Oe.wrapPadding,Oe.width),Wm(Oe)));let g=jt.calculateTextDimensions(t.message,Wm(Oe));return{width:nt.getMax(t.wrap?0:g.width+2*Oe.wrapPadding,m+2*Oe.wrapPadding,Oe.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),Bot=o(async function(t,e,r,n){let i={},a=[],s,l,u;for(let h of t){switch(h.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.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.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:h.message&&(s=a.pop(),i[s.id]=s,i[h.id]=s,a.push(s));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:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=L7(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Oe.activationWidth/2,g={startx:m,stopx:m+Oe.activationWidth,actor:h.from,enabled:!0};ct.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=ct.activations.map(p=>p.actor).lastIndexOf(h.from);ct.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await Oot(h,e,n),h.noteModel=l,a.forEach(d=>{s=d,s.from=nt.getMin(s.from,l.startx),s.to=nt.getMax(s.to,l.startx+l.width),s.width=nt.getMax(s.width,Math.abs(s.from-s.to))-Oe.labelBoxWidth})):(u=Pot(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=nt.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=nt.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=nt.getMax(s.width,Math.abs(s.to-s.from))-Oe.labelBoxWidth}else s.from=nt.getMin(u.startx,s.from),s.to=nt.getMax(u.stopx,s.to),s.width=nt.getMax(s.width,u.width)-Oe.labelBoxWidth}))}return ct.activations=[],X.debug("Loop type widths:",i),i},"calculateLoopBounds"),twe={bounds:ct,drawActors:Wq,drawActorsPopup:J3e,setConf:ewe,draw:Lot}});var nwe={};vr(nwe,{diagram:()=>Fot});var Fot,iwe=I(()=>{"use strict";W3e();Gq();Y3e();Qt();rwe();Fot={parser:U3e,get db(){return new _7},renderer:twe,styles:H3e,init:o(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,A2({sequence:{wrap:t.wrap}}))},"init")}});var Hq,N7,Yq=I(()=>{"use strict";Hq=(function(){var t=o(function(Ie,Me,Ae,ze){for(Ae=Ae||{},ze=Ie.length;ze--;Ae[Ie[ze]]=Me);return Ae},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,42],s=[1,26],l=[1,24],u=[1,25],h=[1,32],f=[1,33],d=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],T=[1,29],E=[1,30],w=[1,31],k=[1,44],C=[1,46],D=[1,43],R=[1,47],O=[1,9],L=[1,8,9],S=[1,58],A=[1,59],_=[1,60],N=[1,61],M=[1,62],P=[1,63],B=[1,64],F=[1,8,9,41],G=[1,76],$=[1,8,9,12,13,22,39,41,44,68,69,70,71,72,73,74,79,81],V=[1,8,9,12,13,18,20,22,39,41,44,50,60,68,69,70,71,72,73,74,79,81,86,100,102,103],K=[13,60,86,100,102,103],ee=[13,60,73,74,86,100,102,103],H=[13,60,68,69,70,71,72,86,100,102,103],he=[1,100],Z=[1,117],de=[1,113],re=[1,109],ne=[1,115],te=[1,110],Q=[1,111],le=[1,112],J=[1,114],ge=[1,116],ie=[22,48,60,61,82,86,87,88,89,90],Te=[1,8,9,39,41,44],j=[1,8,9,22],Ge=[1,145],ye=[1,8,9,61],$e=[1,8,9,22,48,60,61,82,86,87,88,89,90],Xe={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,emptyBody:47,SPACE:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",48:"SPACE",49:"ANNOTATION_START",50:"ANNOTATION_END",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[43,2],[43,3],[47,0],[47,2],[47,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:o(function(Me,Ae,ze,Y,ce,U,ue){var z=U.length-1;switch(ce){case 8:this.$=U[z-1];break;case 9:case 10:case 13:case 15:this.$=U[z];break;case 11:case 14:this.$=U[z-2]+"."+U[z];break;case 12:case 16:this.$=U[z-1]+U[z];break;case 17:case 18:this.$=U[z-1]+"~"+U[z]+"~";break;case 19:Y.addRelation(U[z]);break;case 20:U[z-1].title=Y.cleanupLabel(U[z]),Y.addRelation(U[z-1]);break;case 31:this.$=U[z].trim(),Y.setAccTitle(this.$);break;case 32:case 33:this.$=U[z].trim(),Y.setAccDescription(this.$);break;case 34:Y.addClassesToNamespace(U[z-3],U[z-1]);break;case 35:Y.addClassesToNamespace(U[z-4],U[z-1]);break;case 36:this.$=U[z],Y.addNamespace(U[z]);break;case 37:this.$=[U[z]];break;case 38:this.$=[U[z-1]];break;case 39:U[z].unshift(U[z-2]),this.$=U[z];break;case 41:Y.setCssClass(U[z-2],U[z]);break;case 42:Y.addMembers(U[z-3],U[z-1]);break;case 44:Y.setCssClass(U[z-5],U[z-3]),Y.addMembers(U[z-5],U[z-1]);break;case 45:this.$=U[z],Y.addClass(U[z]);break;case 46:this.$=U[z-1],Y.addClass(U[z-1]),Y.setClassLabel(U[z-1],U[z]);break;case 50:Y.addAnnotation(U[z],U[z-2]);break;case 51:case 64:this.$=[U[z]];break;case 52:U[z].push(U[z-1]),this.$=U[z];break;case 53:break;case 54:Y.addMember(U[z-1],Y.cleanupLabel(U[z]));break;case 55:break;case 56:break;case 57:this.$={id1:U[z-2],id2:U[z],relation:U[z-1],relationTitle1:"none",relationTitle2:"none"};break;case 58:this.$={id1:U[z-3],id2:U[z],relation:U[z-1],relationTitle1:U[z-2],relationTitle2:"none"};break;case 59:this.$={id1:U[z-3],id2:U[z],relation:U[z-2],relationTitle1:"none",relationTitle2:U[z-1]};break;case 60:this.$={id1:U[z-4],id2:U[z],relation:U[z-2],relationTitle1:U[z-3],relationTitle2:U[z-1]};break;case 61:Y.addNote(U[z],U[z-1]);break;case 62:Y.addNote(U[z]);break;case 63:this.$=U[z-2],Y.defineClass(U[z-1],U[z]);break;case 65:this.$=U[z-2].concat([U[z]]);break;case 66:Y.setDirection("TB");break;case 67:Y.setDirection("BT");break;case 68:Y.setDirection("RL");break;case 69:Y.setDirection("LR");break;case 70:this.$={type1:U[z-2],type2:U[z],lineType:U[z-1]};break;case 71:this.$={type1:"none",type2:U[z],lineType:U[z-1]};break;case 72:this.$={type1:U[z-1],type2:"none",lineType:U[z]};break;case 73:this.$={type1:"none",type2:"none",lineType:U[z]};break;case 74:this.$=Y.relationType.AGGREGATION;break;case 75:this.$=Y.relationType.EXTENSION;break;case 76:this.$=Y.relationType.COMPOSITION;break;case 77:this.$=Y.relationType.DEPENDENCY;break;case 78:this.$=Y.relationType.LOLLIPOP;break;case 79:this.$=Y.lineType.LINE;break;case 80:this.$=Y.lineType.DOTTED_LINE;break;case 81:case 87:this.$=U[z-2],Y.setClickEvent(U[z-1],U[z]);break;case 82:case 88:this.$=U[z-3],Y.setClickEvent(U[z-2],U[z-1]),Y.setTooltip(U[z-2],U[z]);break;case 83:this.$=U[z-2],Y.setLink(U[z-1],U[z]);break;case 84:this.$=U[z-3],Y.setLink(U[z-2],U[z-1],U[z]);break;case 85:this.$=U[z-3],Y.setLink(U[z-2],U[z-1]),Y.setTooltip(U[z-2],U[z]);break;case 86:this.$=U[z-4],Y.setLink(U[z-3],U[z-2],U[z]),Y.setTooltip(U[z-3],U[z-1]);break;case 89:this.$=U[z-3],Y.setClickEvent(U[z-2],U[z-1],U[z]);break;case 90:this.$=U[z-4],Y.setClickEvent(U[z-3],U[z-2],U[z-1]),Y.setTooltip(U[z-3],U[z]);break;case 91:this.$=U[z-3],Y.setLink(U[z-2],U[z]);break;case 92:this.$=U[z-4],Y.setLink(U[z-3],U[z-1],U[z]);break;case 93:this.$=U[z-4],Y.setLink(U[z-3],U[z-1]),Y.setTooltip(U[z-3],U[z]);break;case 94:this.$=U[z-5],Y.setLink(U[z-4],U[z-2],U[z]),Y.setTooltip(U[z-4],U[z-1]);break;case 95:this.$=U[z-2],Y.setCssStyle(U[z-1],U[z]);break;case 96:Y.setCssClass(U[z-1],U[z]);break;case 97:this.$=[U[z]];break;case 98:U[z-2].push(U[z]),this.$=U[z-2];break;case 100:this.$=U[z-1]+U[z];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:C,102:D,103:R},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(O,[2,5],{8:[1,48]}),{8:[1,49]},t(L,[2,19],{22:[1,50]}),t(L,[2,21]),t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,27]),t(L,[2,28]),t(L,[2,29]),t(L,[2,30]),{34:[1,51]},{36:[1,52]},t(L,[2,33]),t(L,[2,53],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:S,69:A,70:_,71:N,72:M,73:P,74:B}),{39:[1,65]},t(F,[2,40],{39:[1,67],44:[1,66]}),t(L,[2,55]),t(L,[2,56]),{16:68,60:p,86:k,100:C,102:D},{16:39,17:40,19:69,60:p,86:k,100:C,102:D,103:R},{16:39,17:40,19:70,60:p,86:k,100:C,102:D,103:R},{16:39,17:40,19:71,60:p,86:k,100:C,102:D,103:R},{60:[1,72]},{13:[1,73]},{16:39,17:40,19:74,60:p,86:k,100:C,102:D,103:R},{13:G,55:75},{58:77,60:[1,78]},t(L,[2,66]),t(L,[2,67]),t(L,[2,68]),t(L,[2,69]),t($,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],60:p,86:k,100:C,102:D,103:R}),t($,[2,15],{20:[1,82]}),{15:83,16:84,17:85,60:p,86:k,100:C,102:D,103:R},{16:39,17:40,19:86,60:p,86:k,100:C,102:D,103:R},t(V,[2,123]),t(V,[2,124]),t(V,[2,125]),t(V,[2,126]),t([1,8,9,12,13,20,22,39,41,44,68,69,70,71,72,73,74,79,81],[2,127]),t(O,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:87,33:e,35:r,37:n,42:i,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:C,102:D,103:R}),{5:88,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:C,102:D,103:R},t(L,[2,20]),t(L,[2,31]),t(L,[2,32]),{13:[1,90],16:39,17:40,19:89,60:p,86:k,100:C,102:D,103:R},{53:91,66:56,67:57,68:S,69:A,70:_,71:N,72:M,73:P,74:B},t(L,[2,54]),{67:92,73:P,74:B},t(K,[2,73],{66:93,68:S,69:A,70:_,71:N,72:M}),t(ee,[2,74]),t(ee,[2,75]),t(ee,[2,76]),t(ee,[2,77]),t(ee,[2,78]),t(H,[2,79]),t(H,[2,80]),{8:[1,95],24:96,40:94,43:23,46:a},{16:97,60:p,86:k,100:C,102:D},{41:[1,99],45:98,51:he},{50:[1,101]},{13:[1,102]},{13:[1,103]},{79:[1,104],81:[1,105]},{22:Z,48:de,59:106,60:re,82:ne,84:107,85:108,86:te,87:Q,88:le,89:J,90:ge},{60:[1,118]},{13:G,55:119},t(L,[2,62]),t(L,[2,128]),{22:Z,48:de,59:120,60:re,61:[1,121],82:ne,84:107,85:108,86:te,87:Q,88:le,89:J,90:ge},t(ie,[2,64]),{16:39,17:40,19:122,60:p,86:k,100:C,102:D,103:R},t($,[2,16]),t($,[2,17]),t($,[2,18]),{39:[2,36]},{15:124,16:84,17:85,18:[1,123],39:[2,9],60:p,86:k,100:C,102:D,103:R},{39:[2,10]},t(Te,[2,45],{11:125,12:[1,126]}),t(O,[2,7]),{9:[1,127]},t(j,[2,57]),{16:39,17:40,19:128,60:p,86:k,100:C,102:D,103:R},{13:[1,130],16:39,17:40,19:129,60:p,86:k,100:C,102:D,103:R},t(K,[2,72],{66:131,68:S,69:A,70:_,71:N,72:M}),t(K,[2,71]),{41:[1,132]},{24:96,40:133,43:23,46:a},{8:[1,134],41:[2,37]},t(F,[2,41],{39:[1,135]}),{41:[1,136]},t(F,[2,43]),{41:[2,51],45:137,51:he},{16:39,17:40,19:138,60:p,86:k,100:C,102:D,103:R},t(L,[2,81],{13:[1,139]}),t(L,[2,83],{13:[1,141],77:[1,140]}),t(L,[2,87],{13:[1,142],80:[1,143]}),{13:[1,144]},t(L,[2,95],{61:Ge}),t(ye,[2,97],{85:146,22:Z,48:de,60:re,82:ne,86:te,87:Q,88:le,89:J,90:ge}),t($e,[2,99]),t($e,[2,101]),t($e,[2,102]),t($e,[2,103]),t($e,[2,104]),t($e,[2,105]),t($e,[2,106]),t($e,[2,107]),t($e,[2,108]),t($e,[2,109]),t(L,[2,96]),t(L,[2,61]),t(L,[2,63],{61:Ge}),{60:[1,147]},t($,[2,14]),{15:148,16:84,17:85,60:p,86:k,100:C,102:D,103:R},{39:[2,12]},t(Te,[2,46]),{13:[1,149]},{1:[2,4]},t(j,[2,59]),t(j,[2,58]),{16:39,17:40,19:150,60:p,86:k,100:C,102:D,103:R},t(K,[2,70]),t(L,[2,34]),{41:[1,151]},{24:96,40:152,41:[2,38],43:23,46:a},{45:153,51:he},t(F,[2,42]),{41:[2,52]},t(L,[2,50]),t(L,[2,82]),t(L,[2,84]),t(L,[2,85],{77:[1,154]}),t(L,[2,88]),t(L,[2,89],{13:[1,155]}),t(L,[2,91],{13:[1,157],77:[1,156]}),{22:Z,48:de,60:re,82:ne,84:158,85:108,86:te,87:Q,88:le,89:J,90:ge},t($e,[2,100]),t(ie,[2,65]),{39:[2,11]},{14:[1,159]},t(j,[2,60]),t(L,[2,35]),{41:[2,39]},{41:[1,160]},t(L,[2,86]),t(L,[2,90]),t(L,[2,92]),t(L,[2,93],{77:[1,161]}),t(ye,[2,98],{85:146,22:Z,48:de,60:re,82:ne,86:te,87:Q,88:le,89:J,90:ge}),t(Te,[2,8]),t(F,[2,44]),t(L,[2,94])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],124:[2,12],127:[2,4],137:[2,52],148:[2,11],152:[2,39]},parseError:o(function(Me,Ae){if(Ae.recoverable)this.trace(Me);else{var ze=new Error(Me);throw ze.hash=Ae,ze}},"parseError"),parse:o(function(Me){var Ae=this,ze=[0],Y=[],ce=[null],U=[],ue=this.table,z="",se=0,oe=0,be=0,pe=2,me=1,De=U.slice.call(arguments,1),Ce=Object.create(this.lexer),Fe={yy:{}};for(var Ye in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ye)&&(Fe.yy[Ye]=this.yy[Ye]);Ce.setInput(Me,Fe.yy),Fe.yy.lexer=Ce,Fe.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var xt=Ce.yylloc;U.push(xt);var je=Ce.options&&Ce.options.ranges;typeof Fe.yy.parseError=="function"?this.parseError=Fe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(Lt){ze.length=ze.length-2*Lt,ce.length=ce.length-Lt,U.length=U.length-Lt}o(Pe,"popStack");function rt(){var Lt;return Lt=Y.pop()||Ce.lex()||me,typeof Lt!="number"&&(Lt instanceof Array&&(Y=Lt,Lt=Y.pop()),Lt=Ae.symbols_[Lt]||Lt),Lt}o(rt,"lex");for(var We,ut,Ut,Tt,Mt,mt,at={},wt,St,bt,pt;;){if(Ut=ze[ze.length-1],this.defaultActions[Ut]?Tt=this.defaultActions[Ut]:((We===null||typeof We>"u")&&(We=rt()),Tt=ue[Ut]&&ue[Ut][We]),typeof Tt>"u"||!Tt.length||!Tt[0]){var Zr="";pt=[];for(wt in ue[Ut])this.terminals_[wt]&&wt>pe&&pt.push("'"+this.terminals_[wt]+"'");Ce.showPosition?Zr="Parse error on line "+(se+1)+`: -`+Ce.showPosition()+` -Expecting `+pt.join(", ")+", got '"+(this.terminals_[We]||We)+"'":Zr="Parse error on line "+(se+1)+": Unexpected "+(We==me?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(Zr,{text:Ce.match,token:this.terminals_[We]||We,line:Ce.yylineno,loc:xt,expected:pt})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ut+", token: "+We);switch(Tt[0]){case 1:ze.push(We),ce.push(Ce.yytext),U.push(Ce.yylloc),ze.push(Tt[1]),We=null,ut?(We=ut,ut=null):(oe=Ce.yyleng,z=Ce.yytext,se=Ce.yylineno,xt=Ce.yylloc,be>0&&be--);break;case 2:if(St=this.productions_[Tt[1]][1],at.$=ce[ce.length-St],at._$={first_line:U[U.length-(St||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(St||1)].first_column,last_column:U[U.length-1].last_column},je&&(at._$.range=[U[U.length-(St||1)].range[0],U[U.length-1].range[1]]),mt=this.performAction.apply(at,[z,oe,se,Fe.yy,Tt[1],ce,U].concat(De)),typeof mt<"u")return mt;St&&(ze=ze.slice(0,-1*St*2),ce=ce.slice(0,-1*St),U=U.slice(0,-1*St)),ze.push(this.productions_[Tt[1]][0]),ce.push(at.$),U.push(at._$),bt=ue[ze[ze.length-2]][ze[ze.length-1]],ze.push(bt);break;case 3:return!0}}return!0},"parse")},Ue=(function(){var Ie={EOF:1,parseError:o(function(Ae,ze){if(this.yy.parser)this.yy.parser.parseError(Ae,ze);else throw new Error(Ae)},"parseError"),setInput:o(function(Me,Ae){return this.yy=Ae||this.yy||{},this._input=Me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Me=this._input[0];this.yytext+=Me,this.yyleng++,this.offset++,this.match+=Me,this.matched+=Me;var Ae=Me.match(/(?:\r\n?|\n).*/g);return Ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Me},"input"),unput:o(function(Me){var Ae=Me.length,ze=Me.split(/(?:\r\n?|\n)/g);this._input=Me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ae),this.offset-=Ae;var Y=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),ze.length-1&&(this.yylineno-=ze.length-1);var ce=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:ze?(ze.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-ze.length].length-ze[0].length:this.yylloc.first_column-Ae},this.options.ranges&&(this.yylloc.range=[ce[0],ce[0]+this.yyleng-Ae]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Me){this.unput(this.match.slice(Me))},"less"),pastInput:o(function(){var Me=this.matched.substr(0,this.matched.length-this.match.length);return(Me.length>20?"...":"")+Me.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Me=this.match;return Me.length<20&&(Me+=this._input.substr(0,20-Me.length)),(Me.substr(0,20)+(Me.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Me=this.pastInput(),Ae=new Array(Me.length+1).join("-");return Me+this.upcomingInput()+` -`+Ae+"^"},"showPosition"),test_match:o(function(Me,Ae){var ze,Y,ce;if(this.options.backtrack_lexer&&(ce={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&&(ce.yylloc.range=this.yylloc.range.slice(0))),Y=Me[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Me[0].length},this.yytext+=Me[0],this.match+=Me[0],this.matches=Me,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(Me[0].length),this.matched+=Me[0],ze=this.performAction.call(this,this.yy,this,Ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ze)return ze;if(this._backtrack){for(var U in ce)this[U]=ce[U];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Me,Ae,ze,Y;this._more||(this.yytext="",this.match="");for(var ce=this._currentRules(),U=0;UAe[0].length)){if(Ae=ze,Y=U,this.options.backtrack_lexer){if(Me=this.test_match(ze,ce[U]),Me!==!1)return Me;if(this._backtrack){Ae=!1;continue}else return!1}else if(!this.options.flex)break}return Ae?(Me=this.test_match(Ae,ce[Y]),Me!==!1?Me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ae=this.next();return Ae||this.lex()},"lex"),begin:o(function(Ae){this.conditionStack.push(Ae)},"begin"),popState:o(function(){var Ae=this.conditionStack.length-1;return Ae>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ae){return Ae=this.conditionStack.length-1-Math.abs(Ae||0),Ae>=0?this.conditionStack[Ae]:"INITIAL"},"topState"),pushState:o(function(Ae){this.begin(Ae)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ae,ze,Y,ce){var U=ce;switch(Y){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:return this.popState(),41;break;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;break;case 39:return this.popState(),8;break;case 40:break;case 41:return this.popState(),this.popState(),41;break;case 42:return this.begin("class-body"),39;break;case 43:return this.popState(),41;break;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 49;case 56:return 50;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 48;case 96:return 48;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return Ie})();Xe.lexer=Ue;function Le(){this.yy={}}return o(Le,"Parser"),Le.prototype=Xe,Xe.Parser=Le,new Le})();Hq.parser=Hq;N7=Hq});var owe,s3,lwe=I(()=>{"use strict";Qt();wr();owe=["#","+","~","-",""],s3=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=fr(e,xe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+zc(this.id);this.memberType==="method"&&(e+=`(${zc(this.parameters.trim())})`,this.returnType&&(e+=" : "+zc(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){let s=a[1]?a[1].trim():"";if(owe.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let i=e.length,a=e.substring(0,1),s=e.substring(i-1);owe.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let n=`${this.visibility?"\\"+this.visibility:""}${zc(this.id)}${this.memberType==="method"?`(${zc(this.parameters)})${this.returnType?" : "+zc(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var M7,cwe,Hm,Rv,jq=I(()=>{"use strict";kr();gt();Qt();wr();sr();ki();lwe();M7="classId-",cwe=0,Hm=o(t=>nt.sanitizeText(t,xe()),"sanitizeText"),Rv=class{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=[];this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=o(e=>{let r=He(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=He("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),He(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=He(a.currentTarget);if(s.attr("title")===null)return;let u=this.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.top-14+document.body.scrollTop+"px"),r.html(r.html().replace(/<br\/>/g,"
    ")),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),He(a.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=zr;this.getAccTitle=Vr;this.setAccDescription=qr;this.getAccDescription=Ur;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getConfig=o(()=>xe().class,"getConfig");this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{o(this,"ClassDB")}splitClassNameAndType(e){let r=nt.sanitizeText(e,xe()),n="",i=r;if(r.indexOf("~")>0){let a=r.split("~");i=Hm(a[0]),n=Hm(a[1])}return{className:i,type:n}}setClassLabel(e,r){let n=nt.sanitizeText(e,xe());r&&(r=Hm(r));let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){let r=nt.sanitizeText(e,xe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;let a=nt.sanitizeText(n,xe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:M7+a+"-"+cwe}),cwe++}addInterface(e,r){let n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}lookUpDomId(e){let r=nt.sanitizeText(e,xe());if(this.classes.has(r))return this.classes.get(r).domId;throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=[],this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",Mr()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNotes(){return this.notes}addRelation(e){X.debug("Adding relation: "+JSON.stringify(e));let r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=nt.sanitizeText(e.relationTitle1.trim(),xe()),e.relationTitle2=nt.sanitizeText(e.relationTitle2.trim(),xe()),this.relations.push(e)}addAnnotation(e,r){let n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);let n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){let a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Hm(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new s3(a,"method")):a&&i.members.push(new s3(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){let n={id:`note${this.notes.length}`,class:r,text:e};this.notes.push(n)}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Hm(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=M7+i);let a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(let n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Hm(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){let i=xe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=M7+s);let l=this.classes.get(s);l&&(l.link=jt.formatUrl(r,i),i.securityLevel==="sandbox"?l.linkTarget="_top":typeof n=="string"?l.linkTarget=Hm(n):l.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){let i=nt.sanitizeText(e,xe());if(xe().securityLevel!=="loose"||r===void 0)return;let s=i;if(this.classes.has(s)){let l=this.lookUpDomId(s),u=[];if(typeof n=="string"){u=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let h=0;h{let h=document.querySelector(`[id="${l}"]`);h!==null&&h.addEventListener("click",()=>{jt.runFunc(r,...u)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,children:{},domId:M7+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r){if(this.namespaces.has(e))for(let n of r){let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).parent=e,this.namespaces.get(e).classes.set(i,this.classes.get(i))}}setCssStyle(e,r){let n=this.classes.get(e);if(!(!r||!n))for(let i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){let e=[],r=[],n=xe();for(let a of this.namespaces.keys()){let s=this.namespaces.get(a);if(s){let l={id:s.id,label:s.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:n.look};e.push(l)}}for(let a of this.classes.keys()){let s=this.classes.get(a);if(s){let l=s;l.parentId=s.parent,l.look=n.look,e.push(l)}}let i=0;for(let a of this.notes){i++;let s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look};e.push(s);let l=this.classes.get(a.class)?.id??"";if(l){let u={id:`edgeNote${i}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(u)}}for(let a of this.interfaces){let s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}i=0;for(let a of this.relations){i++;let s={id:nu(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}}});var Vot,I7,Xq=I(()=>{"use strict";ey();Vot=o(t=>`g.classGroup text { +`;y.append("path").attr("d",v).attr("fill","#eaeaea").attr("stroke","#000").attr("stroke-width",1).attr("class",f),y.attr("transform",`translate(${d}, ${g})`),e.rectData=h,lf(r,Jn(e.description))(e.description,u,h.x,h.y+35,h.width,h.height,{class:`actor ${V7}`},r);let x=y.select("path:last-child");if(x.node()){let b=x.node().getBBox();e.height=b.height+(r.sequence.labelBoxHeight??0)}return e.height},"drawActorTypeDatabase"),Hlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=22,u=t.append("g").lower();n||(Qr++,u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Qr);let h=t.append("g"),f=Ym;n?f+=` ${gp}`:f+=` ${mp}`,h.attr("class",f),h.attr("name",e.name);let d=Oa();d.x=e.x,d.y=i,d.fill="#eaeaea",d.width=e.width,d.height=e.height,d.class="actor",h.append("line").attr("id","actor-man-torso"+Qr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+12).attr("x2",e.x+e.width/2-15).attr("y2",i+12),h.append("line").attr("id","actor-man-arms"+Qr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",i+22),h.append("circle").attr("cx",e.x+e.width/2).attr("cy",i+12).attr("r",l);let p=h.node().getBBox();return e.height=p.height+(r.sequence.labelBoxHeight??0),lf(r,Jn(e.description))(e.description,h,d.x,d.y+15,d.width,d.height,{class:`actor ${Ym}`},r),n?h.attr("transform",`translate(0,${l/2+10})`):h.attr("transform",`translate(0,${l/2+10})`),e.height},"drawActorTypeBoundary"),Ylt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=t.append("g").lower();n||(Qr++,l.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Qr);let u=t.append("g"),h=Ym;n?h+=` ${gp}`:h+=` ${mp}`,u.attr("class",h),u.attr("name",e.name);let f=Oa();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+Qr).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+Qr).attr("x1",a-pp/2).attr("y1",i+33).attr("x2",a+pp/2).attr("y2",i+33),u.append("line").attr("x1",a-pp/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+pp/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,lf(r,Jn(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${Ym}`},r),e.height},"drawActorTypeActor"),jlt=o(async function(t,e,r,n){switch(e.type){case"actor":return await Ylt(t,e,r,n);case"participant":return await zlt(t,e,r,n);case"boundary":return await Hlt(t,e,r,n);case"control":return await qlt(t,e,r,n);case"entity":return await Ult(t,e,r,n);case"database":return await Wlt(t,e,r,n);case"collections":return await Glt(t,e,r,n);case"queue":return await Vlt(t,e,r,n)}},"drawActor"),Xlt=o(function(t,e,r){let i=t.append("g");Mwe(i,e),e.name&&lf(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),Klt=o(function(t){return t.append("g")},"anchorElement"),Qlt=o(function(t,e,r,n,i){let a=Oa(),s=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,m3(s,a)},"drawActivation"),Zlt=o(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=o(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");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(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=Fx();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=s||20,m.textMargin=a,m.class="labelText",Nwe(d,m),m=Iwe(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=Jn(m.text)?await g3(d,m,e):jm(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,Jn(m.text)?(e.starty=e.sections[y].y,await g3(d,m,e)):jm(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,T)=>b+T));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),Mwe=o(function(t,e){nk(t,e)},"drawBackgroundRect"),Jlt=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ect=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),tct=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),rct=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),nct=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ict=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),act=o(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Iwe=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),sct=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),lf=(function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=Uo(m),b=a.split(st.lineBreakRegex);for(let T=0;T{let s=Xm(Ve),l=a.actorKeys.reduce((d,p)=>d+=t.get(p).width+(t.get(p).margin||0),0),u=Ve.boxMargin*8;l+=u,l-=2*Ve.boxTextMargin,a.wrap&&(a.name=Xt.wrapLabel(a.name,l-2*Ve.wrapPadding,s));let h=Xt.calculateTextDimensions(a.name,s);i=st.getMax(h.height,i);let f=st.getMax(l,h.width+2*Ve.wrapPadding);if(a.margin=Ve.boxTextMargin,la.textMaxHeight=i),st.getMax(n,Ve.height)}var Ve,ut,fct,dct,Xm,Bv,aU,mct,gct,sU,Fwe,$we,U7,Pwe,vct,bct,wct,kct,Ect,Bwe,Sct,zwe,Cct,Act,_ct,Gwe,Vwe=O(()=>{"use strict";Ar();Owe();xt();Ur();Ur();a0();jt();sg();ar();Ti();rU();Ve={},ut={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(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))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(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,$we(ve())},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=this,a=0;function s(l){return o(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Ve.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Ve.boxMargin,Math.max),i.updateVal(ut.data,"startx",t-f*Ve.boxMargin,Math.min),i.updateVal(ut.data,"stopx",r+f*Ve.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Ve.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Ve.boxMargin,Math.max),i.updateVal(ut.data,"starty",e-f*Ve.boxMargin,Math.min),i.updateVal(ut.data,"stopy",n+f*Ve.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,n){let i=st.getMin(t,r),a=st.getMax(t,r),s=st.getMin(e,n),l=st.getMax(e,n);this.updateVal(ut.data,"startx",i,Math.min),this.updateVal(ut.data,"starty",s,Math.min),this.updateVal(ut.data,"stopx",a,Math.max),this.updateVal(ut.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),newActivation:o(function(t,e,r){let n=r.get(t.from),i=U7(t.from).length||0,a=n.x+n.width/2+(i-1)*Ve.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Ve.activationWidth,stopy:void 0,actor:t.from,anchored:Qn.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:ut.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=st.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},fct=o(async function(t,e){ut.bumpVerticalPos(Ve.boxMargin),e.height=Ve.boxMargin,e.starty=ut.getVerticalPos();let r=Oa();r.x=e.startx,r.y=e.starty,r.width=e.width||Ve.width,r.class="note";let n=t.append("g"),i=Qn.drawRect(n,r),a=Fx();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Ve.noteFontFamily,a.fontSize=Ve.noteFontSize,a.fontWeight=Ve.noteFontWeight,a.anchor=Ve.noteAlign,a.textMargin=Ve.noteMargin,a.valign="center";let s=Jn(a.text)?await g3(n,a):jm(n,a),l=Math.round(s.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Ve.noteMargin),e.height+=l+2*Ve.noteMargin,ut.bumpVerticalPos(l+2*Ve.noteMargin),e.stopy=e.starty+l+2*Ve.noteMargin,e.stopx=e.startx+r.width,ut.insert(e.startx,e.starty,e.stopx,e.stopy),ut.models.addNote(e)},"drawNote"),dct=o(function(t,e,r,n,i,a,s){let l=n.db.getActors(),u=l.get(e.from),h=l.get(e.to),f=r.sequenceVisible,d=u.x+u.width/2,p=h.x+h.width/2,m=d<=p,g=zwe(e,n),y=t.append("g"),v=16.5,x=o((k,S)=>{let A=k?v:-v;return S?-A:A},"getCircleOffset"),b=o(k=>{y.append("circle").attr("cx",k).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:w}=n.db.LINETYPE;if(f)switch(e.centralConnection){case T:g&&(p+=x(m,!0));break;case E:g||(d+=x(m,!1));break;case w:g?p+=x(m,!0):d+=x(m,!1);break}switch(e.centralConnection){case T:b(p);break;case E:b(d);break;case w:b(d),b(p);break}},"drawCentralConnection"),Xm=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),Bv=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),aU=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(pct,"boundMessage");mct=o(async function(t,e,r,n,i){let{startx:a,stopx:s,starty:l,message:u,type:h,sequenceIndex:f,sequenceVisible:d}=e,p=Xt.calculateTextDimensions(u,Xm(Ve)),m=Fx();m.x=a,m.y=l+10,m.width=s-a,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Ve.messageFontFamily,m.fontSize=Ve.messageFontSize,m.fontWeight=Ve.messageFontWeight,m.anchor=Ve.messageAlign,m.valign="center",m.textMargin=Ve.wrapPadding,m.tspan=!1,Jn(m.text)?await g3(t,m,{startx:a,stopx:s,starty:r}):jm(t,m);let g=p.width,y;if(a===s){let x=d||Ve.showSequenceNumbers,b=zwe(i,n),T=Cct(i,n),E=a+(x&&(b||T)?10:0);Ve.rightAngles?y=t.append("path").attr("d",`M ${E},${r} H ${a+st.getMax(Ve.width/2,g/2)} V ${r+25} H ${a}`):y=t.append("path").attr("d","M "+E+","+r+" C "+(E+60)+","+(r-10)+" "+(a+60)+","+(r+30)+" "+a+","+(r+20))}else y=t.append("line"),y.attr("x1",a),y.attr("y1",r),y.attr("x2",s),y.attr("y2",r),Bwe(i,n)&&dct(t,i,e,n,a,s,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(y.style("stroke-dasharray","3, 3"),y.attr("class","messageLine1")):y.attr("class","messageLine0");let v="";if(Ve.arrowMarkerAbsolute&&(v=Op(!0)),y.attr("stroke-width",2),y.attr("stroke","none"),y.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&y.attr("marker-end","url("+v+"#solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&y.attr("marker-end","url("+v+"#solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&y.attr("marker-end","url("+v+"#stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&y.attr("marker-end","url("+v+"#stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&y.attr("marker-start","url("+v+"#solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&y.attr("marker-start","url("+v+"#solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&y.attr("marker-start","url("+v+"#stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&y.attr("marker-start","url("+v+"#stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&y.attr("marker-end","url("+v+"#arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(y.attr("marker-start","url("+v+"#arrowhead)"),y.attr("marker-end","url("+v+"#arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&y.attr("marker-end","url("+v+"#filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&y.attr("marker-end","url("+v+"#crosshead)"),d||Ve.showSequenceNumbers){let x=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,b=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,T=6,E=Bwe(i,n),w=a,k=s;x?(aa?k=s-2*T:(k=s-T,w+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=E?15:0,y.attr("x2",k),y.attr("x1",w)):y.attr("x1",a+T);let S=0,A=a===s,L=a<=s;A?S=e.fromBounds+1:b?S=L?e.toBounds-1:e.fromBounds+1:S=L?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",S).attr("y1",r).attr("x2",S).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+v+"#sequencenumber)"),t.append("text").attr("x",S).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(f)}},"drawMessage"),gct=o(function(t,e,r,n,i,a,s){let l=0,u=0,h,f=0;for(let d of n){let p=e.get(d),m=p.box;h&&h!=m&&(s||ut.models.addBox(h),u+=Ve.boxMargin+h.margin),m&&m!=h&&(s||(m.x=l+u,m.y=i),u+=m.margin),p.width=p.width||Ve.width,p.height=st.getMax(p.height||Ve.height,Ve.height),p.margin=p.margin||Ve.actorMargin,f=st.getMax(f,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=ut.getVerticalPos(),ut.insert(p.x,i,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,ut.models.addActor(p)}h&&!s&&ut.models.addBox(h),ut.bumpVerticalPos(f)},"addActorRenderingData"),sU=o(async function(t,e,r,n){if(n){let i=0;ut.bumpVerticalPos(Ve.boxMargin*2);for(let a of r){let s=e.get(a);s.stopy||(s.stopy=ut.getVerticalPos());let l=await Qn.drawActor(t,s,Ve,!0);i=st.getMax(i,l)}ut.bumpVerticalPos(i+Ve.boxMargin)}else for(let i of r){let a=e.get(i);await Qn.drawActor(t,a,Ve,!1)}},"drawActors"),Fwe=o(function(t,e,r,n){let i=0,a=0;for(let s of r){let l=e.get(s),u=bct(l),h=Qn.drawPopup(t,l,u,Ve,Ve.forceMenus,n);h.height>i&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),$we=o(function(t){Vn(Ve,t),t.fontFamily&&(Ve.actorFontFamily=Ve.noteFontFamily=Ve.messageFontFamily=t.fontFamily),t.fontSize&&(Ve.actorFontSize=Ve.noteFontSize=Ve.messageFontSize=t.fontSize),t.fontWeight&&(Ve.actorFontWeight=Ve.noteFontWeight=Ve.messageFontWeight=t.fontWeight)},"setConf"),U7=o(function(t){return ut.activations.filter(function(e){return e.actor===t})},"actorActivations"),Pwe=o(function(t,e){let r=e.get(t),n=U7(t),i=n.reduce(function(s,l){return st.getMin(s,l.startx)},r.x+r.width/2-1),a=n.reduce(function(s,l){return st.getMax(s,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");o(Qu,"adjustLoopHeightForWrap");o(yct,"adjustCreatedDestroyedData");vct=o(async function(t,e,r,n){let{securityLevel:i,sequence:a}=ve();Ve=a;let s;i==="sandbox"&&(s=je("#i"+e));let l=i==="sandbox"?je(s.nodes()[0].contentDocument.body):je("body"),u=i==="sandbox"?s.nodes()[0].contentDocument:document;ut.init(),K.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):je(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),T=await xct(f,y,n);if(Ve.height=await Tct(f,T,m),Qn.insertComputerIcon(h),Qn.insertDatabaseIcon(h),Qn.insertClockIcon(h),x&&(ut.bumpVerticalPos(Ve.boxMargin),b&&ut.bumpVerticalPos(m[0].textMaxHeight)),Ve.hideUnusedParticipants===!0){let B=new Set;y.forEach(F=>{B.add(F.from),B.add(F.to)}),g=g.filter(F=>B.has(F))}gct(h,f,d,g,0,y,!1);let E=await _ct(y,f,T,n);Qn.insertArrowHead(h),Qn.insertArrowCrossHead(h),Qn.insertArrowFilledHead(h),Qn.insertSequenceNumber(h),Qn.insertSolidTopArrowHead(h),Qn.insertSolidBottomArrowHead(h),Qn.insertStickTopArrowHead(h),Qn.insertStickBottomArrowHead(h);function w(B,F){let G=ut.endActivation(B);G.starty+18>F&&(G.starty=F-6,F+=12),Qn.drawActivation(h,G,F,Ve,U7(B.from).length),ut.insert(G.startx,F-10,G.stopx,F)}o(w,"activeEnd");let k=1,S=1,A=[],L=[],I=0;for(let B of y){let F,G,$;switch(B.type){case n.db.LINETYPE.NOTE:ut.resetVerticalPos(),G=B.noteModel,await fct(h,G);break;case n.db.LINETYPE.ACTIVE_START:ut.newActivation(B,h,f);break;case n.db.LINETYPE.CENTRAL_CONNECTION:ut.newActivation(B,h,f);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:ut.newActivation(B,h,f);break;case n.db.LINETYPE.ACTIVE_END:w(B,ut.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.LOOP_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"loop",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.RECT_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin,V=>ut.newLoop(void 0,V.message));break;case n.db.LINETYPE.RECT_END:F=ut.endLoop(),L.push(F),ut.models.addLoop(F),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.OPT_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"opt",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.ALT_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.ALT_ELSE:Qu(E,B,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,V=>ut.addSectionToLoop(V));break;case n.db.LINETYPE.ALT_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"alt",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V)),ut.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:Qu(E,B,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,V=>ut.addSectionToLoop(V));break;case n.db.LINETYPE.PAR_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"par",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.AUTONUMBER:k=B.message.start||k,S=B.message.step||S,B.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.CRITICAL_OPTION:Qu(E,B,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,V=>ut.addSectionToLoop(V));break;case n.db.LINETYPE.CRITICAL_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"critical",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.BREAK_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.BREAK_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"break",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;default:try{$=B.msgModel,$.starty=ut.getVerticalPos(),$.sequenceIndex=k,$.sequenceVisible=n.db.showSequenceNumbers();let V=await pct(h,$);yct(B,$,V,I,f,d,p),A.push({messageModel:$,lineStartY:V,msg:B}),ut.models.addMessage($)}catch(V){K.error("error while drawing message",V)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(B.type)&&(k=k+S),I++}K.debug("createdActors",d),K.debug("destroyedActors",p),await sU(h,f,g,!1);for(let B of A)await mct(h,B.messageModel,B.lineStartY,n,B.msg);Ve.mirrorActors&&await sU(h,f,g,!0),L.forEach(B=>Qn.drawBackgroundRect(h,B)),iU(h,f,g,Ve);for(let B of ut.models.boxes){B.height=ut.getVerticalPos()-B.y,ut.insert(B.x,B.y,B.x+B.width,B.height);let F=Ve.boxMargin*2;B.startx=B.x-F,B.starty=B.y-F*.25,B.stopx=B.startx+B.width+2*F,B.stopy=B.starty+B.height+F*.75,B.stroke="rgb(0,0,0, 0.5)",Qn.drawBox(h,B,Ve)}x&&ut.bumpVerticalPos(Ve.boxMargin);let N=Fwe(h,f,g,u),{bounds:C}=ut.getBounds();C.startx===void 0&&(C.startx=0),C.starty===void 0&&(C.starty=0),C.stopx===void 0&&(C.stopx=0),C.stopy===void 0&&(C.stopy=0);let _=C.stopy-C.starty;_2,d=o(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Ve.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=d(3)));let p=[n,i,a,s],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Xt.wrapLabel(t.message,st.getMax(m+2*Ve.wrapPadding,Ve.width),Xm(Ve)));let g=Xt.calculateTextDimensions(t.message,Xm(Ve));return{width:st.getMax(t.wrap?0:g.width+2*Ve.wrapPadding,m+2*Ve.wrapPadding,Ve.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),_ct=o(async function(t,e,r,n){let i={},a=[],s,l,u;for(let h of t){switch(h.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.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.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:h.message&&(s=a.pop(),i[s.id]=s,i[h.id]=s,a.push(s));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:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=U7(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Ve.activationWidth/2,g={startx:m,stopx:m+Ve.activationWidth,actor:h.from,enabled:!0};ut.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=ut.activations.map(p=>p.actor).lastIndexOf(h.from);ut.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await wct(h,e,n),h.noteModel=l,a.forEach(d=>{s=d,s.from=st.getMin(s.from,l.startx),s.to=st.getMax(s.to,l.startx+l.width),s.width=st.getMax(s.width,Math.abs(s.from-s.to))-Ve.labelBoxWidth})):(u=Act(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=st.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=st.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=st.getMax(s.width,Math.abs(s.to-s.from))-Ve.labelBoxWidth}else s.from=st.getMin(u.startx,s.from),s.to=st.getMax(u.stopx,s.to),s.width=st.getMax(s.width,u.width)-Ve.labelBoxWidth}))}return ut.activations=[],K.debug("Loop type widths:",i),i},"calculateLoopBounds"),Gwe={bounds:ut,drawActors:sU,drawActorsPopup:Fwe,setConf:$we,draw:vct}});var qwe={};vr(qwe,{diagram:()=>Dct});var Dct,Uwe=O(()=>{"use strict";Dwe();rU();Lwe();jt();Vwe();Dct={parser:_we,get db(){return new G7},renderer:Gwe,styles:Rwe,init:o(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,z2({sequence:{wrap:t.wrap}}))},"init")}});var oU,W7,lU=O(()=>{"use strict";oU=(function(){var t=o(function(Ue,Ge,Ne,We){for(Ne=Ne||{},We=Ue.length;We--;Ne[Ue[We]]=Ge);return Ne},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,42],s=[1,26],l=[1,24],u=[1,25],h=[1,32],f=[1,33],d=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],T=[1,29],E=[1,30],w=[1,31],k=[1,44],S=[1,46],A=[1,43],L=[1,47],I=[1,9],N=[1,8,9],C=[1,58],_=[1,59],D=[1,60],M=[1,61],R=[1,62],P=[1,63],B=[1,64],F=[1,8,9,41],G=[1,76],$=[1,8,9,12,13,22,39,41,44,68,69,70,71,72,73,74,79,81],V=[1,8,9,12,13,18,20,22,39,41,44,50,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Q=[13,60,73,74,86,100,102,103],H=[13,60,68,69,70,71,72,86,100,102,103],ie=[1,101],Y=[1,118],le=[1,114],ee=[1,110],J=[1,116],te=[1,111],Z=[1,112],xe=[1,113],de=[1,115],Se=[1,117],Me=[22,48,60,61,82,86,87,88,89,90],ke=[1,8,9,39,41,44],we=[1,8,9,22],_e=[1,147],$e=[1,8,9,61],fe=[1,8,9,22,48,60,61,82,86,87,88,89,90],Ke={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,emptyBody:47,SPACE:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",48:"SPACE",49:"ANNOTATION_START",50:"ANNOTATION_END",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[43,2],[43,3],[47,0],[47,2],[47,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:o(function(Ge,Ne,We,j,ae,U,ce){var z=U.length-1;switch(ae){case 8:this.$=U[z-1];break;case 9:case 10:case 13:case 15:this.$=U[z];break;case 11:case 14:this.$=U[z-2]+"."+U[z];break;case 12:case 16:this.$=U[z-1]+U[z];break;case 17:case 18:this.$=U[z-1]+"~"+U[z]+"~";break;case 19:j.addRelation(U[z]);break;case 20:U[z-1].title=j.cleanupLabel(U[z]),j.addRelation(U[z-1]);break;case 31:this.$=U[z].trim(),j.setAccTitle(this.$);break;case 32:case 33:this.$=U[z].trim(),j.setAccDescription(this.$);break;case 34:j.addClassesToNamespace(U[z-3],U[z-1][0],U[z-1][1]);break;case 35:j.addClassesToNamespace(U[z-4],U[z-1][0],U[z-1][1]);break;case 36:this.$=U[z],j.addNamespace(U[z]);break;case 37:this.$=[[U[z]],[]];break;case 38:this.$=[[U[z-1]],[]];break;case 39:U[z][0].unshift(U[z-2]),this.$=U[z];break;case 40:this.$=[[],[U[z]]];break;case 41:this.$=[[],[U[z-1]]];break;case 42:U[z][1].unshift(U[z-2]),this.$=U[z];break;case 44:j.setCssClass(U[z-2],U[z]);break;case 45:j.addMembers(U[z-3],U[z-1]);break;case 47:j.setCssClass(U[z-5],U[z-3]),j.addMembers(U[z-5],U[z-1]);break;case 48:this.$=U[z],j.addClass(U[z]);break;case 49:this.$=U[z-1],j.addClass(U[z-1]),j.setClassLabel(U[z-1],U[z]);break;case 53:j.addAnnotation(U[z],U[z-2]);break;case 54:case 67:this.$=[U[z]];break;case 55:U[z].push(U[z-1]),this.$=U[z];break;case 56:break;case 57:j.addMember(U[z-1],j.cleanupLabel(U[z]));break;case 58:break;case 59:break;case 60:this.$={id1:U[z-2],id2:U[z],relation:U[z-1],relationTitle1:"none",relationTitle2:"none"};break;case 61:this.$={id1:U[z-3],id2:U[z],relation:U[z-1],relationTitle1:U[z-2],relationTitle2:"none"};break;case 62:this.$={id1:U[z-3],id2:U[z],relation:U[z-2],relationTitle1:"none",relationTitle2:U[z-1]};break;case 63:this.$={id1:U[z-4],id2:U[z],relation:U[z-2],relationTitle1:U[z-3],relationTitle2:U[z-1]};break;case 64:this.$=j.addNote(U[z],U[z-1]);break;case 65:this.$=j.addNote(U[z]);break;case 66:this.$=U[z-2],j.defineClass(U[z-1],U[z]);break;case 68:this.$=U[z-2].concat([U[z]]);break;case 69:j.setDirection("TB");break;case 70:j.setDirection("BT");break;case 71:j.setDirection("RL");break;case 72:j.setDirection("LR");break;case 73:this.$={type1:U[z-2],type2:U[z],lineType:U[z-1]};break;case 74:this.$={type1:"none",type2:U[z],lineType:U[z-1]};break;case 75:this.$={type1:U[z-1],type2:"none",lineType:U[z]};break;case 76:this.$={type1:"none",type2:"none",lineType:U[z]};break;case 77:this.$=j.relationType.AGGREGATION;break;case 78:this.$=j.relationType.EXTENSION;break;case 79:this.$=j.relationType.COMPOSITION;break;case 80:this.$=j.relationType.DEPENDENCY;break;case 81:this.$=j.relationType.LOLLIPOP;break;case 82:this.$=j.lineType.LINE;break;case 83:this.$=j.lineType.DOTTED_LINE;break;case 84:case 90:this.$=U[z-2],j.setClickEvent(U[z-1],U[z]);break;case 85:case 91:this.$=U[z-3],j.setClickEvent(U[z-2],U[z-1]),j.setTooltip(U[z-2],U[z]);break;case 86:this.$=U[z-2],j.setLink(U[z-1],U[z]);break;case 87:this.$=U[z-3],j.setLink(U[z-2],U[z-1],U[z]);break;case 88:this.$=U[z-3],j.setLink(U[z-2],U[z-1]),j.setTooltip(U[z-2],U[z]);break;case 89:this.$=U[z-4],j.setLink(U[z-3],U[z-2],U[z]),j.setTooltip(U[z-3],U[z-1]);break;case 92:this.$=U[z-3],j.setClickEvent(U[z-2],U[z-1],U[z]);break;case 93:this.$=U[z-4],j.setClickEvent(U[z-3],U[z-2],U[z-1]),j.setTooltip(U[z-3],U[z]);break;case 94:this.$=U[z-3],j.setLink(U[z-2],U[z]);break;case 95:this.$=U[z-4],j.setLink(U[z-3],U[z-1],U[z]);break;case 96:this.$=U[z-4],j.setLink(U[z-3],U[z-1]),j.setTooltip(U[z-3],U[z]);break;case 97:this.$=U[z-5],j.setLink(U[z-4],U[z-2],U[z]),j.setTooltip(U[z-4],U[z-1]);break;case 98:this.$=U[z-2],j.setCssStyle(U[z-1],U[z]);break;case 99:j.setCssClass(U[z-1],U[z]);break;case 100:this.$=[U[z]];break;case 101:U[z-2].push(U[z]),this.$=U[z-2];break;case 103:this.$=U[z-1]+U[z];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:S,102:A,103:L},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(I,[2,5],{8:[1,48]}),{8:[1,49]},t(N,[2,19],{22:[1,50]}),t(N,[2,21]),t(N,[2,22]),t(N,[2,23]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),t(N,[2,29]),t(N,[2,30]),{34:[1,51]},{36:[1,52]},t(N,[2,33]),t(N,[2,56],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:C,69:_,70:D,71:M,72:R,73:P,74:B}),{39:[1,65]},t(F,[2,43],{39:[1,67],44:[1,66]}),t(N,[2,58]),t(N,[2,59]),{16:68,60:p,86:k,100:S,102:A},{16:39,17:40,19:69,60:p,86:k,100:S,102:A,103:L},{16:39,17:40,19:70,60:p,86:k,100:S,102:A,103:L},{16:39,17:40,19:71,60:p,86:k,100:S,102:A,103:L},{60:[1,72]},{13:[1,73]},{16:39,17:40,19:74,60:p,86:k,100:S,102:A,103:L},{13:G,55:75},{58:77,60:[1,78]},t(N,[2,69]),t(N,[2,70]),t(N,[2,71]),t(N,[2,72]),t($,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],60:p,86:k,100:S,102:A,103:L}),t($,[2,15],{20:[1,82]}),{15:83,16:84,17:85,60:p,86:k,100:S,102:A,103:L},{16:39,17:40,19:86,60:p,86:k,100:S,102:A,103:L},t(V,[2,126]),t(V,[2,127]),t(V,[2,128]),t(V,[2,129]),t([1,8,9,12,13,20,22,39,41,44,68,69,70,71,72,73,74,79,81],[2,130]),t(I,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:87,33:e,35:r,37:n,42:i,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:S,102:A,103:L}),{5:88,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:S,102:A,103:L},t(N,[2,20]),t(N,[2,31]),t(N,[2,32]),{13:[1,90],16:39,17:40,19:89,60:p,86:k,100:S,102:A,103:L},{53:91,66:56,67:57,68:C,69:_,70:D,71:M,72:R,73:P,74:B},t(N,[2,57]),{67:92,73:P,74:B},t(X,[2,76],{66:93,68:C,69:_,70:D,71:M,72:R}),t(Q,[2,77]),t(Q,[2,78]),t(Q,[2,79]),t(Q,[2,80]),t(Q,[2,81]),t(H,[2,82]),t(H,[2,83]),{8:[1,95],24:96,30:97,40:94,43:23,46:a,54:h,56:f},{16:98,60:p,86:k,100:S,102:A},{41:[1,100],45:99,51:ie},{50:[1,102]},{13:[1,103]},{13:[1,104]},{79:[1,105],81:[1,106]},{22:Y,48:le,59:107,60:ee,82:J,84:108,85:109,86:te,87:Z,88:xe,89:de,90:Se},{60:[1,119]},{13:G,55:120},t(F,[2,65]),t(F,[2,131]),{22:Y,48:le,59:121,60:ee,61:[1,122],82:J,84:108,85:109,86:te,87:Z,88:xe,89:de,90:Se},t(Me,[2,67]),{16:39,17:40,19:123,60:p,86:k,100:S,102:A,103:L},t($,[2,16]),t($,[2,17]),t($,[2,18]),{39:[2,36]},{15:125,16:84,17:85,18:[1,124],39:[2,9],60:p,86:k,100:S,102:A,103:L},{39:[2,10]},t(ke,[2,48],{11:126,12:[1,127]}),t(I,[2,7]),{9:[1,128]},t(we,[2,60]),{16:39,17:40,19:129,60:p,86:k,100:S,102:A,103:L},{13:[1,131],16:39,17:40,19:130,60:p,86:k,100:S,102:A,103:L},t(X,[2,75],{66:132,68:C,69:_,70:D,71:M,72:R}),t(X,[2,74]),{41:[1,133]},{24:96,30:97,40:134,43:23,46:a,54:h,56:f},{8:[1,135],41:[2,37]},{8:[1,136],41:[2,40]},t(F,[2,44],{39:[1,137]}),{41:[1,138]},t(F,[2,46]),{41:[2,54],45:139,51:ie},{16:39,17:40,19:140,60:p,86:k,100:S,102:A,103:L},t(N,[2,84],{13:[1,141]}),t(N,[2,86],{13:[1,143],77:[1,142]}),t(N,[2,90],{13:[1,144],80:[1,145]}),{13:[1,146]},t(N,[2,98],{61:_e}),t($e,[2,100],{85:148,22:Y,48:le,60:ee,82:J,86:te,87:Z,88:xe,89:de,90:Se}),t(fe,[2,102]),t(fe,[2,104]),t(fe,[2,105]),t(fe,[2,106]),t(fe,[2,107]),t(fe,[2,108]),t(fe,[2,109]),t(fe,[2,110]),t(fe,[2,111]),t(fe,[2,112]),t(N,[2,99]),t(F,[2,64]),t(N,[2,66],{61:_e}),{60:[1,149]},t($,[2,14]),{15:150,16:84,17:85,60:p,86:k,100:S,102:A,103:L},{39:[2,12]},t(ke,[2,49]),{13:[1,151]},{1:[2,4]},t(we,[2,62]),t(we,[2,61]),{16:39,17:40,19:152,60:p,86:k,100:S,102:A,103:L},t(X,[2,73]),t(N,[2,34]),{41:[1,153]},{24:96,30:97,40:154,41:[2,38],43:23,46:a,54:h,56:f},{24:96,30:97,40:155,41:[2,41],43:23,46:a,54:h,56:f},{45:156,51:ie},t(F,[2,45]),{41:[2,55]},t(N,[2,53]),t(N,[2,85]),t(N,[2,87]),t(N,[2,88],{77:[1,157]}),t(N,[2,91]),t(N,[2,92],{13:[1,158]}),t(N,[2,94],{13:[1,160],77:[1,159]}),{22:Y,48:le,60:ee,82:J,84:161,85:109,86:te,87:Z,88:xe,89:de,90:Se},t(fe,[2,103]),t(Me,[2,68]),{39:[2,11]},{14:[1,162]},t(we,[2,63]),t(N,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,163]},t(N,[2,89]),t(N,[2,93]),t(N,[2,95]),t(N,[2,96],{77:[1,164]}),t($e,[2,101],{85:148,22:Y,48:le,60:ee,82:J,86:te,87:Z,88:xe,89:de,90:Se}),t(ke,[2,8]),t(F,[2,47]),t(N,[2,97])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],125:[2,12],128:[2,4],139:[2,55],150:[2,11],154:[2,39],155:[2,42]},parseError:o(function(Ge,Ne){if(Ne.recoverable)this.trace(Ge);else{var We=new Error(Ge);throw We.hash=Ne,We}},"parseError"),parse:o(function(Ge){var Ne=this,We=[0],j=[],ae=[null],U=[],ce=this.table,z="",ne=0,se=0,be=0,pe=2,me=1,Re=U.slice.call(arguments,1),ge=Object.create(this.lexer),Ie={yy:{}};for(var qe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,qe)&&(Ie.yy[qe]=this.yy[qe]);ge.setInput(Ge,Ie.yy),Ie.yy.lexer=ge,Ie.yy.parser=this,typeof ge.yylloc>"u"&&(ge.yylloc={});var Pe=ge.yylloc;U.push(Pe);var Xe=ge.options&&ge.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function oe(cr){We.length=We.length-2*cr,ae.length=ae.length-cr,U.length=U.length-cr}o(oe,"popStack");function et(){var cr;return cr=j.pop()||ge.lex()||me,typeof cr!="number"&&(cr instanceof Array&&(j=cr,cr=j.pop()),cr=Ne.symbols_[cr]||cr),cr}o(et,"lex");for(var he,ot,Dt,It,wt,Rt,it={},at,Ct,yt,dt;;){if(Dt=We[We.length-1],this.defaultActions[Dt]?It=this.defaultActions[Dt]:((he===null||typeof he>"u")&&(he=et()),It=ce[Dt]&&ce[Dt][he]),typeof It>"u"||!It.length||!It[0]){var Ht="";dt=[];for(at in ce[Dt])this.terminals_[at]&&at>pe&&dt.push("'"+this.terminals_[at]+"'");ge.showPosition?Ht="Parse error on line "+(ne+1)+`: +`+ge.showPosition()+` +Expecting `+dt.join(", ")+", got '"+(this.terminals_[he]||he)+"'":Ht="Parse error on line "+(ne+1)+": Unexpected "+(he==me?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(Ht,{text:ge.match,token:this.terminals_[he]||he,line:ge.yylineno,loc:Pe,expected:dt})}if(It[0]instanceof Array&&It.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Dt+", token: "+he);switch(It[0]){case 1:We.push(he),ae.push(ge.yytext),U.push(ge.yylloc),We.push(It[1]),he=null,ot?(he=ot,ot=null):(se=ge.yyleng,z=ge.yytext,ne=ge.yylineno,Pe=ge.yylloc,be>0&&be--);break;case 2:if(Ct=this.productions_[It[1]][1],it.$=ae[ae.length-Ct],it._$={first_line:U[U.length-(Ct||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(Ct||1)].first_column,last_column:U[U.length-1].last_column},Xe&&(it._$.range=[U[U.length-(Ct||1)].range[0],U[U.length-1].range[1]]),Rt=this.performAction.apply(it,[z,se,ne,Ie.yy,It[1],ae,U].concat(Re)),typeof Rt<"u")return Rt;Ct&&(We=We.slice(0,-1*Ct*2),ae=ae.slice(0,-1*Ct),U=U.slice(0,-1*Ct)),We.push(this.productions_[It[1]][0]),ae.push(it.$),U.push(it._$),yt=ce[We[We.length-2]][We[We.length-1]],We.push(yt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var Ue={EOF:1,parseError:o(function(Ne,We){if(this.yy.parser)this.yy.parser.parseError(Ne,We);else throw new Error(Ne)},"parseError"),setInput:o(function(Ge,Ne){return this.yy=Ne||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var Ne=Ge.match(/(?:\r\n?|\n).*/g);return Ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:o(function(Ge){var Ne=Ge.length,We=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ne),this.offset-=Ne;var j=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),We.length-1&&(this.yylineno-=We.length-1);var ae=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:We?(We.length===j.length?this.yylloc.first_column:0)+j[j.length-We.length].length-We[0].length:this.yylloc.first_column-Ne},this.options.ranges&&(this.yylloc.range=[ae[0],ae[0]+this.yyleng-Ne]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:o(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Ge=this.pastInput(),Ne=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` +`+Ne+"^"},"showPosition"),test_match:o(function(Ge,Ne){var We,j,ae;if(this.options.backtrack_lexer&&(ae={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&&(ae.yylloc.range=this.yylloc.range.slice(0))),j=Ge[0].match(/(?:\r\n?|\n).*/g),j&&(this.yylineno+=j.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:j?j[j.length-1].length-j[j.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,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(Ge[0].length),this.matched+=Ge[0],We=this.performAction.call(this,this.yy,this,Ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),We)return We;if(this._backtrack){for(var U in ae)this[U]=ae[U];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,Ne,We,j;this._more||(this.yytext="",this.match="");for(var ae=this._currentRules(),U=0;UNe[0].length)){if(Ne=We,j=U,this.options.backtrack_lexer){if(Ge=this.test_match(We,ae[U]),Ge!==!1)return Ge;if(this._backtrack){Ne=!1;continue}else return!1}else if(!this.options.flex)break}return Ne?(Ge=this.test_match(Ne,ae[j]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ne=this.next();return Ne||this.lex()},"lex"),begin:o(function(Ne){this.conditionStack.push(Ne)},"begin"),popState:o(function(){var Ne=this.conditionStack.length-1;return Ne>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ne){return Ne=this.conditionStack.length-1-Math.abs(Ne||0),Ne>=0?this.conditionStack[Ne]:"INITIAL"},"topState"),pushState:o(function(Ne){this.begin(Ne)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ne,We,j,ae){var U=ae;switch(j){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:return this.popState(),41;break;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;break;case 39:return this.popState(),8;break;case 40:break;case 41:return this.popState(),this.popState(),41;break;case 42:return this.begin("class-body"),39;break;case 43:return this.popState(),41;break;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 49;case 56:return 50;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 48;case 96:return 48;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return Ue})();Ke.lexer=Te;function Be(){this.yy={}}return o(Be,"Parser"),Be.prototype=Ke,Ke.Parser=Be,new Be})();oU.parser=oU;W7=oU});var Ywe,y3,jwe=O(()=>{"use strict";jt();Ur();Ywe=["#","+","~","-",""],y3=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=wr(e,ve());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+jc(this.id);this.memberType==="method"&&(e+=`(${jc(this.parameters.trim())})`,this.returnType&&(e+=" : "+jc(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){let s=a[1]?a[1].trim():"";if(Ywe.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let i=e.length,a=e.substring(0,1),s=e.substring(i-1);Ywe.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let n=`${this.visibility?"\\"+this.visibility:""}${jc(this.id)}${this.memberType==="method"?`(${jc(this.parameters)})${this.returnType?" : "+jc(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var H7,Xwe,Km,Fv,cU=O(()=>{"use strict";Ar();xt();jt();Ur();ar();si();a0();jwe();S2();H7="classId-",Xwe=0,Km=o(t=>st.sanitizeText(t,ve()),"sanitizeText"),Fv=class{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=new Map;this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=o(e=>{let r=sk();je(e).select("svg").selectAll("g").filter(function(){return je(this).attr("title")!==null}).on("mouseover",a=>{let s=je(a.currentTarget),l=s.attr("title");if(!l)return;let u=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(fl.sanitize(l)).style("left",`${window.scrollX+u.left+u.width/2}px`).style("top",`${window.scrollY+u.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),je(a.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=Lr;this.getAccTitle=Or;this.setAccDescription=Pr;this.getAccDescription=Br;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getConfig=o(()=>ve().class,"getConfig");this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{o(this,"ClassDB")}splitClassNameAndType(e){let r=st.sanitizeText(e,ve()),n="",i=r;if(r.indexOf("~")>0){let a=r.split("~");i=Km(a[0]),n=Km(a[1])}return{className:i,type:n}}setClassLabel(e,r){let n=st.sanitizeText(e,ve());r&&(r=Km(r));let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){let r=st.sanitizeText(e,ve()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;let a=st.sanitizeText(n,ve());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:H7+a+"-"+Xwe}),Xwe++}addInterface(e,r){let n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}lookUpDomId(e){let r=st.sanitizeText(e,ve());if(this.classes.has(r))return this.classes.get(r).domId;throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",_r()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){let r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){K.debug("Adding relation: "+JSON.stringify(e));let r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=st.sanitizeText(e.relationTitle1.trim(),ve()),e.relationTitle2=st.sanitizeText(e.relationTitle2.trim(),ve()),this.relations.push(e)}addAnnotation(e,r){let n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);let n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){let a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Km(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new y3(a,"method")):a&&i.members.push(new y3(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){let n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Km(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=H7+i);let a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(let n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Km(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){let i=ve();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=H7+s);let l=this.classes.get(s);l&&(l.link=Xt.formatUrl(r,i),i.securityLevel==="sandbox"?l.linkTarget="_top":typeof n=="string"?l.linkTarget=Km(n):l.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){let i=st.sanitizeText(e,ve());if(ve().securityLevel!=="loose"||r===void 0)return;let s=i;if(this.classes.has(s)){let l=this.lookUpDomId(s),u=[];if(typeof n=="string"){u=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let h=0;h{let h=document.querySelector(`[id="${l}"]`);h!==null&&h.addEventListener("click",()=>{Xt.runFunc(r,...u)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:H7+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(let i of r){let{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(let i of n){let a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){let n=this.classes.get(e);if(!(!r||!n))for(let i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){let e=[],r=[],n=ve();for(let a of this.namespaces.values()){let s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(let a of this.classes.values()){let s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(let a of this.notes.values()){let s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);let l=this.classes.get(a.class)?.id;if(l){let u={id:`edgeNote${a.index}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(u)}}for(let a of this.interfaces){let s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(let a of this.relations){i++;let s={id:hu(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}}});var Mct,Y7,uU=O(()=>{"use strict";ly();Mct=o(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; @@ -1819,6 +1862,30 @@ Expecting `+pt.join(", ")+", got '"+(this.terminals_[We]||We)+"'":Zr="Parse erro } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + .nodeLabel, .edgeLabel { color: ${t.classText}; } @@ -1965,13 +2032,13 @@ g.classGroup line { font-size: 18px; fill: ${t.textColor}; } - ${Su()} -`,"getStyles"),I7=Vot});var qot,Uot,Wot,O7,Kq=I(()=>{"use strict";Qt();gt();y0();Cd();Ad();sr();qot=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Uot=o(function(t,e){return e.db.getClasses()},"getClasses"),Wot=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing class diagram (v3)",e);let{securityLevel:i,state:a,layout:s}=xe(),l=n.db.getData(),u=xl(e,i);l.type=n.type,l.layoutAlgorithm=ku(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=e,await _l(l,u);let h=8;jt.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),mo(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),O7={getClasses:Uot,draw:Wot,getDir:qot}});var uwe={};vr(uwe,{diagram:()=>Hot});var Hot,hwe=I(()=>{"use strict";Yq();jq();Xq();Kq();Hot={parser:N7,get db(){return new Rv},renderer:O7,styles:I7,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var pwe={};vr(pwe,{diagram:()=>Kot});var Kot,mwe=I(()=>{"use strict";Yq();jq();Xq();Kq();Kot={parser:N7,get db(){return new Rv},renderer:O7,styles:I7,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var Qq,P7,Zq=I(()=>{"use strict";Qq=(function(){var t=o(function(F,G,$,V){for($=$||{},V=F.length;V--;$[F[V]]=G);return $},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,33],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],T=[1,28],E=[1,29],w=[1,30],k=[1,31],C=[1,32],D=[1,35],R=[1,36],O=[1,37],L=[1,38],S=[1,34],A=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],_=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],N=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],M={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":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,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"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:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(G,$,V,K,ee,H,he){var Z=H.length-1;switch(ee){case 3:return K.setRootDoc(H[Z]),H[Z];break;case 4:this.$=[];break;case 5:H[Z]!="nl"&&(H[Z-1].push(H[Z]),this.$=H[Z-1]);break;case 6:case 7:this.$=H[Z];break;case 8:this.$="nl";break;case 12:this.$=H[Z];break;case 13:let te=H[Z-1];te.description=K.trimColon(H[Z]),this.$=te;break;case 14:this.$={stmt:"relation",state1:H[Z-2],state2:H[Z]};break;case 15:let Q=K.trimColon(H[Z]);this.$={stmt:"relation",state1:H[Z-3],state2:H[Z-1],description:Q};break;case 19:this.$={stmt:"state",id:H[Z-3],type:"default",description:"",doc:H[Z-1]};break;case 20:var de=H[Z],re=H[Z-2].trim();if(H[Z].match(":")){var ne=H[Z].split(":");de=ne[0],re=[re,ne[1]]}this.$={stmt:"state",id:de,type:"default",description:re};break;case 21:this.$={stmt:"state",id:H[Z-3],type:"default",description:H[Z-5],doc:H[Z-1]};break;case 22:this.$={stmt:"state",id:H[Z],type:"fork"};break;case 23:this.$={stmt:"state",id:H[Z],type:"join"};break;case 24:this.$={stmt:"state",id:H[Z],type:"choice"};break;case 25:this.$={stmt:"state",id:K.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:H[Z-1].trim(),note:{position:H[Z-2].trim(),text:H[Z].trim()}};break;case 29:this.$=H[Z].trim(),K.setAccTitle(this.$);break;case 30:case 31:this.$=H[Z].trim(),K.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:H[Z-3],url:H[Z-2],tooltip:H[Z-1]};break;case 33:this.$={stmt:"click",id:H[Z-3],url:H[Z-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:H[Z-1].trim(),classes:H[Z].trim()};break;case 36:this.$={stmt:"style",id:H[Z-1].trim(),styleClass:H[Z].trim()};break;case 37:this.$={stmt:"applyClass",id:H[Z-1].trim(),styleClass:H[Z].trim()};break;case 38:K.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:K.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:K.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:K.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:H[Z].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:H[Z-2].trim(),classes:[H[Z].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:H[Z-2].trim(),classes:[H[Z].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:C,51:D,52:R,53:O,54:L,57:S},t(A,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:C,51:D,52:R,53:O,54:L,57:S},t(A,[2,7]),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(A,[2,11]),t(A,[2,12],{14:[1,40],15:[1,41]}),t(A,[2,16]),{18:[1,42]},t(A,[2,18],{20:[1,43]}),{23:[1,44]},t(A,[2,22]),t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(A,[2,28]),{34:[1,49]},{36:[1,50]},t(A,[2,31]),{13:51,24:d,57:S},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(_,[2,44],{58:[1,56]}),t(_,[2,45],{58:[1,57]}),t(A,[2,38]),t(A,[2,39]),t(A,[2,40]),t(A,[2,41]),t(A,[2,6]),t(A,[2,13]),{13:58,24:d,57:S},t(A,[2,17]),t(N,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(A,[2,29]),t(A,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(A,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,72],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:C,51:D,52:R,53:O,54:L,57:S},t(A,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(A,[2,34]),t(A,[2,35]),t(A,[2,36]),t(A,[2,37]),t(_,[2,46]),t(_,[2,47]),t(A,[2,15]),t(A,[2,19]),t(N,i,{7:78}),t(A,[2,26]),t(A,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,81],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:C,51:D,52:R,53:O,54:L,57:S},t(A,[2,32]),t(A,[2,33]),t(A,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:o(function(G,$){if($.recoverable)this.trace(G);else{var V=new Error(G);throw V.hash=$,V}},"parseError"),parse:o(function(G){var $=this,V=[0],K=[],ee=[null],H=[],he=this.table,Z="",de=0,re=0,ne=0,te=2,Q=1,le=H.slice.call(arguments,1),J=Object.create(this.lexer),ge={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ge.yy[ie]=this.yy[ie]);J.setInput(G,ge.yy),ge.yy.lexer=J,ge.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Te=J.yylloc;H.push(Te);var j=J.options&&J.options.ranges;typeof ge.yy.parseError=="function"?this.parseError=ge.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ge(z){V.length=V.length-2*z,ee.length=ee.length-z,H.length=H.length-z}o(Ge,"popStack");function ye(){var z;return z=K.pop()||J.lex()||Q,typeof z!="number"&&(z instanceof Array&&(K=z,z=K.pop()),z=$.symbols_[z]||z),z}o(ye,"lex");for(var $e,Xe,Ue,Le,Ie,Me,Ae={},ze,Y,ce,U;;){if(Ue=V[V.length-1],this.defaultActions[Ue]?Le=this.defaultActions[Ue]:(($e===null||typeof $e>"u")&&($e=ye()),Le=he[Ue]&&he[Ue][$e]),typeof Le>"u"||!Le.length||!Le[0]){var ue="";U=[];for(ze in he[Ue])this.terminals_[ze]&&ze>te&&U.push("'"+this.terminals_[ze]+"'");J.showPosition?ue="Parse error on line "+(de+1)+`: -`+J.showPosition()+` -Expecting `+U.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":ue="Parse error on line "+(de+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(ue,{text:J.match,token:this.terminals_[$e]||$e,line:J.yylineno,loc:Te,expected:U})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ue+", token: "+$e);switch(Le[0]){case 1:V.push($e),ee.push(J.yytext),H.push(J.yylloc),V.push(Le[1]),$e=null,Xe?($e=Xe,Xe=null):(re=J.yyleng,Z=J.yytext,de=J.yylineno,Te=J.yylloc,ne>0&&ne--);break;case 2:if(Y=this.productions_[Le[1]][1],Ae.$=ee[ee.length-Y],Ae._$={first_line:H[H.length-(Y||1)].first_line,last_line:H[H.length-1].last_line,first_column:H[H.length-(Y||1)].first_column,last_column:H[H.length-1].last_column},j&&(Ae._$.range=[H[H.length-(Y||1)].range[0],H[H.length-1].range[1]]),Me=this.performAction.apply(Ae,[Z,re,de,ge.yy,Le[1],ee,H].concat(le)),typeof Me<"u")return Me;Y&&(V=V.slice(0,-1*Y*2),ee=ee.slice(0,-1*Y),H=H.slice(0,-1*Y)),V.push(this.productions_[Le[1]][0]),ee.push(Ae.$),H.push(Ae._$),ce=he[V[V.length-2]][V[V.length-1]],V.push(ce);break;case 3:return!0}}return!0},"parse")},P=(function(){var F={EOF:1,parseError:o(function($,V){if(this.yy.parser)this.yy.parser.parseError($,V);else throw new Error($)},"parseError"),setInput:o(function(G,$){return this.yy=$||this.yy||{},this._input=G,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var G=this._input[0];this.yytext+=G,this.yyleng++,this.offset++,this.match+=G,this.matched+=G;var $=G.match(/(?:\r\n?|\n).*/g);return $?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),G},"input"),unput:o(function(G){var $=G.length,V=G.split(/(?:\r\n?|\n)/g);this._input=G+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;var K=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 ee=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===K.length?this.yylloc.first_column:0)+K[K.length-V.length].length-V[0].length:this.yylloc.first_column-$},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-$]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). + ${Lu()} +`,"getStyles"),Y7=Mct});var Ict,Oct,Pct,j7,hU=O(()=>{"use strict";jt();xt();b0();Rd();Ld();ar();Ict=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Oct=o(function(t,e){return e.db.getClasses()},"getClasses"),Pct=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing class diagram (v3)",e);let{securityLevel:i,state:a,layout:s}=ve(),l=n.db.getData(),u=Sl(e,i);l.type=n.type,l.layoutAlgorithm=Ru(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=e,await Ol(l,u);let h=8;Xt.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),bo(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),j7={getClasses:Oct,draw:Pct,getDir:Ict}});var Kwe={};vr(Kwe,{diagram:()=>Bct});var Bct,Qwe=O(()=>{"use strict";lU();cU();uU();hU();Bct={parser:W7,get db(){return new Fv},renderer:j7,styles:Y7,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var e5e={};vr(e5e,{diagram:()=>Gct});var Gct,t5e=O(()=>{"use strict";lU();cU();uU();hU();Gct={parser:W7,get db(){return new Fv},renderer:j7,styles:Y7,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var fU,X7,dU=O(()=>{"use strict";fU=(function(){var t=o(function(F,G,$,V){for($=$||{},V=F.length;V--;$[F[V]]=G);return $},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,33],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],T=[1,28],E=[1,29],w=[1,30],k=[1,31],S=[1,32],A=[1,35],L=[1,36],I=[1,37],N=[1,38],C=[1,34],_=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":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,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"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:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(G,$,V,X,Q,H,ie){var Y=H.length-1;switch(Q){case 3:return X.setRootDoc(H[Y]),H[Y];break;case 4:this.$=[];break;case 5:H[Y]!="nl"&&(H[Y-1].push(H[Y]),this.$=H[Y-1]);break;case 6:case 7:this.$=H[Y];break;case 8:this.$="nl";break;case 12:this.$=H[Y];break;case 13:let te=H[Y-1];te.description=X.trimColon(H[Y]),this.$=te;break;case 14:this.$={stmt:"relation",state1:H[Y-2],state2:H[Y]};break;case 15:let Z=X.trimColon(H[Y]);this.$={stmt:"relation",state1:H[Y-3],state2:H[Y-1],description:Z};break;case 19:this.$={stmt:"state",id:H[Y-3],type:"default",description:"",doc:H[Y-1]};break;case 20:var le=H[Y],ee=H[Y-2].trim();if(H[Y].match(":")){var J=H[Y].split(":");le=J[0],ee=[ee,J[1]]}this.$={stmt:"state",id:le,type:"default",description:ee};break;case 21:this.$={stmt:"state",id:H[Y-3],type:"default",description:H[Y-5],doc:H[Y-1]};break;case 22:this.$={stmt:"state",id:H[Y],type:"fork"};break;case 23:this.$={stmt:"state",id:H[Y],type:"join"};break;case 24:this.$={stmt:"state",id:H[Y],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:H[Y-1].trim(),note:{position:H[Y-2].trim(),text:H[Y].trim()}};break;case 29:this.$=H[Y].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=H[Y].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:H[Y-3],url:H[Y-2],tooltip:H[Y-1]};break;case 33:this.$={stmt:"click",id:H[Y-3],url:H[Y-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:H[Y-1].trim(),classes:H[Y].trim()};break;case 36:this.$={stmt:"style",id:H[Y-1].trim(),styleClass:H[Y].trim()};break;case 37:this.$={stmt:"applyClass",id:H[Y-1].trim(),styleClass:H[Y].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:H[Y].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:H[Y-2].trim(),classes:[H[Y].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:H[Y-2].trim(),classes:[H[Y].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:S,51:A,52:L,53:I,54:N,57:C},t(_,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:S,51:A,52:L,53:I,54:N,57:C},t(_,[2,7]),t(_,[2,8]),t(_,[2,9]),t(_,[2,10]),t(_,[2,11]),t(_,[2,12],{14:[1,40],15:[1,41]}),t(_,[2,16]),{18:[1,42]},t(_,[2,18],{20:[1,43]}),{23:[1,44]},t(_,[2,22]),t(_,[2,23]),t(_,[2,24]),t(_,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(_,[2,28]),{34:[1,49]},{36:[1,50]},t(_,[2,31]),{13:51,24:d,57:C},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(_,[2,38]),t(_,[2,39]),t(_,[2,40]),t(_,[2,41]),t(_,[2,6]),t(_,[2,13]),{13:58,24:d,57:C},t(_,[2,17]),t(M,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(_,[2,29]),t(_,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(_,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,72],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:S,51:A,52:L,53:I,54:N,57:C},t(_,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(_,[2,34]),t(_,[2,35]),t(_,[2,36]),t(_,[2,37]),t(D,[2,46]),t(D,[2,47]),t(_,[2,15]),t(_,[2,19]),t(M,i,{7:78}),t(_,[2,26]),t(_,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,81],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:S,51:A,52:L,53:I,54:N,57:C},t(_,[2,32]),t(_,[2,33]),t(_,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:o(function(G,$){if($.recoverable)this.trace(G);else{var V=new Error(G);throw V.hash=$,V}},"parseError"),parse:o(function(G){var $=this,V=[0],X=[],Q=[null],H=[],ie=this.table,Y="",le=0,ee=0,J=0,te=2,Z=1,xe=H.slice.call(arguments,1),de=Object.create(this.lexer),Se={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(Se.yy[Me]=this.yy[Me]);de.setInput(G,Se.yy),Se.yy.lexer=de,Se.yy.parser=this,typeof de.yylloc>"u"&&(de.yylloc={});var ke=de.yylloc;H.push(ke);var we=de.options&&de.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(z){V.length=V.length-2*z,Q.length=Q.length-z,H.length=H.length-z}o(_e,"popStack");function $e(){var z;return z=X.pop()||de.lex()||Z,typeof z!="number"&&(z instanceof Array&&(X=z,z=X.pop()),z=$.symbols_[z]||z),z}o($e,"lex");for(var fe,Ke,Te,Be,Ue,Ge,Ne={},We,j,ae,U;;){if(Te=V[V.length-1],this.defaultActions[Te]?Be=this.defaultActions[Te]:((fe===null||typeof fe>"u")&&(fe=$e()),Be=ie[Te]&&ie[Te][fe]),typeof Be>"u"||!Be.length||!Be[0]){var ce="";U=[];for(We in ie[Te])this.terminals_[We]&&We>te&&U.push("'"+this.terminals_[We]+"'");de.showPosition?ce="Parse error on line "+(le+1)+`: +`+de.showPosition()+` +Expecting `+U.join(", ")+", got '"+(this.terminals_[fe]||fe)+"'":ce="Parse error on line "+(le+1)+": Unexpected "+(fe==Z?"end of input":"'"+(this.terminals_[fe]||fe)+"'"),this.parseError(ce,{text:de.match,token:this.terminals_[fe]||fe,line:de.yylineno,loc:ke,expected:U})}if(Be[0]instanceof Array&&Be.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+fe);switch(Be[0]){case 1:V.push(fe),Q.push(de.yytext),H.push(de.yylloc),V.push(Be[1]),fe=null,Ke?(fe=Ke,Ke=null):(ee=de.yyleng,Y=de.yytext,le=de.yylineno,ke=de.yylloc,J>0&&J--);break;case 2:if(j=this.productions_[Be[1]][1],Ne.$=Q[Q.length-j],Ne._$={first_line:H[H.length-(j||1)].first_line,last_line:H[H.length-1].last_line,first_column:H[H.length-(j||1)].first_column,last_column:H[H.length-1].last_column},we&&(Ne._$.range=[H[H.length-(j||1)].range[0],H[H.length-1].range[1]]),Ge=this.performAction.apply(Ne,[Y,ee,le,Se.yy,Be[1],Q,H].concat(xe)),typeof Ge<"u")return Ge;j&&(V=V.slice(0,-1*j*2),Q=Q.slice(0,-1*j),H=H.slice(0,-1*j)),V.push(this.productions_[Be[1]][0]),Q.push(Ne.$),H.push(Ne._$),ae=ie[V[V.length-2]][V[V.length-1]],V.push(ae);break;case 3:return!0}}return!0},"parse")},P=(function(){var F={EOF:1,parseError:o(function($,V){if(this.yy.parser)this.yy.parser.parseError($,V);else throw new Error($)},"parseError"),setInput:o(function(G,$){return this.yy=$||this.yy||{},this._input=G,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var G=this._input[0];this.yytext+=G,this.yyleng++,this.offset++,this.match+=G,this.matched+=G;var $=G.match(/(?:\r\n?|\n).*/g);return $?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),G},"input"),unput:o(function(G){var $=G.length,V=G.split(/(?:\r\n?|\n)/g);this._input=G+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;var X=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 Q=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===X.length?this.yylloc.first_column:0)+X[X.length-V.length].length-V[0].length:this.yylloc.first_column-$},this.options.ranges&&(this.yylloc.range=[Q[0],Q[0]+this.yyleng-$]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(G){this.unput(this.match.slice(G))},"less"),pastInput:o(function(){var G=this.matched.substr(0,this.matched.length-this.match.length);return(G.length>20?"...":"")+G.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var G=this.match;return G.length<20&&(G+=this._input.substr(0,20-G.length)),(G.substr(0,20)+(G.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var G=this.pastInput(),$=new Array(G.length+1).join("-");return G+this.upcomingInput()+` -`+$+"^"},"showPosition"),test_match:o(function(G,$){var V,K,ee;if(this.options.backtrack_lexer&&(ee={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&&(ee.yylloc.range=this.yylloc.range.slice(0))),K=G[0].match(/(?:\r\n?|\n).*/g),K&&(this.yylineno+=K.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:K?K[K.length-1].length-K[K.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+G[0].length},this.yytext+=G[0],this.match+=G[0],this.matches=G,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(G[0].length),this.matched+=G[0],V=this.performAction.call(this,this.yy,this,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),V)return V;if(this._backtrack){for(var H in ee)this[H]=ee[H];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var G,$,V,K;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),H=0;H$[0].length)){if($=V,K=H,this.options.backtrack_lexer){if(G=this.test_match(V,ee[H]),G!==!1)return G;if(this._backtrack){$=!1;continue}else return!1}else if(!this.options.flex)break}return $?(G=this.test_match($,ee[K]),G!==!1?G:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var $=this.next();return $||this.lex()},"lex"),begin:o(function($){this.conditionStack.push($)},"begin"),popState:o(function(){var $=this.conditionStack.length-1;return $>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function($){return $=this.conditionStack.length-1-Math.abs($||0),$>=0?this.conditionStack[$]:"INITIAL"},"topState"),pushState:o(function($){this.begin($)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function($,V,K,ee){var H=ee;switch(K){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;break;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;break;case 19:return this.popState(),"acc_title_value";break;case 20:return this.begin("acc_descr"),35;break;case 21:return this.popState(),"acc_descr_value";break;case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;break;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 27:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 28:return this.popState(),43;break;case 29:return this.pushState("CLASS"),48;break;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 31:return this.popState(),50;break;case 32:return this.pushState("STYLE"),45;break;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 34:return this.popState(),47;break;case 35:return this.pushState("SCALE"),17;break;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 42:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 43:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 44:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";break;case 51:return this.popState(),"ID";break;case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;break;case 57:break;case 58:return this.popState(),21;break;case 59:break;case 60:return this.begin("NOTE"),29;break;case 61:return this.popState(),this.pushState("NOTE_ID"),59;break;case 62:return this.popState(),this.pushState("NOTE_ID"),60;break;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";break;case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 69:return this.popState(),V.yytext=V.yytext.substr(2).trim(),31;break;case 70:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),31;break;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return V.yytext=V.yytext.trim(),14;break;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/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:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return F})();M.lexer=P;function B(){this.yy={}}return o(B,"Parser"),B.prototype=M,M.Parser=B,new B})();Qq.parser=Qq;P7=Qq});var pp,Ym,o3,vwe,xwe,bwe,jm,B7,Jq,eU,tU,rU,F7,$7,Twe,wwe,nU,iU,kwe,Swe,Lv,elt,Ewe,aU,tlt,rlt,Cwe,Awe,nlt,_we,ilt,Dwe,sU,oU,Rwe,z7,Lwe,lU,G7=I(()=>{"use strict";pp="state",Ym="root",o3="relation",vwe="classDef",xwe="style",bwe="applyClass",jm="default",B7="divider",Jq="fill:none",eU="fill: #333",tU="text",rU="normal",F7="rect",$7="rectWithTitle",Twe="stateStart",wwe="stateEnd",nU="divider",iU="roundedWithTitle",kwe="note",Swe="noteGroup",Lv="statediagram",elt="state",Ewe=`${Lv}-${elt}`,aU="transition",tlt="note",rlt="note-edge",Cwe=`${aU} ${rlt}`,Awe=`${Lv}-${tlt}`,nlt="cluster",_we=`${Lv}-${nlt}`,ilt="cluster-alt",Dwe=`${Lv}-${ilt}`,sU="parent",oU="note",Rwe="state",z7="----",Lwe=`${z7}${oU}`,lU=`${z7}${sU}`});function cU(t="",e=0,r="",n=z7){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${Rwe}-${t}${i}-${e}`}function V7(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{let a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function slt(t){return t?.classes?.join(" ")??""}function olt(t){return t?.styles??[]}var q7,mp,alt,Nwe,Nv,Iwe,Owe=I(()=>{"use strict";Qt();gt();wr();G7();q7=new Map,mp=0;o(cU,"stateDomId");alt=o((t,e,r,n,i,a,s,l)=>{X.trace("items",e),e.forEach(u=>{switch(u.stmt){case pp:Nv(t,u,r,n,i,a,s,l);break;case jm:Nv(t,u,r,n,i,a,s,l);break;case o3:{Nv(t,u.state1,r,n,i,a,s,l),Nv(t,u.state2,r,n,i,a,s,l);let h={id:"edge"+mp,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Jq,labelStyle:"",label:nt.sanitizeText(u.description??"",xe()),arrowheadStyle:eU,labelpos:"c",labelType:tU,thickness:rU,classes:aU,look:s};i.push(h),mp++}break}})},"setupDoc"),Nwe=o((t,e="TB")=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");o(V7,"insertOrUpdateNode");o(slt,"getClassesFromDbInfo");o(olt,"getStylesFromDbInfo");Nv=o((t,e,r,n,i,a,s,l)=>{let u=e.id,h=r.get(u),f=slt(h),d=olt(h),p=xe();if(X.info("dataFetcher parsedItem",e,h,d),u!=="root"){let m=F7;e.start===!0?m=Twe:e.start===!1&&(m=wwe),e.type!==jm&&(m=e.type),q7.get(u)||q7.set(u,{id:u,shape:m,description:nt.sanitizeText(u,p),cssClasses:`${f} ${Ewe}`,cssStyles:d});let g=q7.get(u);e.description&&(Array.isArray(g.description)?(g.shape=$7,g.description.push(e.description)):g.description?.length&&g.description.length>0?(g.shape=$7,g.description===u?g.description=[e.description]:g.description=[g.description,e.description]):(g.shape=F7,g.description=e.description),g.description=nt.sanitizeTextOrArray(g.description,p)),g.description?.length===1&&g.shape===$7&&(g.type==="group"?g.shape=iU:g.shape=F7),!g.type&&e.doc&&(X.info("Setting cluster for XCX",u,Nwe(e)),g.type="group",g.isGroup=!0,g.dir=Nwe(e),g.shape=e.type===B7?nU:iU,g.cssClasses=`${g.cssClasses} ${_we} ${a?Dwe:""}`);let y={labelStyle:"",shape:g.shape,label:g.description,cssClasses:g.cssClasses,cssCompiledStyles:[],cssStyles:g.cssStyles,id:u,dir:g.dir,domId:cU(u,mp),type:g.type,isGroup:g.type==="group",padding:8,rx:10,ry:10,look:s};if(y.shape===nU&&(y.label=""),t&&t.id!=="root"&&(X.trace("Setting node ",u," to be child of its parent ",t.id),y.parentId=t.id),y.centerLabel=!0,e.note){let v={labelStyle:"",shape:kwe,label:e.note.text,cssClasses:Awe,cssStyles:[],cssCompiledStyles:[],id:u+Lwe+"-"+mp,domId:cU(u,mp,oU),type:g.type,isGroup:g.type==="group",padding:p.flowchart?.padding,look:s,position:e.note.position},x=u+lU,b={labelStyle:"",shape:Swe,label:e.note.text,cssClasses:g.cssClasses,cssStyles:[],id:u+lU,domId:cU(u,mp,sU),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};mp++,b.id=x,v.parentId=x,V7(n,b,l),V7(n,v,l),V7(n,y,l);let T=u,E=v.id;e.note.position==="left of"&&(T=v.id,E=u),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:Jq,labelStyle:"",classes:Cwe,arrowheadStyle:eU,labelpos:"c",labelType:tU,thickness:rU,look:s})}else V7(n,y,l)}e.doc&&(X.trace("Adding nodes children "),alt(e,e.doc,r,n,i,!a,s,l))},"dataFetcher"),Iwe=o(()=>{q7.clear(),mp=0},"reset")});var hU,llt,clt,Pwe,fU=I(()=>{"use strict";Qt();gt();y0();Cd();Ad();sr();G7();hU=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),llt=o(function(t,e){return e.db.getClasses()},"getClasses"),clt=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:s}=xe();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=xl(e,i);l.type=n.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await _l(l,u);let h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((d,p)=>{let m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){X.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(p));return}let g=u.node()?.querySelectorAll("g"),y;if(g?.forEach(T=>{T.textContent?.trim()===m&&(y=T)}),!y){X.warn("\u26A0\uFE0F Could not find node matching text:",m);return}let v=y.parentNode;if(!v){X.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",m);return}let x=document.createElementNS("http://www.w3.org/2000/svg","a"),b=d.url.replace(/^"+|"+$/g,"");if(x.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b),x.setAttribute("target","_blank"),d.tooltip){let T=d.tooltip.replace(/^"+|"+$/g,"");x.setAttribute("title",T)}v.replaceChild(x,y),x.appendChild(y),X.info("\u{1F517} Wrapped node in
    tag for:",m,d.url)})}catch(f){X.error("\u274C Error injecting clickable links:",f)}jt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),mo(u,h,Lv,a?.useMaxWidth??!0)},"draw"),Pwe={getClasses:llt,draw:clt,getDir:hU}});var Us,Fwe,$we,U7,Fl,W7=I(()=>{"use strict";Qt();gt();sr();wr();ki();Owe();fU();G7();Us={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},Fwe=o(()=>new Map,"newClassesList"),$we=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),U7=o(t=>JSON.parse(JSON.stringify(t)),"clone"),Fl=class{constructor(e){this.version=e;this.nodes=[];this.edges=[];this.rootDoc=[];this.classes=Fwe();this.documents={root:$we()};this.currentDocument=this.documents.root;this.startEndCount=0;this.dividerCnt=0;this.links=new Map;this.getAccTitle=Vr;this.setAccTitle=zr;this.getAccDescription=Ur;this.setAccDescription=qr;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}static{o(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(e){this.clear(!0);for(let i of Array.isArray(e)?e:e.doc)switch(i.stmt){case pp:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case o3:this.addRelation(i.state1,i.state2,i.description);break;case vwe:this.addStyleClass(i.id.trim(),i.classes);break;case xwe:this.handleStyleDef(i);break;case bwe:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}let r=this.getStates(),n=xe();Iwe(),Nv(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(let i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){let r=e.id.trim().split(","),n=e.styleClass.split(",");for(let i of r){let a=this.getState(i);if(!a){let s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){X.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===o3){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===pp&&(r.id===Us.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Ym&&r.stmt!==pp||!r.doc)return;let i=[],a=[];for(let s of r.doc)if(s.type===B7){let l=U7(s);l.doc=U7(a),i.push(l),a=[]}else a.push(s);if(i.length>0&&a.length>0){let s={stmt:pp,id:gN(),type:"divider",doc:U7(a)};i.push(U7(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Ym,stmt:Ym},{id:Ym,stmt:Ym,doc:this.rootDoc},!0),{id:Ym,doc:this.rootDoc}}addState(e,r=jm,n=void 0,i=void 0,a=void 0,s=void 0,l=void 0,u=void 0){let h=e?.trim();if(!this.currentDocument.states.has(h))X.info("Adding state ",h,i),this.currentDocument.states.set(h,{stmt:pp,id:h,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.doc||(f.doc=n),f.type||(f.type=r)}if(i&&(X.info("Setting state description",h,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(h,d.trim()))),a){let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.note=a,f.note.text=nt.sanitizeText(f.note.text,xe())}s&&(X.info("Setting state classes",h,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(h,d.trim()))),l&&(X.info("Setting state styles",h,l),(Array.isArray(l)?l:[l]).forEach(d=>this.setStyle(h,d.trim()))),u&&(X.info("Setting state styles",h,l),(Array.isArray(u)?u:[u]).forEach(d=>this.setTextStyle(h,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:$we()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=Fwe(),e||(this.links=new Map,Mr())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){X.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),X.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===Us.START_NODE?(this.startEndCount++,`${Us.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=jm){return e===Us.START_NODE?Us.START_TYPE:r}endIdIfNeeded(e=""){return e===Us.END_NODE?(this.startEndCount++,`${Us.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=jm){return e===Us.END_NODE?Us.END_TYPE:r}addRelationObjs(e,r,n=""){let i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),l=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,l,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:nt.sanitizeText(n,xe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){let i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),l=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,l),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?nt.sanitizeText(n,xe()):void 0})}}addDescription(e,r){let n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push(nt.sanitizeText(i,xe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});let n=this.classes.get(e);r&&n&&r.split(Us.STYLECLASS_SEP).forEach(i=>{let a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(Us.COLOR_KEYWORD).exec(i)){let l=a.replace(Us.FILL_KEYWORD,Us.BG_FILL).replace(Us.COLOR_KEYWORD,Us.FILL_KEYWORD);n.textStyles.push(l)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){let a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt==="dir")}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(e){let r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:"dir",value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){let e=xe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:hU(this.getRootDocV2())}}getConfig(){return xe().state}}});var hlt,H7,dU=I(()=>{"use strict";hlt=o(t=>` +`+$+"^"},"showPosition"),test_match:o(function(G,$){var V,X,Q;if(this.options.backtrack_lexer&&(Q={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&&(Q.yylloc.range=this.yylloc.range.slice(0))),X=G[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+G[0].length},this.yytext+=G[0],this.match+=G[0],this.matches=G,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(G[0].length),this.matched+=G[0],V=this.performAction.call(this,this.yy,this,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),V)return V;if(this._backtrack){for(var H in Q)this[H]=Q[H];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var G,$,V,X;this._more||(this.yytext="",this.match="");for(var Q=this._currentRules(),H=0;H$[0].length)){if($=V,X=H,this.options.backtrack_lexer){if(G=this.test_match(V,Q[H]),G!==!1)return G;if(this._backtrack){$=!1;continue}else return!1}else if(!this.options.flex)break}return $?(G=this.test_match($,Q[X]),G!==!1?G:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var $=this.next();return $||this.lex()},"lex"),begin:o(function($){this.conditionStack.push($)},"begin"),popState:o(function(){var $=this.conditionStack.length-1;return $>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function($){return $=this.conditionStack.length-1-Math.abs($||0),$>=0?this.conditionStack[$]:"INITIAL"},"topState"),pushState:o(function($){this.begin($)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function($,V,X,Q){var H=Q;switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;break;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;break;case 19:return this.popState(),"acc_title_value";break;case 20:return this.begin("acc_descr"),35;break;case 21:return this.popState(),"acc_descr_value";break;case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;break;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 27:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 28:return this.popState(),43;break;case 29:return this.pushState("CLASS"),48;break;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 31:return this.popState(),50;break;case 32:return this.pushState("STYLE"),45;break;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 34:return this.popState(),47;break;case 35:return this.pushState("SCALE"),17;break;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 42:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 43:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 44:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";break;case 51:return this.popState(),"ID";break;case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;break;case 57:break;case 58:return this.popState(),21;break;case 59:break;case 60:return this.begin("NOTE"),29;break;case 61:return this.popState(),this.pushState("NOTE_ID"),59;break;case 62:return this.popState(),this.pushState("NOTE_ID"),60;break;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";break;case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 69:return this.popState(),V.yytext=V.yytext.substr(2).trim(),31;break;case 70:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),31;break;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return V.yytext=V.yytext.trim(),14;break;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/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;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return F})();R.lexer=P;function B(){this.yy={}}return o(B,"Parser"),B.prototype=R,R.Parser=B,new B})();fU.parser=fU;X7=fU});var yp,Qm,v3,i5e,a5e,s5e,Zm,K7,pU,mU,gU,yU,Q7,Z7,o5e,l5e,vU,xU,c5e,u5e,$v,Wct,h5e,bU,Hct,Yct,f5e,d5e,jct,p5e,Xct,m5e,TU,wU,g5e,J7,y5e,kU,e_=O(()=>{"use strict";yp="state",Qm="root",v3="relation",i5e="classDef",a5e="style",s5e="applyClass",Zm="default",K7="divider",pU="fill:none",mU="fill: #333",gU="markdown",yU="normal",Q7="rect",Z7="rectWithTitle",o5e="stateStart",l5e="stateEnd",vU="divider",xU="roundedWithTitle",c5e="note",u5e="noteGroup",$v="statediagram",Wct="state",h5e=`${$v}-${Wct}`,bU="transition",Hct="note",Yct="note-edge",f5e=`${bU} ${Yct}`,d5e=`${$v}-${Hct}`,jct="cluster",p5e=`${$v}-${jct}`,Xct="cluster-alt",m5e=`${$v}-${Xct}`,TU="parent",wU="note",g5e="state",J7="----",y5e=`${J7}${wU}`,kU=`${J7}${TU}`});function EU(t="",e=0,r="",n=J7){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${g5e}-${t}${i}-${e}`}function t_(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{let a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function Qct(t){return t?.classes?.join(" ")??""}function Zct(t){return t?.styles??[]}var r_,vp,Kct,v5e,zv,b5e,T5e=O(()=>{"use strict";jt();xt();Ur();e_();r_=new Map,vp=0;o(EU,"stateDomId");Kct=o((t,e,r,n,i,a,s,l)=>{K.trace("items",e),e.forEach(u=>{switch(u.stmt){case yp:zv(t,u,r,n,i,a,s,l);break;case Zm:zv(t,u,r,n,i,a,s,l);break;case v3:{zv(t,u.state1,r,n,i,a,s,l),zv(t,u.state2,r,n,i,a,s,l);let h={id:"edge"+vp,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:pU,labelStyle:"",label:st.sanitizeText(u.description??"",ve()),arrowheadStyle:mU,labelpos:"c",labelType:gU,thickness:yU,classes:bU,look:s};i.push(h),vp++}break}})},"setupDoc"),v5e=o((t,e="TB")=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");o(t_,"insertOrUpdateNode");o(Qct,"getClassesFromDbInfo");o(Zct,"getStylesFromDbInfo");zv=o((t,e,r,n,i,a,s,l)=>{let u=e.id,h=r.get(u),f=Qct(h),d=Zct(h),p=ve();if(K.info("dataFetcher parsedItem",e,h,d),u!=="root"){let m=Q7;e.start===!0?m=o5e:e.start===!1&&(m=l5e),e.type!==Zm&&(m=e.type),r_.get(u)||r_.set(u,{id:u,shape:m,description:st.sanitizeText(u,p),cssClasses:`${f} ${h5e}`,cssStyles:d});let g=r_.get(u);e.description&&(Array.isArray(g.description)?(g.shape=Z7,g.description.push(e.description)):g.description?.length&&g.description.length>0?(g.shape=Z7,g.description===u?g.description=[e.description]:g.description=[g.description,e.description]):(g.shape=Q7,g.description=e.description),g.description=st.sanitizeTextOrArray(g.description,p)),g.description?.length===1&&g.shape===Z7&&(g.type==="group"?g.shape=xU:g.shape=Q7),!g.type&&e.doc&&(K.info("Setting cluster for XCX",u,v5e(e)),g.type="group",g.isGroup=!0,g.dir=v5e(e),g.shape=e.type===K7?vU:xU,g.cssClasses=`${g.cssClasses} ${p5e} ${a?m5e:""}`);let y={labelStyle:"",shape:g.shape,label:g.description,cssClasses:g.cssClasses,cssCompiledStyles:[],cssStyles:g.cssStyles,id:u,dir:g.dir,domId:EU(u,vp),type:g.type,isGroup:g.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(y.shape===vU&&(y.label=""),t&&t.id!=="root"&&(K.trace("Setting node ",u," to be child of its parent ",t.id),y.parentId=t.id),y.centerLabel=!0,e.note){let v={labelStyle:"",shape:c5e,label:e.note.text,labelType:"markdown",cssClasses:d5e,cssStyles:[],cssCompiledStyles:[],id:u+y5e+"-"+vp,domId:EU(u,vp,wU),type:g.type,isGroup:g.type==="group",padding:p.flowchart?.padding,look:s,position:e.note.position},x=u+kU,b={labelStyle:"",shape:u5e,label:e.note.text,cssClasses:g.cssClasses,cssStyles:[],id:u+kU,domId:EU(u,vp,TU),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};vp++,b.id=x,v.parentId=x,t_(n,b,l),t_(n,v,l),t_(n,y,l);let T=u,E=v.id;e.note.position==="left of"&&(T=v.id,E=u),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:pU,labelStyle:"",classes:f5e,arrowheadStyle:mU,labelpos:"c",labelType:gU,thickness:yU,look:s})}else t_(n,y,l)}e.doc&&(K.trace("Adding nodes children "),Kct(e,e.doc,r,n,i,!a,s,l))},"dataFetcher"),b5e=o(()=>{r_.clear(),vp=0},"reset")});var CU,Jct,eut,w5e,AU=O(()=>{"use strict";jt();xt();b0();Rd();Ld();ar();e_();CU=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Jct=o(function(t,e){return e.db.getClasses()},"getClasses"),eut=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:s}=ve();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=Sl(e,i);l.type=n.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await Ol(l,u);let h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((d,p)=>{let m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){K.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(p));return}let g=u.node()?.querySelectorAll("g"),y;if(g?.forEach(T=>{T.textContent?.trim()===m&&(y=T)}),!y){K.warn("\u26A0\uFE0F Could not find node matching text:",m);return}let v=y.parentNode;if(!v){K.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",m);return}let x=document.createElementNS("http://www.w3.org/2000/svg","a"),b=d.url.replace(/^"+|"+$/g,"");if(x.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b),x.setAttribute("target","_blank"),d.tooltip){let T=d.tooltip.replace(/^"+|"+$/g,"");x.setAttribute("title",T)}v.replaceChild(x,y),x.appendChild(y),K.info("\u{1F517} Wrapped node in tag for:",m,d.url)})}catch(f){K.error("\u274C Error injecting clickable links:",f)}Xt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),bo(u,h,$v,a?.useMaxWidth??!0)},"draw"),w5e={getClasses:Jct,draw:eut,getDir:CU}});var Hs,E5e,S5e,n_,Wl,i_=O(()=>{"use strict";jt();xt();ar();Ur();si();T5e();AU();e_();Hs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},E5e=o(()=>new Map,"newClassesList"),S5e=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),n_=o(t=>JSON.parse(JSON.stringify(t)),"clone"),Wl=class{constructor(e){this.version=e;this.nodes=[];this.edges=[];this.rootDoc=[];this.classes=E5e();this.documents={root:S5e()};this.currentDocument=this.documents.root;this.startEndCount=0;this.dividerCnt=0;this.links=new Map;this.getAccTitle=Or;this.setAccTitle=Lr;this.getAccDescription=Br;this.setAccDescription=Pr;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}static{o(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(e){this.clear(!0);for(let i of Array.isArray(e)?e:e.doc)switch(i.stmt){case yp:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case v3:this.addRelation(i.state1,i.state2,i.description);break;case i5e:this.addStyleClass(i.id.trim(),i.classes);break;case a5e:this.handleStyleDef(i);break;case s5e:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}let r=this.getStates(),n=ve();b5e(),zv(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(let i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){let r=e.id.trim().split(","),n=e.styleClass.split(",");for(let i of r){let a=this.getState(i);if(!a){let s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){K.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===v3){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===yp&&(r.id===Hs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Qm&&r.stmt!==yp||!r.doc)return;let i=[],a=[];for(let s of r.doc)if(s.type===K7){let l=n_(s);l.doc=n_(a),i.push(l),a=[]}else a.push(s);if(i.length>0&&a.length>0){let s={stmt:yp,id:LN(),type:"divider",doc:n_(a)};i.push(n_(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Qm,stmt:Qm},{id:Qm,stmt:Qm,doc:this.rootDoc},!0),{id:Qm,doc:this.rootDoc}}addState(e,r=Zm,n=void 0,i=void 0,a=void 0,s=void 0,l=void 0,u=void 0){let h=e?.trim();if(!this.currentDocument.states.has(h))K.info("Adding state ",h,i),this.currentDocument.states.set(h,{stmt:yp,id:h,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.doc||(f.doc=n),f.type||(f.type=r)}if(i&&(K.info("Setting state description",h,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(h,d.trim()))),a){let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.note=a,f.note.text=st.sanitizeText(f.note.text,ve())}s&&(K.info("Setting state classes",h,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(h,d.trim()))),l&&(K.info("Setting state styles",h,l),(Array.isArray(l)?l:[l]).forEach(d=>this.setStyle(h,d.trim()))),u&&(K.info("Setting state styles",h,l),(Array.isArray(u)?u:[u]).forEach(d=>this.setTextStyle(h,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:S5e()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=E5e(),e||(this.links=new Map,_r())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){K.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),K.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===Hs.START_NODE?(this.startEndCount++,`${Hs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=Zm){return e===Hs.START_NODE?Hs.START_TYPE:r}endIdIfNeeded(e=""){return e===Hs.END_NODE?(this.startEndCount++,`${Hs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=Zm){return e===Hs.END_NODE?Hs.END_TYPE:r}addRelationObjs(e,r,n=""){let i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),l=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,l,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:st.sanitizeText(n,ve())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){let i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),l=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,l),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?st.sanitizeText(n,ve()):void 0})}}addDescription(e,r){let n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push(st.sanitizeText(i,ve()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});let n=this.classes.get(e);r&&n&&r.split(Hs.STYLECLASS_SEP).forEach(i=>{let a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(Hs.COLOR_KEYWORD).exec(i)){let l=a.replace(Hs.FILL_KEYWORD,Hs.BG_FILL).replace(Hs.COLOR_KEYWORD,Hs.FILL_KEYWORD);n.textStyles.push(l)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){let a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt==="dir")}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(e){let r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:"dir",value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){let e=ve();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:CU(this.getRootDocV2())}}getConfig(){return ve().state}}});var rut,a_,_U=O(()=>{"use strict";rut=o(t=>` defs #statediagram-barbEnd { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; @@ -2185,12 +2252,12 @@ g.stateGroup line { font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),H7=hlt});var flt,dlt,plt,mlt,Gwe,glt,ylt,vlt,xlt,pU,zwe,Vwe,qwe=I(()=>{"use strict";kr();W7();sr();wr();Qt();gt();flt=o(t=>t.append("circle").attr("class","start-state").attr("r",xe().state.sizeUnit).attr("cx",xe().state.padding+xe().state.sizeUnit).attr("cy",xe().state.padding+xe().state.sizeUnit),"drawStartState"),dlt=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",xe().state.textHeight).attr("class","divider").attr("x2",xe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),plt=o((t,e)=>{let r=t.append("text").attr("x",2*xe().state.padding).attr("y",xe().state.textHeight+2*xe().state.padding).attr("font-size",xe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",xe().state.padding).attr("y",xe().state.padding).attr("width",n.width+2*xe().state.padding).attr("height",n.height+2*xe().state.padding).attr("rx",xe().state.radius),r},"drawSimpleState"),mlt=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*xe().state.padding).text(m);g||y.attr("dy",xe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*xe().state.padding).attr("y",xe().state.textHeight+1.3*xe().state.padding).attr("font-size",xe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",xe().state.padding).attr("y",a+xe().state.padding*.4+xe().state.dividerMargin+xe().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",xe().state.padding).attr("y1",xe().state.padding+a+xe().state.dividerMargin/2).attr("y2",xe().state.padding+a+xe().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*xe().state.padding),t.insert("rect",":first-child").attr("x",xe().state.padding).attr("y",xe().state.padding).attr("width",d+2*xe().state.padding).attr("height",f.height+a+2*xe().state.padding).attr("rx",xe().state.radius),t},"drawDescrState"),Gwe=o((t,e,r)=>{let n=xe().state.padding,i=2*xe().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",xe().state.titleShift).attr("font-size",xe().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,s);d===s&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>s&&(p=(s-d)/2+n),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-xe().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+xe().state.textHeight+xe().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=s&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",xe().state.titleShift-xe().state.textHeight-xe().state.padding).attr("width",d).attr("height",xe().state.textHeight*3).attr("rx",xe().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",xe().state.titleShift-xe().state.textHeight-xe().state.padding).attr("width",d).attr("height",m.height+3+2*xe().state.textHeight).attr("rx",xe().state.radius),t},"addTitleAndBox"),glt=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",xe().state.sizeUnit+xe().state.miniPadding).attr("cx",xe().state.padding+xe().state.sizeUnit+xe().state.miniPadding).attr("cy",xe().state.padding+xe().state.sizeUnit+xe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",xe().state.sizeUnit).attr("cx",xe().state.padding+xe().state.sizeUnit+2).attr("cy",xe().state.padding+xe().state.sizeUnit+2)),"drawEndState"),ylt=o((t,e)=>{let r=xe().state.forkWidth,n=xe().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",xe().state.padding).attr("y",xe().state.padding)},"drawForkJoinState"),vlt=o((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(nt.lineBreakRegex),u=1.25*xe().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+xe().state.noteMargin),d.attr("y",r+i+1.25*xe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),xlt=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",xe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=vlt(t,0,0,n);return r.attr("height",a+2*xe().state.noteMargin),r.attr("width",i+xe().state.noteMargin*2),r},"drawNote"),pU=o(function(t,e){let 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"&&flt(i),e.type==="end"&&glt(i),(e.type==="fork"||e.type==="join")&&ylt(i,e),e.type==="note"&&xlt(e.note.text,i),e.type==="divider"&&dlt(i),e.type==="default"&&e.descriptions.length===0&&plt(i,e),e.type==="default"&&e.descriptions.length>0&&mlt(i,e);let a=i.node().getBBox();return n.width=a.width+2*xe().state.padding,n.height=a.height+2*xe().state.padding,n},"drawState"),zwe=0,Vwe=o(function(t,e,r){let n=o(function(u){switch(u){case Fl.relationType.AGGREGATION:return"aggregation";case Fl.relationType.EXTENSION:return"extension";case Fl.relationType.COMPOSITION:return"composition";case Fl.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=ac().x(function(u){return u.x}).y(function(u){return u.y}).curve(cl),s=t.append("path").attr("d",a(i)).attr("id","edge"+zwe).attr("class","transition"),l="";if(xe().state.arrowMarkerAbsolute&&(l=Np(!0)),s.attr("marker-end","url("+l+"#"+n(Fl.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=jt.calcLabelPosition(e.points),d=nt.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let T=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),E=T.node().getBBox();g=Math.max(g,E.width),y=Math.min(y,E.x),X.info(E.x,h,f+p),p===0&&(p=T.node().getBBox().height,X.info("Title height",p,f)),m.push(T)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((T,E)=>T.attr("y",f+E*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-xe().state.padding/2).attr("y",f-v/2-xe().state.padding/2-3.5).attr("width",g+xe().state.padding).attr("height",v+xe().state.padding),X.info(x)}zwe++},"drawEdge")});var Qo,mU,blt,Tlt,wlt,klt,Uwe,Wwe,Hwe=I(()=>{"use strict";kr();zI();wl();gt();wr();qwe();Qt();Fi();mU={},blt=o(function(){},"setConf"),Tlt=o(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),wlt=o(function(t,e,r,n){Qo=xe().state;let i=xe().securityLevel,a;i==="sandbox"&&(a=He("#i"+e));let s=i==="sandbox"?He(a.nodes()[0].contentDocument.body):He("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;X.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);Tlt(u);let h=n.db.getRootDoc();Uwe(h,u,void 0,!1,s,l,n);let f=Qo.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;Sn(u,m,g,Qo.useMaxWidth),u.attr("viewBox",`${d.x-Qo.padding} ${d.y-Qo.padding} `+p+" "+m)},"draw"),klt=o(t=>t?t.length*Qo.fontSizeFactor:1,"getLabelWidth"),Uwe=o((t,e,r,n,i,a,s)=>{let l=new vn({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let w=E.parentElement,k=0,C=0;w&&(w.parentElement&&(k=w.parentElement.getBBox().width),C=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(C)&&(C=0)),E.setAttribute("x1",0-C+8),E.setAttribute("x2",k-C-8)})):X.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(X.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),Vwe(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*Qo.padding,x.height=v.height+2*Qo.padding,X.debug("Doc rendered",x,l),x},"renderDoc"),Wwe={setConf:blt,draw:wlt}});var Ywe={};vr(Ywe,{diagram:()=>Slt});var Slt,jwe=I(()=>{"use strict";Zq();W7();dU();Hwe();Slt={parser:P7,get db(){return new Fl(1)},renderer:Wwe,styles:H7,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var Qwe={};vr(Qwe,{diagram:()=>_lt});var _lt,Zwe=I(()=>{"use strict";Zq();W7();dU();fU();_lt={parser:P7,get db(){return new Fl(2)},renderer:Pwe,styles:H7,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var gU,t5e,r5e=I(()=>{"use strict";gU=(function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var T=x.length-1;switch(v){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:y.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,T="",E=0,w=0,k=0,C=2,D=1,R=x.slice.call(arguments,1),O=Object.create(this.lexer),L={yy:{}};for(var S in this.yy)Object.prototype.hasOwnProperty.call(this.yy,S)&&(L.yy[S]=this.yy[S]);O.setInput(p,L.yy),L.yy.lexer=O,L.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var A=O.yylloc;x.push(A);var _=O.options&&O.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(re){g.length=g.length-2*re,v.length=v.length-re,x.length=x.length-re}o(N,"popStack");function M(){var re;return re=y.pop()||O.lex()||D,typeof re!="number"&&(re instanceof Array&&(y=re,re=y.pop()),re=m.symbols_[re]||re),re}o(M,"lex");for(var P,B,F,G,$,V,K={},ee,H,he,Z;;){if(F=g[g.length-1],this.defaultActions[F]?G=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=M()),G=b[F]&&b[F][P]),typeof G>"u"||!G.length||!G[0]){var de="";Z=[];for(ee in b[F])this.terminals_[ee]&&ee>C&&Z.push("'"+this.terminals_[ee]+"'");O.showPosition?de="Parse error on line "+(E+1)+`: -`+O.showPosition()+` -Expecting `+Z.join(", ")+", got '"+(this.terminals_[P]||P)+"'":de="Parse error on line "+(E+1)+": Unexpected "+(P==D?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(de,{text:O.match,token:this.terminals_[P]||P,line:O.yylineno,loc:A,expected:Z})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(G[0]){case 1:g.push(P),v.push(O.yytext),x.push(O.yylloc),g.push(G[1]),P=null,B?(P=B,B=null):(w=O.yyleng,T=O.yytext,E=O.yylineno,A=O.yylloc,k>0&&k--);break;case 2:if(H=this.productions_[G[1]][1],K.$=v[v.length-H],K._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},_&&(K._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(K,[T,w,E,L.yy,G[1],v,x].concat(R)),typeof V<"u")return V;H&&(g=g.slice(0,-1*H*2),v=v.slice(0,-1*H),x=x.slice(0,-1*H)),g.push(this.productions_[G[1]][0]),v.push(K.$),x.push(K._$),he=b[g[g.length-2]][g[g.length-1]],g.push(he);break;case 3:return!0}}return!0},"parse")},h=(function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||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},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=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),g.length-1&&(this.yylineno-=g.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:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`,"getStyles"),a_=rut});var nut,iut,aut,sut,A5e,out,lut,cut,uut,DU,C5e,_5e,D5e=O(()=>{"use strict";Ar();i_();ar();Ur();jt();xt();nut=o(t=>t.append("circle").attr("class","start-state").attr("r",ve().state.sizeUnit).attr("cx",ve().state.padding+ve().state.sizeUnit).attr("cy",ve().state.padding+ve().state.sizeUnit),"drawStartState"),iut=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",ve().state.textHeight).attr("class","divider").attr("x2",ve().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),aut=o((t,e)=>{let r=t.append("text").attr("x",2*ve().state.padding).attr("y",ve().state.textHeight+2*ve().state.padding).attr("font-size",ve().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",ve().state.padding).attr("y",ve().state.padding).attr("width",n.width+2*ve().state.padding).attr("height",n.height+2*ve().state.padding).attr("rx",ve().state.radius),r},"drawSimpleState"),sut=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*ve().state.padding).text(m);g||y.attr("dy",ve().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*ve().state.padding).attr("y",ve().state.textHeight+1.3*ve().state.padding).attr("font-size",ve().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",ve().state.padding).attr("y",a+ve().state.padding*.4+ve().state.dividerMargin+ve().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",ve().state.padding).attr("y1",ve().state.padding+a+ve().state.dividerMargin/2).attr("y2",ve().state.padding+a+ve().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*ve().state.padding),t.insert("rect",":first-child").attr("x",ve().state.padding).attr("y",ve().state.padding).attr("width",d+2*ve().state.padding).attr("height",f.height+a+2*ve().state.padding).attr("rx",ve().state.radius),t},"drawDescrState"),A5e=o((t,e,r)=>{let n=ve().state.padding,i=2*ve().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",ve().state.titleShift).attr("font-size",ve().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,s);d===s&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>s&&(p=(s-d)/2+n),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-ve().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+ve().state.textHeight+ve().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=s&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",ve().state.titleShift-ve().state.textHeight-ve().state.padding).attr("width",d).attr("height",ve().state.textHeight*3).attr("rx",ve().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",ve().state.titleShift-ve().state.textHeight-ve().state.padding).attr("width",d).attr("height",m.height+3+2*ve().state.textHeight).attr("rx",ve().state.radius),t},"addTitleAndBox"),out=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",ve().state.sizeUnit+ve().state.miniPadding).attr("cx",ve().state.padding+ve().state.sizeUnit+ve().state.miniPadding).attr("cy",ve().state.padding+ve().state.sizeUnit+ve().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",ve().state.sizeUnit).attr("cx",ve().state.padding+ve().state.sizeUnit+2).attr("cy",ve().state.padding+ve().state.sizeUnit+2)),"drawEndState"),lut=o((t,e)=>{let r=ve().state.forkWidth,n=ve().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",ve().state.padding).attr("y",ve().state.padding)},"drawForkJoinState"),cut=o((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(st.lineBreakRegex),u=1.25*ve().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+ve().state.noteMargin),d.attr("y",r+i+1.25*ve().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),uut=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",ve().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=cut(t,0,0,n);return r.attr("height",a+2*ve().state.noteMargin),r.attr("width",i+ve().state.noteMargin*2),r},"drawNote"),DU=o(function(t,e){let 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"&&nut(i),e.type==="end"&&out(i),(e.type==="fork"||e.type==="join")&&lut(i,e),e.type==="note"&&uut(e.note.text,i),e.type==="divider"&&iut(i),e.type==="default"&&e.descriptions.length===0&&aut(i,e),e.type==="default"&&e.descriptions.length>0&&sut(i,e);let a=i.node().getBBox();return n.width=a.width+2*ve().state.padding,n.height=a.height+2*ve().state.padding,n},"drawState"),C5e=0,_5e=o(function(t,e,r){let n=o(function(u){switch(u){case Wl.relationType.AGGREGATION:return"aggregation";case Wl.relationType.EXTENSION:return"extension";case Wl.relationType.COMPOSITION:return"composition";case Wl.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=hc().x(function(u){return u.x}).y(function(u){return u.y}).curve(fc),s=t.append("path").attr("d",a(i)).attr("id","edge"+C5e).attr("class","transition"),l="";if(ve().state.arrowMarkerAbsolute&&(l=Op(!0)),s.attr("marker-end","url("+l+"#"+n(Wl.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=Xt.calcLabelPosition(e.points),d=st.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let T=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),E=T.node().getBBox();g=Math.max(g,E.width),y=Math.min(y,E.x),K.info(E.x,h,f+p),p===0&&(p=T.node().getBBox().height,K.info("Title height",p,f)),m.push(T)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((T,E)=>T.attr("y",f+E*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-ve().state.padding/2).attr("y",f-v/2-ve().state.padding/2-3.5).attr("width",g+ve().state.padding).attr("height",v+ve().state.padding),K.info(x)}C5e++},"drawEdge")});var al,RU,hut,fut,dut,put,R5e,L5e,N5e=O(()=>{"use strict";Ar();rO();Dl();xt();Ur();D5e();jt();Ti();RU={},hut=o(function(){},"setConf"),fut=o(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),dut=o(function(t,e,r,n){al=ve().state;let i=ve().securityLevel,a;i==="sandbox"&&(a=je("#i"+e));let s=i==="sandbox"?je(a.nodes()[0].contentDocument.body):je("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;K.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);fut(u);let h=n.db.getRootDoc();R5e(h,u,void 0,!1,s,l,n);let f=al.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;Zr(u,m,g,al.useMaxWidth),u.attr("viewBox",`${d.x-al.padding} ${d.y-al.padding} `+p+" "+m)},"draw"),put=o(t=>t?t.length*al.fontSizeFactor:1,"getLabelWidth"),R5e=o((t,e,r,n,i,a,s)=>{let l=new wn({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let w=E.parentElement,k=0,S=0;w&&(w.parentElement&&(k=w.parentElement.getBBox().width),S=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(S)&&(S=0)),E.setAttribute("x1",0-S+8),E.setAttribute("x2",k-S-8)})):K.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(K.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),_5e(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*al.padding,x.height=v.height+2*al.padding,K.debug("Doc rendered",x,l),x},"renderDoc"),L5e={setConf:hut,draw:dut}});var M5e={};vr(M5e,{diagram:()=>mut});var mut,I5e=O(()=>{"use strict";dU();i_();_U();N5e();mut={parser:X7,get db(){return new Wl(1)},renderer:L5e,styles:a_,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var B5e={};vr(B5e,{diagram:()=>xut});var xut,F5e=O(()=>{"use strict";dU();i_();_U();AU();xut={parser:X7,get db(){return new Wl(2)},renderer:w5e,styles:a_,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var LU,G5e,V5e=O(()=>{"use strict";LU=(function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var T=x.length-1;switch(v){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:y.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,T="",E=0,w=0,k=0,S=2,A=1,L=x.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var C in this.yy)Object.prototype.hasOwnProperty.call(this.yy,C)&&(N.yy[C]=this.yy[C]);I.setInput(p,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var _=I.yylloc;x.push(_);var D=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function M(ee){g.length=g.length-2*ee,v.length=v.length-ee,x.length=x.length-ee}o(M,"popStack");function R(){var ee;return ee=y.pop()||I.lex()||A,typeof ee!="number"&&(ee instanceof Array&&(y=ee,ee=y.pop()),ee=m.symbols_[ee]||ee),ee}o(R,"lex");for(var P,B,F,G,$,V,X={},Q,H,ie,Y;;){if(F=g[g.length-1],this.defaultActions[F]?G=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=R()),G=b[F]&&b[F][P]),typeof G>"u"||!G.length||!G[0]){var le="";Y=[];for(Q in b[F])this.terminals_[Q]&&Q>S&&Y.push("'"+this.terminals_[Q]+"'");I.showPosition?le="Parse error on line "+(E+1)+`: +`+I.showPosition()+` +Expecting `+Y.join(", ")+", got '"+(this.terminals_[P]||P)+"'":le="Parse error on line "+(E+1)+": Unexpected "+(P==A?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(le,{text:I.match,token:this.terminals_[P]||P,line:I.yylineno,loc:_,expected:Y})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(G[0]){case 1:g.push(P),v.push(I.yytext),x.push(I.yylloc),g.push(G[1]),P=null,B?(P=B,B=null):(w=I.yyleng,T=I.yytext,E=I.yylineno,_=I.yylloc,k>0&&k--);break;case 2:if(H=this.productions_[G[1]][1],X.$=v[v.length-H],X._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},D&&(X._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(X,[T,w,E,N.yy,G[1],v,x].concat(L)),typeof V<"u")return V;H&&(g=g.slice(0,-1*H*2),v=v.slice(0,-1*H),x=x.slice(0,-1*H)),g.push(this.productions_[G[1]][0]),v.push(X.$),x.push(X._$),ie=b[g[g.length-2]][g[g.length-1]],g.push(ie);break;case 3:return!0}}return!0},"parse")},h=(function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||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},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=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),g.length-1&&(this.yylineno-=g.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:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(p){this.unput(this.match.slice(p))},"less"),pastInput:o(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` `+m+"^"},"showPosition"),test_match:o(function(p,m){var g,y,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))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.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],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f})();gU.parser=gU;t5e=gU});var Mv,yU,l3,c3,Nlt,Mlt,Ilt,Olt,Plt,Blt,Flt,n5e,$lt,vU,i5e=I(()=>{"use strict";Qt();ki();Mv="",yU=[],l3=[],c3=[],Nlt=o(function(){yU.length=0,l3.length=0,Mv="",c3.length=0,Mr()},"clear"),Mlt=o(function(t){Mv=t,yU.push(t)},"addSection"),Ilt=o(function(){return yU},"getSections"),Olt=o(function(){let t=n5e(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),Blt=o(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),s={section:Mv,type:Mv,people:a,task:t,score:n};c3.push(s)},"addTask"),Flt=o(function(t){let e={section:Mv,type:Mv,description:t,task:t,classes:[]};l3.push(e)},"addTaskOrg"),n5e=o(function(){let t=o(function(r){return c3[r].processed},"compileTask"),e=!0;for(let[r,n]of c3.entries())t(r),e=e&&n.processed;return e},"compileTasks"),$lt=o(function(){return Plt()},"getActors"),vU={getConfig:o(()=>xe().journey,"getConfig"),clear:Nlt,setDiagramTitle:Xr,getDiagramTitle:Wr,setAccTitle:zr,getAccTitle:Vr,setAccDescription:qr,getAccDescription:Ur,addSection:Mlt,getSections:Ilt,getTasks:Olt,addTask:Blt,addTaskOrg:Flt,getActors:$lt}});var zlt,a5e,s5e=I(()=>{"use strict";ey();zlt=o(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f})();LU.parser=LU;G5e=LU});var Gv,NU,x3,b3,kut,Eut,Sut,Cut,Aut,_ut,Dut,q5e,Rut,MU,U5e=O(()=>{"use strict";jt();si();Gv="",NU=[],x3=[],b3=[],kut=o(function(){NU.length=0,x3.length=0,Gv="",b3.length=0,_r()},"clear"),Eut=o(function(t){Gv=t,NU.push(t)},"addSection"),Sut=o(function(){return NU},"getSections"),Cut=o(function(){let t=q5e(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),_ut=o(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),s={section:Gv,type:Gv,people:a,task:t,score:n};b3.push(s)},"addTask"),Dut=o(function(t){let e={section:Gv,type:Gv,description:t,task:t,classes:[]};x3.push(e)},"addTaskOrg"),q5e=o(function(){let t=o(function(r){return b3[r].processed},"compileTask"),e=!0;for(let[r,n]of b3.entries())t(r),e=e&&n.processed;return e},"compileTasks"),Rut=o(function(){return Aut()},"getActors"),MU={getConfig:o(()=>ve().journey,"getConfig"),clear:kut,setDiagramTitle:zr,getDiagramTitle:Fr,setAccTitle:Lr,getAccTitle:Or,setAccDescription:Pr,getAccDescription:Br,addSection:Eut,getSections:Sut,getTasks:Cut,addTask:_ut,addTaskOrg:Dut,getActors:Rut}});var Lut,W5e,H5e=O(()=>{"use strict";ly();Lut=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.textColor}; } @@ -2322,13 +2389,13 @@ Expecting `+Z.join(", ")+", got '"+(this.terminals_[P]||P)+"'":de="Parse error o .actor-5 { ${t.actor5?`fill: ${t.actor5}`:""}; } - ${Su()} -`,"getStyles"),a5e=zlt});var xU,Glt,l5e,c5e,Vlt,qlt,o5e,Ult,Wlt,u5e,Hlt,Iv,h5e=I(()=>{"use strict";kr();Cx();xU=o(function(t,e){return t0(t,e)},"drawRect"),Glt=o(function(t,e){let 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 a(u){let h=ic().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=ic().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.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 o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),l5e=o(function(t,e){let 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},"drawCircle"),c5e=o(function(t,e){return oee(t,e)},"drawText"),Vlt=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,c5e(t,e)},"drawLabel"),qlt=o(function(t,e,r){let n=t.append("g"),i=Na();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,xU(n,i),u5e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),o5e=-1,Ult=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");o5e++,i.append("line").attr("id","task"+o5e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Glt(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=Na();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,xU(i,s);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};l5e(i,f),l+=10}),u5e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),Wlt=o(function(t,e){U5(t,e)},"drawBackgroundRect"),u5e=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let a=rf[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:rf[i].position};Iv.drawCircle(t,s);let l=t.append("text").attr("visibility","hidden").text(i),u=l.node().getBoundingClientRect().width;l.remove();let h=[];if(u<=r)h=[i];else{let f=i.split(" "),d="";l=t.append("text").attr("visibility","hidden"),f.forEach(p=>{let m=d?`${d} ${p}`:p;if(l.text(m),l.node().getBoundingClientRect().width>r){if(d&&h.push(d),d=p,l.text(p),l.node().getBoundingClientRect().width>r){let y="";for(let v of p)y+=v,l.text(y+"-"),l.node().getBoundingClientRect().width>r&&(h.push(y.slice(0,-1)+"-"),y=v);d=y}}else d=m}),d&&h.push(d),l.remove()}h.forEach((f,d)=>{let p={x:40,y:n+7+d*20,fill:"#666",text:f,textMargin:e.boxTextMargin??5},g=Iv.drawText(t,p).node().getBoundingClientRect().width;g>Y7&&g>e.leftMargin-g&&(Y7=g)}),n+=Math.max(20,h.length*20)})}var Ylt,rf,Y7,_c,gp,Xlt,$l,bU,f5e,Klt,TU,d5e=I(()=>{"use strict";kr();h5e();Qt();Fi();Ylt=o(function(t){Object.keys(t).forEach(function(r){_c[r]=t[r]})},"setConf"),rf={},Y7=0;o(jlt,"drawActorLegend");_c=xe().journey,gp=0,Xlt=o(function(t,e,r,n){let i=xe(),a=i.journey.titleColor,s=i.journey.titleFontSize,l=i.journey.titleFontFamily,u=i.securityLevel,h;u==="sandbox"&&(h=He("#i"+e));let f=u==="sandbox"?He(h.nodes()[0].contentDocument.body):He("body");$l.init();let d=f.select("#"+e);Iv.initGraphics(d);let p=n.db.getTasks(),m=n.db.getDiagramTitle(),g=n.db.getActors();for(let E in rf)delete rf[E];let y=0;g.forEach(E=>{rf[E]={color:_c.actorColours[y%_c.actorColours.length],position:y},y++}),jlt(d),gp=_c.leftMargin+Y7,$l.insert(0,0,gp,Object.keys(rf).length*50),Klt(d,p,0);let v=$l.getBounds();m&&d.append("text").text(m).attr("x",gp).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",l);let x=v.stopy-v.starty+2*_c.diagramMarginY,b=gp+v.stopx+2*_c.diagramMarginX;Sn(d,x,b,_c.useMaxWidth),d.append("line").attr("x1",gp).attr("y1",_c.height*4).attr("x2",b-gp-4).attr("y2",_c.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let T=m?70:0;d.attr("viewBox",`${v.startx} -25 ${b} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),$l={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=xe().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal($l.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal($l.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal($l.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal($l.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),l=Math.max(e,n);this.updateVal($l.data,"startx",i,Math.min),this.updateVal($l.data,"starty",s,Math.min),this.updateVal($l.data,"stopx",a,Math.max),this.updateVal($l.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},bU=_c.sectionFills,f5e=_c.sectionColours,Klt=o(function(t,e,r){let n=xe().journey,i="",a=n.height*2+n.diagramMarginY,s=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=bU[l%bU.length],f=l%bU.length,h=f5e[l%f5e.length];let g=0,y=p.section;for(let x=d;x(rf[y]&&(g[y]=rf[y]),g),{});p.x=d*n.taskMargin+d*n.width+gp,p.y=s,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,Iv.drawTask(t,p,n),$l.insert(p.x,p.y,p.x+p.width+n.taskMargin,450)}},"drawTasks"),TU={setConf:Ylt,draw:Xlt}});var p5e={};vr(p5e,{diagram:()=>Qlt});var Qlt,m5e=I(()=>{"use strict";r5e();i5e();s5e();d5e();Qlt={parser:t5e,db:vU,renderer:TU,styles:a5e,init:o(t=>{TU.setConf(t.journey),vU.clear()},"init")}});var kU,w5e,k5e=I(()=>{"use strict";kU=(function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,16],u=[1,17],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:o(function(m,g,y,v,x,b,T){var E=b.length-1;switch(x){case 1:return b[E-1];case 2:this.$=[];break;case 3:b[E-1].push(b[E]),this.$=b[E-1];break;case 4:case 5:this.$=b[E];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[E].substr(6)),this.$=b[E].substr(6);break;case 9:this.$=b[E].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[E].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[E].substr(8)),this.$=b[E].substr(8);break;case 15:v.addTask(b[E],0,""),this.$=b[E];break;case 16:v.addEvent(b[E].substr(2)),this.$=b[E];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],T=this.table,E="",w=0,k=0,C=0,D=2,R=1,O=b.slice.call(arguments,1),L=Object.create(this.lexer),S={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(S.yy[A]=this.yy[A]);L.setInput(m,S.yy),S.yy.lexer=L,S.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var _=L.yylloc;b.push(_);var N=L.options&&L.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function M(ne){y.length=y.length-2*ne,x.length=x.length-ne,b.length=b.length-ne}o(M,"popStack");function P(){var ne;return ne=v.pop()||L.lex()||R,typeof ne!="number"&&(ne instanceof Array&&(v=ne,ne=v.pop()),ne=g.symbols_[ne]||ne),ne}o(P,"lex");for(var B,F,G,$,V,K,ee={},H,he,Z,de;;){if(G=y[y.length-1],this.defaultActions[G]?$=this.defaultActions[G]:((B===null||typeof B>"u")&&(B=P()),$=T[G]&&T[G][B]),typeof $>"u"||!$.length||!$[0]){var re="";de=[];for(H in T[G])this.terminals_[H]&&H>D&&de.push("'"+this.terminals_[H]+"'");L.showPosition?re="Parse error on line "+(w+1)+`: -`+L.showPosition()+` -Expecting `+de.join(", ")+", got '"+(this.terminals_[B]||B)+"'":re="Parse error on line "+(w+1)+": Unexpected "+(B==R?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(re,{text:L.match,token:this.terminals_[B]||B,line:L.yylineno,loc:_,expected:de})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+B);switch($[0]){case 1:y.push(B),x.push(L.yytext),b.push(L.yylloc),y.push($[1]),B=null,F?(B=F,F=null):(k=L.yyleng,E=L.yytext,w=L.yylineno,_=L.yylloc,C>0&&C--);break;case 2:if(he=this.productions_[$[1]][1],ee.$=x[x.length-he],ee._$={first_line:b[b.length-(he||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(he||1)].first_column,last_column:b[b.length-1].last_column},N&&(ee._$.range=[b[b.length-(he||1)].range[0],b[b.length-1].range[1]]),K=this.performAction.apply(ee,[E,k,w,S.yy,$[1],x,b].concat(O)),typeof K<"u")return K;he&&(y=y.slice(0,-1*he*2),x=x.slice(0,-1*he),b=b.slice(0,-1*he)),y.push(this.productions_[$[1]][0]),x.push(ee.$),b.push(ee._$),Z=T[y[y.length-2]][y[y.length-1]],y.push(Z);break;case 3:return!0}}return!0},"parse")},f=(function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;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),y.length-1&&(this.yylineno-=y.length-1);var x=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:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). + ${Lu()} +`,"getStyles"),W5e=Lut});var IU,Nut,j5e,X5e,Mut,Iut,Y5e,Out,Put,K5e,But,Vv,Q5e=O(()=>{"use strict";Ar();a0();IU=o(function(t,e){return i0(t,e)},"drawRect"),Nut=o(function(t,e){let 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 a(u){let h=uc().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=uc().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.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 o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),j5e=o(function(t,e){let 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},"drawCircle"),X5e=o(function(t,e){return Gee(t,e)},"drawText"),Mut=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,X5e(t,e)},"drawLabel"),Iut=o(function(t,e,r){let n=t.append("g"),i=Oa();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,IU(n,i),K5e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Y5e=-1,Out=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Y5e++,i.append("line").attr("id","task"+Y5e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Nut(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=Oa();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,IU(i,s);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};j5e(i,f),l+=10}),K5e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),Put=o(function(t,e){nk(t,e)},"drawBackgroundRect"),K5e=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let a=cf[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:cf[i].position};Vv.drawCircle(t,s);let l=t.append("text").attr("visibility","hidden").text(i),u=l.node().getBoundingClientRect().width;l.remove();let h=[];if(u<=r)h=[i];else{let f=i.split(" "),d="";l=t.append("text").attr("visibility","hidden"),f.forEach(p=>{let m=d?`${d} ${p}`:p;if(l.text(m),l.node().getBoundingClientRect().width>r){if(d&&h.push(d),d=p,l.text(p),l.node().getBoundingClientRect().width>r){let y="";for(let v of p)y+=v,l.text(y+"-"),l.node().getBoundingClientRect().width>r&&(h.push(y.slice(0,-1)+"-"),y=v);d=y}}else d=m}),d&&h.push(d),l.remove()}h.forEach((f,d)=>{let p={x:40,y:n+7+d*20,fill:"#666",text:f,textMargin:e.boxTextMargin??5},g=Vv.drawText(t,p).node().getBoundingClientRect().width;g>s_&&g>e.leftMargin-g&&(s_=g)}),n+=Math.max(20,h.length*20)})}var Fut,cf,s_,Pc,xp,zut,Hl,OU,Z5e,Gut,PU,J5e=O(()=>{"use strict";Ar();Q5e();jt();Ti();Fut=o(function(t){Object.keys(t).forEach(function(r){Pc[r]=t[r]})},"setConf"),cf={},s_=0;o($ut,"drawActorLegend");Pc=ve().journey,xp=0,zut=o(function(t,e,r,n){let i=ve(),a=i.journey.titleColor,s=i.journey.titleFontSize,l=i.journey.titleFontFamily,u=i.securityLevel,h;u==="sandbox"&&(h=je("#i"+e));let f=u==="sandbox"?je(h.nodes()[0].contentDocument.body):je("body");Hl.init();let d=f.select("#"+e);Vv.initGraphics(d);let p=n.db.getTasks(),m=n.db.getDiagramTitle(),g=n.db.getActors();for(let E in cf)delete cf[E];let y=0;g.forEach(E=>{cf[E]={color:Pc.actorColours[y%Pc.actorColours.length],position:y},y++}),$ut(d),xp=Pc.leftMargin+s_,Hl.insert(0,0,xp,Object.keys(cf).length*50),Gut(d,p,0);let v=Hl.getBounds();m&&d.append("text").text(m).attr("x",xp).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",l);let x=v.stopy-v.starty+2*Pc.diagramMarginY,b=xp+v.stopx+2*Pc.diagramMarginX;Zr(d,x,b,Pc.useMaxWidth),d.append("line").attr("x1",xp).attr("y1",Pc.height*4).attr("x2",b-xp-4).attr("y2",Pc.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let T=m?70:0;d.attr("viewBox",`${v.startx} -25 ${b} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Hl={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=ve().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Hl.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Hl.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Hl.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Hl.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),l=Math.max(e,n);this.updateVal(Hl.data,"startx",i,Math.min),this.updateVal(Hl.data,"starty",s,Math.min),this.updateVal(Hl.data,"stopx",a,Math.max),this.updateVal(Hl.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},OU=Pc.sectionFills,Z5e=Pc.sectionColours,Gut=o(function(t,e,r){let n=ve().journey,i="",a=n.height*2+n.diagramMarginY,s=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=OU[l%OU.length],f=l%OU.length,h=Z5e[l%Z5e.length];let g=0,y=p.section;for(let x=d;x(cf[y]&&(g[y]=cf[y]),g),{});p.x=d*n.taskMargin+d*n.width+xp,p.y=s,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,Vv.drawTask(t,p,n),Hl.insert(p.x,p.y,p.x+p.width+n.taskMargin,450)}},"drawTasks"),PU={setConf:Fut,draw:zut}});var eke={};vr(eke,{diagram:()=>Vut});var Vut,tke=O(()=>{"use strict";V5e();U5e();H5e();J5e();Vut={parser:G5e,db:MU,renderer:PU,styles:W5e,init:o(t=>{PU.setConf(t.journey),MU.clear()},"init")}});var FU,lke,cke=O(()=>{"use strict";FU=(function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,16],u=[1,17],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:o(function(m,g,y,v,x,b,T){var E=b.length-1;switch(x){case 1:return b[E-1];case 2:this.$=[];break;case 3:b[E-1].push(b[E]),this.$=b[E-1];break;case 4:case 5:this.$=b[E];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[E].substr(6)),this.$=b[E].substr(6);break;case 9:this.$=b[E].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[E].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[E].substr(8)),this.$=b[E].substr(8);break;case 15:v.addTask(b[E],0,""),this.$=b[E];break;case 16:v.addEvent(b[E].substr(2)),this.$=b[E];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],T=this.table,E="",w=0,k=0,S=0,A=2,L=1,I=b.slice.call(arguments,1),N=Object.create(this.lexer),C={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(C.yy[_]=this.yy[_]);N.setInput(m,C.yy),C.yy.lexer=N,C.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var D=N.yylloc;b.push(D);var M=N.options&&N.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(J){y.length=y.length-2*J,x.length=x.length-J,b.length=b.length-J}o(R,"popStack");function P(){var J;return J=v.pop()||N.lex()||L,typeof J!="number"&&(J instanceof Array&&(v=J,J=v.pop()),J=g.symbols_[J]||J),J}o(P,"lex");for(var B,F,G,$,V,X,Q={},H,ie,Y,le;;){if(G=y[y.length-1],this.defaultActions[G]?$=this.defaultActions[G]:((B===null||typeof B>"u")&&(B=P()),$=T[G]&&T[G][B]),typeof $>"u"||!$.length||!$[0]){var ee="";le=[];for(H in T[G])this.terminals_[H]&&H>A&&le.push("'"+this.terminals_[H]+"'");N.showPosition?ee="Parse error on line "+(w+1)+`: +`+N.showPosition()+` +Expecting `+le.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(w+1)+": Unexpected "+(B==L?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:N.match,token:this.terminals_[B]||B,line:N.yylineno,loc:D,expected:le})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+B);switch($[0]){case 1:y.push(B),x.push(N.yytext),b.push(N.yylloc),y.push($[1]),B=null,F?(B=F,F=null):(k=N.yyleng,E=N.yytext,w=N.yylineno,D=N.yylloc,S>0&&S--);break;case 2:if(ie=this.productions_[$[1]][1],Q.$=x[x.length-ie],Q._$={first_line:b[b.length-(ie||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(ie||1)].first_column,last_column:b[b.length-1].last_column},M&&(Q._$.range=[b[b.length-(ie||1)].range[0],b[b.length-1].range[1]]),X=this.performAction.apply(Q,[E,k,w,C.yy,$[1],x,b].concat(I)),typeof X<"u")return X;ie&&(y=y.slice(0,-1*ie*2),x=x.slice(0,-1*ie),b=b.slice(0,-1*ie)),y.push(this.productions_[$[1]][0]),x.push(Q.$),b.push(Q._$),Y=T[y[y.length-2]][y[y.length-1]],y.push(Y);break;case 3:return!0}}return!0},"parse")},f=(function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;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),y.length-1&&(this.yylineno-=y.length-1);var x=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:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(m){this.unput(this.match.slice(m))},"less"),pastInput:o(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` `+g+"^"},"showPosition"),test_match:o(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={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&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[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+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,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(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var g=this.next();return g||this.lex()},"lex"),begin:o(function(g){this.conditionStack.push(g)},"begin"),popState:o(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p})();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d})();kU.parser=kU;w5e=kU});var EU={};vr(EU,{addEvent:()=>N5e,addSection:()=>_5e,addTask:()=>L5e,addTaskOrg:()=>M5e,clear:()=>A5e,default:()=>sct,getCommonDb:()=>C5e,getSections:()=>D5e,getTasks:()=>R5e});var Ov,E5e,SU,j7,Pv,C5e,A5e,_5e,D5e,R5e,L5e,N5e,M5e,S5e,sct,I5e=I(()=>{"use strict";ki();Ov="",E5e=0,SU=[],j7=[],Pv=[],C5e=o(()=>C2,"getCommonDb"),A5e=o(function(){SU.length=0,j7.length=0,Ov="",Pv.length=0,Mr()},"clear"),_5e=o(function(t){Ov=t,SU.push(t)},"addSection"),D5e=o(function(){return SU},"getSections"),R5e=o(function(){let t=S5e(),e=100,r=0;for(;!t&&rr.id===E5e-1).events.push(t)},"addEvent"),M5e=o(function(t){let e={section:Ov,type:Ov,description:t,task:t,classes:[]};j7.push(e)},"addTaskOrg"),S5e=o(function(){let t=o(function(r){return Pv[r].processed},"compileTask"),e=!0;for(let[r,n]of Pv.entries())t(r),e=e&&n.processed;return e},"compileTasks"),sct={clear:A5e,getCommonDb:C5e,addSection:_5e,getSections:D5e,getTasks:R5e,addTask:L5e,addTaskOrg:M5e,addEvent:N5e}});function F5e(t,e){t.each(function(){var r=He(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(i))})}var oct,X7,lct,cct,P5e,uct,hct,O5e,fct,dct,pct,CU,B5e,mct,gct,yct,vct,yp,$5e=I(()=>{"use strict";kr();oct=12,X7=o(function(t,e){let 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},"drawRect"),lct=o(function(t,e){let 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 a(u){let h=ic().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=ic().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.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 o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),cct=o(function(t,e){let 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},"drawCircle"),P5e=o(function(t,e){let r=e.text.replace(//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);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),uct=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,P5e(t,e)},"drawLabel"),hct=o(function(t,e,r){let n=t.append("g"),i=CU();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,X7(n,i),B5e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),O5e=-1,fct=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");O5e++,i.append("line").attr("id","task"+O5e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),lct(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=CU();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,X7(i,s),B5e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),dct=o(function(t,e){X7(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),pct=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),CU=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),B5e=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";kr();$5e();gt();Qt();Fi();xct=o(function(t,e,r,n){let i=xe(),a=i.timeline?.leftMargin??50;X.debug("timeline",n.db);let s=i.securityLevel,l;s==="sandbox"&&(l=He("#i"+e));let h=(s==="sandbox"?He(l.nodes()[0].contentDocument.body):He("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();X.debug("task",f),yp.initGraphics(h);let p=n.db.getSections();X.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let T=0,E=!0;p.forEach(function(R){let O={number:T,descr:R,section:T,width:150,padding:20,maxHeight:m},L=yp.getVirtualNodeHeight(h,O,i);X.debug("sectionHeight before draw",L),m=Math.max(m,L+20)});let w=0,k=0;X.debug("tasks.length",f.length);for(let[R,O]of f.entries()){let L={number:R,descr:O,section:O.section,width:150,padding:20,maxHeight:g},S=yp.getVirtualNodeHeight(h,L,i);X.debug("taskHeight before draw",S),g=Math.max(g,S+20),w=Math.max(w,O.events.length);let A=0;for(let _ of O.events){let N={descr:_,section:O.section,number:O.section,width:150,padding:20,maxHeight:50};A+=yp.getVirtualNodeHeight(h,N,i)}O.events.length>0&&(A+=(O.events.length-1)*10),k=Math.max(k,A)}X.debug("maxSectionHeight before draw",m),X.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(R=>{let O=f.filter(_=>_.section===R),L={number:T,descr:R,section:T,width:200*Math.max(O.length,1)-50,padding:20,maxHeight:m};X.debug("sectionNode",L);let S=h.append("g"),A=yp.drawNode(S,L,T,i);X.debug("sectionNode output",A),S.attr("transform",`translate(${x}, ${v})`),b+=m+50,O.length>0&&z5e(h,O,T,x,b,g,i,w,k,m,!1),x+=200*Math.max(O.length,1),b=v,T++}):(E=!1,z5e(h,f,T,x,b,g,i,w,k,m,!0));let C=h.node().getBBox();X.debug("bounds",C),d&&h.append("text").text(d).attr("x",C.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=E?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",C.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Vc(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),z5e=o(function(t,e,r,n,i,a,s,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};X.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=yp.drawNode(m,p,r,s).height;if(X.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+bct(t,d.events,r,n,i,s),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+u+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),bct=o(function(t,e,r,n,i,a){let s=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};X.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=yp.drawNode(f,h,r,a).height;s=s+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,s},"drawEvents"),G5e={setConf:o(()=>{},"setConf"),draw:xct}});var Tct,wct,q5e,U5e=I(()=>{"use strict";_o();Tct=o(t=>{let e="";for(let r=0;r0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p})();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d})();FU.parser=FU;lke=FU});var zU={};vr(zU,{addEvent:()=>vke,addSection:()=>pke,addTask:()=>yke,addTaskOrg:()=>xke,clear:()=>dke,default:()=>Qut,getCommonDb:()=>fke,getSections:()=>mke,getTasks:()=>gke});var qv,hke,$U,o_,Uv,fke,dke,pke,mke,gke,yke,vke,xke,uke,Qut,bke=O(()=>{"use strict";si();qv="",hke=0,$U=[],o_=[],Uv=[],fke=o(()=>$2,"getCommonDb"),dke=o(function(){$U.length=0,o_.length=0,qv="",Uv.length=0,_r()},"clear"),pke=o(function(t){qv=t,$U.push(t)},"addSection"),mke=o(function(){return $U},"getSections"),gke=o(function(){let t=uke(),e=100,r=0;for(;!t&&rr.id===hke-1).events.push(t)},"addEvent"),xke=o(function(t){let e={section:qv,type:qv,description:t,task:t,classes:[]};o_.push(e)},"addTaskOrg"),uke=o(function(){let t=o(function(r){return Uv[r].processed},"compileTask"),e=!0;for(let[r,n]of Uv.entries())t(r),e=e&&n.processed;return e},"compileTasks"),Qut={clear:dke,getCommonDb:fke,addSection:pke,getSections:mke,getTasks:gke,addTask:yke,addTaskOrg:xke,addEvent:vke}});function Eke(t,e){t.each(function(){var r=je(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(i))})}var Zut,l_,Jut,eht,wke,tht,rht,Tke,nht,iht,aht,GU,kke,sht,oht,lht,cht,bp,Ske=O(()=>{"use strict";Ar();Zut=12,l_=o(function(t,e){let 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},"drawRect"),Jut=o(function(t,e){let 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 a(u){let h=uc().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=uc().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.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 o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),eht=o(function(t,e){let 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},"drawCircle"),wke=o(function(t,e){let r=e.text.replace(//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);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),tht=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,wke(t,e)},"drawLabel"),rht=o(function(t,e,r){let n=t.append("g"),i=GU();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,l_(n,i),kke(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Tke=-1,nht=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Tke++,i.append("line").attr("id","task"+Tke).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Jut(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=GU();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,l_(i,s),kke(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),iht=o(function(t,e){l_(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),aht=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),GU=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),kke=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";Ar();Ske();xt();jt();Ti();uht=o(function(t,e,r,n){let i=ve(),a=i.timeline?.leftMargin??50;K.debug("timeline",n.db);let s=i.securityLevel,l;s==="sandbox"&&(l=je("#i"+e));let h=(s==="sandbox"?je(l.nodes()[0].contentDocument.body):je("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();K.debug("task",f),bp.initGraphics(h);let p=n.db.getSections();K.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let T=0,E=!0;p.forEach(function(L){let I={number:T,descr:L,section:T,width:150,padding:20,maxHeight:m},N=bp.getVirtualNodeHeight(h,I,i);K.debug("sectionHeight before draw",N),m=Math.max(m,N+20)});let w=0,k=0;K.debug("tasks.length",f.length);for(let[L,I]of f.entries()){let N={number:L,descr:I,section:I.section,width:150,padding:20,maxHeight:g},C=bp.getVirtualNodeHeight(h,N,i);K.debug("taskHeight before draw",C),g=Math.max(g,C+20),w=Math.max(w,I.events.length);let _=0;for(let D of I.events){let M={descr:D,section:I.section,number:I.section,width:150,padding:20,maxHeight:50};_+=bp.getVirtualNodeHeight(h,M,i)}I.events.length>0&&(_+=(I.events.length-1)*10),k=Math.max(k,_)}K.debug("maxSectionHeight before draw",m),K.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(L=>{let I=f.filter(D=>D.section===L),N={number:T,descr:L,section:T,width:200*Math.max(I.length,1)-50,padding:20,maxHeight:m};K.debug("sectionNode",N);let C=h.append("g"),_=bp.drawNode(C,N,T,i);K.debug("sectionNode output",_),C.attr("transform",`translate(${x}, ${v})`),b+=m+50,I.length>0&&Cke(h,I,T,x,b,g,i,w,k,m,!1),x+=200*Math.max(I.length,1),b=v,T++}):(E=!1,Cke(h,f,T,x,b,g,i,w,k,m,!0));let S=h.node().getBBox();K.debug("bounds",S),d&&h.append("text").text(d).attr("x",S.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=E?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",S.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Kc(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),Cke=o(function(t,e,r,n,i,a,s,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};K.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=bp.drawNode(m,p,r,s).height;if(K.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+hht(t,d.events,r,n,i,s),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+u+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),hht=o(function(t,e,r,n,i,a){let s=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};K.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=bp.drawNode(f,h,r,a).height;s=s+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,s},"drawEvents"),Ake={setConf:o(()=>{},"setConf"),draw:uht}});var fht,dht,Dke,Rke=O(()=>{"use strict";Ys();fht=o(t=>{let e="";for(let r=0;r` + `}return e},"genSections"),dht=o(t=>` .edge { stroke-width: 3; } - ${Tct(t)} + ${fht(t)} .section-root rect, .section-root path, .section-root circle { fill: ${t.git0}; } @@ -2383,13 +2450,13 @@ Expecting `+de.join(", ")+", got '"+(this.terminals_[B]||B)+"'":re="Parse error .eventWrapper { filter: brightness(120%); } -`,"getStyles"),q5e=wct});var W5e={};vr(W5e,{diagram:()=>kct});var kct,H5e=I(()=>{"use strict";k5e();I5e();V5e();U5e();kct={db:EU,renderer:G5e,parser:w5e,styles:q5e}});var AU,X5e,K5e=I(()=>{"use strict";AU=(function(){var t=o(function(E,w,k,C){for(k=k||{},C=E.length;C--;k[E[C]]=w);return k},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(w,k,C,D,R,O,L){var S=O.length-1;switch(R){case 6:case 7:return D;case 8:D.getLogger().trace("Stop NL ");break;case 9:D.getLogger().trace("Stop EOF ");break;case 11:D.getLogger().trace("Stop NL2 ");break;case 12:D.getLogger().trace("Stop EOF2 ");break;case 15:D.getLogger().info("Node: ",O[S].id),D.addNode(O[S-1].length,O[S].id,O[S].descr,O[S].type);break;case 16:D.getLogger().trace("Icon: ",O[S]),D.decorateNode({icon:O[S]});break;case 17:case 21:D.decorateNode({class:O[S]});break;case 18:D.getLogger().trace("SPACELIST");break;case 19:D.getLogger().trace("Node: ",O[S].id),D.addNode(0,O[S].id,O[S].descr,O[S].type);break;case 20:D.decorateNode({icon:O[S]});break;case 25:D.getLogger().trace("node found ..",O[S-2]),this.$={id:O[S-1],descr:O[S-1],type:D.getType(O[S-2],O[S])};break;case 26:this.$={id:O[S],descr:O[S],type:D.nodeType.DEFAULT};break;case 27:D.getLogger().trace("node found ..",O[S-3]),this.$={id:O[S-3],descr:O[S-1],type:D.getType(O[S-2],O[S])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(w,k){if(k.recoverable)this.trace(w);else{var C=new Error(w);throw C.hash=k,C}},"parseError"),parse:o(function(w){var k=this,C=[0],D=[],R=[null],O=[],L=this.table,S="",A=0,_=0,N=0,M=2,P=1,B=O.slice.call(arguments,1),F=Object.create(this.lexer),G={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(G.yy[$]=this.yy[$]);F.setInput(w,G.yy),G.yy.lexer=F,G.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var V=F.yylloc;O.push(V);var K=F.options&&F.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(j){C.length=C.length-2*j,R.length=R.length-j,O.length=O.length-j}o(ee,"popStack");function H(){var j;return j=D.pop()||F.lex()||P,typeof j!="number"&&(j instanceof Array&&(D=j,j=D.pop()),j=k.symbols_[j]||j),j}o(H,"lex");for(var he,Z,de,re,ne,te,Q={},le,J,ge,ie;;){if(de=C[C.length-1],this.defaultActions[de]?re=this.defaultActions[de]:((he===null||typeof he>"u")&&(he=H()),re=L[de]&&L[de][he]),typeof re>"u"||!re.length||!re[0]){var Te="";ie=[];for(le in L[de])this.terminals_[le]&&le>M&&ie.push("'"+this.terminals_[le]+"'");F.showPosition?Te="Parse error on line "+(A+1)+`: +`,"getStyles"),Dke=dht});var Lke={};vr(Lke,{diagram:()=>pht});var pht,Nke=O(()=>{"use strict";cke();bke();_ke();Rke();pht={db:zU,renderer:Ake,parser:lke,styles:Dke}});var VU,Oke,Pke=O(()=>{"use strict";VU=(function(){var t=o(function(E,w,k,S){for(k=k||{},S=E.length;S--;k[E[S]]=w);return k},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(w,k,S,A,L,I,N){var C=I.length-1;switch(L){case 6:case 7:return A;case 8:A.getLogger().trace("Stop NL ");break;case 9:A.getLogger().trace("Stop EOF ");break;case 11:A.getLogger().trace("Stop NL2 ");break;case 12:A.getLogger().trace("Stop EOF2 ");break;case 15:A.getLogger().info("Node: ",I[C].id),A.addNode(I[C-1].length,I[C].id,I[C].descr,I[C].type);break;case 16:A.getLogger().trace("Icon: ",I[C]),A.decorateNode({icon:I[C]});break;case 17:case 21:A.decorateNode({class:I[C]});break;case 18:A.getLogger().trace("SPACELIST");break;case 19:A.getLogger().trace("Node: ",I[C].id),A.addNode(0,I[C].id,I[C].descr,I[C].type);break;case 20:A.decorateNode({icon:I[C]});break;case 25:A.getLogger().trace("node found ..",I[C-2]),this.$={id:I[C-1],descr:I[C-1],type:A.getType(I[C-2],I[C])};break;case 26:this.$={id:I[C],descr:I[C],type:A.nodeType.DEFAULT};break;case 27:A.getLogger().trace("node found ..",I[C-3]),this.$={id:I[C-3],descr:I[C-1],type:A.getType(I[C-2],I[C])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(w,k){if(k.recoverable)this.trace(w);else{var S=new Error(w);throw S.hash=k,S}},"parseError"),parse:o(function(w){var k=this,S=[0],A=[],L=[null],I=[],N=this.table,C="",_=0,D=0,M=0,R=2,P=1,B=I.slice.call(arguments,1),F=Object.create(this.lexer),G={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(G.yy[$]=this.yy[$]);F.setInput(w,G.yy),G.yy.lexer=F,G.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var V=F.yylloc;I.push(V);var X=F.options&&F.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Q(we){S.length=S.length-2*we,L.length=L.length-we,I.length=I.length-we}o(Q,"popStack");function H(){var we;return we=A.pop()||F.lex()||P,typeof we!="number"&&(we instanceof Array&&(A=we,we=A.pop()),we=k.symbols_[we]||we),we}o(H,"lex");for(var ie,Y,le,ee,J,te,Z={},xe,de,Se,Me;;){if(le=S[S.length-1],this.defaultActions[le]?ee=this.defaultActions[le]:((ie===null||typeof ie>"u")&&(ie=H()),ee=N[le]&&N[le][ie]),typeof ee>"u"||!ee.length||!ee[0]){var ke="";Me=[];for(xe in N[le])this.terminals_[xe]&&xe>R&&Me.push("'"+this.terminals_[xe]+"'");F.showPosition?ke="Parse error on line "+(_+1)+`: `+F.showPosition()+` -Expecting `+ie.join(", ")+", got '"+(this.terminals_[he]||he)+"'":Te="Parse error on line "+(A+1)+": Unexpected "+(he==P?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(Te,{text:F.match,token:this.terminals_[he]||he,line:F.yylineno,loc:V,expected:ie})}if(re[0]instanceof Array&&re.length>1)throw new Error("Parse Error: multiple actions possible at state: "+de+", token: "+he);switch(re[0]){case 1:C.push(he),R.push(F.yytext),O.push(F.yylloc),C.push(re[1]),he=null,Z?(he=Z,Z=null):(_=F.yyleng,S=F.yytext,A=F.yylineno,V=F.yylloc,N>0&&N--);break;case 2:if(J=this.productions_[re[1]][1],Q.$=R[R.length-J],Q._$={first_line:O[O.length-(J||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(J||1)].first_column,last_column:O[O.length-1].last_column},K&&(Q._$.range=[O[O.length-(J||1)].range[0],O[O.length-1].range[1]]),te=this.performAction.apply(Q,[S,_,A,G.yy,re[1],R,O].concat(B)),typeof te<"u")return te;J&&(C=C.slice(0,-1*J*2),R=R.slice(0,-1*J),O=O.slice(0,-1*J)),C.push(this.productions_[re[1]][0]),R.push(Q.$),O.push(Q._$),ge=L[C[C.length-2]][C[C.length-1]],C.push(ge);break;case 3:return!0}}return!0},"parse")},b=(function(){var E={EOF:1,parseError:o(function(k,C){if(this.yy.parser)this.yy.parser.parseError(k,C);else throw new Error(k)},"parseError"),setInput:o(function(w,k){return this.yy=k||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:o(function(w){var k=w.length,C=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;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),C.length-1&&(this.yylineno-=C.length-1);var R=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:C?(C.length===D.length?this.yylloc.first_column:0)+D[D.length-C.length].length-C[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +Expecting `+Me.join(", ")+", got '"+(this.terminals_[ie]||ie)+"'":ke="Parse error on line "+(_+1)+": Unexpected "+(ie==P?"end of input":"'"+(this.terminals_[ie]||ie)+"'"),this.parseError(ke,{text:F.match,token:this.terminals_[ie]||ie,line:F.yylineno,loc:V,expected:Me})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+le+", token: "+ie);switch(ee[0]){case 1:S.push(ie),L.push(F.yytext),I.push(F.yylloc),S.push(ee[1]),ie=null,Y?(ie=Y,Y=null):(D=F.yyleng,C=F.yytext,_=F.yylineno,V=F.yylloc,M>0&&M--);break;case 2:if(de=this.productions_[ee[1]][1],Z.$=L[L.length-de],Z._$={first_line:I[I.length-(de||1)].first_line,last_line:I[I.length-1].last_line,first_column:I[I.length-(de||1)].first_column,last_column:I[I.length-1].last_column},X&&(Z._$.range=[I[I.length-(de||1)].range[0],I[I.length-1].range[1]]),te=this.performAction.apply(Z,[C,D,_,G.yy,ee[1],L,I].concat(B)),typeof te<"u")return te;de&&(S=S.slice(0,-1*de*2),L=L.slice(0,-1*de),I=I.slice(0,-1*de)),S.push(this.productions_[ee[1]][0]),L.push(Z.$),I.push(Z._$),Se=N[S[S.length-2]][S[S.length-1]],S.push(Se);break;case 3:return!0}}return!0},"parse")},b=(function(){var E={EOF:1,parseError:o(function(k,S){if(this.yy.parser)this.yy.parser.parseError(k,S);else throw new Error(k)},"parseError"),setInput:o(function(w,k){return this.yy=k||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:o(function(w){var k=w.length,S=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),S.length-1&&(this.yylineno-=S.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:S?(S.length===A.length?this.yylloc.first_column:0)+A[A.length-S.length].length-S[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(w){this.unput(this.match.slice(w))},"less"),pastInput:o(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var w=this.pastInput(),k=new Array(w.length+1).join("-");return w+this.upcomingInput()+` -`+k+"^"},"showPosition"),test_match:o(function(w,k){var C,D,R;if(this.options.backtrack_lexer&&(R={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&&(R.yylloc.range=this.yylloc.range.slice(0))),D=w[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+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,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(w[0].length),this.matched+=w[0],C=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var O in R)this[O]=R[O];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,k,C,D;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),O=0;Ok[0].length)){if(k=C,D=O,this.options.backtrack_lexer){if(w=this.test_match(C,R[O]),w!==!1)return w;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(w=this.test_match(k,R[D]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var k=this.next();return k||this.lex()},"lex"),begin:o(function(k){this.conditionStack.push(k)},"begin"),popState:o(function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},"topState"),pushState:o(function(k){this.begin(k)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(k,C,D,R){var O=R;switch(D){case 0:return k.getLogger().trace("Found comment",C.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:k.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return k.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:k.getLogger().trace("end icon"),this.popState();break;case 10:return k.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return k.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return k.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return k.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:k.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return k.getLogger().trace("description:",C.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),k.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),k.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),k.getLogger().trace("node end ...",C.yytext),"NODE_DEND";break;case 30:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return k.getLogger().trace("Long description:",C.yytext),20;break;case 36:return k.getLogger().trace("Long description:",C.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=b;function T(){this.yy={}}return o(T,"Parser"),T.prototype=x,x.Parser=T,new T})();AU.parser=AU;X5e=AU});function Q5e(t,e=0){return(ja[t[e+0]]+ja[t[e+1]]+ja[t[e+2]]+ja[t[e+3]]+"-"+ja[t[e+4]]+ja[t[e+5]]+"-"+ja[t[e+6]]+ja[t[e+7]]+"-"+ja[t[e+8]]+ja[t[e+9]]+"-"+ja[t[e+10]]+ja[t[e+11]]+ja[t[e+12]]+ja[t[e+13]]+ja[t[e+14]]+ja[t[e+15]]).toLowerCase()}var ja,Z5e=I(()=>{"use strict";ja=[];for(let t=0;t<256;++t)ja.push((t+256).toString(16).slice(1));o(Q5e,"unsafeStringify")});function DU(){if(!_U){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");_U=crypto.getRandomValues.bind(crypto)}return _U(Act)}var _U,Act,J5e=I(()=>{"use strict";Act=new Uint8Array(16);o(DU,"rng")});var _ct,RU,eke=I(()=>{"use strict";_ct=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),RU={randomUUID:_ct}});function Dct(t,e,r){if(RU.randomUUID&&!e&&!t)return RU.randomUUID();t=t||{};let n=t.random??t.rng?.()??DU();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)e[r+i]=n[i];return e}return Q5e(n)}var LU,tke=I(()=>{"use strict";eke();J5e();Z5e();o(Dct,"v4");LU=Dct});var rke=I(()=>{"use strict";tke()});var nf,K7,nke=I(()=>{"use strict";Qt();rke();wr();gt();Ka();ti();nf={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},K7=class{constructor(){this.nodes=[];this.count=0;this.elements={};this.getLogger=this.getLogger.bind(this),this.nodeType=nf,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{o(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){X.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);let s=xe(),l=s.mindmap?.padding??gr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:l*=2;break}let u={id:this.count++,nodeId:fr(r,s),level:e,descr:fr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??gr.mindmap.maxNodeWidth,padding:l,isRoot:a},h=this.getParent(e);if(h)h.children.push(u),this.nodes.push(u);else if(a)this.nodes.push(u);else throw new Error(`There can be only one root. No parent could be found for ("${u.descr}")`)}getType(e,r){switch(X.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let r=xe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=fr(e.icon,r)),e.class&&(n.class=fr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(let[n,i]of e.children.entries()){let a=e.level===0?n:r;this.assignSections(i,a)}}flattenNodes(e,r){let n=["mindmap-node"];e.isRoot===!0?n.push("section-root","section--1"):e.section!==void 0&&n.push(`section-${e.section}`),e.class&&n.push(e.class);let i=n.join(" "),a=o(l=>{switch(l){case nf.CIRCLE:return"mindmapCircle";case nf.RECT:return"rect";case nf.ROUNDED_RECT:return"rounded";case nf.CLOUD:return"cloud";case nf.BANG:return"bang";case nf.HEXAGON:return"hexagon";case nf.DEFAULT:return"defaultMindmapNode";case nf.NO_BORDER:default:return"rect"}},"getShapeFromType"),s={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,isGroup:!1,shape:a(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:i,cssStyles:[],look:"default",icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(s),e.children)for(let l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(e.children)for(let n of e.children){let i="edge";n.section!==void 0&&(i+=` section-edge-${n.section}`);let a=e.level+1;i+=` edge-depth-${a}`;let s={id:`edge_${e.id}_${n.id}`,start:e.id.toString(),end:n.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:"default",classes:i,depth:e.level,section:n.section};r.push(s),this.generateEdges(n,r)}}getData(){let e=this.getMindmap(),r=xe(),i=GH().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};X.debug("getData: mindmapRoot",e,r),this.assignSections(e);let s=[],l=[];this.flattenNodes(e,s),this.generateEdges(e,l),X.debug(`getData: processed ${s.length} nodes and ${l.length} edges`);let u=new Map;for(let h of s)u.set(h.id,{shape:h.shape,width:h.width,height:h.height,padding:h.padding});return{nodes:s,edges:l,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(u),type:"mindmap",diagramId:"mindmap-"+LU()}}getLogger(){return X}}});var Rct,ike,ake=I(()=>{"use strict";gt();y0();Cd();Ad();Ka();Rct=o(async(t,e,r,n)=>{X.debug(`Rendering mindmap diagram -`+t);let i=n.db,a=i.getData(),s=xl(e,a.config.securityLevel);a.type=n.type,a.layoutAlgorithm=ku(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,i.getMindmap()&&(a.nodes.forEach(u=>{u.shape==="rounded"?(u.radius=15,u.taper=15,u.stroke="none",u.width=0,u.padding=15):u.shape==="circle"?u.padding=10:u.shape==="rect"&&(u.width=0,u.padding=10)}),await _l(a,s),mo(s,a.config.mindmap?.padding??gr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??gr.mindmap.useMaxWidth))},"draw"),ike={draw:Rct}});var Lct,Nct,ske,oke=I(()=>{"use strict";_o();Lct=o(t=>{let e="";for(let r=0;rk[0].length)){if(k=S,A=I,this.options.backtrack_lexer){if(w=this.test_match(S,L[I]),w!==!1)return w;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(w=this.test_match(k,L[A]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var k=this.next();return k||this.lex()},"lex"),begin:o(function(k){this.conditionStack.push(k)},"begin"),popState:o(function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},"topState"),pushState:o(function(k){this.begin(k)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(k,S,A,L){var I=L;switch(A){case 0:return k.getLogger().trace("Found comment",S.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:k.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return k.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:k.getLogger().trace("end icon"),this.popState();break;case 10:return k.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return k.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return k.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return k.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:k.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return k.getLogger().trace("description:",S.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),k.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),k.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),k.getLogger().trace("node end ...",S.yytext),"NODE_DEND";break;case 30:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return k.getLogger().trace("Long description:",S.yytext),20;break;case 36:return k.getLogger().trace("Long description:",S.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=b;function T(){this.yy={}}return o(T,"Parser"),T.prototype=x,x.Parser=T,new T})();VU.parser=VU;Oke=VU});function Bke(t,e=0){return(Qa[t[e+0]]+Qa[t[e+1]]+Qa[t[e+2]]+Qa[t[e+3]]+"-"+Qa[t[e+4]]+Qa[t[e+5]]+"-"+Qa[t[e+6]]+Qa[t[e+7]]+"-"+Qa[t[e+8]]+Qa[t[e+9]]+"-"+Qa[t[e+10]]+Qa[t[e+11]]+Qa[t[e+12]]+Qa[t[e+13]]+Qa[t[e+14]]+Qa[t[e+15]]).toLowerCase()}var Qa,Fke=O(()=>{"use strict";Qa=[];for(let t=0;t<256;++t)Qa.push((t+256).toString(16).slice(1));o(Bke,"unsafeStringify")});function UU(){if(!qU){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");qU=crypto.getRandomValues.bind(crypto)}return qU(vht)}var qU,vht,$ke=O(()=>{"use strict";vht=new Uint8Array(16);o(UU,"rng")});var xht,WU,zke=O(()=>{"use strict";xht=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),WU={randomUUID:xht}});function bht(t,e,r){if(WU.randomUUID&&!e&&!t)return WU.randomUUID();t=t||{};let n=t.random??t.rng?.()??UU();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)e[r+i]=n[i];return e}return Bke(n)}var HU,Gke=O(()=>{"use strict";zke();$ke();Fke();o(bht,"v4");HU=bht});var Vke=O(()=>{"use strict";Gke()});var qke,Uke=O(()=>{"use strict";co();ar();qke=12});var uf,c_,Wke=O(()=>{"use strict";jt();Vke();Ur();xt();La();$r();Uke();uf={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},c_=class{constructor(){this.nodes=[];this.count=0;this.elements={};this.getLogger=this.getLogger.bind(this),this.nodeType=uf,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{o(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){K.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);let s=ve(),l=s.mindmap?.padding??gr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:l*=2;break}let u={id:this.count++,nodeId:wr(r,s),level:e,descr:wr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??gr.mindmap.maxNodeWidth,padding:l,isRoot:a},h=this.getParent(e);if(h)h.children.push(u),this.nodes.push(u);else if(a)this.nodes.push(u);else throw new Error(`There can be only one root. No parent could be found for ("${u.descr}")`)}getType(e,r){switch(K.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let r=ve(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=wr(e.icon,r)),e.class&&(n.class=wr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(let[n,i]of e.children.entries()){let a=e.level===0?n%(qke-1):r;this.assignSections(i,a)}}flattenNodes(e,r){let n=["mindmap-node"];e.isRoot===!0?n.push("section-root","section--1"):e.section!==void 0&&n.push(`section-${e.section}`),e.class&&n.push(e.class);let i=n.join(" "),a=o(l=>{switch(l){case uf.CIRCLE:return"mindmapCircle";case uf.RECT:return"rect";case uf.ROUNDED_RECT:return"rounded";case uf.CLOUD:return"cloud";case uf.BANG:return"bang";case uf.HEXAGON:return"hexagon";case uf.DEFAULT:return"defaultMindmapNode";case uf.NO_BORDER:default:return"rect"}},"getShapeFromType"),s={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:a(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:i,cssStyles:[],look:"default",icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(s),e.children)for(let l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(e.children)for(let n of e.children){let i="edge";n.section!==void 0&&(i+=` section-edge-${n.section}`);let a=e.level+1;i+=` edge-depth-${a}`;let s={id:`edge_${e.id}_${n.id}`,start:e.id.toString(),end:n.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:"default",classes:i,depth:e.level,section:n.section};r.push(s),this.generateEdges(n,r)}}getData(){let e=this.getMindmap(),r=ve(),i=kY().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};K.debug("getData: mindmapRoot",e,r),this.assignSections(e);let s=[],l=[];this.flattenNodes(e,s),this.generateEdges(e,l),K.debug(`getData: processed ${s.length} nodes and ${l.length} edges`);let u=new Map;for(let h of s)u.set(h.id,{shape:h.shape,width:h.width,height:h.height,padding:h.padding});return{nodes:s,edges:l,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(u),type:"mindmap",diagramId:"mindmap-"+HU()}}getLogger(){return K}}});var Tht,Hke,Yke=O(()=>{"use strict";xt();b0();Rd();Ld();La();Tht=o(async(t,e,r,n)=>{K.debug(`Rendering mindmap diagram +`+t);let i=n.db,a=i.getData(),s=Sl(e,a.config.securityLevel);a.type=n.type,a.layoutAlgorithm=Ru(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,i.getMindmap()&&(a.nodes.forEach(u=>{u.shape==="rounded"?(u.radius=15,u.taper=15,u.stroke="none",u.width=0,u.padding=15):u.shape==="circle"?u.padding=10:u.shape==="rect"&&(u.width=0,u.padding=10)}),await Ol(a,s),bo(s,a.config.mindmap?.padding??gr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??gr.mindmap.useMaxWidth))},"draw"),Hke={draw:Tht}});var wht,kht,jke,Xke=O(()=>{"use strict";Ys();wht=o(t=>{let e="";for(let r=0;r` + `}return e},"genSections"),kht=o(t=>` .edge { stroke-width: 3; } - ${Lct(t)} + ${wht(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2450,17 +2517,17 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[he]||he)+"'":Te="Parse erro dominant-baseline: middle; text-align: center; } -`,"getStyles"),ske=Nct});var lke={};vr(lke,{diagram:()=>Mct});var Mct,cke=I(()=>{"use strict";K5e();nke();ake();oke();Mct={get db(){return new K7},renderer:ike,parser:X5e,styles:ske}});var NU,fke,dke=I(()=>{"use strict";NU=(function(){var t=o(function(C,D,R,O){for(R=R||{},O=C.length;O--;R[C[O]]=D);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:o(function(D,R,O,L,S,A,_){var N=A.length-1;switch(S){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",A[N-1].id),L.addNode(A[N-2].length,A[N-1].id,A[N-1].descr,A[N-1].type,A[N]);break;case 16:L.getLogger().info("Node: ",A[N].id),L.addNode(A[N-1].length,A[N].id,A[N].descr,A[N].type);break;case 17:L.getLogger().trace("Icon: ",A[N]),L.decorateNode({icon:A[N]});break;case 18:case 23:L.decorateNode({class:A[N]});break;case 19:L.getLogger().trace("SPACELIST");break;case 20:L.getLogger().trace("Node: ",A[N-1].id),L.addNode(0,A[N-1].id,A[N-1].descr,A[N-1].type,A[N]);break;case 21:L.getLogger().trace("Node: ",A[N].id),L.addNode(0,A[N].id,A[N].descr,A[N].type);break;case 22:L.decorateNode({icon:A[N]});break;case 27:L.getLogger().trace("node found ..",A[N-2]),this.$={id:A[N-1],descr:A[N-1],type:L.getType(A[N-2],A[N])};break;case 28:this.$={id:A[N],descr:A[N],type:0};break;case 29:L.getLogger().trace("node found ..",A[N-3]),this.$={id:A[N-3],descr:A[N-1],type:L.getType(A[N-2],A[N])};break;case 30:this.$=A[N-1]+A[N];break;case 31:this.$=A[N];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:h,7:f,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:m}),t(p,[2,22]),t(p,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:f,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(y,[2,14],{7:v,11:x}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(p,[2,16],{15:37,24:m}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:T}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(y,[2,13],{7:v,11:x}),t(b,[2,11]),t(b,[2,12]),t(p,[2,15],{24:T}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(D,R){if(R.recoverable)this.trace(D);else{var O=new Error(D);throw O.hash=R,O}},"parseError"),parse:o(function(D){var R=this,O=[0],L=[],S=[null],A=[],_=this.table,N="",M=0,P=0,B=0,F=2,G=1,$=A.slice.call(arguments,1),V=Object.create(this.lexer),K={yy:{}};for(var ee in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ee)&&(K.yy[ee]=this.yy[ee]);V.setInput(D,K.yy),K.yy.lexer=V,K.yy.parser=this,typeof V.yylloc>"u"&&(V.yylloc={});var H=V.yylloc;A.push(H);var he=V.options&&V.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Z($e){O.length=O.length-2*$e,S.length=S.length-$e,A.length=A.length-$e}o(Z,"popStack");function de(){var $e;return $e=L.pop()||V.lex()||G,typeof $e!="number"&&($e instanceof Array&&(L=$e,$e=L.pop()),$e=R.symbols_[$e]||$e),$e}o(de,"lex");for(var re,ne,te,Q,le,J,ge={},ie,Te,j,Ge;;){if(te=O[O.length-1],this.defaultActions[te]?Q=this.defaultActions[te]:((re===null||typeof re>"u")&&(re=de()),Q=_[te]&&_[te][re]),typeof Q>"u"||!Q.length||!Q[0]){var ye="";Ge=[];for(ie in _[te])this.terminals_[ie]&&ie>F&&Ge.push("'"+this.terminals_[ie]+"'");V.showPosition?ye="Parse error on line "+(M+1)+`: +`,"getStyles"),jke=kht});var Kke={};vr(Kke,{diagram:()=>Eht});var Eht,Qke=O(()=>{"use strict";Pke();Wke();Yke();Xke();Eht={get db(){return new c_},renderer:Hke,parser:Oke,styles:jke}});var YU,eEe,tEe=O(()=>{"use strict";YU=(function(){var t=o(function(S,A,L,I){for(L=L||{},I=S.length;I--;L[S[I]]=A);return L},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:o(function(A,L,I,N,C,_,D){var M=_.length-1;switch(C){case 6:case 7:return N;case 8:N.getLogger().trace("Stop NL ");break;case 9:N.getLogger().trace("Stop EOF ");break;case 11:N.getLogger().trace("Stop NL2 ");break;case 12:N.getLogger().trace("Stop EOF2 ");break;case 15:N.getLogger().info("Node: ",_[M-1].id),N.addNode(_[M-2].length,_[M-1].id,_[M-1].descr,_[M-1].type,_[M]);break;case 16:N.getLogger().info("Node: ",_[M].id),N.addNode(_[M-1].length,_[M].id,_[M].descr,_[M].type);break;case 17:N.getLogger().trace("Icon: ",_[M]),N.decorateNode({icon:_[M]});break;case 18:case 23:N.decorateNode({class:_[M]});break;case 19:N.getLogger().trace("SPACELIST");break;case 20:N.getLogger().trace("Node: ",_[M-1].id),N.addNode(0,_[M-1].id,_[M-1].descr,_[M-1].type,_[M]);break;case 21:N.getLogger().trace("Node: ",_[M].id),N.addNode(0,_[M].id,_[M].descr,_[M].type);break;case 22:N.decorateNode({icon:_[M]});break;case 27:N.getLogger().trace("node found ..",_[M-2]),this.$={id:_[M-1],descr:_[M-1],type:N.getType(_[M-2],_[M])};break;case 28:this.$={id:_[M],descr:_[M],type:0};break;case 29:N.getLogger().trace("node found ..",_[M-3]),this.$={id:_[M-3],descr:_[M-1],type:N.getType(_[M-2],_[M])};break;case 30:this.$=_[M-1]+_[M];break;case 31:this.$=_[M];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:h,7:f,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:m}),t(p,[2,22]),t(p,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:f,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(y,[2,14],{7:v,11:x}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(p,[2,16],{15:37,24:m}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:T}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(y,[2,13],{7:v,11:x}),t(b,[2,11]),t(b,[2,12]),t(p,[2,15],{24:T}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(A,L){if(L.recoverable)this.trace(A);else{var I=new Error(A);throw I.hash=L,I}},"parseError"),parse:o(function(A){var L=this,I=[0],N=[],C=[null],_=[],D=this.table,M="",R=0,P=0,B=0,F=2,G=1,$=_.slice.call(arguments,1),V=Object.create(this.lexer),X={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&(X.yy[Q]=this.yy[Q]);V.setInput(A,X.yy),X.yy.lexer=V,X.yy.parser=this,typeof V.yylloc>"u"&&(V.yylloc={});var H=V.yylloc;_.push(H);var ie=V.options&&V.options.ranges;typeof X.yy.parseError=="function"?this.parseError=X.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(fe){I.length=I.length-2*fe,C.length=C.length-fe,_.length=_.length-fe}o(Y,"popStack");function le(){var fe;return fe=N.pop()||V.lex()||G,typeof fe!="number"&&(fe instanceof Array&&(N=fe,fe=N.pop()),fe=L.symbols_[fe]||fe),fe}o(le,"lex");for(var ee,J,te,Z,xe,de,Se={},Me,ke,we,_e;;){if(te=I[I.length-1],this.defaultActions[te]?Z=this.defaultActions[te]:((ee===null||typeof ee>"u")&&(ee=le()),Z=D[te]&&D[te][ee]),typeof Z>"u"||!Z.length||!Z[0]){var $e="";_e=[];for(Me in D[te])this.terminals_[Me]&&Me>F&&_e.push("'"+this.terminals_[Me]+"'");V.showPosition?$e="Parse error on line "+(R+1)+`: `+V.showPosition()+` -Expecting `+Ge.join(", ")+", got '"+(this.terminals_[re]||re)+"'":ye="Parse error on line "+(M+1)+": Unexpected "+(re==G?"end of input":"'"+(this.terminals_[re]||re)+"'"),this.parseError(ye,{text:V.match,token:this.terminals_[re]||re,line:V.yylineno,loc:H,expected:Ge})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+re);switch(Q[0]){case 1:O.push(re),S.push(V.yytext),A.push(V.yylloc),O.push(Q[1]),re=null,ne?(re=ne,ne=null):(P=V.yyleng,N=V.yytext,M=V.yylineno,H=V.yylloc,B>0&&B--);break;case 2:if(Te=this.productions_[Q[1]][1],ge.$=S[S.length-Te],ge._$={first_line:A[A.length-(Te||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(Te||1)].first_column,last_column:A[A.length-1].last_column},he&&(ge._$.range=[A[A.length-(Te||1)].range[0],A[A.length-1].range[1]]),J=this.performAction.apply(ge,[N,P,M,K.yy,Q[1],S,A].concat($)),typeof J<"u")return J;Te&&(O=O.slice(0,-1*Te*2),S=S.slice(0,-1*Te),A=A.slice(0,-1*Te)),O.push(this.productions_[Q[1]][0]),S.push(ge.$),A.push(ge._$),j=_[O[O.length-2]][O[O.length-1]],O.push(j);break;case 3:return!0}}return!0},"parse")},w=(function(){var C={EOF:1,parseError:o(function(R,O){if(this.yy.parser)this.yy.parser.parseError(R,O);else throw new Error(R)},"parseError"),setInput:o(function(D,R){return this.yy=R||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},"setInput"),input:o(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var R=D.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:o(function(D){var R=D.length,O=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=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),O.length-1&&(this.yylineno-=O.length-1);var S=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:O?(O.length===L.length?this.yylloc.first_column:0)+L[L.length-O.length].length-O[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(D){this.unput(this.match.slice(D))},"less"),pastInput:o(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var D=this.pastInput(),R=new Array(D.length+1).join("-");return D+this.upcomingInput()+` -`+R+"^"},"showPosition"),test_match:o(function(D,R){var O,L,S;if(this.options.backtrack_lexer&&(S={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&&(S.yylloc.range=this.yylloc.range.slice(0))),L=D[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.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],O=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),O)return O;if(this._backtrack){for(var A in S)this[A]=S[A];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,R,O,L;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),A=0;AR[0].length)){if(R=O,L=A,this.options.backtrack_lexer){if(D=this.test_match(O,S[A]),D!==!1)return D;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(D=this.test_match(R,S[L]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var R=this.next();return R||this.lex()},"lex"),begin:o(function(R){this.conditionStack.push(R)},"begin"),popState:o(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:o(function(R){this.begin(R)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(R,O,L,S){var A=S;switch(L){case 0:return this.pushState("shapeData"),O.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let _=/\n\s*/g;return O.yytext=O.yytext.replace(_,"
    "),24;break;case 4:return 24;case 5:this.popState();break;case 6:return R.getLogger().trace("Found comment",O.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return R.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:R.getLogger().trace("end icon"),this.popState();break;case 16:return R.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return R.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return R.getLogger().trace("description:",O.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),R.getLogger().trace("node end ...",O.yytext),"NODE_DEND";break;case 36:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return R.getLogger().trace("Long description:",O.yytext),21;break;case 42:return R.getLogger().trace("Long description:",O.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return C})();E.lexer=w;function k(){this.yy={}}return o(k,"Parser"),k.prototype=E,E.Parser=k,new k})();NU.parser=NU;fke=NU});var zl,IU,MU,OU,Bct,Fct,pke,$ct,zct,sa,Gct,Vct,qct,Uct,Wct,Hct,Yct,mke,gke=I(()=>{"use strict";Qt();wr();gt();Ka();Hx();zl=[],IU=[],MU=0,OU={},Bct=o(()=>{zl=[],IU=[],MU=0,OU={}},"clear"),Fct=o(t=>{if(zl.length===0)return null;let e=zl[0].level,r=null;for(let n=zl.length-1;n>=0;n--)if(zl[n].level===e&&!r&&(r=zl[n]),zl[n].levell.parentId===i.id);for(let l of s){let u={id:l.id,parentId:i.id,label:fr(l.label??"",n),isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(u)}}return{nodes:e,edges:t,other:{},config:xe()}},"getData"),zct=o((t,e,r,n,i)=>{let a=xe(),s=a.mindmap?.padding??gr.mindmap.padding;switch(n){case sa.ROUNDED_RECT:case sa.RECT:case sa.HEXAGON:s*=2}let l={id:fr(e,a)||"kbn"+MU++,level:t,label:fr(r,a),width:a.mindmap?.maxNodeWidth??gr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let h;i.includes(` +Expecting `+_e.join(", ")+", got '"+(this.terminals_[ee]||ee)+"'":$e="Parse error on line "+(R+1)+": Unexpected "+(ee==G?"end of input":"'"+(this.terminals_[ee]||ee)+"'"),this.parseError($e,{text:V.match,token:this.terminals_[ee]||ee,line:V.yylineno,loc:H,expected:_e})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+ee);switch(Z[0]){case 1:I.push(ee),C.push(V.yytext),_.push(V.yylloc),I.push(Z[1]),ee=null,J?(ee=J,J=null):(P=V.yyleng,M=V.yytext,R=V.yylineno,H=V.yylloc,B>0&&B--);break;case 2:if(ke=this.productions_[Z[1]][1],Se.$=C[C.length-ke],Se._$={first_line:_[_.length-(ke||1)].first_line,last_line:_[_.length-1].last_line,first_column:_[_.length-(ke||1)].first_column,last_column:_[_.length-1].last_column},ie&&(Se._$.range=[_[_.length-(ke||1)].range[0],_[_.length-1].range[1]]),de=this.performAction.apply(Se,[M,P,R,X.yy,Z[1],C,_].concat($)),typeof de<"u")return de;ke&&(I=I.slice(0,-1*ke*2),C=C.slice(0,-1*ke),_=_.slice(0,-1*ke)),I.push(this.productions_[Z[1]][0]),C.push(Se.$),_.push(Se._$),we=D[I[I.length-2]][I[I.length-1]],I.push(we);break;case 3:return!0}}return!0},"parse")},w=(function(){var S={EOF:1,parseError:o(function(L,I){if(this.yy.parser)this.yy.parser.parseError(L,I);else throw new Error(L)},"parseError"),setInput:o(function(A,L){return this.yy=L||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},"setInput"),input:o(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var L=A.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),A},"input"),unput:o(function(A){var L=A.length,I=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;var N=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),I.length-1&&(this.yylineno-=I.length-1);var C=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:I?(I.length===N.length?this.yylloc.first_column:0)+N[N.length-I.length].length-I[0].length:this.yylloc.first_column-L},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-L]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(A){this.unput(this.match.slice(A))},"less"),pastInput:o(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var A=this.pastInput(),L=new Array(A.length+1).join("-");return A+this.upcomingInput()+` +`+L+"^"},"showPosition"),test_match:o(function(A,L){var I,N,C;if(this.options.backtrack_lexer&&(C={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&&(C.yylloc.range=this.yylloc.range.slice(0))),N=A[0].match(/(?:\r\n?|\n).*/g),N&&(this.yylineno+=N.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:N?N[N.length-1].length-N[N.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],I=this.performAction.call(this,this.yy,this,L,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var _ in C)this[_]=C[_];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,L,I,N;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),_=0;_L[0].length)){if(L=I,N=_,this.options.backtrack_lexer){if(A=this.test_match(I,C[_]),A!==!1)return A;if(this._backtrack){L=!1;continue}else return!1}else if(!this.options.flex)break}return L?(A=this.test_match(L,C[N]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var L=this.next();return L||this.lex()},"lex"),begin:o(function(L){this.conditionStack.push(L)},"begin"),popState:o(function(){var L=this.conditionStack.length-1;return L>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(L){return L=this.conditionStack.length-1-Math.abs(L||0),L>=0?this.conditionStack[L]:"INITIAL"},"topState"),pushState:o(function(L){this.begin(L)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(L,I,N,C){var _=C;switch(N){case 0:return this.pushState("shapeData"),I.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let D=/\n\s*/g;return I.yytext=I.yytext.replace(D,"
    "),24;break;case 4:return 24;case 5:this.popState();break;case 6:return L.getLogger().trace("Found comment",I.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:L.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return L.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:L.getLogger().trace("end icon"),this.popState();break;case 16:return L.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return L.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return L.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return L.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:L.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return L.getLogger().trace("description:",I.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),L.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),L.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),L.getLogger().trace("node end ...",I.yytext),"NODE_DEND";break;case 36:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return L.getLogger().trace("Long description:",I.yytext),21;break;case 42:return L.getLogger().trace("Long description:",I.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return S})();E.lexer=w;function k(){this.yy={}}return o(k,"Parser"),k.prototype=E,E.Parser=k,new k})();YU.parser=YU;eEe=YU});var Yl,XU,jU,KU,_ht,Dht,rEe,Rht,Lht,ha,Nht,Mht,Iht,Oht,Pht,Bht,Fht,nEe,iEe=O(()=>{"use strict";jt();Ur();xt();La();ib();Yl=[],XU=[],jU=0,KU={},_ht=o(()=>{Yl=[],XU=[],jU=0,KU={}},"clear"),Dht=o(t=>{if(Yl.length===0)return null;let e=Yl[0].level,r=null;for(let n=Yl.length-1;n>=0;n--)if(Yl[n].level===e&&!r&&(r=Yl[n]),Yl[n].levell.parentId===i.id);for(let l of s){let u={id:l.id,parentId:i.id,label:wr(l.label??"",n),labelType:"markdown",isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(u)}}return{nodes:e,edges:t,other:{},config:ve()}},"getData"),Lht=o((t,e,r,n,i)=>{let a=ve(),s=a.mindmap?.padding??gr.mindmap.padding;switch(n){case ha.ROUNDED_RECT:case ha.RECT:case ha.HEXAGON:s*=2}let l={id:wr(e,a)||"kbn"+jU++,level:t,label:wr(r,a),width:a.mindmap?.maxNodeWidth??gr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let h;i.includes(` `)?h=i+` `:h=`{ `+i+` -}`;let f=Wf(h,{schema:Uf});if(f.shape&&(f.shape!==f.shape.toLowerCase()||f.shape.includes("_")))throw new Error(`No such shape: ${f.shape}. Shape names should be lowercase.`);f?.shape&&f.shape==="kanbanItem"&&(l.shape=f?.shape),f?.label&&(l.label=f?.label),f?.icon&&(l.icon=f?.icon.toString()),f?.assigned&&(l.assigned=f?.assigned.toString()),f?.ticket&&(l.ticket=f?.ticket.toString()),f?.priority&&(l.priority=f?.priority)}let u=Fct(t);u?l.parentId=u.id||"kbn"+MU++:IU.push(l),zl.push(l)},"addNode"),sa={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Gct=o((t,e)=>{switch(X.debug("In get type",t,e),t){case"[":return sa.RECT;case"(":return e===")"?sa.ROUNDED_RECT:sa.CLOUD;case"((":return sa.CIRCLE;case")":return sa.CLOUD;case"))":return sa.BANG;case"{{":return sa.HEXAGON;default:return sa.DEFAULT}},"getType"),Vct=o((t,e)=>{OU[t]=e},"setElementForId"),qct=o(t=>{if(!t)return;let e=xe(),r=zl[zl.length-1];t.icon&&(r.icon=fr(t.icon,e)),t.class&&(r.cssClasses=fr(t.class,e))},"decorateNode"),Uct=o(t=>{switch(t){case sa.DEFAULT:return"no-border";case sa.RECT:return"rect";case sa.ROUNDED_RECT:return"rounded-rect";case sa.CIRCLE:return"circle";case sa.CLOUD:return"cloud";case sa.BANG:return"bang";case sa.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Wct=o(()=>X,"getLogger"),Hct=o(t=>OU[t],"getElementById"),Yct={clear:Bct,addNode:zct,getSections:pke,getData:$ct,nodeType:sa,getType:Gct,setElementForId:Vct,decorateNode:qct,type2Str:Uct,getLogger:Wct,getElementById:Hct},mke=Yct});var jct,yke,vke=I(()=>{"use strict";Qt();gt();Uu();Fi();Ka();Yk();iS();jct=o(async(t,e,r,n)=>{X.debug(`Rendering kanban diagram -`+t);let a=n.db.getData(),s=xe();s.htmlLabels=!1;let l=Ca(e),u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let f=a.nodes.filter(v=>v.isGroup),d=0,p=10,m=[],g=25;for(let v of f){let x=s?.kanban?.sectionWidth||200;d=d+1,v.x=x*d+(d-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+d;let b=await l1(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of f){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,T=-b*3/2+g,E=T,w=a.nodes.filter(D=>D.parentId===v.id);for(let D of w){if(D.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");D.x=v.x,D.width=b-1.5*p;let O=(await c1(h,D,{config:s})).node().getBBox();D.y=E+O.height/2,await sb(D),E=D.y+O.height/2+p/2}let k=x.cluster.select("rect"),C=Math.max(E-T+3*p,50)+(g-25);k.attr("height",C)}Vc(void 0,l,s.mindmap?.padding??gr.kanban.padding,s.mindmap?.useMaxWidth??gr.kanban.useMaxWidth)},"draw"),yke={draw:jct}});var Xct,Kct,xke,bke=I(()=>{"use strict";_o();ey();Xct=o(t=>{let e="";for(let n=0;nt.darkMode?$t(n,i):It(n,i),"adjuster");for(let n=0;n{switch(K.debug("In get type",t,e),t){case"[":return ha.RECT;case"(":return e===")"?ha.ROUNDED_RECT:ha.CLOUD;case"((":return ha.CIRCLE;case")":return ha.CLOUD;case"))":return ha.BANG;case"{{":return ha.HEXAGON;default:return ha.DEFAULT}},"getType"),Mht=o((t,e)=>{KU[t]=e},"setElementForId"),Iht=o(t=>{if(!t)return;let e=ve(),r=Yl[Yl.length-1];t.icon&&(r.icon=wr(t.icon,e)),t.class&&(r.cssClasses=wr(t.class,e))},"decorateNode"),Oht=o(t=>{switch(t){case ha.DEFAULT:return"no-border";case ha.RECT:return"rect";case ha.ROUNDED_RECT:return"rounded-rect";case ha.CIRCLE:return"circle";case ha.CLOUD:return"cloud";case ha.BANG:return"bang";case ha.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Pht=o(()=>K,"getLogger"),Bht=o(t=>KU[t],"getElementById"),Fht={clear:_ht,addNode:Lht,getSections:rEe,getData:Rht,nodeType:ha,getType:Nht,setElementForId:Mht,decorateNode:Iht,type2Str:Oht,getLogger:Pht,getElementById:Bht},nEe=Fht});var $ht,aEe,sEe=O(()=>{"use strict";jt();xt();Ul();Ti();La();oE();yE();$ht=o(async(t,e,r,n)=>{K.debug(`Rendering kanban diagram +`+t);let a=n.db.getData(),s=ve();s.htmlLabels=!1;let l=Ii(e),u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let f=a.nodes.filter(v=>v.isGroup),d=0,p=10,m=[],g=25;for(let v of f){let x=s?.kanban?.sectionWidth||200;d=d+1,v.x=x*d+(d-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+d;let b=await g1(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of f){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,T=-b*3/2+g,E=T,w=a.nodes.filter(A=>A.parentId===v.id);for(let A of w){if(A.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");A.x=v.x,A.width=b-1.5*p;let I=(await y1(h,A,{config:s})).node().getBBox();A.y=E+I.height/2,await vb(A),E=A.y+I.height/2+p/2}let k=x.cluster.select("rect"),S=Math.max(E-T+3*p,50)+(g-25);k.attr("height",S)}Kc(void 0,l,s.mindmap?.padding??gr.kanban.padding,s.mindmap?.useMaxWidth??gr.kanban.useMaxWidth)},"draw"),aEe={draw:$ht}});var zht,Ght,oEe,lEe=O(()=>{"use strict";Ys();ly();zht=o(t=>{let e="";for(let n=0;nt.darkMode?Bt(n,i):Lt(n,i),"adjuster");for(let n=0;n` + `}return e},"genSections"),Ght=o(t=>` .edge { stroke-width: 3; } - ${Xct(t)} + ${zht(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2537,17 +2604,17 @@ Expecting `+Ge.join(", ")+", got '"+(this.terminals_[re]||re)+"'":ye="Parse erro dominant-baseline: middle; text-align: center; } - ${Su()} -`,"getStyles"),xke=Kct});var Tke={};vr(Tke,{diagram:()=>Qct});var Qct,wke=I(()=>{"use strict";dke();gke();vke();bke();Qct={db:mke,renderer:yke,parser:fke,styles:xke}});var PU,u3,Eke=I(()=>{"use strict";PU=(function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,T=2,E=1,w=m.slice.call(arguments,1),k=Object.create(this.lexer),C={yy:{}};for(var D in this.yy)Object.prototype.hasOwnProperty.call(this.yy,D)&&(C.yy[D]=this.yy[D]);k.setInput(u,C.yy),C.yy.lexer=k,C.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var R=k.yylloc;m.push(R);var O=k.options&&k.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function L(H){f.length=f.length-2*H,p.length=p.length-H,m.length=m.length-H}o(L,"popStack");function S(){var H;return H=d.pop()||k.lex()||E,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=h.symbols_[H]||H),H}o(S,"lex");for(var A,_,N,M,P,B,F={},G,$,V,K;;){if(N=f[f.length-1],this.defaultActions[N]?M=this.defaultActions[N]:((A===null||typeof A>"u")&&(A=S()),M=g[N]&&g[N][A]),typeof M>"u"||!M.length||!M[0]){var ee="";K=[];for(G in g[N])this.terminals_[G]&&G>T&&K.push("'"+this.terminals_[G]+"'");k.showPosition?ee="Parse error on line "+(v+1)+`: + ${Lu()} +`,"getStyles"),oEe=Ght});var cEe={};vr(cEe,{diagram:()=>Vht});var Vht,uEe=O(()=>{"use strict";tEe();iEe();sEe();lEe();Vht={db:nEe,renderer:aEe,parser:eEe,styles:oEe}});var QU,T3,dEe=O(()=>{"use strict";QU=(function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,T=2,E=1,w=m.slice.call(arguments,1),k=Object.create(this.lexer),S={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(S.yy[A]=this.yy[A]);k.setInput(u,S.yy),S.yy.lexer=k,S.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var L=k.yylloc;m.push(L);var I=k.options&&k.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(H){f.length=f.length-2*H,p.length=p.length-H,m.length=m.length-H}o(N,"popStack");function C(){var H;return H=d.pop()||k.lex()||E,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=h.symbols_[H]||H),H}o(C,"lex");for(var _,D,M,R,P,B,F={},G,$,V,X;;){if(M=f[f.length-1],this.defaultActions[M]?R=this.defaultActions[M]:((_===null||typeof _>"u")&&(_=C()),R=g[M]&&g[M][_]),typeof R>"u"||!R.length||!R[0]){var Q="";X=[];for(G in g[M])this.terminals_[G]&&G>T&&X.push("'"+this.terminals_[G]+"'");k.showPosition?Q="Parse error on line "+(v+1)+`: `+k.showPosition()+` -Expecting `+K.join(", ")+", got '"+(this.terminals_[A]||A)+"'":ee="Parse error on line "+(v+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(ee,{text:k.match,token:this.terminals_[A]||A,line:k.yylineno,loc:R,expected:K})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+A);switch(M[0]){case 1:f.push(A),p.push(k.yytext),m.push(k.yylloc),f.push(M[1]),A=null,_?(A=_,_=null):(x=k.yyleng,y=k.yytext,v=k.yylineno,R=k.yylloc,b>0&&b--);break;case 2:if($=this.productions_[M[1]][1],F.$=p[p.length-$],F._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},O&&(F._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),B=this.performAction.apply(F,[y,x,v,C.yy,M[1],p,m].concat(w)),typeof B<"u")return B;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[M[1]][0]),p.push(F.$),m.push(F._$),V=g[f[f.length-2]][f[f.length-1]],f.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;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),f.length-1&&(this.yylineno-=f.length-1);var p=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:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +Expecting `+X.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Q="Parse error on line "+(v+1)+": Unexpected "+(_==E?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Q,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:L,expected:X})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+_);switch(R[0]){case 1:f.push(_),p.push(k.yytext),m.push(k.yylloc),f.push(R[1]),_=null,D?(_=D,D=null):(x=k.yyleng,y=k.yytext,v=k.yylineno,L=k.yylloc,b>0&&b--);break;case 2:if($=this.productions_[R[1]][1],F.$=p[p.length-$],F._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},I&&(F._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),B=this.performAction.apply(F,[y,x,v,S.yy,R[1],p,m].concat(w)),typeof B<"u")return B;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[R[1]][0]),p.push(F.$),m.push(F._$),V=g[f[f.length-2]][f[f.length-1]],f.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;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),f.length-1&&(this.yylineno-=f.length-1);var p=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:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(u){this.unput(this.match.slice(u))},"less"),pastInput:o(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` `+h+"^"},"showPosition"),test_match:o(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={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&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[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+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,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(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return l})();i.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=i,i.Parser=s,new s})();PU.parser=PU;u3=PU});var Z7,J7,Q7,tut,BU,rut,FU,nut,iut,aut,sut,Cke,Ake=I(()=>{"use strict";Qt();wr();ki();Z7=[],J7=[],Q7=new Map,tut=o(()=>{Z7=[],J7=[],Q7=new Map,Mr()},"clear"),BU=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{o(this,"SankeyLink")}},rut=o((t,e,r)=>{Z7.push(new BU(t,e,r))},"addLink"),FU=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},nut=o(t=>{t=nt.sanitizeText(t,xe());let e=Q7.get(t);return e===void 0&&(e=new FU(t),Q7.set(t,e),J7.push(e)),e},"findOrCreateNode"),iut=o(()=>J7,"getNodes"),aut=o(()=>Z7,"getLinks"),sut=o(()=>({nodes:J7.map(t=>({id:t.ID})),links:Z7.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),Cke={nodesMap:Q7,getConfig:o(()=>xe().sankey,"getConfig"),getNodes:iut,getLinks:aut,getGraph:sut,addLink:rut,findOrCreateNode:nut,getAccTitle:Vr,setAccTitle:zr,getAccDescription:Ur,setAccDescription:qr,getDiagramTitle:Wr,setDiagramTitle:Xr,clear:tut}});function h3(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var _ke=I(()=>{"use strict";o(h3,"max")});function Bv(t,e){let r;if(e===void 0)for(let 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}var Dke=I(()=>{"use strict";o(Bv,"min")});function Fv(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var Rke=I(()=>{"use strict";o(Fv,"sum")});var $U=I(()=>{"use strict";_ke();Dke();Rke()});function out(t){return t.target.depth}function zU(t){return t.depth}function GU(t,e){return e-1-t.height}function f3(t,e){return t.sourceLinks.length?t.depth:e-1}function VU(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?Bv(t.sourceLinks,out)-1:0}var qU=I(()=>{"use strict";$U();o(out,"targetDepth");o(zU,"left");o(GU,"right");o(f3,"justify");o(VU,"center")});function $v(t){return function(){return t}}var Lke=I(()=>{"use strict";o($v,"constant")});function Nke(t,e){return e8(t.source,e.source)||t.index-e.index}function Mke(t,e){return e8(t.target,e.target)||t.index-e.index}function e8(t,e){return t.y0-e.y0}function UU(t){return t.value}function lut(t){return t.index}function cut(t){return t.nodes}function uut(t){return t.links}function Ike(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function Oke({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function t8(){let t=0,e=0,r=1,n=1,i=24,a=8,s,l=lut,u=f3,h,f,d=cut,p=uut,m=6;function g(){let N={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(N),v(N),x(N),b(N),w(N),Oke(N),N}o(g,"sankey"),g.update=function(N){return Oke(N),N},g.nodeId=function(N){return arguments.length?(l=typeof N=="function"?N:$v(N),g):l},g.nodeAlign=function(N){return arguments.length?(u=typeof N=="function"?N:$v(N),g):u},g.nodeSort=function(N){return arguments.length?(h=N,g):h},g.nodeWidth=function(N){return arguments.length?(i=+N,g):i},g.nodePadding=function(N){return arguments.length?(a=s=+N,g):a},g.nodes=function(N){return arguments.length?(d=typeof N=="function"?N:$v(N),g):d},g.links=function(N){return arguments.length?(p=typeof N=="function"?N:$v(N),g):p},g.linkSort=function(N){return arguments.length?(f=N,g):f},g.size=function(N){return arguments.length?(t=e=0,r=+N[0],n=+N[1],g):[r-t,n-e]},g.extent=function(N){return arguments.length?(t=+N[0][0],r=+N[1][0],e=+N[0][1],n=+N[1][1],g):[[t,e],[r,n]]},g.iterations=function(N){return arguments.length?(m=+N,g):m};function y({nodes:N,links:M}){for(let[B,F]of N.entries())F.index=B,F.sourceLinks=[],F.targetLinks=[];let P=new Map(N.map((B,F)=>[l(B,F,N),B]));for(let[B,F]of M.entries()){F.index=B;let{source:G,target:$}=F;typeof G!="object"&&(G=F.source=Ike(P,G)),typeof $!="object"&&($=F.target=Ike(P,$)),G.sourceLinks.push(F),$.targetLinks.push(F)}if(f!=null)for(let{sourceLinks:B,targetLinks:F}of N)B.sort(f),F.sort(f)}o(y,"computeNodeLinks");function v({nodes:N}){for(let M of N)M.value=M.fixedValue===void 0?Math.max(Fv(M.sourceLinks,UU),Fv(M.targetLinks,UU)):M.fixedValue}o(v,"computeNodeValues");function x({nodes:N}){let M=N.length,P=new Set(N),B=new Set,F=0;for(;P.size;){for(let G of P){G.depth=F;for(let{target:$}of G.sourceLinks)B.add($)}if(++F>M)throw new Error("circular link");P=B,B=new Set}}o(x,"computeNodeDepths");function b({nodes:N}){let M=N.length,P=new Set(N),B=new Set,F=0;for(;P.size;){for(let G of P){G.height=F;for(let{source:$}of G.targetLinks)B.add($)}if(++F>M)throw new Error("circular link");P=B,B=new Set}}o(b,"computeNodeHeights");function T({nodes:N}){let M=h3(N,F=>F.depth)+1,P=(r-t-i)/(M-1),B=new Array(M);for(let F of N){let G=Math.max(0,Math.min(M-1,Math.floor(u.call(null,F,M))));F.layer=G,F.x0=t+G*P,F.x1=F.x0+i,B[G]?B[G].push(F):B[G]=[F]}if(h)for(let F of B)F.sort(h);return B}o(T,"computeNodeLayers");function E(N){let M=Bv(N,P=>(n-e-(P.length-1)*s)/Fv(P,UU));for(let P of N){let B=e;for(let F of P){F.y0=B,F.y1=B+F.value*M,B=F.y1+s;for(let G of F.sourceLinks)G.width=G.value*M}B=(n-B+s)/(P.length+1);for(let F=0;FP.length)-1)),E(M);for(let P=0;P0))continue;let ee=(V/K-$.y0)*M;$.y0+=ee,$.y1+=ee,L($)}h===void 0&&G.sort(e8),D(G,P)}}o(k,"relaxLeftToRight");function C(N,M,P){for(let B=N.length,F=B-2;F>=0;--F){let G=N[F];for(let $ of G){let V=0,K=0;for(let{target:H,value:he}of $.sourceLinks){let Z=he*(H.layer-$.layer);V+=_($,H)*Z,K+=Z}if(!(K>0))continue;let ee=(V/K-$.y0)*M;$.y0+=ee,$.y1+=ee,L($)}h===void 0&&G.sort(e8),D(G,P)}}o(C,"relaxRightToLeft");function D(N,M){let P=N.length>>1,B=N[P];O(N,B.y0-s,P-1,M),R(N,B.y1+s,P+1,M),O(N,n,N.length-1,M),R(N,e,0,M)}o(D,"resolveCollisions");function R(N,M,P,B){for(;P1e-6&&(F.y0+=G,F.y1+=G),M=F.y1+s}}o(R,"resolveCollisionsTopToBottom");function O(N,M,P,B){for(;P>=0;--P){let F=N[P],G=(F.y1-M)*B;G>1e-6&&(F.y0-=G,F.y1-=G),M=F.y0-s}}o(O,"resolveCollisionsBottomToTop");function L({sourceLinks:N,targetLinks:M}){if(f===void 0){for(let{source:{sourceLinks:P}}of M)P.sort(Mke);for(let{target:{targetLinks:P}}of N)P.sort(Nke)}}o(L,"reorderNodeLinks");function S(N){if(f===void 0)for(let{sourceLinks:M,targetLinks:P}of N)M.sort(Mke),P.sort(Nke)}o(S,"reorderLinks");function A(N,M){let P=N.y0-(N.sourceLinks.length-1)*s/2;for(let{target:B,width:F}of N.sourceLinks){if(B===M)break;P+=F+s}for(let{source:B,width:F}of M.targetLinks){if(B===N)break;P-=F}return P}o(A,"targetTop");function _(N,M){let P=M.y0-(M.targetLinks.length-1)*s/2;for(let{source:B,width:F}of M.targetLinks){if(B===N)break;P+=F+s}for(let{target:B,width:F}of N.sourceLinks){if(B===M)break;P-=F}return P}return o(_,"sourceTop"),g}var Pke=I(()=>{"use strict";$U();qU();Lke();o(Nke,"ascendingSourceBreadth");o(Mke,"ascendingTargetBreadth");o(e8,"ascendingBreadth");o(UU,"value");o(lut,"defaultId");o(cut,"defaultNodes");o(uut,"defaultLinks");o(Ike,"find");o(Oke,"computeLinkBreadths");o(t8,"Sankey")});function YU(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Bke(){return new YU}var WU,HU,Xm,hut,jU,Fke=I(()=>{"use strict";WU=Math.PI,HU=2*WU,Xm=1e-6,hut=HU-Xm;o(YU,"Path");o(Bke,"path");YU.prototype=Bke.prototype={constructor:YU,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,l=r-t,u=n-e,h=a-t,f=s-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Xm)if(!(Math.abs(f*l-u*h)>Xm)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((WU-Math.acos((g+d-y)/(2*v*x)))/2),T=b/x,E=b/v;Math.abs(T-1)>Xm&&(this._+="L"+(t+T*h)+","+(e+T*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+E*l)+","+(this._y1=e+E*u)}},"arcTo"),arc:o(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),l=r*Math.sin(n),u=t+s,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>Xm||Math.abs(this._y1-h)>Xm)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%HU+HU),d>hut?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>Xm&&(this._+="A"+r+","+r+",0,"+ +(d>=WU)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:o(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};jU=Bke});var $ke=I(()=>{"use strict";Fke()});function r8(t){return o(function(){return t},"constant")}var zke=I(()=>{"use strict";o(r8,"default")});function Gke(t){return t[0]}function Vke(t){return t[1]}var qke=I(()=>{"use strict";o(Gke,"x");o(Vke,"y")});var Uke,Wke=I(()=>{"use strict";Uke=Array.prototype.slice});function fut(t){return t.source}function dut(t){return t.target}function put(t){var e=fut,r=dut,n=Gke,i=Vke,a=null;function s(){var l,u=Uke.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=jU()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(n=typeof l=="function"?l:r8(+l),s):n},s.y=function(l){return arguments.length?(i=typeof l=="function"?l:r8(+l),s):i},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function mut(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function XU(){return put(mut)}var Hke=I(()=>{"use strict";$ke();Wke();zke();qke();o(fut,"linkSource");o(dut,"linkTarget");o(put,"link");o(mut,"curveHorizontal");o(XU,"linkHorizontal")});var Yke=I(()=>{"use strict";Hke()});function gut(t){return[t.source.x1,t.y0]}function yut(t){return[t.target.x0,t.y1]}function n8(){return XU().source(gut).target(yut)}var jke=I(()=>{"use strict";Yke();o(gut,"horizontalSource");o(yut,"horizontalTarget");o(n8,"default")});var Xke=I(()=>{"use strict";Pke();qU();jke()});var d3,Kke=I(()=>{"use strict";d3=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var vut,xut,Qke,Zke=I(()=>{"use strict";Qt();kr();Xke();Fi();Kke();vut={left:zU,right:GU,center:VU,justify:f3},xut=o(function(t,e,r,n){let{securityLevel:i,sankey:a}=xe(),s=Ew.sankey,l;i==="sandbox"&&(l=He("#i"+e));let u=i==="sandbox"?He(l.nodes()[0].contentDocument.body):He("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):He(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=n.db.getGraph(),b=vut[m];t8().nodeId(O=>O.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let w=Lo(w9);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",O=>(O.uid=d3.next("node-")).id).attr("transform",function(O){return"translate("+O.x0+","+O.y0+")"}).attr("x",O=>O.x0).attr("y",O=>O.y0).append("rect").attr("height",O=>O.y1-O.y0).attr("width",O=>O.x1-O.x0).attr("fill",O=>w(O.id));let k=o(({id:O,value:L})=>v?`${O} -${g}${Math.round(L*100)/100}${y}`:O,"getText");h.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",O=>O.x0(O.y1+O.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",O=>O.x0(L.uid=d3.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",L=>L.source.x1).attr("x2",L=>L.target.x0);O.append("stop").attr("offset","0%").attr("stop-color",L=>w(L.source.id)),O.append("stop").attr("offset","100%").attr("stop-color",L=>w(L.target.id))}let R;switch(D){case"gradient":R=o(O=>O.uid,"coloring");break;case"source":R=o(O=>w(O.source.id),"coloring");break;case"target":R=o(O=>w(O.target.id),"coloring");break;default:R=D}C.append("path").attr("d",n8()).attr("stroke",R).attr("stroke-width",O=>Math.max(1,O.width)),Vc(void 0,h,0,p)},"draw"),Qke={draw:xut}});var Jke,eSe=I(()=>{"use strict";Jke=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing")});var but,tSe,rSe=I(()=>{"use strict";but=o(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return l})();i.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=i,i.Parser=s,new s})();QU.parser=QU;T3=QU});var h_,f_,u_,Hht,ZU,Yht,JU,jht,Xht,Kht,Qht,pEe,mEe=O(()=>{"use strict";jt();Ur();si();h_=[],f_=[],u_=new Map,Hht=o(()=>{h_=[],f_=[],u_=new Map,_r()},"clear"),ZU=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{o(this,"SankeyLink")}},Yht=o((t,e,r)=>{h_.push(new ZU(t,e,r))},"addLink"),JU=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},jht=o(t=>{t=st.sanitizeText(t,ve());let e=u_.get(t);return e===void 0&&(e=new JU(t),u_.set(t,e),f_.push(e)),e},"findOrCreateNode"),Xht=o(()=>f_,"getNodes"),Kht=o(()=>h_,"getLinks"),Qht=o(()=>({nodes:f_.map(t=>({id:t.ID})),links:h_.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),pEe={nodesMap:u_,getConfig:o(()=>ve().sankey,"getConfig"),getNodes:Xht,getLinks:Kht,getGraph:Qht,addLink:Yht,findOrCreateNode:jht,getAccTitle:Or,setAccTitle:Lr,getAccDescription:Br,setAccDescription:Pr,getDiagramTitle:Fr,setDiagramTitle:zr,clear:Hht}});function w3(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var gEe=O(()=>{"use strict";o(w3,"max")});function Wv(t,e){let r;if(e===void 0)for(let 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}var yEe=O(()=>{"use strict";o(Wv,"min")});function Hv(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var vEe=O(()=>{"use strict";o(Hv,"sum")});var eW=O(()=>{"use strict";gEe();yEe();vEe()});function Zht(t){return t.target.depth}function tW(t){return t.depth}function rW(t,e){return e-1-t.height}function k3(t,e){return t.sourceLinks.length?t.depth:e-1}function nW(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?Wv(t.sourceLinks,Zht)-1:0}var iW=O(()=>{"use strict";eW();o(Zht,"targetDepth");o(tW,"left");o(rW,"right");o(k3,"justify");o(nW,"center")});function Yv(t){return function(){return t}}var xEe=O(()=>{"use strict";o(Yv,"constant")});function bEe(t,e){return d_(t.source,e.source)||t.index-e.index}function TEe(t,e){return d_(t.target,e.target)||t.index-e.index}function d_(t,e){return t.y0-e.y0}function aW(t){return t.value}function Jht(t){return t.index}function eft(t){return t.nodes}function tft(t){return t.links}function wEe(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function kEe({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function p_(){let t=0,e=0,r=1,n=1,i=24,a=8,s,l=Jht,u=k3,h,f,d=eft,p=tft,m=6;function g(){let M={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(M),v(M),x(M),b(M),w(M),kEe(M),M}o(g,"sankey"),g.update=function(M){return kEe(M),M},g.nodeId=function(M){return arguments.length?(l=typeof M=="function"?M:Yv(M),g):l},g.nodeAlign=function(M){return arguments.length?(u=typeof M=="function"?M:Yv(M),g):u},g.nodeSort=function(M){return arguments.length?(h=M,g):h},g.nodeWidth=function(M){return arguments.length?(i=+M,g):i},g.nodePadding=function(M){return arguments.length?(a=s=+M,g):a},g.nodes=function(M){return arguments.length?(d=typeof M=="function"?M:Yv(M),g):d},g.links=function(M){return arguments.length?(p=typeof M=="function"?M:Yv(M),g):p},g.linkSort=function(M){return arguments.length?(f=M,g):f},g.size=function(M){return arguments.length?(t=e=0,r=+M[0],n=+M[1],g):[r-t,n-e]},g.extent=function(M){return arguments.length?(t=+M[0][0],r=+M[1][0],e=+M[0][1],n=+M[1][1],g):[[t,e],[r,n]]},g.iterations=function(M){return arguments.length?(m=+M,g):m};function y({nodes:M,links:R}){for(let[B,F]of M.entries())F.index=B,F.sourceLinks=[],F.targetLinks=[];let P=new Map(M.map((B,F)=>[l(B,F,M),B]));for(let[B,F]of R.entries()){F.index=B;let{source:G,target:$}=F;typeof G!="object"&&(G=F.source=wEe(P,G)),typeof $!="object"&&($=F.target=wEe(P,$)),G.sourceLinks.push(F),$.targetLinks.push(F)}if(f!=null)for(let{sourceLinks:B,targetLinks:F}of M)B.sort(f),F.sort(f)}o(y,"computeNodeLinks");function v({nodes:M}){for(let R of M)R.value=R.fixedValue===void 0?Math.max(Hv(R.sourceLinks,aW),Hv(R.targetLinks,aW)):R.fixedValue}o(v,"computeNodeValues");function x({nodes:M}){let R=M.length,P=new Set(M),B=new Set,F=0;for(;P.size;){for(let G of P){G.depth=F;for(let{target:$}of G.sourceLinks)B.add($)}if(++F>R)throw new Error("circular link");P=B,B=new Set}}o(x,"computeNodeDepths");function b({nodes:M}){let R=M.length,P=new Set(M),B=new Set,F=0;for(;P.size;){for(let G of P){G.height=F;for(let{source:$}of G.targetLinks)B.add($)}if(++F>R)throw new Error("circular link");P=B,B=new Set}}o(b,"computeNodeHeights");function T({nodes:M}){let R=w3(M,F=>F.depth)+1,P=(r-t-i)/(R-1),B=new Array(R);for(let F of M){let G=Math.max(0,Math.min(R-1,Math.floor(u.call(null,F,R))));F.layer=G,F.x0=t+G*P,F.x1=F.x0+i,B[G]?B[G].push(F):B[G]=[F]}if(h)for(let F of B)F.sort(h);return B}o(T,"computeNodeLayers");function E(M){let R=Wv(M,P=>(n-e-(P.length-1)*s)/Hv(P,aW));for(let P of M){let B=e;for(let F of P){F.y0=B,F.y1=B+F.value*R,B=F.y1+s;for(let G of F.sourceLinks)G.width=G.value*R}B=(n-B+s)/(P.length+1);for(let F=0;FP.length)-1)),E(R);for(let P=0;P0))continue;let Q=(V/X-$.y0)*R;$.y0+=Q,$.y1+=Q,N($)}h===void 0&&G.sort(d_),A(G,P)}}o(k,"relaxLeftToRight");function S(M,R,P){for(let B=M.length,F=B-2;F>=0;--F){let G=M[F];for(let $ of G){let V=0,X=0;for(let{target:H,value:ie}of $.sourceLinks){let Y=ie*(H.layer-$.layer);V+=D($,H)*Y,X+=Y}if(!(X>0))continue;let Q=(V/X-$.y0)*R;$.y0+=Q,$.y1+=Q,N($)}h===void 0&&G.sort(d_),A(G,P)}}o(S,"relaxRightToLeft");function A(M,R){let P=M.length>>1,B=M[P];I(M,B.y0-s,P-1,R),L(M,B.y1+s,P+1,R),I(M,n,M.length-1,R),L(M,e,0,R)}o(A,"resolveCollisions");function L(M,R,P,B){for(;P1e-6&&(F.y0+=G,F.y1+=G),R=F.y1+s}}o(L,"resolveCollisionsTopToBottom");function I(M,R,P,B){for(;P>=0;--P){let F=M[P],G=(F.y1-R)*B;G>1e-6&&(F.y0-=G,F.y1-=G),R=F.y0-s}}o(I,"resolveCollisionsBottomToTop");function N({sourceLinks:M,targetLinks:R}){if(f===void 0){for(let{source:{sourceLinks:P}}of R)P.sort(TEe);for(let{target:{targetLinks:P}}of M)P.sort(bEe)}}o(N,"reorderNodeLinks");function C(M){if(f===void 0)for(let{sourceLinks:R,targetLinks:P}of M)R.sort(TEe),P.sort(bEe)}o(C,"reorderLinks");function _(M,R){let P=M.y0-(M.sourceLinks.length-1)*s/2;for(let{target:B,width:F}of M.sourceLinks){if(B===R)break;P+=F+s}for(let{source:B,width:F}of R.targetLinks){if(B===M)break;P-=F}return P}o(_,"targetTop");function D(M,R){let P=R.y0-(R.targetLinks.length-1)*s/2;for(let{source:B,width:F}of R.targetLinks){if(B===M)break;P+=F+s}for(let{target:B,width:F}of M.sourceLinks){if(B===R)break;P-=F}return P}return o(D,"sourceTop"),g}var EEe=O(()=>{"use strict";eW();iW();xEe();o(bEe,"ascendingSourceBreadth");o(TEe,"ascendingTargetBreadth");o(d_,"ascendingBreadth");o(aW,"value");o(Jht,"defaultId");o(eft,"defaultNodes");o(tft,"defaultLinks");o(wEe,"find");o(kEe,"computeLinkBreadths");o(p_,"Sankey")});function lW(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function SEe(){return new lW}var sW,oW,Jm,rft,cW,CEe=O(()=>{"use strict";sW=Math.PI,oW=2*sW,Jm=1e-6,rft=oW-Jm;o(lW,"Path");o(SEe,"path");lW.prototype=SEe.prototype={constructor:lW,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,l=r-t,u=n-e,h=a-t,f=s-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Jm)if(!(Math.abs(f*l-u*h)>Jm)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((sW-Math.acos((g+d-y)/(2*v*x)))/2),T=b/x,E=b/v;Math.abs(T-1)>Jm&&(this._+="L"+(t+T*h)+","+(e+T*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+E*l)+","+(this._y1=e+E*u)}},"arcTo"),arc:o(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),l=r*Math.sin(n),u=t+s,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>Jm||Math.abs(this._y1-h)>Jm)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%oW+oW),d>rft?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>Jm&&(this._+="A"+r+","+r+",0,"+ +(d>=sW)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:o(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};cW=SEe});var AEe=O(()=>{"use strict";CEe()});function m_(t){return o(function(){return t},"constant")}var _Ee=O(()=>{"use strict";o(m_,"default")});function DEe(t){return t[0]}function REe(t){return t[1]}var LEe=O(()=>{"use strict";o(DEe,"x");o(REe,"y")});var NEe,MEe=O(()=>{"use strict";NEe=Array.prototype.slice});function nft(t){return t.source}function ift(t){return t.target}function aft(t){var e=nft,r=ift,n=DEe,i=REe,a=null;function s(){var l,u=NEe.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=cW()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(n=typeof l=="function"?l:m_(+l),s):n},s.y=function(l){return arguments.length?(i=typeof l=="function"?l:m_(+l),s):i},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function sft(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function uW(){return aft(sft)}var IEe=O(()=>{"use strict";AEe();MEe();_Ee();LEe();o(nft,"linkSource");o(ift,"linkTarget");o(aft,"link");o(sft,"curveHorizontal");o(uW,"linkHorizontal")});var OEe=O(()=>{"use strict";IEe()});function oft(t){return[t.source.x1,t.y0]}function lft(t){return[t.target.x0,t.y1]}function g_(){return uW().source(oft).target(lft)}var PEe=O(()=>{"use strict";OEe();o(oft,"horizontalSource");o(lft,"horizontalTarget");o(g_,"default")});var BEe=O(()=>{"use strict";EEe();iW();PEe()});var E3,FEe=O(()=>{"use strict";E3=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var cft,uft,$Ee,zEe=O(()=>{"use strict";jt();Ar();BEe();Ti();FEe();cft={left:tW,right:rW,center:nW,justify:k3},uft=o(function(t,e,r,n){let{securityLevel:i,sankey:a}=ve(),s=Fw.sankey,l;i==="sandbox"&&(l=je("#i"+e));let u=i==="sandbox"?je(l.nodes()[0].contentDocument.body):je("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):je(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=n.db.getGraph(),b=cft[m];p_().nodeId(I=>I.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let w=Fo(B9);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",I=>(I.uid=E3.next("node-")).id).attr("transform",function(I){return"translate("+I.x0+","+I.y0+")"}).attr("x",I=>I.x0).attr("y",I=>I.y0).append("rect").attr("height",I=>I.y1-I.y0).attr("width",I=>I.x1-I.x0).attr("fill",I=>w(I.id));let k=o(({id:I,value:N})=>v?`${I} +${g}${Math.round(N*100)/100}${y}`:I,"getText");h.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",I=>I.x0(I.y1+I.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",I=>I.x0(N.uid=E3.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",N=>N.source.x1).attr("x2",N=>N.target.x0);I.append("stop").attr("offset","0%").attr("stop-color",N=>w(N.source.id)),I.append("stop").attr("offset","100%").attr("stop-color",N=>w(N.target.id))}let L;switch(A){case"gradient":L=o(I=>I.uid,"coloring");break;case"source":L=o(I=>w(I.source.id),"coloring");break;case"target":L=o(I=>w(I.target.id),"coloring");break;default:L=A}S.append("path").attr("d",g_()).attr("stroke",L).attr("stroke-width",I=>Math.max(1,I.width)),Kc(void 0,h,0,p)},"draw"),$Ee={draw:uft}});var GEe,VEe=O(()=>{"use strict";GEe=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing")});var hft,qEe,UEe=O(()=>{"use strict";hft=o(t=>`.label { font-family: ${t.fontFamily}; - }`,"getStyles"),tSe=but});var nSe={};vr(nSe,{diagram:()=>wut});var Tut,wut,iSe=I(()=>{"use strict";Eke();Ake();Zke();eSe();rSe();Tut=u3.parse.bind(u3);u3.parse=t=>Tut(Jke(t));wut={styles:tSe,parser:u3,db:Cke,renderer:Qke}});var Cut,zv,KU=I(()=>{"use strict";ti();Ka();sr();ki();Cut=gr.packet,zv=class{constructor(){this.packet=[];this.setAccTitle=zr;this.getAccTitle=Vr;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getAccDescription=Ur;this.setAccDescription=qr}static{o(this,"PacketDB")}getConfig(){let e=Qn({...Cut,...tr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Mr(),this.packet=[]}}});var Aut,_ut,Dut,QU,oSe=I(()=>{"use strict";sp();gt();$m();KU();Aut=1e4,_ut=o((t,e)=>{Pl(t,e);let r=-1,n=[],i=1,{bitsPerRow:a}=e.getConfig();for(let{start:s,end:l,bits:u,label:h}of t.blocks){if(s!==void 0&&l!==void 0&&l{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];let n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),QU={parser:{yy:void 0},parse:o(async t=>{let e=await Vs("packet",t),r=QU.parser?.yy;if(!(r instanceof zv))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");X.debug(e),_ut(e,r)},"parse")}});var Rut,Lut,lSe,cSe=I(()=>{"use strict";Uu();Fi();Rut=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=Ca(e);y.attr("viewbox",`0 0 ${g} ${m}`),Sn(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())Lut(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),Lut=o((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),lSe={draw:Rut}});var Nut,uSe,hSe=I(()=>{"use strict";sr();Nut={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},uSe=o(({packet:t}={})=>{let e=Qn(Nut,t);return` + }`,"getStyles"),qEe=hft});var WEe={};vr(WEe,{diagram:()=>dft});var fft,dft,HEe=O(()=>{"use strict";dEe();mEe();zEe();VEe();UEe();fft=T3.parse.bind(T3);T3.parse=t=>fft(GEe(t));dft={styles:qEe,parser:T3,db:pEe,renderer:$Ee}});var yft,jv,hW=O(()=>{"use strict";$r();La();ar();si();yft=gr.packet,jv=class{constructor(){this.packet=[];this.setAccTitle=Lr;this.getAccTitle=Or;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getAccDescription=Br;this.setAccDescription=Pr}static{o(this,"PacketDB")}getConfig(){let e=Pn({...yft,...Zt().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){_r(),this.packet=[]}}});var vft,xft,bft,fW,XEe=O(()=>{"use strict";up();xt();Vm();hW();vft=1e4,xft=o((t,e)=>{ql(t,e);let r=-1,n=[],i=1,{bitsPerRow:a}=e.getConfig();for(let{start:s,end:l,bits:u,label:h}of t.blocks){if(s!==void 0&&l!==void 0&&l{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];let n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),fW={parser:{yy:void 0},parse:o(async t=>{let e=await Us("packet",t),r=fW.parser?.yy;if(!(r instanceof jv))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");K.debug(e),xft(e,r)},"parse")}});var Tft,wft,KEe,QEe=O(()=>{"use strict";Ul();Ti();Tft=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=Ii(e);y.attr("viewBox",`0 0 ${g} ${m}`),Zr(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())wft(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),wft=o((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),KEe={draw:Tft}});var kft,ZEe,JEe=O(()=>{"use strict";ar();kft={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},ZEe=o(({packet:t}={})=>{let e=Pn(kft,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -2570,7 +2637,7 @@ ${g}${Math.round(L*100)/100}${y}`:O,"getText");h.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles")});var fSe={};vr(fSe,{diagram:()=>Mut});var Mut,dSe=I(()=>{"use strict";KU();oSe();cSe();hSe();Mut={parser:QU,get db(){return new zv},renderer:lSe,styles:uSe}});var Gv,gSe,Km,Put,But,ySe,Fut,$ut,zut,Gut,Vut,qut,Uut,Qm,ZU=I(()=>{"use strict";ti();Ka();sr();ki();Gv={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},gSe={axes:[],curves:[],options:Gv},Km=structuredClone(gSe),Put=gr.radar,But=o(()=>Qn({...Put,...tr().radar}),"getConfig"),ySe=o(()=>Km.axes,"getAxes"),Fut=o(()=>Km.curves,"getCurves"),$ut=o(()=>Km.options,"getOptions"),zut=o(t=>{Km.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),Gut=o(t=>{Km.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:Vut(e.entries)}))},"setCurves"),Vut=o(t=>{if(t[0].axis==null)return t.map(r=>r.value);let e=ySe();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{let n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),qut=o(t=>{let e=t.reduce((r,n)=>(r[n.name]=n,r),{});Km.options={showLegend:e.showLegend?.value??Gv.showLegend,ticks:e.ticks?.value??Gv.ticks,max:e.max?.value??Gv.max,min:e.min?.value??Gv.min,graticule:e.graticule?.value??Gv.graticule}},"setOptions"),Uut=o(()=>{Mr(),Km=structuredClone(gSe)},"clear"),Qm={getAxes:ySe,getCurves:Fut,getOptions:$ut,setAxes:zut,setCurves:Gut,setOptions:qut,getConfig:But,clear:Uut,setAccTitle:zr,getAccTitle:Vr,setDiagramTitle:Xr,getDiagramTitle:Wr,getAccDescription:Ur,setAccDescription:qr}});var Wut,vSe,xSe=I(()=>{"use strict";sp();gt();$m();ZU();Wut=o(t=>{Pl(t,Qm);let{axes:e,curves:r,options:n}=t;Qm.setAxes(e),Qm.setCurves(r),Qm.setOptions(n)},"populate"),vSe={parse:o(async t=>{let e=await Vs("radar",t);X.debug(e),Wut(e)},"parse")}});function Kut(t,e,r,n,i,a,s){let l=e.length,u=Math.min(s.width,s.height)/2;r.forEach((h,f)=>{if(h.entries.length!==l)return;let d=h.entries.map((p,m)=>{let g=2*Math.PI*m/l-Math.PI/2,y=Qut(p,n,i,u),v=y*Math.cos(g),x=y*Math.sin(g);return{x:v,y:x}});a==="circle"?t.append("path").attr("d",Zut(d,s.curveTension)).attr("class",`radarCurve-${f}`):a==="polygon"&&t.append("polygon").attr("points",d.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${f}`)})}function Qut(t,e,r,n){let i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}function Zut(t,e){let r=t.length,n=`M${t[0].x},${t[0].y}`;for(let i=0;i{let h=t.append("g").attr("transform",`translate(${i}, ${a+u*s})`);h.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${u}`),h.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(l.label)})}var Hut,Yut,jut,Xut,bSe,TSe=I(()=>{"use strict";Uu();Hut=o((t,e,r,n)=>{let i=n.db,a=i.getAxes(),s=i.getCurves(),l=i.getOptions(),u=i.getConfig(),h=i.getDiagramTitle(),f=Ca(e),d=Yut(f,u),p=l.max??Math.max(...s.map(y=>Math.max(...y.entries))),m=l.min,g=Math.min(u.width,u.height)/2;jut(d,a,g,l.ticks,l.graticule),Xut(d,a,g,u),Kut(d,a,s,m,p,l.graticule,u),Jut(d,s,l.showLegend,u),d.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-u.height/2-u.marginTop)},"draw"),Yut=o((t,e)=>{let r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return t.attr("viewbox",`0 0 ${r} ${n}`).attr("width",r).attr("height",n),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),jut=o((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{let d=2*f*Math.PI/a-Math.PI/2,p=l*Math.cos(d),m=l*Math.sin(d);return`${p},${m}`}).join(" ");t.append("polygon").attr("points",u).attr("class","radarGraticule")}}},"drawGraticule"),Xut=o((t,e,r,n)=>{let i=e.length;for(let a=0;a{"use strict";sr();a2();ti();eht=o((t,e)=>{let r="";for(let n=0;nEft});var Eft,tSe=O(()=>{"use strict";hW();XEe();QEe();JEe();Eft={parser:fW,get db(){return new jv},renderer:KEe,styles:ZEe}});var Xv,iSe,eg,Aft,_ft,aSe,Dft,Rft,Lft,Nft,Mft,Ift,Oft,tg,dW=O(()=>{"use strict";$r();La();ar();si();Xv={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},iSe={axes:[],curves:[],options:Xv},eg=structuredClone(iSe),Aft=gr.radar,_ft=o(()=>Pn({...Aft,...Zt().radar}),"getConfig"),aSe=o(()=>eg.axes,"getAxes"),Dft=o(()=>eg.curves,"getCurves"),Rft=o(()=>eg.options,"getOptions"),Lft=o(t=>{eg.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),Nft=o(t=>{eg.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:Mft(e.entries)}))},"setCurves"),Mft=o(t=>{if(t[0].axis==null)return t.map(r=>r.value);let e=aSe();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{let n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),Ift=o(t=>{let e=t.reduce((r,n)=>(r[n.name]=n,r),{});eg.options={showLegend:e.showLegend?.value??Xv.showLegend,ticks:e.ticks?.value??Xv.ticks,max:e.max?.value??Xv.max,min:e.min?.value??Xv.min,graticule:e.graticule?.value??Xv.graticule}},"setOptions"),Oft=o(()=>{_r(),eg=structuredClone(iSe)},"clear"),tg={getAxes:aSe,getCurves:Dft,getOptions:Rft,setAxes:Lft,setCurves:Nft,setOptions:Ift,getConfig:_ft,clear:Oft,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,getAccDescription:Br,setAccDescription:Pr}});var Pft,sSe,oSe=O(()=>{"use strict";up();xt();Vm();dW();Pft=o(t=>{ql(t,tg);let{axes:e,curves:r,options:n}=t;tg.setAxes(e),tg.setCurves(r),tg.setOptions(n)},"populate"),sSe={parse:o(async t=>{let e=await Us("radar",t);K.debug(e),Pft(e)},"parse")}});function Gft(t,e,r,n,i,a,s){let l=e.length,u=Math.min(s.width,s.height)/2;r.forEach((h,f)=>{if(h.entries.length!==l)return;let d=h.entries.map((p,m)=>{let g=2*Math.PI*m/l-Math.PI/2,y=Vft(p,n,i,u),v=y*Math.cos(g),x=y*Math.sin(g);return{x:v,y:x}});a==="circle"?t.append("path").attr("d",qft(d,s.curveTension)).attr("class",`radarCurve-${f}`):a==="polygon"&&t.append("polygon").attr("points",d.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${f}`)})}function Vft(t,e,r,n){let i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}function qft(t,e){let r=t.length,n=`M${t[0].x},${t[0].y}`;for(let i=0;i{let h=t.append("g").attr("transform",`translate(${i}, ${a+u*s})`);h.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${u}`),h.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(l.label)})}var Bft,Fft,$ft,zft,lSe,cSe=O(()=>{"use strict";Ul();Ti();Bft=o((t,e,r,n)=>{let i=n.db,a=i.getAxes(),s=i.getCurves(),l=i.getOptions(),u=i.getConfig(),h=i.getDiagramTitle(),f=Ii(e),d=Fft(f,u),p=l.max??Math.max(...s.map(y=>Math.max(...y.entries))),m=l.min,g=Math.min(u.width,u.height)/2;$ft(d,a,g,l.ticks,l.graticule),zft(d,a,g,u),Gft(d,a,s,m,p,l.graticule,u),Uft(d,s,l.showLegend,u),d.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-u.height/2-u.marginTop)},"draw"),Fft=o((t,e)=>{let r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Zr(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),$ft=o((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{let d=2*f*Math.PI/a-Math.PI/2,p=l*Math.cos(d),m=l*Math.sin(d);return`${p},${m}`}).join(" ");t.append("polygon").attr("points",u).attr("class","radarGraticule")}}},"drawGraticule"),zft=o((t,e,r,n)=>{let i=e.length;for(let a=0;a{"use strict";ar();y2();$r();Wft=o((t,e)=>{let r="";for(let n=0;n{let e=uf(),r=tr(),n=Qn(e,r.themeVariables),i=Qn(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),wSe=o(({radar:t}={})=>{let{themeVariables:e,radarOptions:r}=tht(t);return` + `}return r},"genIndexStyles"),Hft=o(t=>{let e=yf(),r=Zt(),n=Pn(e,r.themeVariables),i=Pn(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),uSe=o(({radar:t}={})=>{let{themeVariables:e,radarOptions:r}=Hft(t);return` .radarTitle { font-size: ${e.fontSize}; color: ${e.titleColor}; @@ -2611,13 +2678,13 @@ ${g}${Math.round(L*100)/100}${y}`:O,"getText");h.append("g").attr("class","node- font-size: ${r.legendFontSize}px; dominant-baseline: hanging; } - ${eht(e,r)} - `},"styles")});var SSe={};vr(SSe,{diagram:()=>rht});var rht,ESe=I(()=>{"use strict";ZU();xSe();TSe();kSe();rht={parser:vSe,db:Qm,renderer:bSe,styles:wSe}});var JU,_Se,DSe=I(()=>{"use strict";JU=(function(){var t=o(function(T,E,w,k){for(w=w||{},k=T.length;k--;w[T[k]]=E);return w},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,10,21,28,29,30,31,39,43,46],d=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],g=[8,10,15,16,21,27,28,29,30,31,39,43,46],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(E,w,k,C,D,R,O){var L=R.length-1;switch(D){case 4:C.getLogger().debug("Rule: separator (NL) ");break;case 5:C.getLogger().debug("Rule: separator (Space) ");break;case 6:C.getLogger().debug("Rule: separator (EOF) ");break;case 7:C.getLogger().debug("Rule: hierarchy: ",R[L-1]),C.setHierarchy(R[L-1]);break;case 8:C.getLogger().debug("Stop NL ");break;case 9:C.getLogger().debug("Stop EOF ");break;case 10:C.getLogger().debug("Stop NL2 ");break;case 11:C.getLogger().debug("Stop EOF2 ");break;case 12:C.getLogger().debug("Rule: statement: ",R[L]),typeof R[L].length=="number"?this.$=R[L]:this.$=[R[L]];break;case 13:C.getLogger().debug("Rule: statement #2: ",R[L-1]),this.$=[R[L-1]].concat(R[L]);break;case 14:C.getLogger().debug("Rule: link: ",R[L],E),this.$={edgeTypeStr:R[L],label:""};break;case 15:C.getLogger().debug("Rule: LABEL link: ",R[L-3],R[L-1],R[L]),this.$={edgeTypeStr:R[L],label:R[L-1]};break;case 18:let S=parseInt(R[L]),A=C.generateId();this.$={id:A,type:"space",label:"",width:S,children:[]};break;case 23:C.getLogger().debug("Rule: (nodeStatement link node) ",R[L-2],R[L-1],R[L]," typestr: ",R[L-1].edgeTypeStr);let _=C.edgeStrToEdgeData(R[L-1].edgeTypeStr);this.$=[{id:R[L-2].id,label:R[L-2].label,type:R[L-2].type,directions:R[L-2].directions},{id:R[L-2].id+"-"+R[L].id,start:R[L-2].id,end:R[L].id,label:R[L-1].label,type:"edge",directions:R[L].directions,arrowTypeEnd:_,arrowTypeStart:"arrow_open"},{id:R[L].id,label:R[L].label,type:C.typeStr2Type(R[L].typeStr),directions:R[L].directions}];break;case 24:C.getLogger().debug("Rule: nodeStatement (abc88 node size) ",R[L-1],R[L]),this.$={id:R[L-1].id,label:R[L-1].label,type:C.typeStr2Type(R[L-1].typeStr),directions:R[L-1].directions,widthInColumns:parseInt(R[L],10)};break;case 25:C.getLogger().debug("Rule: nodeStatement (node) ",R[L]),this.$={id:R[L].id,label:R[L].label,type:C.typeStr2Type(R[L].typeStr),directions:R[L].directions,widthInColumns:1};break;case 26:C.getLogger().debug("APA123",this?this:"na"),C.getLogger().debug("COLUMNS: ",R[L]),this.$={type:"column-setting",columns:R[L]==="auto"?-1:parseInt(R[L])};break;case 27:C.getLogger().debug("Rule: id-block statement : ",R[L-2],R[L-1]);let N=C.generateId();this.$={...R[L-2],type:"composite",children:R[L-1]};break;case 28:C.getLogger().debug("Rule: blockStatement : ",R[L-2],R[L-1],R[L]);let M=C.generateId();this.$={id:M,type:"composite",label:"",children:R[L-1]};break;case 29:C.getLogger().debug("Rule: node (NODE_ID separator): ",R[L]),this.$={id:R[L]};break;case 30:C.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",R[L-1],R[L]),this.$={id:R[L-1],label:R[L].label,typeStr:R[L].typeStr,directions:R[L].directions};break;case 31:C.getLogger().debug("Rule: dirList: ",R[L]),this.$=[R[L]];break;case 32:C.getLogger().debug("Rule: dirList: ",R[L-1],R[L]),this.$=[R[L-1]].concat(R[L]);break;case 33:C.getLogger().debug("Rule: nodeShapeNLabel: ",R[L-2],R[L-1],R[L]),this.$={typeStr:R[L-2]+R[L],label:R[L-1]};break;case 34:C.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",R[L-3],R[L-2]," #3:",R[L-1],R[L]),this.$={typeStr:R[L-3]+R[L],label:R[L-2],directions:R[L-1]};break;case 35:case 36:this.$={type:"classDef",id:R[L-1].trim(),css:R[L].trim()};break;case 37:this.$={type:"applyClass",id:R[L-1].trim(),styleClass:R[L].trim()};break;case 38:this.$={type:"applyStyles",id:R[L-1].trim(),stylesStr:R[L].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:l,46:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(g,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(m,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{36:[1,47]},{33:48,34:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{38:[1,51]},{33:52,34:y,38:[2,31]},{31:[2,15]},t(g,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(E,w){if(w.recoverable)this.trace(E);else{var k=new Error(E);throw k.hash=w,k}},"parseError"),parse:o(function(E){var w=this,k=[0],C=[],D=[null],R=[],O=this.table,L="",S=0,A=0,_=0,N=2,M=1,P=R.slice.call(arguments,1),B=Object.create(this.lexer),F={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(F.yy[G]=this.yy[G]);B.setInput(E,F.yy),F.yy.lexer=B,F.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var $=B.yylloc;R.push($);var V=B.options&&B.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function K(Te){k.length=k.length-2*Te,D.length=D.length-Te,R.length=R.length-Te}o(K,"popStack");function ee(){var Te;return Te=C.pop()||B.lex()||M,typeof Te!="number"&&(Te instanceof Array&&(C=Te,Te=C.pop()),Te=w.symbols_[Te]||Te),Te}o(ee,"lex");for(var H,he,Z,de,re,ne,te={},Q,le,J,ge;;){if(Z=k[k.length-1],this.defaultActions[Z]?de=this.defaultActions[Z]:((H===null||typeof H>"u")&&(H=ee()),de=O[Z]&&O[Z][H]),typeof de>"u"||!de.length||!de[0]){var ie="";ge=[];for(Q in O[Z])this.terminals_[Q]&&Q>N&&ge.push("'"+this.terminals_[Q]+"'");B.showPosition?ie="Parse error on line "+(S+1)+`: + ${Wft(e,r)} + `},"styles")});var fSe={};vr(fSe,{diagram:()=>Yft});var Yft,dSe=O(()=>{"use strict";dW();oSe();cSe();hSe();Yft={parser:sSe,db:tg,renderer:lSe,styles:uSe}});var pW,gSe,ySe=O(()=>{"use strict";pW=(function(){var t=o(function(T,E,w,k){for(w=w||{},k=T.length;k--;w[T[k]]=E);return w},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,10,21,28,29,30,31,39,43,46],d=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],g=[8,10,15,16,21,27,28,29,30,31,39,43,46],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(E,w,k,S,A,L,I){var N=L.length-1;switch(A){case 4:S.getLogger().debug("Rule: separator (NL) ");break;case 5:S.getLogger().debug("Rule: separator (Space) ");break;case 6:S.getLogger().debug("Rule: separator (EOF) ");break;case 7:S.getLogger().debug("Rule: hierarchy: ",L[N-1]),S.setHierarchy(L[N-1]);break;case 8:S.getLogger().debug("Stop NL ");break;case 9:S.getLogger().debug("Stop EOF ");break;case 10:S.getLogger().debug("Stop NL2 ");break;case 11:S.getLogger().debug("Stop EOF2 ");break;case 12:S.getLogger().debug("Rule: statement: ",L[N]),typeof L[N].length=="number"?this.$=L[N]:this.$=[L[N]];break;case 13:S.getLogger().debug("Rule: statement #2: ",L[N-1]),this.$=[L[N-1]].concat(L[N]);break;case 14:S.getLogger().debug("Rule: link: ",L[N],E),this.$={edgeTypeStr:L[N],label:""};break;case 15:S.getLogger().debug("Rule: LABEL link: ",L[N-3],L[N-1],L[N]),this.$={edgeTypeStr:L[N],label:L[N-1]};break;case 18:let C=parseInt(L[N]),_=S.generateId();this.$={id:_,type:"space",label:"",width:C,children:[]};break;case 23:S.getLogger().debug("Rule: (nodeStatement link node) ",L[N-2],L[N-1],L[N]," typestr: ",L[N-1].edgeTypeStr);let D=S.edgeStrToEdgeData(L[N-1].edgeTypeStr);this.$=[{id:L[N-2].id,label:L[N-2].label,type:L[N-2].type,directions:L[N-2].directions},{id:L[N-2].id+"-"+L[N].id,start:L[N-2].id,end:L[N].id,label:L[N-1].label,type:"edge",directions:L[N].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:L[N].id,label:L[N].label,type:S.typeStr2Type(L[N].typeStr),directions:L[N].directions}];break;case 24:S.getLogger().debug("Rule: nodeStatement (abc88 node size) ",L[N-1],L[N]),this.$={id:L[N-1].id,label:L[N-1].label,type:S.typeStr2Type(L[N-1].typeStr),directions:L[N-1].directions,widthInColumns:parseInt(L[N],10)};break;case 25:S.getLogger().debug("Rule: nodeStatement (node) ",L[N]),this.$={id:L[N].id,label:L[N].label,type:S.typeStr2Type(L[N].typeStr),directions:L[N].directions,widthInColumns:1};break;case 26:S.getLogger().debug("APA123",this?this:"na"),S.getLogger().debug("COLUMNS: ",L[N]),this.$={type:"column-setting",columns:L[N]==="auto"?-1:parseInt(L[N])};break;case 27:S.getLogger().debug("Rule: id-block statement : ",L[N-2],L[N-1]);let M=S.generateId();this.$={...L[N-2],type:"composite",children:L[N-1]};break;case 28:S.getLogger().debug("Rule: blockStatement : ",L[N-2],L[N-1],L[N]);let R=S.generateId();this.$={id:R,type:"composite",label:"",children:L[N-1]};break;case 29:S.getLogger().debug("Rule: node (NODE_ID separator): ",L[N]),this.$={id:L[N]};break;case 30:S.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",L[N-1],L[N]),this.$={id:L[N-1],label:L[N].label,typeStr:L[N].typeStr,directions:L[N].directions};break;case 31:S.getLogger().debug("Rule: dirList: ",L[N]),this.$=[L[N]];break;case 32:S.getLogger().debug("Rule: dirList: ",L[N-1],L[N]),this.$=[L[N-1]].concat(L[N]);break;case 33:S.getLogger().debug("Rule: nodeShapeNLabel: ",L[N-2],L[N-1],L[N]),this.$={typeStr:L[N-2]+L[N],label:L[N-1]};break;case 34:S.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",L[N-3],L[N-2]," #3:",L[N-1],L[N]),this.$={typeStr:L[N-3]+L[N],label:L[N-2],directions:L[N-1]};break;case 35:case 36:this.$={type:"classDef",id:L[N-1].trim(),css:L[N].trim()};break;case 37:this.$={type:"applyClass",id:L[N-1].trim(),styleClass:L[N].trim()};break;case 38:this.$={type:"applyStyles",id:L[N-1].trim(),stylesStr:L[N].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:l,46:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(g,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(m,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{36:[1,47]},{33:48,34:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{38:[1,51]},{33:52,34:y,38:[2,31]},{31:[2,15]},t(g,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(E,w){if(w.recoverable)this.trace(E);else{var k=new Error(E);throw k.hash=w,k}},"parseError"),parse:o(function(E){var w=this,k=[0],S=[],A=[null],L=[],I=this.table,N="",C=0,_=0,D=0,M=2,R=1,P=L.slice.call(arguments,1),B=Object.create(this.lexer),F={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(F.yy[G]=this.yy[G]);B.setInput(E,F.yy),F.yy.lexer=B,F.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var $=B.yylloc;L.push($);var V=B.options&&B.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(ke){k.length=k.length-2*ke,A.length=A.length-ke,L.length=L.length-ke}o(X,"popStack");function Q(){var ke;return ke=S.pop()||B.lex()||R,typeof ke!="number"&&(ke instanceof Array&&(S=ke,ke=S.pop()),ke=w.symbols_[ke]||ke),ke}o(Q,"lex");for(var H,ie,Y,le,ee,J,te={},Z,xe,de,Se;;){if(Y=k[k.length-1],this.defaultActions[Y]?le=this.defaultActions[Y]:((H===null||typeof H>"u")&&(H=Q()),le=I[Y]&&I[Y][H]),typeof le>"u"||!le.length||!le[0]){var Me="";Se=[];for(Z in I[Y])this.terminals_[Z]&&Z>M&&Se.push("'"+this.terminals_[Z]+"'");B.showPosition?Me="Parse error on line "+(C+1)+`: `+B.showPosition()+` -Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(S+1)+": Unexpected "+(H==M?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:B.match,token:this.terminals_[H]||H,line:B.yylineno,loc:$,expected:ge})}if(de[0]instanceof Array&&de.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+H);switch(de[0]){case 1:k.push(H),D.push(B.yytext),R.push(B.yylloc),k.push(de[1]),H=null,he?(H=he,he=null):(A=B.yyleng,L=B.yytext,S=B.yylineno,$=B.yylloc,_>0&&_--);break;case 2:if(le=this.productions_[de[1]][1],te.$=D[D.length-le],te._$={first_line:R[R.length-(le||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(le||1)].first_column,last_column:R[R.length-1].last_column},V&&(te._$.range=[R[R.length-(le||1)].range[0],R[R.length-1].range[1]]),ne=this.performAction.apply(te,[L,A,S,F.yy,de[1],D,R].concat(P)),typeof ne<"u")return ne;le&&(k=k.slice(0,-1*le*2),D=D.slice(0,-1*le),R=R.slice(0,-1*le)),k.push(this.productions_[de[1]][0]),D.push(te.$),R.push(te._$),J=O[k[k.length-2]][k[k.length-1]],k.push(J);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:o(function(w,k){if(this.yy.parser)this.yy.parser.parseError(w,k);else throw new Error(w)},"parseError"),setInput:o(function(E,w){return this.yy=w||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var w=E.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),E},"input"),unput:o(function(E){var w=E.length,k=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;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),k.length-1&&(this.yylineno-=k.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:k?(k.length===C.length?this.yylloc.first_column:0)+C[C.length-k.length].length-k[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +Expecting `+Se.join(", ")+", got '"+(this.terminals_[H]||H)+"'":Me="Parse error on line "+(C+1)+": Unexpected "+(H==R?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(Me,{text:B.match,token:this.terminals_[H]||H,line:B.yylineno,loc:$,expected:Se})}if(le[0]instanceof Array&&le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+H);switch(le[0]){case 1:k.push(H),A.push(B.yytext),L.push(B.yylloc),k.push(le[1]),H=null,ie?(H=ie,ie=null):(_=B.yyleng,N=B.yytext,C=B.yylineno,$=B.yylloc,D>0&&D--);break;case 2:if(xe=this.productions_[le[1]][1],te.$=A[A.length-xe],te._$={first_line:L[L.length-(xe||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(xe||1)].first_column,last_column:L[L.length-1].last_column},V&&(te._$.range=[L[L.length-(xe||1)].range[0],L[L.length-1].range[1]]),J=this.performAction.apply(te,[N,_,C,F.yy,le[1],A,L].concat(P)),typeof J<"u")return J;xe&&(k=k.slice(0,-1*xe*2),A=A.slice(0,-1*xe),L=L.slice(0,-1*xe)),k.push(this.productions_[le[1]][0]),A.push(te.$),L.push(te._$),de=I[k[k.length-2]][k[k.length-1]],k.push(de);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:o(function(w,k){if(this.yy.parser)this.yy.parser.parseError(w,k);else throw new Error(w)},"parseError"),setInput:o(function(E,w){return this.yy=w||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var w=E.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),E},"input"),unput:o(function(E){var w=E.length,k=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var S=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),k.length-1&&(this.yylineno-=k.length-1);var A=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:k?(k.length===S.length?this.yylloc.first_column:0)+S[S.length-k.length].length-k[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(E){this.unput(this.match.slice(E))},"less"),pastInput:o(function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var E=this.pastInput(),w=new Array(E.length+1).join("-");return E+this.upcomingInput()+` -`+w+"^"},"showPosition"),test_match:o(function(E,w){var k,C,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))),C=E[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+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,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(E[0].length),this.matched+=E[0],k=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var R in D)this[R]=D[R];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,w,k,C;this._more||(this.yytext="",this.match="");for(var D=this._currentRules(),R=0;Rw[0].length)){if(w=k,C=R,this.options.backtrack_lexer){if(E=this.test_match(k,D[R]),E!==!1)return E;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(E=this.test_match(w,D[C]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var w=this.next();return w||this.lex()},"lex"),begin:o(function(w){this.conditionStack.push(w)},"begin"),popState:o(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:o(function(w){this.begin(w)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(w,k,C,D){var R=D;switch(C){case 0:return w.getLogger().debug("Found block-beta"),10;break;case 1:return w.getLogger().debug("Found id-block"),29;break;case 2:return w.getLogger().debug("Found block"),10;break;case 3:w.getLogger().debug(".",k.yytext);break;case 4:w.getLogger().debug("_",k.yytext);break;case 5:return 5;case 6:return k.yytext=-1,28;break;case 7:return k.yytext=k.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",k.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:w.getLogger().debug("LEX: POPPING STR:",k.yytext),this.popState();break;case 13:return w.getLogger().debug("LEX: STR end:",k.yytext),"STR";break;case 14:return k.yytext=k.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",k.yytext),21;break;case 15:return k.yytext="1",w.getLogger().debug("COLUMNS (LEX)",k.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return w.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return w.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return w.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return w.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return w.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return w.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return w.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),w.getLogger().debug("LEX ARR START"),37;break;case 74:return w.getLogger().debug("Lex: NODE_ID",k.yytext),31;break;case 75:return w.getLogger().debug("Lex: EOF",k.yytext),8;break;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:w.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:w.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return w.getLogger().debug("LEX: NODE_DESCR:",k.yytext),"NODE_DESCR";break;case 83:w.getLogger().debug("LEX POPPING"),this.popState();break;case 84:w.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (right): dir:",k.yytext),"DIR";break;case 86:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (left):",k.yytext),"DIR";break;case 87:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (x):",k.yytext),"DIR";break;case 88:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (y):",k.yytext),"DIR";break;case 89:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (up):",k.yytext),"DIR";break;case 90:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (down):",k.yytext),"DIR";break;case 91:return k.yytext="]>",w.getLogger().debug("Lex (ARROW_DIR end):",k.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 93:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 94:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 95:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 96:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 97:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 98:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return w.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 102:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 103:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 104:return w.getLogger().debug("Lex: COLON",k.yytext),k.yytext=k.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b})();JU.parser=JU;_Se=JU});function fht(t){switch(X.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return X.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function dht(t){switch(X.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function pht(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}var Dc,tW,eW,RSe,LSe,aht,MSe,sht,i8,oht,lht,cht,uht,ISe,rW,p3,hht,NSe,mht,ght,yht,vht,xht,bht,Tht,wht,kht,Sht,Eht,OSe,PSe=I(()=>{"use strict";zM();ti();Qt();gt();wr();ki();Dc=new Map,tW=[],eW=new Map,RSe="color",LSe="fill",aht="bgFill",MSe=",",sht=xe(),i8=new Map,oht=o(t=>nt.sanitizeText(t,sht),"sanitizeText"),lht=o(function(t,e=""){let r=i8.get(t);r||(r={id:t,styles:[],textStyles:[]},i8.set(t,r)),e?.split(MSe).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(RSe).exec(n)){let s=i.replace(LSe,aht).replace(RSe,LSe);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),cht=o(function(t,e=""){let r=Dc.get(t);e!=null&&(r.styles=e.split(MSe))},"addStyle2Node"),uht=o(function(t,e){t.split(",").forEach(function(r){let n=Dc.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},Dc.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),ISe=o((t,e)=>{let r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(let s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&X.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=oht(s.label)),s.type==="classDef"){lht(s.id,s.css);continue}if(s.type==="applyClass"){uht(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&cht(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){let l=(eW.get(s.id)??0)+1;eW.set(s.id,l),s.id=l+"-"+s.id,tW.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);let l=Dc.get(s.id);if(l===void 0?Dc.set(s.id,s):(s.type!=="na"&&(l.type=s.type),s.label!==s.id&&(l.label=s.label)),s.children&&ISe(s.children,s),s.type==="space"){let u=s.width??1;for(let h=0;h{X.debug("Clear called"),Mr(),p3={id:"root",type:"composite",children:[],columns:-1},Dc=new Map([["root",p3]]),rW=[],i8=new Map,tW=[],eW=new Map},"clear");o(fht,"typeStr2Type");o(dht,"edgeTypeStr2Type");o(pht,"edgeStrToEdgeData");NSe=0,mht=o(()=>(NSe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+NSe),"generateId"),ght=o(t=>{p3.children=t,ISe(t,p3),rW=p3.children},"setHierarchy"),yht=o(t=>{let e=Dc.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),vht=o(()=>[...Dc.values()],"getBlocksFlat"),xht=o(()=>rW||[],"getBlocks"),bht=o(()=>tW,"getEdges"),Tht=o(t=>Dc.get(t),"getBlock"),wht=o(t=>{Dc.set(t.id,t)},"setBlock"),kht=o(()=>X,"getLogger"),Sht=o(function(){return i8},"getClasses"),Eht={getConfig:o(()=>tr().block,"getConfig"),typeStr2Type:fht,edgeTypeStr2Type:dht,edgeStrToEdgeData:pht,getLogger:kht,getBlocksFlat:vht,getBlocks:xht,getEdges:bht,setHierarchy:ght,getBlock:Tht,setBlock:wht,getColumns:yht,getClasses:Sht,clear:hht,generateId:mht},OSe=Eht});var a8,Cht,BSe,FSe=I(()=>{"use strict";_o();ey();a8=o((t,e)=>{let r=Ep,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return vs(n,i,a,e)},"fade"),Cht=o(t=>`.label { +`+w+"^"},"showPosition"),test_match:o(function(E,w){var k,S,A;if(this.options.backtrack_lexer&&(A={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&&(A.yylloc.range=this.yylloc.range.slice(0))),S=E[0].match(/(?:\r\n?|\n).*/g),S&&(this.yylineno+=S.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:S?S[S.length-1].length-S[S.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,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(E[0].length),this.matched+=E[0],k=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var L in A)this[L]=A[L];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,w,k,S;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),L=0;Lw[0].length)){if(w=k,S=L,this.options.backtrack_lexer){if(E=this.test_match(k,A[L]),E!==!1)return E;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(E=this.test_match(w,A[S]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var w=this.next();return w||this.lex()},"lex"),begin:o(function(w){this.conditionStack.push(w)},"begin"),popState:o(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:o(function(w){this.begin(w)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(w,k,S,A){var L=A;switch(S){case 0:return w.getLogger().debug("Found block-beta"),10;break;case 1:return w.getLogger().debug("Found id-block"),29;break;case 2:return w.getLogger().debug("Found block"),10;break;case 3:w.getLogger().debug(".",k.yytext);break;case 4:w.getLogger().debug("_",k.yytext);break;case 5:return 5;case 6:return k.yytext=-1,28;break;case 7:return k.yytext=k.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",k.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:w.getLogger().debug("LEX: POPPING STR:",k.yytext),this.popState();break;case 13:return w.getLogger().debug("LEX: STR end:",k.yytext),"STR";break;case 14:return k.yytext=k.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",k.yytext),21;break;case 15:return k.yytext="1",w.getLogger().debug("COLUMNS (LEX)",k.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return w.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return w.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return w.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return w.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return w.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return w.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return w.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),w.getLogger().debug("LEX ARR START"),37;break;case 74:return w.getLogger().debug("Lex: NODE_ID",k.yytext),31;break;case 75:return w.getLogger().debug("Lex: EOF",k.yytext),8;break;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:w.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:w.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return w.getLogger().debug("LEX: NODE_DESCR:",k.yytext),"NODE_DESCR";break;case 83:w.getLogger().debug("LEX POPPING"),this.popState();break;case 84:w.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (right): dir:",k.yytext),"DIR";break;case 86:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (left):",k.yytext),"DIR";break;case 87:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (x):",k.yytext),"DIR";break;case 88:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (y):",k.yytext),"DIR";break;case 89:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (up):",k.yytext),"DIR";break;case 90:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (down):",k.yytext),"DIR";break;case 91:return k.yytext="]>",w.getLogger().debug("Lex (ARROW_DIR end):",k.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 93:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 94:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 95:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 96:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 97:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 98:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return w.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 102:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 103:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 104:return w.getLogger().debug("Lex: COLON",k.yytext),k.yytext=k.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b})();pW.parser=pW;gSe=pW});function ndt(t){switch(K.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return K.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function idt(t){switch(K.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function adt(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}var Bc,gW,mW,vSe,xSe,Kft,TSe,Qft,y_,Zft,Jft,edt,tdt,wSe,yW,S3,rdt,bSe,sdt,odt,ldt,cdt,udt,hdt,fdt,ddt,pdt,mdt,gdt,kSe,ESe=O(()=>{"use strict";rI();$r();jt();xt();Ur();si();Bc=new Map,gW=[],mW=new Map,vSe="color",xSe="fill",Kft="bgFill",TSe=",",Qft=ve(),y_=new Map,Zft=o(t=>st.sanitizeText(t,Qft),"sanitizeText"),Jft=o(function(t,e=""){let r=y_.get(t);r||(r={id:t,styles:[],textStyles:[]},y_.set(t,r)),e?.split(TSe).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(vSe).exec(n)){let s=i.replace(xSe,Kft).replace(vSe,xSe);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),edt=o(function(t,e=""){let r=Bc.get(t);e!=null&&(r.styles=e.split(TSe))},"addStyle2Node"),tdt=o(function(t,e){t.split(",").forEach(function(r){let n=Bc.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},Bc.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),wSe=o((t,e)=>{let r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(let s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&K.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=Zft(s.label)),s.type==="classDef"){Jft(s.id,s.css);continue}if(s.type==="applyClass"){tdt(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&edt(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){let l=(mW.get(s.id)??0)+1;mW.set(s.id,l),s.id=l+"-"+s.id,gW.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);let l=Bc.get(s.id);if(l===void 0?Bc.set(s.id,s):(s.type!=="na"&&(l.type=s.type),s.label!==s.id&&(l.label=s.label)),s.children&&wSe(s.children,s),s.type==="space"){let u=s.width??1;for(let h=0;h{K.debug("Clear called"),_r(),S3={id:"root",type:"composite",children:[],columns:-1},Bc=new Map([["root",S3]]),yW=[],y_=new Map,gW=[],mW=new Map},"clear");o(ndt,"typeStr2Type");o(idt,"edgeTypeStr2Type");o(adt,"edgeStrToEdgeData");bSe=0,sdt=o(()=>(bSe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+bSe),"generateId"),odt=o(t=>{S3.children=t,wSe(t,S3),yW=S3.children},"setHierarchy"),ldt=o(t=>{let e=Bc.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),cdt=o(()=>[...Bc.values()],"getBlocksFlat"),udt=o(()=>yW||[],"getBlocks"),hdt=o(()=>gW,"getEdges"),fdt=o(t=>Bc.get(t),"getBlock"),ddt=o(t=>{Bc.set(t.id,t)},"setBlock"),pdt=o(()=>K,"getLogger"),mdt=o(function(){return y_},"getClasses"),gdt={getConfig:o(()=>Zt().block,"getConfig"),typeStr2Type:ndt,edgeTypeStr2Type:idt,edgeStrToEdgeData:adt,getLogger:pdt,getBlocksFlat:cdt,getBlocks:udt,getEdges:hdt,setHierarchy:odt,getBlock:fdt,setBlock:ddt,getColumns:ldt,getClasses:mdt,clear:rdt,generateId:sdt},kSe=gdt});var vW,ydt,SSe,CSe=O(()=>{"use strict";Ys();ly();vW=o((t,e)=>{let r=_p,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return bs(n,i,a,e)},"fade"),ydt=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -2677,6 +2744,17 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error .edgeLabel { background-color: ${t.edgeLabelBackground}; + /* + * This is for backward compatibility with existing code that didn't + * add a \`

    \` around edge labels. + * + * TODO: We should probably remove this in a future release. + */ + p { + margin: 0; + padding: 0; + display: inline; + } rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; @@ -2687,14 +2765,13 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error /* For html labels only */ .labelBkg { - background-color: ${a8(t.edgeLabelBackground,.5)}; - // background-color: + background-color: ${t.edgeLabelBackground}; } .node .cluster { - // fill: ${a8(t.mainBkg,.5)}; - fill: ${a8(t.clusterBkg,.5)}; - stroke: ${a8(t.clusterBorder,.2)}; + // fill: ${vW(t.mainBkg,.5)}; + fill: ${vW(t.clusterBkg,.5)}; + stroke: ${vW(t.clusterBorder,.2)}; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; stroke-width: 1px; } @@ -2729,11 +2806,11 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error font-size: 18px; fill: ${t.textColor}; } - ${Su()} -`,"getStyles"),BSe=Cht});var Aht,_ht,Dht,Rht,Lht,Nht,Mht,Iht,Oht,Pht,Bht,$Se,zSe=I(()=>{"use strict";gt();Aht=o((t,e,r,n)=>{e.forEach(i=>{Bht[i](t,r,n)})},"insertMarkers"),_ht=o((t,e,r)=>{X.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),Dht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Rht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Lht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Nht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Mht=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Iht=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+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",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Oht=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+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",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Pht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Bht={extension:_ht,composition:Dht,aggregation:Rht,dependency:Lht,lollipop:Nht,point:Mht,circle:Iht,cross:Oht,barb:Pht},$Se=Aht});function Fht(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function nW(t,e,r=0,n=0){X.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)nW(m,e);let s=$ht(t);i=s.width,a=s.height,X.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(X.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+Oi*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,X.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)nW(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*Oi-Oi)/m;X.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}X.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function GSe(t,e){X.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(X.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Oi;X.debug("widthOfChildren 88",i,"posX");let a=0;X.debug("abc91 block?.size?.x",t.id,t?.size?.x);let s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Oi,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=Fht(r,a);if(m!=l&&(l=m,s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Oi,X.debug("New row in layout for block",t.id," and child ",u.id,l)),X.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${Oi}`),h.size){let y=f/2;u.size.x=s+Oi+y,X.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${u.size.x} ${y} padding=${Oi} width=${f} halfWidth=${y} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),s=u.size.x+y,u.size.y=h.size.y-h.size.height/2+m*(d+Oi)+d/2+Oi,X.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${Oi}${y}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&GSe(u,e);let g=u?.widthInColumns??1;r>0&&(g=Math.min(g,r-a%r)),a+=g,X.debug("abc88 columnsPos",u,a)}}X.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function VSe(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),s+u/2>i&&(i=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=VSe(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function qSe(t){let e=t.getBlock("root");if(!e)return;nW(e,t,0,0),GSe(e,t),X.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=VSe(e),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}var Oi,$ht,USe=I(()=>{"use strict";gt();Qt();Oi=xe()?.block?.padding??8;o(Fht,"calculateBlockPosition");$ht=o(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};X.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(t.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(nW,"setBlockSizes");o(GSe,"layoutBlocks");o(VSe,"findBounds");o(qSe,"layout")});function WSe(t,e){e&&t.attr("style",e)}function zht(t,e){let r=He(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=r.append("xhtml:div"),i=t.label,a=t.isNode?"nodeLabel":"edgeLabel",s=n.append("span");return s.html(fr(i,e)),WSe(s,t.labelStyle),s.attr("class",a),WSe(n,t.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),r.node()}var Ght,Ws,s8=I(()=>{"use strict";kr();Qt();wr();gt();yl();sr();o(WSe,"applyStyle");o(zht,"addHtmlLabel");Ght=o(async(t,e,r,n)=>{let i=t||"";typeof i=="object"&&(i=i[0]);let a=xe();if(Sr(a.flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),X.debug("vertexText"+i);let s=await ZN(ga(i)),l={isNode:n,label:s,labelStyle:e.replace("fill:","color:")};return zht(l,a)}else{let s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",e.replace("color:","fill:"));let l=[];typeof i=="string"?l=i.split(/\\n|\n|/gi):Array.isArray(i)?l=i:l=[];for(let u of l){let h=document.createElementNS("http://www.w3.org/2000/svg","tspan");h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),h.setAttribute("dy","1em"),h.setAttribute("x","0"),r?h.setAttribute("class","title-row"):h.setAttribute("class","row"),h.textContent=u.trim(),s.appendChild(h)}return s}},"createLabel"),Ws=Ght});var YSe,Vht,HSe,jSe=I(()=>{"use strict";gt();YSe=o((t,e,r,n,i)=>{e.arrowTypeStart&&HSe(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&HSe(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Vht={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},HSe=o((t,e,r,n,i,a)=>{let s=Vht[r];if(!s){X.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function o8(t,e){xe().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var iW,ms,KSe,QSe,qht,Uht,XSe,ZSe,JSe=I(()=>{"use strict";gt();s8();yl();kr();Qt();sr();wr();kM();ab();jSe();iW={},ms={},KSe=o(async(t,e)=>{let r=xe(),n=Sr(r.flowchart.htmlLabels),i=e.labelType==="markdown"?Ai(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):await Ws(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(i);let l=i.getBBox();if(n){let h=i.children[0],f=He(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),iW[e.id]=a,e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=await Ws(e.startLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),ms[e.id]||(ms[e.id]={}),ms[e.id].startLeft=f,o8(u,e.startLabelLeft)}if(e.startLabelRight){let h=await Ws(e.startLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),ms[e.id]||(ms[e.id]={}),ms[e.id].startRight=f,o8(u,e.startLabelRight)}if(e.endLabelLeft){let h=await Ws(e.endLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),ms[e.id]||(ms[e.id]={}),ms[e.id].endLeft=f,o8(u,e.endLabelLeft)}if(e.endLabelRight){let h=await Ws(e.endLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),ms[e.id]||(ms[e.id]={}),ms[e.id].endRight=f,o8(u,e.endLabelRight)}return i},"insertEdgeLabel");o(o8,"setTerminalWidth");QSe=o((t,e)=>{X.debug("Moving label abc88 ",t.id,t.label,iW[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=xe(),{subGraphTitleTotalMargin:i}=Eh(n);if(t.label){let a=iW[t.id],s=t.x,l=t.y;if(r){let u=jt.calcLabelPosition(r);X.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=ms[t.id].startLeft,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=ms[t.id].startRight,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=ms[t.id].endLeft,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=ms[t.id].endRight,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),qht=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),Uht=o((t,e,r)=>{X.debug(`intersection calc abc89: + ${Lu()} +`,"getStyles"),SSe=ydt});var vdt,xdt,bdt,Tdt,wdt,kdt,Edt,Sdt,Cdt,Adt,_dt,ASe,_Se=O(()=>{"use strict";xt();vdt=o((t,e,r,n)=>{e.forEach(i=>{_dt[i](t,r,n)})},"insertMarkers"),xdt=o((t,e,r)=>{K.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),bdt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Tdt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),wdt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),kdt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Edt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Sdt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+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",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Cdt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+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",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Adt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),_dt={extension:xdt,composition:bdt,aggregation:Tdt,dependency:wdt,lollipop:kdt,point:Edt,circle:Sdt,cross:Cdt,barb:Adt},ASe=vdt});function DSe(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function xW(t,e,r=0,n=0){K.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)xW(m,e);let s=Ddt(t);i=s.width,a=s.height,K.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(K.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+$i*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,K.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)xW(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*$i-$i)/m;K.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}K.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function RSe(t,e){K.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(K.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*$i;K.debug("widthOfChildren 88",i,"posX");let a=new Map;{let f=0;for(let d of t.children){if(!d.size)continue;let{py:p}=DSe(r,f),m=a.get(p)??0;d.size.height>m&&a.set(p,d.size.height);let g=d?.widthInColumns??1;r>0&&(g=Math.min(g,r-f%r)),f+=g}}let s=new Map;{let f=0,d=[...a.keys()].sort((p,m)=>p-m);for(let p of d)s.set(p,f),f+=(a.get(p)??0)+$i}let l=0;K.debug("abc91 block?.size?.x",t.id,t?.size?.x);let u=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-$i,h=0;for(let f of t.children){let d=t;if(!f.size)continue;let{width:p,height:m}=f.size,{px:g,py:y}=DSe(r,l);if(y!=h&&(h=y,u=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-$i,K.debug("New row in layout for block",t.id," and child ",f.id,h)),K.debug(`abc89 layout blocks (child) id: ${f.id} Pos: ${l} (px, py) ${g},${y} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${p}${$i}`),d.size){let x=p/2;f.size.x=u+$i+x,K.debug(`abc91 layout blocks (calc) px, pyid:${f.id} startingPos=X${u} new startingPosX${f.size.x} ${x} padding=${$i} width=${p} halfWidth=${x} => x:${f.size.x} y:${f.size.y} ${f.widthInColumns} (width * (child?.w || 1)) / 2 ${p*(f?.widthInColumns??1)/2}`),u=f.size.x+x;let b=s.get(y)??0,T=a.get(y)??m;f.size.y=d.size.y-d.size.height/2+b+T/2+$i,K.debug(`abc88 layout blocks (calc) px, pyid:${f.id}startingPosX${u}${$i}${x}=>x:${f.size.x}y:${f.size.y}${f.widthInColumns}(width * (child?.w || 1)) / 2${p*(f?.widthInColumns??1)/2}`)}f.children&&RSe(f,e);let v=f?.widthInColumns??1;r>0&&(v=Math.min(v,r-l%r)),l+=v,K.debug("abc88 columnsPos",f,l)}}K.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function LSe(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),s+u/2>i&&(i=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=LSe(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function NSe(t){let e=t.getBlock("root");if(!e)return;xW(e,t,0,0),RSe(e,t),K.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=LSe(e),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}var $i,Ddt,MSe=O(()=>{"use strict";xt();jt();$i=ve()?.block?.padding??8;o(DSe,"calculateBlockPosition");Ddt=o(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};K.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(xW,"setBlockSizes");o(RSe,"layoutBlocks");o(LSe,"findBounds");o(NSe,"layout")});var Rdt,Lo,v_=O(()=>{"use strict";$r();jt();co();Rdt=o(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);let s=ve(),l=Sr(s);return await Fn(t,a,{style:r,isTitle:n,useHtmlLabels:l,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),Lo=Rdt});var OSe,Ldt,ISe,PSe=O(()=>{"use strict";xt();OSe=o((t,e,r,n,i)=>{e.arrowTypeStart&&ISe(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&ISe(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Ldt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},ISe=o((t,e,r,n,i,a)=>{let s=Ldt[r];if(!s){K.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function x_(t,e){Sr(ve())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var bW,ys,FSe,$Se,Ndt,Mdt,BSe,zSe,GSe=O(()=>{"use strict";xt();v_();co();BM();Ar();jt();$r();ar();Ur();$M();gb();PSe();bW={},ys={},FSe=o(async(t,e)=>{let r=ve(),n=Sr(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",l=await Fn(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(l);let u=l.getBBox(),h=u;if(n){let d=l.children[0],p=je(l);u=d.getBoundingClientRect(),h=u,p.attr("width",u.width),p.attr("height",u.height)}else{let d=je(l).select("text").node();d&&typeof d.getBBox=="function"&&(h=d.getBBox())}a.attr("transform",Cl(h,n)),bW[e.id]=i,e.width=u.width,e.height=u.height;let f;if(e.startLabelLeft){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Lo(p,e.startLabelLeft,e.labelStyle);f=m;let g=m.getBBox();if(n){let y=m.children[0],v=je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Cl(g,n)),ys[e.id]||(ys[e.id]={}),ys[e.id].startLeft=d,x_(f,e.startLabelLeft)}if(e.startLabelRight){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Lo(d,e.startLabelRight,e.labelStyle);f=m,p.node().appendChild(m);let g=m.getBBox();if(n){let y=m.children[0],v=je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Cl(g,n)),ys[e.id]||(ys[e.id]={}),ys[e.id].startRight=d,x_(f,e.startLabelRight)}if(e.endLabelLeft){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Lo(p,e.endLabelLeft,e.labelStyle);f=m;let g=m.getBBox();if(n){let y=m.children[0],v=je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Cl(g,n)),d.node().appendChild(m),ys[e.id]||(ys[e.id]={}),ys[e.id].endLeft=d,x_(f,e.endLabelLeft)}if(e.endLabelRight){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Lo(p,e.endLabelRight,e.labelStyle);f=m;let g=m.getBBox();if(n){let y=m.children[0],v=je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Cl(g,n)),d.node().appendChild(m),ys[e.id]||(ys[e.id]={}),ys[e.id].endRight=d,x_(f,e.endLabelRight)}return l},"insertEdgeLabel");o(x_,"setTerminalWidth");$Se=o((t,e)=>{K.debug("Moving label abc88 ",t.id,t.label,bW[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=ve(),{subGraphTitleTotalMargin:i}=Lh(n);if(t.label){let a=bW[t.id],s=t.x,l=t.y;if(r){let u=Xt.calcLabelPosition(r);K.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=ys[t.id].startLeft,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=ys[t.id].startRight,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=ys[t.id].endLeft,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=ys[t.id].endRight,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),Ndt=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),Mdt=o((t,e,r)=>{K.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{X.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!qht(e,a)&&!i){let s=Uht(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),ZSe=o(function(t,e,r,n,i,a,s){let l=r.points;X.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(X.debug("to cluster abc88",n[r.toCluster]),l=XSe(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(X.debug("from cluster abc88",n[r.fromCluster]),l=XSe(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(E=>!Number.isNaN(E.y)),p=cl;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=Xk(r),y=ac().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(xe().flowchart.arrowMarkerAbsolute||xe().state.arrowMarkerAbsolute)&&(b=Np(!0)),YSe(x,r,b,s,i);let T={};return u&&(T.updatedPath=l),T.originalPath=r.points,T},"insertEdge")});var Wht,eEe,tEe=I(()=>{"use strict";Wht=o(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),eEe=o((t,e,r)=>{let n=Wht(t),i=2,a=e.height+2*r.padding,s=a/i,l=e.width+2*s+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function Hht(t,e){return t.intersect(e)}var rEe,nEe=I(()=>{"use strict";o(Hht,"intersectNode");rEe=Hht});function Yht(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(Yht,"intersectEllipse");l8=Yht});function jht(t,e,r){return l8(t,e,e,r)}var iEe,aEe=I(()=>{"use strict";aW();o(jht,"intersectCircle");iEe=jht});function Xht(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&sEe(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&sEe(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function sEe(t,e){return t*e>0}var oEe,lEe=I(()=>{"use strict";o(Xht,"intersectLine");o(sEe,"sameSign");oEe=Xht});function Kht(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-s,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),T=y.x-r.x,E=y.y-r.y,w=Math.sqrt(T*T+E*E);return b{"use strict";lEe();cEe=Kht;o(Kht,"intersectPolygon")});var Qht,hEe,fEe=I(()=>{"use strict";Qht=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),hEe=Qht});var jn,sW=I(()=>{"use strict";nEe();aEe();aW();uEe();fEe();jn={node:rEe,circle:iEe,ellipse:l8,polygon:cEe,rect:hEe}});function Rc(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+")")}var Wi,fi,oW=I(()=>{"use strict";s8();yl();Qt();kr();wr();sr();Wi=o(async(t,e,r,n)=>{let i=xe(),a,s=e.useHtmlLabels||Sr(i.flowchart.htmlLabels);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f=u.node(),d;e.labelType==="markdown"?d=Ai(u,fr(ga(h),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=f.appendChild(await Ws(fr(ga(h),i),e.labelStyle,!1,n));let p=d.getBBox(),m=e.padding/2;if(Sr(i.flowchart.htmlLabels)){let g=d.children[0],y=He(d),v=g.getElementsByTagName("img");if(v){let x=h.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(b=>new Promise(T=>{function E(){if(b.style.display="flex",b.style.flexDirection="column",x){let w=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,C=parseInt(w,10)*5+"px";b.style.minWidth=C,b.style.maxWidth=C}else b.style.width="100%";T(b)}o(E,"setupImage"),setTimeout(()=>{b.complete&&E()}),b.addEventListener("error",E),b.addEventListener("load",E)})))}p=g.getBoundingClientRect(),y.attr("width",p.width),y.attr("height",p.height)}return s?u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):u.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:p,halfPadding:m,label:u}},"labelHelper"),fi=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(Rc,"insertPolygonShape")});var Zht,dEe,pEe=I(()=>{"use strict";oW();gt();Qt();sW();Zht=o(async(t,e)=>{e.useHtmlLabels||xe().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await Wi(t,e,"node "+e.classes,!0);X.info("Classes = ",e.classes);let s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),fi(e,s),e.intersect=function(l){return jn.rect(e,l)},n},"note"),dEe=Zht});function lW(t,e,r,n){let i=[],a=o(l=>{i.push(l,0)},"addBorder"),s=o(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(X.debug("add top border"),a(r)):s(r),e.includes("r")?(X.debug("add right border"),a(n)):s(n),e.includes("b")?(X.debug("add bottom border"),a(r)):s(r),e.includes("l")?(X.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}var mEe,Zo,gEe,Jht,eft,tft,rft,nft,ift,aft,sft,oft,lft,cft,uft,hft,fft,dft,pft,mft,gft,yft,yEe,vft,xft,vEe,c8,cW,xEe,bEe=I(()=>{"use strict";kr();Qt();wr();gt();tEe();s8();sW();pEe();oW();mEe=o(t=>t?" "+t:"","formatClass"),Zo=o((t,e)=>`${e||"node default"}${mEe(t.classes)} ${mEe(t.class)}`,"getClassesFromNode"),gEe=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];X.info("Question main (Circle)");let u=Rc(r,s,s,l);return u.attr("style",e.style),fi(e,u),e.intersect=function(h){return X.warn("Intersect called"),jn.polygon(e,l,h)},r},"question"),Jht=o((t,e)=>{let 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(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return jn.circle(e,14,s)},r},"choice"),eft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,l=n.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=Rc(r,l,a,u);return h.attr("style",e.style),fi(e,h),e.intersect=function(f){return jn.polygon(e,u,f)},r},"hexagon"),tft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,l=n.width+2*s+e.padding,u=eEe(e.directions,n,e),h=Rc(r,l,a,u);return h.attr("style",e.style),fi(e,h),e.intersect=function(f){return jn.polygon(e,u,f)},r},"block_arrow"),rft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Rc(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return jn.polygon(e,s,u)},r},"rect_left_inv_arrow"),nft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"lean_right"),ift=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"lean_left"),aft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"trapezoid"),sft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"inv_trapezoid"),oft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"rect_right_inv_arrow"),lft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return fi(e,h),e.intersect=function(f){let d=jn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),cft=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Wi(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(lW(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{X.warn(`Unknown node property ${d}`)})}return fi(e,a),e.intersect=function(f){return jn.rect(e,f)},r},"rect"),uft=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Wi(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(lW(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{X.warn(`Unknown node property ${d}`)})}return fi(e,a),e.intersect=function(f){return jn.rect(e,f)},r},"composite"),hft=o(async(t,e)=>{let{shapeSvg:r}=await Wi(t,e,"label",!0);X.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let s=new Set(Object.keys(e.props));e.props.borders&&(lW(n,e.props.borders,i,a),s.delete("borders")),s.forEach(l=>{X.warn(`Unknown node property ${l}`)})}return fi(e,n),e.intersect=function(s){return jn.rect(e,s)},r},"labelRect");o(lW,"applyNodePropertyBorders");fft=o(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,X.info("Label text abc79",u,l,typeof l=="object");let h=s.node().appendChild(await Ws(u,e.labelStyle,!0,!0)),f={width:0,height:0};if(Sr(xe().flowchart.htmlLabels)){let y=h.children[0],v=He(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}X.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=s.node().appendChild(await Ws(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(Sr(xe().flowchart.htmlLabels)){let y=m.children[0],v=He(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return He(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),He(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return fi(e,s),e.intersect=function(l){return jn.rect(e,l)},r},"stadium"),pft=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Wi(t,e,Zo(e,void 0),!0),a=r.insert("circle",":first-child");return a.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),X.info("Circle main"),fi(e,a),e.intersect=function(s){return X.info("Circle intersect",e,n.width/2+i,s),jn.circle(e,n.width/2+i,s)},r},"circle"),mft=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Wi(t,e,Zo(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.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),X.info("DoubleCircle main"),fi(e,l),e.intersect=function(h){return X.info("DoubleCircle intersect",e,n.width/2+i+a,h),jn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),gft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"subroutine"),yft=o((t,e)=>{let 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),fi(e,n),e.intersect=function(i){return jn.circle(e,7,i)},r},"start"),yEe=o((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return fi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return jn.rect(e,l)},n},"forkJoin"),vft=o((t,e)=>{let 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),fi(e,i),e.intersect=function(a){return jn.circle(e,7,a)},r},"end"),xft=o(async(t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=n,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=p.node().appendChild(await Ws(y,e.labelStyle,!0,!0)),x=v.getBBox();if(Sr(xe().flowchart.htmlLabels)){let D=v.children[0],R=He(v);x=D.getBoundingClientRect(),R.attr("width",x.width),R.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(xe().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let T=p.node().appendChild(await Ws(b,e.labelStyle,!0,!0));He(T).attr("class","classTitle");let E=T.getBBox();if(Sr(xe().flowchart.htmlLabels)){let D=T.children[0],R=He(T);E=D.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}d+=E.height+n,E.width>f&&(f=E.width);let w=[];e.classData.members.forEach(async D=>{let R=D.getDisplayDetails(),O=R.displayText;xe().flowchart.htmlLabels&&(O=O.replace(//g,">"));let L=p.node().appendChild(await Ws(O,R.cssStyle?R.cssStyle:e.labelStyle,!0,!0)),S=L.getBBox();if(Sr(xe().flowchart.htmlLabels)){let A=L.children[0],_=He(L);S=A.getBoundingClientRect(),_.attr("width",S.width),_.attr("height",S.height)}S.width>f&&(f=S.width),d+=S.height+n,w.push(L)}),d+=i;let k=[];if(e.classData.methods.forEach(async D=>{let R=D.getDisplayDetails(),O=R.displayText;xe().flowchart.htmlLabels&&(O=O.replace(//g,">"));let L=p.node().appendChild(await Ws(O,R.cssStyle?R.cssStyle:e.labelStyle,!0,!0)),S=L.getBBox();if(Sr(xe().flowchart.htmlLabels)){let A=L.children[0],_=He(L);S=A.getBoundingClientRect(),_.attr("width",S.width),_.attr("height",S.height)}S.width>f&&(f=S.width),d+=S.height+n,k.push(L)}),d+=i,g){let D=(f-x.width)/2;He(v).attr("transform","translate( "+(-1*f/2+D)+", "+-1*d/2+")"),m=x.height+n}let C=(f-E.width)/2;return He(T).attr("transform","translate( "+(-1*f/2+C)+", "+(-1*d/2+m)+")"),m+=E.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,w.forEach(D=>{He(D).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let R=D?.getBBox();m+=(R?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,k.forEach(D=>{He(D).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let R=D?.getBBox();m+=(R?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),fi(e,l),e.intersect=function(D){return jn.rect(e,D)},s},"class_box"),vEe={rhombus:gEe,composite:uft,question:gEe,rect:cft,labelRect:hft,rectWithTitle:fft,choice:Jht,circle:pft,doublecircle:mft,stadium:dft,hexagon:eft,block_arrow:tft,rect_left_inv_arrow:rft,lean_right:nft,lean_left:ift,trapezoid:aft,inv_trapezoid:sft,rect_right_inv_arrow:oft,cylinder:lft,start:yft,end:vft,note:dEe,subroutine:gft,fork:yEe,join:yEe,class_box:xft},c8={},cW=o(async(t,e,r)=>{let n,i;if(e.link){let a;xe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await vEe[e.shape](n,e,r)}else i=await vEe[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),c8[e.id]=n,e.haveCallback&&c8[e.id].attr("class",c8[e.id].attr("class")+" clickable"),n},"insertNode"),xEe=o(t=>{let e=c8[t.id];X.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let 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},"positionNode")});function TEe(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=mN(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??tr()?.block?.padding??0}}async function bft(t,e,r){let n=TEe(e,r,!1);if(n.type==="group")return;let i=tr(),a=await cW(t,n,{config:i}),s=a.node().getBBox(),l=r.getBlock(n.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function Tft(t,e,r){let n=TEe(e,r,!0);if(r.getBlock(n.id).type!=="space"){let a=tr();await cW(t,n,{config:a}),e.intersect=n?.intersect,xEe(n)}}async function uW(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await uW(t,i.children,r,n)}async function wEe(t,e,r){await uW(t,e,r,bft)}async function kEe(t,e,r){await uW(t,e,r,Tft)}async function SEe(t,e,r,n,i){let a=new vn({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=n.getBlock(s.start),u=n.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];ZSe(t,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await KSe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),QSe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var EEe=I(()=>{"use strict";wl();ti();JSe();bEe();sr();o(TEe,"getNodeFromBlock");o(bft,"calculateBlockSize");o(Tft,"insertBlockPositioned");o(uW,"performOperations");o(wEe,"calculateBlockSizes");o(kEe,"insertBlocks");o(SEe,"insertEdges")});var wft,kft,CEe,AEe=I(()=>{"use strict";kr();ti();zSe();gt();Fi();USe();EEe();wft=o(function(t,e){return e.db.getClasses()},"getClasses"),kft=o(async function(t,e,r,n){let{securityLevel:i,block:a}=tr(),s=n.db,l;i==="sandbox"&&(l=He("#i"+e));let u=i==="sandbox"?He(l.nodes()[0].contentDocument.body):He("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):He(`[id="${e}"]`);$Se(h,["point","circle","cross"],n.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await wEe(g,d,s);let y=qSe(s);if(await kEe(g,d,s),await SEe(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,T=v.width+10,{useMaxWidth:E}=a;Sn(h,b,T,!!E),X.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),CEe={draw:kft,getClasses:wft}});var _Ee={};vr(_Ee,{diagram:()=>Sft});var Sft,DEe=I(()=>{"use strict";DSe();PSe();FSe();AEe();Sft={parser:_Se,db:OSe,renderer:CEe,styles:BSe}});var hW,fW,m3,NEe,dW,gs,Hu,g3,MEe,_ft,y3,IEe,OEe,PEe,BEe,FEe,u8,vp,h8=I(()=>{"use strict";hW={L:"left",R:"right",T:"top",B:"bottom"},fW={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},m3={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},NEe=o(function(t){return gs(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),dW=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),gs=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),Hu=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),g3=o(function(t,e){let r=gs(t)&&Hu(e),n=Hu(t)&&gs(e);return r||n},"isArchitectureDirectionXY"),MEe=o(function(t){let e=t[0],r=t[1],n=gs(e)&&Hu(r),i=Hu(e)&&gs(r);return n||i},"isArchitecturePairXY"),_ft=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),y3=o(function(t,e){let r=`${t}${e}`;return _ft(r)?r:void 0},"getArchitectureDirectionPair"),IEe=o(function([t,e],r){let n=r[0],i=r[1];return gs(n)?Hu(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:gs(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),OEe=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),PEe=o(function(t,e){return g3(t,e)?"bend":gs(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),BEe=o(function(t){return t.type==="service"},"isArchitectureService"),FEe=o(function(t){return t.type==="junction"},"isArchitectureJunction"),u8=o(t=>t.data(),"edgeData"),vp=o(t=>t.data(),"nodeData")});var Dft,Vv,pW=I(()=>{"use strict";ti();Ka();sr();ki();h8();Dft=gr.architecture,Vv=class{constructor(){this.nodes={};this.groups={};this.edges=[];this.registeredIds={};this.elements={};this.setAccTitle=zr;this.getAccTitle=Vr;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getAccDescription=Ur;this.setAccDescription=qr;this.clear()}static{o(this,"ArchitectureDB")}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},Mr()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(BEe)}addJunction({id:e,in:r}){this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(FEe)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:l,rhsGroup:u,title:h}){if(!dW(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!dW(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);let f=this.nodes[e].in,d=this.nodes[r].in;if(l&&f&&d&&f==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(u&&f&&d&&f==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let p={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:l,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:u,title:h};this.edges.push(p),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let e={},r=Object.entries(this.nodes).reduce((u,[h,f])=>(u[h]=f.edges.reduce((d,p)=>{let m=this.getNode(p.lhsId)?.in,g=this.getNode(p.rhsId)?.in;if(m&&g&&m!==g){let y=PEe(p.lhsDir,p.rhsDir);y!=="bend"&&(e[m]??={},e[m][g]=y,e[g]??={},e[g][m]=y)}if(p.lhsId===h){let y=y3(p.lhsDir,p.rhsDir);y&&(d[y]=p.rhsId)}else{let y=y3(p.rhsDir,p.lhsDir);y&&(d[y]=p.lhsId)}return d},{}),u),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((u,h)=>h===n?u:{...u,[h]:1},{}),s=o(u=>{let h={[u]:[0,0]},f=[u];for(;f.length>0;){let d=f.shift();if(d){i[d]=1,delete a[d];let p=r[d],[m,g]=h[d];Object.entries(p).forEach(([y,v])=>{i[v]||(h[v]=IEe([m,g],y),f.push(v))})}}return h},"BFS"),l=[s(n)];for(;Object.keys(a).length>0;)l.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:l,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Qn({...Dft,...tr().architecture})}getConfigField(e){return this.getConfig()[e]}}});var Rft,mW,$Ee=I(()=>{"use strict";sp();gt();$m();pW();Rft=o((t,e)=>{Pl(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),mW={parser:{yy:void 0},parse:o(async t=>{let e=await Vs("architecture",t);X.debug(e);let r=mW.parser?.yy;if(!(r instanceof Vv))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Rft(e,r)},"parse")}});var Lft,zEe,GEe=I(()=>{"use strict";Lft=o(t=>` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{K.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!Ndt(e,a)&&!i){let s=Mdt(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),zSe=o(function(t,e,r,n,i,a,s){let l=r.points;K.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(K.debug("to cluster abc88",n[r.toCluster]),l=BSe(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(K.debug("from cluster abc88",n[r.fromCluster]),l=BSe(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(E=>!Number.isNaN(E.y)),p=fc;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=cE(r),y=hc().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(ve().flowchart.arrowMarkerAbsolute||ve().state.arrowMarkerAbsolute)&&(b=Op(!0)),OSe(x,r,b,s,i);let T={};return u&&(T.updatedPath=l),T.originalPath=r.points,T},"insertEdge")});var Idt,VSe,qSe=O(()=>{"use strict";Idt=o(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),VSe=o((t,e,r)=>{let n=Idt(t),i=2,a=e.height+2*r.padding,s=a/i,l=e.width+2*s+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function Odt(t,e){return t.intersect(e)}var USe,WSe=O(()=>{"use strict";o(Odt,"intersectNode");USe=Odt});function Pdt(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(Pdt,"intersectEllipse");b_=Pdt});function Bdt(t,e,r){return b_(t,e,e,r)}var HSe,YSe=O(()=>{"use strict";TW();o(Bdt,"intersectCircle");HSe=Bdt});function Fdt(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&jSe(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&jSe(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function jSe(t,e){return t*e>0}var XSe,KSe=O(()=>{"use strict";o(Fdt,"intersectLine");o(jSe,"sameSign");XSe=Fdt});function $dt(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-s,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),T=y.x-r.x,E=y.y-r.y,w=Math.sqrt(T*T+E*E);return b{"use strict";KSe();QSe=$dt;o($dt,"intersectPolygon")});var zdt,JSe,eCe=O(()=>{"use strict";zdt=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),JSe=zdt});var Zn,wW=O(()=>{"use strict";WSe();YSe();TW();ZSe();eCe();Zn={node:USe,circle:HSe,ellipse:b_,polygon:QSe,rect:JSe}});function Fc(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+")")}var ji,gi,kW=O(()=>{"use strict";v_();co();jt();$r();Ar();Ur();ar();dM();ji=o(async(t,e,r,n)=>{let i=ve(),a,s=e.useHtmlLabels||Sr(i);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f;e.labelType==="markdown"?f=Fn(u,wr(ao(h),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):f=await Lo(u,wr(ao(h),i),e.labelStyle,!1,n);let d=f.getBBox(),p=e.padding/2;if(Sr(i)){let m=f.children[0],g=je(f);await Wk(m,h),d=m.getBoundingClientRect(),g.attr("width",d.width),g.attr("height",d.height)}return s?u.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):u.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:d,halfPadding:p,label:u}},"labelHelper"),gi=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(Fc,"insertPolygonShape")});var Gdt,tCe,rCe=O(()=>{"use strict";kW();xt();jt();$r();wW();Gdt=o(async(t,e)=>{e.useHtmlLabels||Sr(ve())||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await ji(t,e,"node "+e.classes,!0);K.info("Classes = ",e.classes);let s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),gi(e,s),e.intersect=function(l){return Zn.rect(e,l)},n},"note"),tCe=Gdt});function EW(t,e,r,n){let i=[],a=o(l=>{i.push(l,0)},"addBorder"),s=o(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(K.debug("add top border"),a(r)):s(r),e.includes("r")?(K.debug("add right border"),a(n)):s(n),e.includes("b")?(K.debug("add bottom border"),a(r)):s(r),e.includes("l")?(K.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}var nCe,sl,iCe,Vdt,qdt,Udt,Wdt,Hdt,Ydt,jdt,Xdt,Kdt,Qdt,Zdt,Jdt,ept,tpt,rpt,npt,ipt,apt,spt,aCe,opt,lpt,sCe,T_,SW,oCe,lCe=O(()=>{"use strict";Ar();jt();$r();xt();qSe();v_();wW();rCe();kW();nCe=o(t=>t?" "+t:"","formatClass"),sl=o((t,e)=>`${e||"node default"}${nCe(t.classes)} ${nCe(t.class)}`,"getClassesFromNode"),iCe=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];K.info("Question main (Circle)");let u=Fc(r,s,s,l);return u.attr("style",e.style),gi(e,u),e.intersect=function(h){return K.warn("Intersect called"),Zn.polygon(e,l,h)},r},"question"),Vdt=o((t,e)=>{let 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(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Zn.circle(e,14,s)},r},"choice"),qdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,l=n.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=Fc(r,l,a,u);return h.attr("style",e.style),gi(e,h),e.intersect=function(f){return Zn.polygon(e,u,f)},r},"hexagon"),Udt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,l=n.width+2*s+e.padding,u=VSe(e.directions,n,e),h=Fc(r,l,a,u);return h.attr("style",e.style),gi(e,h),e.intersect=function(f){return Zn.polygon(e,u,f)},r},"block_arrow"),Wdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Fc(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return Zn.polygon(e,s,u)},r},"rect_left_inv_arrow"),Hdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"lean_right"),Ydt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"lean_left"),jdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"trapezoid"),Xdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"inv_trapezoid"),Kdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"rect_right_inv_arrow"),Qdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return gi(e,h),e.intersect=function(f){let d=Zn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),Zdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await ji(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(EW(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{K.warn(`Unknown node property ${d}`)})}return gi(e,a),e.intersect=function(f){return Zn.rect(e,f)},r},"rect"),Jdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await ji(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(EW(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{K.warn(`Unknown node property ${d}`)})}return gi(e,a),e.intersect=function(f){return Zn.rect(e,f)},r},"composite"),ept=o(async(t,e)=>{let{shapeSvg:r}=await ji(t,e,"label",!0);K.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let s=new Set(Object.keys(e.props));e.props.borders&&(EW(n,e.props.borders,i,a),s.delete("borders")),s.forEach(l=>{K.warn(`Unknown node property ${l}`)})}return gi(e,n),e.intersect=function(s){return Zn.rect(e,s)},r},"labelRect");o(EW,"applyNodePropertyBorders");tpt=o(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,K.info("Label text abc79",u,l,typeof l=="object");let h=await Lo(s,u,e.labelStyle,!0,!0),f={width:0,height:0};if(Sr(ve())){let y=h.children[0],v=je(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}K.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=await Lo(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(Sr(ve())){let y=m.children[0],v=je(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return je(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),je(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return gi(e,s),e.intersect=function(l){return Zn.rect(e,l)},r},"stadium"),npt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await ji(t,e,sl(e,void 0),!0),a=r.insert("circle",":first-child");return a.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),K.info("Circle main"),gi(e,a),e.intersect=function(s){return K.info("Circle intersect",e,n.width/2+i,s),Zn.circle(e,n.width/2+i,s)},r},"circle"),ipt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await ji(t,e,sl(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.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),K.info("DoubleCircle main"),gi(e,l),e.intersect=function(h){return K.info("DoubleCircle intersect",e,n.width/2+i+a,h),Zn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),apt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"subroutine"),spt=o((t,e)=>{let 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),gi(e,n),e.intersect=function(i){return Zn.circle(e,7,i)},r},"start"),aCe=o((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return gi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return Zn.rect(e,l)},n},"forkJoin"),opt=o((t,e)=>{let 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),gi(e,i),e.intersect=function(a){return Zn.circle(e,7,a)},r},"end"),lpt=o(async(t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=n,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=await Lo(p,y,e.labelStyle,!0,!0),x=v.getBBox();if(Sr(ve())){let A=v.children[0],L=je(v);x=A.getBoundingClientRect(),L.attr("width",x.width),L.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(Sr(ve())?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let T=await Lo(p,b,e.labelStyle,!0,!0);je(T).attr("class","classTitle");let E=T.getBBox();if(Sr(ve())){let A=T.children[0],L=je(T);E=A.getBoundingClientRect(),L.attr("width",E.width),L.attr("height",E.height)}d+=E.height+n,E.width>f&&(f=E.width);let w=[];e.classData.members.forEach(async A=>{let L=A.getDisplayDetails(),I=L.displayText;Sr(ve())&&(I=I.replace(//g,">"));let N=await Lo(p,I,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0),C=N.getBBox();if(Sr(ve())){let _=N.children[0],D=je(N);C=_.getBoundingClientRect(),D.attr("width",C.width),D.attr("height",C.height)}C.width>f&&(f=C.width),d+=C.height+n,w.push(N)}),d+=i;let k=[];if(e.classData.methods.forEach(async A=>{let L=A.getDisplayDetails(),I=L.displayText;Sr(ve())&&(I=I.replace(//g,">"));let N=await Lo(p,I,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0),C=N.getBBox();if(Sr(ve())){let _=N.children[0],D=je(N);C=_.getBoundingClientRect(),D.attr("width",C.width),D.attr("height",C.height)}C.width>f&&(f=C.width),d+=C.height+n,k.push(N)}),d+=i,g){let A=(f-x.width)/2;je(v).attr("transform","translate( "+(-1*f/2+A)+", "+-1*d/2+")"),m=x.height+n}let S=(f-E.width)/2;return je(T).attr("transform","translate( "+(-1*f/2+S)+", "+(-1*d/2+m)+")"),m+=E.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,w.forEach(A=>{je(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let L=A?.getBBox();m+=(L?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,k.forEach(A=>{je(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let L=A?.getBBox();m+=(L?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),gi(e,l),e.intersect=function(A){return Zn.rect(e,A)},s},"class_box"),sCe={rhombus:iCe,composite:Jdt,question:iCe,rect:Zdt,labelRect:ept,rectWithTitle:tpt,choice:Vdt,circle:npt,doublecircle:ipt,stadium:rpt,hexagon:qdt,block_arrow:Udt,rect_left_inv_arrow:Wdt,lean_right:Hdt,lean_left:Ydt,trapezoid:jdt,inv_trapezoid:Xdt,rect_right_inv_arrow:Kdt,cylinder:Qdt,start:spt,end:opt,note:tCe,subroutine:apt,fork:aCe,join:aCe,class_box:lpt},T_={},SW=o(async(t,e,r)=>{let n,i;if(e.link){let a;ve().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await sCe[e.shape](n,e,r)}else i=await sCe[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),T_[e.id]=n,e.haveCallback&&T_[e.id].attr("class",T_[e.id].attr("class")+" clickable"),n},"insertNode"),oCe=o(t=>{let e=T_[t.id];K.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let 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},"positionNode")});function cCe(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=RN(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??Zt()?.block?.padding??0}}async function cpt(t,e,r){let n=cCe(e,r,!1);if(n.type==="group")return;let i=Zt(),a=await SW(t,n,{config:i}),s=a.node().getBBox(),l=r.getBlock(n.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function upt(t,e,r){let n=cCe(e,r,!0);if(r.getBlock(n.id).type!=="space"){let a=Zt();await SW(t,n,{config:a}),e.intersect=n?.intersect,oCe(n)}}async function CW(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await CW(t,i.children,r,n)}async function uCe(t,e,r){await CW(t,e,r,cpt)}async function hCe(t,e,r){await CW(t,e,r,upt)}async function fCe(t,e,r,n,i){let a=new wn({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=n.getBlock(s.start),u=n.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];zSe(t,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await FSe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),$Se({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var dCe=O(()=>{"use strict";Dl();$r();GSe();lCe();ar();o(cCe,"getNodeFromBlock");o(cpt,"calculateBlockSize");o(upt,"insertBlockPositioned");o(CW,"performOperations");o(uCe,"calculateBlockSizes");o(hCe,"insertBlocks");o(fCe,"insertEdges")});var hpt,fpt,pCe,mCe=O(()=>{"use strict";Ar();$r();_Se();xt();Ti();MSe();dCe();hpt=o(function(t,e){return e.db.getClasses()},"getClasses"),fpt=o(async function(t,e,r,n){let{securityLevel:i,block:a}=Zt(),s=n.db,l;i==="sandbox"&&(l=je("#i"+e));let u=i==="sandbox"?je(l.nodes()[0].contentDocument.body):je("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):je(`[id="${e}"]`);ASe(h,["point","circle","cross"],n.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await uCe(g,d,s);let y=NSe(s);if(await hCe(g,d,s),await fCe(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,T=v.width+10,{useMaxWidth:E}=a;Zr(h,b,T,!!E),K.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),pCe={draw:fpt,getClasses:hpt}});var gCe={};vr(gCe,{diagram:()=>dpt});var dpt,yCe=O(()=>{"use strict";ySe();ESe();CSe();mCe();dpt={parser:gSe,db:kSe,renderer:pCe,styles:SSe}});var AW,_W,C3,bCe,DW,vs,Zu,A3,TCe,ypt,_3,wCe,kCe,ECe,SCe,CCe,w_,Tp,k_=O(()=>{"use strict";AW={L:"left",R:"right",T:"top",B:"bottom"},_W={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},C3={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},bCe=o(function(t){return vs(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),DW=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),vs=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),Zu=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),A3=o(function(t,e){let r=vs(t)&&Zu(e),n=Zu(t)&&vs(e);return r||n},"isArchitectureDirectionXY"),TCe=o(function(t){let e=t[0],r=t[1],n=vs(e)&&Zu(r),i=Zu(e)&&vs(r);return n||i},"isArchitecturePairXY"),ypt=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),_3=o(function(t,e){let r=`${t}${e}`;return ypt(r)?r:void 0},"getArchitectureDirectionPair"),wCe=o(function([t,e],r){let n=r[0],i=r[1];return vs(n)?Zu(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:vs(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),kCe=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),ECe=o(function(t,e){return A3(t,e)?"bend":vs(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),SCe=o(function(t){return t.type==="service"},"isArchitectureService"),CCe=o(function(t){return t.type==="junction"},"isArchitectureJunction"),w_=o(t=>t.data(),"edgeData"),Tp=o(t=>t.data(),"nodeData")});var vpt,Kv,RW=O(()=>{"use strict";$r();La();ar();si();k_();vpt=gr.architecture,Kv=class{constructor(){this.nodes={};this.groups={};this.edges=[];this.registeredIds={};this.elements={};this.setAccTitle=Lr;this.getAccTitle=Or;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getAccDescription=Br;this.setAccDescription=Pr;this.clear()}static{o(this,"ArchitectureDB")}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},_r()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(SCe)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(CCe)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:l,rhsGroup:u,title:h}){if(!DW(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!DW(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);let f=this.nodes[e].in,d=this.nodes[r].in;if(l&&f&&d&&f==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(u&&f&&d&&f==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let p={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:l,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:u,title:h};this.edges.push(p),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let e={},r=Object.entries(this.nodes).reduce((u,[h,f])=>(u[h]=f.edges.reduce((d,p)=>{let m=this.getNode(p.lhsId)?.in,g=this.getNode(p.rhsId)?.in;if(m&&g&&m!==g){let y=ECe(p.lhsDir,p.rhsDir);y!=="bend"&&(e[m]??={},e[m][g]=y,e[g]??={},e[g][m]=y)}if(p.lhsId===h){let y=_3(p.lhsDir,p.rhsDir);y&&(d[y]=p.rhsId)}else{let y=_3(p.rhsDir,p.lhsDir);y&&(d[y]=p.lhsId)}return d},{}),u),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((u,h)=>h===n?u:{...u,[h]:1},{}),s=o(u=>{let h={[u]:[0,0]},f=[u];for(;f.length>0;){let d=f.shift();if(d){i[d]=1,delete a[d];let p=r[d],[m,g]=h[d];Object.entries(p).forEach(([y,v])=>{i[v]||(h[v]=wCe([m,g],y),f.push(v))})}}return h},"BFS"),l=[s(n)];for(;Object.keys(a).length>0;)l.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:l,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Pn({...vpt,...Zt().architecture})}getConfigField(e){return this.getConfig()[e]}}});var xpt,LW,ACe=O(()=>{"use strict";up();xt();Vm();RW();xpt=o((t,e)=>{ql(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),LW={parser:{yy:void 0},parse:o(async t=>{let e=await Us("architecture",t);K.debug(e);let r=LW.parser?.yy;if(!(r instanceof Kv))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");xpt(e,r)},"parse")}});var bpt,_Ce,DCe=O(()=>{"use strict";bpt=o(t=>` .edge { stroke-width: ${t.archEdgeWidth}; stroke: ${t.archEdgeColor}; @@ -2764,11 +2841,113 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error display: -webkit-box; -webkit-box-orient: vertical; } -`,"getStyles"),zEe=Lft});var yW=Jt((v3,gW)=>{"use strict";o((function(e,r){typeof v3=="object"&&typeof gW=="object"?gW.exports=r():typeof define=="function"&&define.amd?define([],r):typeof v3=="object"?v3.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(v3,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=28)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";var n=r(0);function i(){}o(i,"FDLayoutConstants");for(var a in n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=i.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var E=x.source.owner.getEdges().indexOf(x);if(E==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(E,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),E=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,E,w,k,C,D=this.nodes,R=D.length,O=0;OT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var R=0;v.forEach(function(O){O.owner==g&&R++}),R==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=D,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,S=!0):(l[0]=g,l[1]=m,S=!0):_===M&&(u>f?(l[0]=p,l[1]=m,S=!0):(l[0]=x,l[1]=v,S=!0)),-N===M?f>u?(l[2]=C,l[3]=D,A=!0):(l[2]=k,l[3]=w,A=!0):N===M&&(f>u?(l[2]=E,l[3]=w,A=!0):(l[2]=R,l[3]=D,A=!0)),S&&A)return!1;if(u>f?h>d?(P=this.getCardinalDirection(_,M,4),B=this.getCardinalDirection(N,M,2)):(P=this.getCardinalDirection(-_,M,3),B=this.getCardinalDirection(-N,M,1)):h>d?(P=this.getCardinalDirection(-_,M,1),B=this.getCardinalDirection(-N,M,3)):(P=this.getCardinalDirection(_,M,2),B=this.getCardinalDirection(N,M,4)),!S)switch(P){case 1:G=m,F=u+-T/M,l[0]=F,l[1]=G;break;case 2:F=x,G=h+b*M,l[0]=F,l[1]=G;break;case 3:G=v,F=u+T/M,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-b*M,l[0]=F,l[1]=G;break}if(!A)switch(B){case 1:V=w,$=f+-L/M,l[2]=$,l[3]=V;break;case 2:$=R,V=d+O*M,l[2]=$,l[3]=V;break;case 3:V=D,$=f+L/M,l[2]=$,l[3]=V;break;case 4:$=C,V=d+-O*M,l[2]=$,l[3]=V;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,E=void 0,w=void 0,k=void 0,C=void 0,D=void 0,R=void 0;return T=p-f,w=h-d,C=d*f-h*p,E=v-g,k=m-y,D=y*g-m*v,R=T*k-E*w,R===0?null:(x=(w*D-k*C)/R,b=(E*C-T*D)/R,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i}),(function(t,e,r){"use strict";function n(){}o(n,"IMath"),n.sign=function(i){return i>0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var C=k.getEdges(),x=0;x-1&&w.splice(L,1)}b=new Set,E=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(D,1);var R=E.getNeighborsList();R.forEach(function(S){if(y.indexOf(S)<0){var A=v.get(S),_=A-1;_==1&&k.push(S),v.set(S,_)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(5);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var E=0;Eh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";function n(){}o(n,"SVD"),n.svd=function(i){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=i.length,this.n=i[0].length;var a=Math.min(this.m,this.n);this.s=(function(mt){for(var at=[];mt-- >0;)at.push(0);return at})(Math.min(this.m+1,this.n)),this.U=(function(mt){var at=o(function wt(St){if(St.length==0)return 0;for(var bt=[],pt=0;pt0;)at.push(0);return at})(this.n),l=(function(mt){for(var at=[];mt-- >0;)at.push(0);return at})(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;M--)if(this.s[M]!==0){for(var P=M+1;P=0;ee--){if((function(mt,at){return mt&&at})(ee0;){var J=void 0,ge=void 0;for(J=A-2;J>=-1&&J!==-1;J--)if(Math.abs(s[J])<=le+Q*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){s[J]=0;break}if(J===A-2)ge=4;else{var ie=void 0;for(ie=A-1;ie>=J&&ie!==J;ie--){var Te=(ie!==A?Math.abs(s[ie]):0)+(ie!==J+1?Math.abs(s[ie-1]):0);if(Math.abs(this.s[ie])<=le+Q*Te){this.s[ie]=0;break}}ie===J?ge=3:ie===A-1?ge=1:(ge=2,J=ie)}switch(J++,ge){case 1:{var j=s[A-2];s[A-2]=0;for(var Ge=A-2;Ge>=J;Ge--){var ye=n.hypot(this.s[Ge],j),$e=this.s[Ge]/ye,Xe=j/ye;if(this.s[Ge]=ye,Ge!==J&&(j=-Xe*s[Ge-1],s[Ge-1]=$e*s[Ge-1]),h)for(var Ue=0;Ue=this.s[J+1]);){var ut=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=ut,h&&JMath.abs(a)?(s=a/i,s=Math.abs(i)*Math.sqrt(1+s*s)):a!=0?(s=i/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof x3=="object"&&typeof vW=="object"?vW.exports=r(yW()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof x3=="object"?x3.coseBase=r(yW()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(x3,function(t){return(()=>{"use strict";var e={45:((a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u}),806:((a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h}),767:((a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),880:((a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),578:((a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),765:((a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,T=l(551).DimensionD,E=l(551).Layout,w=l(551).Integer,k=l(551).IGeometry,C=l(551).LGraph,D=l(551).Transform,R=l(551).LinkedList;function O(){u.call(this),this.toBeTiled={},this.constraints={}}o(O,"CoSELayout"),O.prototype=Object.create(u.prototype);for(var L in u)O[L]=u[L];O.prototype.newGraphManager=function(){var S=new h(this);return this.graphManager=S,S},O.prototype.newGraph=function(S){return new f(null,this.graphManager,S)},O.prototype.newNode=function(S){return new d(this.graphManager,S)},O.prototype.newEdge=function(S){return new p(null,null,S)},O.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},O.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},O.prototype.layout=function(){var S=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return S&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},O.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var A=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(P){return A.has(P)});this.graphManager.setAllNodesToApplyGravitation(_)}}else{var S=this.getFlatForest();if(S.length>0)this.positionNodesRadially(S);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var A=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(N){return A.has(N)});this.graphManager.setAllNodesToApplyGravitation(_),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},O.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var S=new Set(this.getAllNodes()),A=this.nodesWithGravity.filter(function(M){return S.has(M)});this.graphManager.setAllNodesToApplyGravitation(A),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var _=!this.isTreeGrowing&&!this.isGrowthFinished,N=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(_,N),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},O.prototype.getPositionsData=function(){for(var S=this.graphManager.getAllNodes(),A={},_=0;_0&&this.updateDisplacements();for(var _=0;_0&&(N.fixedNodeWeight=P)}}if(this.constraints.relativePlacementConstraint){var B=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Z){S.fixedNodesOnHorizontal.add(Z),S.fixedNodesOnVertical.add(Z)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var G=this.constraints.alignmentConstraint.vertical,_=0;_=2*Z.length/3;ne--)de=Math.floor(Math.random()*(ne+1)),re=Z[ne],Z[ne]=Z[de],Z[de]=re;return Z},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(Z){if(Z.left){var de=B.has(Z.left)?B.get(Z.left):Z.left,re=B.has(Z.right)?B.get(Z.right):Z.right;S.nodesInRelativeHorizontal.includes(de)||(S.nodesInRelativeHorizontal.push(de),S.nodeToRelativeConstraintMapHorizontal.set(de,[]),S.dummyToNodeForVerticalAlignment.has(de)?S.nodeToTempPositionMapHorizontal.set(de,S.idToNodeMap.get(S.dummyToNodeForVerticalAlignment.get(de)[0]).getCenterX()):S.nodeToTempPositionMapHorizontal.set(de,S.idToNodeMap.get(de).getCenterX())),S.nodesInRelativeHorizontal.includes(re)||(S.nodesInRelativeHorizontal.push(re),S.nodeToRelativeConstraintMapHorizontal.set(re,[]),S.dummyToNodeForVerticalAlignment.has(re)?S.nodeToTempPositionMapHorizontal.set(re,S.idToNodeMap.get(S.dummyToNodeForVerticalAlignment.get(re)[0]).getCenterX()):S.nodeToTempPositionMapHorizontal.set(re,S.idToNodeMap.get(re).getCenterX())),S.nodeToRelativeConstraintMapHorizontal.get(de).push({right:re,gap:Z.gap}),S.nodeToRelativeConstraintMapHorizontal.get(re).push({left:de,gap:Z.gap})}else{var ne=F.has(Z.top)?F.get(Z.top):Z.top,te=F.has(Z.bottom)?F.get(Z.bottom):Z.bottom;S.nodesInRelativeVertical.includes(ne)||(S.nodesInRelativeVertical.push(ne),S.nodeToRelativeConstraintMapVertical.set(ne,[]),S.dummyToNodeForHorizontalAlignment.has(ne)?S.nodeToTempPositionMapVertical.set(ne,S.idToNodeMap.get(S.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):S.nodeToTempPositionMapVertical.set(ne,S.idToNodeMap.get(ne).getCenterY())),S.nodesInRelativeVertical.includes(te)||(S.nodesInRelativeVertical.push(te),S.nodeToRelativeConstraintMapVertical.set(te,[]),S.dummyToNodeForHorizontalAlignment.has(te)?S.nodeToTempPositionMapVertical.set(te,S.idToNodeMap.get(S.dummyToNodeForHorizontalAlignment.get(te)[0]).getCenterY()):S.nodeToTempPositionMapVertical.set(te,S.idToNodeMap.get(te).getCenterY())),S.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:te,gap:Z.gap}),S.nodeToRelativeConstraintMapVertical.get(te).push({top:ne,gap:Z.gap})}});else{var V=new Map,K=new Map;this.constraints.relativePlacementConstraint.forEach(function(Z){if(Z.left){var de=B.has(Z.left)?B.get(Z.left):Z.left,re=B.has(Z.right)?B.get(Z.right):Z.right;V.has(de)?V.get(de).push(re):V.set(de,[re]),V.has(re)?V.get(re).push(de):V.set(re,[de])}else{var ne=F.has(Z.top)?F.get(Z.top):Z.top,te=F.has(Z.bottom)?F.get(Z.bottom):Z.bottom;K.has(ne)?K.get(ne).push(te):K.set(ne,[te]),K.has(te)?K.get(te).push(ne):K.set(te,[ne])}});var ee=o(function(de,re){var ne=[],te=[],Q=new R,le=new Set,J=0;return de.forEach(function(ge,ie){if(!le.has(ie)){ne[J]=[],te[J]=!1;var Te=ie;for(Q.push(Te),le.add(Te),ne[J].push(Te);Q.length!=0;){Te=Q.shift(),re.has(Te)&&(te[J]=!0);var j=de.get(Te);j.forEach(function(Ge){le.has(Ge)||(Q.push(Ge),le.add(Ge),ne[J].push(Ge))})}J++}}),{components:ne,isFixed:te}},"constructComponents"),H=ee(V,S.fixedNodesOnHorizontal);this.componentsOnHorizontal=H.components,this.fixedComponentsOnHorizontal=H.isFixed;var he=ee(K,S.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},O.prototype.updateDisplacements=function(){var S=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var Z=S.idToNodeMap.get(he.nodeId);Z.displacementX=0,Z.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var A=this.constraints.alignmentConstraint.vertical,_=0;_1){var F;for(F=0;FN&&(N=Math.floor(B.y)),P=Math.floor(B.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-B.x/2,v.WORLD_CENTER_Y-B.y/2))},O.radialLayout=function(S,A,_){var N=Math.max(this.maxDiagonalInTree(S),m.DEFAULT_RADIAL_SEPARATION);O.branchRadialLayout(A,null,0,359,0,N);var M=C.calculateBounds(S),P=new D;P.setDeviceOrgX(M.getMinX()),P.setDeviceOrgY(M.getMinY()),P.setWorldOrgX(_.x),P.setWorldOrgY(_.y);for(var B=0;B1;){var ne=re[0];re.splice(0,1);var te=ee.indexOf(ne);te>=0&&ee.splice(te,1),Z--,H--}A!=null?de=(ee.indexOf(re[0])+1)%Z:de=0;for(var Q=Math.abs(N-_)/H,le=de;he!=H;le=++le%Z){var J=ee[le].getOtherEnd(S);if(J!=A){var ge=(_+he*Q)%360,ie=(ge+Q)%360;O.branchRadialLayout(J,S,ge,ie,M+P,P),he++}}},O.maxDiagonalInTree=function(S){for(var A=w.MIN_VALUE,_=0;_A&&(A=M)}return A},O.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},O.prototype.groupZeroDegreeMembers=function(){var S=this,A={};this.memberGroups={},this.idToDummyNode={};for(var _=[],N=this.graphManager.getAllNodes(),M=0;M"u"&&(A[F]=[]),A[F]=A[F].concat(P)}Object.keys(A).forEach(function(G){if(A[G].length>1){var $="DummyCompound_"+G;S.memberGroups[$]=A[G];var V=A[G][0].getParent(),K=new d(S.graphManager);K.id=$,K.paddingLeft=V.paddingLeft||0,K.paddingRight=V.paddingRight||0,K.paddingBottom=V.paddingBottom||0,K.paddingTop=V.paddingTop||0,S.idToDummyNode[$]=K;var ee=S.getGraphManager().add(S.newGraph(),K),H=V.getChild();H.add(K);for(var he=0;heM?(N.rect.x-=(N.labelWidth-M)/2,N.setWidth(N.labelWidth),N.labelMarginLeft=(N.labelWidth-M)/2):N.labelPosHorizontal=="right"&&N.setWidth(M+N.labelWidth)),N.labelHeight&&(N.labelPosVertical=="top"?(N.rect.y-=N.labelHeight,N.setHeight(P+N.labelHeight),N.labelMarginTop=N.labelHeight):N.labelPosVertical=="center"&&N.labelHeight>P?(N.rect.y-=(N.labelHeight-P)/2,N.setHeight(N.labelHeight),N.labelMarginTop=(N.labelHeight-P)/2):N.labelPosVertical=="bottom"&&N.setHeight(P+N.labelHeight))}})},O.prototype.repopulateCompounds=function(){for(var S=this.compoundOrder.length-1;S>=0;S--){var A=this.compoundOrder[S],_=A.id,N=A.paddingLeft,M=A.paddingTop,P=A.labelMarginLeft,B=A.labelMarginTop;this.adjustLocations(this.tiledMemberPack[_],A.rect.x,A.rect.y,N,M,P,B)}},O.prototype.repopulateZeroDegreeMembers=function(){var S=this,A=this.tiledZeroDegreePack;Object.keys(A).forEach(function(_){var N=S.idToDummyNode[_],M=N.paddingLeft,P=N.paddingTop,B=N.labelMarginLeft,F=N.labelMarginTop;S.adjustLocations(A[_],N.rect.x,N.rect.y,M,P,B,F)})},O.prototype.getToBeTiled=function(S){var A=S.id;if(this.toBeTiled[A]!=null)return this.toBeTiled[A];var _=S.getChild();if(_==null)return this.toBeTiled[A]=!1,!1;for(var N=_.getNodes(),M=0;M0)return this.toBeTiled[A]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[A]=!1,!1}return this.toBeTiled[A]=!0,!0},O.prototype.getNodeDegree=function(S){for(var A=S.id,_=S.getEdges(),N=0,M=0;M<_.length;M++){var P=_[M];P.getSource().id!==P.getTarget().id&&(N=N+1)}return N},O.prototype.getNodeDegreeWithChildren=function(S){var A=this.getNodeDegree(S);if(S.getChild()==null)return A;for(var _=S.getChild().getNodes(),N=0;N<_.length;N++){var M=_[N];A+=this.getNodeDegreeWithChildren(M)}return A},O.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},O.prototype.fillCompexOrderByDFS=function(S){for(var A=0;AV&&(V=ee.rect.height)}_+=V+S.verticalPadding}},O.prototype.tileCompoundMembers=function(S,A){var _=this;this.tiledMemberPack=[],Object.keys(S).forEach(function(N){var M=A[N];if(_.tiledMemberPack[N]=_.tileNodes(S[N],M.paddingLeft+M.paddingRight),M.rect.width=_.tiledMemberPack[N].width,M.rect.height=_.tiledMemberPack[N].height,M.setCenter(_.tiledMemberPack[N].centerX,_.tiledMemberPack[N].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var P=M.rect.width,B=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(P+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>P?(M.rect.x-=(M.labelWidth-P)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-P)/2):M.labelPosHorizontal=="right"&&M.setWidth(P+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(B+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>B?(M.rect.y-=(M.labelHeight-B)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-B)/2):M.labelPosVertical=="bottom"&&M.setHeight(B+M.labelHeight))}})},O.prototype.tileNodes=function(S,A){var _=this.tileNodesByFavoringDim(S,A,!0),N=this.tileNodesByFavoringDim(S,A,!1),M=this.getOrgRatio(_),P=this.getOrgRatio(N),B;return PF&&(F=he.getWidth())});var G=P/M,$=B/M,V=Math.pow(_-N,2)+4*(G+N)*($+_)*M,K=(N-_+Math.sqrt(V))/(2*(G+N)),ee;A?(ee=Math.ceil(K),ee==K&&ee++):ee=Math.floor(K);var H=ee*(G+N)-N;return F>H&&(H=F),H+=N*2,H},O.prototype.tileNodesByFavoringDim=function(S,A,_){var N=m.TILING_PADDING_VERTICAL,M=m.TILING_PADDING_HORIZONTAL,P=m.TILING_COMPARE_BY,B={rows:[],rowWidth:[],rowHeight:[],width:0,height:A,verticalPadding:N,horizontalPadding:M,centerX:0,centerY:0};P&&(B.idealRowWidth=this.calcIdealRowWidth(S,_));var F=o(function(Z){return Z.rect.width*Z.rect.height},"getNodeArea"),G=o(function(Z,de){return F(de)-F(Z)},"areaCompareFcn");S.sort(function(he,Z){var de=G;return B.idealRowWidth?(de=P,de(he.id,Z.id)):de(he,Z)});for(var $=0,V=0,K=0;K0&&(B+=S.horizontalPadding),S.rowWidth[_]=B,S.width0&&(F+=S.verticalPadding);var G=0;F>S.rowHeight[_]&&(G=S.rowHeight[_],S.rowHeight[_]=F,G=S.rowHeight[_]-G),S.height+=G,S.rows[_].push(A)},O.prototype.getShortestRowIndex=function(S){for(var A=-1,_=Number.MAX_VALUE,N=0;N_&&(A=N,_=S.rowWidth[N]);return A},O.prototype.canAddHorizontal=function(S,A,_){if(S.idealRowWidth){var N=S.rows.length-1,M=S.rowWidth[N];return M+A+S.horizontalPadding<=S.idealRowWidth}var P=this.getShortestRowIndex(S);if(P<0)return!0;var B=S.rowWidth[P];if(B+S.horizontalPadding+A<=S.width)return!0;var F=0;S.rowHeight[P]<_&&P>0&&(F=_+S.verticalPadding-S.rowHeight[P]);var G;S.width-B>=A+S.horizontalPadding?G=(S.height+F)/(B+A+S.horizontalPadding):G=(S.height+F)/S.width,F=_+S.verticalPadding;var $;return S.widthP&&A!=_){N.splice(-1,1),S.rows[_].push(M),S.rowWidth[A]=S.rowWidth[A]-P,S.rowWidth[_]=S.rowWidth[_]+P,S.width=S.rowWidth[instance.getLongestRowIndex(S)];for(var B=Number.MIN_VALUE,F=0;FB&&(B=N[F].height);A>0&&(B+=S.verticalPadding);var G=S.rowHeight[A]+S.rowHeight[_];S.rowHeight[A]=B,S.rowHeight[_]0)for(var H=M;H<=P;H++)ee[0]+=this.grid[H][B-1].length+this.grid[H][B].length-1;if(P0)for(var H=B;H<=F;H++)ee[3]+=this.grid[M-1][H].length+this.grid[M][H].length-1;for(var he=w.MAX_VALUE,Z,de,re=0;re{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var rt=0;Pe.forEach(function(ut){ue=="horizontal"?(me.set(ut,x.has(ut)?b[x.get(ut)]:se.get(ut)),rt+=me.get(ut)):(me.set(ut,x.has(ut)?T[x.get(ut)]:se.get(ut)),rt+=me.get(ut))}),rt=rt/Pe.length,je.forEach(function(ut){z.has(ut)||me.set(ut,rt)})}else{var We=0;je.forEach(function(ut){ue=="horizontal"?We+=x.has(ut)?b[x.get(ut)]:se.get(ut):We+=x.has(ut)?T[x.get(ut)]:se.get(ut)}),We=We/je.length,je.forEach(function(ut){me.set(ut,We)})}});for(var Fe=o(function(){var Pe=Ce.shift(),rt=U.get(Pe);rt.forEach(function(We){if(me.get(We.id)ut&&(ut=bt),ptUt&&(Ut=pt)}}catch(Dt){Mt=!0,mt=Dt}finally{try{!Tt&&at.return&&at.return()}finally{if(Mt)throw mt}}var Zr=(rt+ut)/2-(We+Ut)/2,Lt=!0,Dn=!1,Hr=void 0;try{for(var mr=je[Symbol.iterator](),hr;!(Lt=(hr=mr.next()).done);Lt=!0){var Br=hr.value;me.set(Br,me.get(Br)+Zr)}}catch(Dt){Dn=!0,Hr=Dt}finally{try{!Lt&&mr.return&&mr.return()}finally{if(Dn)throw Hr}}})}return me},"findAppropriatePositionForRelativePlacement"),L=o(function(U){var ue=0,z=0,se=0,oe=0;if(U.forEach(function(De){De.left?b[x.get(De.left)]-b[x.get(De.right)]>=0?ue++:z++:T[x.get(De.top)]-T[x.get(De.bottom)]>=0?se++:oe++}),ue>z&&se>oe)for(var be=0;bez)for(var pe=0;peoe)for(var me=0;me1)y.fixedNodeConstraint.forEach(function(ce,U){N[U]=[ce.position.x,ce.position.y],M[U]=[b[x.get(ce.nodeId)],T[x.get(ce.nodeId)]]}),P=!0;else if(y.alignmentConstraint)(function(){var ce=0;if(y.alignmentConstraint.vertical){for(var U=y.alignmentConstraint.vertical,ue=o(function(me){var De=new Set;U[me].forEach(function(Ye){De.add(Ye)});var Ce=new Set([].concat(u(De)).filter(function(Ye){return F.has(Ye)})),Fe=void 0;Ce.size>0?Fe=b[x.get(Ce.values().next().value)]:Fe=R(De).x,U[me].forEach(function(Ye){N[ce]=[Fe,T[x.get(Ye)]],M[ce]=[b[x.get(Ye)],T[x.get(Ye)]],ce++})},"_loop2"),z=0;z0?Fe=b[x.get(Ce.values().next().value)]:Fe=R(De).y,se[me].forEach(function(Ye){N[ce]=[b[x.get(Ye)],Fe],M[ce]=[b[x.get(Ye)],T[x.get(Ye)]],ce++})},"_loop3"),be=0;beK&&(K=V[H].length,ee=H);if(K<$.size/2)L(y.relativePlacementConstraint),P=!1,B=!1;else{var he=new Map,Z=new Map,de=[];V[ee].forEach(function(ce){G.get(ce).forEach(function(U){U.direction=="horizontal"?(he.has(ce)?he.get(ce).push(U):he.set(ce,[U]),he.has(U.id)||he.set(U.id,[]),de.push({left:ce,right:U.id})):(Z.has(ce)?Z.get(ce).push(U):Z.set(ce,[U]),Z.has(U.id)||Z.set(U.id,[]),de.push({top:ce,bottom:U.id}))})}),L(de),B=!1;var re=O(he,"horizontal"),ne=O(Z,"vertical");V[ee].forEach(function(ce,U){M[U]=[b[x.get(ce)],T[x.get(ce)]],N[U]=[],re.has(ce)?N[U][0]=re.get(ce):N[U][0]=b[x.get(ce)],ne.has(ce)?N[U][1]=ne.get(ce):N[U][1]=T[x.get(ce)]}),P=!0}}if(P){for(var te=void 0,Q=d.transpose(N),le=d.transpose(M),J=0;J0){var $e={x:0,y:0};y.fixedNodeConstraint.forEach(function(ce,U){var ue={x:b[x.get(ce.nodeId)],y:T[x.get(ce.nodeId)]},z=ce.position,se=D(z,ue);$e.x+=se.x,$e.y+=se.y}),$e.x/=y.fixedNodeConstraint.length,$e.y/=y.fixedNodeConstraint.length,b.forEach(function(ce,U){b[U]+=$e.x}),T.forEach(function(ce,U){T[U]+=$e.y}),y.fixedNodeConstraint.forEach(function(ce){b[x.get(ce.nodeId)]=ce.position.x,T[x.get(ce.nodeId)]=ce.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Xe=y.alignmentConstraint.vertical,Ue=o(function(U){var ue=new Set;Xe[U].forEach(function(oe){ue.add(oe)});var z=new Set([].concat(u(ue)).filter(function(oe){return F.has(oe)})),se=void 0;z.size>0?se=b[x.get(z.values().next().value)]:se=R(ue).x,ue.forEach(function(oe){F.has(oe)||(b[x.get(oe)]=se)})},"_loop4"),Le=0;Le0?se=T[x.get(z.values().next().value)]:se=R(ue).y,ue.forEach(function(oe){F.has(oe)||(T[x.get(oe)]=se)})},"_loop5"),Ae=0;Ae{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(45);return i})()})});var VEe=Jt((b3,bW)=>{"use strict";o((function(e,r){typeof b3=="object"&&typeof bW=="object"?bW.exports=r(xW()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof b3=="object"?b3.cytoscapeFcose=r(xW()):e.cytoscapeFcose=r(e.coseBase)}),"webpackUniversalModuleDefinition")(b3,function(t){return(()=>{"use strict";var e={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=(function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),T;!(y=(T=b.next()).done)&&(g.push(T.value),!(m&&g.length===m));y=!0);}catch(E){v=!0,x=E}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&P.merge($)});for(var B=0;B1){T=x[0],E=T.connectedEdges().length,x.forEach(function(M){M.connectedEdges().length0&&g.set("dummy"+(g.size+1),C),D},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,T=!1,E=void 0;try{for(var w=p.nodeIndexes[Symbol.iterator](),k;!(b=(k=w.next()).done);b=!0){var C=k.value,D=u(C,2),R=D[0],O=D[1],L=m.cy.getElementById(R);if(L){var S=L.boundingBox(),A=p.xCoords[O]-S.w/2,_=p.xCoords[O]+S.w/2,N=p.yCoords[O]-S.h/2,M=p.yCoords[O]+S.h/2;Ay&&(y=_),Nx&&(x=M)}}}catch($){T=!0,E=$}finally{try{!b&&w.return&&w.return()}finally{if(T)throw E}}var P=d.x-(y+g)/2,B=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function($){return $+P}),p.yCoords=p.yCoords.map(function($){return $+B})}else{Object.keys(p).forEach(function($){var V=p[$],K=V.getRect().x,ee=V.getRect().x+V.getRect().width,H=V.getRect().y,he=V.getRect().y+V.getRect().height;Ky&&(y=ee),Hx&&(x=he)});var F=d.x-(y+g)/2,G=d.y-(x+v)/2;Object.keys(p).forEach(function($){var V=p[$];V.setCenter(V.getCenterX()+F,V.getCenterY()+G)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,T=void 0,E=void 0,w=void 0,k=void 0,C=d.descendants().not(":parent"),D=C.length,R=0;RT&&(y=T),vw&&(x=w),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,T){var E=b.cy,w=b.eles,k=w.nodes(),C=w.edges(),D=void 0,R=void 0,O=void 0,L={};b.randomize&&(D=T.nodeIndexes,R=T.xCoords,O=T.yCoords);var S=o(function($){return typeof $=="function"},"isFn"),A=o(function($,V){return S($)?$(V):$},"optFn"),_=u.calcParentsWithoutChildren(E,w),N=o(function G($,V,K,ee){for(var H=V.length,he=0;he0){var Q=void 0;Q=K.getGraphManager().add(K.newGraph(),re),G(Q,de,K,ee)}}},"processChildrenList"),M=o(function($,V,K){for(var ee=0,H=0,he=0;he0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=ee/H:S(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),P=o(function($,V){V.fixedNodeConstraint&&($.constraints.fixedNodeConstraint=V.fixedNodeConstraint),V.alignmentConstraint&&($.constraints.alignmentConstraint=V.alignmentConstraint),V.relativePlacementConstraint&&($.constraints.relativePlacementConstraint=V.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var B=new h,F=B.newGraphManager();return N(F.addRoot(),u.getTopMostNodes(k),B,b),M(B,F,C),P(B,b),B.runLayout(),L},"coseLayout");a.exports={coseLayout:v}}),212:((a,s,l)=>{var u=(function(){function b(T,E){for(var w=0;w0)if(M){var F=d.getTopMostNodes(w.eles.nodes());if(S=d.connectComponents(k,w.eles,F),S.forEach(function(Te){var j=Te.boundingBox();A.push({x:j.x1+j.w/2,y:j.y1+j.h/2})}),w.randomize&&S.forEach(function(Te){w.eles=Te,D.push(m(w))}),w.quality=="default"||w.quality=="proof"){var G=k.collection();if(w.tile){var $=new Map,V=[],K=[],ee=0,H={nodeIndexes:$,xCoords:V,yCoords:K},he=[];if(S.forEach(function(Te,j){Te.edges().length==0&&(Te.nodes().forEach(function(Ge,ye){G.merge(Te.nodes()[ye]),Ge.isParent()||(H.nodeIndexes.set(Te.nodes()[ye].id(),ee++),H.xCoords.push(Te.nodes()[0].position().x),H.yCoords.push(Te.nodes()[0].position().y))}),he.push(j))}),G.length>1){var Z=G.boundingBox();A.push({x:Z.x1+Z.w/2,y:Z.y1+Z.h/2}),S.push(G),D.push(H);for(var de=he.length-1;de>=0;de--)S.splice(he[de],1),D.splice(he[de],1),A.splice(he[de],1)}}S.forEach(function(Te,j){w.eles=Te,L.push(y(w,D[j])),d.relocateComponent(A[j],L[j],w)})}else S.forEach(function(Te,j){d.relocateComponent(A[j],D[j],w)});var re=new Set;if(S.length>1){var ne=[],te=C.filter(function(Te){return Te.css("display")=="none"});S.forEach(function(Te,j){var Ge=void 0;if(w.quality=="draft"&&(Ge=D[j].nodeIndexes),Te.nodes().not(te).length>0){var ye={};ye.edges=[],ye.nodes=[];var $e=void 0;Te.nodes().not(te).forEach(function(Xe){if(w.quality=="draft")if(!Xe.isParent())$e=Ge.get(Xe.id()),ye.nodes.push({x:D[j].xCoords[$e]-Xe.boundingbox().w/2,y:D[j].yCoords[$e]-Xe.boundingbox().h/2,width:Xe.boundingbox().w,height:Xe.boundingbox().h});else{var Ue=d.calcBoundingBox(Xe,D[j].xCoords,D[j].yCoords,Ge);ye.nodes.push({x:Ue.topLeftX,y:Ue.topLeftY,width:Ue.width,height:Ue.height})}else L[j][Xe.id()]&&ye.nodes.push({x:L[j][Xe.id()].getLeft(),y:L[j][Xe.id()].getTop(),width:L[j][Xe.id()].getWidth(),height:L[j][Xe.id()].getHeight()})}),Te.edges().forEach(function(Xe){var Ue=Xe.source(),Le=Xe.target();if(Ue.css("display")!="none"&&Le.css("display")!="none")if(w.quality=="draft"){var Ie=Ge.get(Ue.id()),Me=Ge.get(Le.id()),Ae=[],ze=[];if(Ue.isParent()){var Y=d.calcBoundingBox(Ue,D[j].xCoords,D[j].yCoords,Ge);Ae.push(Y.topLeftX+Y.width/2),Ae.push(Y.topLeftY+Y.height/2)}else Ae.push(D[j].xCoords[Ie]),Ae.push(D[j].yCoords[Ie]);if(Le.isParent()){var ce=d.calcBoundingBox(Le,D[j].xCoords,D[j].yCoords,Ge);ze.push(ce.topLeftX+ce.width/2),ze.push(ce.topLeftY+ce.height/2)}else ze.push(D[j].xCoords[Me]),ze.push(D[j].yCoords[Me]);ye.edges.push({startX:Ae[0],startY:Ae[1],endX:ze[0],endY:ze[1]})}else L[j][Ue.id()]&&L[j][Le.id()]&&ye.edges.push({startX:L[j][Ue.id()].getCenterX(),startY:L[j][Ue.id()].getCenterY(),endX:L[j][Le.id()].getCenterX(),endY:L[j][Le.id()].getCenterY()})}),ye.nodes.length>0&&(ne.push(ye),re.add(j))}});var Q=N.packComponents(ne,w.randomize).shifts;if(w.quality=="draft")D.forEach(function(Te,j){var Ge=Te.xCoords.map(function($e){return $e+Q[j].dx}),ye=Te.yCoords.map(function($e){return $e+Q[j].dy});Te.xCoords=Ge,Te.yCoords=ye});else{var le=0;re.forEach(function(Te){Object.keys(L[Te]).forEach(function(j){var Ge=L[Te][j];Ge.setCenter(Ge.getCenterX()+Q[le].dx,Ge.getCenterY()+Q[le].dy)}),le++})}}}else{var P=w.eles.boundingBox();if(A.push({x:P.x1+P.w/2,y:P.y1+P.h/2}),w.randomize){var B=m(w);D.push(B)}w.quality=="default"||w.quality=="proof"?(L.push(y(w,D[0])),d.relocateComponent(A[0],L[0],w)):d.relocateComponent(A[0],D[0],w)}var J=o(function(j,Ge){if(w.quality=="default"||w.quality=="proof"){typeof j=="number"&&(j=Ge);var ye=void 0,$e=void 0,Xe=j.data("id");return L.forEach(function(Le){Xe in Le&&(ye={x:Le[Xe].getRect().getCenterX(),y:Le[Xe].getRect().getCenterY()},$e=Le[Xe])}),w.nodeDimensionsIncludeLabels&&($e.labelWidth&&($e.labelPosHorizontal=="left"?ye.x+=$e.labelWidth/2:$e.labelPosHorizontal=="right"&&(ye.x-=$e.labelWidth/2)),$e.labelHeight&&($e.labelPosVertical=="top"?ye.y+=$e.labelHeight/2:$e.labelPosVertical=="bottom"&&(ye.y-=$e.labelHeight/2))),ye==null&&(ye={x:j.position("x"),y:j.position("y")}),{x:ye.x,y:ye.y}}else{var Ue=void 0;return D.forEach(function(Le){var Ie=Le.nodeIndexes.get(j.id());Ie!=null&&(Ue={x:Le.xCoords[Ie],y:Le.yCoords[Ie]})}),Ue==null&&(Ue={x:j.position("x"),y:j.position("y")}),{x:Ue.x,y:Ue.y}}},"getPositions");if(w.quality=="default"||w.quality=="proof"||w.randomize){var ge=d.calcParentsWithoutChildren(k,C),ie=C.filter(function(Te){return Te.css("display")=="none"});w.eles=C.not(ie),C.nodes().not(":parent").not(ie).layoutPositions(E,w,J),ge.length>0&&ge.forEach(function(Te){Te.position(J(Te))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b})();a.exports=x}),657:((a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,T=new Map,E=new Map,w=[],k=[],C=[],D=[],R=[],O=[],L=[],S=[],A=void 0,_=void 0,N=1e8,M=1e-9,P=m.piTol,B=m.samplingType,F=m.nodeSeparation,G=void 0,$=o(function(){for(var ue=0,z=0,se=!1;z=be;){me=oe[be++];for(var je=w[me],Pe=0;PeFe&&(Fe=R[We],Ye=We)}return Ye},"BFS"),K=o(function(ue){var z=void 0;if(ue){z=Math.floor(Math.random()*_),A=z;for(var oe=0;oe<_;oe++)R[oe]=N;for(var be=0;be=1)break;Fe=Ce}for(var je=0;je<_;je++)be[je]=se[je];for(De=0,Fe=M;;){De++;for(var Pe=0;Pe<_;Pe++)pe[Pe]=oe[Pe];if(pe=h.minusOp(pe,h.multCons(be,h.dotProduct(be,pe))),oe=h.multGamma(h.multL(h.multGamma(pe),O,S)),z=h.dotProduct(pe,oe),oe=h.normalize(oe),Ce=h.dotProduct(pe,oe),Ye=Math.abs(Ce/Fe),Ye<=1+P&&Ye>=1)break;Fe=Ce}for(var rt=0;rt<_;rt++)pe[rt]=oe[rt];k=h.multCons(be,Math.sqrt(Math.abs(ue))),C=h.multCons(pe,Math.sqrt(Math.abs(z)))},"powerIteration");u.connectComponents(g,y,u.getTopMostNodes(v),b),x.forEach(function(U){u.connectComponents(g,y,u.getTopMostNodes(U.descendants().intersection(y)),b)});for(var he=0,Z=0;Z0&&(z.isParent()?w[ue].push(E.get(z.id())):w[ue].push(z.id()))})});var ge=o(function(ue){var z=T.get(ue),se=void 0;b.get(ue).forEach(function(oe){g.getElementById(oe).isParent()?se=E.get(oe):se=oe,w[z].push(se),w[T.get(se)].push(ue)})},"_loop"),ie=!0,Te=!1,j=void 0;try{for(var Ge=b.keys()[Symbol.iterator](),ye;!(ie=(ye=Ge.next()).done);ie=!0){var $e=ye.value;ge($e)}}catch(U){Te=!0,j=U}finally{try{!ie&&Ge.return&&Ge.return()}finally{if(Te)throw j}}_=T.size;var Xe=void 0;if(_>2){G=_{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h}),140:(a=>{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(579);return i})()})});var qv,Zm,TW=I(()=>{"use strict";Gc();qv=o(t=>`${t}`,"wrapIcon"),Zm={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:qv('')},server:{body:qv('')},disk:{body:qv('')},internet:{body:qv('')},cloud:{body:qv('')},unknown:rD,blank:{body:qv("")}}}});var qEe,UEe,WEe,HEe,YEe=I(()=>{"use strict";Qt();yl();Gc();wr();TW();h8();sr();qEe=o(async function(t,e,r){let n=r.getConfigField("padding"),i=r.getConfigField("iconSize"),a=i/2,s=i/6,l=s/2;await Promise.all(e.edges().map(async u=>{let{source:h,sourceDir:f,sourceArrow:d,sourceGroup:p,target:m,targetDir:g,targetArrow:y,targetGroup:v,label:x}=u8(u),{x:b,y:T}=u[0].sourceEndpoint(),{x:E,y:w}=u[0].midpoint(),{x:k,y:C}=u[0].targetEndpoint(),D=n+4;if(p&&(gs(f)?b+=f==="L"?-D:D:T+=f==="T"?-D:D+18),v&&(gs(g)?k+=g==="L"?-D:D:C+=g==="T"?-D:D+18),!p&&r.getNode(h)?.type==="junction"&&(gs(f)?b+=f==="L"?a:-a:T+=f==="T"?a:-a),!v&&r.getNode(m)?.type==="junction"&&(gs(g)?k+=g==="L"?a:-a:C+=g==="T"?a:-a),u[0]._private.rscratch){let R=t.insert("g");if(R.insert("path").attr("d",`M ${b},${T} L ${E},${w} L${k},${C} `).attr("class","edge").attr("id",nu(h,m,{prefix:"L"})),d){let O=gs(f)?m3[f](b,s):b-l,L=Hu(f)?m3[f](T,s):T-l;R.insert("polygon").attr("points",fW[f](s)).attr("transform",`translate(${O},${L})`).attr("class","arrow")}if(y){let O=gs(g)?m3[g](k,s):k-l,L=Hu(g)?m3[g](C,s):C-l;R.insert("polygon").attr("points",fW[g](s)).attr("transform",`translate(${O},${L})`).attr("class","arrow")}if(x){let O=g3(f,g)?"XY":gs(f)?"X":"Y",L=0;O==="X"?L=Math.abs(b-k):O==="Y"?L=Math.abs(T-C)/1.5:L=Math.abs(b-k)/2;let S=R.append("g");if(await Ai(S,x,{useHtmlLabels:!1,width:L,classes:"architecture-service-label"},xe()),S.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),O==="X")S.attr("transform","translate("+E+", "+w+")");else if(O==="Y")S.attr("transform","translate("+E+", "+w+") rotate(-90)");else if(O==="XY"){let A=y3(f,g);if(A&&MEe(A)){let _=S.node().getBoundingClientRect(),[N,M]=OEe(A);S.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*M*45})`);let P=S.node().getBoundingClientRect();S.attr("transform",` - translate(${E}, ${w-_.height/2}) - translate(${N*P.width/2}, ${M*P.height/2}) - rotate(${-1*N*M*45}, 0, ${_.height/2}) - `)}}}}}))},"drawEdges"),UEe=o(async function(t,e,r){let i=r.getConfigField("padding")*.75,a=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{let h=vp(u);if(h.type==="group"){let{h:f,w:d,x1:p,y1:m}=u.boundingBox(),g=t.append("rect");g.attr("id",`group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",d).attr("height",f).attr("class","node-bkg");let y=t.append("g"),v=p,x=m;if(h.icon){let b=y.append("g");b.html(`${await Ks(h.icon,{height:i,width:i,fallbackPrefix:Zm.prefix})}`),b.attr("transform","translate("+(v+l+1)+", "+(x+l+1)+")"),v+=i,x+=a/2-1-2}if(h.label){let b=y.append("g");await Ai(b,h.label,{useHtmlLabels:!1,width:d,classes:"architecture-service-label"},xe()),b.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),b.attr("transform","translate("+(v+l+4)+", "+(x+l+2)+")")}r.setElementForId(h.id,g)}}))},"drawGroups"),WEe=o(async function(t,e,r){let n=xe();for(let i of r){let a=e.append("g"),s=t.getConfigField("iconSize");if(i.title){let f=a.append("g");await Ai(f,i.title,{useHtmlLabels:!1,width:s*1.5,classes:"architecture-service-label"},n),f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),f.attr("transform","translate("+s/2+", "+s+")")}let l=a.append("g");if(i.icon)l.html(`${await Ks(i.icon,{height:s,width:s,fallbackPrefix:Zm.prefix})}`);else if(i.iconText){l.html(`${await Ks("blank",{height:s,width:s,fallbackPrefix:Zm.prefix})}`);let p=l.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(fr(i.iconText,n)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id","node-"+i.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`);a.attr("id",`service-${i.id}`).attr("class","architecture-service");let{width:u,height:h}=a.node().getBBox();i.width=u,i.height=h,t.setElementForId(i.id,a)}return 0},"drawServices"),HEe=o(function(t,e,r){r.forEach(n=>{let i=e.append("g"),a=t.getConfigField("iconSize");i.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",a).attr("height",a),i.attr("class","architecture-junction");let{width:l,height:u}=i._groups[0][0].getBBox();i.width=l,i.height=u,t.setElementForId(n.id,i)})},"drawJunctions")});function Nft(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}function Mft(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}function Ift(t,e){e.nodes().map(r=>{let n=vp(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}function Oft(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}function Pft(t,e){t.forEach(r=>{let{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=g3(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${n}-${i}`,label:d,source:n,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:i,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function Bft(t,e,r){let n=o((l,u)=>Object.entries(l).reduce((h,[f,d])=>{let p=0,m=Object.entries(d);if(m.length===1)return h[f]=m[0][1],h;for(let g=0;g{let u={},h={};return Object.entries(l).forEach(([f,[d,p]])=>{let m=t.getNode(f)?.in??"default";u[p]??={},u[p][m]??=[],u[p][m].push(f),h[d]??={},h[d][m]??=[],h[d][m].push(f)}),{horiz:Object.values(n(u,"horizontal")).filter(f=>f.length>1),vert:Object.values(n(h,"vertical")).filter(f=>f.length>1)}}),[a,s]=i.reduce(([l,u],{horiz:h,vert:f})=>[[...l,...h],[...u,...f]],[[],[]]);return{horizontal:a,vertical:s}}function Fft(t,e){let r=[],n=o(a=>`${a[0]},${a[1]}`,"posToStr"),i=o(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{let s=Object.fromEntries(Object.entries(a).map(([f,d])=>[n(d),f])),l=[n([0,0])],u={},h={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;l.length>0;){let f=l.shift();if(f){u[f]=1;let d=s[f];if(d){let p=i(f);Object.entries(h).forEach(([m,g])=>{let y=n([p[0]+g[0],p[1]+g[1]]),v=s[y];v&&!u[y]&&(l.push(y),r.push({[hW[m]]:v,[hW[NEe(m)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}function $ft(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(l=>{let u=He("body").append("div").attr("id","cy").attr("style","display:none"),h=Al({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});u.remove(),Oft(r,h),Nft(t,h,i),Mft(e,h,i),Pft(n,h);let f=Bft(i,a,s),d=Fft(a,i),p=h.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(m){let[g,y]=m.connectedNodes(),{parent:v}=vp(g),{parent:x}=vp(y);return v===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(m){let[g,y]=m.connectedNodes(),{parent:v}=vp(g),{parent:x}=vp(y);return v===x?.45:.001},alignmentConstraint:f,relativePlacementConstraint:d});p.one("layoutstop",()=>{function m(g,y,v,x){let b,T,{x:E,y:w}=g,{x:k,y:C}=y;T=(x-w+(E-v)*(w-C)/(E-k))/Math.sqrt(1+Math.pow((w-C)/(E-k),2)),b=Math.sqrt(Math.pow(x-w,2)+Math.pow(v-E,2)-Math.pow(T,2));let D=Math.sqrt(Math.pow(k-E,2)+Math.pow(C-w,2));b=b/D;let R=(k-E)*(x-w)-(C-w)*(v-E);switch(!0){case R>=0:R=1;break;case R<0:R=-1;break}let O=(k-E)*(v-E)+(C-w)*(x-w);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}return T=Math.abs(T)*R,b=b*O,{distances:T,weights:b}}o(m,"getSegmentWeights"),h.startBatch();for(let g of Object.values(h.edges()))if(g.data?.()){let{x:y,y:v}=g.source().position(),{x,y:b}=g.target().position();if(y!==x&&v!==b){let T=g.sourceEndpoint(),E=g.targetEndpoint(),{sourceDir:w}=u8(g),[k,C]=Hu(w)?[T.x,E.y]:[E.x,T.y],{weights:D,distances:R}=m(T,E,k,C);g.style("segment-distances",R),g.style("segment-weights",D)}}h.endBatch(),p.run()}),p.run(),h.ready(m=>{X.info("Ready",m),l(h)})})}var jEe,zft,XEe,KEe=I(()=>{"use strict";cB();jEe=Aa(VEe(),1);kr();gt();Gc();Uu();Fi();TW();h8();YEe();xw([{name:Zm.prefix,icons:Zm}]);Al.use(jEe.default);o(Nft,"addServices");o(Mft,"addJunctions");o(Ift,"positionNodes");o(Oft,"addGroups");o(Pft,"addEdges");o(Bft,"getAlignments");o(Fft,"getRelativeConstraints");o($ft,"layoutArchitecture");zft=o(async(t,e,r,n)=>{let i=n.db,a=i.getServices(),s=i.getJunctions(),l=i.getGroups(),u=i.getEdges(),h=i.getDataStructures(),f=Ca(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await WEe(i,p,a),HEe(i,p,s);let g=await $ft(a,s,l,u,i,h);await qEe(d,g,i),await UEe(m,g,i),Ift(i,g),Vc(void 0,f,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),XEe={draw:zft}});var QEe={};vr(QEe,{diagram:()=>Gft});var Gft,ZEe=I(()=>{"use strict";$Ee();pW();GEe();KEe();Gft={parser:mW,get db(){return new Vv},renderer:XEe,styles:zEe}});var Uv,wW=I(()=>{"use strict";Ka();ti();sr();Vt();ki();Uv=class{constructor(){this.nodes=[];this.levels=new Map;this.outerNodes=[];this.classes=new Map;this.setAccTitle=zr;this.getAccTitle=Vr;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getAccDescription=Ur;this.setAccDescription=qr}static{o(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=gr,r=tr();return Qn({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{Zx(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Mr(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}}});function tCe(t){if(!t.length)return[];let e=[],r=[];return t.forEach(n=>{let i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=[n.cssCompiledStyles]),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{let a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}var rCe=I(()=>{"use strict";o(tCe,"buildHierarchy")});var Wft,Hft,kW,nCe=I(()=>{"use strict";sp();gt();$m();rCe();wW();Wft=o((t,e)=>{Pl(t,e);let r=[];for(let a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(let a of t.TreemapRows??[]){let s=a.item;if(!s)continue;let l=a.indent?parseInt(a.indent):0,u=Hft(s),h=s.classSelector?e.getStylesForClass(s.classSelector):[],f=h.length>0?h.join(";"):void 0,d={level:l,name:u,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:f};r.push(d)}let n=tCe(r),i=o((a,s)=>{for(let l of a)e.addNode(l,s),l.children&&l.children.length>0&&i(l.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Hft=o(t=>t.name?String(t.name):"","getItemName"),kW={parser:{yy:void 0},parse:o(async t=>{try{let r=await Vs("treemap",t);X.debug("Treemap AST:",r);let n=kW.parser?.yy;if(!(n instanceof Uv))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Wft(r,n)}catch(e){throw X.error("Error parsing treemap:",e),e}},"parse")}});var Yft,Wv,T3,jft,Xft,iCe,aCe=I(()=>{"use strict";Uu();Ad();Fi();kr();Vt();ti();gt();Yft=10,Wv=10,T3=25,jft=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),s=a.padding??Yft,l=i.getDiagramTitle(),u=i.getRoot(),{themeVariables:h}=tr();if(!u)return;let f=l?30:0,d=Ca(e),p=a.nodeWidth?a.nodeWidth*Wv:960,m=a.nodeHeight?a.nodeHeight*Wv:500,g=p,y=m+f;d.attr("viewBox",`0 0 ${g} ${y}`),Sn(d,y,g,a.useMaxWidth);let v;try{let _=a.valueFormat||",";if(_==="$0,0")v=o(N=>"$"+Yc(",")(N),"valueFormat");else if(_.startsWith("$")&&_.includes(",")){let N=/\.\d+/.exec(_),M=N?N[0]:"";v=o(P=>"$"+Yc(","+M)(P),"valueFormat")}else if(_.startsWith("$")){let N=_.substring(1);v=o(M=>"$"+Yc(N||"")(M),"valueFormat")}else v=Yc(_)}catch(_){X.error("Error creating format function:",_),v=Yc(",")}let x=Lo().range(["transparent",h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),b=Lo().range(["transparent",h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),T=Lo().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);l&&d.append("text").attr("x",g/2).attr("y",f/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(l);let E=d.append("g").attr("transform",`translate(0, ${f})`).attr("class","treemapContainer"),w=Cg(u).sum(_=>_.value??0).sort((_,N)=>(N.value??0)-(_.value??0)),C=m5().size([p,m]).paddingTop(_=>_.children&&_.children.length>0?T3+Wv:0).paddingInner(s).paddingLeft(_=>_.children&&_.children.length>0?Wv:0).paddingRight(_=>_.children&&_.children.length>0?Wv:0).paddingBottom(_=>_.children&&_.children.length>0?Wv:0).round(!0)(w),D=C.descendants().filter(_=>_.children&&_.children.length>0),R=E.selectAll(".treemapSection").data(D).enter().append("g").attr("class","treemapSection").attr("transform",_=>`translate(${_.x0},${_.y0})`);R.append("rect").attr("width",_=>_.x1-_.x0).attr("height",T3).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",_=>_.depth===0?"display: none;":""),R.append("clipPath").attr("id",(_,N)=>`clip-section-${e}-${N}`).append("rect").attr("width",_=>Math.max(0,_.x1-_.x0-12)).attr("height",T3),R.append("rect").attr("width",_=>_.x1-_.x0).attr("height",_=>_.y1-_.y0).attr("class",(_,N)=>`treemapSection section${N}`).attr("fill",_=>x(_.data.name)).attr("fill-opacity",.6).attr("stroke",_=>b(_.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",_=>{if(_.depth===0)return"display: none;";let N=Qe({cssCompiledStyles:_.data.cssCompiledStyles});return N.nodeStyles+";"+N.borderStyles.join(";")}),R.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",T3/2).attr("dominant-baseline","middle").text(_=>_.depth===0?"":_.data.name).attr("font-weight","bold").attr("style",_=>{if(_.depth===0)return"display: none;";let N="dominant-baseline: middle; font-size: 12px; fill:"+T(_.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",M=Qe({cssCompiledStyles:_.data.cssCompiledStyles});return N+M.labelStyles.replace("color:","fill:")}).each(function(_){if(_.depth===0)return;let N=He(this),M=_.data.name;N.text(M);let P=_.x1-_.x0,B=6,F;a.showValues!==!1&&_.value?F=P-10-30-10-B:F=P-B-6;let $=Math.max(15,F),V=N.node();if(V.getComputedTextLength()>$){let H=M;for(;H.length>0;){if(H=M.substring(0,H.length-1),H.length===0){N.text("..."),V.getComputedTextLength()>$&&N.text("");break}if(N.text(H+"..."),V.getComputedTextLength()<=$)break}}}),a.showValues!==!1&&R.append("text").attr("class","treemapSectionValue").attr("x",_=>_.x1-_.x0-10).attr("y",T3/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(_=>_.value?v(_.value):"").attr("font-style","italic").attr("style",_=>{if(_.depth===0)return"display: none;";let N="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(_.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",M=Qe({cssCompiledStyles:_.data.cssCompiledStyles});return N+M.labelStyles.replace("color:","fill:")});let O=C.leaves(),L=E.selectAll(".treemapLeafGroup").data(O).enter().append("g").attr("class",(_,N)=>`treemapNode treemapLeafGroup leaf${N}${_.data.classSelector?` ${_.data.classSelector}`:""}x`).attr("transform",_=>`translate(${_.x0},${_.y0})`);L.append("rect").attr("width",_=>_.x1-_.x0).attr("height",_=>_.y1-_.y0).attr("class","treemapLeaf").attr("fill",_=>_.parent?x(_.parent.data.name):x(_.data.name)).attr("style",_=>Qe({cssCompiledStyles:_.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",_=>_.parent?x(_.parent.data.name):x(_.data.name)).attr("stroke-width",3),L.append("clipPath").attr("id",(_,N)=>`clip-${e}-${N}`).append("rect").attr("width",_=>Math.max(0,_.x1-_.x0-4)).attr("height",_=>Math.max(0,_.y1-_.y0-4)),L.append("text").attr("class","treemapLabel").attr("x",_=>(_.x1-_.x0)/2).attr("y",_=>(_.y1-_.y0)/2).attr("style",_=>{let N="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(_.data.name)+";",M=Qe({cssCompiledStyles:_.data.cssCompiledStyles});return N+M.labelStyles.replace("color:","fill:")}).attr("clip-path",(_,N)=>`url(#clip-${e}-${N})`).text(_=>_.data.name).each(function(_){let N=He(this),M=_.x1-_.x0,P=_.y1-_.y0,B=N.node(),F=4,G=M-2*F,$=P-2*F;if(G<10||$<10){N.style("display","none");return}let V=parseInt(N.style("font-size"),10),K=8,ee=28,H=.6,he=6,Z=2;for(;B.getComputedTextLength()>G&&V>K;)V--,N.style("font-size",`${V}px`);let de=Math.max(he,Math.min(ee,Math.round(V*H))),re=V+Z+de;for(;re>$&&V>K&&(V--,de=Math.max(he,Math.min(ee,Math.round(V*H))),!(de$;N.style("font-size",`${V}px`),(B.getComputedTextLength()>G||V(N.x1-N.x0)/2).attr("y",function(N){return(N.y1-N.y0)/2}).attr("style",N=>{let M="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(N.data.name)+";",P=Qe({cssCompiledStyles:N.data.cssCompiledStyles});return M+P.labelStyles.replace("color:","fill:")}).attr("clip-path",(N,M)=>`url(#clip-${e}-${M})`).text(N=>N.value?v(N.value):"").each(function(N){let M=He(this),P=this.parentNode;if(!P){M.style("display","none");return}let B=He(P).select(".treemapLabel");if(B.empty()||B.style("display")==="none"){M.style("display","none");return}let F=parseFloat(B.style("font-size")),G=28,$=.6,V=6,K=2,ee=Math.max(V,Math.min(G,Math.round(F*$)));M.style("font-size",`${ee}px`);let he=(N.y1-N.y0)/2+F/2+K;M.attr("y",he);let Z=N.x1-N.x0,ne=N.y1-N.y0-4,te=Z-8;M.node().getComputedTextLength()>te||he+ee>ne||ee{"use strict";sr();Kft={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},Qft=o(({treemap:t}={})=>{let e=Qn(Kft,t);return` +`,"getStyles"),_Ce=bpt});var MW=nr((D3,NW)=>{"use strict";o((function(e,r){typeof D3=="object"&&typeof NW=="object"?NW.exports=r():typeof define=="function"&&define.amd?define([],r):typeof D3=="object"?D3.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(D3,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=28)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";var n=r(0);function i(){}o(i,"FDLayoutConstants");for(var a in n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=i.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var E=x.source.owner.getEdges().indexOf(x);if(E==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(E,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),E=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,E,w,k,S,A=this.nodes,L=A.length,I=0;IT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var L=0;v.forEach(function(I){I.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,C=!0):(l[0]=g,l[1]=m,C=!0):D===R&&(u>f?(l[0]=p,l[1]=m,C=!0):(l[0]=x,l[1]=v,C=!0)),-M===R?f>u?(l[2]=S,l[3]=A,_=!0):(l[2]=k,l[3]=w,_=!0):M===R&&(f>u?(l[2]=E,l[3]=w,_=!0):(l[2]=L,l[3]=A,_=!0)),C&&_)return!1;if(u>f?h>d?(P=this.getCardinalDirection(D,R,4),B=this.getCardinalDirection(M,R,2)):(P=this.getCardinalDirection(-D,R,3),B=this.getCardinalDirection(-M,R,1)):h>d?(P=this.getCardinalDirection(-D,R,1),B=this.getCardinalDirection(-M,R,3)):(P=this.getCardinalDirection(D,R,2),B=this.getCardinalDirection(M,R,4)),!C)switch(P){case 1:G=m,F=u+-T/R,l[0]=F,l[1]=G;break;case 2:F=x,G=h+b*R,l[0]=F,l[1]=G;break;case 3:G=v,F=u+T/R,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-b*R,l[0]=F,l[1]=G;break}if(!_)switch(B){case 1:V=w,$=f+-N/R,l[2]=$,l[3]=V;break;case 2:$=L,V=d+I*R,l[2]=$,l[3]=V;break;case 3:V=A,$=f+N/R,l[2]=$,l[3]=V;break;case 4:$=S,V=d+-I*R,l[2]=$,l[3]=V;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,E=void 0,w=void 0,k=void 0,S=void 0,A=void 0,L=void 0;return T=p-f,w=h-d,S=d*f-h*p,E=v-g,k=m-y,A=y*g-m*v,L=T*k-E*w,L===0?null:(x=(w*A-k*S)/L,b=(E*S-T*A)/L,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i}),(function(t,e,r){"use strict";function n(){}o(n,"IMath"),n.sign=function(i){return i>0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var S=k.getEdges(),x=0;x-1&&w.splice(N,1)}b=new Set,E=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var L=E.getNeighborsList();L.forEach(function(C){if(y.indexOf(C)<0){var _=v.get(C),D=_-1;D==1&&k.push(C),v.set(C,D)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(5);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var E=0;Eh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";function n(){}o(n,"SVD"),n.svd=function(i){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=i.length,this.n=i[0].length;var a=Math.min(this.m,this.n);this.s=(function(Rt){for(var it=[];Rt-- >0;)it.push(0);return it})(Math.min(this.m+1,this.n)),this.U=(function(Rt){var it=o(function at(Ct){if(Ct.length==0)return 0;for(var yt=[],dt=0;dt0;)it.push(0);return it})(this.n),l=(function(Rt){for(var it=[];Rt-- >0;)it.push(0);return it})(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;R--)if(this.s[R]!==0){for(var P=R+1;P=0;Q--){if((function(Rt,it){return Rt&&it})(Q0;){var de=void 0,Se=void 0;for(de=_-2;de>=-1&&de!==-1;de--)if(Math.abs(s[de])<=xe+Z*(Math.abs(this.s[de])+Math.abs(this.s[de+1]))){s[de]=0;break}if(de===_-2)Se=4;else{var Me=void 0;for(Me=_-1;Me>=de&&Me!==de;Me--){var ke=(Me!==_?Math.abs(s[Me]):0)+(Me!==de+1?Math.abs(s[Me-1]):0);if(Math.abs(this.s[Me])<=xe+Z*ke){this.s[Me]=0;break}}Me===de?Se=3:Me===_-1?Se=1:(Se=2,de=Me)}switch(de++,Se){case 1:{var we=s[_-2];s[_-2]=0;for(var _e=_-2;_e>=de;_e--){var $e=n.hypot(this.s[_e],we),fe=this.s[_e]/$e,Ke=we/$e;if(this.s[_e]=$e,_e!==de&&(we=-Ke*s[_e-1],s[_e-1]=fe*s[_e-1]),h)for(var Te=0;Te=this.s[de+1]);){var ot=this.s[de];if(this.s[de]=this.s[de+1],this.s[de+1]=ot,h&&deMath.abs(a)?(s=a/i,s=Math.abs(i)*Math.sqrt(1+s*s)):a!=0?(s=i/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof R3=="object"&&typeof IW=="object"?IW.exports=r(MW()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof R3=="object"?R3.coseBase=r(MW()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(R3,function(t){return(()=>{"use strict";var e={45:((a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u}),806:((a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h}),767:((a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),880:((a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),578:((a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),765:((a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,T=l(551).DimensionD,E=l(551).Layout,w=l(551).Integer,k=l(551).IGeometry,S=l(551).LGraph,A=l(551).Transform,L=l(551).LinkedList;function I(){u.call(this),this.toBeTiled={},this.constraints={}}o(I,"CoSELayout"),I.prototype=Object.create(u.prototype);for(var N in u)I[N]=u[N];I.prototype.newGraphManager=function(){var C=new h(this);return this.graphManager=C,C},I.prototype.newGraph=function(C){return new f(null,this.graphManager,C)},I.prototype.newNode=function(C){return new d(this.graphManager,C)},I.prototype.newEdge=function(C){return new p(null,null,C)},I.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},I.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},I.prototype.layout=function(){var C=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return C&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},I.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),D=this.nodesWithGravity.filter(function(P){return _.has(P)});this.graphManager.setAllNodesToApplyGravitation(D)}}else{var C=this.getFlatForest();if(C.length>0)this.positionNodesRadially(C);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),D=this.nodesWithGravity.filter(function(M){return _.has(M)});this.graphManager.setAllNodesToApplyGravitation(D),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},I.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var C=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(R){return C.has(R)});this.graphManager.setAllNodesToApplyGravitation(_),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var D=!this.isTreeGrowing&&!this.isGrowthFinished,M=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(D,M),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},I.prototype.getPositionsData=function(){for(var C=this.graphManager.getAllNodes(),_={},D=0;D0&&this.updateDisplacements();for(var D=0;D0&&(M.fixedNodeWeight=P)}}if(this.constraints.relativePlacementConstraint){var B=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Y){C.fixedNodesOnHorizontal.add(Y),C.fixedNodesOnVertical.add(Y)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var G=this.constraints.alignmentConstraint.vertical,D=0;D=2*Y.length/3;J--)le=Math.floor(Math.random()*(J+1)),ee=Y[J],Y[J]=Y[le],Y[le]=ee;return Y},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(Y){if(Y.left){var le=B.has(Y.left)?B.get(Y.left):Y.left,ee=B.has(Y.right)?B.get(Y.right):Y.right;C.nodesInRelativeHorizontal.includes(le)||(C.nodesInRelativeHorizontal.push(le),C.nodeToRelativeConstraintMapHorizontal.set(le,[]),C.dummyToNodeForVerticalAlignment.has(le)?C.nodeToTempPositionMapHorizontal.set(le,C.idToNodeMap.get(C.dummyToNodeForVerticalAlignment.get(le)[0]).getCenterX()):C.nodeToTempPositionMapHorizontal.set(le,C.idToNodeMap.get(le).getCenterX())),C.nodesInRelativeHorizontal.includes(ee)||(C.nodesInRelativeHorizontal.push(ee),C.nodeToRelativeConstraintMapHorizontal.set(ee,[]),C.dummyToNodeForVerticalAlignment.has(ee)?C.nodeToTempPositionMapHorizontal.set(ee,C.idToNodeMap.get(C.dummyToNodeForVerticalAlignment.get(ee)[0]).getCenterX()):C.nodeToTempPositionMapHorizontal.set(ee,C.idToNodeMap.get(ee).getCenterX())),C.nodeToRelativeConstraintMapHorizontal.get(le).push({right:ee,gap:Y.gap}),C.nodeToRelativeConstraintMapHorizontal.get(ee).push({left:le,gap:Y.gap})}else{var J=F.has(Y.top)?F.get(Y.top):Y.top,te=F.has(Y.bottom)?F.get(Y.bottom):Y.bottom;C.nodesInRelativeVertical.includes(J)||(C.nodesInRelativeVertical.push(J),C.nodeToRelativeConstraintMapVertical.set(J,[]),C.dummyToNodeForHorizontalAlignment.has(J)?C.nodeToTempPositionMapVertical.set(J,C.idToNodeMap.get(C.dummyToNodeForHorizontalAlignment.get(J)[0]).getCenterY()):C.nodeToTempPositionMapVertical.set(J,C.idToNodeMap.get(J).getCenterY())),C.nodesInRelativeVertical.includes(te)||(C.nodesInRelativeVertical.push(te),C.nodeToRelativeConstraintMapVertical.set(te,[]),C.dummyToNodeForHorizontalAlignment.has(te)?C.nodeToTempPositionMapVertical.set(te,C.idToNodeMap.get(C.dummyToNodeForHorizontalAlignment.get(te)[0]).getCenterY()):C.nodeToTempPositionMapVertical.set(te,C.idToNodeMap.get(te).getCenterY())),C.nodeToRelativeConstraintMapVertical.get(J).push({bottom:te,gap:Y.gap}),C.nodeToRelativeConstraintMapVertical.get(te).push({top:J,gap:Y.gap})}});else{var V=new Map,X=new Map;this.constraints.relativePlacementConstraint.forEach(function(Y){if(Y.left){var le=B.has(Y.left)?B.get(Y.left):Y.left,ee=B.has(Y.right)?B.get(Y.right):Y.right;V.has(le)?V.get(le).push(ee):V.set(le,[ee]),V.has(ee)?V.get(ee).push(le):V.set(ee,[le])}else{var J=F.has(Y.top)?F.get(Y.top):Y.top,te=F.has(Y.bottom)?F.get(Y.bottom):Y.bottom;X.has(J)?X.get(J).push(te):X.set(J,[te]),X.has(te)?X.get(te).push(J):X.set(te,[J])}});var Q=o(function(le,ee){var J=[],te=[],Z=new L,xe=new Set,de=0;return le.forEach(function(Se,Me){if(!xe.has(Me)){J[de]=[],te[de]=!1;var ke=Me;for(Z.push(ke),xe.add(ke),J[de].push(ke);Z.length!=0;){ke=Z.shift(),ee.has(ke)&&(te[de]=!0);var we=le.get(ke);we.forEach(function(_e){xe.has(_e)||(Z.push(_e),xe.add(_e),J[de].push(_e))})}de++}}),{components:J,isFixed:te}},"constructComponents"),H=Q(V,C.fixedNodesOnHorizontal);this.componentsOnHorizontal=H.components,this.fixedComponentsOnHorizontal=H.isFixed;var ie=Q(X,C.fixedNodesOnVertical);this.componentsOnVertical=ie.components,this.fixedComponentsOnVertical=ie.isFixed}}},I.prototype.updateDisplacements=function(){var C=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(ie){var Y=C.idToNodeMap.get(ie.nodeId);Y.displacementX=0,Y.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var _=this.constraints.alignmentConstraint.vertical,D=0;D<_.length;D++){for(var M=0,R=0;R<_[D].length;R++){if(this.fixedNodeSet.has(_[D][R])){M=0;break}M+=this.idToNodeMap.get(_[D][R]).displacementX}for(var P=M/_[D].length,R=0;R<_[D].length;R++)this.idToNodeMap.get(_[D][R]).displacementX=P}if(this.constraints.alignmentConstraint.horizontal)for(var B=this.constraints.alignmentConstraint.horizontal,D=0;D1){var F;for(F=0;FM&&(M=Math.floor(B.y)),P=Math.floor(B.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-B.x/2,v.WORLD_CENTER_Y-B.y/2))},I.radialLayout=function(C,_,D){var M=Math.max(this.maxDiagonalInTree(C),m.DEFAULT_RADIAL_SEPARATION);I.branchRadialLayout(_,null,0,359,0,M);var R=S.calculateBounds(C),P=new A;P.setDeviceOrgX(R.getMinX()),P.setDeviceOrgY(R.getMinY()),P.setWorldOrgX(D.x),P.setWorldOrgY(D.y);for(var B=0;B1;){var J=ee[0];ee.splice(0,1);var te=Q.indexOf(J);te>=0&&Q.splice(te,1),Y--,H--}_!=null?le=(Q.indexOf(ee[0])+1)%Y:le=0;for(var Z=Math.abs(M-D)/H,xe=le;ie!=H;xe=++xe%Y){var de=Q[xe].getOtherEnd(C);if(de!=_){var Se=(D+ie*Z)%360,Me=(Se+Z)%360;I.branchRadialLayout(de,C,Se,Me,R+P,P),ie++}}},I.maxDiagonalInTree=function(C){for(var _=w.MIN_VALUE,D=0;D_&&(_=R)}return _},I.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},I.prototype.groupZeroDegreeMembers=function(){var C=this,_={};this.memberGroups={},this.idToDummyNode={};for(var D=[],M=this.graphManager.getAllNodes(),R=0;R"u"&&(_[F]=[]),_[F]=_[F].concat(P)}Object.keys(_).forEach(function(G){if(_[G].length>1){var $="DummyCompound_"+G;C.memberGroups[$]=_[G];var V=_[G][0].getParent(),X=new d(C.graphManager);X.id=$,X.paddingLeft=V.paddingLeft||0,X.paddingRight=V.paddingRight||0,X.paddingBottom=V.paddingBottom||0,X.paddingTop=V.paddingTop||0,C.idToDummyNode[$]=X;var Q=C.getGraphManager().add(C.newGraph(),X),H=V.getChild();H.add(X);for(var ie=0;ie<_[G].length;ie++){var Y=_[G][ie];H.remove(Y),Q.add(Y)}}})},I.prototype.clearCompounds=function(){var C={},_={};this.performDFSOnCompounds();for(var D=0;DR?(M.rect.x-=(M.labelWidth-R)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-R)/2):M.labelPosHorizontal=="right"&&M.setWidth(R+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(P+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>P?(M.rect.y-=(M.labelHeight-P)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-P)/2):M.labelPosVertical=="bottom"&&M.setHeight(P+M.labelHeight))}})},I.prototype.repopulateCompounds=function(){for(var C=this.compoundOrder.length-1;C>=0;C--){var _=this.compoundOrder[C],D=_.id,M=_.paddingLeft,R=_.paddingTop,P=_.labelMarginLeft,B=_.labelMarginTop;this.adjustLocations(this.tiledMemberPack[D],_.rect.x,_.rect.y,M,R,P,B)}},I.prototype.repopulateZeroDegreeMembers=function(){var C=this,_=this.tiledZeroDegreePack;Object.keys(_).forEach(function(D){var M=C.idToDummyNode[D],R=M.paddingLeft,P=M.paddingTop,B=M.labelMarginLeft,F=M.labelMarginTop;C.adjustLocations(_[D],M.rect.x,M.rect.y,R,P,B,F)})},I.prototype.getToBeTiled=function(C){var _=C.id;if(this.toBeTiled[_]!=null)return this.toBeTiled[_];var D=C.getChild();if(D==null)return this.toBeTiled[_]=!1,!1;for(var M=D.getNodes(),R=0;R0)return this.toBeTiled[_]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[_]=!1,!1}return this.toBeTiled[_]=!0,!0},I.prototype.getNodeDegree=function(C){for(var _=C.id,D=C.getEdges(),M=0,R=0;RV&&(V=Q.rect.height)}D+=V+C.verticalPadding}},I.prototype.tileCompoundMembers=function(C,_){var D=this;this.tiledMemberPack=[],Object.keys(C).forEach(function(M){var R=_[M];if(D.tiledMemberPack[M]=D.tileNodes(C[M],R.paddingLeft+R.paddingRight),R.rect.width=D.tiledMemberPack[M].width,R.rect.height=D.tiledMemberPack[M].height,R.setCenter(D.tiledMemberPack[M].centerX,D.tiledMemberPack[M].centerY),R.labelMarginLeft=0,R.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var P=R.rect.width,B=R.rect.height;R.labelWidth&&(R.labelPosHorizontal=="left"?(R.rect.x-=R.labelWidth,R.setWidth(P+R.labelWidth),R.labelMarginLeft=R.labelWidth):R.labelPosHorizontal=="center"&&R.labelWidth>P?(R.rect.x-=(R.labelWidth-P)/2,R.setWidth(R.labelWidth),R.labelMarginLeft=(R.labelWidth-P)/2):R.labelPosHorizontal=="right"&&R.setWidth(P+R.labelWidth)),R.labelHeight&&(R.labelPosVertical=="top"?(R.rect.y-=R.labelHeight,R.setHeight(B+R.labelHeight),R.labelMarginTop=R.labelHeight):R.labelPosVertical=="center"&&R.labelHeight>B?(R.rect.y-=(R.labelHeight-B)/2,R.setHeight(R.labelHeight),R.labelMarginTop=(R.labelHeight-B)/2):R.labelPosVertical=="bottom"&&R.setHeight(B+R.labelHeight))}})},I.prototype.tileNodes=function(C,_){var D=this.tileNodesByFavoringDim(C,_,!0),M=this.tileNodesByFavoringDim(C,_,!1),R=this.getOrgRatio(D),P=this.getOrgRatio(M),B;return PF&&(F=ie.getWidth())});var G=P/R,$=B/R,V=Math.pow(D-M,2)+4*(G+M)*($+D)*R,X=(M-D+Math.sqrt(V))/(2*(G+M)),Q;_?(Q=Math.ceil(X),Q==X&&Q++):Q=Math.floor(X);var H=Q*(G+M)-M;return F>H&&(H=F),H+=M*2,H},I.prototype.tileNodesByFavoringDim=function(C,_,D){var M=m.TILING_PADDING_VERTICAL,R=m.TILING_PADDING_HORIZONTAL,P=m.TILING_COMPARE_BY,B={rows:[],rowWidth:[],rowHeight:[],width:0,height:_,verticalPadding:M,horizontalPadding:R,centerX:0,centerY:0};P&&(B.idealRowWidth=this.calcIdealRowWidth(C,D));var F=o(function(Y){return Y.rect.width*Y.rect.height},"getNodeArea"),G=o(function(Y,le){return F(le)-F(Y)},"areaCompareFcn");C.sort(function(ie,Y){var le=G;return B.idealRowWidth?(le=P,le(ie.id,Y.id)):le(ie,Y)});for(var $=0,V=0,X=0;X0&&(B+=C.horizontalPadding),C.rowWidth[D]=B,C.width0&&(F+=C.verticalPadding);var G=0;F>C.rowHeight[D]&&(G=C.rowHeight[D],C.rowHeight[D]=F,G=C.rowHeight[D]-G),C.height+=G,C.rows[D].push(_)},I.prototype.getShortestRowIndex=function(C){for(var _=-1,D=Number.MAX_VALUE,M=0;MD&&(_=M,D=C.rowWidth[M]);return _},I.prototype.canAddHorizontal=function(C,_,D){if(C.idealRowWidth){var M=C.rows.length-1,R=C.rowWidth[M];return R+_+C.horizontalPadding<=C.idealRowWidth}var P=this.getShortestRowIndex(C);if(P<0)return!0;var B=C.rowWidth[P];if(B+C.horizontalPadding+_<=C.width)return!0;var F=0;C.rowHeight[P]0&&(F=D+C.verticalPadding-C.rowHeight[P]);var G;C.width-B>=_+C.horizontalPadding?G=(C.height+F)/(B+_+C.horizontalPadding):G=(C.height+F)/C.width,F=D+C.verticalPadding;var $;return C.width<_?$=(C.height+F)/_:$=(C.height+F)/C.width,$<1&&($=1/$),G<1&&(G=1/G),G<$},I.prototype.shiftToLastRow=function(C){var _=this.getLongestRowIndex(C),D=C.rowWidth.length-1,M=C.rows[_],R=M[M.length-1],P=R.width+C.horizontalPadding;if(C.width-C.rowWidth[D]>P&&_!=D){M.splice(-1,1),C.rows[D].push(R),C.rowWidth[_]=C.rowWidth[_]-P,C.rowWidth[D]=C.rowWidth[D]+P,C.width=C.rowWidth[instance.getLongestRowIndex(C)];for(var B=Number.MIN_VALUE,F=0;FB&&(B=M[F].height);_>0&&(B+=C.verticalPadding);var G=C.rowHeight[_]+C.rowHeight[D];C.rowHeight[_]=B,C.rowHeight[D]0)for(var H=R;H<=P;H++)Q[0]+=this.grid[H][B-1].length+this.grid[H][B].length-1;if(P0)for(var H=B;H<=F;H++)Q[3]+=this.grid[R-1][H].length+this.grid[R][H].length-1;for(var ie=w.MAX_VALUE,Y,le,ee=0;ee{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var et=0;oe.forEach(function(ot){ce=="horizontal"?(me.set(ot,x.has(ot)?b[x.get(ot)]:ne.get(ot)),et+=me.get(ot)):(me.set(ot,x.has(ot)?T[x.get(ot)]:ne.get(ot)),et+=me.get(ot))}),et=et/oe.length,Xe.forEach(function(ot){z.has(ot)||me.set(ot,et)})}else{var he=0;Xe.forEach(function(ot){ce=="horizontal"?he+=x.has(ot)?b[x.get(ot)]:ne.get(ot):he+=x.has(ot)?T[x.get(ot)]:ne.get(ot)}),he=he/Xe.length,Xe.forEach(function(ot){me.set(ot,he)})}});for(var Ie=o(function(){var oe=ge.shift(),et=U.get(oe);et.forEach(function(he){if(me.get(he.id)ot&&(ot=yt),dtDt&&(Dt=dt)}}catch(_n){wt=!0,Rt=_n}finally{try{!It&&it.return&&it.return()}finally{if(wt)throw Rt}}var Ht=(et+ot)/2-(he+Dt)/2,cr=!0,Kt=!1,kr=void 0;try{for(var ur=Xe[Symbol.iterator](),tr;!(cr=(tr=ur.next()).done);cr=!0){var hr=tr.value;me.set(hr,me.get(hr)+Ht)}}catch(_n){Kt=!0,kr=_n}finally{try{!cr&&ur.return&&ur.return()}finally{if(Kt)throw kr}}})}return me},"findAppropriatePositionForRelativePlacement"),N=o(function(U){var ce=0,z=0,ne=0,se=0;if(U.forEach(function(Re){Re.left?b[x.get(Re.left)]-b[x.get(Re.right)]>=0?ce++:z++:T[x.get(Re.top)]-T[x.get(Re.bottom)]>=0?ne++:se++}),ce>z&&ne>se)for(var be=0;bez)for(var pe=0;pese)for(var me=0;me1)y.fixedNodeConstraint.forEach(function(ae,U){M[U]=[ae.position.x,ae.position.y],R[U]=[b[x.get(ae.nodeId)],T[x.get(ae.nodeId)]]}),P=!0;else if(y.alignmentConstraint)(function(){var ae=0;if(y.alignmentConstraint.vertical){for(var U=y.alignmentConstraint.vertical,ce=o(function(me){var Re=new Set;U[me].forEach(function(qe){Re.add(qe)});var ge=new Set([].concat(u(Re)).filter(function(qe){return F.has(qe)})),Ie=void 0;ge.size>0?Ie=b[x.get(ge.values().next().value)]:Ie=L(Re).x,U[me].forEach(function(qe){M[ae]=[Ie,T[x.get(qe)]],R[ae]=[b[x.get(qe)],T[x.get(qe)]],ae++})},"_loop2"),z=0;z0?Ie=b[x.get(ge.values().next().value)]:Ie=L(Re).y,ne[me].forEach(function(qe){M[ae]=[b[x.get(qe)],Ie],R[ae]=[b[x.get(qe)],T[x.get(qe)]],ae++})},"_loop3"),be=0;beX&&(X=V[H].length,Q=H);if(X<$.size/2)N(y.relativePlacementConstraint),P=!1,B=!1;else{var ie=new Map,Y=new Map,le=[];V[Q].forEach(function(ae){G.get(ae).forEach(function(U){U.direction=="horizontal"?(ie.has(ae)?ie.get(ae).push(U):ie.set(ae,[U]),ie.has(U.id)||ie.set(U.id,[]),le.push({left:ae,right:U.id})):(Y.has(ae)?Y.get(ae).push(U):Y.set(ae,[U]),Y.has(U.id)||Y.set(U.id,[]),le.push({top:ae,bottom:U.id}))})}),N(le),B=!1;var ee=I(ie,"horizontal"),J=I(Y,"vertical");V[Q].forEach(function(ae,U){R[U]=[b[x.get(ae)],T[x.get(ae)]],M[U]=[],ee.has(ae)?M[U][0]=ee.get(ae):M[U][0]=b[x.get(ae)],J.has(ae)?M[U][1]=J.get(ae):M[U][1]=T[x.get(ae)]}),P=!0}}if(P){for(var te=void 0,Z=d.transpose(M),xe=d.transpose(R),de=0;de0){var fe={x:0,y:0};y.fixedNodeConstraint.forEach(function(ae,U){var ce={x:b[x.get(ae.nodeId)],y:T[x.get(ae.nodeId)]},z=ae.position,ne=A(z,ce);fe.x+=ne.x,fe.y+=ne.y}),fe.x/=y.fixedNodeConstraint.length,fe.y/=y.fixedNodeConstraint.length,b.forEach(function(ae,U){b[U]+=fe.x}),T.forEach(function(ae,U){T[U]+=fe.y}),y.fixedNodeConstraint.forEach(function(ae){b[x.get(ae.nodeId)]=ae.position.x,T[x.get(ae.nodeId)]=ae.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Ke=y.alignmentConstraint.vertical,Te=o(function(U){var ce=new Set;Ke[U].forEach(function(se){ce.add(se)});var z=new Set([].concat(u(ce)).filter(function(se){return F.has(se)})),ne=void 0;z.size>0?ne=b[x.get(z.values().next().value)]:ne=L(ce).x,ce.forEach(function(se){F.has(se)||(b[x.get(se)]=ne)})},"_loop4"),Be=0;Be0?ne=T[x.get(z.values().next().value)]:ne=L(ce).y,ce.forEach(function(se){F.has(se)||(T[x.get(se)]=ne)})},"_loop5"),Ne=0;Ne{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(45);return i})()})});var RCe=nr((L3,PW)=>{"use strict";o((function(e,r){typeof L3=="object"&&typeof PW=="object"?PW.exports=r(OW()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof L3=="object"?L3.cytoscapeFcose=r(OW()):e.cytoscapeFcose=r(e.coseBase)}),"webpackUniversalModuleDefinition")(L3,function(t){return(()=>{"use strict";var e={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=(function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),T;!(y=(T=b.next()).done)&&(g.push(T.value),!(m&&g.length===m));y=!0);}catch(E){v=!0,x=E}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&P.merge($)});for(var B=0;B1){T=x[0],E=T.connectedEdges().length,x.forEach(function(R){R.connectedEdges().length0&&g.set("dummy"+(g.size+1),S),A},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,T=!1,E=void 0;try{for(var w=p.nodeIndexes[Symbol.iterator](),k;!(b=(k=w.next()).done);b=!0){var S=k.value,A=u(S,2),L=A[0],I=A[1],N=m.cy.getElementById(L);if(N){var C=N.boundingBox(),_=p.xCoords[I]-C.w/2,D=p.xCoords[I]+C.w/2,M=p.yCoords[I]-C.h/2,R=p.yCoords[I]+C.h/2;_y&&(y=D),Mx&&(x=R)}}}catch($){T=!0,E=$}finally{try{!b&&w.return&&w.return()}finally{if(T)throw E}}var P=d.x-(y+g)/2,B=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function($){return $+P}),p.yCoords=p.yCoords.map(function($){return $+B})}else{Object.keys(p).forEach(function($){var V=p[$],X=V.getRect().x,Q=V.getRect().x+V.getRect().width,H=V.getRect().y,ie=V.getRect().y+V.getRect().height;Xy&&(y=Q),Hx&&(x=ie)});var F=d.x-(y+g)/2,G=d.y-(x+v)/2;Object.keys(p).forEach(function($){var V=p[$];V.setCenter(V.getCenterX()+F,V.getCenterY()+G)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,T=void 0,E=void 0,w=void 0,k=void 0,S=d.descendants().not(":parent"),A=S.length,L=0;LT&&(y=T),vw&&(x=w),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,T){var E=b.cy,w=b.eles,k=w.nodes(),S=w.edges(),A=void 0,L=void 0,I=void 0,N={};b.randomize&&(A=T.nodeIndexes,L=T.xCoords,I=T.yCoords);var C=o(function($){return typeof $=="function"},"isFn"),_=o(function($,V){return C($)?$(V):$},"optFn"),D=u.calcParentsWithoutChildren(E,w),M=o(function G($,V,X,Q){for(var H=V.length,ie=0;ie0){var Z=void 0;Z=X.getGraphManager().add(X.newGraph(),ee),G(Z,le,X,Q)}}},"processChildrenList"),R=o(function($,V,X){for(var Q=0,H=0,ie=0;ie0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=Q/H:C(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),P=o(function($,V){V.fixedNodeConstraint&&($.constraints.fixedNodeConstraint=V.fixedNodeConstraint),V.alignmentConstraint&&($.constraints.alignmentConstraint=V.alignmentConstraint),V.relativePlacementConstraint&&($.constraints.relativePlacementConstraint=V.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var B=new h,F=B.newGraphManager();return M(F.addRoot(),u.getTopMostNodes(k),B,b),R(B,F,S),P(B,b),B.runLayout(),N},"coseLayout");a.exports={coseLayout:v}}),212:((a,s,l)=>{var u=(function(){function b(T,E){for(var w=0;w0)if(R){var F=d.getTopMostNodes(w.eles.nodes());if(C=d.connectComponents(k,w.eles,F),C.forEach(function(ke){var we=ke.boundingBox();_.push({x:we.x1+we.w/2,y:we.y1+we.h/2})}),w.randomize&&C.forEach(function(ke){w.eles=ke,A.push(m(w))}),w.quality=="default"||w.quality=="proof"){var G=k.collection();if(w.tile){var $=new Map,V=[],X=[],Q=0,H={nodeIndexes:$,xCoords:V,yCoords:X},ie=[];if(C.forEach(function(ke,we){ke.edges().length==0&&(ke.nodes().forEach(function(_e,$e){G.merge(ke.nodes()[$e]),_e.isParent()||(H.nodeIndexes.set(ke.nodes()[$e].id(),Q++),H.xCoords.push(ke.nodes()[0].position().x),H.yCoords.push(ke.nodes()[0].position().y))}),ie.push(we))}),G.length>1){var Y=G.boundingBox();_.push({x:Y.x1+Y.w/2,y:Y.y1+Y.h/2}),C.push(G),A.push(H);for(var le=ie.length-1;le>=0;le--)C.splice(ie[le],1),A.splice(ie[le],1),_.splice(ie[le],1)}}C.forEach(function(ke,we){w.eles=ke,N.push(y(w,A[we])),d.relocateComponent(_[we],N[we],w)})}else C.forEach(function(ke,we){d.relocateComponent(_[we],A[we],w)});var ee=new Set;if(C.length>1){var J=[],te=S.filter(function(ke){return ke.css("display")=="none"});C.forEach(function(ke,we){var _e=void 0;if(w.quality=="draft"&&(_e=A[we].nodeIndexes),ke.nodes().not(te).length>0){var $e={};$e.edges=[],$e.nodes=[];var fe=void 0;ke.nodes().not(te).forEach(function(Ke){if(w.quality=="draft")if(!Ke.isParent())fe=_e.get(Ke.id()),$e.nodes.push({x:A[we].xCoords[fe]-Ke.boundingbox().w/2,y:A[we].yCoords[fe]-Ke.boundingbox().h/2,width:Ke.boundingbox().w,height:Ke.boundingbox().h});else{var Te=d.calcBoundingBox(Ke,A[we].xCoords,A[we].yCoords,_e);$e.nodes.push({x:Te.topLeftX,y:Te.topLeftY,width:Te.width,height:Te.height})}else N[we][Ke.id()]&&$e.nodes.push({x:N[we][Ke.id()].getLeft(),y:N[we][Ke.id()].getTop(),width:N[we][Ke.id()].getWidth(),height:N[we][Ke.id()].getHeight()})}),ke.edges().forEach(function(Ke){var Te=Ke.source(),Be=Ke.target();if(Te.css("display")!="none"&&Be.css("display")!="none")if(w.quality=="draft"){var Ue=_e.get(Te.id()),Ge=_e.get(Be.id()),Ne=[],We=[];if(Te.isParent()){var j=d.calcBoundingBox(Te,A[we].xCoords,A[we].yCoords,_e);Ne.push(j.topLeftX+j.width/2),Ne.push(j.topLeftY+j.height/2)}else Ne.push(A[we].xCoords[Ue]),Ne.push(A[we].yCoords[Ue]);if(Be.isParent()){var ae=d.calcBoundingBox(Be,A[we].xCoords,A[we].yCoords,_e);We.push(ae.topLeftX+ae.width/2),We.push(ae.topLeftY+ae.height/2)}else We.push(A[we].xCoords[Ge]),We.push(A[we].yCoords[Ge]);$e.edges.push({startX:Ne[0],startY:Ne[1],endX:We[0],endY:We[1]})}else N[we][Te.id()]&&N[we][Be.id()]&&$e.edges.push({startX:N[we][Te.id()].getCenterX(),startY:N[we][Te.id()].getCenterY(),endX:N[we][Be.id()].getCenterX(),endY:N[we][Be.id()].getCenterY()})}),$e.nodes.length>0&&(J.push($e),ee.add(we))}});var Z=M.packComponents(J,w.randomize).shifts;if(w.quality=="draft")A.forEach(function(ke,we){var _e=ke.xCoords.map(function(fe){return fe+Z[we].dx}),$e=ke.yCoords.map(function(fe){return fe+Z[we].dy});ke.xCoords=_e,ke.yCoords=$e});else{var xe=0;ee.forEach(function(ke){Object.keys(N[ke]).forEach(function(we){var _e=N[ke][we];_e.setCenter(_e.getCenterX()+Z[xe].dx,_e.getCenterY()+Z[xe].dy)}),xe++})}}}else{var P=w.eles.boundingBox();if(_.push({x:P.x1+P.w/2,y:P.y1+P.h/2}),w.randomize){var B=m(w);A.push(B)}w.quality=="default"||w.quality=="proof"?(N.push(y(w,A[0])),d.relocateComponent(_[0],N[0],w)):d.relocateComponent(_[0],A[0],w)}var de=o(function(we,_e){if(w.quality=="default"||w.quality=="proof"){typeof we=="number"&&(we=_e);var $e=void 0,fe=void 0,Ke=we.data("id");return N.forEach(function(Be){Ke in Be&&($e={x:Be[Ke].getRect().getCenterX(),y:Be[Ke].getRect().getCenterY()},fe=Be[Ke])}),w.nodeDimensionsIncludeLabels&&(fe.labelWidth&&(fe.labelPosHorizontal=="left"?$e.x+=fe.labelWidth/2:fe.labelPosHorizontal=="right"&&($e.x-=fe.labelWidth/2)),fe.labelHeight&&(fe.labelPosVertical=="top"?$e.y+=fe.labelHeight/2:fe.labelPosVertical=="bottom"&&($e.y-=fe.labelHeight/2))),$e==null&&($e={x:we.position("x"),y:we.position("y")}),{x:$e.x,y:$e.y}}else{var Te=void 0;return A.forEach(function(Be){var Ue=Be.nodeIndexes.get(we.id());Ue!=null&&(Te={x:Be.xCoords[Ue],y:Be.yCoords[Ue]})}),Te==null&&(Te={x:we.position("x"),y:we.position("y")}),{x:Te.x,y:Te.y}}},"getPositions");if(w.quality=="default"||w.quality=="proof"||w.randomize){var Se=d.calcParentsWithoutChildren(k,S),Me=S.filter(function(ke){return ke.css("display")=="none"});w.eles=S.not(Me),S.nodes().not(":parent").not(Me).layoutPositions(E,w,de),Se.length>0&&Se.forEach(function(ke){ke.position(de(ke))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b})();a.exports=x}),657:((a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,T=new Map,E=new Map,w=[],k=[],S=[],A=[],L=[],I=[],N=[],C=[],_=void 0,D=void 0,M=1e8,R=1e-9,P=m.piTol,B=m.samplingType,F=m.nodeSeparation,G=void 0,$=o(function(){for(var ce=0,z=0,ne=!1;z=be;){me=se[be++];for(var Xe=w[me],oe=0;oeIe&&(Ie=L[he],qe=he)}return qe},"BFS"),X=o(function(ce){var z=void 0;if(ce){z=Math.floor(Math.random()*D),_=z;for(var se=0;se=1)break;Ie=ge}for(var Xe=0;Xe=1)break;Ie=ge}for(var et=0;et0&&(z.isParent()?w[ce].push(E.get(z.id())):w[ce].push(z.id()))})});var Se=o(function(ce){var z=T.get(ce),ne=void 0;b.get(ce).forEach(function(se){g.getElementById(se).isParent()?ne=E.get(se):ne=se,w[z].push(ne),w[T.get(ne)].push(ce)})},"_loop"),Me=!0,ke=!1,we=void 0;try{for(var _e=b.keys()[Symbol.iterator](),$e;!(Me=($e=_e.next()).done);Me=!0){var fe=$e.value;Se(fe)}}catch(U){ke=!0,we=U}finally{try{!Me&&_e.return&&_e.return()}finally{if(ke)throw we}}D=T.size;var Ke=void 0;if(D>2){G=D{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h}),140:(a=>{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(579);return i})()})});var Qv,rg,BW=O(()=>{"use strict";Xc();Qv=o(t=>`${t}`,"wrapIcon"),rg={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Qv('')},server:{body:Qv('')},disk:{body:Qv('')},internet:{body:Qv('')},cloud:{body:Qv('')},unknown:yD,blank:{body:Qv("")}}}});var LCe,NCe,MCe,ICe,OCe=O(()=>{"use strict";jt();co();Xc();Ur();BW();k_();ar();LCe=o(async function(t,e,r){let n=r.getConfigField("padding"),i=r.getConfigField("iconSize"),a=i/2,s=i/6,l=s/2;await Promise.all(e.edges().map(async u=>{let{source:h,sourceDir:f,sourceArrow:d,sourceGroup:p,target:m,targetDir:g,targetArrow:y,targetGroup:v,label:x}=w_(u),{x:b,y:T}=u[0].sourceEndpoint(),{x:E,y:w}=u[0].midpoint(),{x:k,y:S}=u[0].targetEndpoint(),A=n+4;if(p&&(vs(f)?b+=f==="L"?-A:A:T+=f==="T"?-A:A+18),v&&(vs(g)?k+=g==="L"?-A:A:S+=g==="T"?-A:A+18),!p&&r.getNode(h)?.type==="junction"&&(vs(f)?b+=f==="L"?a:-a:T+=f==="T"?a:-a),!v&&r.getNode(m)?.type==="junction"&&(vs(g)?k+=g==="L"?a:-a:S+=g==="T"?a:-a),u[0]._private.rscratch){let L=t.insert("g");if(L.insert("path").attr("d",`M ${b},${T} L ${E},${w} L${k},${S} `).attr("class","edge").attr("id",hu(h,m,{prefix:"L"})),d){let I=vs(f)?C3[f](b,s):b-l,N=Zu(f)?C3[f](T,s):T-l;L.insert("polygon").attr("points",_W[f](s)).attr("transform",`translate(${I},${N})`).attr("class","arrow")}if(y){let I=vs(g)?C3[g](k,s):k-l,N=Zu(g)?C3[g](S,s):S-l;L.insert("polygon").attr("points",_W[g](s)).attr("transform",`translate(${I},${N})`).attr("class","arrow")}if(x){let I=A3(f,g)?"XY":vs(f)?"X":"Y",N=0;I==="X"?N=Math.abs(b-k):I==="Y"?N=Math.abs(T-S)/1.5:N=Math.abs(b-k)/2;let C=L.append("g");if(await Fn(C,x,{useHtmlLabels:!1,width:N,classes:"architecture-service-label"},ve()),C.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),I==="X")C.attr("transform","translate("+E+", "+w+")");else if(I==="Y")C.attr("transform","translate("+E+", "+w+") rotate(-90)");else if(I==="XY"){let _=_3(f,g);if(_&&TCe(_)){let D=C.node().getBoundingClientRect(),[M,R]=kCe(_);C.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*M*R*45})`);let P=C.node().getBoundingClientRect();C.attr("transform",` + translate(${E}, ${w-D.height/2}) + translate(${M*P.width/2}, ${R*P.height/2}) + rotate(${-1*M*R*45}, 0, ${D.height/2}) + `)}}}}}))},"drawEdges"),NCe=o(async function(t,e,r){let i=r.getConfigField("padding")*.75,a=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{let h=Tp(u);if(h.type==="group"){let{h:f,w:d,x1:p,y1:m}=u.boundingBox(),g=t.append("rect");g.attr("id",`group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",d).attr("height",f).attr("class","node-bkg");let y=t.append("g"),v=p,x=m;if(h.icon){let b=y.append("g");b.html(`${await eo(h.icon,{height:i,width:i,fallbackPrefix:rg.prefix})}`),b.attr("transform","translate("+(v+l+1)+", "+(x+l+1)+")"),v+=i,x+=a/2-1-2}if(h.label){let b=y.append("g");await Fn(b,h.label,{useHtmlLabels:!1,width:d,classes:"architecture-service-label"},ve()),b.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),b.attr("transform","translate("+(v+l+4)+", "+(x+l+2)+")")}r.setElementForId(h.id,g)}}))},"drawGroups"),MCe=o(async function(t,e,r){let n=ve();for(let i of r){let a=e.append("g"),s=t.getConfigField("iconSize");if(i.title){let f=a.append("g");await Fn(f,i.title,{useHtmlLabels:!1,width:s*1.5,classes:"architecture-service-label"},n),f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),f.attr("transform","translate("+s/2+", "+s+")")}let l=a.append("g");if(i.icon)l.html(`${await eo(i.icon,{height:s,width:s,fallbackPrefix:rg.prefix})}`);else if(i.iconText){l.html(`${await eo("blank",{height:s,width:s,fallbackPrefix:rg.prefix})}`);let p=l.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(wr(i.iconText,n)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id","node-"+i.id).attr("d",`M0,${s} V5 Q0,0 5,0 H${s-5} Q${s},0 ${s},5 V${s} Z`);a.attr("id",`service-${i.id}`).attr("class","architecture-service");let{width:u,height:h}=a.node().getBBox();i.width=u,i.height=h,t.setElementForId(i.id,a)}return 0},"drawServices"),ICe=o(function(t,e,r){r.forEach(n=>{let i=e.append("g"),a=t.getConfigField("iconSize");i.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",a).attr("height",a),i.attr("class","architecture-junction");let{width:l,height:u}=i._groups[0][0].getBBox();i.width=l,i.height=u,t.setElementForId(n.id,i)})},"drawJunctions")});function Tpt(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}function wpt(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}function kpt(t,e){e.nodes().map(r=>{let n=Tp(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}function Ept(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}function Spt(t,e){t.forEach(r=>{let{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=A3(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${n}-${i}`,label:d,source:n,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:i,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function Cpt(t,e,r){let n=o((l,u)=>Object.entries(l).reduce((h,[f,d])=>{let p=0,m=Object.entries(d);if(m.length===1)return h[f]=m[0][1],h;for(let g=0;g{let u={},h={};return Object.entries(l).forEach(([f,[d,p]])=>{let m=t.getNode(f)?.in??"default";u[p]??={},u[p][m]??=[],u[p][m].push(f),h[d]??={},h[d][m]??=[],h[d][m].push(f)}),{horiz:Object.values(n(u,"horizontal")).filter(f=>f.length>1),vert:Object.values(n(h,"vertical")).filter(f=>f.length>1)}}),[a,s]=i.reduce(([l,u],{horiz:h,vert:f})=>[[...l,...h],[...u,...f]],[[],[]]);return{horizontal:a,vertical:s}}function Apt(t,e){let r=[],n=o(a=>`${a[0]},${a[1]}`,"posToStr"),i=o(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{let s=Object.fromEntries(Object.entries(a).map(([f,d])=>[n(d),f])),l=[n([0,0])],u={},h={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;l.length>0;){let f=l.shift();if(f){u[f]=1;let d=s[f];if(d){let p=i(f);Object.entries(h).forEach(([m,g])=>{let y=n([p[0]+g[0],p[1]+g[1]]),v=s[y];v&&!u[y]&&(l.push(y),r.push({[AW[m]]:v,[AW[bCe(m)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}function _pt(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(l=>{let u=je("body").append("div").attr("id","cy").attr("style","display:none"),h=Il({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});u.remove(),Ept(r,h),Tpt(t,h,i),wpt(e,h,i),Spt(n,h);let f=Cpt(i,a,s),d=Apt(a,i),p=h.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(m){let[g,y]=m.connectedNodes(),{parent:v}=Tp(g),{parent:x}=Tp(y);return v===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(m){let[g,y]=m.connectedNodes(),{parent:v}=Tp(g),{parent:x}=Tp(y);return v===x?.45:.001},alignmentConstraint:f,relativePlacementConstraint:d});p.one("layoutstop",()=>{function m(g,y,v,x){let b,T,{x:E,y:w}=g,{x:k,y:S}=y;T=(x-w+(E-v)*(w-S)/(E-k))/Math.sqrt(1+Math.pow((w-S)/(E-k),2)),b=Math.sqrt(Math.pow(x-w,2)+Math.pow(v-E,2)-Math.pow(T,2));let A=Math.sqrt(Math.pow(k-E,2)+Math.pow(S-w,2));b=b/A;let L=(k-E)*(x-w)-(S-w)*(v-E);switch(!0){case L>=0:L=1;break;case L<0:L=-1;break}let I=(k-E)*(v-E)+(S-w)*(x-w);switch(!0){case I>=0:I=1;break;case I<0:I=-1;break}return T=Math.abs(T)*L,b=b*I,{distances:T,weights:b}}o(m,"getSegmentWeights"),h.startBatch();for(let g of Object.values(h.edges()))if(g.data?.()){let{x:y,y:v}=g.source().position(),{x,y:b}=g.target().position();if(y!==x&&v!==b){let T=g.sourceEndpoint(),E=g.targetEndpoint(),{sourceDir:w}=w_(g),[k,S]=Zu(w)?[T.x,E.y]:[E.x,T.y],{weights:A,distances:L}=m(T,E,k,S);g.style("segment-distances",L),g.style("segment-weights",A)}}h.endBatch(),p.run()}),p.run(),h.ready(m=>{K.info("Ready",m),l(h)})})}var PCe,Dpt,BCe,FCe=O(()=>{"use strict";SB();PCe=Ra(RCe(),1);Ar();xt();Xc();Ul();Ti();BW();k_();OCe();Nw([{name:rg.prefix,icons:rg}]);Il.use(PCe.default);o(Tpt,"addServices");o(wpt,"addJunctions");o(kpt,"positionNodes");o(Ept,"addGroups");o(Spt,"addEdges");o(Cpt,"getAlignments");o(Apt,"getRelativeConstraints");o(_pt,"layoutArchitecture");Dpt=o(async(t,e,r,n)=>{let i=n.db,a=i.getServices(),s=i.getJunctions(),l=i.getGroups(),u=i.getEdges(),h=i.getDataStructures(),f=Ii(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await MCe(i,p,a),ICe(i,p,s);let g=await _pt(a,s,l,u,i,h);await LCe(d,g,i),await NCe(m,g,i),kpt(i,g),Kc(void 0,f,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),BCe={draw:Dpt}});var $Ce={};vr($Ce,{diagram:()=>Rpt});var Rpt,zCe=O(()=>{"use strict";ACe();RW();DCe();FCe();Rpt={parser:LW,get db(){return new Kv},renderer:BCe,styles:_Ce}});var FW,qCe,UCe=O(()=>{"use strict";FW=(function(){var t=o(function(x,b,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=b);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],l=[1,18],u=[1,19],h=[6,7,11],f=[1,6,13,14],d=[1,23],p=[1,24],m=[1,6,7,11,13,14],g={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(b,T,E,w,k,S,A){var L=S.length-1;switch(k){case 6:case 7:return w;case 15:w.addNode(S[L-1].length,S[L].trim());break;case 16:w.addNode(0,S[L].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:l,10:17,11:u},t(h,[2,18],{14:[1,21]}),t(h,[2,16]),t(h,[2,17]),{6:s,7:l,10:22,11:u},{1:[2,7],6:r,12:15,13:n,14:i},t(f,[2,14],{7:d,11:p}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(h,[2,15]),t(f,[2,13],{7:d,11:p}),t(m,[2,11]),t(m,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(b,T){if(T.recoverable)this.trace(b);else{var E=new Error(b);throw E.hash=T,E}},"parseError"),parse:o(function(b){var T=this,E=[0],w=[],k=[null],S=[],A=this.table,L="",I=0,N=0,C=0,_=2,D=1,M=S.slice.call(arguments,1),R=Object.create(this.lexer),P={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(P.yy[B]=this.yy[B]);R.setInput(b,P.yy),P.yy.lexer=R,P.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var F=R.yylloc;S.push(F);var G=R.options&&R.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $(Se){E.length=E.length-2*Se,k.length=k.length-Se,S.length=S.length-Se}o($,"popStack");function V(){var Se;return Se=w.pop()||R.lex()||D,typeof Se!="number"&&(Se instanceof Array&&(w=Se,Se=w.pop()),Se=T.symbols_[Se]||Se),Se}o(V,"lex");for(var X,Q,H,ie,Y,le,ee={},J,te,Z,xe;;){if(H=E[E.length-1],this.defaultActions[H]?ie=this.defaultActions[H]:((X===null||typeof X>"u")&&(X=V()),ie=A[H]&&A[H][X]),typeof ie>"u"||!ie.length||!ie[0]){var de="";xe=[];for(J in A[H])this.terminals_[J]&&J>_&&xe.push("'"+this.terminals_[J]+"'");R.showPosition?de="Parse error on line "+(I+1)+`: +`+R.showPosition()+` +Expecting `+xe.join(", ")+", got '"+(this.terminals_[X]||X)+"'":de="Parse error on line "+(I+1)+": Unexpected "+(X==D?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(de,{text:R.match,token:this.terminals_[X]||X,line:R.yylineno,loc:F,expected:xe})}if(ie[0]instanceof Array&&ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+X);switch(ie[0]){case 1:E.push(X),k.push(R.yytext),S.push(R.yylloc),E.push(ie[1]),X=null,Q?(X=Q,Q=null):(N=R.yyleng,L=R.yytext,I=R.yylineno,F=R.yylloc,C>0&&C--);break;case 2:if(te=this.productions_[ie[1]][1],ee.$=k[k.length-te],ee._$={first_line:S[S.length-(te||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(te||1)].first_column,last_column:S[S.length-1].last_column},G&&(ee._$.range=[S[S.length-(te||1)].range[0],S[S.length-1].range[1]]),le=this.performAction.apply(ee,[L,N,I,P.yy,ie[1],k,S].concat(M)),typeof le<"u")return le;te&&(E=E.slice(0,-1*te*2),k=k.slice(0,-1*te),S=S.slice(0,-1*te)),E.push(this.productions_[ie[1]][0]),k.push(ee.$),S.push(ee._$),Z=A[E[E.length-2]][E[E.length-1]],E.push(Z);break;case 3:return!0}}return!0},"parse")},y=(function(){var x={EOF:1,parseError:o(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:o(function(b,T){return this.yy=T||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var T=b.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},"input"),unput:o(function(b){var T=b.length,E=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var w=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 k=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===w.length?this.yylloc.first_column:0)+w[w.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(b){this.unput(this.match.slice(b))},"less"),pastInput:o(function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var b=this.pastInput(),T=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+T+"^"},"showPosition"),test_match:o(function(b,T){var E,w,k;if(this.options.backtrack_lexer&&(k={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&&(k.yylloc.range=this.yylloc.range.slice(0))),w=b[0].match(/(?:\r\n?|\n).*/g),w&&(this.yylineno+=w.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:w?w[w.length-1].length-w[w.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,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(b[0].length),this.matched+=b[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var S in k)this[S]=k[S];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,T,E,w;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),S=0;ST[0].length)){if(T=E,w=S,this.options.backtrack_lexer){if(b=this.test_match(E,k[S]),b!==!1)return b;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(b=this.test_match(T,k[w]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var T=this.next();return T||this.lex()},"lex"),begin:o(function(T){this.conditionStack.push(T)},"begin"),popState:o(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:o(function(T){this.begin(T)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(T,E,w,k){var S=k;switch(w){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();g.lexer=y;function v(){this.yy={}}return o(v,"Parser"),v.prototype=g,g.Parser=v,new v})();FW.parser=FW;qCe=FW});var E_,WCe=O(()=>{"use strict";jt();Ur();si();E_=class{constructor(){this.stack=[];this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{o(this,"IshikawaDB")}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,_r()}getRoot(){return this.root}addNode(e,r){let n=st.sanitizeText(r,ve());if(!this.root){this.baseLevel=e,this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],zr(n);return}let i=e-(this.baseLevel??0);for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();let a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return Or()}setAccTitle(e){Lr(e)}getAccDescription(){return Br()}setAccDescription(e){Pr(e)}getDiagramTitle(){return Fr()}setDiagramTitle(e){zr(e)}}});var Ipt,Zv,Opt,Ppt,Bpt,QCe,HCe,YCe,jCe,Fpt,XCe,$pt,zpt,Gpt,$W,Vpt,qpt,ZCe,S_,KCe,Jv,JCe,e6e=O(()=>{"use strict";jt();Ul();Ti();ar();Wt();Ipt=14,Zv=250,Opt=30,Ppt=60,Bpt=5,QCe=82*Math.PI/180,HCe=Math.cos(QCe),YCe=Math.sin(QCe),jCe=o((t,e,r)=>{let n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Zr(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Fpt=o((t,e,r,n)=>{let a=n.db.getRoot();if(!a)return;let s=ve(),{look:l,handDrawnSeed:u,themeVariables:h}=s,f=Uo(s.fontSize)[0]??Ipt,d=l==="handDrawn",p=a.children??[],m=s.ishikawa?.diagramPadding??20,g=s.ishikawa?.useMaxWidth??!1,y=Ii(e),v=y.append("g").attr("class","ishikawa"),x=d?Je.svg(y.node()):void 0,b=x?{roughSvg:x,seed:u??0,lineColor:h?.lineColor??"#333",fillColor:h?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||v.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,w=Zv,k=d?void 0:Jv(v,E,w,E,w,"ishikawa-spine");if($pt(v,E,w,a.text,f,b),!p.length){d&&Jv(v,E,w,E,w,"ishikawa-spine",b),jCe(y,m,g);return}E-=20;let S=p.filter((R,P)=>P%2===0),A=p.filter((R,P)=>P%2===1),L=XCe(S),I=XCe(A),N=L.total+I.total,C=Zv,_=Zv;if(N>0){let R=Zv*2,P=Zv*.3;C=Math.max(P,R*(L.total/N)),_=Math.max(P,R*(I.total/N))}let D=f*2;C=Math.max(C,L.max*D),_=Math.max(_,I.max*D),w=Math.max(C,Zv),k&&k.attr("y1",w).attr("y2",w),v.select(".ishikawa-head-group").attr("transform",`translate(0,${w})`);let M=Math.ceil(p.length/2);for(let R=0;RMath.min(B,F.getBBox().x),1/0)}if(d)Jv(v,E,w,0,w,"ishikawa-spine",b);else{k.attr("x1",E);let R=`url(#${T})`;v.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",R)}jCe(y,m,g)},"draw"),XCe=o(t=>{let e=o(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{let i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),$pt=o((t,e,r,n,i,a)=>{let s=Math.max(6,Math.floor(110/(i*.6))),l=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),u=S_(l,ZCe(n,s),0,0,"ishikawa-head-label","start",i),h=u.node().getBBox(),f=Math.max(60,h.width+6),d=Math.max(40,h.height*2+40),p=`M 0 ${-d/2} L 0 ${d/2} Q ${f*2.4} 0 0 ${-d/2} Z`;if(a){let m=a.roughSvg.path(p,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});l.insert(()=>m,":first-child").attr("class","ishikawa-head")}else l.insert("path",":first-child").attr("class","ishikawa-head").attr("d",p);u.attr("transform",`translate(${(f-h.width)/2-h.x+3},${-h.y-h.height/2})`)},"drawHead"),zpt=o((t,e)=>{let r=[],n=[],i=o((a,s,l)=>{let u=e===-1?[...a].reverse():a;for(let h of u){let f=r.length,d=h.children??[];r.push({depth:l,text:ZCe(h.text,15),parentIndex:s,childCount:d.length}),l%2===0?(n.push(f),d.length&&i(d,f,l+1)):(d.length&&i(d,f,l+1),n.push(f))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Gpt=o((t,e,r,n,i,a,s)=>{let l=t.append("g").attr("class","ishikawa-label-group"),h=S_(l,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){let f=s.roughSvg.rectangle(h.x-20,h.y-2,h.width+40,h.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});l.insert(()=>f,":first-child").attr("class","ishikawa-label-box")}else l.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",h.x-20).attr("y",h.y-2).attr("width",h.width+40).attr("height",h.height+4)},"drawCauseLabel"),$W=o((t,e,r,n,i,a)=>{let s=Math.sqrt(n*n+i*i);if(s===0)return;let l=n/s,u=i/s,h=6,f=-u*h,d=l*h,p=e,m=r,g=`M ${p} ${m} L ${p-l*h*2+f} ${m-u*h*2+d} L ${p-l*h*2-f} ${m-u*h*2-d} Z`,y=a.roughSvg.path(g,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>y)},"drawArrowMarker"),Vpt=o((t,e,r,n,i,a,s,l)=>{let u=e.children??[],h=a*(u.length?1:.2),f=-HCe*h,d=YCe*h*i,p=r+f,m=n+d;if(Jv(t,r,n,p,m,"ishikawa-branch",l),l&&$W(t,r,n,r-p,n-m,l),Gpt(t,e.text,p,m,i,s,l),!u.length)return;let{entries:g,yOrder:y}=zpt(u,i),v=g.length,x=new Array(v);for(let[k,S]of y.entries())x[S]=n+d*((k+1)/(v+1));let b=new Map;b.set(-1,{x0:r,y0:n,x1:p,y1:m,childCount:u.length,childrenDrawn:0});let T=-HCe,E=YCe*i,w=i<0?"ishikawa-label up":"ishikawa-label down";for(let[k,S]of g.entries()){let A=x[k],L=b.get(S.parentIndex),I=t.append("g").attr("class","ishikawa-sub-group"),N=0,C=0,_=0;if(S.depth%2===0){let D=L.y1-L.y0;N=KCe(L.x0,L.x1,D?(A-L.y0)/D:.5),C=A,_=N-(S.childCount>0?Ppt+S.childCount*Bpt:Opt),Jv(I,N,A,_,A,"ishikawa-sub-branch",l),l&&$W(I,N,A,1,0,l),S_(I,S.text,_,A,"ishikawa-label align","end",s)}else{let D=L.childrenDrawn++;N=KCe(L.x0,L.x1,(L.childCount-D)/(L.childCount+1)),C=L.y0,_=N+T*((A-C)/E),Jv(I,N,C,_,A,"ishikawa-sub-branch",l),l&&$W(I,N,C,N-_,C-A,l),S_(I,S.text,_,A,w,"end",s)}S.childCount>0&&b.set(k,{x0:N,y0:C,x1:_,y1:A,childCount:S.childCount,childrenDrawn:0})}},"drawBranch"),qpt=o(t=>t.split(/|\n/),"splitLines"),ZCe=o((t,e)=>{if(t.length<=e)return t;let r=[];for(let n of t.split(/\s+/)){let i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` +`)},"wrapText"),S_=o((t,e,r,n,i,a,s)=>{let l=qpt(e),u=s*1.05,h=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(l.length-1)*u/2);for(let[f,d]of l.entries())h.append("tspan").attr("x",r).attr("dy",f===0?0:u).text(d);return h},"drawMultilineText"),KCe=o((t,e,r)=>t+(e-t)*r,"lerp"),Jv=o((t,e,r,n,i,a,s)=>{if(s){let l=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>l).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),JCe={draw:Fpt}});var Upt,t6e,r6e=O(()=>{"use strict";Upt=o(t=>` +.ishikawa .ishikawa-spine, +.ishikawa .ishikawa-branch, +.ishikawa .ishikawa-sub-branch { + stroke: ${t.lineColor}; + stroke-width: 2; + fill: none; +} + +.ishikawa .ishikawa-sub-branch { + stroke-width: 1; +} + +.ishikawa .ishikawa-arrow { + fill: ${t.lineColor}; +} + +.ishikawa .ishikawa-head { + fill: ${t.mainBkg}; + stroke: ${t.lineColor}; + stroke-width: 2; +} + +.ishikawa .ishikawa-label-box { + fill: ${t.mainBkg}; + stroke: ${t.lineColor}; + stroke-width: 2; +} + +.ishikawa text { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + fill: ${t.textColor}; +} + +.ishikawa .ishikawa-head-label { + font-weight: 600; + text-anchor: middle; + dominant-baseline: middle; + font-size: 14px; +} + +.ishikawa .ishikawa-label { + text-anchor: end; +} + +.ishikawa .ishikawa-label.cause { + text-anchor: middle; + dominant-baseline: middle; +} + +.ishikawa .ishikawa-label.align { + text-anchor: end; + dominant-baseline: middle; +} + +.ishikawa .ishikawa-label.up { + dominant-baseline: baseline; +} + +.ishikawa .ishikawa-label.down { + dominant-baseline: hanging; +} +`,"getStyles"),t6e=Upt});var n6e={};vr(n6e,{diagram:()=>Wpt});var Wpt,i6e=O(()=>{"use strict";UCe();WCe();e6e();r6e();Wpt={parser:qCe,get db(){return new E_},renderer:JCe,styles:t6e}});var zW,o6e,l6e=O(()=>{"use strict";zW=(function(){var t=o(function(b,T,E,w){for(E=E||{},w=b.length;w--;E[b[w]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],l=[1,39],u=[7,8,11,12,17,19,22,24,27],h=[1,57],f=[1,56],d=[1,58],p=[1,59],m=[1,60],g=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],y={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:o(function(T,E,w,k,S,A,L){var I=A.length-1;switch(S){case 1:return A[I-1];case 2:case 3:case 4:this.$=[];break;case 5:A[I-1].push(A[I]),this.$=A[I-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=A[I];break;case 8:k.setDiagramTitle(A[I].substr(6)),this.$=A[I].substr(6);break;case 9:k.addSubsetData([A[I]],void 0,void 0),k.setIndentMode&&k.setIndentMode(!0);break;case 10:k.addSubsetData([A[I-1]],A[I],void 0),k.setIndentMode&&k.setIndentMode(!0);break;case 11:k.addSubsetData([A[I-2]],void 0,parseFloat(A[I])),k.setIndentMode&&k.setIndentMode(!0);break;case 12:k.addSubsetData([A[I-3]],A[I-2],parseFloat(A[I])),k.setIndentMode&&k.setIndentMode(!0);break;case 13:if(A[I].length<2)throw new Error("union requires multiple identifiers");k.validateUnionIdentifiers&&k.validateUnionIdentifiers(A[I]),k.addSubsetData(A[I],void 0,void 0),k.setIndentMode&&k.setIndentMode(!0);break;case 14:if(A[I-1].length<2)throw new Error("union requires multiple identifiers");k.validateUnionIdentifiers&&k.validateUnionIdentifiers(A[I-1]),k.addSubsetData(A[I-1],A[I],void 0),k.setIndentMode&&k.setIndentMode(!0);break;case 15:if(A[I-2].length<2)throw new Error("union requires multiple identifiers");k.validateUnionIdentifiers&&k.validateUnionIdentifiers(A[I-2]),k.addSubsetData(A[I-2],void 0,parseFloat(A[I])),k.setIndentMode&&k.setIndentMode(!0);break;case 16:if(A[I-3].length<2)throw new Error("union requires multiple identifiers");k.validateUnionIdentifiers&&k.validateUnionIdentifiers(A[I-3]),k.addSubsetData(A[I-3],A[I-2],parseFloat(A[I])),k.setIndentMode&&k.setIndentMode(!0);break;case 17:case 18:case 19:k.addTextData(A[I-1],A[I],void 0);break;case 20:case 21:k.addTextData(A[I-2],A[I-1],A[I]);break;case 23:k.addStyleData(A[I-1],A[I]);break;case 24:case 25:case 26:var N=k.getCurrentSets();if(!N)throw new Error("text requires set");k.addTextData(N,A[I],void 0);break;case 27:case 28:var N=k.getCurrentSets();if(!N)throw new Error("text requires set");k.addTextData(N,A[I-1],A[I]);break;case 29:case 41:this.$=[A[I]];break;case 30:case 42:this.$=[...A[I-2],A[I]];break;case 31:this.$=[A[I-2],A[I]];break;case 33:this.$=A[I].join(" ");break;case 34:this.$=[A[I]];break;case 35:A[I-1].push(A[I]),this.$=A[I-1];break;case 43:case 44:this.$=A[I];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:l,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(u,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:l,26:51},{16:h,20:f,21:[1,53],28:52,29:54,30:55,31:d,32:p,33:m},t(r,[2,12]),t(r,[2,16]),t(u,[2,30]),t(u,[2,31]),t(u,[2,32]),t(u,[2,33],{30:61,16:h,20:f,31:d,32:p,33:m}),t(g,[2,34]),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,40]),t(g,[2,35])],defaultActions:{6:[2,1]},parseError:o(function(T,E){if(E.recoverable)this.trace(T);else{var w=new Error(T);throw w.hash=E,w}},"parseError"),parse:o(function(T){var E=this,w=[0],k=[],S=[null],A=[],L=this.table,I="",N=0,C=0,_=0,D=2,M=1,R=A.slice.call(arguments,1),P=Object.create(this.lexer),B={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(B.yy[F]=this.yy[F]);P.setInput(T,B.yy),B.yy.lexer=P,B.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var G=P.yylloc;A.push(G);var $=P.options&&P.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function V(Me){w.length=w.length-2*Me,S.length=S.length-Me,A.length=A.length-Me}o(V,"popStack");function X(){var Me;return Me=k.pop()||P.lex()||M,typeof Me!="number"&&(Me instanceof Array&&(k=Me,Me=k.pop()),Me=E.symbols_[Me]||Me),Me}o(X,"lex");for(var Q,H,ie,Y,le,ee,J={},te,Z,xe,de;;){if(ie=w[w.length-1],this.defaultActions[ie]?Y=this.defaultActions[ie]:((Q===null||typeof Q>"u")&&(Q=X()),Y=L[ie]&&L[ie][Q]),typeof Y>"u"||!Y.length||!Y[0]){var Se="";de=[];for(te in L[ie])this.terminals_[te]&&te>D&&de.push("'"+this.terminals_[te]+"'");P.showPosition?Se="Parse error on line "+(N+1)+`: +`+P.showPosition()+` +Expecting `+de.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":Se="Parse error on line "+(N+1)+": Unexpected "+(Q==M?"end of input":"'"+(this.terminals_[Q]||Q)+"'"),this.parseError(Se,{text:P.match,token:this.terminals_[Q]||Q,line:P.yylineno,loc:G,expected:de})}if(Y[0]instanceof Array&&Y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ie+", token: "+Q);switch(Y[0]){case 1:w.push(Q),S.push(P.yytext),A.push(P.yylloc),w.push(Y[1]),Q=null,H?(Q=H,H=null):(C=P.yyleng,I=P.yytext,N=P.yylineno,G=P.yylloc,_>0&&_--);break;case 2:if(Z=this.productions_[Y[1]][1],J.$=S[S.length-Z],J._$={first_line:A[A.length-(Z||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(Z||1)].first_column,last_column:A[A.length-1].last_column},$&&(J._$.range=[A[A.length-(Z||1)].range[0],A[A.length-1].range[1]]),ee=this.performAction.apply(J,[I,C,N,B.yy,Y[1],S,A].concat(R)),typeof ee<"u")return ee;Z&&(w=w.slice(0,-1*Z*2),S=S.slice(0,-1*Z),A=A.slice(0,-1*Z)),w.push(this.productions_[Y[1]][0]),S.push(J.$),A.push(J._$),xe=L[w[w.length-2]][w[w.length-1]],w.push(xe);break;case 3:return!0}}return!0},"parse")},v=(function(){var b={EOF:1,parseError:o(function(E,w){if(this.yy.parser)this.yy.parser.parseError(E,w);else throw new Error(E)},"parseError"),setInput:o(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:o(function(T){var E=T.length,w=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var k=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 S=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===k.length?this.yylloc.first_column:0)+k[k.length-w.length].length-w[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(T){this.unput(this.match.slice(T))},"less"),pastInput:o(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` +`+E+"^"},"showPosition"),test_match:o(function(T,E){var w,k,S;if(this.options.backtrack_lexer&&(S={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&&(S.yylloc.range=this.yylloc.range.slice(0))),k=T[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.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],w=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),w)return w;if(this._backtrack){for(var A in S)this[A]=S[A];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,w,k;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),A=0;AE[0].length)){if(E=w,k=A,this.options.backtrack_lexer){if(T=this.test_match(w,S[A]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,S[k]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var E=this.next();return E||this.lex()},"lex"),begin:o(function(E){this.conditionStack.push(E)},"begin"),popState:o(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:o(function(E){this.begin(E)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(E,w,k,S){var A=S;switch(k){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(w.yytext);break;case 6:return this.begin("bol"),8;break;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return w.yytext=w.yytext.slice(2,-2),14;break;case 17:return w.yytext=w.yytext.slice(1,-1).trim(),14;break;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return b})();y.lexer=v;function x(){this.yy={}}return o(x,"Parser"),x.prototype=y,y.Parser=x,new x})();zW.parser=zW;o6e=zW});function s0t(){return Pn(a0t,Zt().venn)}var GW,VW,qW,UW,WW,HW,jpt,Xpt,N3,Kpt,Qpt,Zpt,Jpt,C_,e0t,t0t,r0t,n0t,i0t,a0t,o0t,c6e,u6e=O(()=>{"use strict";ar();$r();si();La();GW=[],VW=[],qW=[],UW=new Set,HW=!1,jpt=o((t,e,r)=>{let n=C_(t).sort(),i=r??10/Math.pow(t.length,2);WW=n,n.length===1&&UW.add(n[0]),GW.push({sets:n,size:i,label:e?N3(e):void 0})},"addSubsetData"),Xpt=o(()=>GW,"getSubsetData"),N3=o(t=>{let e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),Kpt=o(t=>t&&N3(t),"normalizeStyleValue"),Qpt=o((t,e,r)=>{let n=N3(e);VW.push({sets:C_(t).sort(),id:n,label:r?N3(r):void 0})},"addTextData"),Zpt=o((t,e)=>{let r=C_(t).sort(),n={};for(let[i,a]of e)n[i]=Kpt(a)??a;qW.push({targets:r,styles:n})},"addStyleData"),Jpt=o(()=>qW,"getStyleData"),C_=o(t=>t.map(e=>N3(e)),"normalizeIdentifierList"),e0t=o(t=>{let r=C_(t).filter(n=>!UW.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),t0t=o(()=>VW,"getTextData"),r0t=o(()=>WW,"getCurrentSets"),n0t=o(()=>HW,"getIndentMode"),i0t=o(t=>{HW=t},"setIndentMode"),a0t=gr.venn;o(s0t,"getConfig");o0t=o(()=>{_r(),GW.length=0,VW.length=0,qW.length=0,UW.clear(),WW=void 0,HW=!1},"customClear"),c6e={getConfig:s0t,clear:o0t,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,getAccDescription:Br,setAccDescription:Pr,addSubsetData:jpt,getSubsetData:Xpt,addTextData:Qpt,addStyleData:Zpt,validateUnionIdentifiers:e0t,getTextData:t0t,getStyleData:Jpt,getCurrentSets:r0t,getIndentMode:n0t,setIndentMode:i0t}});var l0t,h6e,f6e=O(()=>{"use strict";l0t=o(t=>` + .venn-title { + font-size: 32px; + fill: ${t.vennTitleTextColor}; + font-family: ${t.fontFamily}; + } + + .venn-circle text { + font-size: 48px; + font-family: ${t.fontFamily}; + } + + .venn-intersection text { + font-size: 48px; + fill: ${t.vennSetTextColor}; + font-family: ${t.fontFamily}; + } + + .venn-text-node { + font-family: ${t.fontFamily}; + color: ${t.vennSetTextColor}; + } +`,"getStyles"),h6e=l0t});function A_(t,e){let r=u0t(t),n=r.filter(l=>c0t(l,t)),i=0,a=0,s=[];if(n.length>1){let l=g6e(n);for(let h=0;hf.angle-h.angle);let u=n[n.length-1];for(let h=0;hg.radius*2&&(T=g.radius*2),(p==null||p.width>T)&&(p={circle:g,width:T,p1:f,p2:u,large:T>g.radius,sweep:!0})}p!=null&&(s.push(p),i+=XW(p.circle.radius,p.width),u=f)}}else{let l=t[0];for(let h=1;hMath.abs(l.radius-t[h].radius)){u=!0;break}u?i=a=0:(i=l.radius*l.radius*Math.PI,s.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-1e-10,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function c0t(t,e){return e.every(r=>No(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);let n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return XW(t,n)+XW(e,i)}function m6e(t,e){let r=No(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];let a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),l=t.x+a*(e.x-t.x)/r,u=t.y+a*(e.y-t.y)/r,h=-(e.y-t.y)*(s/r),f=-(e.x-t.x)*(s/r);return[{x:l+h,y:u-f},{x:l-h,y:u+f}]}function g6e(t){let e={x:0,y:0};for(let r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function h0t(t,e,r,n){n=n||{};let i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),l=t(r),u=r-e;if(s*l>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(l===0)return r;for(let h=0;h=0&&(e=f),Math.abs(u)KW(e))}function e2(t,e){let r=0;for(let n=0;nw.fx-k.fx,"sortOrder"),x=e.slice(),b=e.slice(),T=e.slice(),E=e.slice();for(let w=0;w{let L=A.slice();return L.fx=A.fx,L.id=A.id,L});S.sort((A,L)=>A.id-L.id),r.history.push({x:g[0].slice(),fx:g[0].fx,simplex:S})}p=0;for(let S=0;S=g[m-1].fx){let S=!1;if(b.fx>k.fx?(hf(T,1+f,x,-f,k),T.fx=t(T),T.fx=1)break;for(let A=1;Al+a*i*u||h>=v)y=i;else{if(Math.abs(d)<=-s*u)return i;d*(y-g)>=0&&(y=g),g=i,v=h}return 0}o(m,"zoom");for(let g=0;g<10;++g){if(hf(n.x,1,r.x,i,e),h=n.fx=t(n.x,n.fxprime),d=e2(n.fxprime,e),h>l+a*i*u||g&&h>=f)return m(p,i,f);if(Math.abs(d)<=-s*u)return i;if(d>=0)return m(i,p,h);f=h,p=i,i*=2}return i}function d0t(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()},a=e.slice(),s,l,u=1,h;r=r||{},h=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),ZW(s,n.fxprime,-1);for(let f=0;f{let d={};for(let p=0;ptH(t,e,n)-r,0,t+e)}function p0t(t,e={}){let r=e.distinct,n=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(o(i,"toKey"),r){let l=new Map;for(let u of n)for(let h=0;hl===u?0:la.sets.length===2).forEach(a=>{let s=r[a.sets[0]],l=r[a.sets[1]],u=Math.sqrt(e[s].size/Math.PI),h=Math.sqrt(e[l].size/Math.PI),f=JW(u,h,a.size);n[s][l]=n[l][s]=f;let d=0;a.size+1e-10>=Math.min(e[s].size,e[l].size)?d=1:a.size<=1e-10&&(d=-1),i[s][l]=i[l][s]=d}),{distances:n,constraints:i}}function g0t(t,e,r,n){for(let a=0;a0&&g<=d||p<0&&g>=d||(i+=2*y*y,e[2*a]+=4*y*(s-h),e[2*a+1]+=4*y*(l-f),e[2*u]+=4*y*(h-s),e[2*u+1]+=4*y*(f-l))}}return i}function y0t(t,e={}){let r=x0t(t,e),n=e.lossFunction||t2;if(t.length>=8){let i=v0t(t,e),a=n(i,t),s=n(r,t);a+1e-8p.map(m=>m/l));let u=o((p,m)=>g0t(p,m,a,s),"obj"),h=null;for(let p=0;pd.sets.length===2);for(let d of t){let p=d.weight!=null?d.weight:1,m=d.sets[0],g=d.sets[1];d.size+x6e>=Math.min(n[m].size,n[g].size)&&(p=0),i[m].push({set:g,size:d.size,weight:p}),i[g].push({set:m,size:d.size,weight:p})}let a=[];Object.keys(i).forEach(d=>{let p=0;for(let m=0;mt[s]));let a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function b6e(t,e){let r=0;for(let n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){let l=t[n.sets[0]],u=t[n.sets[1]];i=tH(l.radius,u.radius,No(l,u))}else i=A_(n.sets.map(l=>t[l]));let a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function b0t(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){let i=t[0].x,a=t[0].y;for(let s of t)s.x-=i,s.y-=a}if(t.length===2&&No(t[0],t[1])1){let i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(let l of t){let u=l.x,h=l.y;l.x=a*u-s*h,l.y=s*u+a*h}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){let a=t[1].y/(1e-10+t[1].x);for(let s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function T0t(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}o(e,"find");function r(i,a){let s=e(i),l=e(a);s.parent=l}o(r,"union");for(let i=0;i{delete i.parent}),Array.from(n.values())}function eH(t){let e=o(r=>{let n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}},"minMax");return{xRange:e("x"),yRange:e("y")}}function T6e(t,e,r){e==null&&(e=Math.PI/2);let n=E6e(t).map(h=>Object.assign({},h)),i=T0t(n);for(let h of i){b0t(h,e,r);let f=eH(h);h.size=(f.xRange.max-f.xRange.min)*(f.yRange.max-f.yRange.min),h.bounds=f}i.sort((h,f)=>f.size-h.size),n=i[0];let a=n.bounds,s=(a.xRange.max-a.xRange.min)/50;function l(h,f,d){if(!h)return;let p=h.bounds,m,g;if(f)m=a.xRange.max-p.xRange.min+s;else{m=a.xRange.max-p.xRange.max;let y=(p.xRange.max-p.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;y<0&&(m+=y)}if(d)g=a.yRange.max-p.yRange.min+s;else{g=a.yRange.max-p.yRange.max;let y=(p.yRange.max-p.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;y<0&&(g+=y)}for(let y of h)y.x+=m,y.y+=g,n.push(y)}o(l,"addCluster");let u=1;for(;u({radius:f*m.radius,x:n+d+(m.x-s.min)*f,y:n+p+(m.y-l.min)*f,setid:m.setid})))}function k6e(t){let e={};for(let r of t)e[r.setid]=r;return e}function E6e(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function S6e(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,l=!0,u=null,h=!0,f=!0,d=null,p=null,m=!1,g=null,y=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,v={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],b=0,T=o(function(S){if(S in v)return v[S];var A=v[S]=x[b];return b+=1,b>=x.length&&(b=0),A},"colours"),E=v6e,w=t2;function k(S){let A=S.datum(),L=new Set;A.forEach(Y=>{Y.size==0&&Y.sets.length==1&&L.add(Y.sets[0])}),A=A.filter(Y=>!Y.sets.some(le=>L.has(le)));let I={},N={};if(A.length>0){let Y=E(A,{lossFunction:w,distinct:m});l&&(Y=T6e(Y,s,p)),I=w6e(Y,r,n,i,u),N=A6e(I,A,y)}let C={};A.forEach(Y=>{Y.label&&(C[Y.sets]=Y.label)});function _(Y){if(Y.sets in C)return C[Y.sets];if(Y.sets.length==1)return""+Y.sets[0]}o(_,"label"),S.selectAll("svg").data([I]).enter().append("svg");let D=S.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);let M={},R=!1;D.selectAll(".venn-area path").each(function(Y){let le=this.getAttribute("d");Y.sets.length==1&&le&&!m&&(R=!0,M[Y.sets[0]]=E0t(le))});function P(Y){return le=>{let ee=Y.sets.map(J=>{let te=M[J],Z=I[J];return te||(te={x:r/2,y:n/2,radius:1}),Z||(Z={x:r/2,y:n/2,radius:1}),{x:te.x*(1-le)+Z.x*le,y:te.y*(1-le)+Z.y*le,radius:te.radius*(1-le)+Z.radius*le}});return p6e(ee,g)}}o(P,"pathTween");let B=D.selectAll(".venn-area").data(A,Y=>Y.sets),F=B.enter().append("g").attr("class",Y=>`venn-area venn-${Y.sets.length==1?"circle":"intersection"}${Y.colour||Y.color?" venn-coloured":""}`).attr("data-venn-sets",Y=>Y.sets.join("_")),G=F.append("path"),$=F.append("text").attr("class","label").text(Y=>_(Y)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);f&&(G.style("fill-opacity","0").filter(Y=>Y.sets.length==1).style("fill",Y=>Y.colour?Y.colour:Y.color?Y.color:T(Y.sets)).style("fill-opacity",".25"),$.style("fill",Y=>Y.colour||Y.color?"#FFF":t.textFill?t.textFill:Y.sets.length==1?T(Y.sets):"#444"));function V(Y){return typeof Y.transition=="function"?Y.transition("venn").duration(a):Y}o(V,"asTransition");let X=S;R&&typeof X.transition=="function"?(X=V(S),X.selectAll("path").attrTween("d",P)):X.selectAll("path").attr("d",Y=>p6e(Y.sets.map(le=>I[le])),g);let Q=X.selectAll("text").filter(Y=>Y.sets in N).text(Y=>_(Y)).attr("x",Y=>Math.floor(N[Y.sets].x)).attr("y",Y=>Math.floor(N[Y.sets].y));h&&(R?"on"in Q?Q.on("end",YW(I,_)):Q.each("end",YW(I,_)):Q.each(YW(I,_)));let H=V(B.exit()).remove();typeof B.transition=="function"&&H.selectAll("path").attrTween("d",P);let ie=H.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&($.style("font-size","0px"),Q.style("font-size",d),ie.style("font-size","0px")),{circles:I,textCentres:N,nodes:B,enter:F,update:X,exit:H}}return o(k,"chart"),k.wrap=function(S){return arguments.length?(h=S,k):h},k.useViewBox=function(){return e=!0,k},k.width=function(S){return arguments.length?(r=S,k):r},k.height=function(S){return arguments.length?(n=S,k):n},k.padding=function(S){return arguments.length?(i=S,k):i},k.distinct=function(S){return arguments.length?(m=S,k):m},k.colours=function(S){return arguments.length?(T=S,k):T},k.colors=function(S){return arguments.length?(T=S,k):T},k.fontSize=function(S){return arguments.length?(d=S,k):d},k.round=function(S){return arguments.length?(g=S,k):g},k.duration=function(S){return arguments.length?(a=S,k):a},k.layoutFunction=function(S){return arguments.length?(E=S,k):E},k.normalize=function(S){return arguments.length?(l=S,k):l},k.scaleToFit=function(S){return arguments.length?(u=S,k):u},k.styled=function(S){return arguments.length?(f=S,k):f},k.orientation=function(S){return arguments.length?(s=S,k):s},k.orientationOrder=function(S){return arguments.length?(p=S,k):p},k.lossFunction=function(S){return arguments.length?(w=S==="default"?t2:S==="logRatio"?b6e:S,k):w},k}function YW(t,e){return function(r){let n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),u=(a.length+s.length)/3,h=s.pop(),f=[h],d=0,p=1.1;n.textContent=null;let m=[];function g(T){let E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,m.push(E),n.append(E),E}o(g,"append");let y=g(h);for(;h=s.pop(),!!h;){f.push(h);let T=f.join(" ");y.textContent=T,T.length>u&&y.getComputedTextLength()>i&&(f.pop(),y.textContent=f.join(" "),f=[h],y=g(h),d++)}let v=.35-d*p/2,x=n.getAttribute("x"),b=n.getAttribute("y");m.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",b),T.setAttribute("dy",`${v+E*p}em`)})}}function jW(t,e,r){let n=e[0].radius-No(e[0],t);for(let i=1;i=a&&(i=n[f],a=d)}let s=y6e(f=>-1*jW({x:f[0],y:f[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:r?0:s[0],y:s[1]},u=!0;for(let f of t)if(No(l,f)>f.radius){u=!1;break}for(let f of e)if(No(l,f)f.p1))}function w0t(t){let e={},r=Object.keys(t);for(let n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function k0t(t,e,r){let n=[];return n.push(` +M`,t,e),n.push(` +m`,-r,0),n.push(` +a`,r,r,0,1,0,r*2,0),n.push(` +a`,r,r,0,1,0,-r*2,0),n.join(" ")}function E0t(t){let e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function _6e(t){if(t.length===0)return[];let e={};return A_(t,e),e.arcs}function D6e(t,e){if(t.length===0)return"M 0 0";let r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){let a=t[0].circle;return k0t(n(a.x),n(a.y),n(a.radius))}let i=[` +M`,n(t[0].p2.x),n(t[0].p2.y)];for(let a of t){let s=n(a.circle.radius);i.push(` +A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function p6e(t,e){return D6e(_6e(t),e)}function R6e(t,e={}){let{lossFunction:r,layoutFunction:n=v6e,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:l=600,height:u=350,padding:h=15,scaleToFit:f=!1,symmetricalTextCentre:d=!1,distinct:p,round:m=2}=e,g=n(t,{lossFunction:r==="default"||!r?t2:r==="logRatio"?b6e:r,distinct:p});i&&(g=T6e(g,a,s));let y=w6e(g,l,u,h,f),v=A6e(y,t,d),x=new Map(Object.keys(y).map(E=>[E,{set:E,x:y[E].x,y:y[E].y,radius:y[E].radius}])),b=t.map(E=>{let w=E.sets.map(A=>x.get(A)),k=_6e(w),S=D6e(k,m);return{circles:w,arcs:k,path:S,area:E,has:new Set(E.sets)}});function T(E){let w="";for(let k of b)k.has.size>E.length&&E.every(S=>k.has.has(S))&&(w+=" "+k.path);return w}return o(T,"genDistinctPath"),b.map(({circles:E,arcs:w,path:k,area:S})=>({data:S,text:v[S.sets],circles:E,arcs:w,path:k,distinctPath:k+T(S.sets)}))}var x6e,L6e=O(()=>{"use strict";o(A_,"intersectionArea");o(c0t,"containedInCircles");o(u0t,"getIntersectionPoints");o(XW,"circleArea");o(No,"distance");o(tH,"circleOverlap");o(m6e,"circleCircleIntersection");o(g6e,"getCenter");o(h0t,"bisect");o(KW,"zeros");o(d6e,"zerosM");o(e2,"dot");o(QW,"norm2");o(ZW,"scale");o(hf,"weightedSum");o(y6e,"nelderMead");o(f0t,"wolfeLineSearch");o(d0t,"conjugateGradient");o(v6e,"venn");x6e=1e-10;o(JW,"distanceFromIntersectArea");o(p0t,"addMissingAreas");o(m0t,"getDistanceMatrices");o(g0t,"constrainedMDSGradient");o(y0t,"bestInitialLayout");o(v0t,"constrainedMDSLayout");o(x0t,"greedyLayout");o(t2,"lossFunction");o(b6e,"logRatioLossFunction");o(b0t,"orientateCircles");o(T0t,"disjointCluster");o(eH,"getBoundingBox");o(T6e,"normalizeSolution");o(w6e,"scaleSolution");o(k6e,"toObjectNotation");o(E6e,"fromObjectNotation");o(S6e,"VennDiagram");o(YW,"wrapText");o(jW,"circleMargin");o(C6e,"computeTextCentre");o(w0t,"getOverlappingCircles");o(A6e,"computeTextCentres");o(k0t,"circlePath");o(E0t,"circleFromPath");o(_6e,"intersectionAreaArcs");o(D6e,"arcsToPath");o(p6e,"intersectionAreaPath");o(R6e,"layout")});function C0t(t){let e=new Map;for(let r of t){let n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}function ng(t){return t.join("|")}function _0t(t,e,r,n,i,a){let s=t?.useDebugLayout??!1,u=r.select("svg").append("g").attr("class","venn-text-nodes"),h=new Map;for(let f of n){let d=ng(f.sets),p=h.get(d);p?p.push(f):h.set(d,[f])}for(let[f,d]of h.entries()){let p=e.get(f);if(!p?.text)continue;let m=p.text.x,g=p.text.y,y=Math.min(...p.circles.map(D=>D.radius)),v=Math.min(...p.circles.map(D=>D.radius-Math.hypot(m-D.x,g-D.y))),x=Number.isFinite(v)?Math.max(0,v):0;x===0&&Number.isFinite(y)&&(x=y*.6);let b=u.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&b.append("circle").attr("class","venn-text-debug-circle").attr("cx",m).attr("cy",g).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);let T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),S=(p.data.label&&p.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),A=m-T/2,L=g-E/2+S,I=Math.max(1,Math.ceil(Math.sqrt(d.length))),N=Math.max(1,Math.ceil(d.length/I)),C=T/I,_=E/N;for(let[D,M]of d.entries()){let R=D%I,P=Math.floor(D/I),B=A+C*(R+.5),F=L+_*(P+.5);s&&b.append("rect").attr("class","venn-text-debug-cell").attr("x",A+C*R).attr("y",L+_*P).attr("width",C).attr("height",_).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);let G=C*.9,$=_*.9,V=b.append("foreignObject").attr("class","venn-text-node-fo").attr("width",G).attr("height",$).attr("x",B-G/2).attr("y",F-$/2).attr("overflow","visible"),X=a.get(M.id)?.color,Q=V.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(M.label??M.id);X&&Q.style("color",X)}}}var A0t,N6e,M6e=O(()=>{"use strict";Ar();Ys();$r();Ul();L6e();Ti();Wt();o(C0t,"buildStyleByKey");A0t=o((t,e,r,n)=>{let i=n.db,a=i.getConfig?.(),{themeVariables:s,look:l,handDrawnSeed:u}=Zt(),h=l==="handDrawn",f=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),p=i.getSubsetData(),m=i.getTextData(),g=C0t(i.getStyleData()),y=a?.width??800,v=a?.height??450,b=y/1600,T=d?48*b:0,E=s.primaryTextColor??s.textColor,w=Ii(e);w.attr("viewBox",`0 0 ${y} ${v}`),d&&w.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*b}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*b).style("fill",s.vennTitleTextColor||s.titleColor);let k=je(document.createElement("div")),S=S6e().width(y).height(v-T);k.datum(p).call(S);let A=h?Je.svg(k.select("svg").node()):void 0,L=R6e(p,{width:y,height:v-T,padding:a?.padding??15}),I=new Map;for(let D of L){let M=ng([...D.data.sets].sort());I.set(M,D)}m.length>0&&_0t(a,I,k,m,b,g);let N=Ji(s.background||"#f4f4f4");k.selectAll(".venn-circle").each(function(D,M){let R=je(this),B=ng([...D.sets].sort()),F=g.get(B),G=F?.fill||f[M%f.length]||s.primaryColor;R.classed(`venn-set-${M%8}`,!0);let $=F?.["fill-opacity"]??.1,V=F?.stroke||G,X=F?.["stroke-width"]||`${5*b}`;if(h&&A){let H=I.get(B);if(H&&H.circles.length>0){let ie=H.circles[0],Y=A.circle(ie.x,ie.y,ie.radius*2,{roughness:.7,seed:u,fill:K3(G,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+M*60,stroke:V,strokeWidth:parseFloat(String(X))});R.select("path").remove(),R.node()?.insertBefore(Y,R.select("text").node())}}else R.select("path").style("fill",G).style("fill-opacity",$).style("stroke",V).style("stroke-width",X).style("stroke-opacity",.95);let Q=F?.color||(N?Lt(G,30):Bt(G,30));R.select("text").style("font-size",`${48*b}px`).style("fill",Q)}),h&&A?k.selectAll(".venn-intersection").each(function(D){let M=je(this),P=ng([...D.sets].sort()),B=g.get(P),F=B?.fill;if(F){let G=M.select("path"),$=G.attr("d");if($){let V=A.path($,{roughness:.7,seed:u,fill:K3(F,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=G.node();X?.parentNode?.insertBefore(V,X),G.remove()}}else M.select("path").style("fill-opacity",0);M.select("text").style("font-size",`${48*b}px`).style("fill",B?.color??s.vennSetTextColor??E)}):(k.selectAll(".venn-intersection text").style("font-size",`${48*b}px`).style("fill",D=>{let R=ng([...D.sets].sort());return g.get(R)?.color??s.vennSetTextColor??E}),k.selectAll(".venn-intersection path").style("fill-opacity",D=>{let R=ng([...D.sets].sort());return g.get(R)?.fill?1:0}).style("fill",D=>{let R=ng([...D.sets].sort());return g.get(R)?.fill??"transparent"}));let C=w.append("g").attr("transform",`translate(0, ${T})`),_=k.select("svg").node();if(_&&"childNodes"in _)for(let D of[..._.childNodes])C.node()?.appendChild(D);Zr(w,v,y,a?.useMaxWidth??!0)},"draw");o(ng,"stableSetsKey");o(_0t,"renderTextNodes");N6e={draw:A0t}});var I6e={};vr(I6e,{diagram:()=>D0t});var D0t,O6e=O(()=>{"use strict";l6e();u6e();f6e();M6e();D0t={parser:o6e,db:c6e,renderer:N6e,styles:h6e}});var r2,rH=O(()=>{"use strict";La();$r();ar();Ut();si();r2=class{constructor(){this.nodes=[];this.levels=new Map;this.outerNodes=[];this.classes=new Map;this.setAccTitle=Lr;this.getAccTitle=Or;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getAccDescription=Br;this.setAccDescription=Pr}static{o(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=gr,r=Zt();return Pn({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{ub(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){_r(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}}});function F6e(t){if(!t.length)return[];let e=[],r=[];return t.forEach(n=>{let i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{let a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}var $6e=O(()=>{"use strict";o(F6e,"buildHierarchy")});var M0t,I0t,nH,z6e=O(()=>{"use strict";up();xt();Vm();$6e();rH();M0t=o((t,e)=>{ql(t,e);let r=[];for(let a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(let a of t.TreemapRows??[]){let s=a.item;if(!s)continue;let l=a.indent?parseInt(a.indent):0,u=I0t(s),h=s.classSelector?e.getStylesForClass(s.classSelector):[],f=h.length>0?h:void 0,d={level:l,name:u,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:f};r.push(d)}let n=F6e(r),i=o((a,s)=>{for(let l of a)e.addNode(l,s),l.children&&l.children.length>0&&i(l.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),I0t=o(t=>t.name?String(t.name):"","getItemName"),nH={parser:{yy:void 0},parse:o(async t=>{try{let r=await Us("treemap",t);K.debug("Treemap AST:",r);let n=nH.parser?.yy;if(!(n instanceof r2))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");M0t(r,n)}catch(e){throw K.error("Error parsing treemap:",e),e}},"parse")}});var O0t,n2,M3,P0t,B0t,G6e,V6e=O(()=>{"use strict";Ul();Ld();Ti();Ar();Ut();$r();xt();O0t=10,n2=10,M3=25,P0t=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),s=a.padding??O0t,l=i.getDiagramTitle(),u=i.getRoot(),{themeVariables:h}=Zt();if(!u)return;let f=l?30:0,d=Ii(e),p=a.nodeWidth?a.nodeWidth*n2:960,m=a.nodeHeight?a.nodeHeight*n2:500,g=p,y=m+f;d.attr("viewBox",`0 0 ${g} ${y}`),Zr(d,y,g,a.useMaxWidth);let v;try{let D=a.valueFormat||",";if(D==="$0,0")v=o(M=>"$"+tu(",")(M),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){let M=/\.\d+/.exec(D),R=M?M[0]:"";v=o(P=>"$"+tu(","+R)(P),"valueFormat")}else if(D.startsWith("$")){let M=D.substring(1);v=o(R=>"$"+tu(M||"")(R),"valueFormat")}else v=tu(D)}catch(D){K.error("Error creating format function:",D),v=tu(",")}let x=Fo().range(["transparent",h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),b=Fo().range(["transparent",h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),T=Fo().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);l&&d.append("text").attr("x",g/2).attr("y",f/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(l);let E=d.append("g").attr("transform",`translate(0, ${f})`).attr("class","treemapContainer"),w=Mg(u).sum(D=>D.value??0).sort((D,M)=>(M.value??0)-(D.value??0)),S=_5().size([p,m]).paddingTop(D=>D.children&&D.children.length>0?M3+n2:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?n2:0).paddingRight(D=>D.children&&D.children.length>0?n2:0).paddingBottom(D=>D.children&&D.children.length>0?n2:0).round(!0)(w),A=S.descendants().filter(D=>D.children&&D.children.length>0),L=E.selectAll(".treemapSection").data(A).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);L.append("rect").attr("width",D=>D.x1-D.x0).attr("height",M3).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),L.append("clipPath").attr("id",(D,M)=>`clip-section-${e}-${M}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",M3),L.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,M)=>`treemapSection section${M}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>b(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";let M=Ze({cssCompiledStyles:D.data.cssCompiledStyles});return M.nodeStyles+";"+M.borderStyles.join(";")}),L.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",M3/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";let M="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",R=Ze({cssCompiledStyles:D.data.cssCompiledStyles});return M+R.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;let M=je(this),R=D.data.name;M.text(R);let P=D.x1-D.x0,B=6,F;a.showValues!==!1&&D.value?F=P-10-30-10-B:F=P-B-6;let $=Math.max(15,F),V=M.node();if(V.getComputedTextLength()>$){let H=R;for(;H.length>0;){if(H=R.substring(0,H.length-1),H.length===0){M.text("..."),V.getComputedTextLength()>$&&M.text("");break}if(M.text(H+"..."),V.getComputedTextLength()<=$)break}}}),a.showValues!==!1&&L.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",M3/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?v(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";let M="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",R=Ze({cssCompiledStyles:D.data.cssCompiledStyles});return M+R.labelStyles.replace("color:","fill:")});let I=S.leaves(),N=E.selectAll(".treemapLeafGroup").data(I).enter().append("g").attr("class",(D,M)=>`treemapNode treemapLeafGroup leaf${M}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);N.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>Ze({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),N.append("clipPath").attr("id",(D,M)=>`clip-${e}-${M}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),N.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{let M="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",R=Ze({cssCompiledStyles:D.data.cssCompiledStyles});return M+R.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,M)=>`url(#clip-${e}-${M})`).text(D=>D.data.name).each(function(D){let M=je(this),R=D.x1-D.x0,P=D.y1-D.y0,B=M.node(),F=4,G=R-2*F,$=P-2*F;if(G<10||$<10){M.style("display","none");return}let V=parseInt(M.style("font-size"),10),X=8,Q=28,H=.6,ie=6,Y=2;for(;B.getComputedTextLength()>G&&V>X;)V--,M.style("font-size",`${V}px`);let le=Math.max(ie,Math.min(Q,Math.round(V*H))),ee=V+Y+le;for(;ee>$&&V>X&&(V--,le=Math.max(ie,Math.min(Q,Math.round(V*H))),!(le$;M.style("font-size",`${V}px`),(B.getComputedTextLength()>G||V(M.x1-M.x0)/2).attr("y",function(M){return(M.y1-M.y0)/2}).attr("style",M=>{let R="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(M.data.name)+";",P=Ze({cssCompiledStyles:M.data.cssCompiledStyles});return R+P.labelStyles.replace("color:","fill:")}).attr("clip-path",(M,R)=>`url(#clip-${e}-${R})`).text(M=>M.value?v(M.value):"").each(function(M){let R=je(this),P=this.parentNode;if(!P){R.style("display","none");return}let B=je(P).select(".treemapLabel");if(B.empty()||B.style("display")==="none"){R.style("display","none");return}let F=parseFloat(B.style("font-size")),G=28,$=.6,V=6,X=2,Q=Math.max(V,Math.min(G,Math.round(F*$)));R.style("font-size",`${Q}px`);let ie=(M.y1-M.y0)/2+F/2+X;R.attr("y",ie);let Y=M.x1-M.x0,J=M.y1-M.y0-4,te=Y-8;R.node().getComputedTextLength()>te||ie+Q>J||Q{"use strict";ar();F0t={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},$0t=o(({treemap:t}={})=>{let e=Pn(F0t,t);return` .treemapNode.section { stroke: ${e.sectionStrokeColor}; stroke-width: ${e.sectionStrokeWidth}; @@ -2791,16 +2970,16 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error fill: ${e.titleColor}; font-size: ${e.titleFontSize}; } - `},"getStyles"),sCe=Qft});var lCe={};vr(lCe,{diagram:()=>Zft});var Zft,cCe=I(()=>{"use strict";wW();nCe();aCe();oCe();Zft={parser:kW,get db(){return new Uv},renderer:iCe,styles:sCe}});var Fdt={};vr(Fdt,{default:()=>Bdt});Gc();nD();Op();var WIe=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),HIe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(xre(),vre));return{id:"c4",diagram:t}},"loader"),YIe={id:"c4",detector:WIe,loader:HIe},bre=YIe;var ige="flowchart",fJe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),dJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hC(),uC));return{id:ige,diagram:t}},"loader"),pJe={id:ige,detector:fJe,loader:dJe},age=pJe;var sge="flowchart-v2",mJe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),gJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hC(),uC));return{id:sge,diagram:t}},"loader"),yJe={id:sge,detector:mJe,loader:gJe},oge=yJe;var wJe=o(t=>/^\s*erDiagram/.test(t),"detector"),kJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(mge(),pge));return{id:"er",diagram:t}},"loader"),SJe={id:"er",detector:wJe,loader:kJe},gge=SJe;var W4e="gitGraph",Xit=o(t=>/^\s*gitGraph/.test(t),"detector"),Kit=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(U4e(),q4e));return{id:W4e,diagram:t}},"loader"),Qit={id:W4e,detector:Xit,loader:Kit},H4e=Qit;var STe="gantt",Fat=o(t=>/^\s*gantt/.test(t),"detector"),$at=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(kTe(),wTe));return{id:STe,diagram:t}},"loader"),zat={id:STe,detector:Fat,loader:$at},ETe=zat;var ITe="info",Hat=o(t=>/^\s*info/.test(t),"detector"),Yat=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(MTe(),NTe));return{id:ITe,diagram:t}},"loader"),OTe={id:ITe,detector:Hat,loader:Yat};var sst=o(t=>/^\s*pie/.test(t),"detector"),ost=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(UTe(),qTe));return{id:"pie",diagram:t}},"loader"),WTe={id:"pie",detector:sst,loader:ost};var i3e="quadrantChart",Est=o(t=>/^\s*quadrantChart/.test(t),"detector"),Cst=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(n3e(),r3e));return{id:i3e,diagram:t}},"loader"),Ast={id:i3e,detector:Est,loader:Cst},a3e=Ast;var N3e="xychart",Ust=o(t=>/^\s*xychart(-beta)?/.test(t),"detector"),Wst=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(L3e(),R3e));return{id:N3e,diagram:t}},"loader"),Hst={id:N3e,detector:Ust,loader:Wst},M3e=Hst;var V3e="requirement",Kst=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),Qst=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(G3e(),z3e));return{id:V3e,diagram:t}},"loader"),Zst={id:V3e,detector:Kst,loader:Qst},q3e=Zst;var awe="sequence",$ot=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),zot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(iwe(),nwe));return{id:awe,diagram:t}},"loader"),Got={id:awe,detector:$ot,loader:zot},swe=Got;var fwe="class",Yot=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),jot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hwe(),uwe));return{id:fwe,diagram:t}},"loader"),Xot={id:fwe,detector:Yot,loader:jot},dwe=Xot;var gwe="classDiagram",Qot=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),Zot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(mwe(),pwe));return{id:gwe,diagram:t}},"loader"),Jot={id:gwe,detector:Qot,loader:Zot},ywe=Jot;var Xwe="state",Elt=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),Clt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(jwe(),Ywe));return{id:Xwe,diagram:t}},"loader"),Alt={id:Xwe,detector:Elt,loader:Clt},Kwe=Alt;var Jwe="stateDiagram",Dlt=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),Rlt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Zwe(),Qwe));return{id:Jwe,diagram:t}},"loader"),Llt={id:Jwe,detector:Dlt,loader:Rlt},e5e=Llt;var g5e="journey",Zlt=o(t=>/^\s*journey/.test(t),"detector"),Jlt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(m5e(),p5e));return{id:g5e,diagram:t}},"loader"),ect={id:g5e,detector:Zlt,loader:Jlt},y5e=ect;gt();Uu();Fi();var tct=o((t,e,r)=>{X.debug(`rendering svg for syntax error -`);let n=Ca(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Sn(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),wU={draw:tct},v5e=wU;var rct={db:{},renderer:wU,parser:{parse:o(()=>{},"parse")}},x5e=rct;var b5e="flowchart-elk",nct=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),ict=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hC(),uC));return{id:b5e,diagram:t}},"loader"),act={id:b5e,detector:nct,loader:ict},T5e=act;var Y5e="timeline",Sct=o(t=>/^\s*timeline/.test(t),"detector"),Ect=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(H5e(),W5e));return{id:Y5e,diagram:t}},"loader"),Cct={id:Y5e,detector:Sct,loader:Ect},j5e=Cct;var uke="mindmap",Ict=o(t=>/^\s*mindmap/.test(t),"detector"),Oct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(cke(),lke));return{id:uke,diagram:t}},"loader"),Pct={id:uke,detector:Ict,loader:Oct},hke=Pct;var kke="kanban",Zct=o(t=>/^\s*kanban/.test(t),"detector"),Jct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wke(),Tke));return{id:kke,diagram:t}},"loader"),eut={id:kke,detector:Zct,loader:Jct},Ske=eut;var aSe="sankey",kut=o(t=>/^\s*sankey(-beta)?/.test(t),"detector"),Sut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(iSe(),nSe));return{id:aSe,diagram:t}},"loader"),Eut={id:aSe,detector:kut,loader:Sut},sSe=Eut;var pSe="packet",Iut=o(t=>/^\s*packet(-beta)?/.test(t),"detector"),Out=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(dSe(),fSe));return{id:pSe,diagram:t}},"loader"),mSe={id:pSe,detector:Iut,loader:Out};var CSe="radar",nht=o(t=>/^\s*radar-beta/.test(t),"detector"),iht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ESe(),SSe));return{id:CSe,diagram:t}},"loader"),ASe={id:CSe,detector:nht,loader:iht};var REe="block",Eft=o(t=>/^\s*block(-beta)?/.test(t),"detector"),Cft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(DEe(),_Ee));return{id:REe,diagram:t}},"loader"),Aft={id:REe,detector:Eft,loader:Cft},LEe=Aft;var JEe="architecture",Vft=o(t=>/^\s*architecture/.test(t),"detector"),qft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ZEe(),QEe));return{id:JEe,diagram:t}},"loader"),Uft={id:JEe,detector:Vft,loader:qft},eCe=Uft;Op();Qt();var uCe="treemap",Jft=o(t=>/^\s*treemap/.test(t),"detector"),edt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(cCe(),lCe));return{id:uCe,diagram:t}},"loader"),hCe={id:uCe,detector:Jft,loader:edt};var fCe=!1,Hv=o(()=>{fCe||(fCe=!0,Pp("error",x5e,t=>t.toLowerCase().trim()==="error"),Pp("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),S2(T5e,hke,eCe),S2(bre,Ske,ywe,dwe,gge,ETe,OTe,WTe,q3e,swe,oge,age,j5e,H4e,e5e,Kwe,y5e,a3e,sSe,mSe,M3e,LEe,ASe,hCe))},"addDiagrams");gt();Op();Qt();var dCe=o(async()=>{X.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(ah).map(async([r,{detector:n,loader:i}])=>{if(i)try{D2(r)}catch{try{let{diagram:a,id:s}=await i();Pp(s,a,n)}catch(a){throw X.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete ah[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){X.error(`Failed to load ${e.length} external diagrams`);for(let r of e)X.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");gt();kr();var f8="comm",d8="rule",p8="decl";var pCe="@import";var mCe="@namespace",gCe="@keyframes";var yCe="@layer";var SW=Math.abs,w3=String.fromCharCode;function m8(t){return t.trim()}o(m8,"trim");function k3(t,e,r){return t.replace(e,r)}o(k3,"replace");function vCe(t,e,r){return t.indexOf(e,r)}o(vCe,"indexof");function xp(t,e){return t.charCodeAt(e)|0}o(xp,"charat");function bp(t,e,r){return t.slice(e,r)}o(bp,"substr");function Jo(t){return t.length}o(Jo,"strlen");function xCe(t){return t.length}o(xCe,"sizeof");function Yv(t,e){return e.push(t),t}o(Yv,"append");var g8=1,jv=1,bCe=0,Gl=0,Hi=0,Kv="";function y8(t,e,r,n,i,a,s,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:g8,column:jv,length:s,return:"",siblings:l}}o(y8,"node");function TCe(){return Hi}o(TCe,"char");function wCe(){return Hi=Gl>0?xp(Kv,--Gl):0,jv--,Hi===10&&(jv=1,g8--),Hi}o(wCe,"prev");function Vl(){return Hi=Gl2||Xv(Hi)>3?"":" "}o(ECe,"whitespace");function CCe(t,e){for(;--e&&Vl()&&!(Hi<48||Hi>102||Hi>57&&Hi<65||Hi>70&&Hi<97););return v8(t,S3()+(e<6&&af()==32&&Vl()==32))}o(CCe,"escaping");function EW(t){for(;Vl();)switch(Hi){case t:return Gl;case 34:case 39:t!==34&&t!==39&&EW(Hi);break;case 40:t===41&&EW(t);break;case 92:Vl();break}return Gl}o(EW,"delimiter");function ACe(t,e){for(;Vl()&&t+Hi!==57;)if(t+Hi===84&&af()===47)break;return"/*"+v8(e,Gl-1)+"*"+w3(t===47?t:Vl())}o(ACe,"commenter");function _Ce(t){for(;!Xv(af());)Vl();return v8(t,Gl)}o(_Ce,"identifier");function LCe(t){return SCe(b8("",null,null,null,[""],t=kCe(t),0,[0],t))}o(LCe,"compile");function b8(t,e,r,n,i,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,T="",E=i,w=a,k=n,C=T;v;)switch(g=b,b=Vl()){case 40:if(g!=108&&xp(C,d-1)==58){vCe(C+=k3(x8(b),"&","&\f"),"&\f",SW(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:C+=x8(b);break;case 9:case 10:case 13:case 32:C+=ECe(g);break;case 92:C+=CCe(S3()-1,7);continue;case 47:switch(af()){case 42:case 47:Yv(tdt(ACe(Vl(),S3()),e,r,u),u),(Xv(g||1)==5||Xv(af()||1)==5)&&Jo(C)&&bp(C,-1,void 0)!==" "&&(C+=" ");break;default:C+="/"}break;case 123*y:l[h++]=Jo(C)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(C=k3(C,/\f/g,"")),m>0&&(Jo(C)-d||y===0&&g===47)&&Yv(m>32?RCe(C+";",n,r,d-1,u):RCe(k3(C," ","")+";",n,r,d-2,u),u);break;case 59:C+=";";default:if(Yv(k=DCe(C,e,r,h,f,i,l,T,E=[],w=[],d,a),a),b===123)if(f===0)b8(C,e,k,k,E,a,d,l,w);else{switch(p){case 99:if(xp(C,3)===110)break;case 108:if(xp(C,2)===97)break;default:f=0;case 100:case 109:case 115:}f?b8(t,k,k,n&&Yv(DCe(t,k,k,0,0,i,l,T,i,E=[],d,w),w),i,w,d,l,n?E:w):b8(C,k,k,k,[""],w,0,l,w)}}h=f=m=0,y=x=1,T=C="",d=s;break;case 58:d=1+Jo(C),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&wCe()==125)continue}switch(C+=w3(b),b*y){case 38:x=f>0?1:(C+="\f",-1);break;case 44:l[h++]=(Jo(C)-1)*x,x=1;break;case 64:af()===45&&(C+=x8(Vl())),p=af(),f=d=Jo(T=C+=_Ce(S3())),b++;break;case 45:g===45&&Jo(C)==2&&(y=0)}}return a}o(b8,"parse");function DCe(t,e,r,n,i,a,s,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=xCe(m),y=0,v=0,x=0;y0?m[b]+" "+T:k3(T,/&\f/g,m[b])))&&(u[x++]=E);return y8(t,e,r,i===0?d8:l,u,h,f,d)}o(DCe,"ruleset");function tdt(t,e,r,n){return y8(t,e,r,f8,w3(TCe()),bp(t,2,-2),0,n)}o(tdt,"comment");function RCe(t,e,r,n,i){return y8(t,e,r,p8,bp(t,0,n),bp(t,n+1,-1),n,i)}o(RCe,"declaration");function T8(t,e){for(var r="",n=0;n{OCe.forEach(t=>{t()}),OCe=[]},"attachFunctions");gt();var BCe=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");ww();Hx();function FCe(t){let e=t.match(Tw);if(!e)return{text:t,metadata:{}};let r=Wf(e[1],{schema:Uf})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}o(FCe,"extractFrontMatter");sr();var ndt=o(t=>t.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),idt=o(t=>{let{text:e,metadata:r}=FCe(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),adt=o(t=>{let e=jt.detectInit(t)??{},r=jt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:ore(t),directive:e}},"processDirectives");function CW(t){let e=ndt(t),r=idt(e),n=adt(r.text),i=Qn(r.config,n.directive);return t=BCe(n.text),{code:t,title:r.title,config:i}}o(CW,"preprocessDiagram");oD();F3();sr();function $Ce(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}o($Ce,"toBase64");var sdt=5e4,odt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",ldt="sandbox",cdt="loose",udt="http://www.w3.org/2000/svg",hdt="http://www.w3.org/1999/xlink",fdt="http://www.w3.org/1999/xhtml",ddt="100%",pdt="100%",mdt="border:0;margin:0;",gdt="margin:0",ydt="allow-top-navigation-by-user-activation allow-popups",vdt='The "iframe" tag is not supported by your browser.',xdt=["foreignobject"],bdt=["dominant-baseline"];function qCe(t){let e=CW(t);return o2(),$H(e.config??{}),e}o(qCe,"processAndSetConfigs");async function Tdt(t,e){Hv();try{let{code:r,config:n}=qCe(t);return{diagramType:(await UCe(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(Tdt,"parse");var zCe=o((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),wdt=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` + `},"getStyles"),q6e=$0t});var W6e={};vr(W6e,{diagram:()=>z0t});var z0t,H6e=O(()=>{"use strict";rH();z6e();V6e();U6e();z0t={parser:nH,get db(){return new r2},renderer:G6e,styles:q6e}});var Cmt={};vr(Cmt,{default:()=>Smt});Xc();vD();Fp();var _Pe=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),DPe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Jre(),Zre));return{id:"c4",diagram:t}},"loader"),RPe={id:"c4",detector:_Pe,loader:DPe},ene=RPe;var Vge="flowchart",Zet=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Jet=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(EC(),kC));return{id:Vge,diagram:t}},"loader"),ett={id:Vge,detector:Zet,loader:Jet},qge=ett;var Uge="flowchart-v2",ttt=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),rtt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(EC(),kC));return{id:Uge,diagram:t}},"loader"),ntt={id:Uge,detector:ttt,loader:rtt},Wge=ntt;var ltt=o(t=>/^\s*erDiagram/.test(t),"detector"),ctt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Jge(),Zge));return{id:"er",diagram:t}},"loader"),utt={id:"er",detector:ltt,loader:ctt},e1e=utt;var D4e="gitGraph",Nst=o(t=>/^\s*gitGraph/.test(t),"detector"),Mst=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_4e(),A4e));return{id:D4e,diagram:t}},"loader"),Ist={id:D4e,detector:Nst,loader:Mst},R4e=Ist;var l3e="gantt",Tot=o(t=>/^\s*gantt/.test(t),"detector"),wot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(o3e(),s3e));return{id:l3e,diagram:t}},"loader"),kot={id:l3e,detector:Tot,loader:wot},c3e=kot;var v3e="info",_ot=o(t=>/^\s*info/.test(t),"detector"),Dot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(y3e(),g3e));return{id:v3e,diagram:t}},"loader"),x3e={id:v3e,detector:_ot,loader:Dot};var Vot=o(t=>/^\s*pie/.test(t),"detector"),qot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_3e(),A3e));return{id:"pie",diagram:t}},"loader"),D3e={id:"pie",detector:Vot,loader:qot};var V3e="quadrantChart",olt=o(t=>/^\s*quadrantChart/.test(t),"detector"),llt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(G3e(),z3e));return{id:V3e,diagram:t}},"loader"),clt={id:V3e,detector:olt,loader:llt},q3e=clt;var gwe="xychart",Clt=o(t=>/^\s*xychart(-beta)?/.test(t),"detector"),Alt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(mwe(),pwe));return{id:gwe,diagram:t}},"loader"),_lt={id:gwe,detector:Clt,loader:Alt},ywe=_lt;var Cwe="requirement",Nlt=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),Mlt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Swe(),Ewe));return{id:Cwe,diagram:t}},"loader"),Ilt={id:Cwe,detector:Nlt,loader:Mlt},Awe=Ilt;var Wwe="sequence",Rct=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),Lct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Uwe(),qwe));return{id:Wwe,diagram:t}},"loader"),Nct={id:Wwe,detector:Rct,loader:Lct},Hwe=Nct;var Zwe="class",Fct=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),$ct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Qwe(),Kwe));return{id:Zwe,diagram:t}},"loader"),zct={id:Zwe,detector:Fct,loader:$ct},Jwe=zct;var r5e="classDiagram",Vct=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),qct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(t5e(),e5e));return{id:r5e,diagram:t}},"loader"),Uct={id:r5e,detector:Vct,loader:qct},n5e=Uct;var O5e="state",gut=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),yut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(I5e(),M5e));return{id:O5e,diagram:t}},"loader"),vut={id:O5e,detector:gut,loader:yut},P5e=vut;var $5e="stateDiagram",but=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),Tut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(F5e(),B5e));return{id:$5e,diagram:t}},"loader"),wut={id:$5e,detector:but,loader:Tut},z5e=wut;var rke="journey",qut=o(t=>/^\s*journey/.test(t),"detector"),Uut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(tke(),eke));return{id:rke,diagram:t}},"loader"),Wut={id:rke,detector:qut,loader:Uut},nke=Wut;xt();Ul();Ti();var Hut=o((t,e,r)=>{K.debug(`rendering svg for syntax error +`);let n=Ii(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Zr(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),BU={draw:Hut},ike=BU;var Yut={db:{},renderer:BU,parser:{parse:o(()=>{},"parse")}},ake=Yut;var ske="flowchart-elk",jut=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),Xut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(EC(),kC));return{id:ske,diagram:t}},"loader"),Kut={id:ske,detector:jut,loader:Xut},oke=Kut;var Mke="timeline",mht=o(t=>/^\s*timeline/.test(t),"detector"),ght=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nke(),Lke));return{id:Mke,diagram:t}},"loader"),yht={id:Mke,detector:mht,loader:ght},Ike=yht;var Zke="mindmap",Sht=o(t=>/^\s*mindmap/.test(t),"detector"),Cht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Qke(),Kke));return{id:Zke,diagram:t}},"loader"),Aht={id:Zke,detector:Sht,loader:Cht},Jke=Aht;var hEe="kanban",qht=o(t=>/^\s*kanban/.test(t),"detector"),Uht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(uEe(),cEe));return{id:hEe,diagram:t}},"loader"),Wht={id:hEe,detector:qht,loader:Uht},fEe=Wht;var YEe="sankey",pft=o(t=>/^\s*sankey(-beta)?/.test(t),"detector"),mft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(HEe(),WEe));return{id:YEe,diagram:t}},"loader"),gft={id:YEe,detector:pft,loader:mft},jEe=gft;var rSe="packet",Sft=o(t=>/^\s*packet(-beta)?/.test(t),"detector"),Cft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(tSe(),eSe));return{id:rSe,diagram:t}},"loader"),nSe={id:rSe,detector:Sft,loader:Cft};var pSe="radar",jft=o(t=>/^\s*radar-beta/.test(t),"detector"),Xft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(dSe(),fSe));return{id:pSe,diagram:t}},"loader"),mSe={id:pSe,detector:jft,loader:Xft};var vCe="block",ppt=o(t=>/^\s*block(-beta)?/.test(t),"detector"),mpt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(yCe(),gCe));return{id:vCe,diagram:t}},"loader"),gpt={id:vCe,detector:ppt,loader:mpt},xCe=gpt;var GCe="architecture",Lpt=o(t=>/^\s*architecture/.test(t),"detector"),Npt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(zCe(),$Ce));return{id:GCe,diagram:t}},"loader"),Mpt={id:GCe,detector:Lpt,loader:Npt},VCe=Mpt;var a6e="ishikawa",Hpt=o(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),Ypt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(i6e(),n6e));return{id:a6e,diagram:t}},"loader"),s6e={id:a6e,detector:Hpt,loader:Ypt};var P6e="venn",R0t=o(t=>/^\s*venn-beta/.test(t),"detector"),L0t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(O6e(),I6e));return{id:P6e,diagram:t}},"loader"),N0t={id:P6e,detector:R0t,loader:L0t},B6e=N0t;Fp();jt();var Y6e="treemap",G0t=o(t=>/^\s*treemap/.test(t),"detector"),V0t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(H6e(),W6e));return{id:Y6e,diagram:t}},"loader"),j6e={id:Y6e,detector:G0t,loader:V0t};var X6e=!1,i2=o(()=>{X6e||(X6e=!0,$p("error",ake,t=>t.toLowerCase().trim()==="error"),$p("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),B2(oke,Jke,VCe),B2(ene,fEe,n5e,Jwe,e1e,c3e,x3e,D3e,Awe,Hwe,Wge,qge,Ike,R4e,z5e,P5e,nke,q3e,jEe,nSe,ywe,xCe,mSe,s6e,j6e,B6e))},"addDiagrams");xt();Fp();jt();var K6e=o(async()=>{K.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(uh).map(async([r,{detector:n,loader:i}])=>{if(i)try{V2(r)}catch{try{let{diagram:a,id:s}=await i();$p(s,a,n)}catch(a){throw K.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete uh[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){K.error(`Failed to load ${e.length} external diagrams`);for(let r of e)K.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");xt();Ar();var __="comm",D_="rule",R_="decl";var Q6e="@import";var Z6e="@namespace",J6e="@keyframes";var eAe="@layer";var iH=Math.abs,I3=String.fromCharCode;function L_(t){return t.trim()}o(L_,"trim");function O3(t,e,r){return t.replace(e,r)}o(O3,"replace");function tAe(t,e,r){return t.indexOf(e,r)}o(tAe,"indexof");function wp(t,e){return t.charCodeAt(e)|0}o(wp,"charat");function kp(t,e,r){return t.slice(e,r)}o(kp,"substr");function ol(t){return t.length}o(ol,"strlen");function rAe(t){return t.length}o(rAe,"sizeof");function a2(t,e){return e.push(t),t}o(a2,"append");var N_=1,s2=1,nAe=0,jl=0,Xi=0,l2="";function M_(t,e,r,n,i,a,s,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:N_,column:s2,length:s,return:"",siblings:l}}o(M_,"node");function iAe(){return Xi}o(iAe,"char");function aAe(){return Xi=jl>0?wp(l2,--jl):0,s2--,Xi===10&&(s2=1,N_--),Xi}o(aAe,"prev");function Xl(){return Xi=jl2||o2(Xi)>3?"":" "}o(lAe,"whitespace");function cAe(t,e){for(;--e&&Xl()&&!(Xi<48||Xi>102||Xi>57&&Xi<65||Xi>70&&Xi<97););return I_(t,P3()+(e<6&&ff()==32&&Xl()==32))}o(cAe,"escaping");function aH(t){for(;Xl();)switch(Xi){case t:return jl;case 34:case 39:t!==34&&t!==39&&aH(Xi);break;case 40:t===41&&aH(t);break;case 92:Xl();break}return jl}o(aH,"delimiter");function uAe(t,e){for(;Xl()&&t+Xi!==57;)if(t+Xi===84&&ff()===47)break;return"/*"+I_(e,jl-1)+"*"+I3(t===47?t:Xl())}o(uAe,"commenter");function hAe(t){for(;!o2(ff());)Xl();return I_(t,jl)}o(hAe,"identifier");function pAe(t){return oAe(P_("",null,null,null,[""],t=sAe(t),0,[0],t))}o(pAe,"compile");function P_(t,e,r,n,i,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,T="",E=i,w=a,k=n,S=T;v;)switch(g=b,b=Xl()){case 40:if(g!=108&&wp(S,d-1)==58){tAe(S+=O3(O_(b),"&","&\f"),"&\f",iH(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:S+=O_(b);break;case 9:case 10:case 13:case 32:S+=lAe(g);break;case 92:S+=cAe(P3()-1,7);continue;case 47:switch(ff()){case 42:case 47:a2(q0t(uAe(Xl(),P3()),e,r,u),u),(o2(g||1)==5||o2(ff()||1)==5)&&ol(S)&&kp(S,-1,void 0)!==" "&&(S+=" ");break;default:S+="/"}break;case 123*y:l[h++]=ol(S)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(S=O3(S,/\f/g,"")),m>0&&(ol(S)-d||y===0&&g===47)&&a2(m>32?dAe(S+";",n,r,d-1,u):dAe(O3(S," ","")+";",n,r,d-2,u),u);break;case 59:S+=";";default:if(a2(k=fAe(S,e,r,h,f,i,l,T,E=[],w=[],d,a),a),b===123)if(f===0)P_(S,e,k,k,E,a,d,l,w);else{switch(p){case 99:if(wp(S,3)===110)break;case 108:if(wp(S,2)===97)break;default:f=0;case 100:case 109:case 115:}f?P_(t,k,k,n&&a2(fAe(t,k,k,0,0,i,l,T,i,E=[],d,w),w),i,w,d,l,n?E:w):P_(S,k,k,k,[""],w,0,l,w)}}h=f=m=0,y=x=1,T=S="",d=s;break;case 58:d=1+ol(S),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&aAe()==125)continue}switch(S+=I3(b),b*y){case 38:x=f>0?1:(S+="\f",-1);break;case 44:l[h++]=(ol(S)-1)*x,x=1;break;case 64:ff()===45&&(S+=O_(Xl())),p=ff(),f=d=ol(T=S+=hAe(P3())),b++;break;case 45:g===45&&ol(S)==2&&(y=0)}}return a}o(P_,"parse");function fAe(t,e,r,n,i,a,s,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=rAe(m),y=0,v=0,x=0;y0?m[b]+" "+T:O3(T,/&\f/g,m[b])))&&(u[x++]=E);return M_(t,e,r,i===0?D_:l,u,h,f,d)}o(fAe,"ruleset");function q0t(t,e,r,n){return M_(t,e,r,__,I3(iAe()),kp(t,2,-2),0,n)}o(q0t,"comment");function dAe(t,e,r,n,i){return M_(t,e,r,R_,kp(t,0,n),kp(t,n+1,-1),n,i)}o(dAe,"declaration");function B_(t,e){for(var r="",n=0;n{vAe.forEach(t=>{t()}),vAe=[]},"attachFunctions");xt();var bAe=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");Ow();ib();function TAe(t){let e=t.match(Iw);if(!e)return{text:t,metadata:{}};let r=Kf(e[1],{schema:Xf})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}o(TAe,"extractFrontMatter");ar();var W0t=o(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),H0t=o(t=>{let{text:e,metadata:r}=TAe(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),Y0t=o(t=>{let e=Xt.detectInit(t)??{},r=Xt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:Gre(t),directive:e}},"processDirectives");function sH(t){let e=W0t(t),r=H0t(e),n=Y0t(r.text),i=Pn(r.config,n.directive);return t=bAe(n.text),{code:t,title:r.title,config:i}}o(sH,"preprocessDiagram");wD();Q3();ar();function wAe(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}o(wAe,"toBase64");var j0t=5e4,X0t="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",K0t="sandbox",Q0t="loose",Z0t="http://www.w3.org/2000/svg",J0t="http://www.w3.org/1999/xlink",emt="http://www.w3.org/1999/xhtml",tmt="100%",rmt="100%",nmt="border:0;margin:0;",imt="margin:0",amt="allow-top-navigation-by-user-activation allow-popups",smt='The "iframe" tag is not supported by your browser.',omt=["foreignobject"],lmt=["dominant-baseline"];function CAe(t){let e=sH(t);return x2(),bY(e.config??{}),e}o(CAe,"processAndSetConfigs");async function cmt(t,e){i2();try{let{code:r,config:n}=CAe(t);return{diagramType:(await AAe(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(cmt,"parse");var kAe=o((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),umt=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Tr(l.styles)||s.forEach(u=>{r+=zCe(l.id,u,l.styles)}),Tr(l.textStyles)||(r+=zCe(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),kdt=o((t,e,r,n)=>{let i=wdt(t,r),a=Hj(e,i,t.themeVariables);return T8(LCe(`${n}{${a}}`),NCe)},"createUserStyles"),Sdt=o((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=ga(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),Edt=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":pdt,n=$Ce(`${t}`);return``},"putIntoIFrame"),GCe=o((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",udt);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function VCe(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(VCe,"sandboxedIframe");var Cdt=o((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),Adt=o(async function(t,e,r){Hv();let n=qCe(e);e=n.code;let i=tr();X.debug(i),e.length>(i?.maxTextSize??sdt)&&(e=odt);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let A=He(p?l:h).node();A&&"remove"in A&&A.remove()},"removeTempElements"),d=He("body"),p=i.securityLevel===ldt,m=i.securityLevel===cdt,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let S=VCe(He(r),s);d=He(S.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=He(r);GCe(d,t,u,`font-family: ${g}`,hdt)}else{if(Cdt(document,t,u,s),p){let S=VCe(He("body"),s);d=He(S.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=He("body");GCe(d,t,u)}let y,v;try{y=await Qv.fromText(e,{title:n.title})}catch(S){if(i.suppressErrorRendering)throw f(),S;y=await Qv.fromText("error"),v=S}let x=d.select(h).node(),b=y.type,T=x.firstChild,E=T.firstChild,w=y.renderer.getClasses?.(e,y),k=kdt(i,b,w,a),C=document.createElement("style");C.innerHTML=k,T.insertBefore(C,E);try{await y.renderer.draw(e,t,JT.version,y)}catch(S){throw i.suppressErrorRendering?f():v5e.draw(e,t,JT.version),S}let D=d.select(`${h} svg`),R=y.db.getAccTitle?.(),O=y.db.getAccDescription?.();Ddt(b,D,R,O),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",fdt);let L=d.select(h).node().innerHTML;if(X.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),L=Sdt(L,p,Sr(i.arrowMarkerAbsolute)),p){let S=d.select(h+" svg").node();L=Edt(L,S)}else m||(L=ff.sanitize(L,{ADD_TAGS:xdt,ADD_ATTR:bdt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(PCe(),v)throw v;return f(),{diagramType:b,svg:L,bindFunctions:y.db.bindFunctions}},"render");function _dt(t={}){let e=$n({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),PH(e),e?.theme&&e.theme in rl?e.themeVariables=rl[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=rl.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?t_(e):r_();Jv(r.logLevel),Hv()}o(_dt,"initialize");var UCe=o((t,e={})=>{let{code:r}=CW(t);return Qv.fromText(r,e)},"getDiagramFromText");function Ddt(t,e,r,n){MCe(e,t),ICe(e,r,n,e.attr("id"))}o(Ddt,"addA11yInfo");var Tp=Object.freeze({render:Adt,parse:Tdt,getDiagramFromText:UCe,initialize:_dt,getConfig:tr,setConfig:G3,getSiteConfig:r_,updateSiteConfig:BH,reset:o(()=>{o2()},"reset"),globalReset:o(()=>{o2(hf)},"globalReset"),defaultConfig:hf});Jv(tr().logLevel);o2(tr());Cd();sr();var Rdt=o((t,e,r)=>{X.warn(t),bN(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}))},"handleError"),WCe=o(async function(t={querySelector:".mermaid"}){try{await Ldt(t)}catch(e){if(bN(e)&&X.error(e.str),sf.parseError&&sf.parseError(e),!t.suppressErrors)throw X.error("Use the suppressErrors option to suppress these errors"),e}},"run"),Ldt=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=Tp.getConfig();X.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");X.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(X.debug("Start On Load: "+n?.startOnLoad),Tp.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new jt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,l=[];for(let u of Array.from(i)){X.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=bw(jt.entityDecode(s)).trim().replace(//gi,"
    ");let f=jt.detectInit(s);f&&X.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await XCe(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){Rdt(d,l,sf.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),HCe=o(function(t){Tp.initialize(t)},"initialize"),Ndt=o(async function(t,e,r){X.warn("mermaid.init is deprecated. Please use run instead."),t&&HCe(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await WCe(n)},"init"),Mdt=o(async(t,{lazyLoad:e=!0}={})=>{Hv(),S2(...t),e===!1&&await dCe()},"registerExternalDiagrams"),YCe=o(function(){if(sf.startOnLoad){let{startOnLoad:t}=Tp.getConfig();t&&sf.run().catch(e=>X.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",YCe,!1)}var Idt=o(function(t){sf.parseError=t},"setParseErrorHandler"),w8=[],AW=!1,jCe=o(async()=>{if(!AW){for(AW=!0;w8.length>0;){let t=w8.shift();if(t)try{await t()}catch(e){X.error("Error executing queue",e)}}AW=!1}},"executeQueue"),Odt=o(async(t,e)=>new Promise((r,n)=>{let i=o(()=>new Promise((a,s)=>{Tp.parse(t,e).then(l=>{a(l),r(l)},l=>{X.error("Error parsing",l),sf.parseError?.(l),s(l),n(l)})}),"performCall");w8.push(i),jCe().catch(n)}),"parse"),XCe=o((t,e,r)=>new Promise((n,i)=>{let a=o(()=>new Promise((s,l)=>{Tp.render(t,e,r).then(u=>{s(u),n(u)},u=>{X.error("Error parsing",u),sf.parseError?.(u),l(u),i(u)})}),"performCall");w8.push(a),jCe().catch(i)}),"render"),Pdt=o(()=>Object.keys(ah).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),sf={startOnLoad:!0,mermaidAPI:Tp,parse:Odt,render:XCe,init:Ndt,run:WCe,registerExternalDiagrams:Mdt,registerLayoutLoaders:mB,initialize:HCe,parseError:void 0,contentLoaded:YCe,setParseErrorHandler:Idt,detectType:hg,registerIconPacks:xw,getRegisteredDiagramsMetadata:Pdt},Bdt=sf;return D3(Fdt);})(); +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=Sr(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Er(l.styles)||s.forEach(u=>{r+=kAe(l.id,u,l.styles)}),Er(l.textStyles)||(r+=kAe(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),hmt=o((t,e,r,n)=>{let i=umt(t,r),a=CX(e,i,t.themeVariables);return B_(pAe(`${n}{${a}}`),mAe)},"createUserStyles"),fmt=o((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=ao(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),dmt=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":rmt,n=wAe(`${t}`);return``},"putIntoIFrame"),EAe=o((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",Z0t);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function SAe(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(SAe,"sandboxedIframe");var pmt=o((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),mmt=o(async function(t,e,r){i2();let n=CAe(e);e=n.code;let i=Zt();K.debug(i),e.length>(i?.maxTextSize??j0t)&&(e=X0t);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let _=je(p?l:h).node();_&&"remove"in _&&_.remove()},"removeTempElements"),d=je("body"),p=i.securityLevel===K0t,m=i.securityLevel===Q0t,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let C=SAe(je(r),s);d=je(C.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=je(r);EAe(d,t,u,`font-family: ${g}`,J0t)}else{if(pmt(document,t,u,s),p){let C=SAe(je("body"),s);d=je(C.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=je("body");EAe(d,t,u)}let y,v;try{y=await c2.fromText(e,{title:n.title})}catch(C){if(i.suppressErrorRendering)throw f(),C;y=await c2.fromText("error"),v=C}let x=d.select(h).node(),b=y.type,T=x.firstChild,E=T.firstChild,w=y.renderer.getClasses?.(e,y),k=hmt(i,b,w,a),S=document.createElement("style");S.innerHTML=k,T.insertBefore(S,E);try{await y.renderer.draw(e,t,"11.13.0",y)}catch(C){throw i.suppressErrorRendering?f():ike.draw(e,t,"11.13.0"),C}let A=d.select(`${h} svg`),L=y.db.getAccTitle?.(),I=y.db.getAccDescription?.();ymt(b,A,L,I),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",emt);let N=d.select(h).node().innerHTML;if(K.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),N=fmt(N,p,Xs(i.arrowMarkerAbsolute)),p){let C=d.select(h+" svg").node();N=dmt(N,C)}else m||(N=fl.sanitize(N,{ADD_TAGS:omt,ADD_ATTR:lmt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(xAe(),v)throw v;return f(),{diagramType:b,svg:N,bindFunctions:y.db.bindFunctions}},"render");function gmt(t={}){let e=Vn({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),yY(e),e?.theme&&e.theme in ul?e.themeVariables=ul[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=ul.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?m8(e):g8();h2(r.logLevel),i2()}o(gmt,"initialize");var AAe=o((t,e={})=>{let{code:r}=sH(t);return c2.fromText(r,e)},"getDiagramFromText");function ymt(t,e,r,n){gAe(e,t),yAe(e,r,n,e.attr("id"))}o(ymt,"addA11yInfo");var Ep=Object.freeze({render:mmt,parse:cmt,getDiagramFromText:AAe,initialize:gmt,getConfig:Zt,setConfig:ew,getSiteConfig:g8,updateSiteConfig:vY,reset:o(()=>{x2()},"reset"),globalReset:o(()=>{x2(vf)},"globalReset"),defaultConfig:vf});h2(Zt().logLevel);x2(Zt());Rd();ar();var vmt=o((t,e,r)=>{K.warn(t),ON(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}))},"handleError"),_Ae=o(async function(t={querySelector:".mermaid"}){try{await xmt(t)}catch(e){if(ON(e)&&K.error(e.str),df.parseError&&df.parseError(e),!t.suppressErrors)throw K.error("Use the suppressErrors option to suppress these errors"),e}},"run"),xmt=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=Ep.getConfig();K.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");K.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(K.debug("Start On Load: "+n?.startOnLoad),Ep.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new Xt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,l=[];for(let u of Array.from(i)){K.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=Mw(Xt.entityDecode(s)).trim().replace(//gi,"
    ");let f=Xt.detectInit(s);f&&K.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await NAe(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){vmt(d,l,df.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),DAe=o(function(t){Ep.initialize(t)},"initialize"),bmt=o(async function(t,e,r){K.warn("mermaid.init is deprecated. Please use run instead."),t&&DAe(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await _Ae(n)},"init"),Tmt=o(async(t,{lazyLoad:e=!0}={})=>{i2(),B2(...t),e===!1&&await K6e()},"registerExternalDiagrams"),RAe=o(function(){if(df.startOnLoad){let{startOnLoad:t}=Ep.getConfig();t&&df.run().catch(e=>K.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",RAe,!1)}var wmt=o(function(t){df.parseError=t},"setParseErrorHandler"),F_=[],oH=!1,LAe=o(async()=>{if(!oH){for(oH=!0;F_.length>0;){let t=F_.shift();if(t)try{await t()}catch(e){K.error("Error executing queue",e)}}oH=!1}},"executeQueue"),kmt=o(async(t,e)=>new Promise((r,n)=>{let i=o(()=>new Promise((a,s)=>{Ep.parse(t,e).then(l=>{a(l),r(l)},l=>{K.error("Error parsing",l),df.parseError?.(l),s(l),n(l)})}),"performCall");F_.push(i),LAe().catch(n)}),"parse"),NAe=o((t,e,r)=>new Promise((n,i)=>{let a=o(()=>new Promise((s,l)=>{Ep.render(t,e,r).then(u=>{s(u),n(u)},u=>{K.error("Error parsing",u),df.parseError?.(u),l(u),i(u)})}),"performCall");F_.push(a),LAe().catch(i)}),"render"),Emt=o(()=>Object.keys(uh).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),df={startOnLoad:!0,mermaidAPI:Ep,parse:kmt,render:NAe,init:bmt,run:_Ae,registerExternalDiagrams:Tmt,registerLayoutLoaders:LB,initialize:DAe,parseError:void 0,contentLoaded:RAe,setParseErrorHandler:wmt,detectType:vg,registerIconPacks:Nw,getRegisteredDiagramsMetadata:Emt},Smt=df;return G3(Cmt);})(); /*! Check if previously processed */ /*! * Wait for document loaded before starting the execution @@ -2808,10 +2987,10 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` /*! Bundled license information: dompurify/dist/purify.es.mjs: - (*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE *) + (*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE *) js-yaml/dist/js-yaml.mjs: - (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) + (*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *) lodash-es/lodash.js: (** diff --git a/community/code_of_conduct/index.html b/community/code_of_conduct/index.html index 1aca17f69..14fa32605 100644 --- a/community/code_of_conduct/index.html +++ b/community/code_of_conduct/index.html @@ -1 +1 @@ - Code of Conduct - JSON for Modern C++

    Contributor Covenant Code of Conduct

    Our Pledge

    We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

    We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

    Our Standards

    Examples of behavior that contributes to a positive environment for our community include:

    • Demonstrating empathy and kindness toward other people
    • Being respectful of differing opinions, viewpoints, and experiences
    • Giving and gracefully accepting constructive feedback
    • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
    • Focusing on what is best not just for us as individuals, but for the overall community

    Examples of unacceptable behavior include:

    • The use of sexualized language or imagery, and sexual attention or advances of any kind
    • Trolling, insulting or derogatory comments, and personal or political attacks
    • Public or private harassment
    • Publishing others' private information, such as a physical or email address, without their explicit permission
    • Other conduct which could reasonably be considered inappropriate in a professional setting

    Enforcement Responsibilities

    Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

    Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

    Scope

    This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

    Enforcement

    Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at mail@nlohmann.me. All complaints will be reviewed and investigated promptly and fairly.

    All community leaders are obligated to respect the privacy and security of the reporter of any incident.

    Enforcement Guidelines

    Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

    1. Correction

    Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

    Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

    2. Warning

    Community Impact: A violation through a single incident or series of actions.

    Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

    3. Temporary Ban

    Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

    Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

    4. Permanent Ban

    Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

    Consequence: A permanent ban from any sort of public interaction within the community.

    Attribution

    This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

    Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

    For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

    \ No newline at end of file +Code of Conduct - JSON for Modern C++

    Contributor Covenant Code of Conduct

    Our Pledge

    We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

    We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

    Our Standards

    Examples of behavior that contributes to a positive environment for our community include:

    • Demonstrating empathy and kindness toward other people
    • Being respectful of differing opinions, viewpoints, and experiences
    • Giving and gracefully accepting constructive feedback
    • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
    • Focusing on what is best not just for us as individuals, but for the overall community

    Examples of unacceptable behavior include:

    • The use of sexualized language or imagery, and sexual attention or advances of any kind
    • Trolling, insulting or derogatory comments, and personal or political attacks
    • Public or private harassment
    • Publishing others' private information, such as a physical or email address, without their explicit permission
    • Other conduct which could reasonably be considered inappropriate in a professional setting

    Enforcement Responsibilities

    Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

    Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

    Scope

    This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

    Enforcement

    Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at mail@nlohmann.me. All complaints will be reviewed and investigated promptly and fairly.

    All community leaders are obligated to respect the privacy and security of the reporter of any incident.

    Enforcement Guidelines

    Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

    1. Correction

    Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

    Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

    2. Warning

    Community Impact: A violation through a single incident or series of actions.

    Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

    3. Temporary Ban

    Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

    Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

    4. Permanent Ban

    Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

    Consequence: A permanent ban from any sort of public interaction within the community.

    Attribution

    This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

    Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

    For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

    \ No newline at end of file diff --git a/community/contribution_guidelines/index.html b/community/contribution_guidelines/index.html index a33f63ff0..1af5fbff9 100644 --- a/community/contribution_guidelines/index.html +++ b/community/contribution_guidelines/index.html @@ -1,8 +1,8 @@ -Contribution Guidelines - JSON for Modern C++

    Contribution Guidelines

    Thank you for your interest in contributing to this project! What began as an exercise to explore the exciting features of C++11 has evolved into a widely used JSON library. I truly appreciate all the contributions from the community, whether it's proposing features, identifying bugs, or fixing mistakes! To ensure that our collaboration is efficient and effective, please follow these guidelines.

    Feel free to discuss or suggest improvements to this document by submitting a pull request.

    Ways to Contribute

    There are multiple ways to contribute.

    Reporting an issue

    Please create an issue, assuming one does not already exist, and describe your concern. Note you need a GitHub account for this.

    Clearly describe the issue:

    • If it is a bug, please describe how to reproduce it. If possible, attach a complete example which demonstrates the error. Please also state what you expected to happen instead of the error.
    • If you propose a change or addition, try to give an example what the improved code could look like or how to use it.
    • If you found a compilation error, please tell us which compiler (version and operating system) you used and paste the (relevant part of) the error messages to the ticket.

    Please stick to the provided issue template bug report if possible.

    Reporting a security vulnerability

    You can report a security vulnerability according to our security policy.

    Discussing a new feature

    For questions, feature or support requests, please open a discussion. If you find a proposed answer satisfactory, please use the "Mark as answer" button to make it easier for readers to see what helped and for the community to filter for open questions.

    Proposing a fix or an improvement

    Join an ongoing discussion or comment on an existing issue before starting to code. This can help to avoid duplicate efforts or other frustration during the later review.

    Create a pull request against the develop branch and follow the pull request template. In particular,

    • describe the changes in detail, both the what and why,
    • reference existing issues where applicable,
    • add tests to maintain 100% test coverage,
    • update the documentation as needed, and
    • ensure the source code is amalgamated.

    We describe all points in detail below.

    All contributions (including pull requests) must agree to the Developer Certificate of Origin (DCO) version 1.1. This is exactly the same one created and used by the Linux kernel developers and posted on http://developercertificate.org/. This is a developer's certification that he or she has the right to submit the patch for inclusion into the project.

    How to...

    Describe your changes

    This library is primarily maintained as a spare-time project. As such, I cannot make any guarantee how quickly changes are merged and released. Therefore, it is very important to make the review as smooth as possible by explaining not only what you changed, but why. This rationale can be very valuable down the road when improvements or bugs are discussed years later.

    Reference an existing issue

    Link a pull request to an issue to clarify that a fix is forthcoming and which issue can be closed after merging. Only a few cases (e.g., fixing typos) do not require prior discussions.

    Write tests

    The library has an extensive test suite that currently covers 100 % of the library's code. These tests are crucial to maintain API stability and give future contributors confidence that they do not accidentally break things. As Titus Winters aptly put it:

    If you liked it, you should have put a test on it.

    Run the tests

    First, ensure the test suite runs before making any changes:

    $ cmake -S. -B build
    + Contribution Guidelines - JSON for Modern C++      

    Contribution Guidelines

    Thank you for your interest in contributing to this project! What began as an exercise to explore the exciting features of C++11 has evolved into a widely used JSON library. I truly appreciate all the contributions from the community, whether it's proposing features, identifying bugs, or fixing mistakes! To ensure that our collaboration is efficient and effective, please follow these guidelines.

    Feel free to discuss or suggest improvements to this document by submitting a pull request.

    Ways to Contribute

    There are multiple ways to contribute.

    Reporting an issue

    Please create an issue, assuming one does not already exist, and describe your concern. Note you need a GitHub account for this.

    Clearly describe the issue:

    • If it is a bug, please describe how to reproduce it. If possible, attach a complete example which demonstrates the error. Please also state what you expected to happen instead of the error.
    • If you propose a change or addition, try to give an example what the improved code could look like or how to use it.
    • If you found a compilation error, please tell us which compiler (version and operating system) you used and paste the (relevant part of) the error messages to the ticket.

    Please stick to the provided issue template bug report if possible.

    Reporting a security vulnerability

    You can report a security vulnerability according to our security policy.

    Discussing a new feature

    For questions, feature or support requests, please open a discussion. If you find a proposed answer satisfactory, please use the "Mark as answer" button to make it easier for readers to see what helped and for the community to filter for open questions.

    Proposing a fix or an improvement

    Join an ongoing discussion or comment on an existing issue before starting to code. This can help to avoid duplicate efforts or other frustration during the later review.

    Create a pull request against the develop branch and follow the pull request template. In particular,

    • describe the changes in detail, both the what and why,
    • reference existing issues where applicable,
    • add tests to maintain 100% test coverage,
    • update the documentation as needed, and
    • ensure the source code is amalgamated.

    We describe all points in detail below.

    All contributions (including pull requests) must agree to the Developer Certificate of Origin (DCO) version 1.1. This is exactly the same one created and used by the Linux kernel developers and posted on http://developercertificate.org/. This is a developer's certification that he or she has the right to submit the patch for inclusion into the project.

    How to...

    Describe your changes

    This library is primarily maintained as a spare-time project. As such, I cannot make any guarantee how quickly changes are merged and released. Therefore, it is very important to make the review as smooth as possible by explaining not only what you changed, but why. This rationale can be very valuable down the road when improvements or bugs are discussed years later.

    Reference an existing issue

    Link a pull request to an issue to clarify that a fix is forthcoming and which issue can be closed after merging. Only a few cases (e.g., fixing typos) do not require prior discussions.

    Write tests

    The library has an extensive test suite that currently covers 100 % of the library's code. These tests are crucial to maintain API stability and give future contributors confidence that they do not accidentally break things. As Titus Winters aptly put it:

    If you liked it, you should have put a test on it.

    Run the tests

    First, ensure the test suite runs before making any changes:

    $ cmake -S. -B build
     $ cmake --build build -j 10
     $ ctest --test-dir build -j 10
     

    The test suite should report:

    100% tests passed, 0 tests failed out of 98
     

    Add tests

    The tests are located in tests/src/unit-*.cpp and contain doctest assertions like CHECK. The tests are structured along the features of the library or the nature of the tests. Usually, it should be clear from the context which existing file needs to be extended, and only very few cases require creating new test files.

    When fixing a bug, edit unit-regression2.cpp and add a section referencing the fixed issue.

    Exceptions

    When you test exceptions, please use CHECK_THROWS_WITH_AS which also takes the what() argument of the thrown exception into account.

    Coverage

    If test coverage decreases, an automatic warning comment will be posted on the pull request. You can access a code coverage report as an artifact to the “Ubuntu” workflow.

    Update the documentation

    The main documentation of the library is generated from the files docs/mkdocs/docs. This folder contains dedicated pages for certain features, a list of all exceptions, and extensive API documentation with details on every public API function.

    Build the documentation locally using:

    make install_venv -C docs/mkdocs
     make serve -C docs/mkdocs
     

    The documentation will then be available at http://127.0.0.1:8000/. See the documentation of mkdocs and Material for MkDocs for more information.

    Amalgamate the source code

    The single-header files single_include/nlohmann/json.hpp and single_include/nlohmann/json_fwd.hpp are generated from the source files in the include/nlohmann directory. Do not edit the files directly; instead, modify the include/nlohmann sources and regenerate the files by executing:

    make amalgamate
    -

    Running make amalgamate will also apply automatic formatting to the source files using Artistic Style. This formatting may modify your source files in-place. Be certain to review and commit any changes to avoid unintended formatting diffs in commits.

    • The library’s README file is an excellent starting point to understand its functionality.
    • The documentation page is the reference documentation of the library.
    • RFC 8259 is the reference for the JavaScript Object Notation (JSON) Data Interchange Format.

    Please don't...

    Certain contributions are not helpful.

    Break the public API

    We take pride in the library being used by numerous customers across various industries. They all rely on the guarantees provided by semantic versioning. Please do not change the library such that the public API of the 3.x.y version is broken. This includes:

    • Changing function signatures (altering parameter types, return types, number of parameters) or changing the const-ness of member functions.
    • Removing functions.
    • Renaming functions or classes.
    • Changing exception handling.
    • Changing exception ids.
    • Changing access specifiers.
    • Changing default arguments.

    Although these guidelines may seem restrictive, they are essential for maintaining the library’s utility.

    Breaking changes may be introduced when they are guarded with a feature macro such as JSON_USE_IMPLICIT_CONVERSIONS which allows selectively changing the behavior of the library. In next steps, the current behavior can then be deprecated. Using feature macros then allows users to test their code against the library in the next major release.

    Break C++11 language conformance

    This library is designed to work with C++11 and later. This means that any supported C++11 compiler should compile the library without problems. Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support.

    Please do not add features that do not work with the mentioned supported compilers. Please guard features from C++14 and later against the respective JSON_HAS_CPP_14 macros.

    Break JSON conformance

    Please refrain from proposing changes that would break JSON conformance. If you propose a conformant extension of JSON to be supported by the library, please motivate this extension.

    Wanted

    The following areas really need contribution and are always welcomed:

    • Extending the continuous integration toward more exotic compilers such as Android NDK, Intel's Compiler, or the bleeding-edge versions Clang.
    • Improving the efficiency of the JSON parser. The current parser is implemented as a naive recursive descent parser with hand-coded string handling. More sophisticated approaches like LALR parsers would be really appreciated. That said, parser generators like Bison or ANTLR do not play nice with single-header files -- I really would like to keep the parser inside the json.hpp header, and I am not aware of approaches similar to re2c for parsing.
    • Extending and updating existing benchmarks to include (the most recent version of) this library. Though efficiency is not everything, speed and memory consumption are very important characteristics for C++ developers, so having proper comparisons would be interesting.

    We look forward to your contributions and collaboration to enhance the library!

    \ No newline at end of file +

    Running make amalgamate will also apply automatic formatting to the source files using Artistic Style. This formatting may modify your source files in-place. Be certain to review and commit any changes to avoid unintended formatting diffs in commits.

    • The library’s README file is an excellent starting point to understand its functionality.
    • The documentation page is the reference documentation of the library.
    • RFC 8259 is the reference for the JavaScript Object Notation (JSON) Data Interchange Format.

    Please don't...

    Certain contributions are not helpful.

    Break the public API

    We take pride in the library being used by numerous customers across various industries. They all rely on the guarantees provided by semantic versioning. Please do not change the library such that the public API of the 3.x.y version is broken. This includes:

    • Changing function signatures (altering parameter types, return types, number of parameters) or changing the const-ness of member functions.
    • Removing functions.
    • Renaming functions or classes.
    • Changing exception handling.
    • Changing exception ids.
    • Changing access specifiers.
    • Changing default arguments.

    Although these guidelines may seem restrictive, they are essential for maintaining the library’s utility.

    Breaking changes may be introduced when they are guarded with a feature macro such as JSON_USE_IMPLICIT_CONVERSIONS which allows selectively changing the behavior of the library. In next steps, the current behavior can then be deprecated. Using feature macros then allows users to test their code against the library in the next major release.

    Break C++11 language conformance

    This library is designed to work with C++11 and later. This means that any supported C++11 compiler should compile the library without problems. Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support.

    Please do not add features that do not work with the mentioned supported compilers. Please guard features from C++14 and later against the respective JSON_HAS_CPP_14 macros.

    Break JSON conformance

    Please refrain from proposing changes that would break JSON conformance. If you propose a conformant extension of JSON to be supported by the library, please motivate this extension.

    Wanted

    The following areas really need contribution and are always welcomed:

    • Extending the continuous integration toward more exotic compilers such as Android NDK, Intel's Compiler, or the bleeding-edge versions Clang.
    • Improving the efficiency of the JSON parser. The current parser is implemented as a naive recursive descent parser with hand-coded string handling. More sophisticated approaches like LALR parsers would be really appreciated. That said, parser generators like Bison or ANTLR do not play nice with single-header files -- I really would like to keep the parser inside the json.hpp header, and I am not aware of approaches similar to re2c for parsing.
    • Extending and updating existing benchmarks to include (the most recent version of) this library. Though efficiency is not everything, speed and memory consumption are very important characteristics for C++ developers, so having proper comparisons would be interesting.

    We look forward to your contributions and collaboration to enhance the library!

    \ No newline at end of file diff --git a/community/governance/index.html b/community/governance/index.html index d7dc570b5..cfed77434 100644 --- a/community/governance/index.html +++ b/community/governance/index.html @@ -1 +1 @@ -Governance - JSON for Modern C++

    Governance

    The governance model for the JSON for Modern C++ project is a Benevolent Dictator for Life (BDFL) structure. As the sole maintainer, Niels Lohmann is responsible for all key aspects of the project. The project governance may evolve as the project grows, but any changes will be documented here and communicated to contributors.

    Overview

    This project is led by a benevolent dictator, Niels Lohmann, and managed by the community. That is, the community actively contributes to the day-to-day maintenance of the project, but the general strategic line is drawn by the benevolent dictator. In case of disagreement, they have the last word. It is the benevolent dictator’s job to resolve disputes within the community and to ensure that the project is able to progress in a coordinated way. In turn, it is the community’s job to guide the decisions of the benevolent dictator through active engagement and contribution.

    Roles and responsibilities

    Benevolent dictator (project lead)

    Typically, the benevolent dictator, or project lead, is self-appointed. However, because the community always has the ability to fork, this person is fully answerable to the community. The project lead’s role is a difficult one: they set the strategic objectives of the project and communicate these clearly to the community. They also have to understand the community as a whole and strive to satisfy as many conflicting needs as possible, while ensuring that the project survives in the long term.

    In many ways, the role of the benevolent dictator is less about dictatorship and more about diplomacy. The key is to ensure that, as the project expands, the right people are given influence over it and the community rallies behind the vision of the project lead. The lead’s job is then to ensure that the committers (see below) make the right decisions on behalf of the project. Generally speaking, as long as the committers are aligned with the project’s strategy, the project lead will allow them to proceed as they desire.

    Committers

    Committers are contributors who have made several valuable contributions to the project and are now relied upon to both write code directly to the repository and screen the contributions of others. In many cases they are programmers but it is also possible that they contribute in a different role. Typically, a committer will focus on a specific aspect of the project, and will bring a level of expertise and understanding that earns them the respect of the community and the project lead. The role of committer is not an official one, it is simply a position that influential members of the community will find themselves in as the project lead looks to them for guidance and support.

    Committers have no authority over the overall direction of the project. However, they do have the ear of the project lead. It is a committer’s job to ensure that the lead is aware of the community’s needs and collective objectives, and to help develop or elicit appropriate contributions to the project. Often, committers are given informal control over their specific areas of responsibility, and are assigned rights to directly modify certain areas of the source code. That is, although committers do not have explicit decision-making authority, they will often find that their actions are synonymous with the decisions made by the lead.

    Contributors

    Contributors are community members who either have no desire to become committers, or have not yet been given the opportunity by the benevolent dictator. They make valuable contributions, such as those outlined in the list below, but generally do not have the authority to make direct changes to the project code. Contributors engage with the project through communication tools, such as email lists, and via reports and patches attached to issues in the issue tracker, as detailed in our community tools document.

    Anyone can become a contributor. There is no expectation of commitment to the project, no specific skill requirements and no selection process. To become a contributor, a community member simply has to perform one or more actions that are beneficial to the project.

    Some contributors will already be engaging with the project as users, but will also find themselves doing one or more of the following:

    • supporting new users (current users often provide the most effective new user support)
    • reporting bugs
    • identifying requirements
    • supplying graphics and web design
    • programming
    • assisting with project infrastructure
    • writing documentation
    • fixing bugs
    • adding features

    As contributors gain experience and familiarity with the project, they may find that the project lead starts relying on them more and more. When this begins to happen, they gradually adopt the role of committer, as described above.

    Users

    Users are community members who have a need for the project. They are the most important members of the community: without them, the project would have no purpose. Anyone can be a user; there are no specific requirements.

    Users should be encouraged to participate in the life of the project and the community as much as possible. User contributions enable the project team to ensure that they are satisfying the needs of those users. Common user activities include (but are not limited to):

    • evangelising about the project
    • informing developers of project strengths and weaknesses from a new user’s perspective
    • providing moral support (a ‘thank you’ goes a long way)
    • providing financial support

    Users who continue to engage with the project and its community will often find themselves becoming more and more involved. Such users may then go on to become contributors, as described above.

    Support

    All participants in the community are encouraged to provide support for new users within the project management infrastructure. This support is provided as a way of growing the community. Those seeking support should recognise that all support activity within the project is voluntary and is therefore provided as and when time allows. A user requiring guaranteed response times or results should therefore seek to purchase a support contract from a vendor. (Of course, that vendor should be an active member of the community.) However, for those willing to engage with the project on its own terms, and willing to help support other users, the community support channels are ideal.

    Contribution Process

    Anyone can contribute to the project, regardless of their skills, as there are many ways to contribute. For instance, a contributor might be active on the project mailing list and issue tracker, or might supply patches. The various ways of contributing are described in more detail in our roles in open source document.

    The developer mailing list is the most appropriate place for a contributor to ask for help when making their first contribution.

    Decision-Making Process

    The benevolent dictatorship model does not need a formal conflict resolution process, since the project lead’s word is final. If the community chooses to question the wisdom of the actions of a committer, the project lead can review their decisions by checking the email archives, and either uphold or reverse them.


    \ No newline at end of file +Governance - JSON for Modern C++

    Governance

    The governance model for the JSON for Modern C++ project is a Benevolent Dictator for Life (BDFL) structure. As the sole maintainer, Niels Lohmann is responsible for all key aspects of the project. The project governance may evolve as the project grows, but any changes will be documented here and communicated to contributors.

    Overview

    This project is led by a benevolent dictator, Niels Lohmann, and managed by the community. That is, the community actively contributes to the day-to-day maintenance of the project, but the general strategic line is drawn by the benevolent dictator. In case of disagreement, they have the last word. It is the benevolent dictator’s job to resolve disputes within the community and to ensure that the project is able to progress in a coordinated way. In turn, it is the community’s job to guide the decisions of the benevolent dictator through active engagement and contribution.

    Roles and responsibilities

    Benevolent dictator (project lead)

    Typically, the benevolent dictator, or project lead, is self-appointed. However, because the community always has the ability to fork, this person is fully answerable to the community. The project lead’s role is a difficult one: they set the strategic objectives of the project and communicate these clearly to the community. They also have to understand the community as a whole and strive to satisfy as many conflicting needs as possible, while ensuring that the project survives in the long term.

    In many ways, the role of the benevolent dictator is less about dictatorship and more about diplomacy. The key is to ensure that, as the project expands, the right people are given influence over it and the community rallies behind the vision of the project lead. The lead’s job is then to ensure that the committers (see below) make the right decisions on behalf of the project. Generally speaking, as long as the committers are aligned with the project’s strategy, the project lead will allow them to proceed as they desire.

    Committers

    Committers are contributors who have made several valuable contributions to the project and are now relied upon to both write code directly to the repository and screen the contributions of others. In many cases they are programmers but it is also possible that they contribute in a different role. Typically, a committer will focus on a specific aspect of the project, and will bring a level of expertise and understanding that earns them the respect of the community and the project lead. The role of committer is not an official one, it is simply a position that influential members of the community will find themselves in as the project lead looks to them for guidance and support.

    Committers have no authority over the overall direction of the project. However, they do have the ear of the project lead. It is a committer’s job to ensure that the lead is aware of the community’s needs and collective objectives, and to help develop or elicit appropriate contributions to the project. Often, committers are given informal control over their specific areas of responsibility, and are assigned rights to directly modify certain areas of the source code. That is, although committers do not have explicit decision-making authority, they will often find that their actions are synonymous with the decisions made by the lead.

    Contributors

    Contributors are community members who either have no desire to become committers, or have not yet been given the opportunity by the benevolent dictator. They make valuable contributions, such as those outlined in the list below, but generally do not have the authority to make direct changes to the project code. Contributors engage with the project through communication tools, such as email lists, and via reports and patches attached to issues in the issue tracker, as detailed in our community tools document.

    Anyone can become a contributor. There is no expectation of commitment to the project, no specific skill requirements and no selection process. To become a contributor, a community member simply has to perform one or more actions that are beneficial to the project.

    Some contributors will already be engaging with the project as users, but will also find themselves doing one or more of the following:

    • supporting new users (current users often provide the most effective new user support)
    • reporting bugs
    • identifying requirements
    • supplying graphics and web design
    • programming
    • assisting with project infrastructure
    • writing documentation
    • fixing bugs
    • adding features

    As contributors gain experience and familiarity with the project, they may find that the project lead starts relying on them more and more. When this begins to happen, they gradually adopt the role of committer, as described above.

    Users

    Users are community members who have a need for the project. They are the most important members of the community: without them, the project would have no purpose. Anyone can be a user; there are no specific requirements.

    Users should be encouraged to participate in the life of the project and the community as much as possible. User contributions enable the project team to ensure that they are satisfying the needs of those users. Common user activities include (but are not limited to):

    • evangelising about the project
    • informing developers of project strengths and weaknesses from a new user’s perspective
    • providing moral support (a ‘thank you’ goes a long way)
    • providing financial support

    Users who continue to engage with the project and its community will often find themselves becoming more and more involved. Such users may then go on to become contributors, as described above.

    Support

    All participants in the community are encouraged to provide support for new users within the project management infrastructure. This support is provided as a way of growing the community. Those seeking support should recognise that all support activity within the project is voluntary and is therefore provided as and when time allows. A user requiring guaranteed response times or results should therefore seek to purchase a support contract from a vendor. (Of course, that vendor should be an active member of the community.) However, for those willing to engage with the project on its own terms, and willing to help support other users, the community support channels are ideal.

    Contribution Process

    Anyone can contribute to the project, regardless of their skills, as there are many ways to contribute. For instance, a contributor might be active on the project mailing list and issue tracker, or might supply patches. The various ways of contributing are described in more detail in our roles in open source document.

    The developer mailing list is the most appropriate place for a contributor to ask for help when making their first contribution.

    Decision-Making Process

    The benevolent dictatorship model does not need a formal conflict resolution process, since the project lead’s word is final. If the community chooses to question the wisdom of the actions of a committer, the project lead can review their decisions by checking the email archives, and either uphold or reverse them.


    \ No newline at end of file diff --git a/community/index.html b/community/index.html index 46f512b4e..b1833ceae 100644 --- a/community/index.html +++ b/community/index.html @@ -1 +1 @@ -Community - JSON for Modern C++
    \ No newline at end of file +Community - JSON for Modern C++
    \ No newline at end of file diff --git a/community/quality_assurance/index.html b/community/quality_assurance/index.html index b1f821dd4..8aa6b729e 100644 --- a/community/quality_assurance/index.html +++ b/community/quality_assurance/index.html @@ -1,4 +1,4 @@ -Quality assurance - JSON for Modern C++

    Quality assurance

    Ensuring quality is paramount for this project, particularly because numerous other projects depend on it. Each commit to the library undergoes rigorous checks against the following requirements, and any violations will result in a failed build.

    C++ language compliance and compiler compatibility

    Requirement: Compiler support

    Any compiler with complete C++11 support can compile the library without warnings.

    • The library is compiled with 50+ different C++ compilers with different operating systems and platforms, including the oldest versions known to compile the library.

      Compilers used in continuous integration
    Compiler Architecture Operating System CI
    AppleClang 15.0.0.15000040; Xcode 15.0.1 x86_64 macOS 13.7.2 (Ventura) GitHub
    AppleClang 15.0.0.15000100; Xcode 15.1 x86_64 macOS 13.7.2 (Ventura) GitHub
    AppleClang 15.0.0.15000100; Xcode 15.2 x86_64 macOS 13.7.2 (Ventura) GitHub
    AppleClang 15.0.0.15000309; Xcode 15.3 arm64 macOS 14.7.2 (Sonoma) GitHub
    AppleClang 15.0.0.15000309; Xcode 15.4 arm64 macOS 14.7.2 (Sonoma) GitHub
    AppleClang 16.0.0.16000026; Xcode 16 arm64 macOS 15.2 (Sequoia) GitHub
    AppleClang 16.0.0.16000026; Xcode 16.1 arm64 macOS 15.2 (Sequoia) GitHub
    AppleClang 16.0.0.16000026; Xcode 16.2 arm64 macOS 15.2 (Sequoia) GitHub
    AppleClang 17.0.0.17000013; Xcode 16.3 arm64 macOS 15.5 (Sequoia) GitHub
    AppleClang 17.0.0.17000013; Xcode 16.4 arm64 macOS 15.5 (Sequoia) GitHub
    AppleClang 17.0.0.17000319; Xcode 26.0.1 arm64 macOS 15.5 (Sequoia) GitHub
    Clang 3.5.2 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 3.6.2 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 3.7.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 3.8.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 3.9.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 4.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 5.0.2 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 6.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 7.1.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 8.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 9.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 10.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 11.0.1 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 11.1.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 12.0.1 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 12.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 13.0.1 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 13.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 14.0.6 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 14.0.6 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 15.0.7 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 15.0.7 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 16.0.6 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 16.0.6 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 17.0.6 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 18.1.8 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 18.1.8 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 19.1.5 with MSVC-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 19.1.7 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 19.1.7 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 20.1.1 x86_64 Ubuntu 22.04.1 LTS GitHub
    Clang 20.1.8 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
    Clang 21.0.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    Emscripten 4.0.6 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 4.8.5 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 4.9.3 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 5.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 6.4.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 7.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 8.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 9.3.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 9.4.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 9.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 10.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 11.4.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 11.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 12.2.0 (MinGW-W64 i686-ucrt-posix-dwarf) x86_64 Windows Server 2022 (Build 20348) GitHub
    GNU 12.2.0 (MinGW-W64 x86_64-ucrt-posix-seh) x86_64 Windows Server 2022 (Build 20348) GitHub
    GNU 12.4.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 13.3.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 14.2.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    GNU 14.2.0 arm64 Linux 6.1.100 Cirrus CI
    GNU 15.1.0 x86_64 Ubuntu 22.04.1 LTS GitHub
    icpc (ICC) 2021.5.0 20211109 x86_64 Ubuntu 20.04.3 LTS GitHub
    MSVC 19.0.24241.7 x86 Windows 8.1 AppVeyor
    MSVC 19.16.27035.0 x86 Windows-10 (Build 14393) AppVeyor
    MSVC 19.29.30157.0 x86 Windows-10 (Build 17763) AppVeyor
    MSVC 19.44.35214.0 x86 Windows Server 2022 (Build 20348) GitHub
    MSVC 19.44.35214.0 x86_64 Windows Server 2022 (Build 20348) GitHub
  • The library is compiled with all C++ language revisions (C++11, C++14, C++17, C++20, C++23, and C++26) to detect and fix language deprecations early.

  • The library is checked for compiler warnings:
  • On Clang, -Weverything is used with 8 exceptions.

    Clang warnings
    # Ignored Clang warnings:
    + Quality assurance - JSON for Modern C++      

    Quality assurance

    Ensuring quality is paramount for this project, particularly because numerous other projects depend on it. Each commit to the library undergoes rigorous checks against the following requirements, and any violations will result in a failed build.

    C++ language compliance and compiler compatibility

    Requirement: Compiler support

    Any compiler with complete C++11 support can compile the library without warnings.

    • The library is compiled with 50+ different C++ compilers with different operating systems and platforms, including the oldest versions known to compile the library.

      Compilers used in continuous integration
      Compiler Architecture Operating System CI
      AppleClang 15.0.0.15000040; Xcode 15.0.1 x86_64 macOS 13.7.2 (Ventura) GitHub
      AppleClang 15.0.0.15000100; Xcode 15.1 x86_64 macOS 13.7.2 (Ventura) GitHub
      AppleClang 15.0.0.15000100; Xcode 15.2 x86_64 macOS 13.7.2 (Ventura) GitHub
      AppleClang 15.0.0.15000309; Xcode 15.3 arm64 macOS 14.7.2 (Sonoma) GitHub
      AppleClang 15.0.0.15000309; Xcode 15.4 arm64 macOS 14.7.2 (Sonoma) GitHub
      AppleClang 16.0.0.16000026; Xcode 16 arm64 macOS 15.2 (Sequoia) GitHub
      AppleClang 16.0.0.16000026; Xcode 16.1 arm64 macOS 15.2 (Sequoia) GitHub
      AppleClang 16.0.0.16000026; Xcode 16.2 arm64 macOS 15.2 (Sequoia) GitHub
      AppleClang 17.0.0.17000013; Xcode 16.3 arm64 macOS 15.5 (Sequoia) GitHub
      AppleClang 17.0.0.17000013; Xcode 16.4 arm64 macOS 15.5 (Sequoia) GitHub
      AppleClang 17.0.0.17000319; Xcode 26.0.1 arm64 macOS 15.5 (Sequoia) GitHub
      Clang 3.5.2 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 3.6.2 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 3.7.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 3.8.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 3.9.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 4.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 5.0.2 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 6.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 7.1.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 8.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 9.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 10.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 11.0.1 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 11.1.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 12.0.1 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 12.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 13.0.1 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 13.0.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 14.0.6 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 14.0.6 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 15.0.7 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 15.0.7 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 16.0.6 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 16.0.6 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 17.0.6 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 18.1.8 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 18.1.8 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 19.1.5 with MSVC-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 19.1.7 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 19.1.7 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 20.1.1 x86_64 Ubuntu 22.04.1 LTS GitHub
      Clang 20.1.8 with GNU-like command-line x86_64 Windows Server 2022 (Build 20348) GitHub
      Clang 21.0.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      Emscripten 4.0.6 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 4.8.5 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 4.9.3 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 5.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 6.4.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 7.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 8.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 9.3.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 9.4.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 9.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 10.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 11.4.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 11.5.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 12.2.0 (MinGW-W64 i686-ucrt-posix-dwarf) x86_64 Windows Server 2022 (Build 20348) GitHub
      GNU 12.2.0 (MinGW-W64 x86_64-ucrt-posix-seh) x86_64 Windows Server 2022 (Build 20348) GitHub
      GNU 12.4.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 13.3.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 14.2.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      GNU 14.2.0 arm64 Linux 6.1.100 Cirrus CI
      GNU 15.1.0 x86_64 Ubuntu 22.04.1 LTS GitHub
      icpc (ICC) 2021.5.0 20211109 x86_64 Ubuntu 20.04.3 LTS GitHub
      MSVC 19.0.24241.7 x86 Windows 8.1 AppVeyor
      MSVC 19.16.27035.0 x86 Windows-10 (Build 14393) AppVeyor
      MSVC 19.29.30157.0 x86 Windows-10 (Build 17763) AppVeyor
      MSVC 19.44.35214.0 x86 Windows Server 2022 (Build 20348) GitHub
      MSVC 19.44.35214.0 x86_64 Windows Server 2022 (Build 20348) GitHub
    • The library is compiled with all C++ language revisions (C++11, C++14, C++17, C++20, C++23, and C++26) to detect and fix language deprecations early.

    • The library is checked for compiler warnings:
    • On Clang, -Weverything is used with 8 exceptions.

      Clang warnings
      # Ignored Clang warnings:
       # -Wno-c++98-compat               The library targets C++11.
       # -Wno-c++98-compat-pedantic      The library targets C++11.
       # -Wno-deprecated-declarations    The library contains annotations for deprecated functions.
      @@ -548,4 +548,4 @@
       
       # for the linux (LF) line end style
       --lineend=linux
      -
    • The code style is checked with cpplint with 61 enabled rules.

    Simple integration

    Requirement: Single header

    The library can be used by adding a single header to a C++ project.

    • An amalgamation script is used to check if the source code is exposed as a self-contained single-header file.
    • The test suite is checked against the amalgamated source file as well as the individual source file.

    Requirement: CMake as primary development tool

    All library functions are exposed and usable by CMake.

    • All library options are exposed as CMake options and tested.
    • The library is tested against relevant CMake versions:
    • CMake 3.5 (the earliest supported)
    • CMake 3.31.6 (the latest 3.x release)
    • CMake 4.0.0 (a very recent release)
    \ No newline at end of file +
  • The code style is checked with cpplint with 61 enabled rules.

  • Simple integration

    Requirement: Single header

    The library can be used by adding a single header to a C++ project.

    • An amalgamation script is used to check if the source code is exposed as a self-contained single-header file.
    • The test suite is checked against the amalgamated source file as well as the individual source file.

    Requirement: CMake as primary development tool

    All library functions are exposed and usable by CMake.

    • All library options are exposed as CMake options and tested.
    • The library is tested against relevant CMake versions:
    • CMake 3.5 (the earliest supported)
    • CMake 3.31.6 (the latest 3.x release)
    • CMake 4.0.0 (a very recent release)
    \ No newline at end of file diff --git a/community/security_policy/index.html b/community/security_policy/index.html index d9ce7a258..7e36af966 100644 --- a/community/security_policy/index.html +++ b/community/security_policy/index.html @@ -1 +1 @@ - Security Policy - JSON for Modern C++

    Security Policy

    Reporting a Vulnerability

    We value the security of our users and appreciate your efforts to responsibly disclose vulnerabilities. If you have identified a security vulnerability in this repository, please use the GitHub Security Advisory "Report a Vulnerability" tab.

    Until it is published, this draft security advisory will only be visible to the maintainers of this project. Other users and teams may be added once the advisory is created.

    We will send a response indicating the next steps in handling your report. After the initial reply to your report, we will keep you informed of the progress towards a fix and full announcement and may ask for additional information or guidance.

    For vulnerabilities in third-party dependencies or modules, please report them directly to the respective maintainers.

    Additional Resources

    We sincerely thank you for contributing to the security and integrity of this project!

    \ No newline at end of file + Security Policy - JSON for Modern C++

    Security Policy

    Reporting a Vulnerability

    We value the security of our users and appreciate your efforts to responsibly disclose vulnerabilities. If you have identified a security vulnerability in this repository, please use the GitHub Security Advisory "Report a Vulnerability" tab.

    Until it is published, this draft security advisory will only be visible to the maintainers of this project. Other users and teams may be added once the advisory is created.

    We will send a response indicating the next steps in handling your report. After the initial reply to your report, we will keep you informed of the progress towards a fix and full announcement and may ask for additional information or guidance.

    For vulnerabilities in third-party dependencies or modules, please report them directly to the respective maintainers.

    Additional Resources

    We sincerely thank you for contributing to the security and integrity of this project!

    \ No newline at end of file diff --git a/features/arbitrary_types/index.html b/features/arbitrary_types/index.html index 3eb446493..5822a0f98 100644 --- a/features/arbitrary_types/index.html +++ b/features/arbitrary_types/index.html @@ -1,4 +1,4 @@ - Arbitrary Type Conversions - JSON for Modern C++

    Arbitrary Type Conversions

    Every type can be serialized in JSON, not just STL containers and scalar types. Usually, you would do something along those lines:

    namespace ns {
    + Arbitrary Type Conversions - JSON for Modern C++      

    Arbitrary Type Conversions

    Every type can be serialized in JSON, not just STL containers and scalar types. Usually, you would do something along those lines:

    namespace ns {
         // a simple struct to model a person
         struct person {
             std::string name;
    @@ -159,4 +159,4 @@
           value = j.template get<T>(); // oops!
         }
     };
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/assertions/index.html b/features/assertions/index.html index 1d834b132..be3d6e09c 100644 --- a/features/assertions/index.html +++ b/features/assertions/index.html @@ -1,4 +1,4 @@ - Runtime Assertions - JSON for Modern C++

    Runtime Assertions

    The code contains numerous debug assertions to ensure class invariants are valid or to detect undefined behavior. Whereas the former class invariants are nothing to be concerned with, the latter checks for undefined behavior are to detect bugs in client code.

    Switch off runtime assertions

    Runtime assertions can be switched off by defining the preprocessor macro NDEBUG (see the documentation of assert) which is the default for release builds.

    Change assertion behavior

    The behavior of runtime assertions can be changes by defining macro JSON_ASSERT(x) before including the json.hpp header.

    Function with runtime assertions

    Unchecked object access to a const value

    Function operator[] implements unchecked access for objects. Whereas a missing key is added in the case of non-const objects, accessing a const object with a missing key is undefined behavior (think of a dereferenced null pointer) and yields a runtime assertion.

    If you are not sure whether an element in an object exists, use checked access with the at function or call the contains function before.

    See also the documentation on element access.

    Example 1: Missing object key

    The following code will trigger an assertion at runtime:

    #include <nlohmann/json.hpp>
    + Runtime Assertions - JSON for Modern C++      

    Runtime Assertions

    The code contains numerous debug assertions to ensure class invariants are valid or to detect undefined behavior. Whereas the former class invariants are nothing to be concerned with, the latter checks for undefined behavior are to detect bugs in client code.

    Switch off runtime assertions

    Runtime assertions can be switched off by defining the preprocessor macro NDEBUG (see the documentation of assert) which is the default for release builds.

    Change assertion behavior

    The behavior of runtime assertions can be changes by defining macro JSON_ASSERT(x) before including the json.hpp header.

    Function with runtime assertions

    Unchecked object access to a const value

    Function operator[] implements unchecked access for objects. Whereas a missing key is added in the case of non-const objects, accessing a const object with a missing key is undefined behavior (think of a dereferenced null pointer) and yields a runtime assertion.

    If you are not sure whether an element in an object exists, use checked access with the at function or call the contains function before.

    See also the documentation on element access.

    Example 1: Missing object key

    The following code will trigger an assertion at runtime:

    #include <nlohmann/json.hpp>
     
     using json = nlohmann::json;
     
    @@ -43,4 +43,4 @@
         }
     }
     

    Output:

    [json.exception.parse_error.101] parse error: attempting to parse an empty input; check that your input string or stream contains the expected JSON
    -

    See also

    \ No newline at end of file +

    See also

    \ No newline at end of file diff --git a/features/binary_formats/bjdata/index.html b/features/binary_formats/bjdata/index.html index 17f3eb3d1..0ef428f01 100644 --- a/features/binary_formats/bjdata/index.html +++ b/features/binary_formats/bjdata/index.html @@ -1,4 +1,4 @@ - BJData - JSON for Modern C++

    BJData

    The BJData format was derived from and improved upon Universal Binary JSON(UBJSON) specification (Draft 12). Specifically, it introduces an optimized array container for efficient storage of N-dimensional packed arrays (ND-arrays); it also adds 5 new type markers - [u] - uint16, [m] - uint32, [M] - uint64, [h] - float16 and [B] - byte - to unambiguously map common binary numeric types; furthermore, it uses little-endian (LE) to store all numerics instead of big-endian (BE) as in UBJSON to avoid unnecessary conversions on commonly available platforms.

    Compared to other binary JSON-like formats such as MessagePack and CBOR, both BJData and UBJSON demonstrate a rare combination of being both binary and quasi-human-readable. This is because all semantic elements in BJData and UBJSON, including the data-type markers and name/string types, are directly human-readable. Data stored in the BJData/UBJSON format is not only compact in size, fast to read/write, but also can be directly searched or read using simple processing.

    Serialization

    The library uses the following mapping from JSON values types to BJData types according to the BJData specification:

    JSON value type value/range BJData type marker
    null null null Z
    boolean true true T
    boolean false false F
    number_integer -9223372036854775808..-2147483649 int64 L
    number_integer -2147483648..-32769 int32 l
    number_integer -32768..-129 int16 I
    number_integer -128..127 int8 i
    number_integer 128..255 uint8 U
    number_integer 256..32767 int16 I
    number_integer 32768..65535 uint16 u
    number_integer 65536..2147483647 int32 l
    number_integer 2147483648..4294967295 uint32 m
    number_integer 4294967296..9223372036854775807 int64 L
    number_integer 9223372036854775808..18446744073709551615 uint64 M
    number_unsigned 0..127 int8 i
    number_unsigned 128..255 uint8 U
    number_unsigned 256..32767 int16 I
    number_unsigned 32768..65535 uint16 u
    number_unsigned 65536..2147483647 int32 l
    number_unsigned 2147483648..4294967295 uint32 m
    number_unsigned 4294967296..9223372036854775807 int64 L
    number_unsigned 9223372036854775808..18446744073709551615 uint64 M
    number_float any value float64 D
    string with shortest length indicator string S
    array see notes on optimized format/ND-array array [
    object see notes on optimized format map {
    binary see notes on binary values array [$B

    Complete mapping

    The mapping is complete in the sense that any JSON value type can be converted to a BJData value.

    Any BJData output created by to_bjdata can be successfully parsed by from_bjdata.

    Size constraints

    The following values can not be converted to a BJData value:

    • strings with more than 18446744073709551615 bytes, i.e., 2^{64}-1 bytes (theoretical)

    Unused BJData markers

    The following markers are not used in the conversion:

    • Z: no-op values are not created.
    • C: single-byte strings are serialized with S markers.

    NaN/infinity handling

    If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.

    Endianness

    A breaking difference between BJData and UBJSON is the endianness of numerical values. In BJData, all numerical data types (integers UiuImlML and floating-point values hdD) are stored in the little-endian (LE) byte order as opposed to big-endian as used by UBJSON. Adopting LE to store numeric records avoids unnecessary byte swapping on most modern computers where LE is used as the default byte order.

    Optimized formats

    Optimized formats for containers are supported via two parameters of to_bjdata:

    • Parameter use_size adds size information to the beginning of a container and removes the closing marker.
    • Parameter use_type further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The use_type parameter must only be used together with use_size = true.

    Note that use_size = true alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed of the number of elements in the container.

    ND-array optimized format

    BJData extends UBJSON's optimized array size marker to support ND-arrays of uniform numerical data types (referred to as packed arrays). For example, the 2-D uint8 integer array [[1,2],[3,4],[5,6]], stored as nested optimized array in UBJSON [ [$U#i2 1 2 [$U#i2 3 4 [$U#i2 5 6 ], can be further compressed in BJData to [$U#[$i#i2 2 3 1 2 3 4 5 6 or [$U#[i2 i3] 1 2 3 4 5 6.

    To maintain type and size information, ND-arrays are converted to JSON objects following the annotated array format (defined in the JData specification (Draft 3)), when parsed using from_bjdata. For example, the above 2-D uint8 array can be parsed and accessed as

    {
    + BJData - JSON for Modern C++      

    BJData

    The BJData format was derived from and improved upon Universal Binary JSON(UBJSON) specification (Draft 12). Specifically, it introduces an optimized array container for efficient storage of N-dimensional packed arrays (ND-arrays); it also adds 5 new type markers - [u] - uint16, [m] - uint32, [M] - uint64, [h] - float16 and [B] - byte - to unambiguously map common binary numeric types; furthermore, it uses little-endian (LE) to store all numerics instead of big-endian (BE) as in UBJSON to avoid unnecessary conversions on commonly available platforms.

    Compared to other binary JSON-like formats such as MessagePack and CBOR, both BJData and UBJSON demonstrate a rare combination of being both binary and quasi-human-readable. This is because all semantic elements in BJData and UBJSON, including the data-type markers and name/string types, are directly human-readable. Data stored in the BJData/UBJSON format is not only compact in size, fast to read/write, but also can be directly searched or read using simple processing.

    Serialization

    The library uses the following mapping from JSON values types to BJData types according to the BJData specification:

    JSON value type value/range BJData type marker
    null null null Z
    boolean true true T
    boolean false false F
    number_integer -9223372036854775808..-2147483649 int64 L
    number_integer -2147483648..-32769 int32 l
    number_integer -32768..-129 int16 I
    number_integer -128..127 int8 i
    number_integer 128..255 uint8 U
    number_integer 256..32767 int16 I
    number_integer 32768..65535 uint16 u
    number_integer 65536..2147483647 int32 l
    number_integer 2147483648..4294967295 uint32 m
    number_integer 4294967296..9223372036854775807 int64 L
    number_integer 9223372036854775808..18446744073709551615 uint64 M
    number_unsigned 0..127 int8 i
    number_unsigned 128..255 uint8 U
    number_unsigned 256..32767 int16 I
    number_unsigned 32768..65535 uint16 u
    number_unsigned 65536..2147483647 int32 l
    number_unsigned 2147483648..4294967295 uint32 m
    number_unsigned 4294967296..9223372036854775807 int64 L
    number_unsigned 9223372036854775808..18446744073709551615 uint64 M
    number_float any value float64 D
    string with shortest length indicator string S
    array see notes on optimized format/ND-array array [
    object see notes on optimized format map {
    binary see notes on binary values array [$B

    Complete mapping

    The mapping is complete in the sense that any JSON value type can be converted to a BJData value.

    Any BJData output created by to_bjdata can be successfully parsed by from_bjdata.

    Size constraints

    The following values can not be converted to a BJData value:

    • strings with more than 18446744073709551615 bytes, i.e., 2^{64}-1 bytes (theoretical)

    Unused BJData markers

    The following markers are not used in the conversion:

    • Z: no-op values are not created.
    • C: single-byte strings are serialized with S markers.

    NaN/infinity handling

    If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.

    Endianness

    A breaking difference between BJData and UBJSON is the endianness of numerical values. In BJData, all numerical data types (integers UiuImlML and floating-point values hdD) are stored in the little-endian (LE) byte order as opposed to big-endian as used by UBJSON. Adopting LE to store numeric records avoids unnecessary byte swapping on most modern computers where LE is used as the default byte order.

    Optimized formats

    Optimized formats for containers are supported via two parameters of to_bjdata:

    • Parameter use_size adds size information to the beginning of a container and removes the closing marker.
    • Parameter use_type further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The use_type parameter must only be used together with use_size = true.

    Note that use_size = true alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed of the number of elements in the container.

    ND-array optimized format

    BJData extends UBJSON's optimized array size marker to support ND-arrays of uniform numerical data types (referred to as packed arrays). For example, the 2-D uint8 integer array [[1,2],[3,4],[5,6]], stored as nested optimized array in UBJSON [ [$U#i2 1 2 [$U#i2 3 4 [$U#i2 5 6 ], can be further compressed in BJData to [$U#[$i#i2 2 3 1 2 3 4 5 6 or [$U#[i2 i3] 1 2 3 4 5 6.

    To maintain type and size information, ND-arrays are converted to JSON objects following the annotated array format (defined in the JData specification (Draft 3)), when parsed using from_bjdata. For example, the above 2-D uint8 array can be parsed and accessed as

    {
         "_ArrayType_": "uint8",
         "_ArraySize_": [2,3],
         "_ArrayData_": [1,2,3,4,5,6]
    @@ -95,4 +95,4 @@
       "compact": true,
       "schema": 0
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/binary_formats/bson/index.html b/features/binary_formats/bson/index.html index da426ff37..1ddbe0350 100644 --- a/features/binary_formats/bson/index.html +++ b/features/binary_formats/bson/index.html @@ -1,4 +1,4 @@ - BSON - JSON for Modern C++

    BSON

    BSON, short for Binary JSON, is a binary-encoded serialization of JSON-like documents. Like JSON, BSON supports the embedding of documents and arrays within other documents and arrays. BSON also contains extensions that allow representation of data types that are not part of the JSON spec. For example, BSON has a Date type and a BinData type.

    References

    Serialization

    The library uses the following mapping from JSON values types to BSON types:

    JSON value type value/range BSON type marker
    null null null 0x0A
    boolean true, false boolean 0x08
    number_integer -9223372036854775808..-2147483649 int64 0x12
    number_integer -2147483648..2147483647 int32 0x10
    number_integer 2147483648..9223372036854775807 int64 0x12
    number_unsigned 0..2147483647 int32 0x10
    number_unsigned 2147483648..9223372036854775807 int64 0x12
    number_unsigned 9223372036854775808..18446744073709551615 uint64 0x11
    number_float any value double 0x01
    string any value string 0x02
    array any value document 0x04
    object any value document 0x03
    binary any value binary 0x05

    Incomplete mapping

    The mapping is incomplete, since only JSON-objects (and things contained therein) can be serialized to BSON. Also, keys may not contain U+0000, since they are serialized a zero-terminated c-strings.

    Example
    #include <iostream>
    + BSON - JSON for Modern C++      

    BSON

    BSON, short for Binary JSON, is a binary-encoded serialization of JSON-like documents. Like JSON, BSON supports the embedding of documents and arrays within other documents and arrays. BSON also contains extensions that allow representation of data types that are not part of the JSON spec. For example, BSON has a Date type and a BinData type.

    References

    Serialization

    The library uses the following mapping from JSON values types to BSON types:

    JSON value type value/range BSON type marker
    null null null 0x0A
    boolean true, false boolean 0x08
    number_integer -9223372036854775808..-2147483649 int64 0x12
    number_integer -2147483648..2147483647 int32 0x10
    number_integer 2147483648..9223372036854775807 int64 0x12
    number_unsigned 0..2147483647 int32 0x10
    number_unsigned 2147483648..9223372036854775807 int64 0x12
    number_unsigned 9223372036854775808..18446744073709551615 uint64 0x11
    number_float any value double 0x01
    string any value string 0x02
    array any value document 0x04
    object any value document 0x03
    binary any value binary 0x05

    Incomplete mapping

    The mapping is incomplete, since only JSON-objects (and things contained therein) can be serialized to BSON. Also, keys may not contain U+0000, since they are serialized a zero-terminated c-strings.

    Example
    #include <iostream>
     #include <iomanip>
     #include <nlohmann/json.hpp>
     
    @@ -46,4 +46,4 @@
       "compact": true,
       "schema": 0
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/binary_formats/cbor/index.html b/features/binary_formats/cbor/index.html index 7f5f3e408..78448a5e1 100644 --- a/features/binary_formats/cbor/index.html +++ b/features/binary_formats/cbor/index.html @@ -1,4 +1,4 @@ - CBOR - JSON for Modern C++

    CBOR

    The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code sizes, fairly small message size, and extensibility without the need for version negotiation.

    References

    Serialization

    The library uses the following mapping from JSON values types to CBOR types according to the CBOR specification (RFC 7049):

    JSON value type value/range CBOR type first byte
    null null Null 0xF6
    boolean true True 0xF5
    boolean false False 0xF4
    number_integer -9223372036854775808..-2147483649 Negative integer (8 bytes follow) 0x3B
    number_integer -2147483648..-32769 Negative integer (4 bytes follow) 0x3A
    number_integer -32768..-129 Negative integer (2 bytes follow) 0x39
    number_integer -128..-25 Negative integer (1 byte follow) 0x38
    number_integer -24..-1 Negative integer 0x20..0x37
    number_integer 0..23 Integer 0x00..0x17
    number_integer 24..255 Unsigned integer (1 byte follow) 0x18
    number_integer 256..65535 Unsigned integer (2 bytes follow) 0x19
    number_integer 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
    number_integer 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
    number_unsigned 0..23 Integer 0x00..0x17
    number_unsigned 24..255 Unsigned integer (1 byte follow) 0x18
    number_unsigned 256..65535 Unsigned integer (2 bytes follow) 0x19
    number_unsigned 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
    number_unsigned 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
    number_float any value representable by a float Single-Precision Float 0xFA
    number_float any value NOT representable by a float Double-Precision Float 0xFB
    string length: 0..23 UTF-8 string 0x60..0x77
    string length: 23..255 UTF-8 string (1 byte follow) 0x78
    string length: 256..65535 UTF-8 string (2 bytes follow) 0x79
    string length: 65536..4294967295 UTF-8 string (4 bytes follow) 0x7A
    string length: 4294967296..18446744073709551615 UTF-8 string (8 bytes follow) 0x7B
    array size: 0..23 array 0x80..0x97
    array size: 23..255 array (1 byte follow) 0x98
    array size: 256..65535 array (2 bytes follow) 0x99
    array size: 65536..4294967295 array (4 bytes follow) 0x9A
    array size: 4294967296..18446744073709551615 array (8 bytes follow) 0x9B
    object size: 0..23 map 0xA0..0xB7
    object size: 23..255 map (1 byte follow) 0xB8
    object size: 256..65535 map (2 bytes follow) 0xB9
    object size: 65536..4294967295 map (4 bytes follow) 0xBA
    object size: 4294967296..18446744073709551615 map (8 bytes follow) 0xBB
    binary size: 0..23 byte string 0x40..0x57
    binary size: 23..255 byte string (1 byte follow) 0x58
    binary size: 256..65535 byte string (2 bytes follow) 0x59
    binary size: 65536..4294967295 byte string (4 bytes follow) 0x5A
    binary size: 4294967296..18446744073709551615 byte string (8 bytes follow) 0x5B

    Binary values with subtype are mapped to tagged values (0xD8..0xDB) depending on the subtype, followed by a byte string, see "binary" cells in the table above.

    Complete mapping

    The mapping is complete in the sense that any JSON value type can be converted to a CBOR value.

    NaN/infinity handling

    If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the normal JSON serialization which serializes NaN or Infinity to null.

    Unused CBOR types

    The following CBOR types are not used in the conversion:

    • UTF-8 strings terminated by "break" (0x7F)
    • arrays terminated by "break" (0x9F)
    • maps terminated by "break" (0xBF)
    • byte strings terminated by "break" (0x5F)
    • date/time (0xC0..0xC1)
    • bignum (0xC2..0xC3)
    • decimal fraction (0xC4)
    • bigfloat (0xC5)
    • expected conversions (0xD5..0xD7)
    • simple values (0xE0..0xF3, 0xF8)
    • undefined (0xF7)
    • half-precision floats (0xF9)
    • break (0xFF)

    Tagged items

    Binary subtypes will be serialized as tagged items. See binary values for an example.

    Example
    #include <iostream>
    + CBOR - JSON for Modern C++      

    CBOR

    The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code sizes, fairly small message size, and extensibility without the need for version negotiation.

    References

    Serialization

    The library uses the following mapping from JSON values types to CBOR types according to the CBOR specification (RFC 7049):

    JSON value type value/range CBOR type first byte
    null null Null 0xF6
    boolean true True 0xF5
    boolean false False 0xF4
    number_integer -9223372036854775808..-2147483649 Negative integer (8 bytes follow) 0x3B
    number_integer -2147483648..-32769 Negative integer (4 bytes follow) 0x3A
    number_integer -32768..-129 Negative integer (2 bytes follow) 0x39
    number_integer -128..-25 Negative integer (1 byte follow) 0x38
    number_integer -24..-1 Negative integer 0x20..0x37
    number_integer 0..23 Integer 0x00..0x17
    number_integer 24..255 Unsigned integer (1 byte follow) 0x18
    number_integer 256..65535 Unsigned integer (2 bytes follow) 0x19
    number_integer 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
    number_integer 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
    number_unsigned 0..23 Integer 0x00..0x17
    number_unsigned 24..255 Unsigned integer (1 byte follow) 0x18
    number_unsigned 256..65535 Unsigned integer (2 bytes follow) 0x19
    number_unsigned 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
    number_unsigned 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
    number_float any value representable by a float Single-Precision Float 0xFA
    number_float any value NOT representable by a float Double-Precision Float 0xFB
    string length: 0..23 UTF-8 string 0x60..0x77
    string length: 23..255 UTF-8 string (1 byte follow) 0x78
    string length: 256..65535 UTF-8 string (2 bytes follow) 0x79
    string length: 65536..4294967295 UTF-8 string (4 bytes follow) 0x7A
    string length: 4294967296..18446744073709551615 UTF-8 string (8 bytes follow) 0x7B
    array size: 0..23 array 0x80..0x97
    array size: 23..255 array (1 byte follow) 0x98
    array size: 256..65535 array (2 bytes follow) 0x99
    array size: 65536..4294967295 array (4 bytes follow) 0x9A
    array size: 4294967296..18446744073709551615 array (8 bytes follow) 0x9B
    object size: 0..23 map 0xA0..0xB7
    object size: 23..255 map (1 byte follow) 0xB8
    object size: 256..65535 map (2 bytes follow) 0xB9
    object size: 65536..4294967295 map (4 bytes follow) 0xBA
    object size: 4294967296..18446744073709551615 map (8 bytes follow) 0xBB
    binary size: 0..23 byte string 0x40..0x57
    binary size: 23..255 byte string (1 byte follow) 0x58
    binary size: 256..65535 byte string (2 bytes follow) 0x59
    binary size: 65536..4294967295 byte string (4 bytes follow) 0x5A
    binary size: 4294967296..18446744073709551615 byte string (8 bytes follow) 0x5B

    Binary values with subtype are mapped to tagged values (0xD8..0xDB) depending on the subtype, followed by a byte string, see "binary" cells in the table above.

    Complete mapping

    The mapping is complete in the sense that any JSON value type can be converted to a CBOR value.

    NaN/infinity handling

    If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the normal JSON serialization which serializes NaN or Infinity to null.

    Unused CBOR types

    The following CBOR types are not used in the conversion:

    • UTF-8 strings terminated by "break" (0x7F)
    • arrays terminated by "break" (0x9F)
    • maps terminated by "break" (0xBF)
    • byte strings terminated by "break" (0x5F)
    • date/time (0xC0..0xC1)
    • bignum (0xC2..0xC3)
    • decimal fraction (0xC4)
    • bigfloat (0xC5)
    • expected conversions (0xD5..0xD7)
    • simple values (0xE0..0xF3, 0xF8)
    • undefined (0xF7)
    • half-precision floats (0xF9)
    • break (0xFF)

    Tagged items

    Binary subtypes will be serialized as tagged items. See binary values for an example.

    Example
    #include <iostream>
     #include <iomanip>
     #include <nlohmann/json.hpp>
     
    @@ -45,4 +45,4 @@
       "compact": true,
       "schema": 0
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/binary_formats/index.html b/features/binary_formats/index.html index 84936dc3a..00fdf6249 100644 --- a/features/binary_formats/index.html +++ b/features/binary_formats/index.html @@ -1 +1 @@ - Binary Formats - JSON for Modern C++

    Binary Formats

    Though JSON is a ubiquitous data format, it is not a very compact format suitable for data exchange, for instance, over a network. Hence, the library supports

    to efficiently encode JSON values to byte vectors and to decode such vectors.

    Comparison

    Completeness

    Format Serialization Deserialization
    BJData complete complete
    BSON incomplete: top-level value must be an object incomplete, but all JSON types are supported
    CBOR complete incomplete, but all JSON types are supported
    MessagePack complete complete
    UBJSON complete complete

    Binary values

    Format Binary values Binary subtypes
    BJData not supported not supported
    BSON supported supported
    CBOR supported supported
    MessagePack supported supported
    UBJSON not supported not supported

    See binary values for more information.

    Sizes

    Format canada.json twitter.json citm_catalog.json jeopardy.json
    BJData 53.2 % 91.1 % 78.1 % 96.6 %
    BJData (size) 58.6 % 92.1 % 86.7 % 97.4 %
    BJData (size+tyoe) 58.6 % 92.1 % 86.5 % 97.4 %
    BSON 85.8 % 95.2 % 95.8 % 106.7 %
    CBOR 50.5 % 86.3 % 68.4 % 88.0 %
    MessagePack 50.5 % 86.0 % 68.5 % 87.9 %
    UBJSON 53.2 % 91.3 % 78.2 % 96.6 %
    UBJSON (size) 58.6 % 92.3 % 86.8 % 97.4 %
    UBJSON (size+type) 55.9 % 92.3 % 85.0 % 95.0 %

    Sizes compared to minified JSON value.

    \ No newline at end of file + Binary Formats - JSON for Modern C++

    Binary Formats

    Though JSON is a ubiquitous data format, it is not a very compact format suitable for data exchange, for instance, over a network. Hence, the library supports

    to efficiently encode JSON values to byte vectors and to decode such vectors.

    Comparison

    Completeness

    Format Serialization Deserialization
    BJData complete complete
    BSON incomplete: top-level value must be an object incomplete, but all JSON types are supported
    CBOR complete incomplete, but all JSON types are supported
    MessagePack complete complete
    UBJSON complete complete

    Binary values

    Format Binary values Binary subtypes
    BJData not supported not supported
    BSON supported supported
    CBOR supported supported
    MessagePack supported supported
    UBJSON not supported not supported

    See binary values for more information.

    Sizes

    Format canada.json twitter.json citm_catalog.json jeopardy.json
    BJData 53.2 % 91.1 % 78.1 % 96.6 %
    BJData (size) 58.6 % 92.1 % 86.7 % 97.4 %
    BJData (size+tyoe) 58.6 % 92.1 % 86.5 % 97.4 %
    BSON 85.8 % 95.2 % 95.8 % 106.7 %
    CBOR 50.5 % 86.3 % 68.4 % 88.0 %
    MessagePack 50.5 % 86.0 % 68.5 % 87.9 %
    UBJSON 53.2 % 91.3 % 78.2 % 96.6 %
    UBJSON (size) 58.6 % 92.3 % 86.8 % 97.4 %
    UBJSON (size+type) 55.9 % 92.3 % 85.0 % 95.0 %

    Sizes compared to minified JSON value.

    \ No newline at end of file diff --git a/features/binary_formats/messagepack/index.html b/features/binary_formats/messagepack/index.html index 5c852fdb2..1dc943f26 100644 --- a/features/binary_formats/messagepack/index.html +++ b/features/binary_formats/messagepack/index.html @@ -1,4 +1,4 @@ - MessagePack - JSON for Modern C++

    MessagePack

    MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves.

    Serialization

    The library uses the following mapping from JSON values types to MessagePack types according to the MessagePack specification:

    JSON value type value/range MessagePack type first byte
    null null nil 0xC0
    boolean true true 0xC3
    boolean false false 0xC2
    number_integer -9223372036854775808..-2147483649 int64 0xD3
    number_integer -2147483648..-32769 int32 0xD2
    number_integer -32768..-129 int16 0xD1
    number_integer -128..-33 int8 0xD0
    number_integer -32..-1 negative fixint 0xE0..0xFF
    number_integer 0..127 positive fixint 0x00..0x7F
    number_integer 128..255 uint 8 0xCC
    number_integer 256..65535 uint 16 0xCD
    number_integer 65536..4294967295 uint 32 0xCE
    number_integer 4294967296..18446744073709551615 uint 64 0xCF
    number_unsigned 0..127 positive fixint 0x00..0x7F
    number_unsigned 128..255 uint 8 0xCC
    number_unsigned 256..65535 uint 16 0xCD
    number_unsigned 65536..4294967295 uint 32 0xCE
    number_unsigned 4294967296..18446744073709551615 uint 64 0xCF
    number_float any value representable by a float float 32 0xCA
    number_float any value NOT representable by a float float 64 0xCB
    string length: 0..31 fixstr 0xA0..0xBF
    string length: 32..255 str 8 0xD9
    string length: 256..65535 str 16 0xDA
    string length: 65536..4294967295 str 32 0xDB
    array size: 0..15 fixarray 0x90..0x9F
    array size: 16..65535 array 16 0xDC
    array size: 65536..4294967295 array 32 0xDD
    object size: 0..15 fix map 0x80..0x8F
    object size: 16..65535 map 16 0xDE
    object size: 65536..4294967295 map 32 0xDF
    binary size: 0..255 bin 8 0xC4
    binary size: 256..65535 bin 16 0xC5
    binary size: 65536..4294967295 bin 32 0xC6

    Complete mapping

    The mapping is complete in the sense that any JSON value type can be converted to a MessagePack value.

    Any MessagePack output created by to_msgpack can be successfully parsed by from_msgpack.

    Size constraints

    The following values can not be converted to a MessagePack value:

    • strings with more than 4294967295 bytes
    • byte strings with more than 4294967295 bytes
    • arrays with more than 4294967295 elements
    • objects with more than 4294967295 elements

    NaN/infinity handling

    If NaN or Infinity are stored inside a JSON number, they are serialized properly in contrast to the dump function which serializes NaN or Infinity to null.

    Example
    #include <iostream>
    + MessagePack - JSON for Modern C++      

    MessagePack

    MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves.

    Serialization

    The library uses the following mapping from JSON values types to MessagePack types according to the MessagePack specification:

    JSON value type value/range MessagePack type first byte
    null null nil 0xC0
    boolean true true 0xC3
    boolean false false 0xC2
    number_integer -9223372036854775808..-2147483649 int64 0xD3
    number_integer -2147483648..-32769 int32 0xD2
    number_integer -32768..-129 int16 0xD1
    number_integer -128..-33 int8 0xD0
    number_integer -32..-1 negative fixint 0xE0..0xFF
    number_integer 0..127 positive fixint 0x00..0x7F
    number_integer 128..255 uint 8 0xCC
    number_integer 256..65535 uint 16 0xCD
    number_integer 65536..4294967295 uint 32 0xCE
    number_integer 4294967296..18446744073709551615 uint 64 0xCF
    number_unsigned 0..127 positive fixint 0x00..0x7F
    number_unsigned 128..255 uint 8 0xCC
    number_unsigned 256..65535 uint 16 0xCD
    number_unsigned 65536..4294967295 uint 32 0xCE
    number_unsigned 4294967296..18446744073709551615 uint 64 0xCF
    number_float any value representable by a float float 32 0xCA
    number_float any value NOT representable by a float float 64 0xCB
    string length: 0..31 fixstr 0xA0..0xBF
    string length: 32..255 str 8 0xD9
    string length: 256..65535 str 16 0xDA
    string length: 65536..4294967295 str 32 0xDB
    array size: 0..15 fixarray 0x90..0x9F
    array size: 16..65535 array 16 0xDC
    array size: 65536..4294967295 array 32 0xDD
    object size: 0..15 fix map 0x80..0x8F
    object size: 16..65535 map 16 0xDE
    object size: 65536..4294967295 map 32 0xDF
    binary size: 0..255 bin 8 0xC4
    binary size: 256..65535 bin 16 0xC5
    binary size: 65536..4294967295 bin 32 0xC6

    Complete mapping

    The mapping is complete in the sense that any JSON value type can be converted to a MessagePack value.

    Any MessagePack output created by to_msgpack can be successfully parsed by from_msgpack.

    Size constraints

    The following values can not be converted to a MessagePack value:

    • strings with more than 4294967295 bytes
    • byte strings with more than 4294967295 bytes
    • arrays with more than 4294967295 elements
    • objects with more than 4294967295 elements

    NaN/infinity handling

    If NaN or Infinity are stored inside a JSON number, they are serialized properly in contrast to the dump function which serializes NaN or Infinity to null.

    Example
    #include <iostream>
     #include <iomanip>
     #include <nlohmann/json.hpp>
     
    @@ -45,4 +45,4 @@
       "compact": true,
       "schema": 0
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/binary_formats/ubjson/index.html b/features/binary_formats/ubjson/index.html index e844ed063..2a1a7fc0f 100644 --- a/features/binary_formats/ubjson/index.html +++ b/features/binary_formats/ubjson/index.html @@ -1,4 +1,4 @@ - UBJSON - JSON for Modern C++

    UBJSON

    Universal Binary JSON (UBJSON) is a binary form directly imitating JSON, but requiring fewer bytes of data. It aims to achieve the generality of JSON, combined with being much easier to process than JSON.

    References

    Serialization

    The library uses the following mapping from JSON values types to UBJSON types according to the UBJSON specification:

    JSON value type value/range UBJSON type marker
    null null null Z
    boolean true true T
    boolean false false F
    number_integer -9223372036854775808..-2147483649 int64 L
    number_integer -2147483648..-32769 int32 l
    number_integer -32768..-129 int16 I
    number_integer -128..127 int8 i
    number_integer 128..255 uint8 U
    number_integer 256..32767 int16 I
    number_integer 32768..2147483647 int32 l
    number_integer 2147483648..9223372036854775807 int64 L
    number_unsigned 0..127 int8 i
    number_unsigned 128..255 uint8 U
    number_unsigned 256..32767 int16 I
    number_unsigned 32768..2147483647 int32 l
    number_unsigned 2147483648..9223372036854775807 int64 L
    number_unsigned 2147483649..18446744073709551615 high-precision H
    number_float any value float64 D
    string with shortest length indicator string S
    array see notes on optimized format array [
    object see notes on optimized format map {

    Complete mapping

    The mapping is complete in the sense that any JSON value type can be converted to a UBJSON value.

    Any UBJSON output created by to_ubjson can be successfully parsed by from_ubjson.

    Size constraints

    The following values can not be converted to a UBJSON value:

    • strings with more than 9223372036854775807 bytes (theoretical)

    Unused UBJSON markers

    The following markers are not used in the conversion:

    • Z: no-op values are not created.
    • C: single-byte strings are serialized with S markers.

    NaN/infinity handling

    If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.

    Optimized formats

    The optimized formats for containers are supported: Parameter use_size adds size information to the beginning of a container and removes the closing marker. Parameter use_type further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The use_type parameter must only be used together with use_size = true.

    Note that use_size = true alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed on the number of elements of the container.

    Binary values

    If the JSON data contains the binary type, the value stored is a list of integers, as suggested by the UBJSON documentation. In particular, this means that serialization and the deserialization of a JSON containing binary values into UBJSON and back will result in a different JSON object.

    Example
    #include <iostream>
    + UBJSON - JSON for Modern C++      

    UBJSON

    Universal Binary JSON (UBJSON) is a binary form directly imitating JSON, but requiring fewer bytes of data. It aims to achieve the generality of JSON, combined with being much easier to process than JSON.

    References

    Serialization

    The library uses the following mapping from JSON values types to UBJSON types according to the UBJSON specification:

    JSON value type value/range UBJSON type marker
    null null null Z
    boolean true true T
    boolean false false F
    number_integer -9223372036854775808..-2147483649 int64 L
    number_integer -2147483648..-32769 int32 l
    number_integer -32768..-129 int16 I
    number_integer -128..127 int8 i
    number_integer 128..255 uint8 U
    number_integer 256..32767 int16 I
    number_integer 32768..2147483647 int32 l
    number_integer 2147483648..9223372036854775807 int64 L
    number_unsigned 0..127 int8 i
    number_unsigned 128..255 uint8 U
    number_unsigned 256..32767 int16 I
    number_unsigned 32768..2147483647 int32 l
    number_unsigned 2147483648..9223372036854775807 int64 L
    number_unsigned 2147483649..18446744073709551615 high-precision H
    number_float any value float64 D
    string with shortest length indicator string S
    array see notes on optimized format array [
    object see notes on optimized format map {

    Complete mapping

    The mapping is complete in the sense that any JSON value type can be converted to a UBJSON value.

    Any UBJSON output created by to_ubjson can be successfully parsed by from_ubjson.

    Size constraints

    The following values can not be converted to a UBJSON value:

    • strings with more than 9223372036854775807 bytes (theoretical)

    Unused UBJSON markers

    The following markers are not used in the conversion:

    • Z: no-op values are not created.
    • C: single-byte strings are serialized with S markers.

    NaN/infinity handling

    If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.

    Optimized formats

    The optimized formats for containers are supported: Parameter use_size adds size information to the beginning of a container and removes the closing marker. Parameter use_type further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The use_type parameter must only be used together with use_size = true.

    Note that use_size = true alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed on the number of elements of the container.

    Binary values

    If the JSON data contains the binary type, the value stored is a list of integers, as suggested by the UBJSON documentation. In particular, this means that serialization and the deserialization of a JSON containing binary values into UBJSON and back will result in a different JSON object.

    Example
    #include <iostream>
     #include <iomanip>
     #include <nlohmann/json.hpp>
     
    @@ -90,4 +90,4 @@
       "compact": true,
       "schema": 0
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/binary_values/index.html b/features/binary_values/index.html index 6e359bed5..45c95703f 100644 --- a/features/binary_values/index.html +++ b/features/binary_values/index.html @@ -1,4 +1,4 @@ - Binary Values - JSON for Modern C++

    Binary Values

    The library implements several binary formats that encode JSON in an efficient way. Most of these formats support binary values; that is, values that have semantics defined outside the library and only define a sequence of bytes to be stored.

    JSON itself does not have a binary value. As such, binary values are an extension that this library implements to store values received by a binary format. Binary values are never created by the JSON parser and are only part of a serialized JSON text if they have been created manually or via a binary format.

    API for binary values

    classDiagram
    + Binary Values - JSON for Modern C++      

    Binary Values

    The library implements several binary formats that encode JSON in an efficient way. Most of these formats support binary values; that is, values that have semantics defined outside the library and only define a sequence of bytes to be stored.

    JSON itself does not have a binary value. As such, binary values are an extension that this library implements to store values received by a binary format. Binary values are never created by the JSON parser and are only part of a serialized JSON text if they have been created manually or via a binary format.

    API for binary values

    classDiagram
     
     class binary_t ["json::binary_t"] {
         +void set_subtype(std::uint64_t subtype)
    @@ -154,4 +154,4 @@ vector <|-- binary_t

    By default, binary values are stored as

    Note that subtype (42) is not serialized and that UBJSON has no binary type, and deserializing v would yield the following value:

    {
       "binary": [202, 254, 186, 190]
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/comments/index.html b/features/comments/index.html index 616c49ddd..12440e786 100644 --- a/features/comments/index.html +++ b/features/comments/index.html @@ -1,4 +1,4 @@ - Comments - JSON for Modern C++

    Comments

    This library does not support comments by default. It does so for three reasons:

    1. Comments are not part of the JSON specification. You may argue that // or /* */ are allowed in JavaScript, but JSON is not JavaScript.
    2. This was not an oversight: Douglas Crockford wrote on this in May 2012:

      I removed comments from JSON because I saw people were using them to hold parsing directives, a practice which would have destroyed interoperability. I know that the lack of comments makes some people sad, but it shouldn't.

      Suppose you are using JSON to keep configuration files, which you would like to annotate. Go ahead and insert all the comments you like. Then pipe it through JSMin before handing it to your JSON parser.

    3. It is dangerous for interoperability if some libraries add comment support while others do not. Please check The Harmful Consequences of the Robustness Principle on this.

    However, you can set parameter ignore_comments to true in the parse function to ignore // or /* */ comments. Comments will then be treated as whitespace.

    For more information, see JSON With Commas and Comments (JWCC).

    Example

    Consider the following JSON with comments.

    {
    + Comments - JSON for Modern C++      

    Comments

    This library does not support comments by default. It does so for three reasons:

    1. Comments are not part of the JSON specification. You may argue that // or /* */ are allowed in JavaScript, but JSON is not JavaScript.
    2. This was not an oversight: Douglas Crockford wrote on this in May 2012:

      I removed comments from JSON because I saw people were using them to hold parsing directives, a practice which would have destroyed interoperability. I know that the lack of comments makes some people sad, but it shouldn't.

      Suppose you are using JSON to keep configuration files, which you would like to annotate. Go ahead and insert all the comments you like. Then pipe it through JSMin before handing it to your JSON parser.

    3. It is dangerous for interoperability if some libraries add comment support while others do not. Please check The Harmful Consequences of the Robustness Principle on this.

    However, you can set parameter ignore_comments to true in the parse function to ignore // or /* */ comments. Comments will then be treated as whitespace.

    For more information, see JSON With Commas and Comments (JWCC).

    Example

    Consider the following JSON with comments.

    {
         // update in 2006: removed Pluto
         "planets": ["Mercury", "Venus", "Earth", "Mars",
                     "Jupiter", "Uranus", "Neptune" /*, "Pluto" */]
    @@ -45,4 +45,4 @@
         "Neptune"
       ]
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/element_access/checked_access/index.html b/features/element_access/checked_access/index.html index b8b387718..9ce8107d3 100644 --- a/features/element_access/checked_access/index.html +++ b/features/element_access/checked_access/index.html @@ -1,4 +1,4 @@ - Checked access: at - JSON for Modern C++

    Checked access: at

    Overview

    The at member function performs checked access; that is, it returns a reference to the desired value if it exists and throws a basic_json::out_of_range exception otherwise.

    Read access

    Consider the following JSON value:

    {
    + Checked access: at - JSON for Modern C++      

    Checked access: at

    Overview

    The at member function performs checked access; that is, it returns a reference to the desired value if it exists and throws a basic_json::out_of_range exception otherwise.

    Read access

    Consider the following JSON value:

    {
         "name": "Mary Smith",
         "age": 42,
         "hobbies": ["hiking", "reading"]
    @@ -12,4 +12,4 @@
     

    When accessing an invalid index (i.e., an index greater than or equal to the array size) or the passed object key is non-existing, an exception is thrown.

    Accessing via invalid index or missing key
    j.at("hobbies").at(3) = "cooking";
     

    This code produces the following exception:

    [json.exception.out_of_range.401] array index 3 is out of range
     

    When you extended diagnostic messages are enabled by defining JSON_DIAGNOSTICS, the exception further gives information where the key or index is missing or out of range.

    [json.exception.out_of_range.401] (/hobbies) array index 3 is out of range
    -

    Notes

    Exceptions

    • at can only be used with objects (with a string argument) or with arrays (with a numeric argument). For other types, a basic_json::type_error is thrown.
    • basic_json::out_of_range exception exceptions are thrown if the provided key is not found in an object or the provided index is invalid.

    Summary

    scenario non-const value const value
    access to existing object key reference to existing value is returned const reference to existing value is returned
    access to valid array index reference to existing value is returned const reference to existing value is returned
    access to non-existing object key basic_json::out_of_range exception is thrown basic_json::out_of_range exception is thrown
    access to invalid array index basic_json::out_of_range exception is thrown basic_json::out_of_range exception is thrown
    \ No newline at end of file +

    Notes

    Exceptions

    • at can only be used with objects (with a string argument) or with arrays (with a numeric argument). For other types, a basic_json::type_error is thrown.
    • basic_json::out_of_range exception exceptions are thrown if the provided key is not found in an object or the provided index is invalid.

    Summary

    scenario non-const value const value
    access to existing object key reference to existing value is returned const reference to existing value is returned
    access to valid array index reference to existing value is returned const reference to existing value is returned
    access to non-existing object key basic_json::out_of_range exception is thrown basic_json::out_of_range exception is thrown
    access to invalid array index basic_json::out_of_range exception is thrown basic_json::out_of_range exception is thrown
    \ No newline at end of file diff --git a/features/element_access/default_value/index.html b/features/element_access/default_value/index.html index af0a1fea6..0bad0f8ba 100644 --- a/features/element_access/default_value/index.html +++ b/features/element_access/default_value/index.html @@ -1,4 +1,4 @@ - Access with default value: value - JSON for Modern C++

    Access with default value: value

    Overview

    In many situations, such as configuration files, missing values are not exceptional, but may be treated as if a default value was present. For this case, use value(key, default_value) which takes the key you want to access and a default value in case there is no value stored with that key.

    Example

    Example

    Consider the following JSON value:

    {
    + Access with default value: value - JSON for Modern C++      

    Access with default value: value

    Overview

    In many situations, such as configuration files, missing values are not exceptional, but may be treated as if a default value was present. For this case, use value(key, default_value) which takes the key you want to access and a default value in case there is no value stored with that key.

    Example

    Example

    Consider the following JSON value:

    {
         "logOutput": "result.log",
         "append": true
     }
    @@ -20,4 +20,4 @@
     default value (int):       -1
     default value (uint64_t):  18446744073709551615
     explicit return value type: 18446744073709551615
    -

    See also

    \ No newline at end of file +

    See also

    \ No newline at end of file diff --git a/features/element_access/index.html b/features/element_access/index.html index f79a88e7d..27429d27f 100644 --- a/features/element_access/index.html +++ b/features/element_access/index.html @@ -1 +1 @@ - Element Access - JSON for Modern C++

    Element Access

    There are many ways elements in a JSON value can be accessed:

    • unchecked access via operator[]
    • checked access via at
    • access with default value via value
    • iterators
    • JSON pointers
    \ No newline at end of file + Element Access - JSON for Modern C++

    Element Access

    There are many ways elements in a JSON value can be accessed:

    • unchecked access via operator[]
    • checked access via at
    • access with default value via value
    • iterators
    • JSON pointers
    \ No newline at end of file diff --git a/features/element_access/unchecked_access/index.html b/features/element_access/unchecked_access/index.html index 608ba84c4..68b996adb 100644 --- a/features/element_access/unchecked_access/index.html +++ b/features/element_access/unchecked_access/index.html @@ -1,4 +1,4 @@ - Unchecked access: operator[] - JSON for Modern C++

    Unchecked access: operator[]

    Overview

    Elements in a JSON object and a JSON array can be accessed via operator[] similar to a std::map and a std::vector, respectively.

    Read access

    Consider the following JSON value:

    {
    + Unchecked access: operator[] - JSON for Modern C++      

    Unchecked access: operator[]

    Overview

    Elements in a JSON object and a JSON array can be accessed via operator[] similar to a std::map and a std::vector, respectively.

    Read access

    Consider the following JSON value:

    {
         "name": "Mary Smith",
         "age": 42,
         "hobbies": ["hiking", "reading"]
    @@ -19,4 +19,4 @@
         "age": 42,
         "hobbies": ["running", "reading", null, "cooking"]
     }
    -

    Notes

    Design rationale

    The library behaves differently to std::vector and std::map:

    • std::vector::operator[] never inserts a new element.
    • std::map::operator[] is not available for const values.

    The type json wraps all JSON value types. It would be impossible to remove operator[] for const objects. At the same time, inserting elements for non-const objects is really convenient as it avoids awkward insert calls. To this end, we decided to have an inserting non-const behavior for both arrays and objects.

    Info

    The access is unchecked. In case the passed object key does not exist or the passed array index is invalid, no exception is thrown.

    Danger

    • It is undefined behavior to access a const object with a non-existing key.
    • It is undefined behavior to access a const array with an invalid index.
    • In debug mode, an assertion will fire in both cases. You can disable assertions by defining the preprocessor symbol NDEBUG or redefine the macro JSON_ASSERT(x). See the documentation on runtime assertions for more information.

    Exceptions

    operator[] can only be used with objects (with a string argument) or with arrays (with a numeric argument). For other types, a basic_json::type_error is thrown.

    Summary

    scenario non-const value const value
    access to existing object key reference to existing value is returned const reference to existing value is returned
    access to valid array index reference to existing value is returned const reference to existing value is returned
    access to non-existing object key reference to newly inserted null value is returned undefined behavior; runtime assertion in debug mode
    access to invalid array index reference to newly inserted null value is returned; any index between previous maximal index and passed index are filled with null undefined behavior; runtime assertion in debug mode
    \ No newline at end of file +

    Notes

    Design rationale

    The library behaves differently to std::vector and std::map:

    • std::vector::operator[] never inserts a new element.
    • std::map::operator[] is not available for const values.

    The type json wraps all JSON value types. It would be impossible to remove operator[] for const objects. At the same time, inserting elements for non-const objects is really convenient as it avoids awkward insert calls. To this end, we decided to have an inserting non-const behavior for both arrays and objects.

    Info

    The access is unchecked. In case the passed object key does not exist or the passed array index is invalid, no exception is thrown.

    Danger

    • It is undefined behavior to access a const object with a non-existing key.
    • It is undefined behavior to access a const array with an invalid index.
    • In debug mode, an assertion will fire in both cases. You can disable assertions by defining the preprocessor symbol NDEBUG or redefine the macro JSON_ASSERT(x). See the documentation on runtime assertions for more information.

    Exceptions

    operator[] can only be used with objects (with a string argument) or with arrays (with a numeric argument). For other types, a basic_json::type_error is thrown.

    Summary

    scenario non-const value const value
    access to existing object key reference to existing value is returned const reference to existing value is returned
    access to valid array index reference to existing value is returned const reference to existing value is returned
    access to non-existing object key reference to newly inserted null value is returned undefined behavior; runtime assertion in debug mode
    access to invalid array index reference to newly inserted null value is returned; any index between previous maximal index and passed index are filled with null undefined behavior; runtime assertion in debug mode
    \ No newline at end of file diff --git a/features/enum_conversion/index.html b/features/enum_conversion/index.html index 30ceeb84b..a8d87955f 100644 --- a/features/enum_conversion/index.html +++ b/features/enum_conversion/index.html @@ -1,4 +1,4 @@ - Specializing enum conversion - JSON for Modern C++

    Specializing enum conversion

    By default, enum values are serialized to JSON as integers. In some cases, this could result in undesired behavior. If the integer values of any enum values are changed after data using those enum values has been serialized to JSON, then deserializing that JSON would result in a different enum value being restored, or the value not being found at all.

    It is possible to more precisely specify how a given enum is mapped to and from JSON as shown below:

    // example enum type declaration
    + Specializing enum conversion - JSON for Modern C++      

    Specializing enum conversion

    By default, enum values are serialized to JSON as integers. In some cases, this could result in undesired behavior. If the integer values of any enum values are changed after data using those enum values has been serialized to JSON, then deserializing that JSON would result in a different enum value being restored, or the value not being found at all.

    It is possible to more precisely specify how a given enum is mapped to and from JSON as shown below:

    // example enum type declaration
     enum TaskState {
         TS_STOPPED,
         TS_RUNNING,
    @@ -24,4 +24,4 @@
     // undefined json value to enum (where the first map entry above is the default)
     json jPi = 3.14;
     assert(jPi.get<TaskState>() == TS_INVALID );
    -

    Notes

    Just as in Arbitrary Type Conversions above,

    • NLOHMANN_JSON_SERIALIZE_ENUM() MUST be declared in your enum type's namespace (which can be the global namespace), or the library will not be able to locate it, and it will default to integer serialization.
    • It MUST be available (e.g., proper headers must be included) everywhere you use the conversions.

    Other Important points:

    • When using get<ENUM_TYPE>(), undefined JSON values will default to the first pair specified in your map. Select this default pair carefully.
    • If an enum or JSON value is specified more than once in your map, the first matching occurrence from the top of the map will be returned when converting to or from JSON.
    • To disable the default serialization of enumerators as integers and force a compiler error instead, see JSON_DISABLE_ENUM_SERIALIZATION.
    \ No newline at end of file +

    Notes

    Just as in Arbitrary Type Conversions above,

    • NLOHMANN_JSON_SERIALIZE_ENUM() MUST be declared in your enum type's namespace (which can be the global namespace), or the library will not be able to locate it, and it will default to integer serialization.
    • It MUST be available (e.g., proper headers must be included) everywhere you use the conversions.

    Other Important points:

    • When using get<ENUM_TYPE>(), undefined JSON values will default to the first pair specified in your map. Select this default pair carefully.
    • If an enum or JSON value is specified more than once in your map, the first matching occurrence from the top of the map will be returned when converting to or from JSON.
    • To disable the default serialization of enumerators as integers and force a compiler error instead, see JSON_DISABLE_ENUM_SERIALIZATION.
    \ No newline at end of file diff --git a/features/iterators/index.html b/features/iterators/index.html index eaa6c06f2..dc50a6c66 100644 --- a/features/iterators/index.html +++ b/features/iterators/index.html @@ -1,4 +1,4 @@ - Iterators - JSON for Modern C++

    Iterators

    Overview

    A basic_json value is a container and allows access via iterators. Depending on the value type, basic_json stores zero or more values.

    As for other containers, begin() returns an iterator to the first value and end() returns an iterator to the value following the last value. The latter iterator is a placeholder and cannot be dereferenced. In case of null values, empty arrays, or empty objects, begin() will return end().

    Illustration from cppreference.com

    Iteration order for objects

    When iterating over objects, values are ordered with respect to the object_comparator_t type which defaults to std::less. See the types documentation for more information.

    Example
    // create JSON object {"one": 1, "two": 2, "three": 3}
    + Iterators - JSON for Modern C++      

    Iterators

    Overview

    A basic_json value is a container and allows access via iterators. Depending on the value type, basic_json stores zero or more values.

    As for other containers, begin() returns an iterator to the first value and end() returns an iterator to the value following the last value. The latter iterator is a placeholder and cannot be dereferenced. In case of null values, empty arrays, or empty objects, begin() will return end().

    Illustration from cppreference.com

    Iteration order for objects

    When iterating over objects, values are ordered with respect to the object_comparator_t type which defaults to std::less. See the types documentation for more information.

    Example
    // create JSON object {"one": 1, "two": 2, "three": 3}
     json j;
     j["one"] = 1;
     j["two"] = 2;
    @@ -53,4 +53,4 @@
         std::cout << *it << std::endl;
     }
     

    Output:

    "Hello, world"
    -

    Iterator invalidation

    Operations invalidated iterators
    clear all
    \ No newline at end of file +

    Iterator invalidation

    Operations invalidated iterators
    clear all
    \ No newline at end of file diff --git a/features/json_patch/index.html b/features/json_patch/index.html index a7d1569c8..755ec57bf 100644 --- a/features/json_patch/index.html +++ b/features/json_patch/index.html @@ -1,4 +1,4 @@ - JSON Patch and Diff - JSON for Modern C++

    JSON Patch and Diff

    Patches

    JSON Patch (RFC 6902) defines a JSON document structure for expressing a sequence of operations to apply to a JSON document. With the patch function, a JSON Patch is applied to the current JSON value by executing all operations from the patch.

    Example

    The following code shows how a JSON patch is applied to a value.

    #include <iostream>
    + JSON Patch and Diff - JSON for Modern C++      

    JSON Patch and Diff

    Patches

    JSON Patch (RFC 6902) defines a JSON document structure for expressing a sequence of operations to apply to a JSON document. With the patch function, a JSON Patch is applied to the current JSON value by executing all operations from the patch.

    Example

    The following code shows how a JSON patch is applied to a value.

    #include <iostream>
     #include <iomanip>
     #include <nlohmann/json.hpp>
     
    @@ -105,4 +105,4 @@
             "world"
         ]
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/json_pointer/index.html b/features/json_pointer/index.html index b581d7f47..4d9d6856d 100644 --- a/features/json_pointer/index.html +++ b/features/json_pointer/index.html @@ -1,4 +1,4 @@ - JSON Pointer - JSON for Modern C++

    JSON Pointer

    Introduction

    The library supports JSON Pointer (RFC 6901) as an alternative means to address structured values. A JSON Pointer is a string that identifies a specific value within a JSON document.

    Consider the following JSON document

    {
    + JSON Pointer - JSON for Modern C++      

    JSON Pointer

    Introduction

    The library supports JSON Pointer (RFC 6901) as an alternative means to address structured values. A JSON Pointer is a string that identifies a specific value within a JSON document.

    Consider the following JSON document

    {
         "array": ["A", "B", "C"],
         "nested": {
             "one": 1,
    @@ -45,4 +45,4 @@
       "/nested/three/1": false
     }
     

    The reverse function, unflatten recreates the original value.

    auto j_original = j_flat.unflatten();
    -

    See also

    \ No newline at end of file +

    See also

    \ No newline at end of file diff --git a/features/macros/index.html b/features/macros/index.html index 90612910c..1d827f07a 100644 --- a/features/macros/index.html +++ b/features/macros/index.html @@ -1 +1 @@ - Supported Macros - JSON for Modern C++

    Supported Macros

    Some aspects of the library can be configured by defining preprocessor macros before including the json.hpp header. See also the API documentation for macros for examples and more information.

    JSON_ASSERT(x)

    This macro controls which code is executed for runtime assertions of the library.

    See full documentation of JSON_ASSERT(x).

    JSON_CATCH_USER(exception)

    This macro overrides catch calls inside the library.

    See full documentation of JSON_CATCH_USER(exception).

    JSON_DIAGNOSTICS

    This macro enables extended diagnostics for exception messages. Possible values are 1 to enable or 0 to disable (default).

    When enabled, exception messages contain a JSON Pointer to the JSON value that triggered the exception, see Extended diagnostic messages for an example. Note that enabling this macro increases the size of every JSON value by one pointer and adds some runtime overhead.

    The diagnostics messages can also be controlled with the CMake option JSON_Diagnostics (OFF by default) which sets JSON_DIAGNOSTICS accordingly.

    See full documentation of JSON_DIAGNOSTICS.

    JSON_DIAGNOSTIC_POSITIONS

    When enabled, two new member functions start_pos() and end_pos() are added to basic_json values. If the value was created by calling theparse function, then these functions allow querying the byte positions of the value in the input it was parsed from. The byte positions are also used in exceptions to help locate errors.

    The diagnostics positions can also be controlled with the CMake option JSON_Diagnostic_Positions (OFF by default) which sets JSON_DIAGNOSTIC_POSITIONS accordingly.

    See full documentation of JSON_DIAGNOSTIC_POSITIONS

    JSON_HAS_CPP_11, JSON_HAS_CPP_14, JSON_HAS_CPP_17, JSON_HAS_CPP_20

    The library targets C++11, but also supports some features introduced in later C++ versions (e.g., std::string_view support for C++17). For these new features, the library implements some preprocessor checks to determine the C++ standard. By defining any of these symbols, the internal check is overridden and the provided C++ version is unconditionally assumed. This can be helpful for compilers that only implement parts of the standard and would be detected incorrectly.

    See full documentation of JSON_HAS_CPP_11, JSON_HAS_CPP_14, JSON_HAS_CPP_17, and JSON_HAS_CPP_20.

    JSON_HAS_FILESYSTEM, JSON_HAS_EXPERIMENTAL_FILESYSTEM

    When compiling with C++17, the library provides conversions from and to std::filesystem::path. As compiler support for filesystem is limited, the library tries to detect whether <filesystem>/std::filesystem (JSON_HAS_FILESYSTEM) or <experimental/filesystem>/std::experimental::filesystem (JSON_HAS_EXPERIMENTAL_FILESYSTEM) should be used. To override the built-in check, define JSON_HAS_FILESYSTEM or JSON_HAS_EXPERIMENTAL_FILESYSTEM to 1.

    See full documentation of JSON_HAS_FILESYSTEM and JSON_HAS_EXPERIMENTAL_FILESYSTEM.

    JSON_NOEXCEPTION

    Exceptions can be switched off by defining the symbol JSON_NOEXCEPTION.

    See full documentation of JSON_NOEXCEPTION.

    JSON_DISABLE_ENUM_SERIALIZATION

    When defined, default parse and serialize functions for enums are excluded and have to be provided by the user, for example, using NLOHMANN_JSON_SERIALIZE_ENUM.

    See full documentation of JSON_DISABLE_ENUM_SERIALIZATION.

    JSON_NO_IO

    When defined, headers <cstdio>, <ios>, <iosfwd>, <istream>, and <ostream> are not included and parse functions relying on these headers are excluded. This is relevant for environment where these I/O functions are disallowed for security reasons (e.g., Intel Software Guard Extensions (SGX)).

    See full documentation of JSON_NO_IO.

    JSON_SKIP_LIBRARY_VERSION_CHECK

    When defined, the library will not create a compiler warning when a different version of the library was already included.

    See full documentation of JSON_SKIP_LIBRARY_VERSION_CHECK.

    JSON_SKIP_UNSUPPORTED_COMPILER_CHECK

    When defined, the library will not create a compile error when a known unsupported compiler is detected. This allows using the library with compilers that do not fully support C++11 and may only work if unsupported features are not used.

    See full documentation of JSON_SKIP_UNSUPPORTED_COMPILER_CHECK.

    JSON_THROW_USER(exception)

    This macro overrides throw calls inside the library. The argument is the exception to be thrown.

    See full documentation of JSON_THROW_USER(exception).

    JSON_TRY_USER

    This macro overrides try calls inside the library.

    See full documentation of JSON_TRY_USER.

    JSON_USE_IMPLICIT_CONVERSIONS

    When defined to 0, implicit conversions are switched off. By default, implicit conversions are switched on.

    See full documentation of JSON_USE_IMPLICIT_CONVERSIONS.

    NLOHMANN_DEFINE_TYPE_*(...), NLOHMANN_DEFINE_DERIVED_TYPE_*(...)

    The library defines 12 macros to simplify the serialization/deserialization of types. See the page on arbitrary type conversion for a detailed discussion.

    NLOHMANN_JSON_SERIALIZE_ENUM(type, ...)

    This macro simplifies the serialization/deserialization of enum types. See Specializing enum conversion for more information.

    See full documentation of NLOHMANN_JSON_SERIALIZE_ENUM.

    NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, NLOHMANN_JSON_VERSION_PATCH

    These macros are defined by the library and contain the version numbers according to Semantic Versioning 2.0.0.

    See full documentation of NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, and NLOHMANN_JSON_VERSION_PATCH.

    \ No newline at end of file + Supported Macros - JSON for Modern C++

    Supported Macros

    Some aspects of the library can be configured by defining preprocessor macros before including the json.hpp header. See also the API documentation for macros for examples and more information.

    JSON_ASSERT(x)

    This macro controls which code is executed for runtime assertions of the library.

    See full documentation of JSON_ASSERT(x).

    JSON_CATCH_USER(exception)

    This macro overrides catch calls inside the library.

    See full documentation of JSON_CATCH_USER(exception).

    JSON_DIAGNOSTICS

    This macro enables extended diagnostics for exception messages. Possible values are 1 to enable or 0 to disable (default).

    When enabled, exception messages contain a JSON Pointer to the JSON value that triggered the exception, see Extended diagnostic messages for an example. Note that enabling this macro increases the size of every JSON value by one pointer and adds some runtime overhead.

    The diagnostics messages can also be controlled with the CMake option JSON_Diagnostics (OFF by default) which sets JSON_DIAGNOSTICS accordingly.

    See full documentation of JSON_DIAGNOSTICS.

    JSON_DIAGNOSTIC_POSITIONS

    When enabled, two new member functions start_pos() and end_pos() are added to basic_json values. If the value was created by calling theparse function, then these functions allow querying the byte positions of the value in the input it was parsed from. The byte positions are also used in exceptions to help locate errors.

    The diagnostics positions can also be controlled with the CMake option JSON_Diagnostic_Positions (OFF by default) which sets JSON_DIAGNOSTIC_POSITIONS accordingly.

    See full documentation of JSON_DIAGNOSTIC_POSITIONS

    JSON_HAS_CPP_11, JSON_HAS_CPP_14, JSON_HAS_CPP_17, JSON_HAS_CPP_20

    The library targets C++11, but also supports some features introduced in later C++ versions (e.g., std::string_view support for C++17). For these new features, the library implements some preprocessor checks to determine the C++ standard. By defining any of these symbols, the internal check is overridden and the provided C++ version is unconditionally assumed. This can be helpful for compilers that only implement parts of the standard and would be detected incorrectly.

    See full documentation of JSON_HAS_CPP_11, JSON_HAS_CPP_14, JSON_HAS_CPP_17, and JSON_HAS_CPP_20.

    JSON_HAS_FILESYSTEM, JSON_HAS_EXPERIMENTAL_FILESYSTEM

    When compiling with C++17, the library provides conversions from and to std::filesystem::path. As compiler support for filesystem is limited, the library tries to detect whether <filesystem>/std::filesystem (JSON_HAS_FILESYSTEM) or <experimental/filesystem>/std::experimental::filesystem (JSON_HAS_EXPERIMENTAL_FILESYSTEM) should be used. To override the built-in check, define JSON_HAS_FILESYSTEM or JSON_HAS_EXPERIMENTAL_FILESYSTEM to 1.

    See full documentation of JSON_HAS_FILESYSTEM and JSON_HAS_EXPERIMENTAL_FILESYSTEM.

    JSON_NOEXCEPTION

    Exceptions can be switched off by defining the symbol JSON_NOEXCEPTION.

    See full documentation of JSON_NOEXCEPTION.

    JSON_DISABLE_ENUM_SERIALIZATION

    When defined, default parse and serialize functions for enums are excluded and have to be provided by the user, for example, using NLOHMANN_JSON_SERIALIZE_ENUM.

    See full documentation of JSON_DISABLE_ENUM_SERIALIZATION.

    JSON_NO_IO

    When defined, headers <cstdio>, <ios>, <iosfwd>, <istream>, and <ostream> are not included and parse functions relying on these headers are excluded. This is relevant for environment where these I/O functions are disallowed for security reasons (e.g., Intel Software Guard Extensions (SGX)).

    See full documentation of JSON_NO_IO.

    JSON_SKIP_LIBRARY_VERSION_CHECK

    When defined, the library will not create a compiler warning when a different version of the library was already included.

    See full documentation of JSON_SKIP_LIBRARY_VERSION_CHECK.

    JSON_SKIP_UNSUPPORTED_COMPILER_CHECK

    When defined, the library will not create a compile error when a known unsupported compiler is detected. This allows using the library with compilers that do not fully support C++11 and may only work if unsupported features are not used.

    See full documentation of JSON_SKIP_UNSUPPORTED_COMPILER_CHECK.

    JSON_THROW_USER(exception)

    This macro overrides throw calls inside the library. The argument is the exception to be thrown.

    See full documentation of JSON_THROW_USER(exception).

    JSON_TRY_USER

    This macro overrides try calls inside the library.

    See full documentation of JSON_TRY_USER.

    JSON_USE_IMPLICIT_CONVERSIONS

    When defined to 0, implicit conversions are switched off. By default, implicit conversions are switched on.

    See full documentation of JSON_USE_IMPLICIT_CONVERSIONS.

    NLOHMANN_DEFINE_TYPE_*(...), NLOHMANN_DEFINE_DERIVED_TYPE_*(...)

    The library defines 12 macros to simplify the serialization/deserialization of types. See the page on arbitrary type conversion for a detailed discussion.

    NLOHMANN_JSON_SERIALIZE_ENUM(type, ...)

    This macro simplifies the serialization/deserialization of enum types. See Specializing enum conversion for more information.

    See full documentation of NLOHMANN_JSON_SERIALIZE_ENUM.

    NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, NLOHMANN_JSON_VERSION_PATCH

    These macros are defined by the library and contain the version numbers according to Semantic Versioning 2.0.0.

    See full documentation of NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, and NLOHMANN_JSON_VERSION_PATCH.

    \ No newline at end of file diff --git a/features/merge_patch/index.html b/features/merge_patch/index.html index 9167eb372..f09d49c07 100644 --- a/features/merge_patch/index.html +++ b/features/merge_patch/index.html @@ -1,4 +1,4 @@ - JSON Merge Patch - JSON for Modern C++

    JSON Merge Patch

    The library supports JSON Merge Patch (RFC 7386) as a patch format. The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content. This function applies a merge patch to the current JSON value.

    Instead of using JSON Pointer to specify values to be manipulated, it describes the changes using a syntax that closely mimics the document being modified.

    Example

    The following code shows how a JSON Merge Patch is applied to a JSON document.

    #include <iostream>
    + JSON Merge Patch - JSON for Modern C++      

    JSON Merge Patch

    The library supports JSON Merge Patch (RFC 7386) as a patch format. The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content. This function applies a merge patch to the current JSON value.

    Instead of using JSON Pointer to specify values to be manipulated, it describes the changes using a syntax that closely mimics the document being modified.

    Example

    The following code shows how a JSON Merge Patch is applied to a JSON document.

    #include <iostream>
     #include <nlohmann/json.hpp>
     #include <iomanip> // for std::setw
     
    @@ -50,4 +50,4 @@
         ],
         "title": "Hello!"
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/modules/index.html b/features/modules/index.html index 306a967f8..079f90dfa 100644 --- a/features/modules/index.html +++ b/features/modules/index.html @@ -1,4 +1,4 @@ - Modules - JSON for Modern C++

    Modules

    This library has experimental support for C++ modules, introduced in C++20. The library can be imported by writing import nlohmann.json; instead of #include <nlohmann/json.hpp>.

    Please be aware that the module is experimental and a full test is outstanding, and the exported symbols are subject to change.

    Requirements

    The nlohmann.json module requires that the build system is configured to build and resolve modules when imported. Obviously, as modules were introduced in C++20, this feature can only be used in C++20 and subsequent versions.

    To enable building the nlohmann.json module (which is not done by default), the macro NLOHMANN_JSON_BUILD_MODULES must be passed to the build system.

    Example

    When using modules rather than headers, the previous example for creating a json object through a JSON file, would instead be:

    import std;
    + Modules - JSON for Modern C++      

    Modules

    This library has experimental support for C++ modules, introduced in C++20. The library can be imported by writing import nlohmann.json; instead of #include <nlohmann/json.hpp>.

    Please be aware that the module is experimental and a full test is outstanding, and the exported symbols are subject to change.

    Requirements

    The nlohmann.json module requires that the build system is configured to build and resolve modules when imported. Obviously, as modules were introduced in C++20, this feature can only be used in C++20 and subsequent versions.

    To enable building the nlohmann.json module (which is not done by default), the macro NLOHMANN_JSON_BUILD_MODULES must be passed to the build system.

    Example

    When using modules rather than headers, the previous example for creating a json object through a JSON file, would instead be:

    import std;
     import nlohmann.json;
     
     using json = nlohmann::json;
    @@ -7,4 +7,4 @@
     
     std::ifstream f("example.json");
     json data = json::parse(f);
    -

    Modules do not export macros

    It should be noted that as modules do not export macros, the nlohmann.json module will not export any macros, but rather only the following symbols:

    • nlohmann::adl_serializer
    • nlohmann::basic_json
    • nlohmann::json
    • nlohmann::json_pointer
    • nlohmann::ordered_map
    • nlohmann::ordered_json
    \ No newline at end of file +

    Modules do not export macros

    It should be noted that as modules do not export macros, the nlohmann.json module will not export any macros, but rather only the following symbols:

    • nlohmann::adl_serializer
    • nlohmann::basic_json
    • nlohmann::json
    • nlohmann::json_pointer
    • nlohmann::ordered_map
    • nlohmann::ordered_json
    \ No newline at end of file diff --git a/features/namespace/index.html b/features/namespace/index.html index 72e2d4e47..edef24013 100644 --- a/features/namespace/index.html +++ b/features/namespace/index.html @@ -1,4 +1,4 @@ - nlohmann Namespace - JSON for Modern C++

    nlohmann Namespace

    The 3.11.0 release introduced an inline namespace to allow different parts of a codebase to safely use different versions of the JSON library as long as they never exchange instances of library types.

    Structure

    The complete default namespace name is derived as follows:

    • The root namespace is always nlohmann.
    • The inline namespace starts with json_abi and is followed by several optional ABI tags according to the value of these ABI-affecting macros, in order:
    • The inline namespace ends with the suffix _v followed by the 3 components of the version number separated by underscores. To omit the version component, see Disabling the version component below.

    For example, the namespace name for version 3.11.2 with JSON_DIAGNOSTICS defined to 1 is:

    nlohmann::json_abi_diag_v3_11_2
    + nlohmann Namespace - JSON for Modern C++      

    nlohmann Namespace

    The 3.11.0 release introduced an inline namespace to allow different parts of a codebase to safely use different versions of the JSON library as long as they never exchange instances of library types.

    Structure

    The complete default namespace name is derived as follows:

    • The root namespace is always nlohmann.
    • The inline namespace starts with json_abi and is followed by several optional ABI tags according to the value of these ABI-affecting macros, in order:
    • The inline namespace ends with the suffix _v followed by the 3 components of the version number separated by underscores. To omit the version component, see Disabling the version component below.

    For example, the namespace name for version 3.11.2 with JSON_DIAGNOSTICS defined to 1 is:

    nlohmann::json_abi_diag_v3_11_2
     

    Purpose

    Several incompatibilities have been observed. Amongst the most common ones is linking code compiled with different definitions of JSON_DIAGNOSTICS. This is illustrated in the diagram below.

    graph
         json["<strong>nlohmann_json (v3.10.5)</strong><br>JSON_DIAGNOSTICS=0"]
         json_diag["<strong>nlohmann_json (v3.10.5)</strong><br>JSON_DIAGNOSTICS=1"]
    @@ -9,4 +9,4 @@
         app --> json_diag
         app --> library

    In releases prior to 3.11.0, mixing any version of the JSON library with different JSON_DIAGNOSTICS settings would result in a crashing application. If some_library never passes instances of JSON library types to the application, this scenario became safe in version 3.11.0 and above due to the inline namespace yielding distinct symbol names.

    Limitations

    Neither the compiler nor the linker will issue as much as a warning when translation units – intended to be linked together and that include different versions and/or configurations of the JSON library – exchange and use library types.

    There is an exception when forward declarations are used (i.e., when including json_fwd.hpp) in which case the linker may complain about undefined references.

    Disabling the version component

    Different versions are not necessarily ABI-incompatible, but the project does not actively track changes in the ABI and recommends that all parts of a codebase exchanging library types be built with the same version. Users can, at their own risk, disable the version component of the linline namespace, allowing different versions – but not configurations – to be used in cases where the linker would otherwise output undefined reference errors.

    To do so, define NLOHMANN_JSON_NAMESPACE_NO_VERSION to 1.

    This applies to version 3.11.2 and above only; versions 3.11.0 and 3.11.1 can apply the technique described in the next section to emulate the effect of the NLOHMANN_JSON_NAMESPACE_NO_VERSION macro.

    Use at your own risk

    Disabling the namespace version component and mixing ABI-incompatible versions will result in crashes or incorrect behavior. You have been warned!

    Disabling the inline namespace completely

    When interoperability with code using a pre-3.11.0 version of the library is required, users can, at their own risk restore the old namespace layout by redefining NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END as follows:

    #define NLOHMANN_JSON_NAMESPACE_BEGIN  namespace nlohmann {
     #define NLOHMANN_JSON_NAMESPACE_END    }
    -

    Use at your own risk

    Overriding the namespace and mixing ABI-incompatible versions will result in crashes or incorrect behavior. You have been warned!

    Version history

    • Introduced inline namespace (json_v3_11_0[_abi-tag]*) in version 3.11.0.
    • Changed structure of inline namespace in version 3.11.2.
    \ No newline at end of file +

    Use at your own risk

    Overriding the namespace and mixing ABI-incompatible versions will result in crashes or incorrect behavior. You have been warned!

    Version history

    • Introduced inline namespace (json_v3_11_0[_abi-tag]*) in version 3.11.0.
    • Changed structure of inline namespace in version 3.11.2.
    \ No newline at end of file diff --git a/features/object_order/index.html b/features/object_order/index.html index 3c11c51d4..e612adc57 100644 --- a/features/object_order/index.html +++ b/features/object_order/index.html @@ -1,4 +1,4 @@ - Object Order - JSON for Modern C++

    Object Order

    The JSON standard defines objects as "an unordered collection of zero or more name/value pairs". As such, an implementation does not need to preserve any specific order of object keys.

    Default behavior: sort keys

    The default type nlohmann::json uses a std::map to store JSON objects, and thus stores object keys sorted alphabetically.

    Example
    #include <iostream>
    + Object Order - JSON for Modern C++      

    Object Order

    The JSON standard defines objects as "an unordered collection of zero or more name/value pairs". As such, an implementation does not need to preserve any specific order of object keys.

    Default behavior: sort keys

    The default type nlohmann::json uses a std::map to store JSON objects, and thus stores object keys sorted alphabetically.

    Example
    #include <iostream>
     #include "json.hpp"
     
     using json = nlohmann::json;
    @@ -57,4 +57,4 @@
       "three": 3
       "two": 2,
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/parsing/index.html b/features/parsing/index.html index 51db7d9d2..f46ee17b7 100644 --- a/features/parsing/index.html +++ b/features/parsing/index.html @@ -1 +1 @@ - Parsing - JSON for Modern C++
    \ No newline at end of file + Parsing - JSON for Modern C++
    \ No newline at end of file diff --git a/features/parsing/json_lines/index.html b/features/parsing/json_lines/index.html index ede7fd378..ba4dd5c66 100644 --- a/features/parsing/json_lines/index.html +++ b/features/parsing/json_lines/index.html @@ -1,4 +1,4 @@ - JSON Lines - JSON for Modern C++

    JSON Lines

    The JSON Lines format is a text format of newline-delimited JSON. In particular:

    1. The input must be UTF-8 encoded.
    2. Every line must be a valid JSON value.
    3. The line separator must be \n. As \r is silently ignored, \r\n is also supported.
    4. The final character may be \n, but is not required to be one.

    JSON Text example

    {"name": "Gilbert", "wins": [["straight", "7♣"], ["one pair", "10♥"]]}
    + JSON Lines - JSON for Modern C++      

    JSON Lines

    The JSON Lines format is a text format of newline-delimited JSON. In particular:

    1. The input must be UTF-8 encoded.
    2. Every line must be a valid JSON value.
    3. The line separator must be \n. As \r is silently ignored, \r\n is also supported.
    4. The final character may be \n, but is not required to be one.

    JSON Text example

    {"name": "Gilbert", "wins": [["straight", "7♣"], ["one pair", "10♥"]]}
     {"name": "Alexa", "wins": [["two pair", "4♠"], ["two pair", "9♠"]]}
     {"name": "May", "wins": []}
     {"name": "Deloise", "wins": [["three of a kind", "5♣"]]}
    @@ -33,4 +33,4 @@
     {
         std::cout << j << std::endl;
     }
    -

    with a JSON Lines input does not work, because the parser will try to parse one value after the last one.

    \ No newline at end of file +

    with a JSON Lines input does not work, because the parser will try to parse one value after the last one.

    \ No newline at end of file diff --git a/features/parsing/parse_exceptions/index.html b/features/parsing/parse_exceptions/index.html index 72830ff1a..6110d6207 100644 --- a/features/parsing/parse_exceptions/index.html +++ b/features/parsing/parse_exceptions/index.html @@ -1,4 +1,4 @@ - Parsing and Exceptions - JSON for Modern C++

    Parsing and Exceptions

    When the input is not valid JSON, an exception of type parse_error is thrown. This exception contains the position in the input where the error occurred, together with a diagnostic message and the last read input token. The exceptions page contains a list of examples for parse error exceptions. In case you process untrusted input, always enclose your code with a try/catch block, like

    json j;
    + Parsing and Exceptions - JSON for Modern C++      

    Parsing and Exceptions

    When the input is not valid JSON, an exception of type parse_error is thrown. This exception contains the position in the input where the error occurred, together with a diagnostic message and the last read input token. The exceptions page contains a list of examples for parse error exceptions. In case you process untrusted input, always enclose your code with a try/catch block, like

    json j;
     try
     {
         j = json::parse(my_input);
    @@ -63,4 +63,4 @@
     last read: "3,]"
     parsing unsuccessful!
     parsed value: [1,2,3]
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/parsing/parser_callbacks/index.html b/features/parsing/parser_callbacks/index.html index 703fbf227..bf7ef0f0f 100644 --- a/features/parsing/parser_callbacks/index.html +++ b/features/parsing/parser_callbacks/index.html @@ -1,4 +1,4 @@ - Parser Callbacks - JSON for Modern C++

    Parser Callbacks

    Overview

    With a parser callback function, the result of parsing a JSON text can be influenced. When passed to parse, it is called on certain events (passed as parse_event_t via parameter event) with a set recursion depth depth and context JSON value parsed. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.

    The type of the callback function is:

    template<typename BasicJsonType>
    + Parser Callbacks - JSON for Modern C++      

    Parser Callbacks

    Overview

    With a parser callback function, the result of parsing a JSON text can be influenced. When passed to parse, it is called on certain events (passed as parse_event_t via parameter event) with a set recursion depth depth and context JSON value parsed. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.

    The type of the callback function is:

    template<typename BasicJsonType>
     using parser_callback_t =
         std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>;
     

    Callback event types

    We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values of the parameters depth, event, and parsed.

    parameter event description parameter depth parameter parsed
    parse_event_t::object_start the parser read { and started to process a JSON object depth of the parent of the JSON object a JSON value with type discarded
    parse_event_t::key the parser read a key of a value in an object depth of the currently parsed JSON object a JSON string containing the key
    parse_event_t::object_end the parser read } and finished processing a JSON object depth of the parent of the JSON object the parsed JSON object
    parse_event_t::array_start the parser read [ and started to process a JSON array depth of the parent of the JSON array a JSON value with type discarded
    parse_event_t::array_end the parser read ] and finished processing a JSON array depth of the parent of the JSON array the parsed JSON array
    parse_event_t::value the parser finished reading a JSON value depth of the value the parsed JSON value
    Example

    When parsing the following JSON text,

    {
    @@ -90,4 +90,4 @@
             "Width": 800
         }
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/parsing/sax_interface/index.html b/features/parsing/sax_interface/index.html index e1e022144..00a29bf80 100644 --- a/features/parsing/sax_interface/index.html +++ b/features/parsing/sax_interface/index.html @@ -1,4 +1,4 @@ - SAX Interface - JSON for Modern C++

    SAX Interface

    The library uses a SAX-like interface with the following functions:

    classDiagram
    + SAX Interface - JSON for Modern C++      

    SAX Interface

    The library uses a SAX-like interface with the following functions:

    classDiagram
     
     class sax_t ["json::sax_t"] {
         <<interface>>
    @@ -49,4 +49,4 @@ class sax_t ["json::sax_t"] {
     
     // called when a parse error occurs; byte position, the last token, and an exception is passed
     bool parse_error(std::size_t position, const std::string& last_token, const json::exception& ex);
    -

    The return value of each function determines whether parsing should proceed.

    To implement your own SAX handler, proceed as follows:

    1. Implement the SAX interface in a class. You can use class nlohmann::json_sax<json> as base class, but you can also use any class where the functions described above are implemented and public.
    2. Create an object of your SAX interface class, e.g. my_sax.
    3. Call bool json::sax_parse(input, &my_sax); where the first parameter can be any input like a string or an input stream and the second parameter is a pointer to your SAX interface.

    Note the sax_parse function only returns a bool indicating the result of the last executed SAX event. It does not return json value - it is up to you to decide what to do with the SAX events. Furthermore, no exceptions are thrown in case of a parse error - it is up to you what to do with the exception object passed to your parse_error implementation. Internally, the SAX interface is used for the DOM parser (class json_sax_dom_parser) as well as the acceptor (json_sax_acceptor), see file json_sax.hpp.

    See also

    \ No newline at end of file +

    The return value of each function determines whether parsing should proceed.

    To implement your own SAX handler, proceed as follows:

    1. Implement the SAX interface in a class. You can use class nlohmann::json_sax<json> as base class, but you can also use any class where the functions described above are implemented and public.
    2. Create an object of your SAX interface class, e.g. my_sax.
    3. Call bool json::sax_parse(input, &my_sax); where the first parameter can be any input like a string or an input stream and the second parameter is a pointer to your SAX interface.

    Note the sax_parse function only returns a bool indicating the result of the last executed SAX event. It does not return json value - it is up to you to decide what to do with the SAX events. Furthermore, no exceptions are thrown in case of a parse error - it is up to you what to do with the exception object passed to your parse_error implementation. Internally, the SAX interface is used for the DOM parser (class json_sax_dom_parser) as well as the acceptor (json_sax_acceptor), see file json_sax.hpp.

    See also

    \ No newline at end of file diff --git a/features/trailing_commas/index.html b/features/trailing_commas/index.html index 28a6edb44..d9d568300 100644 --- a/features/trailing_commas/index.html +++ b/features/trailing_commas/index.html @@ -1,4 +1,4 @@ - Trailing Commas - JSON for Modern C++

    Trailing Commas

    Like comments, this library does not support trailing commas in arrays and objects by default.

    You can set parameter ignore_trailing_commas to true in the parse function to allow trailing commas in arrays and objects. Note that a single comma as the only content of the array or object ([,] or {,}) is not allowed, and multiple trailing commas ([1,,]) are not allowed either.

    This library does not add trailing commas when serializing JSON data.

    For more information, see JSON With Commas and Comments (JWCC).

    Example

    Consider the following JSON with trailing commas.

    {
    + Trailing Commas - JSON for Modern C++      

    Trailing Commas

    Like comments, this library does not support trailing commas in arrays and objects by default.

    You can set parameter ignore_trailing_commas to true in the parse function to allow trailing commas in arrays and objects. Note that a single comma as the only content of the array or object ([,] or {,}) is not allowed, and multiple trailing commas ([1,,]) are not allowed either.

    This library does not add trailing commas when serializing JSON data.

    For more information, see JSON With Commas and Comments (JWCC).

    Example

    Consider the following JSON with trailing commas.

    {
         "planets": [
             "Mercury",
             "Venus",
    @@ -58,4 +58,4 @@
         "Neptune"
       ]
     }
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/features/types/index.html b/features/types/index.html index ee5700dfc..1c45e178c 100644 --- a/features/types/index.html +++ b/features/types/index.html @@ -1,4 +1,4 @@ - Types - JSON for Modern C++

    Types

    This page gives an overview of how JSON values are stored and how this can be configured.

    Overview

    By default, JSON values are stored as follows:

    JSON type C++ type
    object std::map<std::string, basic_json>
    array std::vector<basic_json>
    null std::nullptr_t
    string std::string
    boolean bool
    number std::int64_t, std::uint64_t, and double

    Note there are three different types for numbers - when parsing JSON text, the best fitting type is chosen.

    Storage

    classDiagram
    + Types - JSON for Modern C++      

    Types

    This page gives an overview of how JSON values are stored and how this can be configured.

    Overview

    By default, JSON values are stored as follows:

    JSON type C++ type
    object std::map<std::string, basic_json>
    array std::vector<basic_json>
    null std::nullptr_t
    string std::string
    boolean bool
    number std::int64_t, std::uint64_t, and double

    Note there are three different types for numbers - when parsing JSON text, the best fitting type is chosen.

    Storage

    classDiagram
     
     class value_t {
         <<enumeration>>
    @@ -77,4 +77,4 @@ basic_json .. value_t

    Template arguments< basic_json, // value_type std::allocator<basic_json> // allocator_type > -

    Limits

    RFC 8259 specifies:

    An implementation may set limits on the maximum depth of nesting.

    In this class, the array's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON array.

    Storage

    Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of type array_t* must be dereferenced.

    Strings

    RFC 8259 describes JSON strings as follows:

    A string is a sequence of zero or more Unicode characters.

    Unicode values are split by the JSON class into byte-sized characters during deserialization.

    Default type

    With the default values for StringType (std::string), the default value for string_t is std::string.

    Encoding

    Strings are stored in UTF-8 encoding. Therefore, functions like std::string::size() or std::string::length() return the number of bytes in the string rather than the number of characters or glyphs.

    String comparison

    RFC 8259 states:

    Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that "a\\b" and "a\u005Cb" are not equal.

    This implementation is interoperable as it does compare strings code unit by code unit.

    Storage

    String values are stored as pointers in a basic_json type. That is, for any access to string values, a pointer of type string_t* must be dereferenced.

    Booleans

    RFC 8259 implicitly describes a boolean as a type which differentiates the two literals true and false.

    Default type

    With the default values for BooleanType (bool), the default value for boolean_t is bool.

    Storage

    Boolean values are stored directly inside a basic_json type.

    Numbers

    See the number handling article for a detailed discussion on how numbers are handled by this library.

    RFC 8259 describes numbers as follows:

    The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

    This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer, or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t, and number_float_t are used.

    Default types

    With the default values for NumberIntegerType (std::int64_t), the default value for number_integer_t is std::int64_t. With the default values for NumberUnsignedType (std::uint64_t), the default value for number_unsigned_t is std::uint64_t. With the default values for NumberFloatType (double), the default value for number_float_t is double.

    Default behavior

    • The restrictions about leading zeros are not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as an octal number. Internally, the value will be stored as a decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
    • Not-a-number (NaN) values will be serialized to null.

    Limits

    RFC 8259 specifies:

    An implementation may set limits on the range and precision of numbers.

    When the default type is used, the maximal integer number that can be stored is 9223372036854775807 (INT64_MAX) and the minimal integer number that can be stored is -9223372036854775808 (INT64_MIN). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will automatically be stored as number_unsigned_t or number_float_t.

    When the default type is used, the maximal unsigned integer number that can be stored is 18446744073709551615 (UINT64_MAX) and the minimal integer number that can be stored is 0. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will automatically be stored as number_integer_t or number_float_t.

    RFC 8259 further states:

    Note that when such software is used, numbers that are integers and are in the range [-2^{53}+1, 2^{53}-1] are interoperable in the sense that implementations will agree exactly on their numeric values.

    As this range is a subrange of the exactly supported range [INT64_MIN, INT64_MAX], this class's integer type is interoperable.

    RFC 8259 states:

    This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.

    This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than -1.79769313486232e+308 and values greater than 1.79769313486232e+308 will be stored as NaN internally and be serialized to null.

    Storage

    Integer number values, unsigned integer number values, and floating-point number values are stored directly inside a basic_json type.

    \ No newline at end of file +

    Limits

    RFC 8259 specifies:

    An implementation may set limits on the maximum depth of nesting.

    In this class, the array's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON array.

    Storage

    Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of type array_t* must be dereferenced.

    Strings

    RFC 8259 describes JSON strings as follows:

    A string is a sequence of zero or more Unicode characters.

    Unicode values are split by the JSON class into byte-sized characters during deserialization.

    Default type

    With the default values for StringType (std::string), the default value for string_t is std::string.

    Encoding

    Strings are stored in UTF-8 encoding. Therefore, functions like std::string::size() or std::string::length() return the number of bytes in the string rather than the number of characters or glyphs.

    String comparison

    RFC 8259 states:

    Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that "a\\b" and "a\u005Cb" are not equal.

    This implementation is interoperable as it does compare strings code unit by code unit.

    Storage

    String values are stored as pointers in a basic_json type. That is, for any access to string values, a pointer of type string_t* must be dereferenced.

    Booleans

    RFC 8259 implicitly describes a boolean as a type which differentiates the two literals true and false.

    Default type

    With the default values for BooleanType (bool), the default value for boolean_t is bool.

    Storage

    Boolean values are stored directly inside a basic_json type.

    Numbers

    See the number handling article for a detailed discussion on how numbers are handled by this library.

    RFC 8259 describes numbers as follows:

    The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

    This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer, or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t, and number_float_t are used.

    Default types

    With the default values for NumberIntegerType (std::int64_t), the default value for number_integer_t is std::int64_t. With the default values for NumberUnsignedType (std::uint64_t), the default value for number_unsigned_t is std::uint64_t. With the default values for NumberFloatType (double), the default value for number_float_t is double.

    Default behavior

    • The restrictions about leading zeros are not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as an octal number. Internally, the value will be stored as a decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
    • Not-a-number (NaN) values will be serialized to null.

    Limits

    RFC 8259 specifies:

    An implementation may set limits on the range and precision of numbers.

    When the default type is used, the maximal integer number that can be stored is 9223372036854775807 (INT64_MAX) and the minimal integer number that can be stored is -9223372036854775808 (INT64_MIN). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will automatically be stored as number_unsigned_t or number_float_t.

    When the default type is used, the maximal unsigned integer number that can be stored is 18446744073709551615 (UINT64_MAX) and the minimal integer number that can be stored is 0. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will automatically be stored as number_integer_t or number_float_t.

    RFC 8259 further states:

    Note that when such software is used, numbers that are integers and are in the range [-2^{53}+1, 2^{53}-1] are interoperable in the sense that implementations will agree exactly on their numeric values.

    As this range is a subrange of the exactly supported range [INT64_MIN, INT64_MAX], this class's integer type is interoperable.

    RFC 8259 states:

    This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.

    This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than -1.79769313486232e+308 and values greater than 1.79769313486232e+308 will be stored as NaN internally and be serialized to null.

    Storage

    Integer number values, unsigned integer number values, and floating-point number values are stored directly inside a basic_json type.

    \ No newline at end of file diff --git a/features/types/number_handling/index.html b/features/types/number_handling/index.html index 254d97d22..d99afafd0 100644 --- a/features/types/number_handling/index.html +++ b/features/types/number_handling/index.html @@ -1,4 +1,4 @@ - Number Handling - JSON for Modern C++

    Number Handling

    This document describes how the library is handling numbers.

    Background

    This section briefly summarizes how the JSON specification describes how numbers should be handled.

    JSON number syntax

    JSON defines the syntax of numbers as follows:

    RFC 8259, Section 6

    The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed.

    A fraction part is a decimal point followed by one or more digits.

    An exponent part begins with the letter E in uppercase or lowercase, which may be followed by a plus or minus sign. The E and optional sign are followed by one or more digits.

    The following railroad diagram from json.org visualizes the number syntax:

    Syntax for JSON numbers

    Number interoperability

    On number interoperability, the following remarks are made:

    RFC 8259, Section 6

    This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754 binary64 (double precision) numbers [IEEE754] is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision. A JSON number such as 1E400 or 3.141592653589793238462643383279 may indicate potential interoperability problems, since it suggests that the software that created it expects receiving software to have greater capabilities for numeric magnitude and precision than is widely available.

    Note that when such software is used, numbers that are integers and are in the range [-2^{53}+1, 2^{53}-1] are interoperable in the sense that implementations will agree exactly on their numeric values.

    Library implementation

    This section describes how this library implements the above number specification.

    Number storage

    In the default json type, numbers are stored as std::uint64_t, std::int64_t, and double, respectively. Thereby, std::uint64_t and std::int64_t are used only if they can store the number without loss of precision. If this is impossible (e.g., if the number is too large), the number is stored as double.

    Notes

    Examples

    • Integer -12345678912345789123456789 is smaller than INT64_MIN and will be stored as floating-point number -1.2345678912345788e+25.
    • Integer 1E3 will be stored as floating-point number 1000.0.

    Number limits

    • Any 64-bit signed or unsigned integer can be stored without loss of precision.
    • Numbers exceeding the limits of double (i.e., numbers that after conversion via std::strtod are not satisfying std::isfinite such as 1E400) will throw exception json.exception.out_of_range.406 during parsing.
    • Floating-point numbers are rounded to the next number representable as double. For instance 3.141592653589793238462643383279 is stored as 0x400921fb54442d18. This is the same behavior as the code double x = 3.141592653589793238462643383279;.

    Interoperability

    • The library interoperable with respect to the specification, because its supported range [-2^{63}, 2^{64}-1] is larger than the described range [-2^{53}+1, 2^{53}-1].
    • All integers outside the range [-2^{63}, 2^{64}-1], as well as floating-point numbers are stored as double. This also concurs with the specification above.

    Zeros

    The JSON number grammar allows for different ways to express zero, and this library will store zeros differently:

    Literal Stored value and type Serialization
    0 std::uint64_t(0) 0
    -0 std::int64_t(0) 0
    0.0 double(0.0) 0.0
    -0.0 double(-0.0) -0.0
    0E0 double(0.0) 0.0
    -0E0 double(-0.0) -0.0

    That is, -0 is stored as a signed integer, but the serialization does not reproduce the -.

    Number serialization

    • Integer numbers are serialized as is; that is, no scientific notation is used.
    • Floating-point numbers are serialized as specified by the %g printf modifier with std::numeric_limits<double>::max_digits10 significant digits. The rationale is to use the shortest representation while still allowing round-tripping.

    Notes regarding precision of floating-point numbers

    As described above, floating-point numbers are rounded to the nearest double and serialized with the shortest representation to allow round-tripping. This can yield confusing examples:

    \ No newline at end of file diff --git a/home/architecture/index.html b/home/architecture/index.html index dacac0293..f82f641be 100644 --- a/home/architecture/index.html +++ b/home/architecture/index.html @@ -1,4 +1,4 @@ - Architecture - JSON for Modern C++

    Architecture

    Info

    This page is still under construction. Its goal is to provide a high-level overview of the library's architecture. This should help new contributors to get an idea of the used concepts and where to make changes.

    Overview

    The main structure is class nlohmann::basic_json.

    • public API
    • container interface
    • iterators

    Template specializations

    Value storage

    Values are stored as a tagged union of value_t and json_value.

    /// the type of the current element
    + Architecture - JSON for Modern C++      

    Architecture

    Info

    This page is still under construction. Its goal is to provide a high-level overview of the library's architecture. This should help new contributors to get an idea of the used concepts and where to make changes.

    Overview

    The main structure is class nlohmann::basic_json.

    • public API
    • container interface
    • iterators

    Template specializations

    Value storage

    Values are stored as a tagged union of value_t and json_value.

    /// the type of the current element
     value_t m_type = value_t::null;
     
     /// the value of the current element
    @@ -52,4 +52,4 @@
     
     template<class T>
     void from_json(const basic_json& j, T& t);
    -

    Additional features

    • JSON Pointers
    • Binary formats
    • Custom base class
    • Conversion macros

    Details namespace

    • C++ feature backports
    \ No newline at end of file +

    Additional features

    • JSON Pointers
    • Binary formats
    • Custom base class
    • Conversion macros

    Details namespace

    • C++ feature backports
    \ No newline at end of file diff --git a/home/customers/index.html b/home/customers/index.html index 82f1e28a5..b35b41c88 100644 --- a/home/customers/index.html +++ b/home/customers/index.html @@ -1 +1 @@ - Customers - JSON for Modern C++

    Customers

    The library is used in multiple projects, applications, operating systems, etc. The list below is not exhaustive, but the result of an internet search. If you know further customers of the library, please let me know.

    Space Exploration

    • Peregrine Lunar Lander Flight 01 - The library was used for payload management in the Peregrine Moon Lander, developed by Astrobotic Technology and launched as part of NASA's Commercial Lunar Payload Services (CLPS) program. After six days in orbit, the spacecraft was intentionally redirected into Earth's atmosphere, where it burned up over the Pacific Ocean on January 18, 2024.

    Automotive

    Gaming and Entertainment

    • Assassin's Creed: Mirage, a stealth-action game set in the Middle East, focusing on the journey of a young assassin with classic parkour and stealth mechanics
    • Chasm: The Rift, a first-person shooter blending horror and adventure, where players navigate dark realms and battle monsters
    • College Football 25, a college football simulation game featuring gameplay that mimics real-life college teams and competitions
    • Concepts, a digital sketching app designed for creative professionals, offering flexible drawing tools for illustration, design, and brainstorming
    • Depthkit, a tool for creating and capturing volumetric video, enabling immersive 3D experiences and interactive content
    • IMG.LY, a platform offering creative tools and SDKs for integrating advanced image and video editing in applications
    • LOOT, a tool for optimizing the load order of game plugins, commonly used in The Elder Scrolls and Fallout series
    • Madden NFL 25, a sports simulation game capturing the excitement of American football with realistic gameplay and team management features
    • Marne, an unofficial private server platform for hosting custom Battlefield 1 game experiences
    • Minecraft, a popular sandbox video game
    • NHL 22, a hockey simulation game offering realistic gameplay, team management, and various modes to enhance the hockey experience
    • Pixelpart, a 2D animation and video compositing software that allows users to create animated graphics and visual effects with a focus on simplicity and ease of use
    • Razer Cortex, a gaming performance optimizer and system booster designed to enhance the gaming experience
    • Red Dead Redemption II, an open-world action-adventure game following an outlaw's story in the late 1800s, emphasizing deep storytelling and immersive gameplay
    • Snapchat, a multimedia messaging and augmented reality app for communication and entertainment
    • Tactics Ogre: Reborn, a tactical role-playing game featuring strategic battles and deep storytelling elements
    • Throne and Liberty, an MMORPG that offers an expansive fantasy world with dynamic gameplay and immersive storytelling
    • Unity Vivox, a communication service that enables voice and text chat functionality in multiplayer games developed with Unity
    • Zool: Redimensioned, a modern reimagining of the classic platformer featuring fast-paced gameplay and vibrant environments
    • immersivetech, a technology company focused on immersive experiences, providing tools and solutions for virtual and augmented reality applications

    Consumer Electronics

    • Audinate, a provider of networked audio solutions specializing in Dante technology, which facilitates high-quality digital audio transport over IP networks
    • Canon CanoScan LIDE, a series of flatbed scanners offering high-resolution image scanning for home and office use
    • Canon PIXMA Printers, a line of all-in-one inkjet printers known for high-quality printing and wireless connectivity
    • Cisco Webex Desk Camera, a video camera designed for professional-quality video conferencing and remote collaboration
    • Philips Hue Personal Wireless Lighting, a smart lighting system for customizable and wireless home illumination
    • Ray-Ban Meta Smart glasses, a pair of smart glasses designed for capturing photos and videos with integrated connectivity and social features
    • Razer Synapse, a unified configuration software enabling hardware customization for Razer devices
    • Siemens SINEMA Remote Connect, a remote connectivity solution for monitoring and managing industrial networks and devices securely
    • Sony PlayStation 4, a gaming console developed by Sony that offers a wide range of games and multimedia entertainment features
    • Sony Virtual Webcam Driver for Remote Camera, a software driver that enables the use of Sony cameras as virtual webcams for video conferencing and streaming

    Operating Systems

    • Apple iOS and macOS, a family of operating systems developed by Apple, including iOS for mobile devices and macOS for desktop computers
    • Google Fuchsia, an open-source operating system developed by Google, designed to be secure, updatable, and adaptable across various devices
    • SerenityOS, an open-source operating system that aims to provide a simple and beautiful user experience with a focus on simplicity and elegance
    • Yocto, a Linux-based build system for creating custom operating systems and software distributions, tailored for embedded devices and IoT applications

    Development Tools and IDEs

    • Accentize SpectralBalance, an adaptive speech analysis tool designed to enhance audio quality by optimizing frequency balance in recordings
    • Arm Compiler for Linux, a software development toolchain for compiling and optimizing applications on Arm-based Linux systems
    • BBEdit, a professional text and code editor for macOS
    • CoderPad, a collaborative coding platform that enables real-time code interviews and assessments for developers; the library is included in every CoderPad instance and can be accessed with a simple #include "json.hpp"
    • Compiler Explorer, a web-based tool that allows users to write, compile, and visualize the assembly output of code in various programming languages; the library is readily available and accessible with the directive #include <nlohmann/json.hpp>.
    • GitHub CodeQL, a code analysis tool used for identifying security vulnerabilities and bugs in software through semantic queries
    • Hex-Rays, a reverse engineering toolset for analyzing and decompiling binaries, primarily used for security research and vulnerability analysis
    • ImHex, a hex editor designed for reverse engineering, providing advanced features for data analysis and manipulation
    • Intel GPA Framework, a suite of cross-platform tools for capturing, analyzing, and optimizing graphics applications across different APIs
    • Intopix, a provider of advanced image processing and compression solutions used in software development and AV workflows
    • MKVToolNix, a set of tools for creating, editing, and inspecting MKV (Matroska) multimedia container files
    • Meta Yoga, a layout engine that facilitates flexible and efficient user interface design across multiple platforms
    • NVIDIA Nsight Compute, a performance analysis tool for CUDA applications that provides detailed insights into GPU performance metrics
    • Notepad++, a free source code editor that supports various programming languages
    • OpenRGB, an open source RGB lighting control that doesn't depend on manufacturer software
    • OpenTelemetry C++, a library for collecting and exporting observability data in C++, enabling developers to implement distributed tracing and metrics in their application
    • Qt Creator, an IDE for developing applications using the Qt application framework
    • Scanbot SDK, a software development kit (SDK) that provides tools for integrating advanced document scanning and barcode scanning capabilities into applications

    Machine Learning and AI

    • Apple Core ML Tools, a set of tools for converting and configuring machine learning models for deployment in Apple's Core ML framework
    • Avular Mobile Robotics, a platform for developing and deploying mobile robotics solutions
    • Google gemma.cpp, a lightweight C++ inference engine designed for running AI models from the Gemma family
    • llama.cpp, a C++ library designed for efficient inference of large language models (LLMs), enabling streamlined integration into applications
    • MLX, an array framework for machine learning on Apple Silicon
    • Mozilla llamafile, a tool designed for distributing and executing large language models (LLMs) efficiently using a single file format
    • NVIDIA ACE, a suite of real-time AI solutions designed for the development of interactive avatars and digital human applications, enabling scalable and sophisticated user interactions
    • Peer, a platform offering personalized AI assistants for interactive learning and creative collaboration
    • stable-diffusion.cpp, a C++ implementation of the Stable Diffusion image generation model
    • TanvasTouch, a software development kit (SDK) that enables developers to create tactile experiences on touchscreens, allowing users to feel textures and physical sensations in a digital environment
    • TensorFlow, a machine learning framework that facilitates the development and training of models, supporting data serialization and efficient data exchange between components

    Scientific Research and Analysis

    • BLACK, a bounded linear temporal logic (LTL) satisfiability checker
    • CERN Atlas Athena, a software framework used in the ATLAS experiment at the Large Hadron Collider (LHC) for performance monitoring
    • ICU, the International Components for Unicode, a mature library for software globalization and multilingual support
    • KAMERA, a platform for synchronized data collection and real-time deep learning to map marine species like polar bears and seals, aiding Arctic ecosystem research
    • KiCad, a free and open-source software suite for electronic design automation
    • Maple, a symbolic and numeric computing environment for advanced mathematical modeling and analysis
    • MeVisLab, a software framework for medical image processing and visualization.
    • OpenPMD API, a versatile programming interface for accessing and managing scientific data, designed to facilitate the efficient storage, retrieval, and sharing of simulation data across various applications and platforms
    • ParaView, an open-source tool for large-scale data visualization and analysis across various scientific domains
    • QGIS, a free and open-source geographic information system (GIS) application that allows users to create, edit, visualize, and analyze geospatial data across a variety of formats
    • VTK, a software library for 3D computer graphics, image processing, and visualization
    • VolView, a lightweight application for interactive visualization and analysis of 3D medical imaging data.

    Business and Productivity Software

    • ArcGIS PRO, a desktop geographic information system (GIS) application developed by Esri for mapping and spatial analysis
    • Autodesk Desktop, a software platform developed by Autodesk for creating and managing desktop applications and services
    • Check Point, a cybersecurity company specializing in threat prevention and network security solutions, offering a range of products designed to protect enterprises from cyber threats and ensure data integrity
    • Microsoft Office for Mac, a suite of productivity applications developed by Microsoft for macOS, including tools for word processing, spreadsheets, and presentations
    • Microsoft Teams, a team collaboration application offering workspace chat and video conferencing, file storage, and integration of proprietary and third-party applications and services
    • Nexthink Infinity, a digital employee experience management platform for monitoring and improving IT performance
    • Sophos Connect Client, a secure VPN client from Sophos that allows remote users to connect to their corporate network, ensuring secure access to resources and data
    • Stonebranch, a cloud-based cybersecurity solution that integrates backup, disaster recovery, and cybersecurity features to protect data and ensure business continuity for organizations
    • Tablecruncher, a data analysis tool that allows users to import, analyze, and visualize spreadsheet data, offering interactive features for better insights and decision-making
    • magicplan, a mobile application for creating floor plans and interior designs using augmented reality

    Databases and Big Data

    • ADIOS2, a data management framework designed for high-performance input and output operations
    • Cribl Stream, a real-time data processing platform that enables organizations to collect, route, and transform observability data, enhancing visibility and insights into their systems
    • DB Browser for SQLite, a visual open-source tool for creating, designing, and editing SQLite database files
    • MySQL Connector/C++, a C++ library for connecting and interacting with MySQL databases
    • MySQL NDB Cluster, a distributed database system that provides high availability and scalability for MySQL databases
    • MySQL Shell, an advanced client and code editor for interacting with MySQL servers, supporting SQL, Python, and JavaScript
    • PrestoDB, a distributed SQL query engine designed for large-scale data analytics, originally developed by Facebook
    • ROOT Data Analysis Framework, an open-source data analysis framework widely used in high-energy physics and other fields for data processing and visualization
    • WiredTiger, a high-performance storage engine for databases, offering support for compression, concurrency, and checkpointing

    Simulation and Modeling

    • Arcturus HoloSuite, a software toolset for capturing, editing, and streaming volumetric video, featuring advanced compression technologies for high-quality 3D content creation
    • azul, a fast and efficient 3D city model viewer designed for visualizing urban environments and spatial data
    • Blender, a free and open-source 3D creation suite for modeling, animation, rendering, and more
    • cpplot, a library for creating interactive graphs and charts in C++, which can be viewed in web browsers
    • Foundry Nuke, a powerful node-based digital compositing and visual effects application used in film and television post-production
    • GAMS, a high-performance mathematical modeling system for optimization and decision support
    • Kitware SMTK, a software toolkit for managing simulation models and workflows in scientific and engineering applications
    • M-Star, a computational fluid dynamics software for simulating and analyzing fluid flow
    • MapleSim CAD Toolbox, a software extension for MapleSim that integrates CAD models, allowing users to import, manipulate, and analyze 3D CAD data within the MapleSim environment for enhanced modeling and simulation
    • NVIDIA Omniverse, a platform for 3D content creation and collaboration that enables real-time simulations and interactive experiences across various industries
    • Pixar Renderman, a photorealistic 3D rendering software developed by Pixar, widely used in the film industry for creating high-quality visual effects and animations
    • ROS - Robot Operating System, a set of software libraries and tools that assist in developing robot applications
    • UBS, a multinational financial services and banking company

    Enterprise and Cloud Applications

    • Acronis Cyber Protect Cloud, an all-in-one data protection solution that combines backup, disaster recovery, and cybersecurity to safeguard business data from threats like ransomware
    • Baereos, a backup solution that provides data protection and recovery options for various environments, including physical and virtual systems
    • Bitdefender Home Scanner, a tool from Bitdefender that scans devices for malware and security threats, providing a safeguard against potential online dangers
    • Citrix Provisioning, a solution that streamlines the delivery of virtual desktops and applications by allowing administrators to manage and provision resources efficiently across multiple environments
    • Citrix Virtual Apps and Desktops, a solution from Citrix that delivers virtual apps and desktops
    • Cyberarc, a security solution that specializes in privileged access management, enabling organizations to control and monitor access to critical systems and data, thereby enhancing overall cybersecurity posture
    • Egnyte Desktop, a secure cloud storage solution designed for businesses, enabling file sharing, collaboration, and data management across teams while ensuring compliance and data protection
    • Elster, a digital platform developed by German tax authorities for secure and efficient electronic tax filing and management using secunet protect4use
    • Ethereum Solidity, a high-level, object-oriented programming language designed for implementing smart contracts on the Ethereum platform
    • Inciga, a monitoring tool for IT infrastructure, designed to provide insights into system performance and availability through customizable dashboards and alerts
    • Intel Accelerator Management Daemon for VMware ESXi, a management tool designed for monitoring and controlling Intel hardware accelerators within VMware ESXi environments, optimizing performance and resource allocation
    • Juniper Identity Management Service
    • Microsoft Azure IoT SDK, a collection of tools and libraries to help developers connect, build, and deploy Internet of Things (IoT) solutions on the Azure cloud platform
    • Microsoft WinGet, a command-line utility included in the Windows Package Manager
    • plexusAV, a high-performance AV-over-IP transceiver device capable of video encoding and decoding using the IPMX standard
    • Pointr, a platform for indoor positioning and navigation solutions, offering tools and SDKs for developers to create location-based applications
    • secunet protect4use, a secure, passwordless multifactor authentication solution that transforms smartphones into digital keyrings, ensuring high security for online services and digital identities
    • Sencore MRD 7000, a professional multi-channel receiver and decoder supporting UHD and HD stream decoding
    \ No newline at end of file + Customers - JSON for Modern C++

    Customers

    The library is used in multiple projects, applications, operating systems, etc. The list below is not exhaustive, but the result of an internet search. If you know further customers of the library, please let me know.

    Space Exploration

    • Peregrine Lunar Lander Flight 01 - The library was used for payload management in the Peregrine Moon Lander, developed by Astrobotic Technology and launched as part of NASA's Commercial Lunar Payload Services (CLPS) program. After six days in orbit, the spacecraft was intentionally redirected into Earth's atmosphere, where it burned up over the Pacific Ocean on January 18, 2024.

    Automotive

    Gaming and Entertainment

    • Assassin's Creed: Mirage, a stealth-action game set in the Middle East, focusing on the journey of a young assassin with classic parkour and stealth mechanics
    • Chasm: The Rift, a first-person shooter blending horror and adventure, where players navigate dark realms and battle monsters
    • College Football 25, a college football simulation game featuring gameplay that mimics real-life college teams and competitions
    • Concepts, a digital sketching app designed for creative professionals, offering flexible drawing tools for illustration, design, and brainstorming
    • Depthkit, a tool for creating and capturing volumetric video, enabling immersive 3D experiences and interactive content
    • IMG.LY, a platform offering creative tools and SDKs for integrating advanced image and video editing in applications
    • LOOT, a tool for optimizing the load order of game plugins, commonly used in The Elder Scrolls and Fallout series
    • Madden NFL 25, a sports simulation game capturing the excitement of American football with realistic gameplay and team management features
    • Marne, an unofficial private server platform for hosting custom Battlefield 1 game experiences
    • Minecraft, a popular sandbox video game
    • NHL 22, a hockey simulation game offering realistic gameplay, team management, and various modes to enhance the hockey experience
    • Pixelpart, a 2D animation and video compositing software that allows users to create animated graphics and visual effects with a focus on simplicity and ease of use
    • Razer Cortex, a gaming performance optimizer and system booster designed to enhance the gaming experience
    • Red Dead Redemption II, an open-world action-adventure game following an outlaw's story in the late 1800s, emphasizing deep storytelling and immersive gameplay
    • Snapchat, a multimedia messaging and augmented reality app for communication and entertainment
    • Tactics Ogre: Reborn, a tactical role-playing game featuring strategic battles and deep storytelling elements
    • Throne and Liberty, an MMORPG that offers an expansive fantasy world with dynamic gameplay and immersive storytelling
    • Unity Vivox, a communication service that enables voice and text chat functionality in multiplayer games developed with Unity
    • Zool: Redimensioned, a modern reimagining of the classic platformer featuring fast-paced gameplay and vibrant environments
    • immersivetech, a technology company focused on immersive experiences, providing tools and solutions for virtual and augmented reality applications

    Consumer Electronics

    • Audinate, a provider of networked audio solutions specializing in Dante technology, which facilitates high-quality digital audio transport over IP networks
    • Canon CanoScan LIDE, a series of flatbed scanners offering high-resolution image scanning for home and office use
    • Canon PIXMA Printers, a line of all-in-one inkjet printers known for high-quality printing and wireless connectivity
    • Cisco Webex Desk Camera, a video camera designed for professional-quality video conferencing and remote collaboration
    • Philips Hue Personal Wireless Lighting, a smart lighting system for customizable and wireless home illumination
    • Ray-Ban Meta Smart glasses, a pair of smart glasses designed for capturing photos and videos with integrated connectivity and social features
    • Razer Synapse, a unified configuration software enabling hardware customization for Razer devices
    • Siemens SINEMA Remote Connect, a remote connectivity solution for monitoring and managing industrial networks and devices securely
    • Sony PlayStation 4, a gaming console developed by Sony that offers a wide range of games and multimedia entertainment features
    • Sony Virtual Webcam Driver for Remote Camera, a software driver that enables the use of Sony cameras as virtual webcams for video conferencing and streaming

    Operating Systems

    • Apple iOS and macOS, a family of operating systems developed by Apple, including iOS for mobile devices and macOS for desktop computers
    • Google Fuchsia, an open-source operating system developed by Google, designed to be secure, updatable, and adaptable across various devices
    • SerenityOS, an open-source operating system that aims to provide a simple and beautiful user experience with a focus on simplicity and elegance
    • Yocto, a Linux-based build system for creating custom operating systems and software distributions, tailored for embedded devices and IoT applications

    Development Tools and IDEs

    • Accentize SpectralBalance, an adaptive speech analysis tool designed to enhance audio quality by optimizing frequency balance in recordings
    • Arm Compiler for Linux, a software development toolchain for compiling and optimizing applications on Arm-based Linux systems
    • BBEdit, a professional text and code editor for macOS
    • CoderPad, a collaborative coding platform that enables real-time code interviews and assessments for developers; the library is included in every CoderPad instance and can be accessed with a simple #include "json.hpp"
    • Compiler Explorer, a web-based tool that allows users to write, compile, and visualize the assembly output of code in various programming languages; the library is readily available and accessible with the directive #include <nlohmann/json.hpp>.
    • GitHub CodeQL, a code analysis tool used for identifying security vulnerabilities and bugs in software through semantic queries
    • Hex-Rays, a reverse engineering toolset for analyzing and decompiling binaries, primarily used for security research and vulnerability analysis
    • ImHex, a hex editor designed for reverse engineering, providing advanced features for data analysis and manipulation
    • Intel GPA Framework, a suite of cross-platform tools for capturing, analyzing, and optimizing graphics applications across different APIs
    • Intopix, a provider of advanced image processing and compression solutions used in software development and AV workflows
    • MKVToolNix, a set of tools for creating, editing, and inspecting MKV (Matroska) multimedia container files
    • Meta Yoga, a layout engine that facilitates flexible and efficient user interface design across multiple platforms
    • NVIDIA Nsight Compute, a performance analysis tool for CUDA applications that provides detailed insights into GPU performance metrics
    • Notepad++, a free source code editor that supports various programming languages
    • OpenRGB, an open source RGB lighting control that doesn't depend on manufacturer software
    • OpenTelemetry C++, a library for collecting and exporting observability data in C++, enabling developers to implement distributed tracing and metrics in their application
    • Qt Creator, an IDE for developing applications using the Qt application framework
    • Scanbot SDK, a software development kit (SDK) that provides tools for integrating advanced document scanning and barcode scanning capabilities into applications

    Machine Learning and AI

    • Apple Core ML Tools, a set of tools for converting and configuring machine learning models for deployment in Apple's Core ML framework
    • Avular Mobile Robotics, a platform for developing and deploying mobile robotics solutions
    • Google gemma.cpp, a lightweight C++ inference engine designed for running AI models from the Gemma family
    • llama.cpp, a C++ library designed for efficient inference of large language models (LLMs), enabling streamlined integration into applications
    • MLX, an array framework for machine learning on Apple Silicon
    • Mozilla llamafile, a tool designed for distributing and executing large language models (LLMs) efficiently using a single file format
    • NVIDIA ACE, a suite of real-time AI solutions designed for the development of interactive avatars and digital human applications, enabling scalable and sophisticated user interactions
    • Peer, a platform offering personalized AI assistants for interactive learning and creative collaboration
    • stable-diffusion.cpp, a C++ implementation of the Stable Diffusion image generation model
    • TanvasTouch, a software development kit (SDK) that enables developers to create tactile experiences on touchscreens, allowing users to feel textures and physical sensations in a digital environment
    • TensorFlow, a machine learning framework that facilitates the development and training of models, supporting data serialization and efficient data exchange between components

    Scientific Research and Analysis

    • BLACK, a bounded linear temporal logic (LTL) satisfiability checker
    • CERN Atlas Athena, a software framework used in the ATLAS experiment at the Large Hadron Collider (LHC) for performance monitoring
    • ICU, the International Components for Unicode, a mature library for software globalization and multilingual support
    • KAMERA, a platform for synchronized data collection and real-time deep learning to map marine species like polar bears and seals, aiding Arctic ecosystem research
    • KiCad, a free and open-source software suite for electronic design automation
    • Maple, a symbolic and numeric computing environment for advanced mathematical modeling and analysis
    • MeVisLab, a software framework for medical image processing and visualization.
    • OpenPMD API, a versatile programming interface for accessing and managing scientific data, designed to facilitate the efficient storage, retrieval, and sharing of simulation data across various applications and platforms
    • ParaView, an open-source tool for large-scale data visualization and analysis across various scientific domains
    • QGIS, a free and open-source geographic information system (GIS) application that allows users to create, edit, visualize, and analyze geospatial data across a variety of formats
    • VTK, a software library for 3D computer graphics, image processing, and visualization
    • VolView, a lightweight application for interactive visualization and analysis of 3D medical imaging data.

    Business and Productivity Software

    • ArcGIS PRO, a desktop geographic information system (GIS) application developed by Esri for mapping and spatial analysis
    • Autodesk Desktop, a software platform developed by Autodesk for creating and managing desktop applications and services
    • Check Point, a cybersecurity company specializing in threat prevention and network security solutions, offering a range of products designed to protect enterprises from cyber threats and ensure data integrity
    • Microsoft Office for Mac, a suite of productivity applications developed by Microsoft for macOS, including tools for word processing, spreadsheets, and presentations
    • Microsoft Teams, a team collaboration application offering workspace chat and video conferencing, file storage, and integration of proprietary and third-party applications and services
    • Nexthink Infinity, a digital employee experience management platform for monitoring and improving IT performance
    • Sophos Connect Client, a secure VPN client from Sophos that allows remote users to connect to their corporate network, ensuring secure access to resources and data
    • Stonebranch, a cloud-based cybersecurity solution that integrates backup, disaster recovery, and cybersecurity features to protect data and ensure business continuity for organizations
    • Tablecruncher, a data analysis tool that allows users to import, analyze, and visualize spreadsheet data, offering interactive features for better insights and decision-making
    • magicplan, a mobile application for creating floor plans and interior designs using augmented reality

    Databases and Big Data

    • ADIOS2, a data management framework designed for high-performance input and output operations
    • Cribl Stream, a real-time data processing platform that enables organizations to collect, route, and transform observability data, enhancing visibility and insights into their systems
    • DB Browser for SQLite, a visual open-source tool for creating, designing, and editing SQLite database files
    • MySQL Connector/C++, a C++ library for connecting and interacting with MySQL databases
    • MySQL NDB Cluster, a distributed database system that provides high availability and scalability for MySQL databases
    • MySQL Shell, an advanced client and code editor for interacting with MySQL servers, supporting SQL, Python, and JavaScript
    • PrestoDB, a distributed SQL query engine designed for large-scale data analytics, originally developed by Facebook
    • ROOT Data Analysis Framework, an open-source data analysis framework widely used in high-energy physics and other fields for data processing and visualization
    • WiredTiger, a high-performance storage engine for databases, offering support for compression, concurrency, and checkpointing

    Simulation and Modeling

    • Arcturus HoloSuite, a software toolset for capturing, editing, and streaming volumetric video, featuring advanced compression technologies for high-quality 3D content creation
    • azul, a fast and efficient 3D city model viewer designed for visualizing urban environments and spatial data
    • Blender, a free and open-source 3D creation suite for modeling, animation, rendering, and more
    • cpplot, a library for creating interactive graphs and charts in C++, which can be viewed in web browsers
    • Foundry Nuke, a powerful node-based digital compositing and visual effects application used in film and television post-production
    • GAMS, a high-performance mathematical modeling system for optimization and decision support
    • Kitware SMTK, a software toolkit for managing simulation models and workflows in scientific and engineering applications
    • M-Star, a computational fluid dynamics software for simulating and analyzing fluid flow
    • MapleSim CAD Toolbox, a software extension for MapleSim that integrates CAD models, allowing users to import, manipulate, and analyze 3D CAD data within the MapleSim environment for enhanced modeling and simulation
    • NVIDIA Omniverse, a platform for 3D content creation and collaboration that enables real-time simulations and interactive experiences across various industries
    • Pixar Renderman, a photorealistic 3D rendering software developed by Pixar, widely used in the film industry for creating high-quality visual effects and animations
    • ROS - Robot Operating System, a set of software libraries and tools that assist in developing robot applications
    • UBS, a multinational financial services and banking company

    Enterprise and Cloud Applications

    • Acronis Cyber Protect Cloud, an all-in-one data protection solution that combines backup, disaster recovery, and cybersecurity to safeguard business data from threats like ransomware
    • Baereos, a backup solution that provides data protection and recovery options for various environments, including physical and virtual systems
    • Bitdefender Home Scanner, a tool from Bitdefender that scans devices for malware and security threats, providing a safeguard against potential online dangers
    • Citrix Provisioning, a solution that streamlines the delivery of virtual desktops and applications by allowing administrators to manage and provision resources efficiently across multiple environments
    • Citrix Virtual Apps and Desktops, a solution from Citrix that delivers virtual apps and desktops
    • Cyberarc, a security solution that specializes in privileged access management, enabling organizations to control and monitor access to critical systems and data, thereby enhancing overall cybersecurity posture
    • Egnyte Desktop, a secure cloud storage solution designed for businesses, enabling file sharing, collaboration, and data management across teams while ensuring compliance and data protection
    • Elster, a digital platform developed by German tax authorities for secure and efficient electronic tax filing and management using secunet protect4use
    • Ethereum Solidity, a high-level, object-oriented programming language designed for implementing smart contracts on the Ethereum platform
    • Inciga, a monitoring tool for IT infrastructure, designed to provide insights into system performance and availability through customizable dashboards and alerts
    • Intel Accelerator Management Daemon for VMware ESXi, a management tool designed for monitoring and controlling Intel hardware accelerators within VMware ESXi environments, optimizing performance and resource allocation
    • Juniper Identity Management Service
    • Microsoft Azure IoT SDK, a collection of tools and libraries to help developers connect, build, and deploy Internet of Things (IoT) solutions on the Azure cloud platform
    • Microsoft WinGet, a command-line utility included in the Windows Package Manager
    • plexusAV, a high-performance AV-over-IP transceiver device capable of video encoding and decoding using the IPMX standard
    • Pointr, a platform for indoor positioning and navigation solutions, offering tools and SDKs for developers to create location-based applications
    • secunet protect4use, a secure, passwordless multifactor authentication solution that transforms smartphones into digital keyrings, ensuring high security for online services and digital identities
    • Sencore MRD 7000, a professional multi-channel receiver and decoder supporting UHD and HD stream decoding
    \ No newline at end of file diff --git a/home/design_goals/index.html b/home/design_goals/index.html index 02076b686..8df030b8c 100644 --- a/home/design_goals/index.html +++ b/home/design_goals/index.html @@ -1 +1 @@ - Design goals - JSON for Modern C++

    Design goals

    There are myriads of JSON libraries out there, and each may even have its reason to exist. Our class had these design goals:

    • Intuitive syntax. In languages such as Python, JSON feels like a first-class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code.

    • Trivial integration. Our whole code consists of a single header file json.hpp. That's it. No library, no subproject, no dependencies, no complex build system. The class is written in vanilla C++11. All in all, everything should require no adjustment of your compiler flags or project settings.

    • Serious testing. Our class is heavily unit-tested and covers 100% of the code, including all exceptional behavior. Furthermore, we checked with Valgrind and the Clang Sanitizers that there are no memory leaks. Google OSS-Fuzz additionally runs fuzz tests against all parsers 24/7, effectively executing billions of tests so far. To maintain high quality, the project is following the Core Infrastructure Initiative (CII) best practices.

    Other aspects were not so important to us:

    • Memory efficiency. Each JSON object has an overhead of one pointer (the maximal size of a union) and one enumeration element (1 byte). The default generalization uses the following C++ data types: std::string for strings, int64_t, uint64_t or double for numbers, std::map for objects, std::vector for arrays, and bool for Booleans. However, you can template the generalized class basic_json to your needs.

    • Speed. There are certainly faster JSON libraries out there. However, if your goal is to speed up your development by adding JSON support with a single header, then this library is the way to go. If you know how to use a std::vector or std::map, you are already set.

    See the contribution guidelines for more information.

    \ No newline at end of file + Design goals - JSON for Modern C++

    Design goals

    There are myriads of JSON libraries out there, and each may even have its reason to exist. Our class had these design goals:

    • Intuitive syntax. In languages such as Python, JSON feels like a first-class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code.

    • Trivial integration. Our whole code consists of a single header file json.hpp. That's it. No library, no subproject, no dependencies, no complex build system. The class is written in vanilla C++11. All in all, everything should require no adjustment of your compiler flags or project settings.

    • Serious testing. Our class is heavily unit-tested and covers 100% of the code, including all exceptional behavior. Furthermore, we checked with Valgrind and the Clang Sanitizers that there are no memory leaks. Google OSS-Fuzz additionally runs fuzz tests against all parsers 24/7, effectively executing billions of tests so far. To maintain high quality, the project is following the Core Infrastructure Initiative (CII) best practices.

    Other aspects were not so important to us:

    • Memory efficiency. Each JSON object has an overhead of one pointer (the maximal size of a union) and one enumeration element (1 byte). The default generalization uses the following C++ data types: std::string for strings, int64_t, uint64_t or double for numbers, std::map for objects, std::vector for arrays, and bool for Booleans. However, you can template the generalized class basic_json to your needs.

    • Speed. There are certainly faster JSON libraries out there. However, if your goal is to speed up your development by adding JSON support with a single header, then this library is the way to go. If you know how to use a std::vector or std::map, you are already set.

    See the contribution guidelines for more information.

    \ No newline at end of file diff --git a/home/exceptions/index.html b/home/exceptions/index.html index 748d4ddf0..239552240 100644 --- a/home/exceptions/index.html +++ b/home/exceptions/index.html @@ -1,4 +1,4 @@ - Exceptions - JSON for Modern C++

    Exceptions

    Overview

    Base type

    All exceptions inherit from class json::exception (which in turn inherits from std::exception). It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.

    classDiagram
    + Exceptions - JSON for Modern C++      

    Exceptions

    Overview

    Base type

    All exceptions inherit from class json::exception (which in turn inherits from std::exception). It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.

    classDiagram
       direction LR
         class `std::exception` {
             <<interface>>
    @@ -281,4 +281,4 @@ exception id: 401
     exception id: 501
     

    json.exception.other_error.501

    A JSON Patch operation 'test' failed. The unsuccessful operation is also printed.

    Example message

    Executing {"op":"test", "path":"/baz", "value":"bar"} on {"baz": "qux"}:

    [json.exception.other_error.501] unsuccessful: {"op":"test","path":"/baz","value":"bar"}
     

    json.exception.other_error.502

    This exception is thrown when a null pointer is passed as SAX event listener to the sax_parse function.

    Example message

    [json.exception.other_error.502] SAX handler must not be null
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/home/faq/index.html b/home/faq/index.html index 67e7a1f8d..0322c080a 100644 --- a/home/faq/index.html +++ b/home/faq/index.html @@ -1,4 +1,4 @@ - FAQ - JSON for Modern C++

    Frequently Asked Questions (FAQ)

    Known bugs

    Brace initialization yields arrays

    Question

    Why does

    json j{true};
    + FAQ - JSON for Modern C++      

    Frequently Asked Questions (FAQ)

    Known bugs

    Brace initialization yields arrays

    Question

    Why does

    json j{true};
     

    and

    json j(true);
     

    yield different results ([true] vs. true)?

    This is a known issue, and -- even worse -- the behavior differs between GCC and Clang. The "culprit" for this is the library's constructor overloads for initializer lists to allow syntax like

    json array = {1, 2, 3, 4};
     

    for arrays and

    json object = {{"one", 1}, {"two", 2}}; 
    @@ -26,4 +26,4 @@
     

    Exceptions

    Parsing without exceptions

    Question

    Is it possible to indicate a parse error without throwing an exception?

    Yes, see Parsing and exceptions.

    Key name in exceptions

    Question

    Can I get the key of the object item that caused an exception?

    Yes, you can. Please define the symbol JSON_DIAGNOSTICS to get extended diagnostics messages.

    Serialization issues

    Number precision

    Question

    • It seems that precision is lost when serializing a double.
    • Can I change the precision for floating-point serialization?

    The library uses std::numeric_limits<number_float_t>::digits10 (15 for IEEE doubles) digits for serialization. This value is sufficient to guarantee roundtripping. If one uses more than this number of digits of precision, then string -> value -> string is not guaranteed to round-trip.

    cppreference.com

    The value of std::numeric_limits<T>::digits10 is the number of base-10 digits that can be represented by the type T without change, that is, any number with this many significant decimal digits can be converted to a value of type T and back to decimal form, without change due to rounding or overflow.

    Tip

    The website https://float.exposed gives a good insight into the internal storage of floating-point numbers.

    See this section on the library's number handling for more information.

    Compilation issues

    Android SDK

    Question

    Why does the code not compile with Android SDK?

    Android defaults to using very old compilers and C++ libraries. To fix this, add the following to your Application.mk. This will switch to the LLVM C++ library, the Clang compiler, and enable C++11 and other features disabled by default.

    APP_STL := c++_shared
     NDK_TOOLCHAIN_VERSION := clang3.6
     APP_CPPFLAGS += -frtti -fexceptions
    -

    The code compiles successfully with Android NDK, Revision 9 - 11 (and possibly later) and CrystaX's Android NDK version 10.

    Missing STL function

    Questions

    • Why do I get a compilation error 'to_string' is not a member of 'std' (or similarly, for strtod or strtof)?
    • Why does the code not compile with MinGW or Android SDK?

    This is not an issue with the code, but rather with the compiler itself. On Android, see above to build with a newer environment. For MinGW, please refer to this site and this discussion for information on how to fix this bug. For Android NDK using APP_STL := gnustl_static, please refer to this discussion.

    \ No newline at end of file +

    The code compiles successfully with Android NDK, Revision 9 - 11 (and possibly later) and CrystaX's Android NDK version 10.

    Missing STL function

    Questions

    • Why do I get a compilation error 'to_string' is not a member of 'std' (or similarly, for strtod or strtof)?
    • Why does the code not compile with MinGW or Android SDK?

    This is not an issue with the code, but rather with the compiler itself. On Android, see above to build with a newer environment. For MinGW, please refer to this site and this discussion for information on how to fix this bug. For Android NDK using APP_STL := gnustl_static, please refer to this discussion.

    \ No newline at end of file diff --git a/home/license/index.html b/home/license/index.html index 0efeb7a85..c5a20cd38 100644 --- a/home/license/index.html +++ b/home/license/index.html @@ -1 +1 @@ - License - JSON for Modern C++

    License

    The class is licensed under the MIT License:

    Copyright © 2013-2026 Niels Lohmann

    Permission 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:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE 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.


    The class contains the UTF-8 Decoder from Bjoern Hoehrmann which is licensed under the MIT License (see above). Copyright © 2008-2009 Björn Hoehrmann bjoern@hoehrmann.de

    The class contains a slightly modified version of the Grisu2 algorithm from Florian Loitsch which is licensed under the MIT License (see above). Copyright © 2009 Florian Loitsch

    The class contains a copy of Hedley from Evan Nemerson which is licensed as CC0-1.0.

    \ No newline at end of file + License - JSON for Modern C++

    License

    The class is licensed under the MIT License:

    Copyright © 2013-2026 Niels Lohmann

    Permission 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:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE 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.


    The class contains the UTF-8 Decoder from Bjoern Hoehrmann which is licensed under the MIT License (see above). Copyright © 2008-2009 Björn Hoehrmann bjoern@hoehrmann.de

    The class contains a slightly modified version of the Grisu2 algorithm from Florian Loitsch which is licensed under the MIT License (see above). Copyright © 2009 Florian Loitsch

    The class contains a copy of Hedley from Evan Nemerson which is licensed as CC0-1.0.

    \ No newline at end of file diff --git a/home/releases/index.html b/home/releases/index.html index 7bdc3b3fa..60b64e5bf 100644 --- a/home/releases/index.html +++ b/home/releases/index.html @@ -1,4 +1,4 @@ - Releases - JSON for Modern C++

    Releases

    v3.7.3

    Files

    Release date: 2019-11-17 SHA-256: 3b5d2b8f8282b80557091514d8ab97e27f9574336c804ee666fda673a9b59926 (json.hpp), 87b5884741427220d3a33df1363ae0e8b898099fbc59f1c451113f6732891014 (include.zip)

    Summary

    This release fixes a bug introduced in release 3.7.2 which could yield quadratic complexity in destructor calls. All changes are backward-compatible.

    🐛 Bug Fixes

    • Removed reserve() calls from the destructor which could lead to quadratic complexity. #1837 #1838

    🔥 Deprecated functions

    This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

    v3.7.2

    Files

    Release date: 2019-11-10 SHA-256: 0a65fcbbe1b334d3f45c9498e5ee28c3f3b2428aea98557da4a3ff12f0f14ad6 (json.hpp), 67f69c9a93b7fa0612dc1b6273119d2c560317333581845f358aaa68bff8f087 (include.zip)

    Summary

    Project bad_json_parsers tested how JSON parser libraries react on deeply nested inputs. It turns out that this library segfaulted at a certain nesting depth. This bug was fixed with this release. Now the parsing is only bounded by the available memory. All changes are backward-compatible.

    🐛 Bug Fixes

    • Fixed a bug that lead to stack overflow for deeply nested JSON values (objects, array) by changing the implementation of the destructor from a recursive to an iterative approach. #832, #1419, #1835

    🔨 Further Changes

    • Added WhiteStone Bolt. #1830

    🔥 Deprecated functions

    This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

    v3.7.1

    Files

    Release date: 2019-11-06 SHA-256: b5ba7228f3c22a882d379e93d08eab4349458ee16fbf45291347994eac7dc7ce (json.hpp), 77b9f54b34e7989e6f402afb516f7ff2830df551c3a36973085e2c7a6b1045fe (include.zip)

    Summary

    This release fixes several small bugs in the library. All changes are backward-compatible.

    🐛 Bug Fixes

    • Fixed a segmentation fault when serializing std::int64_t minimum value. #1708 #1722
    • Fixed the contains() function for JSON Pointers. #1727 #1741
    • Fixed too lax SFINAE guard for conversion from std::pair and std::tuple to json. #1805 #1806 #1825 #1826
    • Fixed some regressions detected by UBSAN. Updated CI to use Clang-Tidy 7.1.0. #1716 #1728
    • Fixed integer truncation in iteration_proxy. #1797
    • Updated Hedley to v11 to fix a E2512 error in MSVC. #1799
    • Fixed a compile error in enum deserialization of non non-default-constructible types. #1647 #1821
    • Fixed the conversion from json to std::valarray.

    ⚡ Improvements

    • The items() function can now be used with a custom string type. #1765
    • Made json_pointer::back const. #1764 #1769
    • Meson is part of the release archive. #1672 #1694
    • Improved documentation on the Meson and Spack package manager. #1694 #1720

    🔨 Further Changes

    • Added GitHub Workflow with ubuntu-latest/GCC 7.4.0 as CI step.
    • Added GCC 9 to Travis CI to compile with C++20 support. #1724
    • Added MSVC 2019 to the AppVeyor CI. #1780
    • Added badge to fuzzing status.
    • Fixed some cppcheck warnings. #1760
    • Fixed several typos in the documentation. #1720 #1767 #1803
    • Added documentation on the JSON_THROW_USER, JSON_TRY_USER, and JSON_CATCH_USER macros to control user-defined exception handling.
    • Used GitHub's CODEOWNERS and SECURITY feature.
    • Removed GLOB from CMake files. #1779
    • Updated to Doctest 2.3.5.

    🔥 Deprecated functions

    This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

    v3.7.0

    Files

    Release date: 2019-07-28 SHA-256: a503214947952b69f0062f572cb74c17582a495767446347ce2e452963fc2ca4 (json.hpp), 541c34438fd54182e9cdc68dd20c898d766713ad6d901fb2c6e28ff1f1e7c10d (include.zip)

    Summary

    This release introduces a few convenience functions and performs a lot of house keeping (bug fixes and small improvements). All changes are backward-compatible.

    ✨ New Features

    • Add overload of the contains function to check if a JSON pointer is valid without throwing exceptions, just like its counterpart for object keys. #1600
    • Add a function to_string to allow for generic conversion to strings. #916 #1585
    • Add return value for the emplace_back function, returning a reference to the added element just like C++17 is introducing this for std::vector. #1609
    • Add info how to use the library with the pacman package manager on MSYS2. #1670

    🐛 Bug Fixes

    • Fix an issue where typedefs with certain names yielded a compilation error. #1642 #1643
    • Fix a conversion to std::string_view in the unit tests. #1634 #1639
    • Fix MSVC Debug build. #1536 #1570 #1608
    • Fix get_to method to clear existing content before writing. #1511 #1555
    • Fix a -Wc++17-extensions warning. nodiscard attributes are now only used with Clang when -std=c++17 is used. #1535 #1551

    ⚡ Improvements

    🔨 Further Changes

    • Use GNUInstallDirs to set library install directories. #1673
    • Fix links in the README. #1620 #1621 #1622 #1623 #1625
    • Mention json type on the documentation start page. #1616
    • Complete documentation of value() function with respect to type_error.302 exception. #1601
    • Fix links in the documentation. #1598
    • Add regression tests for MSVC. #1543 #1570
    • Use CircleCI for continuous integration.
    • Use Doozer for continuous integration on Linux (CentOS, Raspbian, Fedora)
    • Add tests to check each CMake flag (JSON_BuildTests, JSON_Install, JSON_MultipleHeaders, JSON_Sanitizer, JSON_Valgrind, JSON_NoExceptions, JSON_Coverage).
    • Use Hedley to avoid re-inventing several compiler-agnostic feature macros like JSON_DEPRECATED, JSON_NODISCARD, JSON_LIKELY, JSON_UNLIKELY, JSON_HAS_CPP_14, or JSON_HAS_CPP_17. Functions taking or returning pointers are annotated accordingly when a pointer will not be null.
    • Build and run tests on AppVeyor in DEBUG and RELEASE mode.

    🔥 Deprecated functions

    This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

    v3.6.1

    Files

    Release date: 2019-03-20 SHA-256: d2eeb25d2e95bffeb08ebb7704cdffd2e8fca7113eba9a0b38d60a5c391ea09a (json.hpp), 69cc88207ce91347ea530b227ff0776db82dcb8de6704e1a3d74f4841bc651cf (include.zip)

    Summary

    This release fixes a regression and a bug introduced by the earlier 3.6.0 release. All changes are backward-compatible.

    🐛 Bug Fixes

    • Fixed regression of #590 which could lead to compilation errors with GCC 7 and GCC 8. #1530
    • Fixed a compilation error when <Windows.h> was included. #1531

    🔨 Further Changes

    • Fixed a warning for missing field initializers. #1527

    🔥 Deprecated functions

    This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

    v3.6.0

    Files

    Release date: 2019-03-20 SHA-256: ce9839370f28094c71107c405affb3b08c4a098154988014cbb0800b1c44a831 (json.hpp), 237c5e66e7f8186a02804ce9dbd5f69ce89fe7424ef84adf6142e973bd9532f4 (include.zip)

    ℹ️ This release introduced a regression. Please update to version 3.6.1!

    Summary

    This release adds some convenience functions for JSON Pointers, introduces a contains function to check if a key is present in an object, and improves the performance of integer serialization. Furthermore, a lot of small bug fixes and improvements have been made. All changes are backward-compatible.

    ✨ New Features

    • Overworked the public interface for JSON Pointers. The creation of JSON Pointers is simplified with operator/ and operator/=. JSON Pointers can be inspected with empty, back, and parent_pointer, and manipulated with push_back and pop_back. #1434
    • Added a boolean method contains to check whether an element exists in a JSON object with a given key. Returns false when called on non-object types. #1471 #1474

    🐛 Bug Fixes

    • Fixed a compilation issues with libc 2.12. #1483 #1514
    • Fixed endian conversion on PPC64. #1489
    • Fixed library to compile with GCC 9. #1472 #1492
    • Fixed a compilation issue with GCC 7 on CentOS. #1496
    • Fixed an integer overflow. #1447
    • Fixed buffer flushing in serializer. #1445 #1446

    ⚡ Improvements

    • The performance of dumping integers has been greatly improved. #1411
    • Added CMake parameter JSON_Install to control whether the library should be installed (default: on). #1330
    • Fixed a lot of compiler and linter warnings. #1400 #1435 #1502
    • Reduced required CMake version from 3.8 to 3.1. #1409 #1428 #1441 #1498
    • Added nodiscard attribute to meta(), array(), object(), from_cbor, from_msgpack, from_ubjson, from_bson, and parse. #1433

    🔨 Further Changes

    • Added missing headers. #1500
    • Fixed typos and broken links in README. #1417 #1423 #1425 #1451 #1455 #1491
    • Fixed documentation of parse function. #1473
    • Suppressed warning that cannot be fixed inside the library. #1401 #1468
    • Improved package manager suppert:
      • Updated Buckaroo instructions. #1495
      • Improved Meson support. #1463
      • Added Conda package manager documentation. #1430
      • Added NuGet package manager documentation. #1132
    • Continuous Integration
      • Removed unstable or deprecated Travis builders (Xcode 6.4 - 8.2) and added Xcode 10.1 builder.
      • Added Clang 7 to Travis CI.
      • Fixed AppVeyor x64 builds. #1374 #1414
    • Updated thirdparty libraries:
      • Catch 1.12.0 -> 1.12.2
      • Google Benchmark 1.3.0 -> 1.4.1
      • Doxygen 1.8.15 -> 1.8.16

    🔥 Deprecated functions

    This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

    v3.5.0

    Files

    Release date: 2018-12-22 SHA-256: 8a6dbf3bf01156f438d0ca7e78c2971bca50eec4ca6f0cf59adf3464c43bb9d5 (json.hpp), 3564da9c5b0cf2e032f97c69baedf10ddbc98030c337d0327a215ea72259ea21 (include.zip)

    Summary

    This release introduces the support for structured bindings and reading from FILE*. Besides, a few bugs have been fixed. All changes are backward-compatible.

    ✨ New Features

    • Structured bindings are now supported for JSON objects and arrays via the items() member function, so finally this code is possible:

      for (auto& [key, val] : j.items()) {
      + Releases - JSON for Modern C++      

      Releases

      v3.7.3

      Files

      Release date: 2019-11-17 SHA-256: 3b5d2b8f8282b80557091514d8ab97e27f9574336c804ee666fda673a9b59926 (json.hpp), 87b5884741427220d3a33df1363ae0e8b898099fbc59f1c451113f6732891014 (include.zip)

      Summary

      This release fixes a bug introduced in release 3.7.2 which could yield quadratic complexity in destructor calls. All changes are backward-compatible.

      🐛 Bug Fixes

      • Removed reserve() calls from the destructor which could lead to quadratic complexity. #1837 #1838

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.7.2

      Files

      Release date: 2019-11-10 SHA-256: 0a65fcbbe1b334d3f45c9498e5ee28c3f3b2428aea98557da4a3ff12f0f14ad6 (json.hpp), 67f69c9a93b7fa0612dc1b6273119d2c560317333581845f358aaa68bff8f087 (include.zip)

      Summary

      Project bad_json_parsers tested how JSON parser libraries react on deeply nested inputs. It turns out that this library segfaulted at a certain nesting depth. This bug was fixed with this release. Now the parsing is only bounded by the available memory. All changes are backward-compatible.

      🐛 Bug Fixes

      • Fixed a bug that lead to stack overflow for deeply nested JSON values (objects, array) by changing the implementation of the destructor from a recursive to an iterative approach. #832, #1419, #1835

      🔨 Further Changes

      • Added WhiteStone Bolt. #1830

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.7.1

      Files

      Release date: 2019-11-06 SHA-256: b5ba7228f3c22a882d379e93d08eab4349458ee16fbf45291347994eac7dc7ce (json.hpp), 77b9f54b34e7989e6f402afb516f7ff2830df551c3a36973085e2c7a6b1045fe (include.zip)

      Summary

      This release fixes several small bugs in the library. All changes are backward-compatible.

      🐛 Bug Fixes

      • Fixed a segmentation fault when serializing std::int64_t minimum value. #1708 #1722
      • Fixed the contains() function for JSON Pointers. #1727 #1741
      • Fixed too lax SFINAE guard for conversion from std::pair and std::tuple to json. #1805 #1806 #1825 #1826
      • Fixed some regressions detected by UBSAN. Updated CI to use Clang-Tidy 7.1.0. #1716 #1728
      • Fixed integer truncation in iteration_proxy. #1797
      • Updated Hedley to v11 to fix a E2512 error in MSVC. #1799
      • Fixed a compile error in enum deserialization of non non-default-constructible types. #1647 #1821
      • Fixed the conversion from json to std::valarray.

      ⚡ Improvements

      • The items() function can now be used with a custom string type. #1765
      • Made json_pointer::back const. #1764 #1769
      • Meson is part of the release archive. #1672 #1694
      • Improved documentation on the Meson and Spack package manager. #1694 #1720

      🔨 Further Changes

      • Added GitHub Workflow with ubuntu-latest/GCC 7.4.0 as CI step.
      • Added GCC 9 to Travis CI to compile with C++20 support. #1724
      • Added MSVC 2019 to the AppVeyor CI. #1780
      • Added badge to fuzzing status.
      • Fixed some cppcheck warnings. #1760
      • Fixed several typos in the documentation. #1720 #1767 #1803
      • Added documentation on the JSON_THROW_USER, JSON_TRY_USER, and JSON_CATCH_USER macros to control user-defined exception handling.
      • Used GitHub's CODEOWNERS and SECURITY feature.
      • Removed GLOB from CMake files. #1779
      • Updated to Doctest 2.3.5.

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.7.0

      Files

      Release date: 2019-07-28 SHA-256: a503214947952b69f0062f572cb74c17582a495767446347ce2e452963fc2ca4 (json.hpp), 541c34438fd54182e9cdc68dd20c898d766713ad6d901fb2c6e28ff1f1e7c10d (include.zip)

      Summary

      This release introduces a few convenience functions and performs a lot of house keeping (bug fixes and small improvements). All changes are backward-compatible.

      ✨ New Features

      • Add overload of the contains function to check if a JSON pointer is valid without throwing exceptions, just like its counterpart for object keys. #1600
      • Add a function to_string to allow for generic conversion to strings. #916 #1585
      • Add return value for the emplace_back function, returning a reference to the added element just like C++17 is introducing this for std::vector. #1609
      • Add info how to use the library with the pacman package manager on MSYS2. #1670

      🐛 Bug Fixes

      • Fix an issue where typedefs with certain names yielded a compilation error. #1642 #1643
      • Fix a conversion to std::string_view in the unit tests. #1634 #1639
      • Fix MSVC Debug build. #1536 #1570 #1608
      • Fix get_to method to clear existing content before writing. #1511 #1555
      • Fix a -Wc++17-extensions warning. nodiscard attributes are now only used with Clang when -std=c++17 is used. #1535 #1551

      ⚡ Improvements

      🔨 Further Changes

      • Use GNUInstallDirs to set library install directories. #1673
      • Fix links in the README. #1620 #1621 #1622 #1623 #1625
      • Mention json type on the documentation start page. #1616
      • Complete documentation of value() function with respect to type_error.302 exception. #1601
      • Fix links in the documentation. #1598
      • Add regression tests for MSVC. #1543 #1570
      • Use CircleCI for continuous integration.
      • Use Doozer for continuous integration on Linux (CentOS, Raspbian, Fedora)
      • Add tests to check each CMake flag (JSON_BuildTests, JSON_Install, JSON_MultipleHeaders, JSON_Sanitizer, JSON_Valgrind, JSON_NoExceptions, JSON_Coverage).
      • Use Hedley to avoid re-inventing several compiler-agnostic feature macros like JSON_DEPRECATED, JSON_NODISCARD, JSON_LIKELY, JSON_UNLIKELY, JSON_HAS_CPP_14, or JSON_HAS_CPP_17. Functions taking or returning pointers are annotated accordingly when a pointer will not be null.
      • Build and run tests on AppVeyor in DEBUG and RELEASE mode.

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.6.1

      Files

      Release date: 2019-03-20 SHA-256: d2eeb25d2e95bffeb08ebb7704cdffd2e8fca7113eba9a0b38d60a5c391ea09a (json.hpp), 69cc88207ce91347ea530b227ff0776db82dcb8de6704e1a3d74f4841bc651cf (include.zip)

      Summary

      This release fixes a regression and a bug introduced by the earlier 3.6.0 release. All changes are backward-compatible.

      🐛 Bug Fixes

      • Fixed regression of #590 which could lead to compilation errors with GCC 7 and GCC 8. #1530
      • Fixed a compilation error when <Windows.h> was included. #1531

      🔨 Further Changes

      • Fixed a warning for missing field initializers. #1527

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.6.0

      Files

      Release date: 2019-03-20 SHA-256: ce9839370f28094c71107c405affb3b08c4a098154988014cbb0800b1c44a831 (json.hpp), 237c5e66e7f8186a02804ce9dbd5f69ce89fe7424ef84adf6142e973bd9532f4 (include.zip)

      ℹ️ This release introduced a regression. Please update to version 3.6.1!

      Summary

      This release adds some convenience functions for JSON Pointers, introduces a contains function to check if a key is present in an object, and improves the performance of integer serialization. Furthermore, a lot of small bug fixes and improvements have been made. All changes are backward-compatible.

      ✨ New Features

      • Overworked the public interface for JSON Pointers. The creation of JSON Pointers is simplified with operator/ and operator/=. JSON Pointers can be inspected with empty, back, and parent_pointer, and manipulated with push_back and pop_back. #1434
      • Added a boolean method contains to check whether an element exists in a JSON object with a given key. Returns false when called on non-object types. #1471 #1474

      🐛 Bug Fixes

      • Fixed a compilation issues with libc 2.12. #1483 #1514
      • Fixed endian conversion on PPC64. #1489
      • Fixed library to compile with GCC 9. #1472 #1492
      • Fixed a compilation issue with GCC 7 on CentOS. #1496
      • Fixed an integer overflow. #1447
      • Fixed buffer flushing in serializer. #1445 #1446

      ⚡ Improvements

      • The performance of dumping integers has been greatly improved. #1411
      • Added CMake parameter JSON_Install to control whether the library should be installed (default: on). #1330
      • Fixed a lot of compiler and linter warnings. #1400 #1435 #1502
      • Reduced required CMake version from 3.8 to 3.1. #1409 #1428 #1441 #1498
      • Added nodiscard attribute to meta(), array(), object(), from_cbor, from_msgpack, from_ubjson, from_bson, and parse. #1433

      🔨 Further Changes

      • Added missing headers. #1500
      • Fixed typos and broken links in README. #1417 #1423 #1425 #1451 #1455 #1491
      • Fixed documentation of parse function. #1473
      • Suppressed warning that cannot be fixed inside the library. #1401 #1468
      • Improved package manager suppert:
        • Updated Buckaroo instructions. #1495
        • Improved Meson support. #1463
        • Added Conda package manager documentation. #1430
        • Added NuGet package manager documentation. #1132
      • Continuous Integration
        • Removed unstable or deprecated Travis builders (Xcode 6.4 - 8.2) and added Xcode 10.1 builder.
        • Added Clang 7 to Travis CI.
        • Fixed AppVeyor x64 builds. #1374 #1414
      • Updated thirdparty libraries:
        • Catch 1.12.0 -> 1.12.2
        • Google Benchmark 1.3.0 -> 1.4.1
        • Doxygen 1.8.15 -> 1.8.16

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.5.0

      Files

      Release date: 2018-12-22 SHA-256: 8a6dbf3bf01156f438d0ca7e78c2971bca50eec4ca6f0cf59adf3464c43bb9d5 (json.hpp), 3564da9c5b0cf2e032f97c69baedf10ddbc98030c337d0327a215ea72259ea21 (include.zip)

      Summary

      This release introduces the support for structured bindings and reading from FILE*. Besides, a few bugs have been fixed. All changes are backward-compatible.

      ✨ New Features

      • Structured bindings are now supported for JSON objects and arrays via the items() member function, so finally this code is possible:

        for (auto& [key, val] : j.items()) {
             std::cout << key << ':' << val << '\n';
         }
         
        #1388 #1391

      • Added support for reading from FILE* to support situations in which streams are nit available or would require too much RAM. #1370 #1392

      🐛 Bug Fixes

      • The eofbit was not set for input streams when the end of a stream was reached while parsing. #1340 #1343
      • Fixed a bug in the SAX parser for BSON arrays.

      ⚡ Improvements

      • Added support for Clang 5.0.1 (PS4 version). #1341 #1342

      🔨 Further Changes

      • Added a warning for implicit conversions to the documentation: It is not recommended to use implicit conversions when reading from a JSON value. Details about this recommendation can be found here. #1363
      • Fixed typos in the documentation. #1329 #1380 #1382
      • Fixed a C4800 warning. #1364
      • Fixed a -Wshadow warning #1346
      • Wrapped std::snprintf calls to avoid error in MSVC. #1337
      • Added code to allow installation via Meson. #1345

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.4.0

      Files

      Release date: 2018-10-30 SHA-256: 63da6d1f22b2a7bb9e4ff7d6b255cf691a161ff49532dcc45d398a53e295835f (json.hpp), bfec46fc0cee01c509cf064d2254517e7fa80d1e7647fea37cf81d97c5682bdc (include.zip)

      Summary

      This release introduces three new features:

      • BSON (Binary JSON) is next to CBOR, MessagePack, and UBJSON the fourth binary (de)serialization format supported by the library.
      • Adjustable error handlers for invalid Unicode allows to specify the behavior when invalid byte sequences are serialized.
      • Simplified enum/JSON mapping with a macro in case the default mapping to integers is not desired.

      Furthermore, some effort has been invested in improving the parse error messages. Besides, a few bugs have been fixed. All changes are backward-compatible.

      ✨ New Features

      • The library can read and write a subset of BSON (Binary JSON). All data types known from JSON are supported, whereas other types more tied to MongoDB such as timestamps, object ids, or binary data are currently not implemented. See the README for examples. #1244 #1320
      • The behavior when the library encounters an invalid Unicode sequence during serialization can now be controlled by defining one of three Unicode error handlers: (1) throw an exception (default behavior), (2) replace invalid sequences by the Unicode replacement character (U+FFFD), or (3) ignore/filter invalid sequences. See the documentation of the dump function for examples. #1198 #1314
      • To easily specify a user-defined enum/JSON mapping, a macro NLOHMANN_JSON_SERIALIZE_ENUM has been introduced. See the README section for more information. #1208 #1323

      🐛 Bug Fixes

      • fixed truncation #1286 #1315
      • fixed an issue with std::pair #1299 #1301
      • fixed an issue with std::variant #1292 #1294
      • fixed a bug in the JSON Pointer parser

      ⚡ Improvements

      • The diagnosis messages for parse errors have been improved: error messages now indicated line/column positions where possible (in addition to a byte count) and also the context in which the error occurred (e.g., "while parsing a JSON string"). Example: error parse error at 2: syntax error - invalid string: control character must be escaped; last read: '<U+0009>' is now reported as parse error at line 1, column 2: syntax error while parsing value - invalid string: control character U+0009 (HT) must be escaped to \u0009 or \t; last read: '<U+0009>'. #1280 #1288 #1303

      🔨 Further Changes

      • improved Meson documentation #1305
      • fixed some more linter warnings #1280
      • fixed Clang detection for third-party Google Benchmark library #1277

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.3.0

      Files

      Release date: 2018-10-05 SHA-256: f1327bb60c58757a3dd2b0c9c45d49503d571337681d950ec621f8374bcc14d4 (json.hpp), 9588d63557333aaa485e92221ec38014a85a6134e7486fe3441e0541a5a89576 (include.zip)

      Summary

      This release adds support for GCC 4.8. Furthermore, it adds a function get_to to write a JSON value to a passed reference. Another topic of this release was the CMake support which has been overworked and documented.

      Besides, a lot of bugs have been fixed and slight improvements have been made. All changes are backward-compatible.

      ✨ New Features

      • The library can now also built with GCC 4.8. Though this compiler does not fully support C++11, it can successfully compile and run the test suite. Note that bug 57824 in GCC 4.8 still forbids to use multiline raw strings in arguments to macros. #1257
      • Added new function get_to to write a JSON value to a passed reference. The destination type is automatically derived which allows more succinct code compared to the get function. #1227 #1231

      🐛 Bug Fixes

      • Fixed a bug in the CMake file that made target_link_libraries to not properly include nlohmann_json. #1243 #1245 #1260
      • Fixed a warning in MSVC 2017 complaining about a constexpr if. #1204 #1268 #1272
      • Fixed a bug that prevented compilation with ICPC. #755 #1222
      • Improved the SFINAE correctness to fix a bug in the conversion operator. #1237 #1238
      • Fixed a -Wctor-dtor-privacy warning. #1224
      • Fixed a warning on a lambda in unevaluated context. #1225 #1230
      • Fixed a bug introduced in version 3.2.0 where defining JSON_CATCH_USER led to duplicate macro definition of JSON_INTERNAL_CATCH. #1213 #1214
      • Fixed a bug that prevented compilation with Clang 3.4.2 in RHEL 7. #1179 #1249

      ⚡ Improvements

      • Added documentation on CMake integration of the library. #1270
      • Changed the CMake file to use find_package(nlohmann_json) without installing the library. #1202
      • Improved error messages in case operator[] is used with the wrong combination (json.exception.type_error.305) of JSON container type and argument type. Example: "cannot use operator[] with a string argument". #1220 #1221
      • Added a license and version information to the Meson build file. #1252
      • Removed static assertions to indicated missing to_json or from_json functions as such assertions do not play well with SFINAE. These assertions also led to problems with GMock. #960 #1212 #1228
      • The test suite now does not wait forever if run in a wrong directory and input files are not found. #1262
      • The test suite does not show deprecation warnings for deprecated functions which frequently led to confusion. #1271

      🔨 Further Changes

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.2.0

      Files

      Release date: 2018-08-20 SHA-256: ce6b5610a051ec6795fa11c33854abebb086f0fd67c311f5921c3c07f9531b44 (json.hpp), 35ee642558b90e2f9bc758995c4788c4b4d4dec54eef95fb8f38cb4d49c8fc7c (include.zip)

      Summary

      This release introduces a SAX interface to the library. While this may be a very special feature used by only few people, it allowed to unify all functions that consumed input and created some kind of JSON value. Internally, now all existing functions like parse, accept, from_cbor, from_msgpack, and from_ubjson use the SAX interface with different event processors. This allowed to separate the input processing from the value generation. Furthermore, throwing an exception in case of a parse error is now optional and up to the event processor. Finally, the JSON parser is now non-recursive (meaning it does not use the call stack, but std::vector<bool> to track the hierarchy of structured values) which allows to process nested input more efficiently.

      Furthermore, the library finally is able to parse from wide string types. This is the first step toward opening the library from UTF-8 to UTF-16 and UTF-32.

      This release further fixes several bugs in the library. All changes are backward-compatible.

      ✨ New Features

      • added a parser with a SAX interface (#971, #1153)
      • support to parse from wide string types std::wstring, std::u16string, and std::u32string; the input will be converted to UTF-8 (#1031)
      • added support for std::string_view when using C++17 (#1028)
      • allow to roundtrip std::map and std::unordered_map from JSON if key type is not convertible to string; in these cases, values are serialized to arrays of pairs (#1079, #1089, #1133, #1138)

      🐛 Bug Fixes

      • allow to create nullptr_t from JSON allowing to properly roundtrip null values (#1169)
      • allow compare user-defined string types (#1130)
      • better support for algorithms using iterators from items() (#1045, #1134)
      • added parameter to avoid compilation error with MSVC 2015 debug builds (#1114)
      • re-added accidentally skipped unit tests (#1176)
      • fixed MSVC issue with std::swap (#1168)

      ⚡ Improvements

      • key() function for iterators returns a const reference rather than a string copy (#1098)
      • binary formats CBOR, MessagePack, and UBJSON now supports float as type for floating-point numbers (#1021)

      🔨 Further Changes

      • changed issue templates
      • improved continuous integration: added builders for Xcode 9.3 and 9.4, added builders for GCC 8 and Clang 6, added builder for MinGW, added builders for MSVC targeting x86
      • required CMake version is now at least 3.8 (#1040)
      • overworked CMake file wrt. packaging (#1048)
      • added package managers: Spack (#1041) and CocoaPods (#1148)
      • fixed Meson include directory (#1142)
      • preprocessor macro JSON_SKIP_UNSUPPORTED_COMPILER_CHECK can skip the rejection of unsupported compilers - use at your own risk! (#1128)
      • preprocessor macro JSON_INTERNAL_CATCH/JSON_INTERNAL_CATCH_USER allows to control the behavior of exception handling inside the library (#1187)
      • added note on char to JSON conversion
      • added note how to send security-related issue via encrypted email
      • removed dependency to std::stringstream (#1117)
      • added SPDX-License-Identifier
      • added updated JSON Parsing Test Suite, described in Parsing JSON is a Minefield 💣
      • updated to Catch 1.12.0

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.1.2

      Files

      Release date: 2018-03-14 SHA-256: fbdfec4b4cf63b3b565d09f87e6c3c183bdd45c5be1864d3fcb338f6f02c1733 (json.hpp), 495362ee1b9d03d9526ba9ccf1b4a9c37691abe3a642ddbced13e5778c16660c (include.zip)

      Summary

      This release fixes several bugs in the library. All changes are backward-compatible.

      🐛 Bug Fixes

      • Fixed a memory leak occurring in the parser callback (#1001).
      • Different specializations of basic_json (e.g., using different template arguments for strings or objects) can now be used in assignments (#972, #977, #986).
      • Fixed a logical error in an iterator range check (#992).

      ⚡ Improvements

      • The parser and the serialization now support user-defined string types (#1006, #1009).

      🔨 Further Changes

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.1.1

      Files

      Release date: 2018-02-13 SHA-256: e14ce5e33d6a2daf748026bd4947f3d9686ca4cfd53d10c3da46a0a9aceb7f2e (json.hpp), fde771d4b9e4f222965c00758a2bdd627d04fb7b59e09b7f3d1965abdc848505 (include.zip)

      Summary

      This release fixes several bugs in the library. All changes are backward-compatible.

      🐛 Bug Fixes

      • Fixed parsing of CBOR strings with indefinite length (#961). Earlier versions of this library misinterpreted the CBOR standard and rejected input with the 0x7F start byte.
      • Fixed user-defined conversion to vector type (#924, #969). A wrong SFINAE check rejected code though a user-defined conversion was provided.
      • Fixed documentation of the parser behavior for objects with duplicate keys (#963). The exact behavior is not specified by RFC 8259 and the library now also provides no guarantee which object key is stored.
      • Added check to detect memory overflow when parsing UBJSON containers (#962). The optimized UBJSON format allowed for specifying an array with billions of null elements with a few bytes and the library did not check whether this size exceeded max_size().

      🔨 Further Changes

      • Code coverage is now calculated for the individual header files, allowing to find uncovered lines more quickly than by browsing through the single header version (#953, #957).
      • A Makefile target run_benchmarks was added to quickly build and run the benchmark suite.
      • The documentation was harmonized with respect to the header inclusion (#955). Now all examples and the README use #include <nlohmann/json.hpp> to allow for selecting single_include or include or whatever installation folder as include directory.
      • Added note on how to use the library with the cget package manager (#954).

      🔥 Deprecated functions

      This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

      v3.1.0

      Files

      Release date: 2018-02-01 SHA-256: d40f614d10a6e4e4e80dca9463da905285f20e93116c36d97d4dc1aa63d10ba4 (json.hpp), 2b7234fca394d1e27b7e017117ed80b7518fafbb4f4c13a7c069624f6f924673 (include.zip)

      Summary

      This release adds support for the UBJSON format and JSON Merge Patch. It also contains some minor changes and bug fixes. All changes are backward-compatible.

      ✨ New features

      • The library now supports UBJSON (Universal Binary JSON Specification) as binary format to read and write JSON values space-efficiently. See the documentation overview for a comparison of the different formats CBOR, MessagePack, and UBJSON.
      • JSON Merge Patch (RFC 7386) offers an intuitive means to describe patches between JSON values (#876, #877). See the documentation of merge_patch for more information.

      ⚡ Improvements

      • The library now uses the Grisu2 algorithm for printing floating-point numbers (based on the reference implementation by Florian Loitsch) which produces a short representation which is guaranteed to round-trip (#360, #935, #936).
      • The UTF-8 handling was further simplified by using the decoder of Björn Hoehrmann in more scenarios.

      🚚 Reorganization

      • Though the library is released as a single header, its development got more and more complicated. With this release, the header is split into several files and the single-header file json.hpp can be generated from these development sources. In the repository, folder include contains the development sources and single_include contains the single json.hpp header (#700, #906, #907, #910, #911, #915, #920, #924, #925, #928, #944).
      • The split further allowed for a forward declaration header include/nlohmann/json_fwd.hpp to speed up compilation times (#314).

      🔨 Further changes

      • Google Benchmark is now used for micro benchmarks (see benchmarks folder, #921).
      • The serialization (JSON and binary formats) now properly work with the libraries string template parameter, allowing for optimized string implementations to be used in constraint environments such as embedded software (#941, #950).
      • The exceptional behavior can now be overridden by defining macros JSON_THROW_USER, JSON_TRY_USER, and JSON_CATCH_USER, defining the behavior of throw, try and catch, respectively. This allows to switch off C++'s exception mechanism yet still execute user-defined code in case an error condition occurs (#938).
      • To facilitate the interplay with flex and Bison, the library does not use the variable name yytext any more as it could clash with macro definitions (#933).
      • The library now defines NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, and NLOHMANN_JSON_VERSION_PATCH to allow for conditional compilation based on the included library version (#943, #948).
      • A compilation error with ICC has been fixed (#947).
      • Typos and links in the documentation have been fixed (#900, #930).
      • A compiler error related to incomplete types has been fixed (#919).
      • The tests form the UTF-8 decoder stress test have been added to the test suite.

      🔥 Deprecated functions

      • Function iterator_wrapper has been deprecated (#874). Since its introduction, the name was up for discussion, as it was too technical. We now introduced the member function items() with the same semantics. iterator_wrapper will be removed in the next major version (i.e., 4.0.0).

      Furthermore, the following functions are deprecated since version 3.0.0 and will be removed in the next major version (i.e., 4.0.0):

      Please use friend std::istream& operator>>(std::istream&, basic_json&) and friend operator<<(std::ostream&, const basic_json&) instead.

      v3.0.1

      Files

      Release date: 2017-12-29 SHA-256: c9b3591f1bb94e723a0cd7be861733a3a555b234ef132be1e9027a0364118c4c

      Summary

      This release fixes small issues in the implementation of JSON Pointer and JSON Patch. All changes are backward-compatible.

      Changes

      • 🐛 The "copy" operation of JSON Patch (RFC 6902) requests that it is an error if the target path points into a non-existing array or object (see #894 for a detailed description). This release fixes the implementation to detect such invalid target paths and throw an exception.
      • 🐛 An array index in a JSON Pointer (RFC 6901) must be an integer. This release fixes the implementation to throw an exception in case invalid array indices such as 10e2 are used.
      • ✅ Added the JSON Patch tests from Byron Ruth and Mike McCabe.
      • 📝 Fixed the documentation of the at(ptr) function with JSON Pointers to list all possible exceptions (see #888).
      • 📝 Updated the container overview documentation (see #883).
      • 🔧 The CMake files now respect the BUILD_TESTING option (see #846, #885)
      • 🚨 Fixed some compiler warnings (see #858, #882).

      Deprecated functions

      🔥 To unify the interfaces and to improve similarity with the STL, the following functions are deprecated since version 3.0.0 and will be removed in the next major version (i.e., 4.0.0):

      Please use friend std::istream& operator>>(std::istream&, basic_json&) and friend operator<<(std::ostream&, const basic_json&) instead.

      v3.0.0

      Files

      Release date: 2017-12-17 SHA-256: 076d4a0cb890a3c3d389c68421a11c3d77c64bd788e85d50f1b77ed252f2a462

      Summary

      After almost a year, here is finally a new release of JSON for Modern C++, and it is a major one! As we adhere to semantic versioning, this means the release includes some breaking changes, so please read the next section carefully before you update. But don't worry, we also added a few new features and put a lot of effort into fixing a lot of bugs and straighten out a few inconsistencies.

      💥 Breaking changes

      This section describes changes that change the public API of the library and may require changes in code using a previous version of the library. In section "Moving from 2.x.x to 3.0.0" at the end of the release notes, we describe in detail how existing code needs to be changed.

      • The library now uses user-defined exceptions instead of reusing those defined in <stdexcept> (#244). This not only allows to add more information to the exceptions (every exception now has an identifier, and parse errors contain the position of the error), but also to easily catch all library exceptions with a single catch(json::exception).
      • When strings with a different encoding as UTF-8 were stored in JSON values, their serialization could not be parsed by the library itself, as only UTF-8 is supported. To enforce this library limitation and improve consistency, non-UTF-8 encoded strings now yield a json::type_error exception during serialization (#838). The check for valid UTF-8 is realized with code from Björn Hoehrmann.
      • NaN and infinity values can now be stored inside the JSON value without throwing an exception. They are, however, still serialized as null (#388).
      • The library's iterator tag was changed from RandomAccessIterator to BidirectionalIterator (#593). Supporting RandomAccessIterator was incorrect as it assumed an ordering of values in a JSON objects which are unordered by definition.
      • The library does not include the standard headers <iostream>, <ctype>, and <stdexcept> any more. You may need to add these headers to code relying on them.
      • Removed constructor explicit basic_json(std::istream& i, const parser_callback_t cb = nullptr) which was deprecated in version 2.0.0 (#480).

      🔥 Deprecated functions

      To unify the interfaces and to improve similarity with the STL, the following functions are now deprecated and will be removed in the next major version (i.e., 4.0.0):

      Please use friend std::istream& operator>>(std::istream&, basic_json&) and friend operator<<(std::ostream&, const basic_json&) instead.

      ✨ New features

      With all this breaking and deprecation out of the way, let's talk about features!

      • We improved the diagnostic information for syntax errors (#301). Now, an exception json::parse_error is thrown which contains a detailed message on the error, but also a member byte to indicate the byte offset in the input where the error occurred.
      • We added a non-throwing syntax check (#458): The new accept function returns a Boolean indicating whether the input is proper JSON. We also added a Boolean parameter allow_exceptions to the existing parse functions to return a discarded value in case a syntax error occurs instead of throwing an exception.
      • An update function was added to merge two JSON objects (#428). In case you are wondering: the name was inspired by Python.
      • The insert function now also supports an iterator range to add elements to an object.
      • The binary exchange formats CBOR and MessagePack can now be parsed from input streams and written to output streams (#477).
      • Input streams are now only read until the end of a JSON value instead of the end of the input (#367).
      • The serialization function dump now has two optional parameters ensure_ascii to escape all non-ASCII characters with \uxxxx and an indent_char parameter to choose whether to indent with spaces or tabs (#654).
      • Added built-in type support for C arrays (#502), std::pair and std::tuple (#563, #614), enum and enum class (#545), std::vector<bool> (#494). Fixed support for std::valarray (#702), std::array (#553), and std::map<std::string, std::string> (#600, #607).

      🔨 Further changes

      Furthermore, there have been a lot of changes under the hood:

      • Replaced the re2c generated scanner by a self-coded version which allows for a better modularization of the parser and better diagnostics. To test the new scanner, we added millions (8,860,608 to be exact) of unit tests to check all valid and invalid byte sequences of the Unicode standard.
      • Google's OSS-Fuzz is still constantly fuzz-testing the library and found several issues that were fixed in this release (#497, #504, #514, #516, #518, #519, #575).
      • We now also ignore UTF-8 byte order marks when parsing from an iterator range (#602).
      • Values can be now moved from initializer lists (#663).
      • Updated to Catch 1.9.7. Unfortunately, Catch2 currently has some performance issues.
      • The non-exceptional paths of the library are now annotated with __builtin_expect to optimize branch prediction as long as no error occurs.
      • MSVC now produces a stack trace in MSVC if a from_json or to_json function was not found for a user-defined type. We also added a debug visualizer nlohmann_json.natvis for better debugging in MSVC (#844).
      • Overworked the documentation and added even more examples.
      • The build workflow now relies on CMake and CTest. Special flags can be chosen with CMake, including coverage (JSON_Coverage), compilation without exceptions (JSON_NoExceptions), LLVM sanitizers (JSON_Sanitizer), or execution with Valgrind (JSON_Valgrind).
      • Added support for package managers Meson (#576), Conan (#566), Hunter (#671, #829), and vcpkg (#753).
      • Added CI builders: Xcode 8.3, 9.0, 9.1, and 9.2; GCC 7.2; Clang 3.8, 3.9, 4.0, and 5.0; Visual Studio 2017. The library is further built with C++17 settings on the latest Clang, GCC, and MSVC version to quickly detect new issues.

      Moving from 2.x.x to 3.0.0

      User-defined Exceptions

      There are five different exceptions inheriting from json::exception:

      To support these exception, the try/catch blocks of your code need to be adjusted:

      new exception previous exception
      parse_error.101 invalid_argument
      parse_error.102 invalid_argument
      parse_error.103 invalid_argument
      parse_error.104 invalid_argument
      parse_error.105 invalid_argument
      parse_error.106 domain_error
      parse_error.107 domain_error
      parse_error.108 domain_error
      parse_error.109 invalid_argument
      parse_error.110 out_of_range
      parse_error.111 invalid_argument
      parse_error.112 invalid_argument
      invalid_iterator.201 domain_error
      invalid_iterator.202 domain_error
      invalid_iterator.203 domain_error
      invalid_iterator.204 out_of_range
      invalid_iterator.205 out_of_range
      invalid_iterator.206 domain_error
      invalid_iterator.207 domain_error
      invalid_iterator.208 domain_error
      invalid_iterator.209 domain_error
      invalid_iterator.210 domain_error
      invalid_iterator.211 domain_error
      invalid_iterator.212 domain_error
      invalid_iterator.213 domain_error
      invalid_iterator.214 out_of_range
      type_error.301 domain_error
      type_error.302 domain_error
      type_error.303 domain_error
      type_error.304 domain_error
      type_error.305 domain_error
      type_error.306 domain_error
      type_error.307 domain_error
      type_error.308 domain_error
      type_error.309 domain_error
      type_error.310 domain_error
      type_error.311 domain_error
      type_error.313 domain_error
      type_error.314 domain_error
      type_error.315 domain_error
      out_of_range.401 out_of_range
      out_of_range.402 out_of_range
      out_of_range.403 out_of_range
      out_of_range.404 out_of_range
      out_of_range.405 domain_error
      other_error.501 domain_error

      Handling of NaN and INF

      • If an overflow occurs during parsing a number from a JSON text, an exception json::out_of_range is thrown so that the overflow is detected early and roundtripping is guaranteed.

      • NaN and INF floating-point values can be stored in a JSON value and are not replaced by null. That is, the basic_json class behaves like double in this regard (no exception occurs). However, NaN and INF are serialized to null.

      Removal of deprecated functions

      Function explicit basic_json(std::istream& i, const parser_callback_t cb = nullptr) should be replaced by the parse function: Let ss be a stream and cb be a parse callback function.

      Old code:

      json j(ss, cb);
      @@ -7,4 +7,4 @@
       j << ss;
       

      or

      json j;
       ss >> j;
      -

      v2.1.1

      Files

      Release date: 2017-02-25 SHA-256: faa2321beb1aa7416d035e7417fcfa59692ac3d8c202728f9bcc302e2d558f57

      Summary

      This release fixes a locale-related bug in the parser. To do so, the whole number handling (lexer, parser, and also the serialization) have been overworked. Furthermore, a lot of small changes added up that were added to this release. All changes are backward-compatible.

      Changes

      • 🐛 Locales that have a different character than . as decimal separator (e.g., the Norwegian locale nb_NO.UTF-8) led to truncated number parsing or parse errors. The library now has been fixed to work with any locale. Note that . is still the only valid decimal separator for JSON input.
      • 🐛 Numbers like 1.0 were correctly parsed as floating-point number, but serialized as integer (1). Now, floating-point numbers correctly round trip.
      • 🐛 Parsing incorrect JSON numbers with leading 0 (0123) could yield a buffer overflow. This is fixed now by detecting such errors directly by the lexer.
      • 🐛 Constructing a JSON value from a pointer was incorrectly interpreted as a Boolean; such code will now yield a compiler error.
      • 🐛 Comparing a JSON number with 0 led to a comparison with null. This is fixed now.
      • 🐛 All throw calls are now wrapped in macros.
      • 🔒 Starting during the preparation of this release (since 8 February 2017), commits and released files are cryptographically signed with this GPG key. Previous releases have also been signed.
      • ✨ The parser for MessagePack and CBOR now supports an optional start index parameter to define a byte offset for the parser.
      • 🚨 Some more warnings have been fixed. With Clang, the code compiles without warnings with -Weverything (well, it needs -Wno-documentation-unknown-command and -Wno-deprecated-declarations, but you get the point).
      • 🔨 The code can be compiled easier with many Android NDKs by avoiding macros like UINT8_MAX which previously required defining a preprocessor macro for compilation.
      • ⚡ The unit tests now compile two times faster.
      • ➕ Cotire is used to speed up the build.
      • ✏ Fixed a lot of typos in the documentation.
      • 📝 Added a section to the README file that lists all used third-party code/tools.
      • 📝 Added a note on constructing a string value vs. parsing.
      • ✅ The test suite now contains 11202597 unit tests.
      • 📝 Improved the Doxygen documentation by shortening the template parameters of class basic_json.
      • 👷 Removed Doozer.
      • 👷 Added Codacity.
      • ⬆ Upgraded Catch to version 1.7.2.

      v2.1.0

      Files

      • Release date: 2017-01-28
      • SHA-256: a571dee92515b685784fd527e38405cf3f5e13e96edbfe3f03d6df2e363a767b

      Summary

      This release introduces a means to convert from/to user-defined types. The release is backwards compatible.

      conversion

      Changes

      • ✨ The library now offers an elegant way to convert from and to arbitrary value types. All you need to do is to implement two functions: to_json and from_json. Then, a conversion is as simple as putting a = between variables. See the README for more information and examples.
      • ✨ Exceptions can now be switched off. This can be done by defining the preprocessor symbol JSON_NOEXCEPTION or by passing -fno-exceptions to your compiler. In case the code would usually thrown an exception, abort() is now called.
      • ✨ Information on the library can be queried with the new (static) function meta() which returns a JSON object with information on the version, compiler, and platform. See the documentation for an example.
      • 🐛 A bug in the CBOR parser was fixed which led to a buffer overflow.
      • ✨ The function type_name() is now public. It allows to query the type of a JSON value as string.
      • ✅ Added the Big List of Naughty Strings as test case.
      • ⬆ Updated to Catch v1.6.0.
      • 📝 Some typos in the documentation have been fixed.

      v2.0.10

      Files

      • Release date: 2017-01-02
      • SHA-256: ec27d4e74e9ce0f78066389a70724afd07f10761009322dc020656704ad5296d

      Summary

      This release fixes several security-relevant bugs in the MessagePack and CBOR parsers. The fixes are backwards compatible.

      Changes

      • 🐛 Fixed a lot of bugs in the CBOR and MesssagePack parsers. These bugs occurred if invalid input was parsed and then could lead in buffer overflows. These bugs were found with Google's OSS-Fuzz, see #405, #407, #408, #409, #411, and #412 for more information.
      • 👷 We now also use the Doozer continuous integration platform.
      • 👷 The complete test suite is now also run with Clang's address sanitizer and undefined-behavior sanitizer.
      • ✅ Overworked fuzz testing; CBOR and MessagePack implementations are now fuzz-tested. Furthermore, all fuzz tests now include a round trip which ensures created output can again be properly parsed and yields the same JSON value.
      • 📝 Clarified documentation of find() function to always return end() when called on non-object value types.
      • 🔨 Moved thirdparty test code to test/thirdparty directory.

      v2.0.9

      Files

      • Release date: 2016-12-16
      • SHA-256: fbf3396f13e187d6c214c297bddc742d918ea9b55e10bfb3d9f458b9bfdc22e5

      Summary

      This release implements with CBOR and MessagePack two binary serialization/deserialization formats. It further contains some small fixes and improvements. The fixes are backwards compatible.

      cbor

      Changes

      • ✨ The library can now read and write the binary formats CBOR (Concise Binary Object Representation) and MessagePack. Both formats are aimed to produce a very compact representation of JSON which can be parsed very efficiently. See the README file for more information and examples.
      • 🔥 simplified the iteration implementation allowing to remove dozens of lines of code
      • 🐛 fixed an integer overflow error detected by Google's OSS-Fuzz
      • 🐛 suppressed documentation warnings inside the library to facilitate compilation with -Wdocumentation
      • 🐛 fixed an overflow detection error in the number parser
      • 📝 updated contribution guidelines to a list of frequentely asked features that will most likely be never added to the library
      • 📝 added a table of contents to the README file to add some structure
      • 📝 mentioned the many examples and the documentation in the README file
      • 🔨 split unit tests into individual independent binaries to speed up compilation and testing
      • ✅ the test suite now contains 11201886 tests

      v2.0.8

      Files

      • Release date: 2016-12-02
      • SHA-256: b70db0ad34f8e0e61dc3f0cbab88099336c9674c193d8a3439d93d6aca2d7120

      Summary

      This release combines a lot of small fixes and improvements. The fixes are backwards compatible.

      Changes

      • 🐛 fixed a bug that froze the parser if a passed file was not found (now, std::invalid_argument is thrown)
      • 🐛 fixed a bug that lead to an error of a file at EOF was parsed again (now, std::invalid_argument is thrown)
      • ✨ the well known functions emplace and emplace_back have been added to JSON values and work as expected
      • ⚡ improved the performance of the serialization (dump function)
      • ⚡ improved the performance of the deserialization (parser)
      • 👷 some continuous integration images at Travis were added and retired; see here for the current continuous integration setup
      • 👷 the Coverity scan works again
      • 📈 the benchmarking code has been improved to produce more stable results
      • 📝 the README file has been extended and includes more frequently asked examples
      • ✅ the test suite now contains 8905518 tests
      • ⬆ updated Catch to version 1.5.8

      v2.0.7

      Files

      • Release date: 2016-11-02
      • SHA-256: 5545c323670f8165bae90b9dc6078825e86ec310d96cc4e5b47233ea43715bbf

      Summary

      This release fixes a few bugs in the JSON parser found in the Parsing JSON is a Minefield 💣 article. The fixes are backwards compatible.

      Changes

      • The article Parsing JSON is a Minefield 💣 discusses a lot of pitfalls of the JSON specification. When investigating the published test cases, a few bugs in the library were found and fixed:
      • Files with less than 5 bytes can now be parsed without error.
      • The library now properly rejects any file encoding other than UTF-8. Furthermore, incorrect surrogate pairs are properly detected and rejected.
      • The library now accepts all but one "yes" test (y_string_utf16.json): UTF-16 is not supported.
      • The library rejects all but one "no" test (n_number_then_00.json): Null bytes are treated as end of file instead of an error. This allows to parse input from null-terminated strings.
      • The string length passed to a user-defined string literal is now exploited to choose a more efficient constructor.
      • A few grammar mistakes in the README file have been fixed.

      v2.0.6

      Files

      • Release date: 2016-10-15
      • SHA256: 459cc93d5e2f503e50c6d5876eb86bfea7daf405f5a567c5a2c9abc2383756ae

      Summary

      This release fixes the semantics of operator[] for JSON Pointers (see below). This fix is backwards compatible.

      Changes

      • operator[] for JSON Pointers now behaves like the other versions of operator[] and transforms null values into objects or arrays if required. This allows to created nested structures like j["/foo/bar/2"] = 17 (yielding {"foo": "bar": [null, null, 17]}) without problems.
      • overworked a helper SFINAE function
      • fixed some documentation issues
      • fixed the CMake files to allow to run the test suite outside the main project directory
      • restored test coverage to 100%.

      v2.0.5

      Files

      • Release date: 2016-09-14
      • SHA-256: 8b7565263a44e2b7d3b89808bc73d2d639037ff0c1f379e3d56dbd77e00b98d9

      Summary

      This release fixes a regression bug in the stream parser (function parse() and the <</>> operators). This fix is backwards compatible.

      Changes

      • Bug fix: The end of a file stream was not detected properly which led to parse errors. This bug should have been fixed with 2.0.4, but there was still a flaw in the code.

      v2.0.4

      Files

      • Release date: 2016-09-11
      • SHA-256: 632ceec4c25c4e2153f71470d3a2b992c8355f6d8b4d627d05dd16095cd3aeda

      Summary

      This release fixes a bug in the stream parser (function parse() and the <</>> operators). This fix is backwards compatible.

      Changes

      • Bug fix: The end of a file stream was not detected properly which led to parse errors.
      • Fixed a compiler warning about an unused variable.

      v2.0.3

      Files

      • Release date: 2016-08-31
      • SHA-256: 535b73efe5546fde9e763c14aeadfc7b58183c0b3cd43c29741025aba6cf6bd3

      Summary

      This release combines a lot of small fixes and improvements. The release is backwards compatible.

      Changes

      • The parser/deserialization functions have been generalized to process any contiguous sequence of 1-byte elements (e.g., char, unsigned char, uint8_t). This includes all kind of string representations (string literals, char arrays, std::string, const char*), contiguous containers (C-style arrays, std::vector, std::array, std::valarray, std::initializer_list). User-defined containers providing random-access iterator access via std::begin and std::end can be used as well. See the documentation (1, 2, 3, 4) for more information. Note that contiguous storage cannot be checked at compile time; if any of the parse functions are called with a noncompliant container, the behavior is undefined and will most likely yield segmentation violation. The preconditions are enforced by an assertion unless the library is compiled with preprocessor symbol NDEBUG.
      • As a general remark on assertions: The library uses assertions to preclude undefined behavior. A prominent example for this is the operator[] for const JSON objects. The behavior of this const version of the operator is undefined if the given key does not exist in the JSON object, because unlike the non-const version, it cannot add a null value at the given key. Assertions can be switched of by defining the preprocessor symbol NDEBUG. See the documentation of assert for more information.
      • In the course of cleaning up the parser/deserialization functions, the constructor basic_json(std::istream&, const parser_callback_t) has been deprecated and will be deleted with the next major release 3.0.0 to unify the interface of the library. Deserialization will be done by stream operators or by calling one of the parse functions. That is, calls like json j(i); for an input stream i need to be replaced by json j = json::parse(i);. Compilers will produce a deprecation warning if client code uses this function.
      • Minor improvements:
      • Improved the performance of the serialization by avoiding the re-creation of a locale object.
      • Fixed two MSVC warnings. Compiling the test suite with /Wall now only warns about non-inlined functions (C4710) and the deprecation of the constructor from input-stream (C4996).
      • Some project internals:
      • The project has qualified for the Core Infrastructure Initiative Best Practices Badge. While most requirements where already satisfied, some led to more explicit documentation of quality-ensuring procedures. For instance, static analysis is now executed with every commit on the build server. Furthermore, the contribution guidelines document how to communicate security issues privately.
      • The test suite has been overworked and split into several files to allow for faster compilation and analysis. The execute the test suite, simply execute make check.
      • The continuous integration with Travis was extended with Clang versions 3.6.0 to 3.8.1 and now includes 18 different compiler/OS combinations.
      • An 11-day run of American fuzzy lop checked 962 million inputs on the parser and found no issue.

      v2.0.2

      Files

      • Release date: 2016-07-31
      • SHA-256: 8e97b7965b4594b00998d6704465412360e1a0ed927badb51ded8b82291a8f3d

      Summary

      This release combines a lot of small fixes and improvements. The release is backwards compatible.

      Changes

      • The parser has been overworked, and a lot of small issues have been fixed:
      • Improved parser performance by avoiding recursion and using move semantics for the return value.
      • Unescaped control characters \x10-\x1f are not accepted any more.
      • Fixed a bug in the parser when reading from an input stream.
      • Improved test case coverage for UTF-8 parsing: now, all valid Unicode code points are tested both escaped and unescaped.
      • The precision of output streams is now preserved by the parser.
      • Started to check the code correctness by proving termination of important loops. Furthermore, individual assertions have been replaced by a more systematic function which checks the class invariants. Note that assertions should be switched off in production by defining the preprocessor macro NDEBUG, see the documentation of assert.
      • A lot of code cleanup: removed unused headers, fixed some compiler warnings, and fixed a build error for Windows-based Clang builds.
      • Added some compile-time checks:
      • Unsupported compilers are rejected during compilation with an #error command.
      • Static assertion prohibits code with incompatible pointer types used in get_ptr().
      • Improved the documentation, and adjusted the documentation script to choose the correct version of sed.
      • Replaced a lot of "raw loops" by STL functions like std::all_of, std::for_each, or std::accumulate. This facilitates reasoning about termination of loops and sometimes allowed to simplify functions to a single return statement.
      • Implemented a value() function for JSON pointers (similar to at function).
      • The Homebrew formula (see Integration) is now tested for all Xcode builds (6.1 - 8.x) with Travis.
      • Avoided output to std::cout in the test cases.

      v2.0.1

      Files

      • Release date: 2016-06-28
      • SHA-256: ef550fcd7df572555bf068e9ec4e9d3b9e4cdd441cecb0dcea9ea7fd313f72dd

      Summary

      This release fixes a performance regression in the JSON serialization (function dump()). This fix is backwards compatible.

      Changes

      • The locale of the output stream (or the internal string stream if a JSON value is serialized to a string) is now adjusted once for the whole serialization instead of for each floating-point number.
      • The locale of an output stream is now correctly reset to the previous value by the JSON library.

      v2.0.0

      Files

      • Release date: 2016-06-24
      • SHA-256: ac9e1fb25c2ac9ca5fc501fcd2fe3281fe04f07018a1b48820e7b1b11491bb6c

      Summary

      This release adds several features such as JSON Pointers, JSON Patch, or support for 64 bit unsigned integers. Furthermore, several (subtle) bugs have been fixed.

      As noexcept and constexpr specifier have been added to several functions, the public API has effectively been changed in a (potential) non-backwards compatible manner. As we adhere to Semantic Versioning, this calls for a new major version, so say hello to 2️⃣.0️⃣.0️⃣.

      Changes

      • 🔟 A JSON value now uses uint64_t (default value for template parameter NumberUnsignedType) as data type for unsigned integer values. This type is used automatically when an unsigned number is parsed. Furthermore, constructors, conversion operators and an is_number_unsigned() test have been added.
      • 👉 JSON Pointer (RFC 6901) support: A JSON Pointer is a string (similar to an XPath expression) to address a value inside a structured JSON value. JSON Pointers can be used in at() and operator[] functions. Furthermore, JSON values can be “flattened” to key/value pairs using flatten() where each key is a JSON Pointer. The original value can be restored by “unflattening” the flattened value using unflatten().
      • 🏥 JSON Patch (RFC 6902) support. A JSON Patch is a JSON value that describes the required edit operations (add, change, remove, …) to transform a JSON value into another one. A JSON Patch can be created with function diff(const basic_json&) and applied with patch(const basic_json&). Note the created patches use a rather primitive algorithm so far and leave room for improvement.
      • 🇪🇺 The code is now locale-independent: Floating-point numbers are always serialized with a period (.) as decimal separator and ignores different settings from the locale.
      • 🍺 Homebrew support: Install the library with brew tap nlohmann/json && brew install nlohmann_json.
      • Added constructor to create a JSON value by parsing a std::istream (e.g., std::stringstream or std::ifstream).
      • Added noexcept specifier to basic_json(boolean_t), basic_json(const number_integer_t), basic_json(const int), basic_json(const number_float_t), iterator functions (begin(), end(), etc.)
      • When parsing numbers, the sign of 0.0 (vs. -0.0) is preserved.
      • Improved MSVC 2015, Android, and MinGW support. See README for more information.
      • Improved test coverage (added 2,225,386 tests).
      • Removed some misuses of std::move.
      • Fixed several compiler warnings.
      • Improved error messages from JSON parser.
      • Updated to re2c to version 0.16 to use a minimal DFAs for the lexer.
      • Updated test suite to use Catch version 1.5.6.
      • Made type getters (is_number, etc.) and const value access constexpr.
      • Functions push_back and operator+= now work with key/value pairs passed as initializer list, e.g. j_object += {"key", 1}.
      • Overworked CMakeLists.txt to make it easier to integrate the library into other projects.

      Notes

      • Parser error messages are still very vague and contain no information on the error location.
      • The implemented diff function is rather primitive and does not create minimal diffs.
      • The name of function iteration_wrapper may change in the future and the function will be deprecated in the next release.
      • Roundtripping (i.e., parsing a JSON value from a string, serializing it, and comparing the strings) of floating-point numbers is not 100% accurate. Note that RFC 8259 defines no format to internally represent numbers and states not requirement for roundtripping. Nevertheless, benchmarks like Native JSON Benchmark treat roundtripping deviations as conformance errors.

      v1.1.0

      Files

      • Release date: 2016-01-24
      • SHA-256: c0cf0e3017798ca6bb18e757ebc570d21a3bdac877845e2b9e9573d183ed2f05

      Summary

      This release fixes several small bugs and adds functionality in a backwards-compatible manner. Compared to the last version (1.0.0), the following changes have been made:

      Changes

      • Fixed: Floating-point numbers are now serialized and deserialized properly such that roundtripping works in more cases. [#185, #186, #190, #191, #194]
      • Added: The code now contains assertions to detect undefined behavior during development. As the standard function assert is used, the assertions can be switched off by defining the preprocessor symbol NDEBUG during compilation. [#168]
      • Added: It is now possible to get a reference to the stored values via the newly added function get_ref(). [#128, #184]
      • Fixed: Access to object values via keys (operator[]) now works with all kind of string representations. [#171, #189]
      • Fixed: The code now compiles again with Microsoft Visual Studio 2015. [#144, #167, #188]
      • Fixed: All required headers are now included.
      • Fixed: Typos and other small issues. [#162, #166, #175, #177, #179, #180]

      Notes

      There are still known open issues (#178, #187) which will be fixed in version 2.0.0. However, these fixes will require a small API change and will not be entirely backwards-compatible.

      v1.0.0

      Files

      • Release date: 2015-12-28
      • SHA-256: 767dc2fab1819d7b9e19b6e456d61e38d21ef7182606ecf01516e3f5230446de

      Summary

      This is the first official release. Compared to the prerelease version 1.0.0-rc1, only a few minor improvements have been made:

      Changes

      • Changed: A UTF-8 byte order mark is silently ignored.
      • Changed: sprintf is no longer used.
      • Changed: iterator_wrapper also works for const objects; note: the name may change!
      • Changed: Error messages during deserialization have been improved.
      • Added: The parse function now also works with type std::istream&&.
      • Added: Function value(key, default_value) returns either a copy of an object's element at the specified key or a given default value if no element with the key exists.
      • Added: Public functions are tagged with the version they were introduced. This shall allow for better versioning in the future.
      • Added: All public functions and types are documented (see http://nlohmann.github.io/json/doxygen/) including executable examples.
      • Added: Allocation of all types (in particular arrays, strings, and objects) is now exception-safe.
      • Added: They descriptions of thrown exceptions have been overworked and are part of the tests suite and documentation.
      \ No newline at end of file +

      v2.1.1

      Files

      Release date: 2017-02-25 SHA-256: faa2321beb1aa7416d035e7417fcfa59692ac3d8c202728f9bcc302e2d558f57

      Summary

      This release fixes a locale-related bug in the parser. To do so, the whole number handling (lexer, parser, and also the serialization) have been overworked. Furthermore, a lot of small changes added up that were added to this release. All changes are backward-compatible.

      Changes

      • 🐛 Locales that have a different character than . as decimal separator (e.g., the Norwegian locale nb_NO.UTF-8) led to truncated number parsing or parse errors. The library now has been fixed to work with any locale. Note that . is still the only valid decimal separator for JSON input.
      • 🐛 Numbers like 1.0 were correctly parsed as floating-point number, but serialized as integer (1). Now, floating-point numbers correctly round trip.
      • 🐛 Parsing incorrect JSON numbers with leading 0 (0123) could yield a buffer overflow. This is fixed now by detecting such errors directly by the lexer.
      • 🐛 Constructing a JSON value from a pointer was incorrectly interpreted as a Boolean; such code will now yield a compiler error.
      • 🐛 Comparing a JSON number with 0 led to a comparison with null. This is fixed now.
      • 🐛 All throw calls are now wrapped in macros.
      • 🔒 Starting during the preparation of this release (since 8 February 2017), commits and released files are cryptographically signed with this GPG key. Previous releases have also been signed.
      • ✨ The parser for MessagePack and CBOR now supports an optional start index parameter to define a byte offset for the parser.
      • 🚨 Some more warnings have been fixed. With Clang, the code compiles without warnings with -Weverything (well, it needs -Wno-documentation-unknown-command and -Wno-deprecated-declarations, but you get the point).
      • 🔨 The code can be compiled easier with many Android NDKs by avoiding macros like UINT8_MAX which previously required defining a preprocessor macro for compilation.
      • ⚡ The unit tests now compile two times faster.
      • ➕ Cotire is used to speed up the build.
      • ✏ Fixed a lot of typos in the documentation.
      • 📝 Added a section to the README file that lists all used third-party code/tools.
      • 📝 Added a note on constructing a string value vs. parsing.
      • ✅ The test suite now contains 11202597 unit tests.
      • 📝 Improved the Doxygen documentation by shortening the template parameters of class basic_json.
      • 👷 Removed Doozer.
      • 👷 Added Codacity.
      • ⬆ Upgraded Catch to version 1.7.2.

      v2.1.0

      Files

      • Release date: 2017-01-28
      • SHA-256: a571dee92515b685784fd527e38405cf3f5e13e96edbfe3f03d6df2e363a767b

      Summary

      This release introduces a means to convert from/to user-defined types. The release is backwards compatible.

      conversion

      Changes

      • ✨ The library now offers an elegant way to convert from and to arbitrary value types. All you need to do is to implement two functions: to_json and from_json. Then, a conversion is as simple as putting a = between variables. See the README for more information and examples.
      • ✨ Exceptions can now be switched off. This can be done by defining the preprocessor symbol JSON_NOEXCEPTION or by passing -fno-exceptions to your compiler. In case the code would usually thrown an exception, abort() is now called.
      • ✨ Information on the library can be queried with the new (static) function meta() which returns a JSON object with information on the version, compiler, and platform. See the documentation for an example.
      • 🐛 A bug in the CBOR parser was fixed which led to a buffer overflow.
      • ✨ The function type_name() is now public. It allows to query the type of a JSON value as string.
      • ✅ Added the Big List of Naughty Strings as test case.
      • ⬆ Updated to Catch v1.6.0.
      • 📝 Some typos in the documentation have been fixed.

      v2.0.10

      Files

      • Release date: 2017-01-02
      • SHA-256: ec27d4e74e9ce0f78066389a70724afd07f10761009322dc020656704ad5296d

      Summary

      This release fixes several security-relevant bugs in the MessagePack and CBOR parsers. The fixes are backwards compatible.

      Changes

      • 🐛 Fixed a lot of bugs in the CBOR and MesssagePack parsers. These bugs occurred if invalid input was parsed and then could lead in buffer overflows. These bugs were found with Google's OSS-Fuzz, see #405, #407, #408, #409, #411, and #412 for more information.
      • 👷 We now also use the Doozer continuous integration platform.
      • 👷 The complete test suite is now also run with Clang's address sanitizer and undefined-behavior sanitizer.
      • ✅ Overworked fuzz testing; CBOR and MessagePack implementations are now fuzz-tested. Furthermore, all fuzz tests now include a round trip which ensures created output can again be properly parsed and yields the same JSON value.
      • 📝 Clarified documentation of find() function to always return end() when called on non-object value types.
      • 🔨 Moved thirdparty test code to test/thirdparty directory.

      v2.0.9

      Files

      • Release date: 2016-12-16
      • SHA-256: fbf3396f13e187d6c214c297bddc742d918ea9b55e10bfb3d9f458b9bfdc22e5

      Summary

      This release implements with CBOR and MessagePack two binary serialization/deserialization formats. It further contains some small fixes and improvements. The fixes are backwards compatible.

      cbor

      Changes

      • ✨ The library can now read and write the binary formats CBOR (Concise Binary Object Representation) and MessagePack. Both formats are aimed to produce a very compact representation of JSON which can be parsed very efficiently. See the README file for more information and examples.
      • 🔥 simplified the iteration implementation allowing to remove dozens of lines of code
      • 🐛 fixed an integer overflow error detected by Google's OSS-Fuzz
      • 🐛 suppressed documentation warnings inside the library to facilitate compilation with -Wdocumentation
      • 🐛 fixed an overflow detection error in the number parser
      • 📝 updated contribution guidelines to a list of frequentely asked features that will most likely be never added to the library
      • 📝 added a table of contents to the README file to add some structure
      • 📝 mentioned the many examples and the documentation in the README file
      • 🔨 split unit tests into individual independent binaries to speed up compilation and testing
      • ✅ the test suite now contains 11201886 tests

      v2.0.8

      Files

      • Release date: 2016-12-02
      • SHA-256: b70db0ad34f8e0e61dc3f0cbab88099336c9674c193d8a3439d93d6aca2d7120

      Summary

      This release combines a lot of small fixes and improvements. The fixes are backwards compatible.

      Changes

      • 🐛 fixed a bug that froze the parser if a passed file was not found (now, std::invalid_argument is thrown)
      • 🐛 fixed a bug that lead to an error of a file at EOF was parsed again (now, std::invalid_argument is thrown)
      • ✨ the well known functions emplace and emplace_back have been added to JSON values and work as expected
      • ⚡ improved the performance of the serialization (dump function)
      • ⚡ improved the performance of the deserialization (parser)
      • 👷 some continuous integration images at Travis were added and retired; see here for the current continuous integration setup
      • 👷 the Coverity scan works again
      • 📈 the benchmarking code has been improved to produce more stable results
      • 📝 the README file has been extended and includes more frequently asked examples
      • ✅ the test suite now contains 8905518 tests
      • ⬆ updated Catch to version 1.5.8

      v2.0.7

      Files

      • Release date: 2016-11-02
      • SHA-256: 5545c323670f8165bae90b9dc6078825e86ec310d96cc4e5b47233ea43715bbf

      Summary

      This release fixes a few bugs in the JSON parser found in the Parsing JSON is a Minefield 💣 article. The fixes are backwards compatible.

      Changes

      • The article Parsing JSON is a Minefield 💣 discusses a lot of pitfalls of the JSON specification. When investigating the published test cases, a few bugs in the library were found and fixed:
      • Files with less than 5 bytes can now be parsed without error.
      • The library now properly rejects any file encoding other than UTF-8. Furthermore, incorrect surrogate pairs are properly detected and rejected.
      • The library now accepts all but one "yes" test (y_string_utf16.json): UTF-16 is not supported.
      • The library rejects all but one "no" test (n_number_then_00.json): Null bytes are treated as end of file instead of an error. This allows to parse input from null-terminated strings.
      • The string length passed to a user-defined string literal is now exploited to choose a more efficient constructor.
      • A few grammar mistakes in the README file have been fixed.

      v2.0.6

      Files

      • Release date: 2016-10-15
      • SHA256: 459cc93d5e2f503e50c6d5876eb86bfea7daf405f5a567c5a2c9abc2383756ae

      Summary

      This release fixes the semantics of operator[] for JSON Pointers (see below). This fix is backwards compatible.

      Changes

      • operator[] for JSON Pointers now behaves like the other versions of operator[] and transforms null values into objects or arrays if required. This allows to created nested structures like j["/foo/bar/2"] = 17 (yielding {"foo": "bar": [null, null, 17]}) without problems.
      • overworked a helper SFINAE function
      • fixed some documentation issues
      • fixed the CMake files to allow to run the test suite outside the main project directory
      • restored test coverage to 100%.

      v2.0.5

      Files

      • Release date: 2016-09-14
      • SHA-256: 8b7565263a44e2b7d3b89808bc73d2d639037ff0c1f379e3d56dbd77e00b98d9

      Summary

      This release fixes a regression bug in the stream parser (function parse() and the <</>> operators). This fix is backwards compatible.

      Changes

      • Bug fix: The end of a file stream was not detected properly which led to parse errors. This bug should have been fixed with 2.0.4, but there was still a flaw in the code.

      v2.0.4

      Files

      • Release date: 2016-09-11
      • SHA-256: 632ceec4c25c4e2153f71470d3a2b992c8355f6d8b4d627d05dd16095cd3aeda

      Summary

      This release fixes a bug in the stream parser (function parse() and the <</>> operators). This fix is backwards compatible.

      Changes

      • Bug fix: The end of a file stream was not detected properly which led to parse errors.
      • Fixed a compiler warning about an unused variable.

      v2.0.3

      Files

      • Release date: 2016-08-31
      • SHA-256: 535b73efe5546fde9e763c14aeadfc7b58183c0b3cd43c29741025aba6cf6bd3

      Summary

      This release combines a lot of small fixes and improvements. The release is backwards compatible.

      Changes

      • The parser/deserialization functions have been generalized to process any contiguous sequence of 1-byte elements (e.g., char, unsigned char, uint8_t). This includes all kind of string representations (string literals, char arrays, std::string, const char*), contiguous containers (C-style arrays, std::vector, std::array, std::valarray, std::initializer_list). User-defined containers providing random-access iterator access via std::begin and std::end can be used as well. See the documentation (1, 2, 3, 4) for more information. Note that contiguous storage cannot be checked at compile time; if any of the parse functions are called with a noncompliant container, the behavior is undefined and will most likely yield segmentation violation. The preconditions are enforced by an assertion unless the library is compiled with preprocessor symbol NDEBUG.
      • As a general remark on assertions: The library uses assertions to preclude undefined behavior. A prominent example for this is the operator[] for const JSON objects. The behavior of this const version of the operator is undefined if the given key does not exist in the JSON object, because unlike the non-const version, it cannot add a null value at the given key. Assertions can be switched of by defining the preprocessor symbol NDEBUG. See the documentation of assert for more information.
      • In the course of cleaning up the parser/deserialization functions, the constructor basic_json(std::istream&, const parser_callback_t) has been deprecated and will be deleted with the next major release 3.0.0 to unify the interface of the library. Deserialization will be done by stream operators or by calling one of the parse functions. That is, calls like json j(i); for an input stream i need to be replaced by json j = json::parse(i);. Compilers will produce a deprecation warning if client code uses this function.
      • Minor improvements:
      • Improved the performance of the serialization by avoiding the re-creation of a locale object.
      • Fixed two MSVC warnings. Compiling the test suite with /Wall now only warns about non-inlined functions (C4710) and the deprecation of the constructor from input-stream (C4996).
      • Some project internals:
      • The project has qualified for the Core Infrastructure Initiative Best Practices Badge. While most requirements where already satisfied, some led to more explicit documentation of quality-ensuring procedures. For instance, static analysis is now executed with every commit on the build server. Furthermore, the contribution guidelines document how to communicate security issues privately.
      • The test suite has been overworked and split into several files to allow for faster compilation and analysis. The execute the test suite, simply execute make check.
      • The continuous integration with Travis was extended with Clang versions 3.6.0 to 3.8.1 and now includes 18 different compiler/OS combinations.
      • An 11-day run of American fuzzy lop checked 962 million inputs on the parser and found no issue.

      v2.0.2

      Files

      • Release date: 2016-07-31
      • SHA-256: 8e97b7965b4594b00998d6704465412360e1a0ed927badb51ded8b82291a8f3d

      Summary

      This release combines a lot of small fixes and improvements. The release is backwards compatible.

      Changes

      • The parser has been overworked, and a lot of small issues have been fixed:
      • Improved parser performance by avoiding recursion and using move semantics for the return value.
      • Unescaped control characters \x10-\x1f are not accepted any more.
      • Fixed a bug in the parser when reading from an input stream.
      • Improved test case coverage for UTF-8 parsing: now, all valid Unicode code points are tested both escaped and unescaped.
      • The precision of output streams is now preserved by the parser.
      • Started to check the code correctness by proving termination of important loops. Furthermore, individual assertions have been replaced by a more systematic function which checks the class invariants. Note that assertions should be switched off in production by defining the preprocessor macro NDEBUG, see the documentation of assert.
      • A lot of code cleanup: removed unused headers, fixed some compiler warnings, and fixed a build error for Windows-based Clang builds.
      • Added some compile-time checks:
      • Unsupported compilers are rejected during compilation with an #error command.
      • Static assertion prohibits code with incompatible pointer types used in get_ptr().
      • Improved the documentation, and adjusted the documentation script to choose the correct version of sed.
      • Replaced a lot of "raw loops" by STL functions like std::all_of, std::for_each, or std::accumulate. This facilitates reasoning about termination of loops and sometimes allowed to simplify functions to a single return statement.
      • Implemented a value() function for JSON pointers (similar to at function).
      • The Homebrew formula (see Integration) is now tested for all Xcode builds (6.1 - 8.x) with Travis.
      • Avoided output to std::cout in the test cases.

      v2.0.1

      Files

      • Release date: 2016-06-28
      • SHA-256: ef550fcd7df572555bf068e9ec4e9d3b9e4cdd441cecb0dcea9ea7fd313f72dd

      Summary

      This release fixes a performance regression in the JSON serialization (function dump()). This fix is backwards compatible.

      Changes

      • The locale of the output stream (or the internal string stream if a JSON value is serialized to a string) is now adjusted once for the whole serialization instead of for each floating-point number.
      • The locale of an output stream is now correctly reset to the previous value by the JSON library.

      v2.0.0

      Files

      • Release date: 2016-06-24
      • SHA-256: ac9e1fb25c2ac9ca5fc501fcd2fe3281fe04f07018a1b48820e7b1b11491bb6c

      Summary

      This release adds several features such as JSON Pointers, JSON Patch, or support for 64 bit unsigned integers. Furthermore, several (subtle) bugs have been fixed.

      As noexcept and constexpr specifier have been added to several functions, the public API has effectively been changed in a (potential) non-backwards compatible manner. As we adhere to Semantic Versioning, this calls for a new major version, so say hello to 2️⃣.0️⃣.0️⃣.

      Changes

      • 🔟 A JSON value now uses uint64_t (default value for template parameter NumberUnsignedType) as data type for unsigned integer values. This type is used automatically when an unsigned number is parsed. Furthermore, constructors, conversion operators and an is_number_unsigned() test have been added.
      • 👉 JSON Pointer (RFC 6901) support: A JSON Pointer is a string (similar to an XPath expression) to address a value inside a structured JSON value. JSON Pointers can be used in at() and operator[] functions. Furthermore, JSON values can be “flattened” to key/value pairs using flatten() where each key is a JSON Pointer. The original value can be restored by “unflattening” the flattened value using unflatten().
      • 🏥 JSON Patch (RFC 6902) support. A JSON Patch is a JSON value that describes the required edit operations (add, change, remove, …) to transform a JSON value into another one. A JSON Patch can be created with function diff(const basic_json&) and applied with patch(const basic_json&). Note the created patches use a rather primitive algorithm so far and leave room for improvement.
      • 🇪🇺 The code is now locale-independent: Floating-point numbers are always serialized with a period (.) as decimal separator and ignores different settings from the locale.
      • 🍺 Homebrew support: Install the library with brew tap nlohmann/json && brew install nlohmann_json.
      • Added constructor to create a JSON value by parsing a std::istream (e.g., std::stringstream or std::ifstream).
      • Added noexcept specifier to basic_json(boolean_t), basic_json(const number_integer_t), basic_json(const int), basic_json(const number_float_t), iterator functions (begin(), end(), etc.)
      • When parsing numbers, the sign of 0.0 (vs. -0.0) is preserved.
      • Improved MSVC 2015, Android, and MinGW support. See README for more information.
      • Improved test coverage (added 2,225,386 tests).
      • Removed some misuses of std::move.
      • Fixed several compiler warnings.
      • Improved error messages from JSON parser.
      • Updated to re2c to version 0.16 to use a minimal DFAs for the lexer.
      • Updated test suite to use Catch version 1.5.6.
      • Made type getters (is_number, etc.) and const value access constexpr.
      • Functions push_back and operator+= now work with key/value pairs passed as initializer list, e.g. j_object += {"key", 1}.
      • Overworked CMakeLists.txt to make it easier to integrate the library into other projects.

      Notes

      • Parser error messages are still very vague and contain no information on the error location.
      • The implemented diff function is rather primitive and does not create minimal diffs.
      • The name of function iteration_wrapper may change in the future and the function will be deprecated in the next release.
      • Roundtripping (i.e., parsing a JSON value from a string, serializing it, and comparing the strings) of floating-point numbers is not 100% accurate. Note that RFC 8259 defines no format to internally represent numbers and states not requirement for roundtripping. Nevertheless, benchmarks like Native JSON Benchmark treat roundtripping deviations as conformance errors.

      v1.1.0

      Files

      • Release date: 2016-01-24
      • SHA-256: c0cf0e3017798ca6bb18e757ebc570d21a3bdac877845e2b9e9573d183ed2f05

      Summary

      This release fixes several small bugs and adds functionality in a backwards-compatible manner. Compared to the last version (1.0.0), the following changes have been made:

      Changes

      • Fixed: Floating-point numbers are now serialized and deserialized properly such that roundtripping works in more cases. [#185, #186, #190, #191, #194]
      • Added: The code now contains assertions to detect undefined behavior during development. As the standard function assert is used, the assertions can be switched off by defining the preprocessor symbol NDEBUG during compilation. [#168]
      • Added: It is now possible to get a reference to the stored values via the newly added function get_ref(). [#128, #184]
      • Fixed: Access to object values via keys (operator[]) now works with all kind of string representations. [#171, #189]
      • Fixed: The code now compiles again with Microsoft Visual Studio 2015. [#144, #167, #188]
      • Fixed: All required headers are now included.
      • Fixed: Typos and other small issues. [#162, #166, #175, #177, #179, #180]

      Notes

      There are still known open issues (#178, #187) which will be fixed in version 2.0.0. However, these fixes will require a small API change and will not be entirely backwards-compatible.

      v1.0.0

      Files

      • Release date: 2015-12-28
      • SHA-256: 767dc2fab1819d7b9e19b6e456d61e38d21ef7182606ecf01516e3f5230446de

      Summary

      This is the first official release. Compared to the prerelease version 1.0.0-rc1, only a few minor improvements have been made:

      Changes

      • Changed: A UTF-8 byte order mark is silently ignored.
      • Changed: sprintf is no longer used.
      • Changed: iterator_wrapper also works for const objects; note: the name may change!
      • Changed: Error messages during deserialization have been improved.
      • Added: The parse function now also works with type std::istream&&.
      • Added: Function value(key, default_value) returns either a copy of an object's element at the specified key or a given default value if no element with the key exists.
      • Added: Public functions are tagged with the version they were introduced. This shall allow for better versioning in the future.
      • Added: All public functions and types are documented (see http://nlohmann.github.io/json/doxygen/) including executable examples.
      • Added: Allocation of all types (in particular arrays, strings, and objects) is now exception-safe.
      • Added: They descriptions of thrown exceptions have been overworked and are part of the tests suite and documentation.
    \ No newline at end of file diff --git a/home/sponsors/index.html b/home/sponsors/index.html index c066f1e8d..ac2aeb0cb 100644 --- a/home/sponsors/index.html +++ b/home/sponsors/index.html @@ -1 +1 @@ - Sponsors - JSON for Modern C++
    \ No newline at end of file + Sponsors - JSON for Modern C++
    \ No newline at end of file diff --git a/index.html b/index.html index aa7eb93a9..5370bf7ec 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ - JSON for Modern C++ - JSON for Modern C++

    JSON for Modern C++

    \ No newline at end of file + JSON for Modern C++ - JSON for Modern C++

    JSON for Modern C++

    \ No newline at end of file diff --git a/integration/cmake/index.html b/integration/cmake/index.html index 28f4cd051..35df12e26 100644 --- a/integration/cmake/index.html +++ b/integration/cmake/index.html @@ -1,4 +1,4 @@ - CMake - JSON for Modern C++

    CMake

    Integration

    You can use the nlohmann_json::nlohmann_json interface target in CMake. This target populates the appropriate usage requirements for INTERFACE_INCLUDE_DIRECTORIES to point to the appropriate include directories and INTERFACE_COMPILE_FEATURES for the necessary C++11 flags.

    External

    To use this library from a CMake project, you can locate it directly with find_package() and use the namespaced imported target from the generated package configuration:

    Example

    CMakeLists.txt
    cmake_minimum_required(VERSION 3.5)
    + CMake - JSON for Modern C++      

    CMake

    Integration

    You can use the nlohmann_json::nlohmann_json interface target in CMake. This target populates the appropriate usage requirements for INTERFACE_INCLUDE_DIRECTORIES to point to the appropriate include directories and INTERFACE_COMPILE_FEATURES for the necessary C++11 flags.

    External

    To use this library from a CMake project, you can locate it directly with find_package() and use the namespaced imported target from the generated package configuration:

    Example

    CMakeLists.txt
    cmake_minimum_required(VERSION 3.5)
     project(ExampleProject LANGUAGES CXX)
     
     find_package(nlohmann_json 3.12.0 REQUIRED)
    @@ -46,4 +46,4 @@
         GIT_REPOSITORY https://github.com/nlohmann/json
         GIT_TAG v3.12.0
     )
    -

    However, the repository https://github.com/nlohmann/json download size is quite large.

    CMake Options

    JSON_BuildTests

    Build the unit tests when BUILD_TESTING is enabled. This option is ON by default if the library's CMake project is the top project. That is, when integrating the library as described above, the test suite is not built unless explicitly switched on with this option.

    JSON_CI

    Enable CI build targets. The exact targets are used during the several CI steps and are subject to change without notice. This option is OFF by default.

    JSON_Diagnostics

    Enable extended diagnostic messages by defining macro JSON_DIAGNOSTICS. This option is OFF by default.

    JSON_Diagnostic_Positions

    Enable position diagnostics by defining macro JSON_DIAGNOSTIC_POSITIONS. This option is OFF by default.

    JSON_DisableEnumSerialization

    Disable default enum serialization by defining the macro JSON_DISABLE_ENUM_SERIALIZATION. This option is OFF by default.

    JSON_FastTests

    Skip expensive/slow test suites. This option is OFF by default. Depends on JSON_BuildTests.

    JSON_GlobalUDLs

    Place user-defined string literals in the global namespace by defining the macro JSON_USE_GLOBAL_UDLS. This option is OFF by default.

    JSON_ImplicitConversions

    Enable implicit conversions by defining macro JSON_USE_IMPLICIT_CONVERSIONS. This option is ON by default.

    JSON_Install

    Install CMake targets during install step. This option is ON by default if the library's CMake project is the top project.

    JSON_LegacyDiscardedValueComparison

    Enable the (incorrect) legacy comparison behavior of discarded JSON values by defining macro JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON. This option is OFF by default.

    JSON_MultipleHeaders

    Use the non-amalgamated version of the library. This option is OFF by default.

    JSON_SystemInclude

    Treat the library headers like system headers (i.e., adding SYSTEM to the target_include_directories call) to check for this library by tools like Clang-Tidy. This option is OFF by default.

    JSON_Valgrind

    Execute the test suite with Valgrind. This option is OFF by default. Depends on JSON_BuildTests.

    \ No newline at end of file +

    However, the repository https://github.com/nlohmann/json download size is quite large.

    CMake Options

    JSON_BuildTests

    Build the unit tests when BUILD_TESTING is enabled. This option is ON by default if the library's CMake project is the top project. That is, when integrating the library as described above, the test suite is not built unless explicitly switched on with this option.

    JSON_CI

    Enable CI build targets. The exact targets are used during the several CI steps and are subject to change without notice. This option is OFF by default.

    JSON_Diagnostics

    Enable extended diagnostic messages by defining macro JSON_DIAGNOSTICS. This option is OFF by default.

    JSON_Diagnostic_Positions

    Enable position diagnostics by defining macro JSON_DIAGNOSTIC_POSITIONS. This option is OFF by default.

    JSON_DisableEnumSerialization

    Disable default enum serialization by defining the macro JSON_DISABLE_ENUM_SERIALIZATION. This option is OFF by default.

    JSON_FastTests

    Skip expensive/slow test suites. This option is OFF by default. Depends on JSON_BuildTests.

    JSON_GlobalUDLs

    Place user-defined string literals in the global namespace by defining the macro JSON_USE_GLOBAL_UDLS. This option is OFF by default.

    JSON_ImplicitConversions

    Enable implicit conversions by defining macro JSON_USE_IMPLICIT_CONVERSIONS. This option is ON by default.

    JSON_Install

    Install CMake targets during install step. This option is ON by default if the library's CMake project is the top project.

    JSON_LegacyDiscardedValueComparison

    Enable the (incorrect) legacy comparison behavior of discarded JSON values by defining macro JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON. This option is OFF by default.

    JSON_MultipleHeaders

    Use the non-amalgamated version of the library. This option is OFF by default.

    JSON_SystemInclude

    Treat the library headers like system headers (i.e., adding SYSTEM to the target_include_directories call) to check for this library by tools like Clang-Tidy. This option is OFF by default.

    JSON_Valgrind

    Execute the test suite with Valgrind. This option is OFF by default. Depends on JSON_BuildTests.

    \ No newline at end of file diff --git a/integration/index.html b/integration/index.html index 63b66b5e0..374177d51 100644 --- a/integration/index.html +++ b/integration/index.html @@ -1,5 +1,5 @@ - Header only - JSON for Modern C++

    Header only

    json.hpp is the single required file in single_include/nlohmann or released here. You need to add

    #include <nlohmann/json.hpp>
    + Header only - JSON for Modern C++      

    Header only

    json.hpp is the single required file in single_include/nlohmann or released here. You need to add

    #include <nlohmann/json.hpp>
     
     // for convenience
     using json = nlohmann::json;
    -

    to the files you want to process JSON and set the necessary switches to enable C++11 (e.g., -std=c++11 for GCC and Clang).

    You can further use file single_include/nlohmann/json_fwd.hpp for forward declarations.

    \ No newline at end of file +

    to the files you want to process JSON and set the necessary switches to enable C++11 (e.g., -std=c++11 for GCC and Clang).

    You can further use file single_include/nlohmann/json_fwd.hpp for forward declarations.

    \ No newline at end of file diff --git a/integration/migration_guide/index.html b/integration/migration_guide/index.html index 5221a68ff..95d43d57a 100644 --- a/integration/migration_guide/index.html +++ b/integration/migration_guide/index.html @@ -1,4 +1,4 @@ - Migration Guide - JSON for Modern C++

    Migration Guide

    This page collects some guidelines on how to future-proof your code for future versions of this library.

    Replace deprecated functions

    The following functions have been deprecated and will be removed in the next major version (i.e., 4.0.0). All deprecations are annotated with HEDLEY_DEPRECATED_FOR to report which function to use instead.

    Parsing

    \ No newline at end of file diff --git a/integration/package_managers/index.html b/integration/package_managers/index.html index 0824932e3..00ae38548 100644 --- a/integration/package_managers/index.html +++ b/integration/package_managers/index.html @@ -1,4 +1,4 @@ - Package Managers - JSON for Modern C++

    Package Managers

    Homebrew Homebrew nlohmann-jsonMeson Meson nlohmann_jsonBazel Bazel nlohmann_json
    Conan Conan nlohmann_jsonSpack Spack nlohmann-jsonHunter nlohmann_json
    vcpkg vcpkg nlohmann-jsoncget nlohmann/jsonSwift Package Manager Swift Package Manager nlohmann/json
    Nuget NuGet nlohmann.jsonConda Conda nlohmann_jsonMacPorts MacPorts nlohmann-json
    cpm.cmake CPM.cmake gh:nlohmann/json xmake xmake nlohmann_json

    Running example

    Throughout this page, we will describe how to compile the example file example.cpp below.

    #include <nlohmann/json.hpp>
    + Package Managers - JSON for Modern C++      

    Package Managers

    Homebrew Homebrew nlohmann-jsonMeson Meson nlohmann_jsonBazel Bazel nlohmann_json
    Conan Conan nlohmann_jsonSpack Spack nlohmann-jsonHunter nlohmann_json
    vcpkg vcpkg nlohmann-jsoncget nlohmann/jsonSwift Package Manager Swift Package Manager nlohmann/json
    Nuget NuGet nlohmann.jsonConda Conda nlohmann_jsonMacPorts MacPorts nlohmann-json
    cpm.cmake CPM.cmake gh:nlohmann/json xmake xmake nlohmann_json

    Running example

    Throughout this page, we will describe how to compile the example file example.cpp below.

    #include <nlohmann/json.hpp>
     #include <iostream>
     #include <iomanip>
     
    @@ -330,4 +330,4 @@ cmake --build build
         set_languages("cxx11")
     
  • Build

    xmake
     
  • Run

    xmake run
    -

  • Other package managers

    The library is also contained in many other package repositories: Packaging status

    Package version overview

    Packaging status


    Buckaroo

    If you are using Buckaroo, you can install this library's module with buckaroo add github.com/buckaroo-pm/nlohmann-json. There is a demo repo here.

    Warning

    The module is outdated as the respective repository has not been updated in years.

    CocoaPods

    If you are using CocoaPods, you can use the library by adding pod "nlohmann_json", '~>3.1.2' to your podfile (see an example). Please file issues here.

    Warning

    The module is outdated as the respective pod has not been updated in years.

    \ No newline at end of file +

    Other package managers

    The library is also contained in many other package repositories: Packaging status

    Package version overview

    Packaging status


    Buckaroo

    If you are using Buckaroo, you can install this library's module with buckaroo add github.com/buckaroo-pm/nlohmann-json. There is a demo repo here.

    Warning

    The module is outdated as the respective repository has not been updated in years.

    CocoaPods

    If you are using CocoaPods, you can use the library by adding pod "nlohmann_json", '~>3.1.2' to your podfile (see an example). Please file issues here.

    Warning

    The module is outdated as the respective pod has not been updated in years.

    \ No newline at end of file diff --git a/integration/pkg-config/index.html b/integration/pkg-config/index.html index 7e8cd8806..11f14e852 100644 --- a/integration/pkg-config/index.html +++ b/integration/pkg-config/index.html @@ -1,3 +1,3 @@ - Pkg-config - JSON for Modern C++

    Pkg-config

    If you are using bare Makefiles, you can use pkg-config to generate the include flags that point to where the library is installed:

    pkg-config nlohmann_json --cflags
    + Pkg-config - JSON for Modern C++      

    Pkg-config

    If you are using bare Makefiles, you can use pkg-config to generate the include flags that point to where the library is installed:

    pkg-config nlohmann_json --cflags
     

    Users of the Meson build system will also be able to use a system-wide library, which will be found by pkg-config:

    json = dependency('nlohmann_json', required: true)
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index f69bbe1a9..bdbdda326 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,950 +2,950 @@ https://json.nlohmann.me/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/operator_gtgt/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/operator_literal_json/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/operator_literal_json_pointer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/operator_ltlt/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/ordered_json/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/ordered_map/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/adl_serializer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/adl_serializer/from_json/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/adl_serializer/to_json/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/accept/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/array/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/array_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/at/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/back/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/basic_json/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/begin/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/binary/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/binary_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/boolean_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/cbegin/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/cbor_tag_handler_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/cend/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/clear/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/contains/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/count/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/crbegin/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/crend/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/default_object_comparator_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/diff/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/dump/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/emplace/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/emplace_back/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/empty/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/end/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/end_pos/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/erase/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/error_handler_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/exception/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/find/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/flatten/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/from_bjdata/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/from_bson/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/from_cbor/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/from_msgpack/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/from_ubjson/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/front/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/get/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/get_allocator/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/get_binary/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/get_ptr/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/get_ref/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/get_to/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/input_format_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/insert/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/invalid_iterator/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_array/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_binary/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_boolean/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_discarded/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_null/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_number/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_number_float/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_number_integer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_number_unsigned/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_object/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_primitive/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_string/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/is_structured/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/items/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/json_base_class_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/json_serializer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/max_size/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/merge_patch/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/meta/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/number_float_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/number_integer_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/number_unsigned_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/object/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/object_comparator_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/object_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator%2B%3D/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator%3D/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator%5B%5D/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_ValueType/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_eq/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_ge/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_gt/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_le/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_lt/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_ne/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_spaceship/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/operator_value_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/other_error/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/out_of_range/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/parse/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/parse_error/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/parse_event_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/parser_callback_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/patch/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/patch_inplace/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/push_back/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/rbegin/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/rend/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/sax_parse/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/size/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/start_pos/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/std_hash/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/std_swap/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/string_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/swap/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/to_bjdata/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/to_bson/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/to_cbor/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/to_msgpack/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/to_string/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/to_ubjson/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/type/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/type_error/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/type_name/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/unflatten/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/update/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/value/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/value_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/basic_json/~basic_json/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/byte_container_with_subtype/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/byte_container_with_subtype/byte_container_with_subtype/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/byte_container_with_subtype/clear_subtype/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/byte_container_with_subtype/has_subtype/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/byte_container_with_subtype/set_subtype/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/byte_container_with_subtype/subtype/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/back/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/empty/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/json_pointer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/operator_eq/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/operator_ne/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/operator_slash/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/operator_slasheq/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/operator_string_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/parent_pointer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/pop_back/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/push_back/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/string_t/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_pointer/to_string/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/binary/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/boolean/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/end_array/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/end_object/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/key/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/null/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/number_float/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/number_integer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/number_unsigned/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/parse_error/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/start_array/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/start_object/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/json_sax/string/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_assert/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_diagnostic_positions/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_diagnostics/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_disable_enum_serialization/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_has_cpp_11/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_has_filesystem/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_has_ranges/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_has_static_rtti/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_has_three_way_comparison/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_no_io/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_noexception/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_skip_library_version_check/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_skip_unsupported_compiler_check/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_throw_user/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_use_global_udls/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_use_implicit_conversions/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/json_use_legacy_discarded_value_comparison/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/nlohmann_json_namespace/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/nlohmann_json_namespace_begin/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/nlohmann_json_namespace_no_version/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/nlohmann_json_serialize_enum/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/api/macros/nlohmann_json_version_major/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/community/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/community/code_of_conduct/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/community/contribution_guidelines/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/community/governance/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/community/quality_assurance/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/community/security_policy/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/arbitrary_types/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/assertions/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/binary_values/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/comments/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/enum_conversion/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/iterators/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/json_patch/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/json_pointer/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/macros/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/merge_patch/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/modules/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/namespace/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/object_order/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/trailing_commas/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/binary_formats/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/binary_formats/bjdata/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/binary_formats/bson/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/binary_formats/cbor/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/binary_formats/messagepack/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/binary_formats/ubjson/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/element_access/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/element_access/checked_access/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/element_access/default_value/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/element_access/unchecked_access/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/parsing/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/parsing/json_lines/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/parsing/parse_exceptions/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/parsing/parser_callbacks/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/parsing/sax_interface/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/types/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/features/types/number_handling/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/home/architecture/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/home/customers/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/home/design_goals/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/home/exceptions/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/home/faq/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/home/license/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/home/releases/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/home/sponsors/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/integration/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/integration/cmake/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/integration/migration_guide/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/integration/package_managers/ - 2026-03-04 + 2026-03-13 https://json.nlohmann.me/integration/pkg-config/ - 2026-03-04 + 2026-03-13 \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index c0071cd70682b95a21bb10864dc943711fd55704..992c2cf262bb0f1f37f37216bded023de4d24a98 100644 GIT binary patch literal 1742 zcmV;<1~K^`iwFpSQ?qFT|8r?{Wo=<_E_iKh0M(t_ZrnByhVSzfhJjq#YbQw27LEf1 zMV}z;Eis}-5^aiPNXqv1qR(EEEAPRnQxpaGvwO4NgY|#nVK_q$xi_DlW_|X+J}7HG zo?l;Hou9FhwpV8Sc>dd$UoU<<|8)E2X7M_3JWF3T;p6!fqx*TYd3=1l3@Y+WE?ina zZi1ZBi?CVW++1D$bbkBhEIslCc7K(}jkfYOUnQi=+y!ecjkeQF#$3+4x!L58kH1YJ z&bGgOclGXvi>vn+*YDF;*7tUo-|VmduawBC@@8d8>)2DYUW{>!C~ci8$&(hy`#)w7 z&MK2$!dRlNUKhS+&po6HR_WYL>nc;PMPRQ;t3RsO_6zaB+Zj>%FEFA-Ky(z81Phat z>>^O#d)k8K1@iuZ+8xPzq&mL!cRVVjyfWmsXnkb!@2u5K28kfSjX-wE_lY!$iA=BA zL(76q4^&T0!2{*3iKI+G5-bK;`ySmDJhc7wJkX+}u-zTYD5RYo?Lre^rSxhTfa=Ta zaOyleO_JdN0_!OyiU{-)pnWol3ul2gnLPz$3-mtOp9Wk5e#(KOLVD|iLbk*~Q;dwf z{XAFF-Srd+4FL_>3PSdp!3c909dukM6iau9t_`HmIx<#VkWT-RokT1KdMY6^xCkx; z&jS`9TAaQzZi!;Bex`_Y6jB7u9;*L9TJ@r=Y(e{_3IaU6oe0o|AtUT2`JfEF3X*)! zJ(R*MT7v=Rj(r0NV$c@3_Hh8oYu;lUWwMx{Mgwl6yV)-&g7a!tQ9Uq}B1Esuh(=gs zTs*W%M4o~3FC{Z2y=EcPi`eg8`X98Exc`26-m103Ra(hGmtI&Of4zcv6d zwonpd1N~L#7D__5P!gtvk_e6@he^2xSRS&~fDS5gO5R3UAO%7!QP@FvGDxG5oQ!~$ zN7uv(@xTV^>J$twBx#+qMzAQ*@T|zExCETThb=b7JKu-c}psswn_rPW)39)c-~NAK(B2i1a#t3gid&5 zb+pG^7!1w8Vpt43t#Wb6CIX9~#L-}RN`ZX@6}vRHThq>$}V#Yu#vLl}ndko-R= z%igU9xsub{AXVVlA{B%Pc=W`HG+>J0L?5xs=LDdYiomS}{XK@^CNP4oAHRQxq>;)2 z1@$K|j(nbUZlLQp>jc`4q2^mpAX;b^s4#n%rbbUFSxCnDK^>B8zL(GYRS`-5CjgM_ zr#-`**dbso0%RDRN&4zbZmVdy za|(csaK`|>qS4q8mCTEeDsSEoP2gZD0(Cmsg=D4n$@~O3*x(o{&r(U}#Pu~8Vo;jH zHbkDmASIzHfFY9Y%$>)_sK6v~^339qwrfhc3efgytWXxJk2;Rzm?GROC$#E(K16Rl z!db|PtB1bdKqc2}anAb4eQ7W%A0C4yOKsRbiX~KcOphUwyco6ZNQ5E@DINOF7FFTLjZqRr0p+oI<|8BR}LJ>)$`^%pE&Au6lsDf045sK0addrT(P zY%5$l>rFG4O!lT=1R_cEACS^GyPAa-xb|CLi}Tz9(et1?(_PgdKUu?hF{0PC%V<+OFl4G4l!N@&C3T9p&GG)?VHAPo z;xmS`$)%{-FbAf5L_ye)?^G<#a2|I81fk5iRCc5G>g##h#bbg1Y-6Fj6lKG;-xlAFt6=-*<8F5Hx4+MC9Kb z3ZVglG9$`;J3!CBKu~*6z-v51(-%zai49^Q6c$UL1cPLBV zUtIj&0ptq7qTQYFnr>5mBcN_anQWe%^KwdoS2?DzwzgbCOwUyVz9QUn&TSH-C0$(` zVgZWsKwoQ1Y9-l(>J7`Mfsg`MFX7-)wbq@$D9M7pb_UF`s+{SbLE5ug|JqGrgD7%n kkRk+;K1)xq>Ua0!g|uc+|6vd*Pl4m@UsFb(V%mBD0EZP<3IG5A literal 1743 zcmV;=1~B;_iwFn+cBg3q|8r?{Wo=<_E_iKh0M(t_ZW}ichVT0nhJjqha+0QK3&#P1 zqEC?amKbqocWHA;h6mf~MW4MSwU%V3PEi!#&+10j!TW#9!*GTiQdb`z7JYWdJ}7HG zoWHraJU?S2?V!x`;rzGHzrOzQ{Nwd^SIO(Z@hpGYgb(L)jPB>n=KlWvBB;mY$*uC$fcpY7)3(YqXc5>e(&~@qwf#(d^maj%{xghd5fEDnN`i$+ zN_G*b?>+6n@&bAPK2AnNO@(*@6h_l=D)R8GZ`d;1UCY?&Av~hNz7yh z%^q47YzCluZVDbKZ%rg+0+JvZWbJ!&SMbpGH}FVFM`5=&ETfQiakLLjfR!?+aRjQT z#o^R>ahfE<0R+}l$`ldkB|!UR78lL}Z8Ccb$QI~*wm%)X2K-P0MTPX%M}=&Oqox=c zdHZFqWP3AEBs2sxXsZatYX&1MVRF!Mp;Dyn4Z1dvKI_C-aX~u&M{yFd80e{l!r&sf z5Im1qfM{|0%D5E8X#GMF=_up~nmttij?Qr5huKFTDSpe6%uqx;z}D1!59QBmD7lp;j0%!Ecr zGA0jg5|J0+{7cPD$*)<+eEER%Y$^&YbK(SKp$8E%0+4|H#KKXOGZF$h6LLC^AzS6s zVXOm^$59N4f*!=WT0&Z3kOXUv->bKuUcLLJ1CA~r-hX=az5@>NJL$xqcaA$?;V&IP zOg)su)Ion0x`&d`J(Ps$p(KJM$zfKm1D3mDHK2n^oU^x47f68+DGECZPX=i;vXc?e z^5~jaA@0~fU7d>Ig(R&@)(92_8lF}89G8G|cw7oIIDrS9SBFij3-lns1`0b_5+eDC z&0-315Hp1tOAzkKAqmQSF47=l?>}02_E159W~*cXZ01k~faeWm2K3rSMnESnMd*Y_ zQAc~smBG*gEQVy@X_d)kn+Pm|8b^cWk%Qu&xQ&3j$YR~~lS8(96=xCB7GW5^LGu5g ztb4aQkkHjc}&`gQCgU5S1*8kE(3m4_)A3DFSVEwhP%x9g_J8aInECRGFoc&WSf~z!0O- z9Cjh{0tTrGRRIi7)|W%{ z)+3ySoVj`E`xR7ny^?d*M;>Z}QRVO$G+A!L_FkmW+%Y|c$ns*+c1v2MK?g92TAWr= zm5m~1Z9r%w%@fJpaliDM=ZiKwk8g{CM`buad39Iz7`0!pc!8*{rsv4Zr_g@q>bICo zuGwC=_STygu9@sz!3ac>=070iadtHeJ#ZbizELcO~9W9!3#Z zCSNd|%`QdDhB-2oBMQQX{8q*443}{yKoIJjOJg_cpuV1`T|FiUKxqzaB1F4Rs2u%R z1j6HyPmufHul+UNa`Q~R`3m$wzxizIQ5kX+#Zlf4Nn?6D!jC?PuZIfMpRqyc=YdA) zvc_L*9wE*B{>Z%^2%2y2co8IE27qT6jkkKdgpqq`potrA`gn<^`M!&zhoHH5C!+l3 zPzW6m)EQA8`T=_U1%lRl0$$=t246&F8Nco7@mJE-xoREXenqk7GdwPQ;8~8l+@UOG ze{uDDN02K7i+1 z!~#_1k-oH+)Jn1m%^Q}_10e-&Uc$lUYHd4#QIiFI>kODvRk_eDgR~d5{