From 1aa5f504ae1599e2a2f7557ae8a4bd467084a2ac Mon Sep 17 00:00:00 2001 From: Ivan Berezhnoy Date: Tue, 16 Jul 2024 22:51:23 +0300 Subject: [PATCH] Add new note about Memory management in Python, image for this note and try to add Search and Copy code functions --- config/_default/hugo.toml | 2 +- config/_default/params.toml | 6 +- content/posts/Mark_Lutz/index.md | 9 +- content/posts/collections/index.md | 2 +- content/posts/csv_json/index.md | 2 +- content/posts/date_and_time_1/index.md | 2 +- content/posts/date_and_time_2/index.md | 2 +- content/posts/deep_bool_oper_python/index.md | 13 +- content/posts/frac_dec_compl/index.md | 2 +- content/posts/functions/index.md | 2 +- content/posts/memory_python/arena.png | Bin 0 -> 20014 bytes .../posts/memory_python/arena_pool_block.png | Bin 0 -> 31084 bytes content/posts/memory_python/feature.png | Bin 0 -> 777651 bytes content/posts/memory_python/index.md | 204 ++ content/posts/os_shutil_shelve/index.md | 2 +- content/posts/random_string/index.md | 2 +- content/posts/stdin_stdout/index.md | 2 +- content/posts/turtle/index.md | 2 +- content/posts/work_with_files/index.md | 2 +- content/posts/zip_pkl/index.md | 2 +- docs/404.html | 87 + docs/about/index.html | 87 + docs/authors/index.html | 87 + docs/categories/index.html | 87 + docs/index.html | 315 ++- docs/index.json | 2 +- docs/index.xml | 12 +- ...deb734aeea62917443f124d5bf5478859767380.js | 15 + ...2dd2261a89c37050b87ea62651b42ff57dd6758.js | 2032 +++++++++++++++++ docs/posts/big_o/index.html | 93 +- docs/posts/collections/index.html | 161 +- docs/posts/csv_json/index.html | 161 +- docs/posts/date_and_time_1/index.html | 161 +- docs/posts/date_and_time_2/index.html | 161 +- docs/posts/deep_bool_oper_python/index.html | 109 +- docs/posts/frac_dec_compl/index.html | 161 +- docs/posts/functions/index.html | 161 +- docs/posts/index.html | 346 ++- docs/posts/index.xml | 12 +- docs/posts/mark_lutz/index.html | 129 +- docs/posts/memory_python/arena.png | Bin 0 -> 20014 bytes docs/posts/memory_python/arena.png.crdownload | Bin 0 -> 20014 bytes ...8e239d104a22_20014_1024x0_resize_box_3.png | Bin 0 -> 21173 bytes ...8e239d104a22_20014_1320x0_resize_box_3.png | Bin 0 -> 27298 bytes ...08e239d104a22_20014_330x0_resize_box_3.png | Bin 0 -> 7923 bytes ...08e239d104a22_20014_660x0_resize_box_3.png | Bin 0 -> 15923 bytes docs/posts/memory_python/arena_pool_block.png | Bin 0 -> 31084 bytes .../posts/memory_python/arena_pool_block2.png | Bin 0 -> 14949 bytes ...3ab9aa551f28_31084_1024x0_resize_box_3.png | Bin 0 -> 37396 bytes ...3ab9aa551f28_31084_1320x0_resize_box_3.png | Bin 0 -> 38562 bytes ...83ab9aa551f28_31084_330x0_resize_box_3.png | Bin 0 -> 15125 bytes ...83ab9aa551f28_31084_660x0_resize_box_3.png | Bin 0 -> 32817 bytes ...6a3295cec3d7_15814_1024x0_resize_box_3.png | Bin 0 -> 16310 bytes ...6a3295cec3d7_15814_1320x0_resize_box_3.png | Bin 0 -> 19387 bytes ...46a3295cec3d7_15814_330x0_resize_box_3.png | Bin 0 -> 6015 bytes ...46a3295cec3d7_15814_660x0_resize_box_3.png | Bin 0 -> 11319 bytes docs/posts/memory_python/feature.png | Bin 0 -> 777651 bytes docs/posts/memory_python/feature.webp | Bin 0 -> 91602 bytes ...c7f35c296573_777651_600x0_resize_box_3.png | Bin 0 -> 116604 bytes ...0faea8359da6_779527_600x0_resize_box_3.png | Bin 0 -> 116566 bytes ...9d6c2_91602_600x0_resize_q75_h2_box_2.webp | Bin 0 -> 15076 bytes ...674ae334331a_780760_600x0_resize_box_3.png | Bin 0 -> 117018 bytes docs/posts/memory_python/index.html | 1686 ++++++++++++++ docs/posts/memory_python/memory_graph.png | Bin 0 -> 37969 bytes ...260\320\275\320\260 2024-07-16 195233.png" | Bin 0 -> 37969 bytes docs/posts/os_shutil_shelve/index.html | 161 +- docs/posts/programming_paradigms/index.html | 93 +- docs/posts/random_string/index.html | 161 +- docs/posts/stdin_stdout/index.html | 161 +- docs/posts/turtle/index.html | 161 +- docs/posts/work_with_files/index.html | 160 +- docs/posts/zip_pkl/index.html | 161 +- docs/python/index.html | 87 + docs/series/index.html | 89 +- docs/series/index.xml | 4 +- docs/series/python/index.html | 204 ++ docs/series/python/index.xml | 12 +- docs/sitemap.xml | 10 +- docs/tags/algorythms/index.html | 87 + docs/tags/big-o/index.html | 87 + docs/tags/calendar/index.html | 87 + docs/tags/datatypes/index.html | 87 + docs/tags/date/index.html | 87 + docs/tags/datetime/index.html | 87 + docs/tags/files/index.html | 87 + docs/tags/functions/index.html | 87 + docs/tags/index.html | 105 +- docs/tags/index.xml | 14 +- docs/tags/memory/index.html | 734 ++++++ docs/tags/memory/index.xml | 22 + docs/tags/memory/page/1/index.html | 10 + docs/tags/modules/index.html | 87 + docs/tags/os/index.html | 87 + docs/tags/paradigms/index.html | 87 + docs/tags/python/index.html | 210 +- docs/tags/python/index.xml | 14 +- docs/tags/random/index.html | 87 + docs/tags/shelve/index.html | 87 + docs/tags/shutil/index.html | 87 + docs/tags/string/index.html | 87 + docs/tags/time/index.html | 87 + docs/tags/turtle/index.html | 87 + .../index.html" | 87 + ...8e239d104a22_20014_1024x0_resize_box_3.png | Bin 0 -> 21173 bytes ...8e239d104a22_20014_1320x0_resize_box_3.png | Bin 0 -> 27298 bytes ...08e239d104a22_20014_330x0_resize_box_3.png | Bin 0 -> 7923 bytes ...08e239d104a22_20014_660x0_resize_box_3.png | Bin 0 -> 15923 bytes ...3ab9aa551f28_31084_1024x0_resize_box_3.png | Bin 0 -> 37396 bytes ...3ab9aa551f28_31084_1320x0_resize_box_3.png | Bin 0 -> 38562 bytes ...83ab9aa551f28_31084_330x0_resize_box_3.png | Bin 0 -> 15125 bytes ...83ab9aa551f28_31084_660x0_resize_box_3.png | Bin 0 -> 32817 bytes ...6a3295cec3d7_15814_1024x0_resize_box_3.png | Bin 0 -> 16310 bytes ...6a3295cec3d7_15814_1320x0_resize_box_3.png | Bin 0 -> 19387 bytes ...46a3295cec3d7_15814_330x0_resize_box_3.png | Bin 0 -> 6015 bytes ...46a3295cec3d7_15814_660x0_resize_box_3.png | Bin 0 -> 11319 bytes ...ceeedd301e35e2e58_0_600x0_resize_box_3.png | 0 ...c7f35c296573_777651_600x0_resize_box_3.png | Bin 0 -> 116604 bytes ...0faea8359da6_779527_600x0_resize_box_3.png | Bin 0 -> 116566 bytes ...9d6c2_91602_600x0_resize_q75_h2_box_2.webp | Bin 0 -> 15076 bytes ...674ae334331a_780760_600x0_resize_box_3.png | Bin 0 -> 117018 bytes 120 files changed, 9919 insertions(+), 543 deletions(-) create mode 100644 content/posts/memory_python/arena.png create mode 100644 content/posts/memory_python/arena_pool_block.png create mode 100644 content/posts/memory_python/feature.png create mode 100644 content/posts/memory_python/index.md create mode 100644 docs/js/main.bundle.min.8b56b0fd46524eaecbfe33f576b8ba2cd2a122521a89f8229a95be0b635a7ac8e774eb1d8b8b93b32bbd677c3deb734aeea62917443f124d5bf5478859767380.js create mode 100644 docs/js/mermaid.bundle.ef0933378f676aa561c334c3dbb2fe885e546858abb2234d7ceabaac607496b53e7d048e4b402b049fe60fa802dd2261a89c37050b87ea62651b42ff57dd6758.js create mode 100644 docs/posts/memory_python/arena.png create mode 100644 docs/posts/memory_python/arena.png.crdownload create mode 100644 docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1024x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1320x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_330x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_660x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_pool_block.png create mode 100644 docs/posts/memory_python/arena_pool_block2.png create mode 100644 docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_1024x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_1320x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_330x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_660x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_1024x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_1320x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_330x0_resize_box_3.png create mode 100644 docs/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_660x0_resize_box_3.png create mode 100644 docs/posts/memory_python/feature.png create mode 100644 docs/posts/memory_python/feature.webp create mode 100644 docs/posts/memory_python/feature_hu6785e7d13b937a3d373dc7f35c296573_777651_600x0_resize_box_3.png create mode 100644 docs/posts/memory_python/feature_hu954ba4a0f3b87f8a63100faea8359da6_779527_600x0_resize_box_3.png create mode 100644 docs/posts/memory_python/feature_hud5cb1f3bf1960a52b1188d5ac859d6c2_91602_600x0_resize_q75_h2_box_2.webp create mode 100644 docs/posts/memory_python/feature_hue396c9e50da9db3fda9e674ae334331a_780760_600x0_resize_box_3.png create mode 100644 docs/posts/memory_python/index.html create mode 100644 docs/posts/memory_python/memory_graph.png create mode 100644 "docs/posts/memory_python/\320\241\320\275\320\270\320\274\320\276\320\272 \321\215\320\272\321\200\320\260\320\275\320\260 2024-07-16 195233.png" create mode 100644 docs/tags/memory/index.html create mode 100644 docs/tags/memory/index.xml create mode 100644 docs/tags/memory/page/1/index.html create mode 100644 resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1024x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1320x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_330x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_660x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_1024x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_1320x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_330x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_660x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_1024x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_1320x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_330x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_660x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/feature_hu3b5d3c7d207e37dceeedd301e35e2e58_0_600x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/feature_hu6785e7d13b937a3d373dc7f35c296573_777651_600x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/feature_hu954ba4a0f3b87f8a63100faea8359da6_779527_600x0_resize_box_3.png create mode 100644 resources/_gen/images/posts/memory_python/feature_hud5cb1f3bf1960a52b1188d5ac859d6c2_91602_600x0_resize_q75_h2_box_2.webp create mode 100644 resources/_gen/images/posts/memory_python/feature_hue396c9e50da9db3fda9e674ae334331a_780760_600x0_resize_box_3.png diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml index 0c1647f..f80148b 100644 --- a/config/_default/hugo.toml +++ b/config/_default/hugo.toml @@ -10,7 +10,7 @@ publishDir = "docs" # pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles enableRobotsTXT = true -paginate = 15 +paginate = 30 summaryLength = 0 buildDrafts = false diff --git a/config/_default/params.toml b/config/_default/params.toml index a1247ab..b2b0749 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -10,8 +10,8 @@ defaultAppearance = "dark" # valid options: light or dark autoSwitchAppearance = true favicon = "favicon.ico" -enableSearch = false -enableCodeCopy = false +enableSearch = true +enableCodeCopy = true # mainSections = ["notes"] # robots = "" @@ -24,7 +24,7 @@ defaultFeaturedImage = "/img/traffic.svg" # used as default for featured images highlightCurrentMenuArea = true smartTOC = true -smartTOCHideUnfocusedChildren = true +smartTOCHideUnfocusedChildren = false [header] layout = "fixed-fill-blur" # valid options: basic, fixed, fixed-fill, fixed-gradient, fixed-fill-blur diff --git a/content/posts/Mark_Lutz/index.md b/content/posts/Mark_Lutz/index.md index 9f105cf..0884a83 100644 --- a/content/posts/Mark_Lutz/index.md +++ b/content/posts/Mark_Lutz/index.md @@ -91,12 +91,17 @@ tags: ["python"] ### Что нового * Unicode — это стандарт, который определяет уникальные числовые коды (code points) для каждого символа в различных письменных системах мира; UTF-8 (Unicode Transformation Format) — кодировка, представляющая эти числовые коды в последовательности байтов. -* Существует стиль форматирования строк, в котором используются `%`. Пользоваться им нет смысла, так как существуют более свежие и быстрые альтернативы (f-string), но полезно для общего развития. Пример: +* Существует стиль форматирования строк, в котором используются `%`. Лично я не вижу смысла им пользоваться, так как существуют более свежие и быстрые альтернативы (`f-strings`, `format()`), но полезно для общего развития. Пример: ```py name = "Ivan" +print('Hello, %s' % name) print('%s, my friend %s' % ('Hello', name)) +``` -# Вывод: Hello, my friend Ivan +``` +# Вывод: +Hello, Ivan +Hello, my friend Ivan ``` * Забывшееся: в один принт можно читабельно (без прописывания литералов) уместить многострочный текст, обрамляя его тремя парами кавычек: diff --git a/content/posts/collections/index.md b/content/posts/collections/index.md index 3143ed5..93bfcc1 100644 --- a/content/posts/collections/index.md +++ b/content/posts/collections/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "datatypes"] series: ["Python"] -series_order: 1 +series_order: 2 --- {{< lead >}} diff --git a/content/posts/csv_json/index.md b/content/posts/csv_json/index.md index f22ef6a..4ff2df2 100644 --- a/content/posts/csv_json/index.md +++ b/content/posts/csv_json/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "files", "modules"] series: ["Python"] -series_order: 10 +series_order: 11 --- {{< lead >}} diff --git a/content/posts/date_and_time_1/index.md b/content/posts/date_and_time_1/index.md index 719b334..7709bcb 100644 --- a/content/posts/date_and_time_1/index.md +++ b/content/posts/date_and_time_1/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "datetime", "date", "modules", "datatypes"] series: ["Python"] -series_order: 7 +series_order: 8 --- {{< lead >}} diff --git a/content/posts/date_and_time_2/index.md b/content/posts/date_and_time_2/index.md index 620b856..55f8987 100644 --- a/content/posts/date_and_time_2/index.md +++ b/content/posts/date_and_time_2/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "time", "calendar", "modules", "datatypes"] series: ["Python"] -series_order: 8 +series_order: 9 --- {{< lead >}} diff --git a/content/posts/deep_bool_oper_python/index.md b/content/posts/deep_bool_oper_python/index.md index 487adeb..ca5effe 100644 --- a/content/posts/deep_bool_oper_python/index.md +++ b/content/posts/deep_bool_oper_python/index.md @@ -140,7 +140,8 @@ print(not 1 == 2 or 3 == 3 and 5 == 6) # Вывод: True ``` -Согласно приоритету операторов в первую очередь вычисляются выражения `1 == 2`, `3 == 3` и `5 == 6`, в результате чего исходное выражение принимает вид `not False or True and False`. Далее выполняется оператор `not`, возвращая значение `True`, после него — оператор `and`, возвращая значение `False`. Выражение принимает вид `True or False`. Последним выполняется оператор `or`, возвращая общий результат выражения — значение `True` !(считаю это неточным утверждением, ведь оператор `or` может сразу завершать работу после вычисления `not 1 == 2`, что подтвердилось в ходе проверки)!. +Согласно приоритету операторов в первую очередь вычисляются выражения `1 == 2`, `3 == 3` и `5 == 6`, в результате чего исходное выражение принимает вид `not False or True and False`. Далее выполняется оператор `not`, возвращая значение `True`, после него — оператор `and`, возвращая значение `False`. Выражение принимает вид `True or False`. Последним выполняется оператор `or`, возвращая общий результат выражения — значение `True`. +P.S. На самом деле после вычиления `not 1 == 2` оператор `or` сразу вернёт `True`, не вычисляя правую часть. --- ## Цепочки сравнений @@ -213,4 +214,12 @@ print(a == b in [True]) # Вывод: False False -``` \ No newline at end of file +``` + +--- + +**Основной источник:** https://habr.com/ru/articles/824170/ + +Доп. источники: +* https://docs-python.ru/tutorial/operatsii-and-or-not-python/ +* https://stackoverflow.com/questions/39983695/what-is-truthy-and-falsy-how-is-it-different-from-true-and-false \ No newline at end of file diff --git a/content/posts/frac_dec_compl/index.md b/content/posts/frac_dec_compl/index.md index 9177bab..686882a 100644 --- a/content/posts/frac_dec_compl/index.md +++ b/content/posts/frac_dec_compl/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "datatypes"] series: ["Python"] -series_order: 3 +series_order: 4 --- {{< lead >}} diff --git a/content/posts/functions/index.md b/content/posts/functions/index.md index 70d6746..30559c4 100644 --- a/content/posts/functions/index.md +++ b/content/posts/functions/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "functions"] series: ["Python"] -series_order: 5 +series_order: 6 --- {{< lead >}} diff --git a/content/posts/memory_python/arena.png b/content/posts/memory_python/arena.png new file mode 100644 index 0000000000000000000000000000000000000000..26378670d58c99a9ecb24ae345461ed60aec5f71 GIT binary patch literal 20014 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 literal 0 HcmV?d00001 diff --git a/content/posts/memory_python/arena_pool_block.png b/content/posts/memory_python/arena_pool_block.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee14fff884f8f81134bcaf00c84bcbb7b7d1782 GIT binary patch literal 31084 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 literal 0 HcmV?d00001 diff --git a/content/posts/memory_python/feature.png b/content/posts/memory_python/feature.png new file mode 100644 index 0000000000000000000000000000000000000000..036495638d325ead9aeef1f42634cdeb6737b3ee GIT binary patch literal 777651 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%0Dr<05^!=&v+U;e&s|ohtYJ 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
  1. + +
    +
    + ${s} +
    +
    ${e.item.section}·${e.item.date?e.item.date:""}
    +
    ${e.item.summary}
    +
    +
    +
    +
    +
  2. `}),hasResults=!0):(t="",hasResults=!1),output.innerHTML=t,n.length>0&&(first=output.firstChild.firstElementChild,last=output.lastChild.firstElementChild)}scriptBundle=document.getElementById("script-bundle"),copyText=scriptBundle&&scriptBundle.getAttribute("data-copy")?scriptBundle.getAttribute("data-copy"):"Copy",copiedText=scriptBundle&&scriptBundle.getAttribute("data-copied")?scriptBundle.getAttribute("data-copied"):"Copied";function createCopyButton(e){const t=document.createElement("button");t.className="copy-button",t.type="button",t.ariaLabel=copyText,t.innerText=copyText,t.addEventListener("click",()=>copyCodeToClipboard(t,e)),addCopyButtonToDom(t,e)}async function copyCodeToClipboard(e,t){const n=t.querySelector(":last-child").innerText;try{result=await navigator.permissions.query({name:"clipboard-write"}),result.state=="granted"||result.state=="prompt"?await navigator.clipboard.writeText(n):copyCodeBlockExecCommand(n,t)}catch{copyCodeBlockExecCommand(n,t)}finally{codeWasCopied(e)}}function copyCodeBlockExecCommand(e,t){const n=document.createElement("textArea");n.contentEditable="true",n.readOnly="false",n.className="copy-textarea",n.value=e,t.insertBefore(n,t.firstChild);const s=document.createRange();s.selectNodeContents(n);const o=window.getSelection();o.removeAllRanges(),o.addRange(s),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}function codeWasCopied(e){e.blur(),e.innerText=copiedText,setTimeout(function(){e.innerText=copyText},2e3)}function addCopyButtonToDom(e,t){t.insertBefore(e,t.firstChild);const n=document.createElement("div");n.className="highlight-wrapper",t.parentNode.insertBefore(n,t),n.appendChild(t)}window.addEventListener("DOMContentLoaded",e=>{document.querySelectorAll(".highlight").forEach(e=>createCopyButton(e))}) \ No newline at end of file diff --git a/docs/js/mermaid.bundle.ef0933378f676aa561c334c3dbb2fe885e546858abb2234d7ceabaac607496b53e7d048e4b402b049fe60fa802dd2261a89c37050b87ea62651b42ff57dd6758.js b/docs/js/mermaid.bundle.ef0933378f676aa561c334c3dbb2fe885e546858abb2234d7ceabaac607496b53e7d048e4b402b049fe60fa802dd2261a89c37050b87ea62651b42ff57dd6758.js new file mode 100644 index 0000000..03f9d4b --- /dev/null +++ b/docs/js/mermaid.bundle.ef0933378f676aa561c334c3dbb2fe885e546858abb2234d7ceabaac607496b53e7d048e4b402b049fe60fa802dd2261a89c37050b87ea62651b42ff57dd6758.js @@ -0,0 +1,2032 @@ +(function(JM,Ag){typeof exports=="object"&&typeof module<"u"?module.exports=Ag():typeof define=="function"&&define.amd?define(Ag):(JM=typeof globalThis<"u"?globalThis:JM||self,JM.mermaid=Ag())})(this,function(){var FWe,RWe;"use strict";function JM(i){for(var s=[],u=1;u=Pe?Fe:""+Array(Pe+1-Ie.length).join(je)+Fe},be={s:pe,z:function(Fe){var Pe=-Fe.utcOffset(),je=Math.abs(Pe),Ie=Math.floor(je/60),Se=je%60;return(Pe<=0?"+":"-")+pe(Ie,2,"0")+":"+pe(Se,2,"0")},m:function Fe(Pe,je){if(Pe.date()1)return Fe(ke[0])}else{var Ke=Pe.name;ne[Ke]=Pe,Se=Ke}return!Ie&&Se&&(ae=Se),Se||!Ie&&ae},ge=function(Fe,Pe){if(de(Fe))return Fe.clone();var je=typeof Pe=="object"?Pe:{};return je.date=Fe,je.args=arguments,new xe(je)},W=be;W.l=X,W.i=de,W.w=function(Fe,Pe){return ge(Fe,{locale:Pe.$L,utc:Pe.$u,x:Pe.$x,$offset:Pe.$offset})};var xe=function(){function Fe(je){this.$L=X(je.locale,null,!0),this.parse(je),this.$x=this.$x||je.x||{},this[se]=!0}var Pe=Fe.prototype;return Pe.parse=function(je){this.$d=function(Ie){var Se=Ie.date,Ce=Ie.utc;if(Se===null)return new Date(NaN);if(W.u(Se))return new Date;if(Se instanceof Date)return new Date(Se);if(typeof Se=="string"&&!/Z$/i.test(Se)){var ke=Se.match(ee);if(ke){var Ke=ke[2]-1||0,Ft=(ke[7]||"0").substring(0,3);return Ce?new Date(Date.UTC(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,Ft)):new Date(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,Ft)}}return new Date(Se)}(je),this.init()},Pe.init=function(){var je=this.$d;this.$y=je.getFullYear(),this.$M=je.getMonth(),this.$D=je.getDate(),this.$W=je.getDay(),this.$H=je.getHours(),this.$m=je.getMinutes(),this.$s=je.getSeconds(),this.$ms=je.getMilliseconds()},Pe.$utils=function(){return W},Pe.isValid=function(){return this.$d.toString()!==K},Pe.isSame=function(je,Ie){var Se=ge(je);return this.startOf(Ie)<=Se&&Se<=this.endOf(Ie)},Pe.isAfter=function(je,Ie){return ge(je){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},fpe=function(i="fatal"){let s=g7.fatal;typeof i=="string"?(i=i.toLowerCase(),i in g7&&(s=g7[i])):typeof i=="number"&&(s=i),Xe.trace=()=>{},Xe.debug=()=>{},Xe.info=()=>{},Xe.warn=()=>{},Xe.error=()=>{},Xe.fatal=()=>{},s<=g7.fatal&&(Xe.fatal=console.error?console.error.bind(console,Lv("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Lv("FATAL"))),s<=g7.error&&(Xe.error=console.error?console.error.bind(console,Lv("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Lv("ERROR"))),s<=g7.warn&&(Xe.warn=console.warn?console.warn.bind(console,Lv("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Lv("WARN"))),s<=g7.info&&(Xe.info=console.info?console.info.bind(console,Lv("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Lv("INFO"))),s<=g7.debug&&(Xe.debug=console.debug?console.debug.bind(console,Lv("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Lv("DEBUG"))),s<=g7.trace&&(Xe.trace=console.debug?console.debug.bind(console,Lv("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Lv("TRACE")))},Lv=i=>`%c${Lg().format("ss.SSS")} : ${i} : `;var p9={};(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.sanitizeUrl=i.BLANK_URL=void 0;var s=/^([^\w]*)(javascript|data|vbscript)/im,u=/&#(\w+)(^\w|;)?/g,d=/&(newline|tab);/gi,p=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v=/^.+(:|:)/gim,b=[".","/"];i.BLANK_URL="about:blank";function y(A){return b.indexOf(A[0])>-1}function T(A){var P=A.replace(p,"");return P.replace(u,function(R,F){return String.fromCharCode(F)})}function _(A){if(!A)return i.BLANK_URL;var P=T(A).replace(d,"").replace(p,"").trim();if(!P)return i.BLANK_URL;if(y(P))return P;var R=P.match(v);if(!R)return P;var F=R[0];return s.test(F)?i.BLANK_URL:P}i.sanitizeUrl=_})(p9);function DY(i,s){return i==null||s==null?NaN:is?1:i>=s?0:NaN}function PAt(i,s){return i==null||s==null?NaN:si?1:s>=i?0:NaN}function dpe(i){let s,u,d;i.length!==2?(s=DY,u=(y,T)=>DY(i(y),T),d=(y,T)=>i(y)-T):(s=i===DY||i===PAt?i:BAt,u=i,d=i);function p(y,T,_=0,A=y.length){if(_>>1;u(y[P],T)<0?_=P+1:A=P}while(_>>1;u(y[P],T)<=0?_=P+1:A=P}while(__&&d(y[P-1],T)>-d(y[P],T)?P-1:P}return{left:p,center:b,right:v}}function BAt(){return 0}function FAt(i){return i===null?NaN:+i}const RAt=dpe(DY).right;dpe(FAt).center;const jAt=RAt;class cBe extends Map{constructor(s,u=qAt){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:u}}),s!=null)for(const[d,p]of s)this.set(d,p)}get(s){return super.get(uBe(this,s))}has(s){return super.has(uBe(this,s))}set(s,u){return super.set($At(this,s),u)}delete(s){return super.delete(zAt(this,s))}}function uBe({_intern:i,_key:s},u){const d=s(u);return i.has(d)?i.get(d):u}function $At({_intern:i,_key:s},u){const d=s(u);return i.has(d)?i.get(d):(i.set(d,u),u)}function zAt({_intern:i,_key:s},u){const d=s(u);return i.has(d)&&(u=i.get(d),i.delete(d)),u}function qAt(i){return i!==null&&typeof i=="object"?i.valueOf():i}const HAt=Math.sqrt(50),VAt=Math.sqrt(10),UAt=Math.sqrt(2);function IY(i,s,u){const d=(s-i)/Math.max(0,u),p=Math.floor(Math.log10(d)),v=d/Math.pow(10,p),b=v>=HAt?10:v>=VAt?5:v>=UAt?2:1;let y,T,_;return p<0?(_=Math.pow(10,-p)/b,y=Math.round(i*_),T=Math.round(s*_),y/_s&&--T,_=-_):(_=Math.pow(10,p)*b,y=Math.round(i/_),T=Math.round(s/_),y*_s&&--T),T0))return[];if(i===s)return[i];const d=s=p))return[];const y=v-p+1,T=new Array(y);if(d)if(b<0)for(let _=0;_=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function WAt(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function YAt(i,s,u){i=+i,s=+s,u=(p=arguments.length)<2?(s=i,i=0,1):p<3?1:+u;for(var d=-1,p=Math.max(0,Math.ceil((s-i)/u))|0,v=new Array(p);++d+i(s)}function eLt(i,s){return s=Math.max(0,i.bandwidth()-s*2)/2,i.round()&&(s=Math.round(s)),u=>+i(u)+s}function tLt(){return!this.__axis}function hBe(i,s){var u=[],d=null,p=null,v=6,b=6,y=3,T=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===OY||i===NY?-1:1,A=i===NY||i===bpe?"x":"y",P=i===OY||i===mpe?QAt:JAt;function R(F){var j=d??(s.ticks?s.ticks.apply(s,u):s.domain()),K=p??(s.tickFormat?s.tickFormat.apply(s,u):XAt),ee=Math.max(v,0)+y,ie=s.range(),oe=+ie[0]+T,pe=+ie[ie.length-1]+T,be=(s.bandwidth?eLt:ZAt)(s.copy(),T),ae=F.selection?F.selection():F,ne=ae.selectAll(".domain").data([null]),se=ae.selectAll(".tick").data(j,s).order(),de=se.exit(),X=se.enter().append("g").attr("class","tick"),ge=se.select("line"),W=se.select("text");ne=ne.merge(ne.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),se=se.merge(X),ge=ge.merge(X.append("line").attr("stroke","currentColor").attr(A+"2",_*v)),W=W.merge(X.append("text").attr("fill","currentColor").attr(A,_*ee).attr("dy",i===OY?"0em":i===mpe?"0.71em":"0.32em")),F!==ae&&(ne=ne.transition(F),se=se.transition(F),ge=ge.transition(F),W=W.transition(F),de=de.transition(F).attr("opacity",lBe).attr("transform",function(xe){return isFinite(xe=be(xe))?P(xe+T):this.getAttribute("transform")}),X.attr("opacity",lBe).attr("transform",function(xe){var U=this.parentNode.__axis;return P((U&&isFinite(U=U(xe))?U:be(xe))+T)})),de.remove(),ne.attr("d",i===NY||i===bpe?b?"M"+_*b+","+oe+"H"+T+"V"+pe+"H"+_*b:"M"+T+","+oe+"V"+pe:b?"M"+oe+","+_*b+"V"+T+"H"+pe+"V"+_*b:"M"+oe+","+T+"H"+pe),se.attr("opacity",1).attr("transform",function(xe){return P(be(xe)+T)}),ge.attr(A+"2",_*v),W.attr(A,_*ee).text(K),ae.filter(tLt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===bpe?"start":i===NY?"end":"middle"),ae.each(function(){this.__axis=be})}return R.scale=function(F){return arguments.length?(s=F,R):s},R.ticks=function(){return u=Array.from(arguments),R},R.tickArguments=function(F){return arguments.length?(u=F==null?[]:Array.from(F),R):u.slice()},R.tickValues=function(F){return arguments.length?(d=F==null?null:Array.from(F),R):d&&d.slice()},R.tickFormat=function(F){return arguments.length?(p=F,R):p},R.tickSize=function(F){return arguments.length?(v=b=+F,R):v},R.tickSizeInner=function(F){return arguments.length?(v=+F,R):v},R.tickSizeOuter=function(F){return arguments.length?(b=+F,R):b},R.tickPadding=function(F){return arguments.length?(y=+F,R):y},R.offset=function(F){return arguments.length?(T=+F,R):T},R}function nLt(i){return hBe(OY,i)}function rLt(i){return hBe(mpe,i)}var iLt={value:()=>{}};function fBe(){for(var i=0,s=arguments.length,u={},d;i=0&&(d=u.slice(p+1),u=u.slice(0,p)),u&&!s.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:d}})}PY.prototype=fBe.prototype={constructor:PY,on:function(i,s){var u=this._,d=sLt(i+"",u),p,v=-1,b=d.length;if(arguments.length<2){for(;++v0)for(var u=new Array(p),d=0,p,v;d=0&&(s=i.slice(0,u))!=="xmlns"&&(i=i.slice(u+1)),gBe.hasOwnProperty(s)?{space:gBe[s],local:i}:i}function oLt(i){return function(){var s=this.ownerDocument,u=this.namespaceURI;return u===vpe&&s.documentElement.namespaceURI===vpe?s.createElement(i):s.createElementNS(u,i)}}function cLt(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function pBe(i){var s=BY(i);return(s.local?cLt:oLt)(s)}function uLt(){}function wpe(i){return i==null?uLt:function(){return this.querySelector(i)}}function lLt(i){typeof i!="function"&&(i=wpe(i));for(var s=this._groups,u=s.length,d=new Array(u),p=0;p=pe&&(pe=oe+1);!(ae=ee[pe])&&++pe=0;)(b=d[p])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function NLt(i){i||(i=PLt);function s(P,R){return P&&R?i(P.__data__,R.__data__):!P-!R}for(var u=this._groups,d=u.length,p=new Array(d),v=0;vs?1:i>=s?0:NaN}function BLt(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function FLt(){return Array.from(this)}function RLt(){for(var i=this._groups,s=0,u=i.length;s1?this.each((s==null?YLt:typeof s=="function"?QLt:XLt)(i,s,u??"")):ZM(this.node(),i)}function ZM(i,s){return i.style.getPropertyValue(s)||xBe(i).getComputedStyle(i,null).getPropertyValue(s)}function ZLt(i){return function(){delete this[i]}}function eMt(i,s){return function(){this[i]=s}}function tMt(i,s){return function(){var u=s.apply(this,arguments);u==null?delete this[i]:this[i]=u}}function nMt(i,s){return arguments.length>1?this.each((s==null?ZLt:typeof s=="function"?tMt:eMt)(i,s)):this.node()[i]}function kBe(i){return i.trim().split(/^|\s+/)}function ype(i){return i.classList||new EBe(i)}function EBe(i){this._node=i,this._names=kBe(i.getAttribute("class")||"")}EBe.prototype={add:function(i){var s=this._names.indexOf(i);s<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var s=this._names.indexOf(i);s>=0&&(this._names.splice(s,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function TBe(i,s){for(var u=ype(i),d=-1,p=s.length;++d=0&&(u=s.slice(d+1),s=s.slice(0,d)),{type:s,name:u}})}function MMt(i){return function(){var s=this.__on;if(s){for(var u=0,d=-1,p=s.length,v;u>8&15|s>>4&240,s>>4&15|s&240,(s&15)<<4|s&15,1):u===8?$Y(s>>24&255,s>>16&255,s>>8&255,(s&255)/255):u===4?$Y(s>>12&15|s>>8&240,s>>8&15|s>>4&240,s>>4&15|s&240,((s&15)<<4|s&15)/255):null):(s=jMt.exec(i))?new Mg(s[1],s[2],s[3],1):(s=$Mt.exec(i))?new Mg(s[1]*255/100,s[2]*255/100,s[3]*255/100,1):(s=zMt.exec(i))?$Y(s[1],s[2],s[3],s[4]):(s=qMt.exec(i))?$Y(s[1]*255/100,s[2]*255/100,s[3]*255/100,s[4]):(s=HMt.exec(i))?PBe(s[1],s[2]/100,s[3]/100,1):(s=VMt.exec(i))?PBe(s[1],s[2]/100,s[3]/100,s[4]):ABe.hasOwnProperty(i)?DBe(ABe[i]):i==="transparent"?new Mg(NaN,NaN,NaN,0):null}function DBe(i){return new Mg(i>>16&255,i>>8&255,i&255,1)}function $Y(i,s,u,d){return d<=0&&(i=s=u=NaN),new Mg(i,s,u,d)}function IBe(i){return i instanceof fC||(i=dC(i)),i?(i=i.rgb(),new Mg(i.r,i.g,i.b,i.opacity)):new Mg}function kpe(i,s,u,d){return arguments.length===1?IBe(i):new Mg(i,s,u,d??1)}function Mg(i,s,u,d){this.r=+i,this.g=+s,this.b=+u,this.opacity=+d}wF(Mg,kpe,RY(fC,{brighter(i){return i=i==null?jY:Math.pow(jY,i),new Mg(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?yF:Math.pow(yF,i),new Mg(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new Mg(gC(this.r),gC(this.g),gC(this.b),zY(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:OBe,formatHex:OBe,formatHex8:KMt,formatRgb:NBe,toString:NBe}));function OBe(){return`#${pC(this.r)}${pC(this.g)}${pC(this.b)}`}function KMt(){return`#${pC(this.r)}${pC(this.g)}${pC(this.b)}${pC((isNaN(this.opacity)?1:this.opacity)*255)}`}function NBe(){const i=zY(this.opacity);return`${i===1?"rgb(":"rgba("}${gC(this.r)}, ${gC(this.g)}, ${gC(this.b)}${i===1?")":`, ${i})`}`}function zY(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function gC(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function pC(i){return i=gC(i),(i<16?"0":"")+i.toString(16)}function PBe(i,s,u,d){return d<=0?i=s=u=NaN:u<=0||u>=1?i=s=NaN:s<=0&&(i=NaN),new A3(i,s,u,d)}function BBe(i){if(i instanceof A3)return new A3(i.h,i.s,i.l,i.opacity);if(i instanceof fC||(i=dC(i)),!i)return new A3;if(i instanceof A3)return i;i=i.rgb();var s=i.r/255,u=i.g/255,d=i.b/255,p=Math.min(s,u,d),v=Math.max(s,u,d),b=NaN,y=v-p,T=(v+p)/2;return y?(s===v?b=(u-d)/y+(u0&&T<1?0:b,new A3(b,y,T,i.opacity)}function WMt(i,s,u,d){return arguments.length===1?BBe(i):new A3(i,s,u,d??1)}function A3(i,s,u,d){this.h=+i,this.s=+s,this.l=+u,this.opacity=+d}wF(A3,WMt,RY(fC,{brighter(i){return i=i==null?jY:Math.pow(jY,i),new A3(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?yF:Math.pow(yF,i),new A3(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,s=isNaN(i)||isNaN(this.s)?0:this.s,u=this.l,d=u+(u<.5?u:1-u)*s,p=2*u-d;return new Mg(Epe(i>=240?i-240:i+120,p,d),Epe(i,p,d),Epe(i<120?i+240:i-120,p,d),this.opacity)},clamp(){return new A3(FBe(this.h),qY(this.s),qY(this.l),zY(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=zY(this.opacity);return`${i===1?"hsl(":"hsla("}${FBe(this.h)}, ${qY(this.s)*100}%, ${qY(this.l)*100}%${i===1?")":`, ${i})`}`}}));function FBe(i){return i=(i||0)%360,i<0?i+360:i}function qY(i){return Math.max(0,Math.min(1,i||0))}function Epe(i,s,u){return(i<60?s+(u-s)*i/60:i<180?u:i<240?s+(u-s)*(240-i)/60:s)*255}const YMt=Math.PI/180,XMt=180/Math.PI,HY=18,RBe=.96422,jBe=1,$Be=.82521,zBe=4/29,tD=6/29,qBe=3*tD*tD,QMt=tD*tD*tD;function HBe(i){if(i instanceof j4)return new j4(i.l,i.a,i.b,i.opacity);if(i instanceof p7)return VBe(i);i instanceof Mg||(i=IBe(i));var s=_pe(i.r),u=_pe(i.g),d=_pe(i.b),p=Tpe((.2225045*s+.7168786*u+.0606169*d)/jBe),v,b;return s===u&&u===d?v=b=p:(v=Tpe((.4360747*s+.3850649*u+.1430804*d)/RBe),b=Tpe((.0139322*s+.0971045*u+.7141733*d)/$Be)),new j4(116*p-16,500*(v-p),200*(p-b),i.opacity)}function JMt(i,s,u,d){return arguments.length===1?HBe(i):new j4(i,s,u,d??1)}function j4(i,s,u,d){this.l=+i,this.a=+s,this.b=+u,this.opacity=+d}wF(j4,JMt,RY(fC,{brighter(i){return new j4(this.l+HY*(i??1),this.a,this.b,this.opacity)},darker(i){return new j4(this.l-HY*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,s=isNaN(this.a)?i:i+this.a/500,u=isNaN(this.b)?i:i-this.b/200;return s=RBe*Cpe(s),i=jBe*Cpe(i),u=$Be*Cpe(u),new Mg(Spe(3.1338561*s-1.6168667*i-.4906146*u),Spe(-.9787684*s+1.9161415*i+.033454*u),Spe(.0719453*s-.2289914*i+1.4052427*u),this.opacity)}}));function Tpe(i){return i>QMt?Math.pow(i,1/3):i/qBe+zBe}function Cpe(i){return i>tD?i*i*i:qBe*(i-zBe)}function Spe(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function _pe(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function ZMt(i){if(i instanceof p7)return new p7(i.h,i.c,i.l,i.opacity);if(i instanceof j4||(i=HBe(i)),i.a===0&&i.b===0)return new p7(NaN,0()=>i;function UBe(i,s){return function(u){return i+u*s}}function eDt(i,s,u){return i=Math.pow(i,u),s=Math.pow(s,u)-i,u=1/u,function(d){return Math.pow(i+d*s,u)}}function tDt(i,s){var u=s-i;return u?UBe(i,u>180||u<-180?u-360*Math.round(u/360):u):VY(isNaN(i)?s:i)}function nDt(i){return(i=+i)==1?kF:function(s,u){return u-s?eDt(s,u,i):VY(isNaN(s)?u:s)}}function kF(i,s){var u=s-i;return u?UBe(i,u):VY(isNaN(i)?s:i)}const UY=function i(s){var u=nDt(s);function d(p,v){var b=u((p=kpe(p)).r,(v=kpe(v)).r),y=u(p.g,v.g),T=u(p.b,v.b),_=kF(p.opacity,v.opacity);return function(A){return p.r=b(A),p.g=y(A),p.b=T(A),p.opacity=_(A),p+""}}return d.gamma=i,d}(1);function rDt(i,s){s||(s=[]);var u=i?Math.min(s.length,i.length):0,d=s.slice(),p;return function(v){for(p=0;pu&&(v=s.slice(u,v),y[b]?y[b]+=v:y[++b]=v),(d=d[0])===(p=p[0])?y[b]?y[b]+=p:y[++b]=p:(y[++b]=null,T.push({i:b,x:L3(d,p)})),u=Mpe.lastIndex;return u180?A+=360:A-_>180&&(_+=360),R.push({i:P.push(p(P)+"rotate(",null,d)-2,x:L3(_,A)})):A&&P.push(p(P)+"rotate("+A+d)}function y(_,A,P,R){_!==A?R.push({i:P.push(p(P)+"skewX(",null,d)-2,x:L3(_,A)}):A&&P.push(p(P)+"skewX("+A+d)}function T(_,A,P,R,F,j){if(_!==P||A!==R){var K=F.push(p(F)+"scale(",null,",",null,")");j.push({i:K-4,x:L3(_,P)},{i:K-2,x:L3(A,R)})}else(P!==1||R!==1)&&F.push(p(F)+"scale("+P+","+R+")")}return function(_,A){var P=[],R=[];return _=i(_),A=i(A),v(_.translateX,_.translateY,A.translateX,A.translateY,P,R),b(_.rotate,A.rotate,P,R),y(_.skewX,A.skewX,P,R),T(_.scaleX,_.scaleY,A.scaleX,A.scaleY,P,R),_=A=null,function(F){for(var j=-1,K=R.length,ee;++j=0&&i._call.call(void 0,s),i=i._next;--nD}function ZBe(){bC=(WY=SF.now())+YY,nD=EF=0;try{vDt()}finally{nD=0,yDt(),bC=0}}function wDt(){var i=SF.now(),s=i-WY;s>XBe&&(YY-=s,WY=i)}function yDt(){for(var i,s=KY,u,d=1/0;s;)s._call?(d>s._time&&(d=s._time),i=s,s=s._next):(u=s._next,s._next=null,s=i?i._next=u:KY=u);CF=i,Npe(d)}function Npe(i){if(!nD){EF&&(EF=clearTimeout(EF));var s=i-bC;s>24?(i<1/0&&(EF=setTimeout(ZBe,i-SF.now()-YY)),TF&&(TF=clearInterval(TF))):(TF||(WY=SF.now(),TF=setInterval(wDt,XBe)),nD=1,QBe(ZBe))}}function eFe(i,s,u){var d=new XY;return s=s==null?0:+s,d.restart(p=>{d.stop(),i(p+s)},s,u),d}var xDt=fBe("start","end","cancel","interrupt"),kDt=[],tFe=0,nFe=1,Ppe=2,QY=3,rFe=4,Bpe=5,JY=6;function ZY(i,s,u,d,p,v){var b=i.__transition;if(!b)i.__transition={};else if(u in b)return;EDt(i,u,{name:s,index:d,group:p,on:xDt,tween:kDt,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:tFe})}function Fpe(i,s){var u=M3(i,s);if(u.state>tFe)throw new Error("too late; already scheduled");return u}function $4(i,s){var u=M3(i,s);if(u.state>QY)throw new Error("too late; already running");return u}function M3(i,s){var u=i.__transition;if(!u||!(u=u[s]))throw new Error("transition not found");return u}function EDt(i,s,u){var d=i.__transition,p;d[s]=u,u.timer=JBe(v,0,u.time);function v(_){u.state=nFe,u.timer.restart(b,u.delay,u.time),u.delay<=_&&b(_-u.delay)}function b(_){var A,P,R,F;if(u.state!==nFe)return T();for(A in d)if(F=d[A],F.name===u.name){if(F.state===QY)return eFe(b);F.state===rFe?(F.state=JY,F.timer.stop(),F.on.call("interrupt",i,i.__data__,F.index,F.group),delete d[A]):+APpe&&d.state=0&&(s=s.slice(0,u)),!s||s==="start"})}function eIt(i,s,u){var d,p,v=ZDt(s)?Fpe:$4;return function(){var b=v(this,i),y=b.on;y!==d&&(p=(d=y).copy()).on(s,u),b.on=p}}function tIt(i,s){var u=this._id;return arguments.length<2?M3(this.node(),u).on.on(i):this.each(eIt(u,i,s))}function nIt(i){return function(){var s=this.parentNode;for(var u in this.__transition)if(+u!==i)return;s&&s.removeChild(this)}}function rIt(){return this.on("end.remove",nIt(this._id))}function iIt(i){var s=this._name,u=this._id;typeof i!="function"&&(i=wpe(i));for(var d=this._groups,p=d.length,v=new Array(p),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(s>15)return oFe;const u=10**s;return function(d){this._+=d[0];for(let p=1,v=d.length;pmC)if(!(Math.abs(P*T-_*A)>mC)||!v)this._append`L${this._x1=s},${this._y1=u}`;else{let F=d-b,j=p-y,K=T*T+_*_,ee=F*F+j*j,ie=Math.sqrt(K),oe=Math.sqrt(R),pe=v*Math.tan((jpe-Math.acos((K+R-ee)/(2*ie*oe)))/2),be=pe/oe,ae=pe/ie;Math.abs(be-1)>mC&&this._append`L${s+be*A},${u+be*P}`,this._append`A${v},${v},0,0,${+(P*F>A*j)},${this._x1=s+ae*T},${this._y1=u+ae*_}`}}arc(s,u,d,p,v,b){if(s=+s,u=+u,d=+d,b=!!b,d<0)throw new Error(`negative radius: ${d}`);let y=d*Math.cos(p),T=d*Math.sin(p),_=s+y,A=u+T,P=1^b,R=b?p-v:v-p;this._x1===null?this._append`M${_},${A}`:(Math.abs(this._x1-_)>mC||Math.abs(this._y1-A)>mC)&&this._append`L${_},${A}`,d&&(R<0&&(R=R%$pe+$pe),R>LIt?this._append`A${d},${d},0,1,${P},${s-y},${u-T}A${d},${d},0,1,${P},${this._x1=_},${this._y1=A}`:R>mC&&this._append`A${d},${d},0,${+(R>=jpe)},${P},${this._x1=s+d*Math.cos(v)},${this._y1=u+d*Math.sin(v)}`)}rect(s,u,d,p){this._append`M${this._x0=this._x1=+s},${this._y0=this._y1=+u}h${d=+d}v${+p}h${-d}Z`}toString(){return this._}};function IIt(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function OIt(i,s){return fetch(i,s).then(IIt)}function NIt(i){return(s,u)=>OIt(s,u).then(d=>new DOMParser().parseFromString(d,i))}var PIt=NIt("image/svg+xml");function BIt(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function eX(i,s){if((u=(i=s?i.toExponential(s-1):i.toExponential()).indexOf("e"))<0)return null;var u,d=i.slice(0,u);return[d.length>1?d[0]+d.slice(2):d,+i.slice(u+1)]}function rD(i){return i=eX(Math.abs(i)),i?i[1]:NaN}function FIt(i,s){return function(u,d){for(var p=u.length,v=[],b=0,y=i[0],T=0;p>0&&y>0&&(T+y+1>d&&(y=Math.max(1,d-T)),v.push(u.substring(p-=y,p+y)),!((T+=y+1)>d));)y=i[b=(b+1)%i.length];return v.reverse().join(s)}}function RIt(i){return function(s){return s.replace(/[0-9]/g,function(u){return i[+u]})}}var jIt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function tX(i){if(!(s=jIt.exec(i)))throw new Error("invalid format: "+i);var s;return new zpe({fill:s[1],align:s[2],sign:s[3],symbol:s[4],zero:s[5],width:s[6],comma:s[7],precision:s[8]&&s[8].slice(1),trim:s[9],type:s[10]})}tX.prototype=zpe.prototype;function zpe(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}zpe.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 $It(i){e:for(var s=i.length,u=1,d=-1,p;u0&&(d=0);break}return d>0?i.slice(0,d)+i.slice(p+1):i}var cFe;function zIt(i,s){var u=eX(i,s);if(!u)return i+"";var d=u[0],p=u[1],v=p-(cFe=Math.max(-8,Math.min(8,Math.floor(p/3)))*3)+1,b=d.length;return v===b?d:v>b?d+new Array(v-b+1).join("0"):v>0?d.slice(0,v)+"."+d.slice(v):"0."+new Array(1-v).join("0")+eX(i,Math.max(0,s+v-1))[0]}function uFe(i,s){var u=eX(i,s);if(!u)return i+"";var d=u[0],p=u[1];return p<0?"0."+new Array(-p).join("0")+d:d.length>p+1?d.slice(0,p+1)+"."+d.slice(p+1):d+new Array(p-d.length+2).join("0")}const lFe={"%":(i,s)=>(i*100).toFixed(s),b:i=>Math.round(i).toString(2),c:i=>i+"",d:BIt,e:(i,s)=>i.toExponential(s),f:(i,s)=>i.toFixed(s),g:(i,s)=>i.toPrecision(s),o:i=>Math.round(i).toString(8),p:(i,s)=>uFe(i*100,s),r:uFe,s:zIt,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function hFe(i){return i}var fFe=Array.prototype.map,dFe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function qIt(i){var s=i.grouping===void 0||i.thousands===void 0?hFe:FIt(fFe.call(i.grouping,Number),i.thousands+""),u=i.currency===void 0?"":i.currency[0]+"",d=i.currency===void 0?"":i.currency[1]+"",p=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?hFe:RIt(fFe.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",y=i.minus===void 0?"−":i.minus+"",T=i.nan===void 0?"NaN":i.nan+"";function _(P){P=tX(P);var R=P.fill,F=P.align,j=P.sign,K=P.symbol,ee=P.zero,ie=P.width,oe=P.comma,pe=P.precision,be=P.trim,ae=P.type;ae==="n"?(oe=!0,ae="g"):lFe[ae]||(pe===void 0&&(pe=12),be=!0,ae="g"),(ee||R==="0"&&F==="=")&&(ee=!0,R="0",F="=");var ne=K==="$"?u:K==="#"&&/[boxX]/.test(ae)?"0"+ae.toLowerCase():"",se=K==="$"?d:/[%p]/.test(ae)?b:"",de=lFe[ae],X=/[defgprs%]/.test(ae);pe=pe===void 0?6:/[gprs]/.test(ae)?Math.max(1,Math.min(21,pe)):Math.max(0,Math.min(20,pe));function ge(W){var xe=ne,U=se,Fe,Pe,je;if(ae==="c")U=de(W)+U,W="";else{W=+W;var Ie=W<0||1/W<0;if(W=isNaN(W)?T:de(Math.abs(W),pe),be&&(W=$It(W)),Ie&&+W==0&&j!=="+"&&(Ie=!1),xe=(Ie?j==="("?j:y:j==="-"||j==="("?"":j)+xe,U=(ae==="s"?dFe[8+cFe/3]:"")+U+(Ie&&j==="("?")":""),X){for(Fe=-1,Pe=W.length;++Feje||je>57){U=(je===46?p+W.slice(Fe+1):W.slice(Fe))+U,W=W.slice(0,Fe);break}}}oe&&!ee&&(W=s(W,1/0));var Se=xe.length+W.length+U.length,Ce=Se>1)+xe+W+U+Ce.slice(Se);break;default:W=Ce+xe+W+U;break}return v(W)}return ge.toString=function(){return P+""},ge}function A(P,R){var F=_((P=tX(P),P.type="f",P)),j=Math.max(-8,Math.min(8,Math.floor(rD(R)/3)))*3,K=Math.pow(10,-j),ee=dFe[8+j/3];return function(ie){return F(K*ie)+ee}}return{format:_,formatPrefix:A}}var nX,gFe,pFe;HIt({thousands:",",grouping:[3],currency:["$",""]});function HIt(i){return nX=qIt(i),gFe=nX.format,pFe=nX.formatPrefix,nX}function VIt(i){return Math.max(0,-rD(Math.abs(i)))}function UIt(i,s){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rD(s)/3)))*3-rD(Math.abs(i)))}function GIt(i,s){return i=Math.abs(i),s=Math.abs(s)-i,Math.max(0,rD(s)-rD(i))+1}function rX(i,s){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(s).domain(i);break}return this}const bFe=Symbol("implicit");function _F(){var i=new cBe,s=[],u=[],d=bFe;function p(v){let b=i.get(v);if(b===void 0){if(d!==bFe)return d;i.set(v,b=s.push(v)-1)}return u[b%u.length]}return p.domain=function(v){if(!arguments.length)return s.slice();s=[],i=new cBe;for(const b of v)i.has(b)||i.set(b,s.push(b)-1);return p},p.range=function(v){return arguments.length?(u=Array.from(v),p):u.slice()},p.unknown=function(v){return arguments.length?(d=v,p):d},p.copy=function(){return _F(s,u).unknown(d)},rX.apply(p,arguments),p}function qpe(){var i=_F().unknown(void 0),s=i.domain,u=i.range,d=0,p=1,v,b,y=!1,T=0,_=0,A=.5;delete i.unknown;function P(){var R=s().length,F=ps&&(u=i,i=s,s=u),function(d){return Math.max(i,Math.min(s,d))}}function XIt(i,s,u){var d=i[0],p=i[1],v=s[0],b=s[1];return p2?QIt:XIt,T=_=null,P}function P(R){return R==null||isNaN(R=+R)?v:(T||(T=y(i.map(d),s,u)))(d(b(R)))}return P.invert=function(R){return b(p((_||(_=y(s,i.map(d),L3)))(R)))},P.domain=function(R){return arguments.length?(i=Array.from(R,WIt),A()):i.slice()},P.range=function(R){return arguments.length?(s=Array.from(R),A()):s.slice()},P.rangeRound=function(R){return s=Array.from(R),u=lDt,A()},P.clamp=function(R){return arguments.length?(b=R?!0:iD,A()):b!==iD},P.interpolate=function(R){return arguments.length?(u=R,A()):u},P.unknown=function(R){return arguments.length?(v=R,P):v},function(R,F){return d=R,p=F,A()}}function wFe(){return JIt()(iD,iD)}function ZIt(i,s,u,d){var p=ppe(i,s,u),v;switch(d=tX(d??",f"),d.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(s));return d.precision==null&&!isNaN(v=UIt(p,b))&&(d.precision=v),pFe(d,b)}case"":case"e":case"g":case"p":case"r":{d.precision==null&&!isNaN(v=GIt(p,Math.max(Math.abs(i),Math.abs(s))))&&(d.precision=v-(d.type==="e"));break}case"f":case"%":{d.precision==null&&!isNaN(v=VIt(p))&&(d.precision=v-(d.type==="%")*2);break}}return gFe(d)}function eOt(i){var s=i.domain;return i.ticks=function(u){var d=s();return GAt(d[0],d[d.length-1],u??10)},i.tickFormat=function(u,d){var p=s();return ZIt(p[0],p[p.length-1],u??10,d)},i.nice=function(u){u==null&&(u=10);var d=s(),p=0,v=d.length-1,b=d[p],y=d[v],T,_,A=10;for(y0;){if(_=gpe(b,y,u),_===T)return d[p]=b,d[v]=y,s(d);if(_>0)b=Math.floor(b/_)*_,y=Math.ceil(y/_)*_;else if(_<0)b=Math.ceil(b*_)/_,y=Math.floor(y*_)/_;else break;T=_}return i},i}function sD(){var i=wFe();return i.copy=function(){return vFe(i,sD())},rX.apply(i,arguments),eOt(i)}function tOt(i,s){i=i.slice();var u=0,d=i.length-1,p=i[u],v=i[d],b;return v(i(v=new Date(+v)),v),p.ceil=v=>(i(v=new Date(v-1)),s(v,1),i(v),v),p.round=v=>{const b=p(v),y=p.ceil(v);return v-b(s(v=new Date(+v),b==null?1:Math.floor(b)),v),p.range=(v,b,y)=>{const T=[];if(v=p.ceil(v),y=y==null?1:Math.floor(y),!(v0))return T;let _;do T.push(_=new Date(+v)),s(v,y),i(v);while(_h1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,y)=>{if(b>=b)if(y<0)for(;++y<=0;)for(;s(b,-1),!v(b););else for(;--y>=0;)for(;s(b,1),!v(b););}),u&&(p.count=(v,b)=>(Vpe.setTime(+v),Upe.setTime(+b),i(Vpe),i(Upe),Math.floor(u(Vpe,Upe))),p.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?p.filter(d?b=>d(b)%v===0:b=>p.count(0,b)%v===0):p)),p}const aD=h1(()=>{},(i,s)=>{i.setTime(+i+s)},(i,s)=>s-i);aD.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?h1(s=>{s.setTime(Math.floor(s/i)*i)},(s,u)=>{s.setTime(+s+u*i)},(s,u)=>(u-s)/i):aD),aD.range;const v7=1e3,Mv=v7*60,w7=Mv*60,y7=w7*24,Gpe=y7*7,yFe=y7*30,Kpe=y7*365,b9=h1(i=>{i.setTime(i-i.getMilliseconds())},(i,s)=>{i.setTime(+i+s*v7)},(i,s)=>(s-i)/v7,i=>i.getUTCSeconds());b9.range;const AF=h1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*v7)},(i,s)=>{i.setTime(+i+s*Mv)},(i,s)=>(s-i)/Mv,i=>i.getMinutes());AF.range,h1(i=>{i.setUTCSeconds(0,0)},(i,s)=>{i.setTime(+i+s*Mv)},(i,s)=>(s-i)/Mv,i=>i.getUTCMinutes()).range;const LF=h1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*v7-i.getMinutes()*Mv)},(i,s)=>{i.setTime(+i+s*w7)},(i,s)=>(s-i)/w7,i=>i.getHours());LF.range,h1(i=>{i.setUTCMinutes(0,0,0)},(i,s)=>{i.setTime(+i+s*w7)},(i,s)=>(s-i)/w7,i=>i.getUTCHours()).range;const vC=h1(i=>i.setHours(0,0,0,0),(i,s)=>i.setDate(i.getDate()+s),(i,s)=>(s-i-(s.getTimezoneOffset()-i.getTimezoneOffset())*Mv)/y7,i=>i.getDate()-1);vC.range;const Wpe=h1(i=>{i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCDate(i.getUTCDate()+s)},(i,s)=>(s-i)/y7,i=>i.getUTCDate()-1);Wpe.range,h1(i=>{i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCDate(i.getUTCDate()+s)},(i,s)=>(s-i)/y7,i=>Math.floor(i/y7)).range;function wC(i){return h1(s=>{s.setDate(s.getDate()-(s.getDay()+7-i)%7),s.setHours(0,0,0,0)},(s,u)=>{s.setDate(s.getDate()+u*7)},(s,u)=>(u-s-(u.getTimezoneOffset()-s.getTimezoneOffset())*Mv)/Gpe)}const MF=wC(0),DF=wC(1),xFe=wC(2),kFe=wC(3),yC=wC(4),EFe=wC(5),TFe=wC(6);MF.range,DF.range,xFe.range,kFe.range,yC.range,EFe.range,TFe.range;function xC(i){return h1(s=>{s.setUTCDate(s.getUTCDate()-(s.getUTCDay()+7-i)%7),s.setUTCHours(0,0,0,0)},(s,u)=>{s.setUTCDate(s.getUTCDate()+u*7)},(s,u)=>(u-s)/Gpe)}const CFe=xC(0),iX=xC(1),nOt=xC(2),rOt=xC(3),oD=xC(4),iOt=xC(5),sOt=xC(6);CFe.range,iX.range,nOt.range,rOt.range,oD.range,iOt.range,sOt.range;const IF=h1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,s)=>{i.setMonth(i.getMonth()+s)},(i,s)=>s.getMonth()-i.getMonth()+(s.getFullYear()-i.getFullYear())*12,i=>i.getMonth());IF.range,h1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCMonth(i.getUTCMonth()+s)},(i,s)=>s.getUTCMonth()-i.getUTCMonth()+(s.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const x7=h1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,s)=>{i.setFullYear(i.getFullYear()+s)},(i,s)=>s.getFullYear()-i.getFullYear(),i=>i.getFullYear());x7.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:h1(s=>{s.setFullYear(Math.floor(s.getFullYear()/i)*i),s.setMonth(0,1),s.setHours(0,0,0,0)},(s,u)=>{s.setFullYear(s.getFullYear()+u*i)}),x7.range;const kC=h1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCFullYear(i.getUTCFullYear()+s)},(i,s)=>s.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());kC.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:h1(s=>{s.setUTCFullYear(Math.floor(s.getUTCFullYear()/i)*i),s.setUTCMonth(0,1),s.setUTCHours(0,0,0,0)},(s,u)=>{s.setUTCFullYear(s.getUTCFullYear()+u*i)}),kC.range;function aOt(i,s,u,d,p,v){const b=[[b9,1,v7],[b9,5,5*v7],[b9,15,15*v7],[b9,30,30*v7],[v,1,Mv],[v,5,5*Mv],[v,15,15*Mv],[v,30,30*Mv],[p,1,w7],[p,3,3*w7],[p,6,6*w7],[p,12,12*w7],[d,1,y7],[d,2,2*y7],[u,1,Gpe],[s,1,yFe],[s,3,3*yFe],[i,1,Kpe]];function y(_,A,P){const R=A<_;R&&([_,A]=[A,_]);const F=P&&typeof P.range=="function"?P:T(_,A,P),j=F?F.range(_,+A+1):[];return R?j.reverse():j}function T(_,A,P){const R=Math.abs(A-_)/P,F=dpe(([,,ee])=>ee).right(b,R);if(F===b.length)return i.every(ppe(_/Kpe,A/Kpe,P));if(F===0)return aD.every(Math.max(ppe(_,A,P),1));const[j,K]=b[R/b[F-1][2]53)return null;"w"in Dt||(Dt.w=1),"Z"in Dt?(On=Xpe(OF(Dt.y,0,1)),ht=On.getUTCDay(),On=ht>4||ht===0?iX.ceil(On):iX(On),On=Wpe.offset(On,(Dt.V-1)*7),Dt.y=On.getUTCFullYear(),Dt.m=On.getUTCMonth(),Dt.d=On.getUTCDate()+(Dt.w+6)%7):(On=Ype(OF(Dt.y,0,1)),ht=On.getDay(),On=ht>4||ht===0?DF.ceil(On):DF(On),On=vC.offset(On,(Dt.V-1)*7),Dt.y=On.getFullYear(),Dt.m=On.getMonth(),Dt.d=On.getDate()+(Dt.w+6)%7)}else("W"in Dt||"U"in Dt)&&("w"in Dt||(Dt.w="u"in Dt?Dt.u%7:"W"in Dt?1:0),ht="Z"in Dt?Xpe(OF(Dt.y,0,1)).getUTCDay():Ype(OF(Dt.y,0,1)).getDay(),Dt.m=0,Dt.d="W"in Dt?(Dt.w+6)%7+Dt.W*7-(ht+5)%7:Dt.w+Dt.U*7-(ht+6)%7);return"Z"in Dt?(Dt.H+=Dt.Z/100|0,Dt.M+=Dt.Z%100,Xpe(Dt)):Ype(Dt)}}function de(xt,Pt,Qe,Dt){for(var kt=0,On=Pt.length,ht=Qe.length,zr,yt;kt=ht)return-1;if(zr=Pt.charCodeAt(kt++),zr===37){if(zr=Pt.charAt(kt++),yt=ae[zr in SFe?Pt.charAt(kt++):zr],!yt||(Dt=yt(xt,Qe,Dt))<0)return-1}else if(zr!=Qe.charCodeAt(Dt++))return-1}return Dt}function X(xt,Pt,Qe){var Dt=_.exec(Pt.slice(Qe));return Dt?(xt.p=A.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function ge(xt,Pt,Qe){var Dt=F.exec(Pt.slice(Qe));return Dt?(xt.w=j.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function W(xt,Pt,Qe){var Dt=P.exec(Pt.slice(Qe));return Dt?(xt.w=R.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function xe(xt,Pt,Qe){var Dt=ie.exec(Pt.slice(Qe));return Dt?(xt.m=oe.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function U(xt,Pt,Qe){var Dt=K.exec(Pt.slice(Qe));return Dt?(xt.m=ee.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function Fe(xt,Pt,Qe){return de(xt,s,Pt,Qe)}function Pe(xt,Pt,Qe){return de(xt,u,Pt,Qe)}function je(xt,Pt,Qe){return de(xt,d,Pt,Qe)}function Ie(xt){return b[xt.getDay()]}function Se(xt){return v[xt.getDay()]}function Ce(xt){return T[xt.getMonth()]}function ke(xt){return y[xt.getMonth()]}function Ke(xt){return p[+(xt.getHours()>=12)]}function Ft(xt){return 1+~~(xt.getMonth()/3)}function Ne(xt){return b[xt.getUTCDay()]}function gn(xt){return v[xt.getUTCDay()]}function _t(xt){return T[xt.getUTCMonth()]}function Et(xt){return y[xt.getUTCMonth()]}function Gt(xt){return p[+(xt.getUTCHours()>=12)]}function ln(xt){return 1+~~(xt.getUTCMonth()/3)}return{format:function(xt){var Pt=ne(xt+="",pe);return Pt.toString=function(){return xt},Pt},parse:function(xt){var Pt=se(xt+="",!1);return Pt.toString=function(){return xt},Pt},utcFormat:function(xt){var Pt=ne(xt+="",be);return Pt.toString=function(){return xt},Pt},utcParse:function(xt){var Pt=se(xt+="",!0);return Pt.toString=function(){return xt},Pt}}}var SFe={"-":"",_:" ",0:"0"},rd=/^\s*\d+/,lOt=/^%/,hOt=/[\\^$*+?|[\]().{}]/g;function mu(i,s,u){var d=i<0?"-":"",p=(d?-i:i)+"",v=p.length;return d+(v[s.toLowerCase(),u]))}function dOt(i,s,u){var d=rd.exec(s.slice(u,u+1));return d?(i.w=+d[0],u+d[0].length):-1}function gOt(i,s,u){var d=rd.exec(s.slice(u,u+1));return d?(i.u=+d[0],u+d[0].length):-1}function pOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.U=+d[0],u+d[0].length):-1}function bOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.V=+d[0],u+d[0].length):-1}function mOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.W=+d[0],u+d[0].length):-1}function _Fe(i,s,u){var d=rd.exec(s.slice(u,u+4));return d?(i.y=+d[0],u+d[0].length):-1}function AFe(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.y=+d[0]+(+d[0]>68?1900:2e3),u+d[0].length):-1}function vOt(i,s,u){var d=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(s.slice(u,u+6));return d?(i.Z=d[1]?0:-(d[2]+(d[3]||"00")),u+d[0].length):-1}function wOt(i,s,u){var d=rd.exec(s.slice(u,u+1));return d?(i.q=d[0]*3-3,u+d[0].length):-1}function yOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.m=d[0]-1,u+d[0].length):-1}function LFe(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.d=+d[0],u+d[0].length):-1}function xOt(i,s,u){var d=rd.exec(s.slice(u,u+3));return d?(i.m=0,i.d=+d[0],u+d[0].length):-1}function MFe(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.H=+d[0],u+d[0].length):-1}function kOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.M=+d[0],u+d[0].length):-1}function EOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.S=+d[0],u+d[0].length):-1}function TOt(i,s,u){var d=rd.exec(s.slice(u,u+3));return d?(i.L=+d[0],u+d[0].length):-1}function COt(i,s,u){var d=rd.exec(s.slice(u,u+6));return d?(i.L=Math.floor(d[0]/1e3),u+d[0].length):-1}function SOt(i,s,u){var d=lOt.exec(s.slice(u,u+1));return d?u+d[0].length:-1}function _Ot(i,s,u){var d=rd.exec(s.slice(u));return d?(i.Q=+d[0],u+d[0].length):-1}function AOt(i,s,u){var d=rd.exec(s.slice(u));return d?(i.s=+d[0],u+d[0].length):-1}function DFe(i,s){return mu(i.getDate(),s,2)}function LOt(i,s){return mu(i.getHours(),s,2)}function MOt(i,s){return mu(i.getHours()%12||12,s,2)}function DOt(i,s){return mu(1+vC.count(x7(i),i),s,3)}function IFe(i,s){return mu(i.getMilliseconds(),s,3)}function IOt(i,s){return IFe(i,s)+"000"}function OOt(i,s){return mu(i.getMonth()+1,s,2)}function NOt(i,s){return mu(i.getMinutes(),s,2)}function POt(i,s){return mu(i.getSeconds(),s,2)}function BOt(i){var s=i.getDay();return s===0?7:s}function FOt(i,s){return mu(MF.count(x7(i)-1,i),s,2)}function OFe(i){var s=i.getDay();return s>=4||s===0?yC(i):yC.ceil(i)}function ROt(i,s){return i=OFe(i),mu(yC.count(x7(i),i)+(x7(i).getDay()===4),s,2)}function jOt(i){return i.getDay()}function $Ot(i,s){return mu(DF.count(x7(i)-1,i),s,2)}function zOt(i,s){return mu(i.getFullYear()%100,s,2)}function qOt(i,s){return i=OFe(i),mu(i.getFullYear()%100,s,2)}function HOt(i,s){return mu(i.getFullYear()%1e4,s,4)}function VOt(i,s){var u=i.getDay();return i=u>=4||u===0?yC(i):yC.ceil(i),mu(i.getFullYear()%1e4,s,4)}function UOt(i){var s=i.getTimezoneOffset();return(s>0?"-":(s*=-1,"+"))+mu(s/60|0,"0",2)+mu(s%60,"0",2)}function NFe(i,s){return mu(i.getUTCDate(),s,2)}function GOt(i,s){return mu(i.getUTCHours(),s,2)}function KOt(i,s){return mu(i.getUTCHours()%12||12,s,2)}function WOt(i,s){return mu(1+Wpe.count(kC(i),i),s,3)}function PFe(i,s){return mu(i.getUTCMilliseconds(),s,3)}function YOt(i,s){return PFe(i,s)+"000"}function XOt(i,s){return mu(i.getUTCMonth()+1,s,2)}function QOt(i,s){return mu(i.getUTCMinutes(),s,2)}function JOt(i,s){return mu(i.getUTCSeconds(),s,2)}function ZOt(i){var s=i.getUTCDay();return s===0?7:s}function eNt(i,s){return mu(CFe.count(kC(i)-1,i),s,2)}function BFe(i){var s=i.getUTCDay();return s>=4||s===0?oD(i):oD.ceil(i)}function tNt(i,s){return i=BFe(i),mu(oD.count(kC(i),i)+(kC(i).getUTCDay()===4),s,2)}function nNt(i){return i.getUTCDay()}function rNt(i,s){return mu(iX.count(kC(i)-1,i),s,2)}function iNt(i,s){return mu(i.getUTCFullYear()%100,s,2)}function sNt(i,s){return i=BFe(i),mu(i.getUTCFullYear()%100,s,2)}function aNt(i,s){return mu(i.getUTCFullYear()%1e4,s,4)}function oNt(i,s){var u=i.getUTCDay();return i=u>=4||u===0?oD(i):oD.ceil(i),mu(i.getUTCFullYear()%1e4,s,4)}function cNt(){return"+0000"}function FFe(){return"%"}function RFe(i){return+i}function jFe(i){return Math.floor(+i/1e3)}var cD,sX;uNt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function uNt(i){return cD=uOt(i),sX=cD.format,cD.parse,cD.utcFormat,cD.utcParse,cD}function lNt(i){return new Date(i)}function hNt(i){return i instanceof Date?+i:+new Date(+i)}function $Fe(i,s,u,d,p,v,b,y,T,_){var A=wFe(),P=A.invert,R=A.domain,F=_(".%L"),j=_(":%S"),K=_("%I:%M"),ee=_("%I %p"),ie=_("%a %d"),oe=_("%b %d"),pe=_("%B"),be=_("%Y");function ae(ne){return(T(ne)1?0:i<-1?BF:Math.acos(i)}function HFe(i){return i>=1?aX:i<=-1?-aX:Math.asin(i)}function VFe(i){let s=3;return i.digits=function(u){if(!arguments.length)return s;if(u==null)s=null;else{const d=Math.floor(u);if(!(d>=0))throw new RangeError(`invalid digits: ${u}`);s=d}return i},()=>new DIt(s)}function bNt(i){return i.innerRadius}function mNt(i){return i.outerRadius}function vNt(i){return i.startAngle}function wNt(i){return i.endAngle}function yNt(i){return i&&i.padAngle}function xNt(i,s,u,d,p,v,b,y){var T=u-i,_=d-s,A=b-p,P=y-v,R=P*T-A*_;if(!(R*RFe*Fe+Pe*Pe&&(de=ge,X=W),{cx:de,cy:X,x01:-A,y01:-P,x11:de*(p/ae-1),y11:X*(p/ae-1)}}function lD(){var i=bNt,s=mNt,u=Wf(0),d=null,p=vNt,v=wNt,b=yNt,y=null,T=VFe(_);function _(){var A,P,R=+i.apply(this,arguments),F=+s.apply(this,arguments),j=p.apply(this,arguments)-aX,K=v.apply(this,arguments)-aX,ee=qFe(K-j),ie=K>j;if(y||(y=A=T()),FIg))y.moveTo(0,0);else if(ee>oX-Ig)y.moveTo(F*EC(j),F*z4(j)),y.arc(0,0,F,j,K,!ie),R>Ig&&(y.moveTo(R*EC(K),R*z4(K)),y.arc(0,0,R,K,j,ie));else{var oe=j,pe=K,be=j,ae=K,ne=ee,se=ee,de=b.apply(this,arguments)/2,X=de>Ig&&(d?+d.apply(this,arguments):uD(R*R+F*F)),ge=Qpe(qFe(F-R)/2,+u.apply(this,arguments)),W=ge,xe=ge,U,Fe;if(X>Ig){var Pe=HFe(X/R*z4(de)),je=HFe(X/F*z4(de));(ne-=Pe*2)>Ig?(Pe*=ie?1:-1,be+=Pe,ae-=Pe):(ne=0,be=ae=(j+K)/2),(se-=je*2)>Ig?(je*=ie?1:-1,oe+=je,pe-=je):(se=0,oe=pe=(j+K)/2)}var Ie=F*EC(oe),Se=F*z4(oe),Ce=R*EC(ae),ke=R*z4(ae);if(ge>Ig){var Ke=F*EC(pe),Ft=F*z4(pe),Ne=R*EC(be),gn=R*z4(be),_t;if(eeIg?xe>Ig?(U=cX(Ne,gn,Ie,Se,F,xe,ie),Fe=cX(Ke,Ft,Ce,ke,F,xe,ie),y.moveTo(U.cx+U.x01,U.cy+U.y01),xeIg)||!(ne>Ig)?y.lineTo(Ce,ke):W>Ig?(U=cX(Ce,ke,Ke,Ft,R,-W,ie),Fe=cX(Ie,Se,Ne,gn,R,-W,ie),y.lineTo(U.cx+U.x01,U.cy+U.y01),Wi?1:s>=i?0:NaN}function CNt(i){return i}function SNt(){var i=CNt,s=TNt,u=null,d=Wf(0),p=Wf(oX),v=Wf(0);function b(y){var T,_=(y=UFe(y)).length,A,P,R=0,F=new Array(_),j=new Array(_),K=+d.apply(this,arguments),ee=Math.min(oX,Math.max(-oX,p.apply(this,arguments)-K)),ie,oe=Math.min(Math.abs(ee)/_,v.apply(this,arguments)),pe=oe*(ee<0?-1:1),be;for(T=0;T<_;++T)(be=j[F[T]=T]=+i(y[T],T,y))>0&&(R+=be);for(s!=null?F.sort(function(ae,ne){return s(j[ae],j[ne])}):u!=null&&F.sort(function(ae,ne){return u(y[ae],y[ne])}),T=0,P=R?(ee-_*pe)/R:0;T<_;++T,K=ie)A=F[T],be=j[A],ie=K+(be>0?be*P:0)+pe,j[A]={data:y[A],index:T,value:be,startAngle:K,endAngle:ie,padAngle:oe};return j}return b.value=function(y){return arguments.length?(i=typeof y=="function"?y:Wf(+y),b):i},b.sortValues=function(y){return arguments.length?(s=y,u=null,b):s},b.sort=function(y){return arguments.length?(u=y,s=null,b):u},b.startAngle=function(y){return arguments.length?(d=typeof y=="function"?y:Wf(+y),b):d},b.endAngle=function(y){return arguments.length?(p=typeof y=="function"?y:Wf(+y),b):p},b.padAngle=function(y){return arguments.length?(v=typeof y=="function"?y:Wf(+y),b):v},b}class KFe{constructor(s,u){this._context=s,this._x=u}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(s,u){switch(s=+s,u=+u,this._point){case 0:{this._point=1,this._line?this._context.lineTo(s,u):this._context.moveTo(s,u);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+s)/2,this._y0,this._x0,u,s,u):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+u)/2,s,this._y0,s,u);break}}this._x0=s,this._y0=u}}function _Nt(i){return new KFe(i,!0)}function ANt(i){return new KFe(i,!1)}function m9(){}function uX(i,s,u){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+s)/6,(i._y0+4*i._y1+u)/6)}function lX(i){this._context=i}lX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:uX(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);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:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function FF(i){return new lX(i)}function WFe(i){this._context=i}WFe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._x2=i,this._y2=s;break;case 1:this._point=2,this._x3=i,this._y3=s;break;case 2:this._point=3,this._x4=i,this._y4=s,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+s)/6);break;default:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function LNt(i){return new WFe(i)}function YFe(i){this._context=i}YFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var u=(this._x0+4*this._x1+i)/6,d=(this._y0+4*this._y1+s)/6;this._line?this._context.lineTo(u,d):this._context.moveTo(u,d);break;case 3:this._point=4;default:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function MNt(i){return new YFe(i)}function XFe(i,s){this._basis=new lX(i),this._beta=s}XFe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,s=this._y,u=i.length-1;if(u>0)for(var d=i[0],p=s[0],v=i[u]-d,b=s[u]-p,y=-1,T;++y<=u;)T=y/u,this._basis.point(this._beta*i[y]+(1-this._beta)*(d+T*v),this._beta*s[y]+(1-this._beta)*(p+T*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,s){this._x.push(+i),this._y.push(+s)}};const DNt=function i(s){function u(d){return s===1?new lX(d):new XFe(d,s)}return u.beta=function(d){return i(+d)},u}(.85);function hX(i,s,u){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-s),i._y2+i._k*(i._y1-u),i._x2,i._y2)}function Jpe(i,s){this._context=i,this._k=(1-s)/6}Jpe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:hX(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2,this._x1=i,this._y1=s;break;case 2:this._point=3;default:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const INt=function i(s){function u(d){return new Jpe(d,s)}return u.tension=function(d){return i(+d)},u}(0);function Zpe(i,s){this._context=i,this._k=(1-s)/6}Zpe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._x3=i,this._y3=s;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=s);break;case 2:this._point=3,this._x5=i,this._y5=s;break;default:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const ONt=function i(s){function u(d){return new Zpe(d,s)}return u.tension=function(d){return i(+d)},u}(0);function e2e(i,s){this._context=i,this._k=(1-s)/6}e2e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,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:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const NNt=function i(s){function u(d){return new e2e(d,s)}return u.tension=function(d){return i(+d)},u}(0);function t2e(i,s,u){var d=i._x1,p=i._y1,v=i._x2,b=i._y2;if(i._l01_a>Ig){var y=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,T=3*i._l01_a*(i._l01_a+i._l12_a);d=(d*y-i._x0*i._l12_2a+i._x2*i._l01_2a)/T,p=(p*y-i._y0*i._l12_2a+i._y2*i._l01_2a)/T}if(i._l23_a>Ig){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,A=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-s*i._l12_2a)/A,b=(b*_+i._y1*i._l23_2a-u*i._l12_2a)/A}i._context.bezierCurveTo(d,p,v,b,i._x2,i._y2)}function QFe(i,s){this._context=i,this._alpha=s}QFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3;default:t2e(this,i,s);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const PNt=function i(s){function u(d){return s?new QFe(d,s):new Jpe(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function JFe(i,s){this._context=i,this._alpha=s}JFe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=s;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=s);break;case 2:this._point=3,this._x5=i,this._y5=s;break;default:t2e(this,i,s);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const BNt=function i(s){function u(d){return s?new JFe(d,s):new Zpe(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function ZFe(i,s){this._context=i,this._alpha=s}ZFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,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:t2e(this,i,s);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const FNt=function i(s){function u(d){return s?new ZFe(d,s):new e2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function eRe(i){this._context=i}eRe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,s){i=+i,s=+s,this._point?this._context.lineTo(i,s):(this._point=1,this._context.moveTo(i,s))}};function RNt(i){return new eRe(i)}function tRe(i){return i<0?-1:1}function nRe(i,s,u){var d=i._x1-i._x0,p=s-i._x1,v=(i._y1-i._y0)/(d||p<0&&-0),b=(u-i._y1)/(p||d<0&&-0),y=(v*p+b*d)/(d+p);return(tRe(v)+tRe(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(y))||0}function rRe(i,s){var u=i._x1-i._x0;return u?(3*(i._y1-i._y0)/u-s)/2:s}function n2e(i,s,u){var d=i._x0,p=i._y0,v=i._x1,b=i._y1,y=(v-d)/3;i._context.bezierCurveTo(d+y,p+y*s,v-y,b-y*u,v,b)}function fX(i){this._context=i}fX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:n2e(this,this._t0,rRe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){var u=NaN;if(i=+i,s=+s,!(i===this._x1&&s===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3,n2e(this,rRe(this,u=nRe(this,i,s)),u);break;default:n2e(this,this._t0,u=nRe(this,i,s));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s,this._t0=u}}};function iRe(i){this._context=new sRe(i)}(iRe.prototype=Object.create(fX.prototype)).point=function(i,s){fX.prototype.point.call(this,s,i)};function sRe(i){this._context=i}sRe.prototype={moveTo:function(i,s){this._context.moveTo(s,i)},closePath:function(){this._context.closePath()},lineTo:function(i,s){this._context.lineTo(s,i)},bezierCurveTo:function(i,s,u,d,p,v){this._context.bezierCurveTo(s,i,d,u,v,p)}};function jNt(i){return new fX(i)}function $Nt(i){return new iRe(i)}function aRe(i){this._context=i}aRe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,s=this._y,u=i.length;if(u)if(this._line?this._context.lineTo(i[0],s[0]):this._context.moveTo(i[0],s[0]),u===2)this._context.lineTo(i[1],s[1]);else for(var d=oRe(i),p=oRe(s),v=0,b=1;b=0;--s)p[s]=(b[s]-p[s+1])/v[s];for(v[u-1]=(i[u]+p[u-1])/2,s=0;s=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,s),this._context.lineTo(i,s);else{var u=this._x*(1-this._t)+i*this._t;this._context.lineTo(u,this._y),this._context.lineTo(u,s)}break}}this._x=i,this._y=s}};function qNt(i){return new dX(i,.5)}function HNt(i){return new dX(i,0)}function VNt(i){return new dX(i,1)}function RF(i,s,u){this.k=i,this.x=s,this.y=u}RF.prototype={constructor:RF,scale:function(i){return i===1?this:new RF(this.k*i,this.x,this.y)},translate:function(i,s){return i===0&s===0?this:new RF(this.k,this.x+this.k*i,this.y+this.k*s)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},RF.prototype;/*! @license DOMPurify 3.0.9 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.9/LICENSE */const{entries:cRe,setPrototypeOf:uRe,isFrozen:UNt,getPrototypeOf:GNt,getOwnPropertyDescriptor:KNt}=Object;let{freeze:Ep,seal:D3,create:lRe}=Object,{apply:r2e,construct:i2e}=typeof Reflect<"u"&&Reflect;Ep||(Ep=function(s){return s}),D3||(D3=function(s){return s}),r2e||(r2e=function(s,u,d){return s.apply(u,d)}),i2e||(i2e=function(s,u){return new s(...u)});const gX=sm(Array.prototype.forEach),hRe=sm(Array.prototype.pop),jF=sm(Array.prototype.push),pX=sm(String.prototype.toLowerCase),s2e=sm(String.prototype.toString),WNt=sm(String.prototype.match),$F=sm(String.prototype.replace),YNt=sm(String.prototype.indexOf),XNt=sm(String.prototype.trim),I3=sm(Object.prototype.hasOwnProperty),im=sm(RegExp.prototype.test),zF=QNt(TypeError);function sm(i){return function(s){for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p2&&arguments[2]!==void 0?arguments[2]:pX;uRe&&uRe(i,null);let d=s.length;for(;d--;){let p=s[d];if(typeof p=="string"){const v=u(p);v!==p&&(UNt(s)||(s[d]=v),p=v)}i[p]=!0}return i}function JNt(i){for(let s=0;s/gm),rPt=D3(/\${[\w\W]*}/gm),iPt=D3(/^data-[\-\w.\u00B7-\uFFFF]/),sPt=D3(/^aria-[\-\w]+$/),bRe=D3(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),aPt=D3(/^(?:\w+script|data):/i),oPt=D3(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),mRe=D3(/^html$/i);var vRe=Object.freeze({__proto__:null,MUSTACHE_EXPR:tPt,ERB_EXPR:nPt,TMPLIT_EXPR:rPt,DATA_ATTR:iPt,ARIA_ATTR:sPt,IS_ALLOWED_URI:bRe,IS_SCRIPT_OR_DATA:aPt,ATTR_WHITESPACE:oPt,DOCTYPE_NAME:mRe});const cPt=function(){return typeof window>"u"?null:window},uPt=function(s,u){if(typeof s!="object"||typeof s.createPolicy!="function")return null;let d=null;const p="data-tt-policy-suffix";u&&u.hasAttribute(p)&&(d=u.getAttribute(p));const v="dompurify"+(d?"#"+d:"");try{return s.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function wRe(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cPt();const s=as=>wRe(as);if(s.version="3.0.9",s.removed=[],!i||!i.document||i.document.nodeType!==9)return s.isSupported=!1,s;let{document:u}=i;const d=u,p=d.currentScript,{DocumentFragment:v,HTMLTemplateElement:b,Node:y,Element:T,NodeFilter:_,NamedNodeMap:A=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:P,DOMParser:R,trustedTypes:F}=i,j=T.prototype,K=bX(j,"cloneNode"),ee=bX(j,"nextSibling"),ie=bX(j,"childNodes"),oe=bX(j,"parentNode");if(typeof b=="function"){const as=u.createElement("template");as.content&&as.content.ownerDocument&&(u=as.content.ownerDocument)}let pe,be="";const{implementation:ae,createNodeIterator:ne,createDocumentFragment:se,getElementsByTagName:de}=u,{importNode:X}=d;let ge={};s.isSupported=typeof cRe=="function"&&typeof oe=="function"&&ae&&ae.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:W,ERB_EXPR:xe,TMPLIT_EXPR:U,DATA_ATTR:Fe,ARIA_ATTR:Pe,IS_SCRIPT_OR_DATA:je,ATTR_WHITESPACE:Ie}=vRe;let{IS_ALLOWED_URI:Se}=vRe,Ce=null;const ke=Cc({},[...fRe,...a2e,...o2e,...c2e,...dRe]);let Ke=null;const Ft=Cc({},[...gRe,...u2e,...pRe,...mX]);let Ne=Object.seal(lRe(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}})),gn=null,_t=null,Et=!0,Gt=!0,ln=!1,xt=!0,Pt=!1,Qe=!1,Dt=!1,kt=!1,On=!1,ht=!1,zr=!1,yt=!0,ji=!1;const xi="user-content-";let Ma=!0,zs=!1,ao={},Tr=null;const Fn=Cc({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let qn=null;const Un=Cc({},["audio","video","img","source","image","track"]);let At=null;const wt=Cc({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),on="http://www.w3.org/1998/Math/MathML",fn="http://www.w3.org/2000/svg",An="http://www.w3.org/1999/xhtml";let oo=An,jo=!1,$o=null;const Pa=Cc({},[on,fn,An],s2e);let wo=null;const _s=["application/xhtml+xml","text/html"],tl="text/html";let da=null,j0=null;const pm=u.createElement("form"),Ml=function(wn){return wn instanceof RegExp||wn instanceof Function},Xc=function(){let wn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(j0&&j0===wn)){if((!wn||typeof wn!="object")&&(wn={}),wn=TC(wn),wo=_s.indexOf(wn.PARSER_MEDIA_TYPE)===-1?tl:wn.PARSER_MEDIA_TYPE,da=wo==="application/xhtml+xml"?s2e:pX,Ce=I3(wn,"ALLOWED_TAGS")?Cc({},wn.ALLOWED_TAGS,da):ke,Ke=I3(wn,"ALLOWED_ATTR")?Cc({},wn.ALLOWED_ATTR,da):Ft,$o=I3(wn,"ALLOWED_NAMESPACES")?Cc({},wn.ALLOWED_NAMESPACES,s2e):Pa,At=I3(wn,"ADD_URI_SAFE_ATTR")?Cc(TC(wt),wn.ADD_URI_SAFE_ATTR,da):wt,qn=I3(wn,"ADD_DATA_URI_TAGS")?Cc(TC(Un),wn.ADD_DATA_URI_TAGS,da):Un,Tr=I3(wn,"FORBID_CONTENTS")?Cc({},wn.FORBID_CONTENTS,da):Fn,gn=I3(wn,"FORBID_TAGS")?Cc({},wn.FORBID_TAGS,da):{},_t=I3(wn,"FORBID_ATTR")?Cc({},wn.FORBID_ATTR,da):{},ao=I3(wn,"USE_PROFILES")?wn.USE_PROFILES:!1,Et=wn.ALLOW_ARIA_ATTR!==!1,Gt=wn.ALLOW_DATA_ATTR!==!1,ln=wn.ALLOW_UNKNOWN_PROTOCOLS||!1,xt=wn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Pt=wn.SAFE_FOR_TEMPLATES||!1,Qe=wn.WHOLE_DOCUMENT||!1,On=wn.RETURN_DOM||!1,ht=wn.RETURN_DOM_FRAGMENT||!1,zr=wn.RETURN_TRUSTED_TYPE||!1,kt=wn.FORCE_BODY||!1,yt=wn.SANITIZE_DOM!==!1,ji=wn.SANITIZE_NAMED_PROPS||!1,Ma=wn.KEEP_CONTENT!==!1,zs=wn.IN_PLACE||!1,Se=wn.ALLOWED_URI_REGEXP||bRe,oo=wn.NAMESPACE||An,Ne=wn.CUSTOM_ELEMENT_HANDLING||{},wn.CUSTOM_ELEMENT_HANDLING&&Ml(wn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ne.tagNameCheck=wn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),wn.CUSTOM_ELEMENT_HANDLING&&Ml(wn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ne.attributeNameCheck=wn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),wn.CUSTOM_ELEMENT_HANDLING&&typeof wn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Ne.allowCustomizedBuiltInElements=wn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Pt&&(Gt=!1),ht&&(On=!0),ao&&(Ce=Cc({},dRe),Ke=[],ao.html===!0&&(Cc(Ce,fRe),Cc(Ke,gRe)),ao.svg===!0&&(Cc(Ce,a2e),Cc(Ke,u2e),Cc(Ke,mX)),ao.svgFilters===!0&&(Cc(Ce,o2e),Cc(Ke,u2e),Cc(Ke,mX)),ao.mathMl===!0&&(Cc(Ce,c2e),Cc(Ke,pRe),Cc(Ke,mX))),wn.ADD_TAGS&&(Ce===ke&&(Ce=TC(Ce)),Cc(Ce,wn.ADD_TAGS,da)),wn.ADD_ATTR&&(Ke===Ft&&(Ke=TC(Ke)),Cc(Ke,wn.ADD_ATTR,da)),wn.ADD_URI_SAFE_ATTR&&Cc(At,wn.ADD_URI_SAFE_ATTR,da),wn.FORBID_CONTENTS&&(Tr===Fn&&(Tr=TC(Tr)),Cc(Tr,wn.FORBID_CONTENTS,da)),Ma&&(Ce["#text"]=!0),Qe&&Cc(Ce,["html","head","body"]),Ce.table&&(Cc(Ce,["tbody"]),delete gn.tbody),wn.TRUSTED_TYPES_POLICY){if(typeof wn.TRUSTED_TYPES_POLICY.createHTML!="function")throw zF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof wn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw zF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');pe=wn.TRUSTED_TYPES_POLICY,be=pe.createHTML("")}else pe===void 0&&(pe=uPt(F,p)),pe!==null&&typeof be=="string"&&(be=pe.createHTML(""));Ep&&Ep(wn),j0=wn}},Bc=Cc({},["mi","mo","mn","ms","mtext"]),ja=Cc({},["foreignobject","desc","title","annotation-xml"]),Ou=Cc({},["title","style","font","a","script"]),Sa=Cc({},[...a2e,...o2e,...ZNt]),Po=Cc({},[...c2e,...ePt]),Fc=function(wn){let Zr=oe(wn);(!Zr||!Zr.tagName)&&(Zr={namespaceURI:oo,tagName:"template"});const Zi=pX(wn.tagName),nu=pX(Zr.tagName);return $o[wn.namespaceURI]?wn.namespaceURI===fn?Zr.namespaceURI===An?Zi==="svg":Zr.namespaceURI===on?Zi==="svg"&&(nu==="annotation-xml"||Bc[nu]):!!Sa[Zi]:wn.namespaceURI===on?Zr.namespaceURI===An?Zi==="math":Zr.namespaceURI===fn?Zi==="math"&&ja[nu]:!!Po[Zi]:wn.namespaceURI===An?Zr.namespaceURI===fn&&!ja[nu]||Zr.namespaceURI===on&&!Bc[nu]?!1:!Po[Zi]&&(Ou[Zi]||!Sa[Zi]):!!(wo==="application/xhtml+xml"&&$o[wn.namespaceURI]):!1},xa=function(wn){jF(s.removed,{element:wn});try{wn.parentNode.removeChild(wn)}catch{wn.remove()}},Ba=function(wn,Zr){try{jF(s.removed,{attribute:Zr.getAttributeNode(wn),from:Zr})}catch{jF(s.removed,{attribute:null,from:Zr})}if(Zr.removeAttribute(wn),wn==="is"&&!Ke[wn])if(On||ht)try{xa(Zr)}catch{}else try{Zr.setAttribute(wn,"")}catch{}},ga=function(wn){let Zr=null,Zi=null;if(kt)wn=""+wn;else{const Dl=WNt(wn,/^[\r\n\t ]+/);Zi=Dl&&Dl[0]}wo==="application/xhtml+xml"&&oo===An&&(wn=''+wn+"");const nu=pe?pe.createHTML(wn):wn;if(oo===An)try{Zr=new R().parseFromString(nu,wo)}catch{}if(!Zr||!Zr.documentElement){Zr=ae.createDocument(oo,"template",null);try{Zr.documentElement.innerHTML=jo?be:nu}catch{}}const vu=Zr.body||Zr.documentElement;return wn&&Zi&&vu.insertBefore(u.createTextNode(Zi),vu.childNodes[0]||null),oo===An?de.call(Zr,Qe?"html":"body")[0]:Qe?Zr.documentElement:vu},kh=function(wn){return ne.call(wn.ownerDocument||wn,wn,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT,null)},lu=function(wn){return wn instanceof P&&(typeof wn.nodeName!="string"||typeof wn.textContent!="string"||typeof wn.removeChild!="function"||!(wn.attributes instanceof A)||typeof wn.removeAttribute!="function"||typeof wn.setAttribute!="function"||typeof wn.namespaceURI!="string"||typeof wn.insertBefore!="function"||typeof wn.hasChildNodes!="function")},o5=function(wn){return typeof y=="function"&&wn instanceof y},Wh=function(wn,Zr,Zi){ge[wn]&&gX(ge[wn],nu=>{nu.call(s,Zr,Zi,j0)})},od=function(wn){let Zr=null;if(Wh("beforeSanitizeElements",wn,null),lu(wn))return xa(wn),!0;const Zi=da(wn.nodeName);if(Wh("uponSanitizeElement",wn,{tagName:Zi,allowedTags:Ce}),wn.hasChildNodes()&&!o5(wn.firstElementChild)&&im(/<[/\w]/g,wn.innerHTML)&&im(/<[/\w]/g,wn.textContent))return xa(wn),!0;if(!Ce[Zi]||gn[Zi]){if(!gn[Zi]&&cd(Zi)&&(Ne.tagNameCheck instanceof RegExp&&im(Ne.tagNameCheck,Zi)||Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(Zi)))return!1;if(Ma&&!Tr[Zi]){const nu=oe(wn)||wn.parentNode,vu=ie(wn)||wn.childNodes;if(vu&&nu){const Dl=vu.length;for(let Yh=Dl-1;Yh>=0;--Yh)nu.insertBefore(K(vu[Yh],!0),ee(wn))}}return xa(wn),!0}return wn instanceof T&&!Fc(wn)||(Zi==="noscript"||Zi==="noembed"||Zi==="noframes")&&im(/<\/no(script|embed|frames)/i,wn.innerHTML)?(xa(wn),!0):(Pt&&wn.nodeType===3&&(Zr=wn.textContent,gX([W,xe,U],nu=>{Zr=$F(Zr,nu," ")}),wn.textContent!==Zr&&(jF(s.removed,{element:wn.cloneNode()}),wn.textContent=Zr)),Wh("afterSanitizeElements",wn,null),!1)},Gd=function(wn,Zr,Zi){if(yt&&(Zr==="id"||Zr==="name")&&(Zi in u||Zi in pm))return!1;if(!(Gt&&!_t[Zr]&&im(Fe,Zr))){if(!(Et&&im(Pe,Zr))){if(!Ke[Zr]||_t[Zr]){if(!(cd(wn)&&(Ne.tagNameCheck instanceof RegExp&&im(Ne.tagNameCheck,wn)||Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(wn))&&(Ne.attributeNameCheck instanceof RegExp&&im(Ne.attributeNameCheck,Zr)||Ne.attributeNameCheck instanceof Function&&Ne.attributeNameCheck(Zr))||Zr==="is"&&Ne.allowCustomizedBuiltInElements&&(Ne.tagNameCheck instanceof RegExp&&im(Ne.tagNameCheck,Zi)||Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(Zi))))return!1}else if(!At[Zr]){if(!im(Se,$F(Zi,Ie,""))){if(!((Zr==="src"||Zr==="xlink:href"||Zr==="href")&&wn!=="script"&&YNt(Zi,"data:")===0&&qn[wn])){if(!(ln&&!im(je,$F(Zi,Ie,"")))){if(Zi)return!1}}}}}}return!0},cd=function(wn){return wn!=="annotation-xml"&&wn.indexOf("-")>0},Kd=function(wn){Wh("beforeSanitizeAttributes",wn,null);const{attributes:Zr}=wn;if(!Zr)return;const Zi={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ke};let nu=Zr.length;for(;nu--;){const vu=Zr[nu],{name:Dl,namespaceURI:Yh,value:w1}=vu,$0=da(Dl);let Wi=Dl==="value"?w1:XNt(w1);if(Zi.attrName=$0,Zi.attrValue=Wi,Zi.keepAttr=!0,Zi.forceKeepAttr=void 0,Wh("uponSanitizeAttribute",wn,Zi),Wi=Zi.attrValue,Zi.forceKeepAttr||(Ba(Dl,wn),!Zi.keepAttr))continue;if(!xt&&im(/\/>/i,Wi)){Ba(Dl,wn);continue}Pt&&gX([W,xe,U],Qa=>{Wi=$F(Wi,Qa," ")});const Bs=da(wn.nodeName);if(Gd(Bs,$0,Wi)){if(ji&&($0==="id"||$0==="name")&&(Ba(Dl,wn),Wi=xi+Wi),pe&&typeof F=="object"&&typeof F.getAttributeType=="function"&&!Yh)switch(F.getAttributeType(Bs,$0)){case"TrustedHTML":{Wi=pe.createHTML(Wi);break}case"TrustedScriptURL":{Wi=pe.createScriptURL(Wi);break}}try{Yh?wn.setAttributeNS(Yh,Dl,Wi):wn.setAttribute(Dl,Wi),hRe(s.removed)}catch{}}}Wh("afterSanitizeAttributes",wn,null)},$g=function as(wn){let Zr=null;const Zi=kh(wn);for(Wh("beforeSanitizeShadowDOM",wn,null);Zr=Zi.nextNode();)Wh("uponSanitizeShadowNode",Zr,null),!od(Zr)&&(Zr.content instanceof v&&as(Zr.content),Kd(Zr));Wh("afterSanitizeShadowDOM",wn,null)};return s.sanitize=function(as){let wn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Zr=null,Zi=null,nu=null,vu=null;if(jo=!as,jo&&(as=""),typeof as!="string"&&!o5(as))if(typeof as.toString=="function"){if(as=as.toString(),typeof as!="string")throw zF("dirty is not a string, aborting")}else throw zF("toString is not a function");if(!s.isSupported)return as;if(Dt||Xc(wn),s.removed=[],typeof as=="string"&&(zs=!1),zs){if(as.nodeName){const w1=da(as.nodeName);if(!Ce[w1]||gn[w1])throw zF("root node is forbidden and cannot be sanitized in-place")}}else if(as instanceof y)Zr=ga(""),Zi=Zr.ownerDocument.importNode(as,!0),Zi.nodeType===1&&Zi.nodeName==="BODY"||Zi.nodeName==="HTML"?Zr=Zi:Zr.appendChild(Zi);else{if(!On&&!Pt&&!Qe&&as.indexOf("<")===-1)return pe&&zr?pe.createHTML(as):as;if(Zr=ga(as),!Zr)return On?null:zr?be:""}Zr&&kt&&xa(Zr.firstChild);const Dl=kh(zs?as:Zr);for(;nu=Dl.nextNode();)od(nu)||(nu.content instanceof v&&$g(nu.content),Kd(nu));if(zs)return as;if(On){if(ht)for(vu=se.call(Zr.ownerDocument);Zr.firstChild;)vu.appendChild(Zr.firstChild);else vu=Zr;return(Ke.shadowroot||Ke.shadowrootmode)&&(vu=X.call(d,vu,!0)),vu}let Yh=Qe?Zr.outerHTML:Zr.innerHTML;return Qe&&Ce["!doctype"]&&Zr.ownerDocument&&Zr.ownerDocument.doctype&&Zr.ownerDocument.doctype.name&&im(mRe,Zr.ownerDocument.doctype.name)&&(Yh=" +`+Yh),Pt&&gX([W,xe,U],w1=>{Yh=$F(Yh,w1," ")}),pe&&zr?pe.createHTML(Yh):Yh},s.setConfig=function(){let as=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xc(as),Dt=!0},s.clearConfig=function(){j0=null,Dt=!1},s.isValidAttribute=function(as,wn,Zr){j0||Xc({});const Zi=da(as),nu=da(wn);return Gd(Zi,nu,Zr)},s.addHook=function(as,wn){typeof wn=="function"&&(ge[as]=ge[as]||[],jF(ge[as],wn))},s.removeHook=function(as){if(ge[as])return hRe(ge[as])},s.removeHooks=function(as){ge[as]&&(ge[as]=[])},s.removeAllHooks=function(){ge={}},s}var hD=wRe();const fD=//gi,lPt=i=>i?kRe(i).replace(/\\n/g,"#br#").split("#br#"):[""],hPt=(()=>{let i=!1;return()=>{i||(fPt(),i=!0)}})();function fPt(){const i="data-temp-href-target";hD.addHook("beforeSanitizeAttributes",s=>{s.tagName==="A"&&s.hasAttribute("target")&&s.setAttribute(i,s.getAttribute("target")||"")}),hD.addHook("afterSanitizeAttributes",s=>{s.tagName==="A"&&s.hasAttribute(i)&&(s.setAttribute("target",s.getAttribute(i)||""),s.removeAttribute(i),s.getAttribute("target")==="_blank"&&s.setAttribute("rel","noopener"))})}const yRe=i=>(hPt(),hD.sanitize(i)),xRe=(i,s)=>{var u;if(((u=s.flowchart)==null?void 0:u.htmlLabels)!==!1){const d=s.securityLevel;d==="antiscript"||d==="strict"?i=yRe(i):d!=="loose"&&(i=kRe(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=bPt(i))}return i},Yf=(i,s)=>i&&(s.dompurifyConfig?i=hD.sanitize(xRe(i,s),s.dompurifyConfig).toString():i=hD.sanitize(xRe(i,s),{FORBID_TAGS:["style"]}).toString(),i),dPt=(i,s)=>typeof i=="string"?Yf(i,s):i.flat().map(u=>Yf(u,s)),gPt=i=>fD.test(i),pPt=i=>i.split(fD),bPt=i=>i.replace(/#br#/g,"
    "),kRe=i=>i.replace(fD,"#br#"),mPt=i=>{let s="";return i&&(s=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,s=s.replaceAll(/\(/g,"\\("),s=s.replaceAll(/\)/g,"\\)")),s},f1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),vPt=function(...i){const s=i.filter(u=>!isNaN(u));return Math.max(...s)},wPt=function(...i){const s=i.filter(u=>!isNaN(u));return Math.min(...s)},qF=function(i){const s=i.split(/(,)/),u=[];for(let d=0;d0&&d+1Math.max(0,i.split(s).length-1),yPt=(i,s)=>{const u=l2e(i,"~"),d=l2e(s,"~");return u===1&&d===1},xPt=i=>{const s=l2e(i,"~");let u=!1;if(s<=1)return i;s%2!==0&&i.startsWith("~")&&(i=i.substring(1),u=!0);const d=[...i];let p=d.indexOf("~"),v=d.lastIndexOf("~");for(;p!==-1&&v!==-1&&p!==v;)d[p]="<",d[v]=">",p=d.indexOf("~"),v=d.lastIndexOf("~");return u&&d.unshift("~"),d.join("")},ERe=()=>window.MathMLElement!==void 0,h2e=/\$\$(.*)\$\$/g,Dv=i=>{var s;return(((s=i.match(h2e))==null?void 0:s.length)??0)>0},HF=async(i,s)=>{i=await CC(i,s);const u=document.createElement("div");u.innerHTML=i,u.id="katex-temp",u.style.visibility="hidden",u.style.position="absolute",u.style.top="0";const d=document.querySelector("body");d==null||d.insertAdjacentElement("beforeend",u);const p={width:u.clientWidth,height:u.clientHeight};return u.remove(),p},CC=async(i,s)=>{if(!Dv(i))return i;if(!ERe()&&!s.legacyMathML)return i.replace(h2e,"MathML is unsupported in this environment.");const{default:u}=await Promise.resolve().then(()=>MVt);return i.split(fD).map(d=>Dv(d)?` +
    + ${d} +
    + `:`
    ${d}
    `).join("").replace(h2e,(d,p)=>u.renderToString(p,{throwOnError:!0,displayMode:!0,output:ERe()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},ci={getRows:lPt,sanitizeText:Yf,sanitizeTextOrArray:dPt,hasBreaks:gPt,splitBreaks:pPt,lineBreakRegex:fD,removeScript:yRe,getUrl:mPt,evaluate:f1,getMax:vPt,getMin:wPt},vX={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:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const s=i/255;return i>.03928?Math.pow((s+.055)/1.055,2.4):s/12.92},hue2rgb:(i,s,u)=>(u<0&&(u+=1),u>1&&(u-=1),u<1/6?i+(s-i)*6*u:u<1/2?s:u<2/3?i+(s-i)*(2/3-u)*6:i),hsl2rgb:({h:i,s,l:u},d)=>{if(!s)return u*2.55;i/=360,s/=100,u/=100;const p=u<.5?u*(1+s):u+s-u*s,v=2*u-p;switch(d){case"r":return vX.hue2rgb(v,p,i+1/3)*255;case"g":return vX.hue2rgb(v,p,i)*255;case"b":return vX.hue2rgb(v,p,i-1/3)*255}},rgb2hsl:({r:i,g:s,b:u},d)=>{i/=255,s/=255,u/=255;const p=Math.max(i,s,u),v=Math.min(i,s,u),b=(p+v)/2;if(d==="l")return b*100;if(p===v)return 0;const y=p-v,T=b>.5?y/(2-p-v):y/(p+v);if(d==="s")return T*100;switch(p){case i:return((s-u)/y+(ss>u?Math.min(s,Math.max(u,i)):Math.min(u,Math.max(s,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const s=Math.round(i).toString(16);return s.length>1?s:`0${s}`}}},v9={};for(let i=0;i<=255;i++)v9[i]=Wa.unit.dec2hex(i);const Og={ALL:0,RGB:1,HSL:2};class kPt{constructor(){this.type=Og.ALL}get(){return this.type}set(s){if(this.type&&this.type!==s)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=s}reset(){this.type=Og.ALL}is(s){return this.type===s}}const EPt=kPt;class TPt{constructor(s,u){this.color=u,this.changed=!1,this.data=s,this.type=new EPt}set(s,u){return this.color=u,this.changed=!1,this.data=s,this.type.type=Og.ALL,this}_ensureHSL(){const s=this.data,{h:u,s:d,l:p}=s;u===void 0&&(s.h=Wa.channel.rgb2hsl(s,"h")),d===void 0&&(s.s=Wa.channel.rgb2hsl(s,"s")),p===void 0&&(s.l=Wa.channel.rgb2hsl(s,"l"))}_ensureRGB(){const s=this.data,{r:u,g:d,b:p}=s;u===void 0&&(s.r=Wa.channel.hsl2rgb(s,"r")),d===void 0&&(s.g=Wa.channel.hsl2rgb(s,"g")),p===void 0&&(s.b=Wa.channel.hsl2rgb(s,"b"))}get r(){const s=this.data,u=s.r;return!this.type.is(Og.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"r"))}get g(){const s=this.data,u=s.g;return!this.type.is(Og.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"g"))}get b(){const s=this.data,u=s.b;return!this.type.is(Og.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"b"))}get h(){const s=this.data,u=s.h;return!this.type.is(Og.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"h"))}get s(){const s=this.data,u=s.s;return!this.type.is(Og.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"s"))}get l(){const s=this.data,u=s.l;return!this.type.is(Og.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"l"))}get a(){return this.data.a}set r(s){this.type.set(Og.RGB),this.changed=!0,this.data.r=s}set g(s){this.type.set(Og.RGB),this.changed=!0,this.data.g=s}set b(s){this.type.set(Og.RGB),this.changed=!0,this.data.b=s}set h(s){this.type.set(Og.HSL),this.changed=!0,this.data.h=s}set s(s){this.type.set(Og.HSL),this.changed=!0,this.data.s=s}set l(s){this.type.set(Og.HSL),this.changed=!0,this.data.l=s}set a(s){this.changed=!0,this.data.a=s}}const CPt=TPt,wX=new CPt({r:0,g:0,b:0,a:0},"transparent"),TRe={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const s=i.match(TRe.re);if(!s)return;const u=s[1],d=parseInt(u,16),p=u.length,v=p%4===0,b=p>4,y=b?1:17,T=b?8:4,_=v?0:-1,A=b?255:15;return wX.set({r:(d>>T*(_+3)&A)*y,g:(d>>T*(_+2)&A)*y,b:(d>>T*(_+1)&A)*y,a:v?(d&A)*y/255:1},i)},stringify:i=>{const{r:s,g:u,b:d,a:p}=i;return p<1?`#${v9[Math.round(s)]}${v9[Math.round(u)]}${v9[Math.round(d)]}${v9[Math.round(p*255)]}`:`#${v9[Math.round(s)]}${v9[Math.round(u)]}${v9[Math.round(d)]}`}},VF=TRe,yX={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:i=>{const s=i.match(yX.hueRe);if(s){const[,u,d]=s;switch(d){case"grad":return Wa.channel.clamp.h(parseFloat(u)*.9);case"rad":return Wa.channel.clamp.h(parseFloat(u)*180/Math.PI);case"turn":return Wa.channel.clamp.h(parseFloat(u)*360)}}return Wa.channel.clamp.h(parseFloat(i))},parse:i=>{const s=i.charCodeAt(0);if(s!==104&&s!==72)return;const u=i.match(yX.re);if(!u)return;const[,d,p,v,b,y]=u;return wX.set({h:yX._hue2deg(d),s:Wa.channel.clamp.s(parseFloat(p)),l:Wa.channel.clamp.l(parseFloat(v)),a:b?Wa.channel.clamp.a(y?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:s,s:u,l:d,a:p}=i;return p<1?`hsla(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%, ${p})`:`hsl(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%)`}},xX=yX,kX={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:i=>{i=i.toLowerCase();const s=kX.colors[i];if(s)return VF.parse(s)},stringify:i=>{const s=VF.stringify(i);for(const u in kX.colors)if(kX.colors[u]===s)return u}},CRe=kX,SRe={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:i=>{const s=i.charCodeAt(0);if(s!==114&&s!==82)return;const u=i.match(SRe.re);if(!u)return;const[,d,p,v,b,y,T,_,A]=u;return wX.set({r:Wa.channel.clamp.r(p?parseFloat(d)*2.55:parseFloat(d)),g:Wa.channel.clamp.g(b?parseFloat(v)*2.55:parseFloat(v)),b:Wa.channel.clamp.b(T?parseFloat(y)*2.55:parseFloat(y)),a:_?Wa.channel.clamp.a(A?parseFloat(_)/100:parseFloat(_)):1},i)},stringify:i=>{const{r:s,g:u,b:d,a:p}=i;return p<1?`rgba(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)}, ${Wa.lang.round(p)})`:`rgb(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)})`}},EX=SRe,O3={format:{keyword:CRe,hex:VF,rgb:EX,rgba:EX,hsl:xX,hsla:xX},parse:i=>{if(typeof i!="string")return i;const s=VF.parse(i)||EX.parse(i)||xX.parse(i)||CRe.parse(i);if(s)return s;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(Og.HSL)||i.data.r===void 0?xX.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?EX.stringify(i):VF.stringify(i)},_Re=(i,s)=>{const u=O3.parse(i);for(const d in s)u[d]=Wa.channel.clamp[d](s[d]);return O3.stringify(u)},SC=(i,s,u=0,d=1)=>{if(typeof i!="number")return _Re(i,{a:s});const p=wX.set({r:Wa.channel.clamp.r(i),g:Wa.channel.clamp.g(s),b:Wa.channel.clamp.b(u),a:Wa.channel.clamp.a(d)});return O3.stringify(p)},ARe=(i,s)=>Wa.lang.round(O3.parse(i)[s]),SPt=i=>{const{r:s,g:u,b:d}=O3.parse(i),p=.2126*Wa.channel.toLinear(s)+.7152*Wa.channel.toLinear(u)+.0722*Wa.channel.toLinear(d);return Wa.lang.round(p)},_Pt=i=>SPt(i)>=.5,_C=i=>!_Pt(i),LRe=(i,s,u)=>{const d=O3.parse(i),p=d[s],v=Wa.channel.clamp[s](p+u);return p!==v&&(d[s]=v),O3.stringify(d)},Gs=(i,s)=>LRe(i,"l",s),fa=(i,s)=>LRe(i,"l",-s),In=(i,s)=>{const u=O3.parse(i),d={};for(const p in s)s[p]&&(d[p]=u[p]+s[p]);return _Re(i,d)},APt=(i,s,u=50)=>{const{r:d,g:p,b:v,a:b}=O3.parse(i),{r:y,g:T,b:_,a:A}=O3.parse(s),P=u/100,R=P*2-1,F=b-A,K=((R*F===-1?R:(R+F)/(1+R*F))+1)/2,ee=1-K,ie=d*K+y*ee,oe=p*K+T*ee,pe=v*K+_*ee,be=b*P+A*(1-P);return SC(ie,oe,pe,be)},Vi=(i,s=100)=>{const u=O3.parse(i);return u.r=255-u.r,u.g=255-u.g,u.b=255-u.b,APt(u,i,s)},Tp=(i,s)=>s?In(i,{s:-40,l:10}):In(i,{s:-40,l:-10}),TX="#ffffff",CX="#f2f2f2";let LPt=class{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(){var u,d,p,v,b,y,T,_,A,P,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||In(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||In(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tp(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tp(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Vi(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Vi(this.tertiaryColor),this.lineColor=this.lineColor||Vi(this.background),this.arrowheadColor=this.arrowheadColor||Vi(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?fa(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||fa(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Vi(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||Gs(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this.darkMode)for(let F=0;F{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const MPt=i=>{const s=new LPt;return s.calculate(i),s};let DPt=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Gs(this.primaryColor,16),this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Vi(this.background),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Gs(Vi("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=SC(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=fa("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=fa(this.sectionBkgColor,10),this.taskBorderColor=SC(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=SC(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.secondBkg=Gs(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=Gs(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Gs(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(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||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330});for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const IPt=i=>{const s=new DPt;return s.calculate(i),s};let OPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=In(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=SC(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||fa(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||fa(this.tertiaryColor,40);for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const f2e=i=>{const s=new OPt;return s.calculate(i),s};let NPt=class{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=Gs("#cde498",10),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.primaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.actorBorder=fa(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.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||fa(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||fa(this.tertiaryColor,40);for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const PPt=i=>{const s=new NPt;return s.calculate(i),s};class BPt{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Gs(this.contrast,55),this.background="#ffffff",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.secondBkg=Gs(this.contrast,55),this.border2=this.contrast,this.actorBorder=Gs(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.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 R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}}const E7={base:{getThemeVariables:MPt},dark:{getThemeVariables:IPt},default:{getThemeVariables:f2e},forest:{getThemeVariables:PPt},neutral:{getThemeVariables:i=>{const s=new BPt;return s.calculate(i),s}}},T7={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},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,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},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},theme:"default",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","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},MRe={...T7,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:E7.default.getThemeVariables(),sequence:{...T7.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...T7.gantt,tickInterval:void 0,useWidth:void 0},c4:{...T7.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...T7.pie,useWidth:984},xyChart:{...T7.xyChart,useWidth:void 0},requirement:{...T7.requirement,useWidth:void 0},gitGraph:{...T7.gitGraph,useMaxWidth:!1},sankey:{...T7.sankey,useMaxWidth:!1}},DRe=(i,s="")=>Object.keys(i).reduce((u,d)=>Array.isArray(i[d])?u:typeof i[d]=="object"&&i[d]!==null?[...u,s+d,...DRe(i[d],"")]:[...u,s+d],[]),FPt=new Set(DRe(MRe,"")),sh=MRe,SX=i=>{if(Xe.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(s=>SX(s));return}for(const s of Object.keys(i)){if(Xe.debug("Checking key",s),s.startsWith("__")||s.includes("proto")||s.includes("constr")||!FPt.has(s)||i[s]==null){Xe.debug("sanitize deleting key: ",s),delete i[s];continue}if(typeof i[s]=="object"){Xe.debug("sanitizing object",s),SX(i[s]);continue}const u=["themeCSS","fontFamily","altFontFamily"];for(const d of u)s.includes(d)&&(Xe.debug("sanitizing css option",s),i[s]=RPt(i[s]))}if(i.themeVariables)for(const s of Object.keys(i.themeVariables)){const u=i.themeVariables[s];u!=null&&u.match&&!u.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[s]="")}Xe.debug("After sanitization",i)}},RPt=i=>{let s=0,u=0;for(const d of i){if(s{for(const{id:s,detector:u,loader:d}of i)PRe(s,u,d)},PRe=(i,s,u)=>{dD[i]?Xe.error(`Detector with key ${i} already exists`):dD[i]={detector:s,loader:u},Xe.debug(`Detector with key ${i} added${u?" with loader":""}`)},$Pt=i=>dD[i].loader,d2e=(i,s,{depth:u=2,clobber:d=!1}={})=>{const p={depth:u,clobber:d};return Array.isArray(s)&&!Array.isArray(i)?(s.forEach(v=>d2e(i,v,p)),i):Array.isArray(s)&&Array.isArray(i)?(s.forEach(v=>{i.includes(v)||i.push(v)}),i):i===void 0||u<=0?i!=null&&typeof i=="object"&&typeof s=="object"?Object.assign(i,s):s:(s!==void 0&&typeof i=="object"&&typeof s=="object"&&Object.keys(s).forEach(v=>{typeof s[v]=="object"&&(i[v]===void 0||typeof i[v]=="object")?(i[v]===void 0&&(i[v]=Array.isArray(s[v])?[]:{}),i[v]=d2e(i[v],s[v],{depth:u-1,clobber:d})):(d||typeof i[v]!="object"&&typeof s[v]!="object")&&(i[v]=s[v])}),i)},id=d2e;var zPt=typeof global=="object"&&global&&global.Object===Object&&global;const BRe=zPt;var qPt=typeof self=="object"&&self&&self.Object===Object&&self,HPt=BRe||qPt||Function("return this")();const N3=HPt;var VPt=N3.Symbol;const Iv=VPt;var FRe=Object.prototype,UPt=FRe.hasOwnProperty,GPt=FRe.toString,GF=Iv?Iv.toStringTag:void 0;function KPt(i){var s=UPt.call(i,GF),u=i[GF];try{i[GF]=void 0;var d=!0}catch{}var p=GPt.call(i);return d&&(s?i[GF]=u:delete i[GF]),p}var WPt=Object.prototype,YPt=WPt.toString;function XPt(i){return YPt.call(i)}var QPt="[object Null]",JPt="[object Undefined]",RRe=Iv?Iv.toStringTag:void 0;function AC(i){return i==null?i===void 0?JPt:QPt:RRe&&RRe in Object(i)?KPt(i):XPt(i)}function am(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}var ZPt="[object AsyncFunction]",eBt="[object Function]",tBt="[object GeneratorFunction]",nBt="[object Proxy]";function gD(i){if(!am(i))return!1;var s=AC(i);return s==eBt||s==tBt||s==ZPt||s==nBt}var rBt=N3["__core-js_shared__"];const g2e=rBt;var jRe=function(){var i=/[^.]+$/.exec(g2e&&g2e.keys&&g2e.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function iBt(i){return!!jRe&&jRe in i}var sBt=Function.prototype,aBt=sBt.toString;function LC(i){if(i!=null){try{return aBt.call(i)}catch{}try{return i+""}catch{}}return""}var oBt=/[\\^$.*+?()[\]{}|]/g,cBt=/^\[object .+?Constructor\]$/,uBt=Function.prototype,lBt=Object.prototype,hBt=uBt.toString,fBt=lBt.hasOwnProperty,dBt=RegExp("^"+hBt.call(fBt).replace(oBt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gBt(i){if(!am(i)||iBt(i))return!1;var s=gD(i)?dBt:cBt;return s.test(LC(i))}function pBt(i,s){return i==null?void 0:i[s]}function MC(i,s){var u=pBt(i,s);return gBt(u)?u:void 0}var bBt=MC(Object,"create");const KF=bBt;function mBt(){this.__data__=KF?KF(null):{},this.size=0}function vBt(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}var wBt="__lodash_hash_undefined__",yBt=Object.prototype,xBt=yBt.hasOwnProperty;function kBt(i){var s=this.__data__;if(KF){var u=s[i];return u===wBt?void 0:u}return xBt.call(s,i)?s[i]:void 0}var EBt=Object.prototype,TBt=EBt.hasOwnProperty;function CBt(i){var s=this.__data__;return KF?s[i]!==void 0:TBt.call(s,i)}var SBt="__lodash_hash_undefined__";function _Bt(i,s){var u=this.__data__;return this.size+=this.has(i)?0:1,u[i]=KF&&s===void 0?SBt:s,this}function DC(i){var s=-1,u=i==null?0:i.length;for(this.clear();++s-1}function NBt(i,s){var u=this.__data__,d=AX(u,i);return d<0?(++this.size,u.push([i,s])):u[d][1]=s,this}function C7(i){var s=-1,u=i==null?0:i.length;for(this.clear();++s-1&&i%1==0&&i<=uFt}function w9(i){return i!=null&&w2e(i.length)&&!gD(i)}function JRe(i){return q4(i)&&w9(i)}function lFt(){return!1}var ZRe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,eje=ZRe&&typeof module=="object"&&module&&!module.nodeType&&module,hFt=eje&&eje.exports===ZRe,tje=hFt?N3.Buffer:void 0,fFt=tje?tje.isBuffer:void 0,dFt=fFt||lFt;const vD=dFt;var gFt="[object Object]",pFt=Function.prototype,bFt=Object.prototype,nje=pFt.toString,mFt=bFt.hasOwnProperty,vFt=nje.call(Object);function rje(i){if(!q4(i)||AC(i)!=gFt)return!1;var s=v2e(i);if(s===null)return!0;var u=mFt.call(s,"constructor")&&s.constructor;return typeof u=="function"&&u instanceof u&&nje.call(u)==vFt}var wFt="[object Arguments]",yFt="[object Array]",xFt="[object Boolean]",kFt="[object Date]",EFt="[object Error]",TFt="[object Function]",CFt="[object Map]",SFt="[object Number]",_Ft="[object Object]",AFt="[object RegExp]",LFt="[object Set]",MFt="[object String]",DFt="[object WeakMap]",IFt="[object ArrayBuffer]",OFt="[object DataView]",NFt="[object Float32Array]",PFt="[object Float64Array]",BFt="[object Int8Array]",FFt="[object Int16Array]",RFt="[object Int32Array]",jFt="[object Uint8Array]",$Ft="[object Uint8ClampedArray]",zFt="[object Uint16Array]",qFt="[object Uint32Array]",ah={};ah[NFt]=ah[PFt]=ah[BFt]=ah[FFt]=ah[RFt]=ah[jFt]=ah[$Ft]=ah[zFt]=ah[qFt]=!0,ah[wFt]=ah[yFt]=ah[IFt]=ah[xFt]=ah[OFt]=ah[kFt]=ah[EFt]=ah[TFt]=ah[CFt]=ah[SFt]=ah[_Ft]=ah[AFt]=ah[LFt]=ah[MFt]=ah[DFt]=!1;function HFt(i){return q4(i)&&w2e(i.length)&&!!ah[AC(i)]}function NX(i){return function(s){return i(s)}}var ije=typeof exports=="object"&&exports&&!exports.nodeType&&exports,YF=ije&&typeof module=="object"&&module&&!module.nodeType&&module,VFt=YF&&YF.exports===ije,y2e=VFt&&BRe.process,UFt=function(){try{var i=YF&&YF.require&&YF.require("util").types;return i||y2e&&y2e.binding&&y2e.binding("util")}catch{}}();const wD=UFt;var sje=wD&&wD.isTypedArray,GFt=sje?NX(sje):HFt;const PX=GFt;function x2e(i,s){if(!(s==="constructor"&&typeof i[s]=="function")&&s!="__proto__")return i[s]}var KFt=Object.prototype,WFt=KFt.hasOwnProperty;function BX(i,s,u){var d=i[s];(!(WFt.call(i,s)&&pD(d,u))||u===void 0&&!(s in i))&&DX(i,s,u)}function XF(i,s,u,d){var p=!u;u||(u={});for(var v=-1,b=s.length;++v-1&&i%1==0&&i0){if(++s>=uRt)return arguments[0]}else s=0;return i.apply(void 0,arguments)}}var dRt=fRt(cRt);const lje=dRt;function RX(i,s){return lje(uje(i,s,OC),i+"")}function QF(i,s,u){if(!am(u))return!1;var d=typeof s;return(d=="number"?w9(u)&&FX(s,u.length):d=="string"&&s in u)?pD(u[s],i):!1}function gRt(i){return RX(function(s,u){var d=-1,p=u.length,v=p>1?u[p-1]:void 0,b=p>2?u[2]:void 0;for(v=i.length>3&&typeof v=="function"?(p--,v):void 0,b&&QF(u[0],u[1],b)&&(v=p<3?void 0:v,p=1),s=Object(s);++dy.args);SX(b),d=id(d,[...b])}else d=u.args;if(!d)return;let p=_X(i,s);const v="config";return d[v]!==void 0&&(p==="flowchart-v2"&&(p="flowchart"),d[p]=d[v],delete d[v]),d},fje=function(i,s=null){try{const u=new RegExp(`[%]{2}(?![{]${mRt.source})(?=[}][%]{2}).* +`,"ig");i=i.trim().replace(u,"").replace(/'/gm,'"'),Xe.debug(`Detecting diagram directive${s!==null?" type:"+s:""} based on the text:${i}`);let d;const p=[];for(;(d=UF.exec(i))!==null;)if(d.index===UF.lastIndex&&UF.lastIndex++,d&&!s||s&&d[1]&&d[1].match(s)||s&&d[2]&&d[2].match(s)){const v=d[1]?d[1]:d[2],b=d[3]?d[3].trim():d[4]?JSON.parse(d[4].trim()):null;p.push({type:v,args:b})}return p.length===0?{type:i,args:null}:p.length===1?p[0]:p}catch(u){return Xe.error(`ERROR: ${u.message} - Unable to parse directive type: '${s}' based on the text: '${i}'`),{type:void 0,args:null}}},wRt=function(i){return i.replace(UF,"")},yRt=function(i,s){for(const[u,d]of s.entries())if(d.match(i))return u;return-1};function Ov(i,s){if(!i)return s;const u=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return bRt[u]??s}function xRt(i,s){const u=i.trim();if(u)return s.securityLevel!=="loose"?p9.sanitizeUrl(u):u}const kRt=(i,...s)=>{const u=i.split("."),d=u.length-1,p=u[d];let v=window;for(let b=0;b{u+=dje(p,s),s=p});const d=u/2;return k2e(i,d)}function TRt(i){return i.length===1?i[0]:ERt(i)}const gje=(i,s=2)=>{const u=Math.pow(10,s);return Math.round(i*u)/u},k2e=(i,s)=>{let u,d=s;for(const p of i){if(u){const v=dje(p,u);if(v=1)return{x:p.x,y:p.y};if(b>0&&b<1)return{x:gje((1-b)*u.x+b*p.x,5),y:gje((1-b)*u.y+b*p.y,5)}}}u=p}throw new Error("Could not find a suitable point for the given distance")},CRt=(i,s,u)=>{Xe.info(`our points ${JSON.stringify(s)}`),s[0]!==u&&(s=s.reverse());const p=k2e(s,25),v=i?10:5,b=Math.atan2(s[0].y-p.y,s[0].x-p.x),y={x:0,y:0};return y.x=Math.sin(b)*v+(s[0].x+p.x)/2,y.y=-Math.cos(b)*v+(s[0].y+p.y)/2,y};function SRt(i,s,u){const d=structuredClone(u);Xe.info("our points",d),s!=="start_left"&&s!=="start_right"&&d.reverse();const p=25+i,v=k2e(d,p),b=10+i*.5,y=Math.atan2(d[0].y-v.y,d[0].x-v.x),T={x:0,y:0};return s==="start_left"?(T.x=Math.sin(y+Math.PI)*b+(d[0].x+v.x)/2,T.y=-Math.cos(y+Math.PI)*b+(d[0].y+v.y)/2):s==="end_right"?(T.x=Math.sin(y-Math.PI)*b+(d[0].x+v.x)/2-5,T.y=-Math.cos(y-Math.PI)*b+(d[0].y+v.y)/2-5):s==="end_left"?(T.x=Math.sin(y)*b+(d[0].x+v.x)/2-5,T.y=-Math.cos(y)*b+(d[0].y+v.y)/2-5):(T.x=Math.sin(y)*b+(d[0].x+v.x)/2,T.y=-Math.cos(y)*b+(d[0].y+v.y)/2),T}function om(i){let s="",u="";for(const d of i)d!==void 0&&(d.startsWith("color:")||d.startsWith("text-align:")?u=u+d+";":s=s+d+";");return{style:s,labelStyle:u}}let pje=0;const bje=()=>(pje++,"id-"+Math.random().toString(36).substr(2,12)+"-"+pje);function _Rt(i){let s="";const u="0123456789abcdef",d=u.length;for(let p=0;p_Rt(i.length),ARt=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:""}},LRt=function(i,s){const u=s.text.replace(ci.lineBreakRegex," "),[,d]=NC(s.fontSize),p=i.append("text");p.attr("x",s.x),p.attr("y",s.y),p.style("text-anchor",s.anchor),p.style("font-family",s.fontFamily),p.style("font-size",d),p.style("font-weight",s.fontWeight),p.attr("fill",s.fill),s.class!==void 0&&p.attr("class",s.class);const v=p.append("tspan");return v.attr("x",s.x+s.textMargin*2),v.attr("fill",s.fill),v.text(u),p},vje=bD((i,s,u)=>{if(!i||(u=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},u),ci.lineBreakRegex.test(i)))return i;const d=i.split(" "),p=[];let v="";return d.forEach((b,y)=>{const T=H4(`${b} `,u),_=H4(v,u);if(T>s){const{hyphenatedStrings:R,remainingWord:F}=MRt(b,s,"-",u);p.push(v,...R),v=F}else _+T>=s?(p.push(v),v=b):v=[v,b].filter(Boolean).join(" ");y+1===d.length&&p.push(v)}),p.filter(b=>b!=="").join(u.joinWith)},(i,s,u)=>`${i}${s}${u.fontSize}${u.fontWeight}${u.fontFamily}${u.joinWith}`),MRt=bD((i,s,u="-",d)=>{d=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},d);const p=[...i],v=[];let b="";return p.forEach((y,T)=>{const _=`${b}${y}`;if(H4(_,d)>=s){const P=T+1,R=p.length===P,F=`${_}${u}`;v.push(R?_:F),b=""}else b=_}),{hyphenatedStrings:v,remainingWord:b}},(i,s,u="-",d)=>`${i}${s}${u}${d.fontSize}${d.fontWeight}${d.fontFamily}`);function E2e(i,s){return T2e(i,s).height}function H4(i,s){return T2e(i,s).width}const T2e=bD((i,s)=>{const{fontSize:u=12,fontFamily:d="Arial",fontWeight:p=400}=s;if(!i)return{width:0,height:0};const[,v]=NC(u),b=["sans-serif",d],y=i.split(ci.lineBreakRegex),T=[],_=Ir("body");if(!_.remove)return{width:0,height:0,lineHeight:0};const A=_.append("svg");for(const R of b){let F=0;const j={width:0,height:0,lineHeight:0};for(const K of y){const ee=ARt();ee.text=K||hje;const ie=LRt(A,ee).style("font-size",v).style("font-weight",p).style("font-family",R),oe=(ie._groups||ie)[0][0].getBBox();if(oe.width===0&&oe.height===0)throw new Error("svg element not in render tree");j.width=Math.round(Math.max(j.width,oe.width)),F=Math.round(oe.height),j.height+=F,j.lineHeight=Math.round(Math.max(j.lineHeight,F))}T.push(j)}A.remove();const P=isNaN(T[1].height)||isNaN(T[1].width)||isNaN(T[1].lineHeight)||T[0].height>T[1].height&&T[0].width>T[1].width&&T[0].lineHeight>T[1].lineHeight?0:1;return T[P]},(i,s)=>`${i}${s.fontSize}${s.fontWeight}${s.fontFamily}`);class DRt{constructor(s=!1,u){this.count=0,this.count=u?u.length:0,this.next=s?()=>this.count++:()=>Date.now()}}let $X;const IRt=function(i){return $X=$X||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),$X.innerHTML=i,unescape($X.textContent)};function wje(i){return"str"in i}const ORt=(i,s,u,d)=>{var v;if(!d)return;const p=(v=i.node())==null?void 0:v.getBBox();p&&i.append("text").text(d).attr("x",p.x+p.width/2).attr("y",-u).attr("class",s)},NC=i=>{if(typeof i=="number")return[i,i+"px"];const s=parseInt(i??"",10);return Number.isNaN(s)?[void 0,void 0]:i===String(s)?[s,i+"px"]:[s,i]};function JF(i,s){return jX({},i,s)}const Ao={assignWithDepth:id,wrapLabel:vje,calculateTextHeight:E2e,calculateTextWidth:H4,calculateTextDimensions:T2e,cleanAndMerge:JF,detectInit:vRt,detectDirective:fje,isSubstringInArray:yRt,interpolateToCurve:Ov,calcLabelPosition:TRt,calcCardinalityPosition:CRt,calcTerminalLabelPosition:SRt,formatUrl:xRt,getStylesFromArray:om,generateId:bje,random:mje,runFunc:kRt,entityDecode:IRt,insertTitle:ORt,parseFontSize:NC,InitIDGenerator:DRt},NRt=function(i){let s=i;return s=s.replace(/style.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),s=s.replace(/classDef.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),s=s.replace(/#\w+;/g,function(u){const d=u.substring(1,u.length-1);return/^\+?\d+$/.test(d)?"fl°°"+d+"¶ß":"fl°"+d+"¶ß"}),s},ZF=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var yje="comm",xje="rule",kje="decl",PRt="@import",BRt="@keyframes",FRt="@layer",Eje=Math.abs,C2e=String.fromCharCode;function Tje(i){return i.trim()}function zX(i,s,u){return i.replace(s,u)}function RRt(i,s,u){return i.indexOf(s,u)}function eR(i,s){return i.charCodeAt(s)|0}function tR(i,s,u){return i.slice(s,u)}function _7(i){return i.length}function jRt(i){return i.length}function qX(i,s){return s.push(i),i}var HX=1,xD=1,Cje=0,Nv=0,I0=0,kD="";function S2e(i,s,u,d,p,v,b,y){return{value:i,root:s,parent:u,type:d,props:p,children:v,line:HX,column:xD,length:b,return:"",siblings:y}}function $Rt(){return I0}function zRt(){return I0=Nv>0?eR(kD,--Nv):0,xD--,I0===10&&(xD=1,HX--),I0}function B3(){return I0=Nv2||_2e(I0)>3?"":" "}function URt(i,s){for(;--s&&B3()&&!(I0<48||I0>102||I0>57&&I0<65||I0>70&&I0<97););return UX(i,VX()+(s<6&&PC()==32&&B3()==32))}function L2e(i){for(;B3();)switch(I0){case i:return Nv;case 34:case 39:i!==34&&i!==39&&L2e(I0);break;case 40:i===41&&L2e(i);break;case 92:B3();break}return Nv}function GRt(i,s){for(;B3()&&i+I0!==47+10;)if(i+I0===42+42&&PC()===47)break;return"/*"+UX(s,Nv-1)+"*"+C2e(i===47?i:B3())}function KRt(i){for(;!_2e(PC());)B3();return UX(i,Nv)}function WRt(i){return HRt(GX("",null,null,null,[""],i=qRt(i),0,[0],i))}function GX(i,s,u,d,p,v,b,y,T){for(var _=0,A=0,P=b,R=0,F=0,j=0,K=1,ee=1,ie=1,oe=0,pe="",be=p,ae=v,ne=d,se=pe;ee;)switch(j=oe,oe=B3()){case 40:if(j!=108&&eR(se,P-1)==58){RRt(se+=zX(A2e(oe),"&","&\f"),"&\f",Eje(_?y[_-1]:0))!=-1&&(ie=-1);break}case 34:case 39:case 91:se+=A2e(oe);break;case 9:case 10:case 13:case 32:se+=VRt(j);break;case 92:se+=URt(VX()-1,7);continue;case 47:switch(PC()){case 42:case 47:qX(YRt(GRt(B3(),VX()),s,u,T),T);break;default:se+="/"}break;case 123*K:y[_++]=_7(se)*ie;case 125*K:case 59:case 0:switch(oe){case 0:case 125:ee=0;case 59+A:ie==-1&&(se=zX(se,/\f/g,"")),F>0&&_7(se)-P&&qX(F>32?_je(se+";",d,u,P-1,T):_je(zX(se," ","")+";",d,u,P-2,T),T);break;case 59:se+=";";default:if(qX(ne=Sje(se,s,u,_,A,p,y,pe,be=[],ae=[],P,v),v),oe===123)if(A===0)GX(se,s,ne,ne,be,v,P,y,ae);else switch(R===99&&eR(se,3)===110?100:R){case 100:case 108:case 109:case 115:GX(i,ne,ne,d&&qX(Sje(i,ne,ne,0,0,p,y,pe,p,be=[],P,ae),ae),p,ae,P,y,d?be:ae);break;default:GX(se,ne,ne,ne,[""],ae,0,y,ae)}}_=A=F=0,K=ie=1,pe=se="",P=b;break;case 58:P=1+_7(se),F=j;default:if(K<1){if(oe==123)--K;else if(oe==125&&K++==0&&zRt()==125)continue}switch(se+=C2e(oe),oe*K){case 38:ie=A>0?1:(se+="\f",-1);break;case 44:y[_++]=(_7(se)-1)*ie,ie=1;break;case 64:PC()===45&&(se+=A2e(B3())),R=PC(),A=P=_7(pe=se+=KRt(VX())),oe++;break;case 45:j===45&&_7(se)==2&&(K=0)}}return v}function Sje(i,s,u,d,p,v,b,y,T,_,A,P){for(var R=p-1,F=p===0?v:[""],j=jRt(F),K=0,ee=0,ie=0;K0?F[oe]+" "+pe:zX(pe,/&\f/g,F[oe])))&&(T[ie++]=be);return S2e(i,s,u,p===0?xje:y,T,_,A,P)}function YRt(i,s,u,d){return S2e(i,s,u,yje,C2e($Rt()),tR(i,2,-2),0,d)}function _je(i,s,u,d,p){return S2e(i,s,u,kje,tR(i,0,d),tR(i,d+1,-1),d,p)}function M2e(i,s){for(var u="",d=0;d{let u=id({},i),d={};for(const p of s)Ije(p),d=id(d,p);if(u=id(u,d),d.theme&&d.theme in E7){const p=id({},Lje),v=id(p.themeVariables||{},d.themeVariables);u.theme&&u.theme in E7&&(u.themeVariables=E7[u.theme].getThemeVariables(v))}return nR=u,Nje(nR),nR},QRt=i=>(B2=id({},ED),B2=id(B2,i),i.theme&&E7[i.theme]&&(B2.themeVariables=E7[i.theme].getThemeVariables(i.themeVariables)),KX(B2,TD),B2),JRt=i=>{Lje=id({},i)},ZRt=i=>(B2=id(B2,i),KX(B2,TD),B2),Mje=()=>id({},B2),Dje=i=>(Nje(i),id(nR,i),Vh()),Vh=()=>id({},nR),Ije=i=>{i&&(["secure",...B2.secure??[]].forEach(s=>{Object.hasOwn(i,s)&&(Xe.debug(`Denied attempt to modify a secure key ${s}`,i[s]),delete i[s])}),Object.keys(i).forEach(s=>{s.startsWith("__")&&delete i[s]}),Object.keys(i).forEach(s=>{typeof i[s]=="string"&&(i[s].includes("<")||i[s].includes(">")||i[s].includes("url(data:"))&&delete i[s],typeof i[s]=="object"&&Ije(i[s])}))},ejt=i=>{SX(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),TD.push(i),KX(B2,TD)},WX=(i=B2)=>{TD=[],KX(i,TD)},tjt={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Oje={},njt=i=>{Oje[i]||(Xe.warn(tjt[i]),Oje[i]=!0)},Nje=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&njt("LAZY_LOAD_DEPRECATED")},Pje="c4",rjt={id:Pje,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wUt);return{id:Pje,diagram:i}}},Bje="flowchart",ijt={id:Bje,detector:(i,s)=>{var u,d;return((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="dagre-wrapper"||((d=s==null?void 0:s.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>_en);return{id:Bje,diagram:i}}},Fje="flowchart-v2",sjt={id:Fje,detector:(i,s)=>{var u,d,p;return((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="dagre-d3"||((d=s==null?void 0:s.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((p=s==null?void 0:s.flowchart)==null?void 0:p.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Aen);return{id:Fje,diagram:i}}},Rje="er",ajt={id:Rje,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>etn);return{id:Rje,diagram:i}}},jje="gitGraph",ojt={id:jje,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Stn);return{id:jje,diagram:i}}},$je="gantt",cjt={id:$je,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>pnn);return{id:$je,diagram:i}}},zje="info",ujt={id:zje,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mnn);return{id:zje,diagram:i}}},qje="pie",ljt={id:qje,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Enn);return{id:qje,diagram:i}}},Hje="quadrantChart",hjt={id:Hje,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>jnn);return{id:Hje,diagram:i}}},Vje="xychart",fjt={id:Vje,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>urn);return{id:Vje,diagram:i}}},Uje="requirement",djt={id:Uje,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wrn);return{id:Uje,diagram:i}}},Gje="sequence",gjt={id:Gje,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>kin);return{id:Gje,diagram:i}}},Kje="class",pjt={id:Kje,detector:(i,s)=>{var u;return((u=s==null?void 0:s.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Gin);return{id:Kje,diagram:i}}},Wje="classDiagram",bjt={id:Wje,detector:(i,s)=>{var u;return/^\s*classDiagram/.test(i)&&((u=s==null?void 0:s.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Jin);return{id:Wje,diagram:i}}},Yje="state",mjt={id:Yje,detector:(i,s)=>{var u;return((u=s==null?void 0:s.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>jsn);return{id:Yje,diagram:i}}},Xje="stateDiagram",vjt={id:Xje,detector:(i,s)=>{var u;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((u=s==null?void 0:s.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ian);return{id:Xje,diagram:i}}},Qje="journey",wjt={id:Qje,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ean);return{id:Qje,diagram:i}}},yjt=function(i,s){for(let u of s)i.attr(u[0],u[1])},xjt=function(i,s,u){let d=new Map;return u?(d.set("width","100%"),d.set("style",`max-width: ${s}px;`)):(d.set("height",i),d.set("width",s)),d},Ng=function(i,s,u,d){const p=xjt(s,u,d);yjt(i,p)},y9=function(i,s,u,d){const p=s.node().getBBox(),v=p.width,b=p.height;Xe.info(`SVG bounds: ${v}x${b}`,p);let y=0,T=0;Xe.info(`Graph bounds: ${y}x${T}`,i),y=v+u*2,T=b+u*2,Xe.info(`Calculated bounds: ${y}x${T}`),Ng(s,T,y,d);const _=`${p.x-u} ${p.y-u} ${p.width+2*u} ${p.height+2*u}`;s.attr("viewBox",_)},YX={},kjt=(i,s,u)=>{let d="";return i in YX&&YX[i]?d=YX[i](u):Xe.warn(`No theme found for ${i}`),` & { + font-family: ${u.fontFamily}; + font-size: ${u.fontSize}; + fill: ${u.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${u.errorBkgColor}; + } + & .error-text { + fill: ${u.errorTextColor}; + stroke: ${u.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${u.lineColor}; + stroke: ${u.lineColor}; + } + & .marker.cross { + stroke: ${u.lineColor}; + } + + & svg { + font-family: ${u.fontFamily}; + font-size: ${u.fontSize}; + } + + ${d} + + ${s} +`},Ejt=(i,s)=>{s!==void 0&&(YX[i]=s)},Tjt=kjt;let D2e="",I2e="",O2e="";const N2e=i=>Yf(i,Vh()),Pg=()=>{D2e="",O2e="",I2e=""},Bg=i=>{D2e=N2e(i).replace(/^\s+/g,"")},Cp=()=>D2e,Sp=i=>{O2e=N2e(i).replace(/\n\s+/g,` +`)},_p=()=>O2e,cm=i=>{I2e=N2e(i)},Ap=()=>I2e,Jje=Object.freeze(Object.defineProperty({__proto__:null,clear:Pg,getAccDescription:_p,getAccTitle:Cp,getDiagramTitle:Ap,setAccDescription:Sp,setAccTitle:Bg,setDiagramTitle:cm},Symbol.toStringTag,{value:"Module"})),Cjt=Xe,Sjt=fpe,qt=Vh,_jt=Dje,Zje=ED,Ajt=i=>Yf(i,qt()),e$e=y9,Ljt=()=>Jje,XX={},QX=(i,s,u)=>{var d;if(XX[i])throw new Error(`Diagram ${i} already registered.`);XX[i]=s,u&&PRe(i,u),Ejt(i,s.styles),(d=s.injectUtils)==null||d.call(s,Cjt,Sjt,qt,Ajt,e$e,Ljt(),()=>{})},P2e=i=>{if(i in XX)return XX[i];throw new Mjt(i)};class Mjt extends Error{constructor(s){super(`Diagram ${s} not found.`)}}const rR=i=>{var p;const{securityLevel:s}=qt();let u=Ir("body");if(s==="sandbox"){const b=((p=Ir(`#i${i}`).node())==null?void 0:p.contentDocument)??document;u=Ir(b.body)}return u.select(`#${i}`)},t$e={draw:(i,s,u)=>{Xe.debug(`rendering svg for syntax error +`);const d=rR(s),p=d.append("g");d.attr("viewBox","0 0 2412 512"),Ng(d,100,512,!0),p.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"),p.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"),p.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"),p.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"),p.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"),p.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"),p.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"),p.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${u}`)}},Djt=t$e,Ijt={db:{},renderer:t$e,parser:{parser:{yy:{}},parse:()=>{}}},n$e="flowchart-elk",Ojt={id:n$e,detector:(i,s)=>{var u;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>jan);return{id:n$e,diagram:i}}},r$e="timeline",Njt={id:r$e,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ion);return{id:r$e,diagram:i}}},i$e="mindmap",Pjt={id:i$e,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ion);return{id:i$e,diagram:i}}},s$e="sankey",Bjt={id:s$e,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ccn);return{id:s$e,diagram:i}}},a$e="block",Fjt={id:a$e,detector:i=>/^\s*block-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Mcn);return{id:a$e,diagram:i}}};let o$e=!1;const B2e=()=>{o$e||(o$e=!0,QX("error",Ijt,i=>i.toLowerCase().trim()==="error"),QX("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{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")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),NRe(rjt,bjt,pjt,ajt,cjt,ujt,ljt,djt,gjt,Ojt,sjt,ijt,Pjt,Njt,ojt,vjt,mjt,wjt,hjt,Bjt,fjt,Fjt))};class c$e{constructor(s,u={}){this.text=s,this.metadata=u,this.type="graph",this.text=NRt(s),this.text+=` +`;const d=Vh();try{this.type=_X(s,d)}catch(v){this.type="error",this.detectError=v}const p=P2e(this.type);Xe.debug("Type "+this.type),this.db=p.db,this.renderer=p.renderer,this.parser=p.parser,this.parser.parser.yy=this.db,this.init=p.init,this.parse()}parse(){var u,d,p,v,b;if(this.detectError)throw this.detectError;(d=(u=this.db).clear)==null||d.call(u);const s=Vh();(p=this.init)==null||p.call(this,s),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(s,u){await this.renderer.draw(this.text,s,u,this)}getParser(){return this.parser}getType(){return this.type}}const Rjt=async(i,s={})=>{const u=_X(i,Vh());try{P2e(u)}catch{const p=$Pt(u);if(!p)throw new ORe(`Diagram ${u} not found.`);const{id:v,diagram:b}=await p();QX(v,b)}return new c$e(i,s)};let u$e=[];const jjt=()=>{u$e.forEach(i=>{i()}),u$e=[]};var $jt=WRe(Object.keys,Object);const zjt=$jt;var qjt=Object.prototype,Hjt=qjt.hasOwnProperty;function l$e(i){if(!OX(i))return zjt(i);var s=[];for(var u in Object(i))Hjt.call(i,u)&&u!="constructor"&&s.push(u);return s}var Vjt=MC(N3,"DataView");const F2e=Vjt;var Ujt=MC(N3,"Promise");const R2e=Ujt;var Gjt=MC(N3,"Set");const CD=Gjt;var Kjt=MC(N3,"WeakMap");const j2e=Kjt;var h$e="[object Map]",Wjt="[object Object]",f$e="[object Promise]",d$e="[object Set]",g$e="[object WeakMap]",p$e="[object DataView]",Yjt=LC(F2e),Xjt=LC(WF),Qjt=LC(R2e),Jjt=LC(CD),Zjt=LC(j2e),BC=AC;(F2e&&BC(new F2e(new ArrayBuffer(1)))!=p$e||WF&&BC(new WF)!=h$e||R2e&&BC(R2e.resolve())!=f$e||CD&&BC(new CD)!=d$e||j2e&&BC(new j2e)!=g$e)&&(BC=function(i){var s=AC(i),u=s==Wjt?i.constructor:void 0,d=u?LC(u):"";if(d)switch(d){case Yjt:return p$e;case Xjt:return h$e;case Qjt:return f$e;case Jjt:return d$e;case Zjt:return g$e}return s});const SD=BC;var e$t="[object Map]",t$t="[object Set]",n$t=Object.prototype,r$t=n$t.hasOwnProperty;function iR(i){if(i==null)return!0;if(w9(i)&&(D0(i)||typeof i=="string"||typeof i.splice=="function"||vD(i)||PX(i)||mD(i)))return!i.length;var s=SD(i);if(s==e$t||s==t$t)return!i.size;if(OX(i))return!l$e(i).length;for(var u in i)if(r$t.call(i,u))return!1;return!0}const i$t="graphics-document document";function s$t(i,s){i.attr("role",i$t),s!==""&&i.attr("aria-roledescription",s)}function a$t(i,s,u,d){if(i.insert!==void 0){if(u){const p=`chart-desc-${d}`;i.attr("aria-describedby",p),i.insert("desc",":first-child").attr("id",p).text(u)}if(s){const p=`chart-title-${d}`;i.attr("aria-labelledby",p),i.insert("title",":first-child").attr("id",p).text(s)}}}const o$t=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function b$e(i){return typeof i>"u"||i===null}function c$t(i){return typeof i=="object"&&i!==null}function u$t(i){return Array.isArray(i)?i:b$e(i)?[]:[i]}function l$t(i,s){var u,d,p,v;if(s)for(v=Object.keys(s),u=0,d=v.length;uy&&(v=" ... ",s=d-y+v.length),u-d>y&&(b=" ...",u=d+y-b.length),{str:v+i.slice(s,u).replace(/\t/g,"→")+b,pos:d-s+v.length}}function z2e(i,s){return Lp.repeat(" ",s-i.length)+i}function w$t(i,s){if(s=Object.create(s||null),!i.buffer)return null;s.maxLength||(s.maxLength=79),typeof s.indent!="number"&&(s.indent=1),typeof s.linesBefore!="number"&&(s.linesBefore=3),typeof s.linesAfter!="number"&&(s.linesAfter=2);for(var u=/\r?\n|\r|\0/g,d=[0],p=[],v,b=-1;v=u.exec(i.buffer);)p.push(v.index),d.push(v.index+v[0].length),i.position<=v.index&&b<0&&(b=d.length-2);b<0&&(b=d.length-1);var y="",T,_,A=Math.min(i.line+s.linesAfter,p.length).toString().length,P=s.maxLength-(s.indent+A+3);for(T=1;T<=s.linesBefore&&!(b-T<0);T++)_=$2e(i.buffer,d[b-T],p[b-T],i.position-(d[b]-d[b-T]),P),y=Lp.repeat(" ",s.indent)+z2e((i.line-T+1).toString(),A)+" | "+_.str+` +`+y;for(_=$2e(i.buffer,d[b],p[b],i.position,P),y+=Lp.repeat(" ",s.indent)+z2e((i.line+1).toString(),A)+" | "+_.str+` +`,y+=Lp.repeat("-",s.indent+A+3+_.pos)+`^ +`,T=1;T<=s.linesAfter&&!(b+T>=p.length);T++)_=$2e(i.buffer,d[b+T],p[b+T],i.position-(d[b]-d[b+T]),P),y+=Lp.repeat(" ",s.indent)+z2e((i.line+T+1).toString(),A)+" | "+_.str+` +`;return y.replace(/\n$/,"")}var y$t=w$t,x$t=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],k$t=["scalar","sequence","mapping"];function E$t(i){var s={};return i!==null&&Object.keys(i).forEach(function(u){i[u].forEach(function(d){s[String(d)]=u})}),s}function T$t(i,s){if(s=s||{},Object.keys(s).forEach(function(u){if(x$t.indexOf(u)===-1)throw new A7('Unknown option "'+u+'" is met in definition of "'+i+'" YAML type.')}),this.options=s,this.tag=i,this.kind=s.kind||null,this.resolve=s.resolve||function(){return!0},this.construct=s.construct||function(u){return u},this.instanceOf=s.instanceOf||null,this.predicate=s.predicate||null,this.represent=s.represent||null,this.representName=s.representName||null,this.defaultStyle=s.defaultStyle||null,this.multi=s.multi||!1,this.styleAliases=E$t(s.styleAliases||null),k$t.indexOf(this.kind)===-1)throw new A7('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var Fg=T$t;function v$e(i,s){var u=[];return i[s].forEach(function(d){var p=u.length;u.forEach(function(v,b){v.tag===d.tag&&v.kind===d.kind&&v.multi===d.multi&&(p=b)}),u[p]=d}),u}function C$t(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},s,u;function d(p){p.multi?(i.multi[p.kind].push(p),i.multi.fallback.push(p)):i[p.kind][p.tag]=i.fallback[p.tag]=p}for(s=0,u=arguments.length;s=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),G$t=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function K$t(i){return!(i===null||!G$t.test(i)||i[i.length-1]==="_")}function W$t(i){var s,u;return s=i.replace(/_/g,"").toLowerCase(),u=s[0]==="-"?-1:1,"+-".indexOf(s[0])>=0&&(s=s.slice(1)),s===".inf"?u===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:s===".nan"?NaN:u*parseFloat(s,10)}var Y$t=/^[-+]?[0-9]+e/;function X$t(i,s){var u;if(isNaN(i))switch(s){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(s){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(s){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Lp.isNegativeZero(i))return"-0.0";return u=i.toString(10),Y$t.test(u)?u.replace("e",".e"):u}function Q$t(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||Lp.isNegativeZero(i))}var J$t=new Fg("tag:yaml.org,2002:float",{kind:"scalar",resolve:K$t,construct:W$t,predicate:Q$t,represent:X$t,defaultStyle:"lowercase"}),w$e=M$t.extend({implicit:[N$t,R$t,U$t,J$t]}),Z$t=w$e,y$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),x$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ezt(i){return i===null?!1:y$e.exec(i)!==null||x$e.exec(i)!==null}function tzt(i){var s,u,d,p,v,b,y,T=0,_=null,A,P,R;if(s=y$e.exec(i),s===null&&(s=x$e.exec(i)),s===null)throw new Error("Date resolve error");if(u=+s[1],d=+s[2]-1,p=+s[3],!s[4])return new Date(Date.UTC(u,d,p));if(v=+s[4],b=+s[5],y=+s[6],s[7]){for(T=s[7].slice(0,3);T.length<3;)T+="0";T=+T}return s[9]&&(A=+s[10],P=+(s[11]||0),_=(A*60+P)*6e4,s[9]==="-"&&(_=-_)),R=new Date(Date.UTC(u,d,p,v,b,y,T)),_&&R.setTime(R.getTime()-_),R}function nzt(i){return i.toISOString()}var rzt=new Fg("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:ezt,construct:tzt,instanceOf:Date,represent:nzt});function izt(i){return i==="<<"||i===null}var szt=new Fg("tag:yaml.org,2002:merge",{kind:"scalar",resolve:izt}),H2e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function azt(i){if(i===null)return!1;var s,u,d=0,p=i.length,v=H2e;for(u=0;u64)){if(s<0)return!1;d+=6}return d%8===0}function ozt(i){var s,u,d=i.replace(/[\r\n=]/g,""),p=d.length,v=H2e,b=0,y=[];for(s=0;s>16&255),y.push(b>>8&255),y.push(b&255)),b=b<<6|v.indexOf(d.charAt(s));return u=p%4*6,u===0?(y.push(b>>16&255),y.push(b>>8&255),y.push(b&255)):u===18?(y.push(b>>10&255),y.push(b>>2&255)):u===12&&y.push(b>>4&255),new Uint8Array(y)}function czt(i){var s="",u=0,d,p,v=i.length,b=H2e;for(d=0;d>18&63],s+=b[u>>12&63],s+=b[u>>6&63],s+=b[u&63]),u=(u<<8)+i[d];return p=v%3,p===0?(s+=b[u>>18&63],s+=b[u>>12&63],s+=b[u>>6&63],s+=b[u&63]):p===2?(s+=b[u>>10&63],s+=b[u>>4&63],s+=b[u<<2&63],s+=b[64]):p===1&&(s+=b[u>>2&63],s+=b[u<<4&63],s+=b[64],s+=b[64]),s}function uzt(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var lzt=new Fg("tag:yaml.org,2002:binary",{kind:"scalar",resolve:azt,construct:ozt,predicate:uzt,represent:czt}),hzt=Object.prototype.hasOwnProperty,fzt=Object.prototype.toString;function dzt(i){if(i===null)return!0;var s=[],u,d,p,v,b,y=i;for(u=0,d=y.length;u>10)+55296,(i-65536&1023)+56320)}for(var L$e=new Array(256),M$e=new Array(256),AD=0;AD<256;AD++)L$e[AD]=A$e(AD)?1:0,M$e[AD]=A$e(AD);function Ozt(i,s){this.input=i,this.filename=s.filename||null,this.schema=s.schema||Tzt,this.onWarning=s.onWarning||null,this.legacy=s.legacy||!1,this.json=s.json||!1,this.listener=s.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function D$e(i,s){var u={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return u.snippet=y$t(u),new A7(s,u)}function oa(i,s){throw D$e(i,s)}function eQ(i,s){i.onWarning&&i.onWarning.call(null,D$e(i,s))}var I$e={YAML:function(s,u,d){var p,v,b;s.version!==null&&oa(s,"duplication of %YAML directive"),d.length!==1&&oa(s,"YAML directive accepts exactly one argument"),p=/^([0-9]+)\.([0-9]+)$/.exec(d[0]),p===null&&oa(s,"ill-formed argument of the YAML directive"),v=parseInt(p[1],10),b=parseInt(p[2],10),v!==1&&oa(s,"unacceptable YAML version of the document"),s.version=d[0],s.checkLineBreaks=b<2,b!==1&&b!==2&&eQ(s,"unsupported YAML version of the document")},TAG:function(s,u,d){var p,v;d.length!==2&&oa(s,"TAG directive accepts exactly two arguments"),p=d[0],v=d[1],C$e.test(p)||oa(s,"ill-formed tag handle (first argument) of the TAG directive"),x9.call(s.tagMap,p)&&oa(s,'there is a previously declared suffix for "'+p+'" tag handle'),S$e.test(v)||oa(s,"ill-formed tag prefix (second argument) of the TAG directive");try{v=decodeURIComponent(v)}catch{oa(s,"tag prefix is malformed: "+v)}s.tagMap[p]=v}};function k9(i,s,u,d){var p,v,b,y;if(s1&&(i.result+=Lp.repeat(` +`,s-1))}function Nzt(i,s,u){var d,p,v,b,y,T,_,A,P=i.kind,R=i.result,F;if(F=i.input.charCodeAt(i.position),F2(F)||_D(F)||F===35||F===38||F===42||F===33||F===124||F===62||F===39||F===34||F===37||F===64||F===96||(F===63||F===45)&&(p=i.input.charCodeAt(i.position+1),F2(p)||u&&_D(p)))return!1;for(i.kind="scalar",i.result="",v=b=i.position,y=!1;F!==0;){if(F===58){if(p=i.input.charCodeAt(i.position+1),F2(p)||u&&_D(p))break}else if(F===35){if(d=i.input.charCodeAt(i.position-1),F2(d))break}else{if(i.position===i.lineStart&&tQ(i)||u&&_D(F))break;if(V4(F))if(T=i.line,_=i.lineStart,A=i.lineIndent,O0(i,!1,-1),i.lineIndent>=s){y=!0,F=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=T,i.lineStart=_,i.lineIndent=A;break}}y&&(k9(i,v,b,!1),G2e(i,i.line-T),v=b=i.position,y=!1),FC(F)||(b=i.position+1),F=i.input.charCodeAt(++i.position)}return k9(i,v,b,!1),i.result?!0:(i.kind=P,i.result=R,!1)}function Pzt(i,s){var u,d,p;if(u=i.input.charCodeAt(i.position),u!==39)return!1;for(i.kind="scalar",i.result="",i.position++,d=p=i.position;(u=i.input.charCodeAt(i.position))!==0;)if(u===39)if(k9(i,d,i.position,!0),u=i.input.charCodeAt(++i.position),u===39)d=i.position,i.position++,p=i.position;else return!0;else V4(u)?(k9(i,d,p,!0),G2e(i,O0(i,!1,s)),d=p=i.position):i.position===i.lineStart&&tQ(i)?oa(i,"unexpected end of the document within a single quoted scalar"):(i.position++,p=i.position);oa(i,"unexpected end of the stream within a single quoted scalar")}function Bzt(i,s){var u,d,p,v,b,y;if(y=i.input.charCodeAt(i.position),y!==34)return!1;for(i.kind="scalar",i.result="",i.position++,u=d=i.position;(y=i.input.charCodeAt(i.position))!==0;){if(y===34)return k9(i,u,i.position,!0),i.position++,!0;if(y===92){if(k9(i,u,i.position,!0),y=i.input.charCodeAt(++i.position),V4(y))O0(i,!1,s);else if(y<256&&L$e[y])i.result+=M$e[y],i.position++;else if((b=Mzt(y))>0){for(p=b,v=0;p>0;p--)y=i.input.charCodeAt(++i.position),(b=Lzt(y))>=0?v=(v<<4)+b:oa(i,"expected hexadecimal character");i.result+=Izt(v),i.position++}else oa(i,"unknown escape sequence");u=d=i.position}else V4(y)?(k9(i,u,d,!0),G2e(i,O0(i,!1,s)),u=d=i.position):i.position===i.lineStart&&tQ(i)?oa(i,"unexpected end of the document within a double quoted scalar"):(i.position++,d=i.position)}oa(i,"unexpected end of the stream within a double quoted scalar")}function Fzt(i,s){var u=!0,d,p,v,b=i.tag,y,T=i.anchor,_,A,P,R,F,j=Object.create(null),K,ee,ie,oe;if(oe=i.input.charCodeAt(i.position),oe===91)A=93,F=!1,y=[];else if(oe===123)A=125,F=!0,y={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=y),oe=i.input.charCodeAt(++i.position);oe!==0;){if(O0(i,!0,s),oe=i.input.charCodeAt(i.position),oe===A)return i.position++,i.tag=b,i.anchor=T,i.kind=F?"mapping":"sequence",i.result=y,!0;u?oe===44&&oa(i,"expected the node content, but found ','"):oa(i,"missed comma between flow collection entries"),ee=K=ie=null,P=R=!1,oe===63&&(_=i.input.charCodeAt(i.position+1),F2(_)&&(P=R=!0,i.position++,O0(i,!0,s))),d=i.line,p=i.lineStart,v=i.position,MD(i,s,JX,!1,!0),ee=i.tag,K=i.result,O0(i,!0,s),oe=i.input.charCodeAt(i.position),(R||i.line===d)&&oe===58&&(P=!0,oe=i.input.charCodeAt(++i.position),O0(i,!0,s),MD(i,s,JX,!1,!0),ie=i.result),F?LD(i,y,j,ee,K,ie,d,p,v):P?y.push(LD(i,null,j,ee,K,ie,d,p,v)):y.push(K),O0(i,!0,s),oe=i.input.charCodeAt(i.position),oe===44?(u=!0,oe=i.input.charCodeAt(++i.position)):u=!1}oa(i,"unexpected end of the stream within a flow collection")}function Rzt(i,s){var u,d,p=V2e,v=!1,b=!1,y=s,T=0,_=!1,A,P;if(P=i.input.charCodeAt(i.position),P===124)d=!1;else if(P===62)d=!0;else return!1;for(i.kind="scalar",i.result="";P!==0;)if(P=i.input.charCodeAt(++i.position),P===43||P===45)V2e===p?p=P===43?T$e:Czt:oa(i,"repeat of a chomping mode identifier");else if((A=Dzt(P))>=0)A===0?oa(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?oa(i,"repeat of an indentation width identifier"):(y=s+A-1,b=!0);else break;if(FC(P)){do P=i.input.charCodeAt(++i.position);while(FC(P));if(P===35)do P=i.input.charCodeAt(++i.position);while(!V4(P)&&P!==0)}for(;P!==0;){for(U2e(i),i.lineIndent=0,P=i.input.charCodeAt(i.position);(!b||i.lineIndenty&&(y=i.lineIndent),V4(P)){T++;continue}if(i.lineIndents)&&T!==0)oa(i,"bad indentation of a sequence entry");else if(i.lineIndents)&&(ee&&(b=i.line,y=i.lineStart,T=i.position),MD(i,s,ZX,!0,p)&&(ee?j=i.result:K=i.result),ee||(LD(i,P,R,F,j,K,b,y,T),F=j=K=null),O0(i,!0,-1),oe=i.input.charCodeAt(i.position)),(i.line===v||i.lineIndent>s)&&oe!==0)oa(i,"bad indentation of a mapping entry");else if(i.lineIndents?T=1:i.lineIndent===s?T=0:i.lineIndents?T=1:i.lineIndent===s?T=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),P=0,R=i.implicitTypes.length;P"),i.result!==null&&j.kind!==i.kind&&oa(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+j.kind+'", not "'+i.kind+'"'),j.resolve(i.result,i.tag)?(i.result=j.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):oa(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||A}function Hzt(i){var s=i.position,u,d,p,v=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(O0(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(v=!0,b=i.input.charCodeAt(++i.position),u=i.position;b!==0&&!F2(b);)b=i.input.charCodeAt(++i.position);for(d=i.input.slice(u,i.position),p=[],d.length<1&&oa(i,"directive name must not be less than one character in length");b!==0;){for(;FC(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!V4(b));break}if(V4(b))break;for(u=i.position;b!==0&&!F2(b);)b=i.input.charCodeAt(++i.position);p.push(i.input.slice(u,i.position))}b!==0&&U2e(i),x9.call(I$e,d)?I$e[d](i,d,p):eQ(i,'unknown document directive "'+d+'"')}if(O0(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,O0(i,!0,-1)):v&&oa(i,"directives end mark is expected"),MD(i,i.lineIndent-1,ZX,!1,!0),O0(i,!0,-1),i.checkLineBreaks&&_zt.test(i.input.slice(s,i.position))&&eQ(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&tQ(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,O0(i,!0,-1));return}if(i.position"u"&&(u=s,s=null);var d=P$e(i,u);if(typeof s!="function")return d;for(var p=0,v=d.length;pi.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(s,u,d)=>"<"+u+d.replace(/="([^"]*)"/g,"='$1'")+">"),Zzt=i=>{const{text:s,metadata:u}=Qzt(i),{displayMode:d,title:p,config:v={}}=u;return d&&(v.gantt||(v.gantt={}),v.gantt.displayMode=d),{title:p,config:v,text:s}},eqt=i=>{const s=Ao.detectInit(i)??{},u=Ao.detectDirective(i,"wrap");return Array.isArray(u)?s.wrap=u.some(({type:d})=>{}):(u==null?void 0:u.type)==="wrap"&&(s.wrap=!0),{text:wRt(i),directive:s}};function B$e(i){const s=Jzt(i),u=Zzt(s),d=eqt(u.text),p=JF(u.config,d.directive);return i=o$t(d.text),{code:i,title:u.title,config:p}}const tqt=5e4,nqt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",rqt="sandbox",iqt="loose",sqt="http://www.w3.org/2000/svg",aqt="http://www.w3.org/1999/xlink",oqt="http://www.w3.org/1999/xhtml",cqt="100%",uqt="100%",lqt="border:0;margin:0;",hqt="margin:0",fqt="allow-top-navigation-by-user-activation allow-popups",dqt='The "iframe" tag is not supported by your browser.',gqt=["foreignobject"],pqt=["dominant-baseline"];function F$e(i){const s=B$e(i);return WX(),ejt(s.config??{}),s}async function bqt(i,s){B2e(),i=F$e(i).code;try{await K2e(i)}catch(u){if(s!=null&&s.suppressErrors)return!1;throw u}return!0}const R$e=(i,s,u=[])=>` +.${i} ${s} { ${u.join(" !important; ")} !important; }`,mqt=(i,s={})=>{var d;let u="";if(i.themeCSS!==void 0&&(u+=` +${i.themeCSS}`),i.fontFamily!==void 0&&(u+=` +:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(u+=` +:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!iR(s)){const y=i.htmlLabels||((d=i.flowchart)==null?void 0:d.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const T in s){const _=s[T];iR(_.styles)||y.forEach(A=>{u+=R$e(_.id,A,_.styles)}),iR(_.textStyles)||(u+=R$e(_.id,"tspan",_.textStyles))}}return u},vqt=(i,s,u,d)=>{const p=mqt(i,u),v=Tjt(s,p,i.themeVariables);return M2e(WRt(`${d}{${v}}`),XRt)},wqt=(i="",s,u)=>{let d=i;return!u&&!s&&(d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),d=ZF(d),d=d.replace(/
    /g,"
    "),d},yqt=(i="",s)=>{var p,v;const u=(v=(p=s==null?void 0:s.viewBox)==null?void 0:p.baseVal)!=null&&v.height?s.viewBox.baseVal.height+"px":uqt,d=btoa(''+i+"");return``},j$e=(i,s,u,d,p)=>{const v=i.append("div");v.attr("id",u),d&&v.attr("style",d);const b=v.append("svg").attr("id",s).attr("width","100%").attr("xmlns",sqt);return p&&b.attr("xmlns:xlink",p),b.append("g"),i};function $$e(i,s){return i.append("iframe").attr("id",s).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const xqt=(i,s,u,d)=>{var p,v,b;(p=i.getElementById(s))==null||p.remove(),(v=i.getElementById(u))==null||v.remove(),(b=i.getElementById(d))==null||b.remove()},kqt=async function(i,s,u){var U,Fe,Pe,je,Ie,Se;B2e();const d=F$e(s);s=d.code;const p=Vh();Xe.debug(p),s.length>((p==null?void 0:p.maxTextSize)??tqt)&&(s=nqt);const v="#"+i,b="i"+i,y="#"+b,T="d"+i,_="#"+T;let A=Ir("body");const P=p.securityLevel===rqt,R=p.securityLevel===iqt,F=p.fontFamily;if(u!==void 0){if(u&&(u.innerHTML=""),P){const Ce=$$e(Ir(u),b);A=Ir(Ce.nodes()[0].contentDocument.body),A.node().style.margin=0}else A=Ir(u);j$e(A,i,T,`font-family: ${F}`,aqt)}else{if(xqt(document,i,T,b),P){const Ce=$$e(Ir("body"),b);A=Ir(Ce.nodes()[0].contentDocument.body),A.node().style.margin=0}else A=Ir("body");j$e(A,i,T)}let j,K;try{j=await K2e(s,{title:d.title})}catch(Ce){j=new c$e("error"),K=Ce}const ee=A.select(_).node(),ie=j.type,oe=ee.firstChild,pe=oe.firstChild,be=(Fe=(U=j.renderer).getClasses)==null?void 0:Fe.call(U,s,j),ae=vqt(p,ie,be,v),ne=document.createElement("style");ne.innerHTML=ae,oe.insertBefore(ne,pe);try{await j.renderer.draw(s,i,Aje,j)}catch(Ce){throw Djt.draw(s,i,Aje),Ce}const se=A.select(`${_} svg`),de=(je=(Pe=j.db).getAccTitle)==null?void 0:je.call(Pe),X=(Se=(Ie=j.db).getAccDescription)==null?void 0:Se.call(Ie);Tqt(ie,se,de,X),A.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",oqt);let ge=A.select(_).node().innerHTML;if(Xe.debug("config.arrowMarkerAbsolute",p.arrowMarkerAbsolute),ge=wqt(ge,P,f1(p.arrowMarkerAbsolute)),P){const Ce=A.select(_+" svg").node();ge=yqt(ge,Ce)}else R||(ge=hD.sanitize(ge,{ADD_TAGS:gqt,ADD_ATTR:pqt}));if(jjt(),K)throw K;const xe=Ir(P?y:_).node();return xe&&"remove"in xe&&xe.remove(),{svg:ge,bindFunctions:j.db.bindFunctions}};function Eqt(i={}){var u;i!=null&&i.fontFamily&&!((u=i.themeVariables)!=null&&u.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),JRt(i),i!=null&&i.theme&&i.theme in E7?i.themeVariables=E7[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=E7.default.getThemeVariables(i.themeVariables));const s=typeof i=="object"?QRt(i):Mje();fpe(s.logLevel),B2e()}const K2e=(i,s={})=>{const{code:u}=B$e(i);return Rjt(u,s)};function Tqt(i,s,u,d){s$t(s,i),a$t(s,u,d,s.attr("id"))}const RC=Object.freeze({render:kqt,parse:bqt,getDiagramFromText:K2e,initialize:Eqt,getConfig:Vh,setConfig:Dje,getSiteConfig:Mje,updateSiteConfig:ZRt,reset:()=>{WX()},globalReset:()=>{WX(ED)},defaultConfig:ED});fpe(Vh().logLevel),WX(Vh());const Cqt=async()=>{Xe.debug("Loading registered diagrams");const s=(await Promise.allSettled(Object.entries(dD).map(async([u,{detector:d,loader:p}])=>{if(p)try{P2e(u)}catch{try{const{diagram:b,id:y}=await p();QX(y,b,d)}catch(b){throw Xe.error(`Failed to load external diagram with key ${u}. Removing from detectors.`),delete dD[u],b}}}))).filter(u=>u.status==="rejected");if(s.length>0){Xe.error(`Failed to load ${s.length} external diagrams`);for(const u of s)Xe.error(u);throw new Error(`Failed to load ${s.length} external diagrams`)}},Sqt=(i,s,u)=>{Xe.warn(i),wje(i)?(u&&u(i.str,i.hash),s.push({...i,message:i.str,error:i})):(u&&u(i),i instanceof Error&&s.push({str:i.message,message:i.message,hash:i.name,error:i}))},z$e=async function(i={querySelector:".mermaid"}){try{await _qt(i)}catch(s){if(wje(s)&&Xe.error(s.str),um.parseError&&um.parseError(s),!i.suppressErrors)throw Xe.error("Use the suppressErrors option to suppress these errors"),s}},_qt=async function({postRenderCallback:i,querySelector:s,nodes:u}={querySelector:".mermaid"}){const d=RC.getConfig();Xe.debug(`${i?"":"No "}Callback function found`);let p;if(u)p=u;else if(s)p=document.querySelectorAll(s);else throw new Error("Nodes and querySelector are both undefined");Xe.debug(`Found ${p.length} diagrams`),(d==null?void 0:d.startOnLoad)!==void 0&&(Xe.debug("Start On Load: "+(d==null?void 0:d.startOnLoad)),RC.updateSiteConfig({startOnLoad:d==null?void 0:d.startOnLoad}));const v=new Ao.InitIDGenerator(d.deterministicIds,d.deterministicIDSeed);let b;const y=[];for(const T of Array.from(p)){Xe.info("Rendering diagram: "+T.id);/*! Check if previously processed */if(T.getAttribute("data-processed"))continue;T.setAttribute("data-processed","true");const _=`mermaid-${v.next()}`;b=T.innerHTML,b=JM(Ao.entityDecode(b)).trim().replace(//gi,"
    ");const A=Ao.detectInit(b);A&&Xe.debug("Detected early reinit: ",A);try{const{svg:P,bindFunctions:R}=await U$e(_,b,T);T.innerHTML=P,i&&await i(_),R&&R(T)}catch(P){Sqt(P,y,um.parseError)}}if(y.length>0)throw y[0]},q$e=function(i){RC.initialize(i)},Aqt=async function(i,s,u){Xe.warn("mermaid.init is deprecated. Please use run instead."),i&&q$e(i);const d={postRenderCallback:u,querySelector:".mermaid"};typeof s=="string"?d.querySelector=s:s&&(s instanceof HTMLElement?d.nodes=[s]:d.nodes=s),await z$e(d)},Lqt=async(i,{lazyLoad:s=!0}={})=>{NRe(...i),s===!1&&await Cqt()},H$e=function(){if(um.startOnLoad){const{startOnLoad:i}=RC.getConfig();i&&um.run().catch(s=>Xe.error("Mermaid failed to initialize",s))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",H$e,!1)}const Mqt=function(i){um.parseError=i},nQ=[];let W2e=!1;const V$e=async()=>{if(!W2e){for(W2e=!0;nQ.length>0;){const i=nQ.shift();if(i)try{await i()}catch(s){Xe.error("Error executing queue",s)}}W2e=!1}},Dqt=async(i,s)=>new Promise((u,d)=>{const p=()=>new Promise((v,b)=>{RC.parse(i,s).then(y=>{v(y),u(y)},y=>{var T;Xe.error("Error parsing",y),(T=um.parseError)==null||T.call(um,y),b(y),d(y)})});nQ.push(p),V$e().catch(d)}),U$e=(i,s,u)=>new Promise((d,p)=>{const v=()=>new Promise((b,y)=>{RC.render(i,s,u).then(T=>{b(T),d(T)},T=>{var _;Xe.error("Error parsing",T),(_=um.parseError)==null||_.call(um,T),y(T),p(T)})});nQ.push(v),V$e().catch(p)}),um={startOnLoad:!0,mermaidAPI:RC,parse:Dqt,render:U$e,init:Aqt,run:z$e,registerExternalDiagrams:Lqt,initialize:q$e,parseError:void 0,contentLoaded:H$e,setParseErrorHandler:Mqt,detectType:_X};class lm{constructor(s,u,d){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=s,this.start=u,this.end=d}static range(s,u){return u?!s||!s.loc||!u.loc||s.loc.lexer!==u.loc.lexer?null:new lm(s.loc.lexer,s.loc.start,u.loc.end):s&&s.loc}}class U4{constructor(s,u){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=s,this.loc=u}range(s,u){return new U4(u,lm.range(this,s))}}class Ci{constructor(s,u){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var d="KaTeX parse error: "+s,p,v,b=u&&u.loc;if(b&&b.start<=b.end){var y=b.lexer.input;p=b.start,v=b.end,p===y.length?d+=" at end of input: ":d+=" at position "+(p+1)+": ";var T=y.slice(p,v).replace(/[^]/g,"$&̲"),_;p>15?_="…"+y.slice(p-15,p):_=y.slice(0,p);var A;v+15":">","<":"<",'"':""","'":"'"},Fqt=/[&><"']/g;function Rqt(i){return String(i).replace(Fqt,s=>Bqt[s])}var G$e=function i(s){return s.type==="ordgroup"||s.type==="color"?s.body.length===1?i(s.body[0]):s:s.type==="font"?i(s.body):s},jqt=function(s){var u=G$e(s);return u.type==="mathord"||u.type==="textord"||u.type==="atom"},$qt=function(s){if(!s)throw new Error("Expected non-null, but got "+String(s));return s},zqt=function(s){var u=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(s);return u!=null?u[1]:"_relative"},Ya={contains:Iqt,deflt:Oqt,escape:Rqt,hyphenate:Pqt,getBaseElem:G$e,isCharacterBox:jqt,protocolFromUrl:zqt},rQ={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:i=>"#"+i},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(i,s)=>(s.push(i),s)},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:i=>Math.max(0,i),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:i=>Math.max(0,i),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:i=>Math.max(0,i),cli:"-e, --max-expand ",cliProcessor:i=>i==="Infinity"?1/0:parseInt(i)},globalGroup:{type:"boolean",cli:!1}};function qqt(i){if(i.default)return i.default;var s=i.type,u=Array.isArray(s)?s[0]:s;if(typeof u!="string")return u.enum[0];switch(u){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class Y2e{constructor(s){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,s=s||{};for(var u in rQ)if(rQ.hasOwnProperty(u)){var d=rQ[u];this[u]=s[u]!==void 0?d.processor?d.processor(s[u]):s[u]:qqt(d)}}reportNonstrict(s,u,d){var p=this.strict;if(typeof p=="function"&&(p=p(s,u,d)),!(!p||p==="ignore")){if(p===!0||p==="error")throw new Ci("LaTeX-incompatible input and strict mode is set to 'error': "+(u+" ["+s+"]"),d);p==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+s+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+s+"]"))}}useStrictBehavior(s,u,d){var p=this.strict;if(typeof p=="function")try{p=p(s,u,d)}catch{p="error"}return!p||p==="ignore"?!1:p===!0||p==="error"?!0:p==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+s+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+s+"]")),!1)}isTrusted(s){s.url&&!s.protocol&&(s.protocol=Ya.protocolFromUrl(s.url));var u=typeof this.trust=="function"?this.trust(s):this.trust;return!!u}}class E9{constructor(s,u,d){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=s,this.size=u,this.cramped=d}sup(){return G4[Hqt[this.id]]}sub(){return G4[Vqt[this.id]]}fracNum(){return G4[Uqt[this.id]]}fracDen(){return G4[Gqt[this.id]]}cramp(){return G4[Kqt[this.id]]}text(){return G4[Wqt[this.id]]}isTight(){return this.size>=2}}var X2e=0,iQ=1,DD=2,L7=3,aR=4,Pv=5,ID=6,Mp=7,G4=[new E9(X2e,0,!1),new E9(iQ,0,!0),new E9(DD,1,!1),new E9(L7,1,!0),new E9(aR,2,!1),new E9(Pv,2,!0),new E9(ID,3,!1),new E9(Mp,3,!0)],Hqt=[aR,Pv,aR,Pv,ID,Mp,ID,Mp],Vqt=[Pv,Pv,Pv,Pv,Mp,Mp,Mp,Mp],Uqt=[DD,L7,aR,Pv,ID,Mp,ID,Mp],Gqt=[L7,L7,Pv,Pv,Mp,Mp,Mp,Mp],Kqt=[iQ,iQ,L7,L7,Pv,Pv,Mp,Mp],Wqt=[X2e,iQ,DD,L7,DD,L7,DD,L7],Ta={DISPLAY:G4[X2e],TEXT:G4[DD],SCRIPT:G4[aR],SCRIPTSCRIPT:G4[ID]},Q2e=[{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]]}];function Yqt(i){for(var s=0;s=p[0]&&i<=p[1])return u.name}return null}var sQ=[];Q2e.forEach(i=>i.blocks.forEach(s=>sQ.push(...s)));function K$e(i){for(var s=0;s=sQ[s]&&i<=sQ[s+1])return!0;return!1}var OD=80,Xqt=function(s,u){return"M95,"+(622+s+u)+` +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 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+s/2.075+" -"+s+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+s)+`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+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},Qqt=function(s,u){return"M263,"+(601+s+u)+`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`+s/2.084+" -"+s+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+s)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +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+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},Jqt=function(s,u){return"M983 "+(10+s+u)+` +l`+s/3.13+" -"+s+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+s)+` +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 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +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+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},Zqt=function(s,u){return"M424,"+(2398+s+u)+` +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 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+s/4.223+" -"+s+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+s)+`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+s)+" "+u+` +h400000v`+(40+s)+"h-400000z"},eHt=function(s,u){return"M473,"+(2713+s+u)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+s/5.298+" -"+s+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+s)+`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+s)+" "+u+"h400000v"+(40+s)+"H1017.7z"},tHt=function(s){var u=s/2;return"M400000 "+s+" H0 L"+u+" 0 l65 45 L145 "+(s-80)+" H400000z"},nHt=function(s,u,d){var p=d-54-u-s;return"M702 "+(s+u)+"H400000"+(40+s)+` +H742v`+p+`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 `+u+"H400000v"+(40+s)+"H742z"},rHt=function(s,u,d){u=1e3*u;var p="";switch(s){case"sqrtMain":p=Xqt(u,OD);break;case"sqrtSize1":p=Qqt(u,OD);break;case"sqrtSize2":p=Jqt(u,OD);break;case"sqrtSize3":p=Zqt(u,OD);break;case"sqrtSize4":p=eHt(u,OD);break;case"sqrtTall":p=nHt(u,OD,d)}return p},iHt=function(s,u){switch(s){case"⎜":return"M291 0 H417 V"+u+" H291z M291 0 H417 V"+u+" H291z";case"∣":return"M145 0 H188 V"+u+" H145z M145 0 H188 V"+u+" H145z";case"∥":return"M145 0 H188 V"+u+" H145z M145 0 H188 V"+u+" H145z"+("M367 0 H410 V"+u+" H367z M367 0 H410 V"+u+" H367z");case"⎟":return"M457 0 H583 V"+u+" H457z M457 0 H583 V"+u+" H457z";case"⎢":return"M319 0 H403 V"+u+" H319z M319 0 H403 V"+u+" H319z";case"⎥":return"M263 0 H347 V"+u+" H263z M263 0 H347 V"+u+" H263z";case"⎪":return"M384 0 H504 V"+u+" H384z M384 0 H504 V"+u+" H384z";case"⏐":return"M312 0 H355 V"+u+" H312z M312 0 H355 V"+u+" H312z";case"‖":return"M257 0 H300 V"+u+" H257z M257 0 H300 V"+u+" H257z"+("M478 0 H521 V"+u+" H478z M478 0 H521 V"+u+" H478z");default:return""}},W$e={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 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 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.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +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 +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +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`},sHt=function(s,u){switch(s){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+u+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+u+" v1759 h84z";case"vert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+" v585 h43z";case"doublevert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+` v585 h43z +M367 15 v585 v`+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+u+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+u+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+u+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v602 h84z +M403 1759 V0 H319 V1759 v`+u+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v602 h84z +M347 1759 V0 h-84 V1759 v`+u+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(u+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(u+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(u+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +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,11 +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,-`+(u+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.")}};class oR{constructor(s){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=s,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(s){return Ya.contains(this.classes,s)}toNode(){for(var s=document.createDocumentFragment(),u=0;uu.toText();return this.children.map(s).join("")}}var K4={"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]}},aQ={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]},Y$e={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function aHt(i,s){K4[i]=s}function J2e(i,s,u){if(!K4[s])throw new Error("Font metrics not found for font: "+s+".");var d=i.charCodeAt(0),p=K4[s][d];if(!p&&i[0]in Y$e&&(d=Y$e[i[0]].charCodeAt(0),p=K4[s][d]),!p&&u==="text"&&K$e(d)&&(p=K4[s][77]),p)return{depth:p[0],height:p[1],italic:p[2],skew:p[3],width:p[4]}}var Z2e={};function oHt(i){var s;if(i>=5?s=0:i>=3?s=1:s=2,!Z2e[s]){var u=Z2e[s]={cssEmPerMu:aQ.quad[s]/18};for(var d in aQ)aQ.hasOwnProperty(d)&&(u[d]=aQ[d][s])}return Z2e[s]}var cHt=[[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]],X$e=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Q$e=function(s,u){return u.size<2?s:cHt[s-1][u.size-1]};class M7{constructor(s){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=s.style,this.color=s.color,this.size=s.size||M7.BASESIZE,this.textSize=s.textSize||this.size,this.phantom=!!s.phantom,this.font=s.font||"",this.fontFamily=s.fontFamily||"",this.fontWeight=s.fontWeight||"",this.fontShape=s.fontShape||"",this.sizeMultiplier=X$e[this.size-1],this.maxSize=s.maxSize,this.minRuleThickness=s.minRuleThickness,this._fontMetrics=void 0}extend(s){var u={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 d in s)s.hasOwnProperty(d)&&(u[d]=s[d]);return new M7(u)}havingStyle(s){return this.style===s?this:this.extend({style:s,size:Q$e(this.textSize,s)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(s){return this.size===s&&this.textSize===s?this:this.extend({style:this.style.text(),size:s,textSize:s,sizeMultiplier:X$e[s-1]})}havingBaseStyle(s){s=s||this.style.text();var u=Q$e(M7.BASESIZE,s);return this.size===u&&this.textSize===M7.BASESIZE&&this.style===s?this:this.extend({style:s,size:u})}havingBaseSizing(){var s;switch(this.style.id){case 4:case 5:s=3;break;case 6:case 7:s=1;break;default:s=6}return this.extend({style:this.style.text(),size:s})}withColor(s){return this.extend({color:s})}withPhantom(){return this.extend({phantom:!0})}withFont(s){return this.extend({font:s})}withTextFontFamily(s){return this.extend({fontFamily:s,font:""})}withTextFontWeight(s){return this.extend({fontWeight:s,font:""})}withTextFontShape(s){return this.extend({fontShape:s,font:""})}sizingClasses(s){return s.size!==this.size?["sizing","reset-size"+s.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==M7.BASESIZE?["sizing","reset-size"+this.size,"size"+M7.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=oHt(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}M7.BASESIZE=6;var ebe={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},uHt={ex:!0,em:!0,mu:!0},J$e=function(s){return typeof s!="string"&&(s=s.unit),s in ebe||s in uHt||s==="ex"},Uh=function(s,u){var d;if(s.unit in ebe)d=ebe[s.unit]/u.fontMetrics().ptPerEm/u.sizeMultiplier;else if(s.unit==="mu")d=u.fontMetrics().cssEmPerMu;else{var p;if(u.style.isTight()?p=u.havingStyle(u.style.text()):p=u,s.unit==="ex")d=p.fontMetrics().xHeight;else if(s.unit==="em")d=p.fontMetrics().quad;else throw new Ci("Invalid unit: '"+s.unit+"'");p!==u&&(d*=p.sizeMultiplier/u.sizeMultiplier)}return Math.min(s.number*d,u.maxSize)},Ri=function(s){return+s.toFixed(4)+"em"},T9=function(s){return s.filter(u=>u).join(" ")},Z$e=function(s,u,d){if(this.classes=s||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=d||{},u){u.style.isTight()&&this.classes.push("mtight");var p=u.getColor();p&&(this.style.color=p)}},eze=function(s){var u=document.createElement(s);u.className=T9(this.classes);for(var d in this.style)this.style.hasOwnProperty(d)&&(u.style[d]=this.style[d]);for(var p in this.attributes)this.attributes.hasOwnProperty(p)&&u.setAttribute(p,this.attributes[p]);for(var v=0;v",u};class cR{constructor(s,u,d,p){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,Z$e.call(this,s,d,p),this.children=u||[]}setAttribute(s,u){this.attributes[s]=u}hasClass(s){return Ya.contains(this.classes,s)}toNode(){return eze.call(this,"span")}toMarkup(){return tze.call(this,"span")}}class tbe{constructor(s,u,d,p){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,Z$e.call(this,u,p),this.children=d||[],this.setAttribute("href",s)}setAttribute(s,u){this.attributes[s]=u}hasClass(s){return Ya.contains(this.classes,s)}toNode(){return eze.call(this,"a")}toMarkup(){return tze.call(this,"a")}}class lHt{constructor(s,u,d){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=u,this.src=s,this.classes=["mord"],this.style=d}hasClass(s){return Ya.contains(this.classes,s)}toNode(){var s=document.createElement("img");s.src=this.src,s.alt=this.alt,s.className="mord";for(var u in this.style)this.style.hasOwnProperty(u)&&(s.style[u]=this.style[u]);return s}toMarkup(){var s=""+this.alt+"0&&(u=document.createElement("span"),u.style.marginRight=Ri(this.italic)),this.classes.length>0&&(u=u||document.createElement("span"),u.className=T9(this.classes));for(var d in this.style)this.style.hasOwnProperty(d)&&(u=u||document.createElement("span"),u.style[d]=this.style[d]);return u?(u.appendChild(s),u):s}toMarkup(){var s=!1,u="0&&(d+="margin-right:"+this.italic+"em;");for(var p in this.style)this.style.hasOwnProperty(p)&&(d+=Ya.hyphenate(p)+":"+this.style[p]+";");d&&(s=!0,u+=' style="'+Ya.escape(d)+'"');var v=Ya.escape(this.text);return s?(u+=">",u+=v,u+="",u):v}}class D7{constructor(s,u){this.children=void 0,this.attributes=void 0,this.children=s||[],this.attributes=u||{}}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"svg");for(var d in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,d)&&u.setAttribute(d,this.attributes[d]);for(var p=0;p":""}}class nbe{constructor(s){this.attributes=void 0,this.attributes=s||{}}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"line");for(var d in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,d)&&u.setAttribute(d,this.attributes[d]);return u}toMarkup(){var s=" but got "+String(i)+".")}var dHt={bin:1,close:1,inner:1,open:1,punct:1,rel:1},gHt={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Ul={math:{},text:{}};function we(i,s,u,d,p,v){Ul[i][p]={font:s,group:u,replace:d},v&&d&&(Ul[i][d]=Ul[i][p])}var Ae="math",si="text",Ue="main",$t="ams",wh="accent-token",ls="bin",Dp="close",ND="inner",Ca="mathord",N0="op-token",hm="open",oQ="punct",Ht="rel",I7="spacing",mn="textord";we(Ae,Ue,Ht,"≡","\\equiv",!0),we(Ae,Ue,Ht,"≺","\\prec",!0),we(Ae,Ue,Ht,"≻","\\succ",!0),we(Ae,Ue,Ht,"∼","\\sim",!0),we(Ae,Ue,Ht,"⊥","\\perp"),we(Ae,Ue,Ht,"⪯","\\preceq",!0),we(Ae,Ue,Ht,"⪰","\\succeq",!0),we(Ae,Ue,Ht,"≃","\\simeq",!0),we(Ae,Ue,Ht,"∣","\\mid",!0),we(Ae,Ue,Ht,"≪","\\ll",!0),we(Ae,Ue,Ht,"≫","\\gg",!0),we(Ae,Ue,Ht,"≍","\\asymp",!0),we(Ae,Ue,Ht,"∥","\\parallel"),we(Ae,Ue,Ht,"⋈","\\bowtie",!0),we(Ae,Ue,Ht,"⌣","\\smile",!0),we(Ae,Ue,Ht,"⊑","\\sqsubseteq",!0),we(Ae,Ue,Ht,"⊒","\\sqsupseteq",!0),we(Ae,Ue,Ht,"≐","\\doteq",!0),we(Ae,Ue,Ht,"⌢","\\frown",!0),we(Ae,Ue,Ht,"∋","\\ni",!0),we(Ae,Ue,Ht,"∝","\\propto",!0),we(Ae,Ue,Ht,"⊢","\\vdash",!0),we(Ae,Ue,Ht,"⊣","\\dashv",!0),we(Ae,Ue,Ht,"∋","\\owns"),we(Ae,Ue,oQ,".","\\ldotp"),we(Ae,Ue,oQ,"⋅","\\cdotp"),we(Ae,Ue,mn,"#","\\#"),we(si,Ue,mn,"#","\\#"),we(Ae,Ue,mn,"&","\\&"),we(si,Ue,mn,"&","\\&"),we(Ae,Ue,mn,"ℵ","\\aleph",!0),we(Ae,Ue,mn,"∀","\\forall",!0),we(Ae,Ue,mn,"ℏ","\\hbar",!0),we(Ae,Ue,mn,"∃","\\exists",!0),we(Ae,Ue,mn,"∇","\\nabla",!0),we(Ae,Ue,mn,"♭","\\flat",!0),we(Ae,Ue,mn,"ℓ","\\ell",!0),we(Ae,Ue,mn,"♮","\\natural",!0),we(Ae,Ue,mn,"♣","\\clubsuit",!0),we(Ae,Ue,mn,"℘","\\wp",!0),we(Ae,Ue,mn,"♯","\\sharp",!0),we(Ae,Ue,mn,"♢","\\diamondsuit",!0),we(Ae,Ue,mn,"ℜ","\\Re",!0),we(Ae,Ue,mn,"♡","\\heartsuit",!0),we(Ae,Ue,mn,"ℑ","\\Im",!0),we(Ae,Ue,mn,"♠","\\spadesuit",!0),we(Ae,Ue,mn,"§","\\S",!0),we(si,Ue,mn,"§","\\S"),we(Ae,Ue,mn,"¶","\\P",!0),we(si,Ue,mn,"¶","\\P"),we(Ae,Ue,mn,"†","\\dag"),we(si,Ue,mn,"†","\\dag"),we(si,Ue,mn,"†","\\textdagger"),we(Ae,Ue,mn,"‡","\\ddag"),we(si,Ue,mn,"‡","\\ddag"),we(si,Ue,mn,"‡","\\textdaggerdbl"),we(Ae,Ue,Dp,"⎱","\\rmoustache",!0),we(Ae,Ue,hm,"⎰","\\lmoustache",!0),we(Ae,Ue,Dp,"⟯","\\rgroup",!0),we(Ae,Ue,hm,"⟮","\\lgroup",!0),we(Ae,Ue,ls,"∓","\\mp",!0),we(Ae,Ue,ls,"⊖","\\ominus",!0),we(Ae,Ue,ls,"⊎","\\uplus",!0),we(Ae,Ue,ls,"⊓","\\sqcap",!0),we(Ae,Ue,ls,"∗","\\ast"),we(Ae,Ue,ls,"⊔","\\sqcup",!0),we(Ae,Ue,ls,"◯","\\bigcirc",!0),we(Ae,Ue,ls,"∙","\\bullet",!0),we(Ae,Ue,ls,"‡","\\ddagger"),we(Ae,Ue,ls,"≀","\\wr",!0),we(Ae,Ue,ls,"⨿","\\amalg"),we(Ae,Ue,ls,"&","\\And"),we(Ae,Ue,Ht,"⟵","\\longleftarrow",!0),we(Ae,Ue,Ht,"⇐","\\Leftarrow",!0),we(Ae,Ue,Ht,"⟸","\\Longleftarrow",!0),we(Ae,Ue,Ht,"⟶","\\longrightarrow",!0),we(Ae,Ue,Ht,"⇒","\\Rightarrow",!0),we(Ae,Ue,Ht,"⟹","\\Longrightarrow",!0),we(Ae,Ue,Ht,"↔","\\leftrightarrow",!0),we(Ae,Ue,Ht,"⟷","\\longleftrightarrow",!0),we(Ae,Ue,Ht,"⇔","\\Leftrightarrow",!0),we(Ae,Ue,Ht,"⟺","\\Longleftrightarrow",!0),we(Ae,Ue,Ht,"↦","\\mapsto",!0),we(Ae,Ue,Ht,"⟼","\\longmapsto",!0),we(Ae,Ue,Ht,"↗","\\nearrow",!0),we(Ae,Ue,Ht,"↩","\\hookleftarrow",!0),we(Ae,Ue,Ht,"↪","\\hookrightarrow",!0),we(Ae,Ue,Ht,"↘","\\searrow",!0),we(Ae,Ue,Ht,"↼","\\leftharpoonup",!0),we(Ae,Ue,Ht,"⇀","\\rightharpoonup",!0),we(Ae,Ue,Ht,"↙","\\swarrow",!0),we(Ae,Ue,Ht,"↽","\\leftharpoondown",!0),we(Ae,Ue,Ht,"⇁","\\rightharpoondown",!0),we(Ae,Ue,Ht,"↖","\\nwarrow",!0),we(Ae,Ue,Ht,"⇌","\\rightleftharpoons",!0),we(Ae,$t,Ht,"≮","\\nless",!0),we(Ae,$t,Ht,"","\\@nleqslant"),we(Ae,$t,Ht,"","\\@nleqq"),we(Ae,$t,Ht,"⪇","\\lneq",!0),we(Ae,$t,Ht,"≨","\\lneqq",!0),we(Ae,$t,Ht,"","\\@lvertneqq"),we(Ae,$t,Ht,"⋦","\\lnsim",!0),we(Ae,$t,Ht,"⪉","\\lnapprox",!0),we(Ae,$t,Ht,"⊀","\\nprec",!0),we(Ae,$t,Ht,"⋠","\\npreceq",!0),we(Ae,$t,Ht,"⋨","\\precnsim",!0),we(Ae,$t,Ht,"⪹","\\precnapprox",!0),we(Ae,$t,Ht,"≁","\\nsim",!0),we(Ae,$t,Ht,"","\\@nshortmid"),we(Ae,$t,Ht,"∤","\\nmid",!0),we(Ae,$t,Ht,"⊬","\\nvdash",!0),we(Ae,$t,Ht,"⊭","\\nvDash",!0),we(Ae,$t,Ht,"⋪","\\ntriangleleft"),we(Ae,$t,Ht,"⋬","\\ntrianglelefteq",!0),we(Ae,$t,Ht,"⊊","\\subsetneq",!0),we(Ae,$t,Ht,"","\\@varsubsetneq"),we(Ae,$t,Ht,"⫋","\\subsetneqq",!0),we(Ae,$t,Ht,"","\\@varsubsetneqq"),we(Ae,$t,Ht,"≯","\\ngtr",!0),we(Ae,$t,Ht,"","\\@ngeqslant"),we(Ae,$t,Ht,"","\\@ngeqq"),we(Ae,$t,Ht,"⪈","\\gneq",!0),we(Ae,$t,Ht,"≩","\\gneqq",!0),we(Ae,$t,Ht,"","\\@gvertneqq"),we(Ae,$t,Ht,"⋧","\\gnsim",!0),we(Ae,$t,Ht,"⪊","\\gnapprox",!0),we(Ae,$t,Ht,"⊁","\\nsucc",!0),we(Ae,$t,Ht,"⋡","\\nsucceq",!0),we(Ae,$t,Ht,"⋩","\\succnsim",!0),we(Ae,$t,Ht,"⪺","\\succnapprox",!0),we(Ae,$t,Ht,"≆","\\ncong",!0),we(Ae,$t,Ht,"","\\@nshortparallel"),we(Ae,$t,Ht,"∦","\\nparallel",!0),we(Ae,$t,Ht,"⊯","\\nVDash",!0),we(Ae,$t,Ht,"⋫","\\ntriangleright"),we(Ae,$t,Ht,"⋭","\\ntrianglerighteq",!0),we(Ae,$t,Ht,"","\\@nsupseteqq"),we(Ae,$t,Ht,"⊋","\\supsetneq",!0),we(Ae,$t,Ht,"","\\@varsupsetneq"),we(Ae,$t,Ht,"⫌","\\supsetneqq",!0),we(Ae,$t,Ht,"","\\@varsupsetneqq"),we(Ae,$t,Ht,"⊮","\\nVdash",!0),we(Ae,$t,Ht,"⪵","\\precneqq",!0),we(Ae,$t,Ht,"⪶","\\succneqq",!0),we(Ae,$t,Ht,"","\\@nsubseteqq"),we(Ae,$t,ls,"⊴","\\unlhd"),we(Ae,$t,ls,"⊵","\\unrhd"),we(Ae,$t,Ht,"↚","\\nleftarrow",!0),we(Ae,$t,Ht,"↛","\\nrightarrow",!0),we(Ae,$t,Ht,"⇍","\\nLeftarrow",!0),we(Ae,$t,Ht,"⇏","\\nRightarrow",!0),we(Ae,$t,Ht,"↮","\\nleftrightarrow",!0),we(Ae,$t,Ht,"⇎","\\nLeftrightarrow",!0),we(Ae,$t,Ht,"△","\\vartriangle"),we(Ae,$t,mn,"ℏ","\\hslash"),we(Ae,$t,mn,"▽","\\triangledown"),we(Ae,$t,mn,"◊","\\lozenge"),we(Ae,$t,mn,"Ⓢ","\\circledS"),we(Ae,$t,mn,"®","\\circledR"),we(si,$t,mn,"®","\\circledR"),we(Ae,$t,mn,"∡","\\measuredangle",!0),we(Ae,$t,mn,"∄","\\nexists"),we(Ae,$t,mn,"℧","\\mho"),we(Ae,$t,mn,"Ⅎ","\\Finv",!0),we(Ae,$t,mn,"⅁","\\Game",!0),we(Ae,$t,mn,"‵","\\backprime"),we(Ae,$t,mn,"▲","\\blacktriangle"),we(Ae,$t,mn,"▼","\\blacktriangledown"),we(Ae,$t,mn,"■","\\blacksquare"),we(Ae,$t,mn,"⧫","\\blacklozenge"),we(Ae,$t,mn,"★","\\bigstar"),we(Ae,$t,mn,"∢","\\sphericalangle",!0),we(Ae,$t,mn,"∁","\\complement",!0),we(Ae,$t,mn,"ð","\\eth",!0),we(si,Ue,mn,"ð","ð"),we(Ae,$t,mn,"╱","\\diagup"),we(Ae,$t,mn,"╲","\\diagdown"),we(Ae,$t,mn,"□","\\square"),we(Ae,$t,mn,"□","\\Box"),we(Ae,$t,mn,"◊","\\Diamond"),we(Ae,$t,mn,"¥","\\yen",!0),we(si,$t,mn,"¥","\\yen",!0),we(Ae,$t,mn,"✓","\\checkmark",!0),we(si,$t,mn,"✓","\\checkmark"),we(Ae,$t,mn,"ℶ","\\beth",!0),we(Ae,$t,mn,"ℸ","\\daleth",!0),we(Ae,$t,mn,"ℷ","\\gimel",!0),we(Ae,$t,mn,"ϝ","\\digamma",!0),we(Ae,$t,mn,"ϰ","\\varkappa"),we(Ae,$t,hm,"┌","\\@ulcorner",!0),we(Ae,$t,Dp,"┐","\\@urcorner",!0),we(Ae,$t,hm,"└","\\@llcorner",!0),we(Ae,$t,Dp,"┘","\\@lrcorner",!0),we(Ae,$t,Ht,"≦","\\leqq",!0),we(Ae,$t,Ht,"⩽","\\leqslant",!0),we(Ae,$t,Ht,"⪕","\\eqslantless",!0),we(Ae,$t,Ht,"≲","\\lesssim",!0),we(Ae,$t,Ht,"⪅","\\lessapprox",!0),we(Ae,$t,Ht,"≊","\\approxeq",!0),we(Ae,$t,ls,"⋖","\\lessdot"),we(Ae,$t,Ht,"⋘","\\lll",!0),we(Ae,$t,Ht,"≶","\\lessgtr",!0),we(Ae,$t,Ht,"⋚","\\lesseqgtr",!0),we(Ae,$t,Ht,"⪋","\\lesseqqgtr",!0),we(Ae,$t,Ht,"≑","\\doteqdot"),we(Ae,$t,Ht,"≓","\\risingdotseq",!0),we(Ae,$t,Ht,"≒","\\fallingdotseq",!0),we(Ae,$t,Ht,"∽","\\backsim",!0),we(Ae,$t,Ht,"⋍","\\backsimeq",!0),we(Ae,$t,Ht,"⫅","\\subseteqq",!0),we(Ae,$t,Ht,"⋐","\\Subset",!0),we(Ae,$t,Ht,"⊏","\\sqsubset",!0),we(Ae,$t,Ht,"≼","\\preccurlyeq",!0),we(Ae,$t,Ht,"⋞","\\curlyeqprec",!0),we(Ae,$t,Ht,"≾","\\precsim",!0),we(Ae,$t,Ht,"⪷","\\precapprox",!0),we(Ae,$t,Ht,"⊲","\\vartriangleleft"),we(Ae,$t,Ht,"⊴","\\trianglelefteq"),we(Ae,$t,Ht,"⊨","\\vDash",!0),we(Ae,$t,Ht,"⊪","\\Vvdash",!0),we(Ae,$t,Ht,"⌣","\\smallsmile"),we(Ae,$t,Ht,"⌢","\\smallfrown"),we(Ae,$t,Ht,"≏","\\bumpeq",!0),we(Ae,$t,Ht,"≎","\\Bumpeq",!0),we(Ae,$t,Ht,"≧","\\geqq",!0),we(Ae,$t,Ht,"⩾","\\geqslant",!0),we(Ae,$t,Ht,"⪖","\\eqslantgtr",!0),we(Ae,$t,Ht,"≳","\\gtrsim",!0),we(Ae,$t,Ht,"⪆","\\gtrapprox",!0),we(Ae,$t,ls,"⋗","\\gtrdot"),we(Ae,$t,Ht,"⋙","\\ggg",!0),we(Ae,$t,Ht,"≷","\\gtrless",!0),we(Ae,$t,Ht,"⋛","\\gtreqless",!0),we(Ae,$t,Ht,"⪌","\\gtreqqless",!0),we(Ae,$t,Ht,"≖","\\eqcirc",!0),we(Ae,$t,Ht,"≗","\\circeq",!0),we(Ae,$t,Ht,"≜","\\triangleq",!0),we(Ae,$t,Ht,"∼","\\thicksim"),we(Ae,$t,Ht,"≈","\\thickapprox"),we(Ae,$t,Ht,"⫆","\\supseteqq",!0),we(Ae,$t,Ht,"⋑","\\Supset",!0),we(Ae,$t,Ht,"⊐","\\sqsupset",!0),we(Ae,$t,Ht,"≽","\\succcurlyeq",!0),we(Ae,$t,Ht,"⋟","\\curlyeqsucc",!0),we(Ae,$t,Ht,"≿","\\succsim",!0),we(Ae,$t,Ht,"⪸","\\succapprox",!0),we(Ae,$t,Ht,"⊳","\\vartriangleright"),we(Ae,$t,Ht,"⊵","\\trianglerighteq"),we(Ae,$t,Ht,"⊩","\\Vdash",!0),we(Ae,$t,Ht,"∣","\\shortmid"),we(Ae,$t,Ht,"∥","\\shortparallel"),we(Ae,$t,Ht,"≬","\\between",!0),we(Ae,$t,Ht,"⋔","\\pitchfork",!0),we(Ae,$t,Ht,"∝","\\varpropto"),we(Ae,$t,Ht,"◀","\\blacktriangleleft"),we(Ae,$t,Ht,"∴","\\therefore",!0),we(Ae,$t,Ht,"∍","\\backepsilon"),we(Ae,$t,Ht,"▶","\\blacktriangleright"),we(Ae,$t,Ht,"∵","\\because",!0),we(Ae,$t,Ht,"⋘","\\llless"),we(Ae,$t,Ht,"⋙","\\gggtr"),we(Ae,$t,ls,"⊲","\\lhd"),we(Ae,$t,ls,"⊳","\\rhd"),we(Ae,$t,Ht,"≂","\\eqsim",!0),we(Ae,Ue,Ht,"⋈","\\Join"),we(Ae,$t,Ht,"≑","\\Doteq",!0),we(Ae,$t,ls,"∔","\\dotplus",!0),we(Ae,$t,ls,"∖","\\smallsetminus"),we(Ae,$t,ls,"⋒","\\Cap",!0),we(Ae,$t,ls,"⋓","\\Cup",!0),we(Ae,$t,ls,"⩞","\\doublebarwedge",!0),we(Ae,$t,ls,"⊟","\\boxminus",!0),we(Ae,$t,ls,"⊞","\\boxplus",!0),we(Ae,$t,ls,"⋇","\\divideontimes",!0),we(Ae,$t,ls,"⋉","\\ltimes",!0),we(Ae,$t,ls,"⋊","\\rtimes",!0),we(Ae,$t,ls,"⋋","\\leftthreetimes",!0),we(Ae,$t,ls,"⋌","\\rightthreetimes",!0),we(Ae,$t,ls,"⋏","\\curlywedge",!0),we(Ae,$t,ls,"⋎","\\curlyvee",!0),we(Ae,$t,ls,"⊝","\\circleddash",!0),we(Ae,$t,ls,"⊛","\\circledast",!0),we(Ae,$t,ls,"⋅","\\centerdot"),we(Ae,$t,ls,"⊺","\\intercal",!0),we(Ae,$t,ls,"⋒","\\doublecap"),we(Ae,$t,ls,"⋓","\\doublecup"),we(Ae,$t,ls,"⊠","\\boxtimes",!0),we(Ae,$t,Ht,"⇢","\\dashrightarrow",!0),we(Ae,$t,Ht,"⇠","\\dashleftarrow",!0),we(Ae,$t,Ht,"⇇","\\leftleftarrows",!0),we(Ae,$t,Ht,"⇆","\\leftrightarrows",!0),we(Ae,$t,Ht,"⇚","\\Lleftarrow",!0),we(Ae,$t,Ht,"↞","\\twoheadleftarrow",!0),we(Ae,$t,Ht,"↢","\\leftarrowtail",!0),we(Ae,$t,Ht,"↫","\\looparrowleft",!0),we(Ae,$t,Ht,"⇋","\\leftrightharpoons",!0),we(Ae,$t,Ht,"↶","\\curvearrowleft",!0),we(Ae,$t,Ht,"↺","\\circlearrowleft",!0),we(Ae,$t,Ht,"↰","\\Lsh",!0),we(Ae,$t,Ht,"⇈","\\upuparrows",!0),we(Ae,$t,Ht,"↿","\\upharpoonleft",!0),we(Ae,$t,Ht,"⇃","\\downharpoonleft",!0),we(Ae,Ue,Ht,"⊶","\\origof",!0),we(Ae,Ue,Ht,"⊷","\\imageof",!0),we(Ae,$t,Ht,"⊸","\\multimap",!0),we(Ae,$t,Ht,"↭","\\leftrightsquigarrow",!0),we(Ae,$t,Ht,"⇉","\\rightrightarrows",!0),we(Ae,$t,Ht,"⇄","\\rightleftarrows",!0),we(Ae,$t,Ht,"↠","\\twoheadrightarrow",!0),we(Ae,$t,Ht,"↣","\\rightarrowtail",!0),we(Ae,$t,Ht,"↬","\\looparrowright",!0),we(Ae,$t,Ht,"↷","\\curvearrowright",!0),we(Ae,$t,Ht,"↻","\\circlearrowright",!0),we(Ae,$t,Ht,"↱","\\Rsh",!0),we(Ae,$t,Ht,"⇊","\\downdownarrows",!0),we(Ae,$t,Ht,"↾","\\upharpoonright",!0),we(Ae,$t,Ht,"⇂","\\downharpoonright",!0),we(Ae,$t,Ht,"⇝","\\rightsquigarrow",!0),we(Ae,$t,Ht,"⇝","\\leadsto"),we(Ae,$t,Ht,"⇛","\\Rrightarrow",!0),we(Ae,$t,Ht,"↾","\\restriction"),we(Ae,Ue,mn,"‘","`"),we(Ae,Ue,mn,"$","\\$"),we(si,Ue,mn,"$","\\$"),we(si,Ue,mn,"$","\\textdollar"),we(Ae,Ue,mn,"%","\\%"),we(si,Ue,mn,"%","\\%"),we(Ae,Ue,mn,"_","\\_"),we(si,Ue,mn,"_","\\_"),we(si,Ue,mn,"_","\\textunderscore"),we(Ae,Ue,mn,"∠","\\angle",!0),we(Ae,Ue,mn,"∞","\\infty",!0),we(Ae,Ue,mn,"′","\\prime"),we(Ae,Ue,mn,"△","\\triangle"),we(Ae,Ue,mn,"Γ","\\Gamma",!0),we(Ae,Ue,mn,"Δ","\\Delta",!0),we(Ae,Ue,mn,"Θ","\\Theta",!0),we(Ae,Ue,mn,"Λ","\\Lambda",!0),we(Ae,Ue,mn,"Ξ","\\Xi",!0),we(Ae,Ue,mn,"Π","\\Pi",!0),we(Ae,Ue,mn,"Σ","\\Sigma",!0),we(Ae,Ue,mn,"Υ","\\Upsilon",!0),we(Ae,Ue,mn,"Φ","\\Phi",!0),we(Ae,Ue,mn,"Ψ","\\Psi",!0),we(Ae,Ue,mn,"Ω","\\Omega",!0),we(Ae,Ue,mn,"A","Α"),we(Ae,Ue,mn,"B","Β"),we(Ae,Ue,mn,"E","Ε"),we(Ae,Ue,mn,"Z","Ζ"),we(Ae,Ue,mn,"H","Η"),we(Ae,Ue,mn,"I","Ι"),we(Ae,Ue,mn,"K","Κ"),we(Ae,Ue,mn,"M","Μ"),we(Ae,Ue,mn,"N","Ν"),we(Ae,Ue,mn,"O","Ο"),we(Ae,Ue,mn,"P","Ρ"),we(Ae,Ue,mn,"T","Τ"),we(Ae,Ue,mn,"X","Χ"),we(Ae,Ue,mn,"¬","\\neg",!0),we(Ae,Ue,mn,"¬","\\lnot"),we(Ae,Ue,mn,"⊤","\\top"),we(Ae,Ue,mn,"⊥","\\bot"),we(Ae,Ue,mn,"∅","\\emptyset"),we(Ae,$t,mn,"∅","\\varnothing"),we(Ae,Ue,Ca,"α","\\alpha",!0),we(Ae,Ue,Ca,"β","\\beta",!0),we(Ae,Ue,Ca,"γ","\\gamma",!0),we(Ae,Ue,Ca,"δ","\\delta",!0),we(Ae,Ue,Ca,"ϵ","\\epsilon",!0),we(Ae,Ue,Ca,"ζ","\\zeta",!0),we(Ae,Ue,Ca,"η","\\eta",!0),we(Ae,Ue,Ca,"θ","\\theta",!0),we(Ae,Ue,Ca,"ι","\\iota",!0),we(Ae,Ue,Ca,"κ","\\kappa",!0),we(Ae,Ue,Ca,"λ","\\lambda",!0),we(Ae,Ue,Ca,"μ","\\mu",!0),we(Ae,Ue,Ca,"ν","\\nu",!0),we(Ae,Ue,Ca,"ξ","\\xi",!0),we(Ae,Ue,Ca,"ο","\\omicron",!0),we(Ae,Ue,Ca,"π","\\pi",!0),we(Ae,Ue,Ca,"ρ","\\rho",!0),we(Ae,Ue,Ca,"σ","\\sigma",!0),we(Ae,Ue,Ca,"τ","\\tau",!0),we(Ae,Ue,Ca,"υ","\\upsilon",!0),we(Ae,Ue,Ca,"ϕ","\\phi",!0),we(Ae,Ue,Ca,"χ","\\chi",!0),we(Ae,Ue,Ca,"ψ","\\psi",!0),we(Ae,Ue,Ca,"ω","\\omega",!0),we(Ae,Ue,Ca,"ε","\\varepsilon",!0),we(Ae,Ue,Ca,"ϑ","\\vartheta",!0),we(Ae,Ue,Ca,"ϖ","\\varpi",!0),we(Ae,Ue,Ca,"ϱ","\\varrho",!0),we(Ae,Ue,Ca,"ς","\\varsigma",!0),we(Ae,Ue,Ca,"φ","\\varphi",!0),we(Ae,Ue,ls,"∗","*",!0),we(Ae,Ue,ls,"+","+"),we(Ae,Ue,ls,"−","-",!0),we(Ae,Ue,ls,"⋅","\\cdot",!0),we(Ae,Ue,ls,"∘","\\circ",!0),we(Ae,Ue,ls,"÷","\\div",!0),we(Ae,Ue,ls,"±","\\pm",!0),we(Ae,Ue,ls,"×","\\times",!0),we(Ae,Ue,ls,"∩","\\cap",!0),we(Ae,Ue,ls,"∪","\\cup",!0),we(Ae,Ue,ls,"∖","\\setminus",!0),we(Ae,Ue,ls,"∧","\\land"),we(Ae,Ue,ls,"∨","\\lor"),we(Ae,Ue,ls,"∧","\\wedge",!0),we(Ae,Ue,ls,"∨","\\vee",!0),we(Ae,Ue,mn,"√","\\surd"),we(Ae,Ue,hm,"⟨","\\langle",!0),we(Ae,Ue,hm,"∣","\\lvert"),we(Ae,Ue,hm,"∥","\\lVert"),we(Ae,Ue,Dp,"?","?"),we(Ae,Ue,Dp,"!","!"),we(Ae,Ue,Dp,"⟩","\\rangle",!0),we(Ae,Ue,Dp,"∣","\\rvert"),we(Ae,Ue,Dp,"∥","\\rVert"),we(Ae,Ue,Ht,"=","="),we(Ae,Ue,Ht,":",":"),we(Ae,Ue,Ht,"≈","\\approx",!0),we(Ae,Ue,Ht,"≅","\\cong",!0),we(Ae,Ue,Ht,"≥","\\ge"),we(Ae,Ue,Ht,"≥","\\geq",!0),we(Ae,Ue,Ht,"←","\\gets"),we(Ae,Ue,Ht,">","\\gt",!0),we(Ae,Ue,Ht,"∈","\\in",!0),we(Ae,Ue,Ht,"","\\@not"),we(Ae,Ue,Ht,"⊂","\\subset",!0),we(Ae,Ue,Ht,"⊃","\\supset",!0),we(Ae,Ue,Ht,"⊆","\\subseteq",!0),we(Ae,Ue,Ht,"⊇","\\supseteq",!0),we(Ae,$t,Ht,"⊈","\\nsubseteq",!0),we(Ae,$t,Ht,"⊉","\\nsupseteq",!0),we(Ae,Ue,Ht,"⊨","\\models"),we(Ae,Ue,Ht,"←","\\leftarrow",!0),we(Ae,Ue,Ht,"≤","\\le"),we(Ae,Ue,Ht,"≤","\\leq",!0),we(Ae,Ue,Ht,"<","\\lt",!0),we(Ae,Ue,Ht,"→","\\rightarrow",!0),we(Ae,Ue,Ht,"→","\\to"),we(Ae,$t,Ht,"≱","\\ngeq",!0),we(Ae,$t,Ht,"≰","\\nleq",!0),we(Ae,Ue,I7," ","\\ "),we(Ae,Ue,I7," ","\\space"),we(Ae,Ue,I7," ","\\nobreakspace"),we(si,Ue,I7," ","\\ "),we(si,Ue,I7," "," "),we(si,Ue,I7," ","\\space"),we(si,Ue,I7," ","\\nobreakspace"),we(Ae,Ue,I7,null,"\\nobreak"),we(Ae,Ue,I7,null,"\\allowbreak"),we(Ae,Ue,oQ,",",","),we(Ae,Ue,oQ,";",";"),we(Ae,$t,ls,"⊼","\\barwedge",!0),we(Ae,$t,ls,"⊻","\\veebar",!0),we(Ae,Ue,ls,"⊙","\\odot",!0),we(Ae,Ue,ls,"⊕","\\oplus",!0),we(Ae,Ue,ls,"⊗","\\otimes",!0),we(Ae,Ue,mn,"∂","\\partial",!0),we(Ae,Ue,ls,"⊘","\\oslash",!0),we(Ae,$t,ls,"⊚","\\circledcirc",!0),we(Ae,$t,ls,"⊡","\\boxdot",!0),we(Ae,Ue,ls,"△","\\bigtriangleup"),we(Ae,Ue,ls,"▽","\\bigtriangledown"),we(Ae,Ue,ls,"†","\\dagger"),we(Ae,Ue,ls,"⋄","\\diamond"),we(Ae,Ue,ls,"⋆","\\star"),we(Ae,Ue,ls,"◃","\\triangleleft"),we(Ae,Ue,ls,"▹","\\triangleright"),we(Ae,Ue,hm,"{","\\{"),we(si,Ue,mn,"{","\\{"),we(si,Ue,mn,"{","\\textbraceleft"),we(Ae,Ue,Dp,"}","\\}"),we(si,Ue,mn,"}","\\}"),we(si,Ue,mn,"}","\\textbraceright"),we(Ae,Ue,hm,"{","\\lbrace"),we(Ae,Ue,Dp,"}","\\rbrace"),we(Ae,Ue,hm,"[","\\lbrack",!0),we(si,Ue,mn,"[","\\lbrack",!0),we(Ae,Ue,Dp,"]","\\rbrack",!0),we(si,Ue,mn,"]","\\rbrack",!0),we(Ae,Ue,hm,"(","\\lparen",!0),we(Ae,Ue,Dp,")","\\rparen",!0),we(si,Ue,mn,"<","\\textless",!0),we(si,Ue,mn,">","\\textgreater",!0),we(Ae,Ue,hm,"⌊","\\lfloor",!0),we(Ae,Ue,Dp,"⌋","\\rfloor",!0),we(Ae,Ue,hm,"⌈","\\lceil",!0),we(Ae,Ue,Dp,"⌉","\\rceil",!0),we(Ae,Ue,mn,"\\","\\backslash"),we(Ae,Ue,mn,"∣","|"),we(Ae,Ue,mn,"∣","\\vert"),we(si,Ue,mn,"|","\\textbar",!0),we(Ae,Ue,mn,"∥","\\|"),we(Ae,Ue,mn,"∥","\\Vert"),we(si,Ue,mn,"∥","\\textbardbl"),we(si,Ue,mn,"~","\\textasciitilde"),we(si,Ue,mn,"\\","\\textbackslash"),we(si,Ue,mn,"^","\\textasciicircum"),we(Ae,Ue,Ht,"↑","\\uparrow",!0),we(Ae,Ue,Ht,"⇑","\\Uparrow",!0),we(Ae,Ue,Ht,"↓","\\downarrow",!0),we(Ae,Ue,Ht,"⇓","\\Downarrow",!0),we(Ae,Ue,Ht,"↕","\\updownarrow",!0),we(Ae,Ue,Ht,"⇕","\\Updownarrow",!0),we(Ae,Ue,N0,"∐","\\coprod"),we(Ae,Ue,N0,"⋁","\\bigvee"),we(Ae,Ue,N0,"⋀","\\bigwedge"),we(Ae,Ue,N0,"⨄","\\biguplus"),we(Ae,Ue,N0,"⋂","\\bigcap"),we(Ae,Ue,N0,"⋃","\\bigcup"),we(Ae,Ue,N0,"∫","\\int"),we(Ae,Ue,N0,"∫","\\intop"),we(Ae,Ue,N0,"∬","\\iint"),we(Ae,Ue,N0,"∭","\\iiint"),we(Ae,Ue,N0,"∏","\\prod"),we(Ae,Ue,N0,"∑","\\sum"),we(Ae,Ue,N0,"⨂","\\bigotimes"),we(Ae,Ue,N0,"⨁","\\bigoplus"),we(Ae,Ue,N0,"⨀","\\bigodot"),we(Ae,Ue,N0,"∮","\\oint"),we(Ae,Ue,N0,"∯","\\oiint"),we(Ae,Ue,N0,"∰","\\oiiint"),we(Ae,Ue,N0,"⨆","\\bigsqcup"),we(Ae,Ue,N0,"∫","\\smallint"),we(si,Ue,ND,"…","\\textellipsis"),we(Ae,Ue,ND,"…","\\mathellipsis"),we(si,Ue,ND,"…","\\ldots",!0),we(Ae,Ue,ND,"…","\\ldots",!0),we(Ae,Ue,ND,"⋯","\\@cdots",!0),we(Ae,Ue,ND,"⋱","\\ddots",!0),we(Ae,Ue,mn,"⋮","\\varvdots"),we(Ae,Ue,wh,"ˊ","\\acute"),we(Ae,Ue,wh,"ˋ","\\grave"),we(Ae,Ue,wh,"¨","\\ddot"),we(Ae,Ue,wh,"~","\\tilde"),we(Ae,Ue,wh,"ˉ","\\bar"),we(Ae,Ue,wh,"˘","\\breve"),we(Ae,Ue,wh,"ˇ","\\check"),we(Ae,Ue,wh,"^","\\hat"),we(Ae,Ue,wh,"⃗","\\vec"),we(Ae,Ue,wh,"˙","\\dot"),we(Ae,Ue,wh,"˚","\\mathring"),we(Ae,Ue,Ca,"","\\@imath"),we(Ae,Ue,Ca,"","\\@jmath"),we(Ae,Ue,mn,"ı","ı"),we(Ae,Ue,mn,"ȷ","ȷ"),we(si,Ue,mn,"ı","\\i",!0),we(si,Ue,mn,"ȷ","\\j",!0),we(si,Ue,mn,"ß","\\ss",!0),we(si,Ue,mn,"æ","\\ae",!0),we(si,Ue,mn,"œ","\\oe",!0),we(si,Ue,mn,"ø","\\o",!0),we(si,Ue,mn,"Æ","\\AE",!0),we(si,Ue,mn,"Œ","\\OE",!0),we(si,Ue,mn,"Ø","\\O",!0),we(si,Ue,wh,"ˊ","\\'"),we(si,Ue,wh,"ˋ","\\`"),we(si,Ue,wh,"ˆ","\\^"),we(si,Ue,wh,"˜","\\~"),we(si,Ue,wh,"ˉ","\\="),we(si,Ue,wh,"˘","\\u"),we(si,Ue,wh,"˙","\\."),we(si,Ue,wh,"¸","\\c"),we(si,Ue,wh,"˚","\\r"),we(si,Ue,wh,"ˇ","\\v"),we(si,Ue,wh,"¨",'\\"'),we(si,Ue,wh,"˝","\\H"),we(si,Ue,wh,"◯","\\textcircled");var rze={"--":!0,"---":!0,"``":!0,"''":!0};we(si,Ue,mn,"–","--",!0),we(si,Ue,mn,"–","\\textendash"),we(si,Ue,mn,"—","---",!0),we(si,Ue,mn,"—","\\textemdash"),we(si,Ue,mn,"‘","`",!0),we(si,Ue,mn,"‘","\\textquoteleft"),we(si,Ue,mn,"’","'",!0),we(si,Ue,mn,"’","\\textquoteright"),we(si,Ue,mn,"“","``",!0),we(si,Ue,mn,"“","\\textquotedblleft"),we(si,Ue,mn,"”","''",!0),we(si,Ue,mn,"”","\\textquotedblright"),we(Ae,Ue,mn,"°","\\degree",!0),we(si,Ue,mn,"°","\\degree"),we(si,Ue,mn,"°","\\textdegree",!0),we(Ae,Ue,mn,"£","\\pounds"),we(Ae,Ue,mn,"£","\\mathsterling",!0),we(si,Ue,mn,"£","\\pounds"),we(si,Ue,mn,"£","\\textsterling",!0),we(Ae,$t,mn,"✠","\\maltese"),we(si,$t,mn,"✠","\\maltese");for(var ize='0123456789/@."',rbe=0;rbe0)return F3(v,_,p,u,b.concat(A));if(T){var P,R;if(T==="boldsymbol"){var F=mHt(v,p,u,b,d);P=F.fontName,R=[F.fontClass]}else y?(P=hze[T].fontName,R=[T]):(P=dQ(T,u.fontWeight,u.fontShape),R=[T,u.fontWeight,u.fontShape]);if(fQ(v,P,p).metrics)return F3(v,P,p,u,b.concat(R));if(rze.hasOwnProperty(v)&&P.slice(0,10)==="Typewriter"){for(var j=[],K=0;K{if(T9(i.classes)!==T9(s.classes)||i.skew!==s.skew||i.maxFontSize!==s.maxFontSize)return!1;if(i.classes.length===1){var u=i.classes[0];if(u==="mbin"||u==="mord")return!1}for(var d in i.style)if(i.style.hasOwnProperty(d)&&i.style[d]!==s.style[d])return!1;for(var p in s.style)if(s.style.hasOwnProperty(p)&&i.style[p]!==s.style[p])return!1;return!0},yHt=i=>{for(var s=0;su&&(u=b.height),b.depth>d&&(d=b.depth),b.maxFontSize>p&&(p=b.maxFontSize)}s.height=u,s.depth=d,s.maxFontSize=p},R2=function(s,u,d,p){var v=new cR(s,u,d,p);return cbe(v),v},uze=(i,s,u,d)=>new cR(i,s,u,d),xHt=function(s,u,d){var p=R2([s],[],u);return p.height=Math.max(d||u.fontMetrics().defaultRuleThickness,u.minRuleThickness),p.style.borderBottomWidth=Ri(p.height),p.maxFontSize=1,p},kHt=function(s,u,d,p){var v=new tbe(s,u,d,p);return cbe(v),v},lze=function(s){var u=new oR(s);return cbe(u),u},EHt=function(s,u){return s instanceof oR?R2([],[s],u):s},THt=function(s){if(s.positionType==="individualShift"){for(var u=s.children,d=[u[0]],p=-u[0].shift-u[0].elem.depth,v=p,b=1;b{var u=R2(["mspace"],[],s),d=Uh(i,s);return u.style.marginRight=Ri(d),u},dQ=function(s,u,d){var p="";switch(s){case"amsrm":p="AMS";break;case"textrm":p="Main";break;case"textsf":p="SansSerif";break;case"texttt":p="Typewriter";break;default:p=s}var v;return u==="textbf"&&d==="textit"?v="BoldItalic":u==="textbf"?v="Bold":u==="textit"?v="Italic":v="Regular",p+"-"+v},hze={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"},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"}},fze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},_Ht=function(s,u){var[d,p,v]=fze[s],b=new C9(d),y=new D7([b],{width:Ri(p),height:Ri(v),style:"width:"+Ri(p),viewBox:"0 0 "+1e3*p+" "+1e3*v,preserveAspectRatio:"xMinYMin"}),T=uze(["overlay"],[y],u);return T.height=v,T.style.height=Ri(v),T.style.width=Ri(p),T},zn={fontMap:hze,makeSymbol:F3,mathsym:bHt,makeSpan:R2,makeSvgSpan:uze,makeLineSpan:xHt,makeAnchor:kHt,makeFragment:lze,wrapFragment:EHt,makeVList:CHt,makeOrd:vHt,makeGlue:SHt,staticSvg:_Ht,svgData:fze,tryCombineChars:yHt},Gh={number:3,unit:"mu"},$C={number:4,unit:"mu"},O7={number:5,unit:"mu"},AHt={mord:{mop:Gh,mbin:$C,mrel:O7,minner:Gh},mop:{mord:Gh,mop:Gh,mrel:O7,minner:Gh},mbin:{mord:$C,mop:$C,mopen:$C,minner:$C},mrel:{mord:O7,mop:O7,mopen:O7,minner:O7},mopen:{},mclose:{mop:Gh,mbin:$C,mrel:O7,minner:Gh},mpunct:{mord:Gh,mop:Gh,mrel:O7,mopen:Gh,mclose:Gh,mpunct:Gh,minner:Gh},minner:{mord:Gh,mop:Gh,mbin:$C,mrel:O7,mopen:Gh,mpunct:Gh,minner:Gh}},LHt={mord:{mop:Gh},mop:{mord:Gh,mop:Gh},mbin:{},mrel:{},mopen:{},mclose:{mop:Gh},mpunct:{},minner:{mop:Gh}},dze={},gQ={},pQ={};function Ji(i){for(var{type:s,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:s,numArgs:d.numArgs,argTypes:d.argTypes,allowedInArgument:!!d.allowedInArgument,allowedInText:!!d.allowedInText,allowedInMath:d.allowedInMath===void 0?!0:d.allowedInMath,numOptionalArgs:d.numOptionalArgs||0,infix:!!d.infix,primitive:!!d.primitive,handler:p},T=0;T{var ee=K.classes[0],ie=j.classes[0];ee==="mbin"&&Ya.contains(DHt,ie)?K.classes[0]="mord":ie==="mbin"&&Ya.contains(MHt,ee)&&(j.classes[0]="mord")},{node:P},R,F),gze(v,(j,K)=>{var ee=ube(K),ie=ube(j),oe=ee&&ie?j.hasClass("mtight")?LHt[ee][ie]:AHt[ee][ie]:null;if(oe)return zn.makeGlue(oe,_)},{node:P},R,F),v},gze=function i(s,u,d,p,v){p&&s.push(p);for(var b=0;bR=>{s.splice(P+1,0,R),b++})(b)}p&&s.pop()},pze=function(s){return s instanceof oR||s instanceof tbe||s instanceof cR&&s.hasClass("enclosing")?s:null},NHt=function i(s,u){var d=pze(s);if(d){var p=d.children;if(p.length){if(u==="right")return i(p[p.length-1],"right");if(u==="left")return i(p[0],"left")}}return s},ube=function(s,u){return s?(u&&(s=NHt(s,u)),OHt[s.classes[0]]||null):null},uR=function(s,u){var d=["nulldelimiter"].concat(s.baseSizingClasses());return N7(u.concat(d))},uu=function(s,u,d){if(!s)return N7();if(gQ[s.type]){var p=gQ[s.type](s,u);if(d&&u.size!==d.size){p=N7(u.sizingClasses(d),[p],u);var v=u.sizeMultiplier/d.sizeMultiplier;p.height*=v,p.depth*=v}return p}else throw new Ci("Got group of unknown type: '"+s.type+"'")};function mQ(i,s){var u=N7(["base"],i,s),d=N7(["strut"]);return d.style.height=Ri(u.height+u.depth),u.depth&&(d.style.verticalAlign=Ri(-u.depth)),u.children.unshift(d),u}function lbe(i,s){var u=null;i.length===1&&i[0].type==="tag"&&(u=i[0].tag,i=i[0].body);var d=d1(i,s,"root"),p;d.length===2&&d[1].hasClass("tag")&&(p=d.pop());for(var v=[],b=[],y=0;y0&&(v.push(mQ(b,s)),b=[]),v.push(d[y]));b.length>0&&v.push(mQ(b,s));var _;u?(_=mQ(d1(u,s,!0)),_.classes=["tag"],v.push(_)):p&&v.push(p);var A=N7(["katex-html"],v);if(A.setAttribute("aria-hidden","true"),_){var P=_.children[0];P.style.height=Ri(A.height+A.depth),A.depth&&(P.style.verticalAlign=Ri(-A.depth))}return A}function bze(i){return new oR(i)}class Fv{constructor(s,u,d){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=s,this.attributes={},this.children=u||[],this.classes=d||[]}setAttribute(s,u){this.attributes[s]=u}getAttribute(s){return this.attributes[s]}toNode(){var s=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var u in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,u)&&s.setAttribute(u,this.attributes[u]);this.classes.length>0&&(s.className=T9(this.classes));for(var d=0;d0&&(s+=' class ="'+Ya.escape(T9(this.classes))+'"'),s+=">";for(var d=0;d",s}toText(){return this.children.map(s=>s.toText()).join("")}}class lR{constructor(s){this.text=void 0,this.text=s}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ya.escape(this.toText())}toText(){return this.text}}class PHt{constructor(s){this.width=void 0,this.character=void 0,this.width=s,s>=.05555&&s<=.05556?this.character=" ":s>=.1666&&s<=.1667?this.character=" ":s>=.2222&&s<=.2223?this.character=" ":s>=.2777&&s<=.2778?this.character="  ":s>=-.05556&&s<=-.05555?this.character=" ⁣":s>=-.1667&&s<=-.1666?this.character=" ⁣":s>=-.2223&&s<=-.2222?this.character=" ⁣":s>=-.2778&&s<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var s=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return s.setAttribute("width",Ri(this.width)),s}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var vi={MathNode:Fv,TextNode:lR,SpaceNode:PHt,newDocumentFragment:bze},Rv=function(s,u,d){return Ul[u][s]&&Ul[u][s].replace&&s.charCodeAt(0)!==55349&&!(rze.hasOwnProperty(s)&&d&&(d.fontFamily&&d.fontFamily.slice(4,6)==="tt"||d.font&&d.font.slice(4,6)==="tt"))&&(s=Ul[u][s].replace),new vi.TextNode(s)},hbe=function(s){return s.length===1?s[0]:new vi.MathNode("mrow",s)},fbe=function(s,u){if(u.fontFamily==="texttt")return"monospace";if(u.fontFamily==="textsf")return u.fontShape==="textit"&&u.fontWeight==="textbf"?"sans-serif-bold-italic":u.fontShape==="textit"?"sans-serif-italic":u.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(u.fontShape==="textit"&&u.fontWeight==="textbf")return"bold-italic";if(u.fontShape==="textit")return"italic";if(u.fontWeight==="textbf")return"bold";var d=u.font;if(!d||d==="mathnormal")return null;var p=s.mode;if(d==="mathit")return"italic";if(d==="boldsymbol")return s.type==="textord"?"bold":"bold-italic";if(d==="mathbf")return"bold";if(d==="mathbb")return"double-struck";if(d==="mathfrak")return"fraktur";if(d==="mathscr"||d==="mathcal")return"script";if(d==="mathsf")return"sans-serif";if(d==="mathtt")return"monospace";var v=s.text;if(Ya.contains(["\\imath","\\jmath"],v))return null;Ul[p][v]&&Ul[p][v].replace&&(v=Ul[p][v].replace);var b=zn.fontMap[d].fontName;return J2e(v,b,p)?zn.fontMap[d].variant:null},j2=function(s,u,d){if(s.length===1){var p=Ll(s[0],u);return d&&p instanceof Fv&&p.type==="mo"&&(p.setAttribute("lspace","0em"),p.setAttribute("rspace","0em")),[p]}for(var v=[],b,y=0;y0&&(P.text=P.text.slice(0,1)+"̸"+P.text.slice(1),v.pop())}}}v.push(T),b=T}return v},_9=function(s,u,d){return hbe(j2(s,u,d))},Ll=function(s,u){if(!s)return new vi.MathNode("mrow");if(pQ[s.type]){var d=pQ[s.type](s,u);return d}else throw new Ci("Got group of unknown type: '"+s.type+"'")};function mze(i,s,u,d,p){var v=j2(i,u),b;v.length===1&&v[0]instanceof Fv&&Ya.contains(["mrow","mtable"],v[0].type)?b=v[0]:b=new vi.MathNode("mrow",v);var y=new vi.MathNode("annotation",[new vi.TextNode(s)]);y.setAttribute("encoding","application/x-tex");var T=new vi.MathNode("semantics",[b,y]),_=new vi.MathNode("math",[T]);_.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),d&&_.setAttribute("display","block");var A=p?"katex":"katex-mathml";return zn.makeSpan([A],[_])}var vze=function(s){return new M7({style:s.displayMode?Ta.DISPLAY:Ta.TEXT,maxSize:s.maxSize,minRuleThickness:s.minRuleThickness})},wze=function(s,u){if(u.displayMode){var d=["katex-display"];u.leqno&&d.push("leqno"),u.fleqn&&d.push("fleqn"),s=zn.makeSpan(d,[s])}return s},BHt=function(s,u,d){var p=vze(d),v;if(d.output==="mathml")return mze(s,u,p,d.displayMode,!0);if(d.output==="html"){var b=lbe(s,p);v=zn.makeSpan(["katex"],[b])}else{var y=mze(s,u,p,d.displayMode,!1),T=lbe(s,p);v=zn.makeSpan(["katex"],[y,T])}return wze(v,d)},FHt=function(s,u,d){var p=vze(d),v=lbe(s,p),b=zn.makeSpan(["katex"],[v]);return wze(b,d)},RHt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},jHt=function(s){var u=new vi.MathNode("mo",[new vi.TextNode(RHt[s.replace(/^\\/,"")])]);return u.setAttribute("stretchy","true"),u},$Ht={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]},zHt=function(s){return s.type==="ordgroup"?s.body.length:1},qHt=function(s,u){function d(){var y=4e5,T=s.label.slice(1);if(Ya.contains(["widehat","widecheck","widetilde","utilde"],T)){var _=s,A=zHt(_.base),P,R,F;if(A>5)T==="widehat"||T==="widecheck"?(P=420,y=2364,F=.42,R=T+"4"):(P=312,y=2340,F=.34,R="tilde4");else{var j=[1,1,2,2,3,3][A];T==="widehat"||T==="widecheck"?(y=[0,1062,2364,2364,2364][j],P=[0,239,300,360,420][j],F=[0,.24,.3,.3,.36,.42][j],R=T+j):(y=[0,600,1033,2339,2340][j],P=[0,260,286,306,312][j],F=[0,.26,.286,.3,.306,.34][j],R="tilde"+j)}var K=new C9(R),ee=new D7([K],{width:"100%",height:Ri(F),viewBox:"0 0 "+y+" "+P,preserveAspectRatio:"none"});return{span:zn.makeSvgSpan([],[ee],u),minWidth:0,height:F}}else{var ie=[],oe=$Ht[T],[pe,be,ae]=oe,ne=ae/1e3,se=pe.length,de,X;if(se===1){var ge=oe[3];de=["hide-tail"],X=[ge]}else if(se===2)de=["halfarrow-left","halfarrow-right"],X=["xMinYMin","xMaxYMin"];else if(se===3)de=["brace-left","brace-center","brace-right"],X=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+se+" children.");for(var W=0;W0&&(p.style.minWidth=Ri(v)),p},HHt=function(s,u,d,p,v){var b,y=s.height+s.depth+d+p;if(/fbox|color|angl/.test(u)){if(b=zn.makeSpan(["stretchy",u],[],v),u==="fbox"){var T=v.color&&v.getColor();T&&(b.style.borderColor=T)}}else{var _=[];/^[bx]cancel$/.test(u)&&_.push(new nbe({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(u)&&_.push(new nbe({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var A=new D7(_,{width:"100%",height:Ri(y)});b=zn.makeSvgSpan([],[A],v)}return b.height=y,b.style.height=Ri(y),b},P7={encloseSpan:HHt,mathMLnode:jHt,svgSpan:qHt};function Yo(i,s){if(!i||i.type!==s)throw new Error("Expected node of type "+s+", but got "+(i?"node of type "+i.type:String(i)));return i}function dbe(i){var s=vQ(i);if(!s)throw new Error("Expected node of symbol group type, but got "+(i?"node of type "+i.type:String(i)));return s}function vQ(i){return i&&(i.type==="atom"||gHt.hasOwnProperty(i.type))?i:null}var gbe=(i,s)=>{var u,d,p;i&&i.type==="supsub"?(d=Yo(i.base,"accent"),u=d.base,i.base=u,p=fHt(uu(i,s)),i.base=d):(d=Yo(i,"accent"),u=d.base);var v=uu(u,s.havingCrampedStyle()),b=d.isShifty&&Ya.isCharacterBox(u),y=0;if(b){var T=Ya.getBaseElem(u),_=uu(T,s.havingCrampedStyle());y=nze(_).skew}var A=d.label==="\\c",P=A?v.height+v.depth:Math.min(v.height,s.fontMetrics().xHeight),R;if(d.isStretchy)R=P7.svgSpan(d,s),R=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"elem",elem:R,wrapperClasses:["svg-align"],wrapperStyle:y>0?{width:"calc(100% - "+Ri(2*y)+")",marginLeft:Ri(2*y)}:void 0}]},s);else{var F,j;d.label==="\\vec"?(F=zn.staticSvg("vec",s),j=zn.svgData.vec[1]):(F=zn.makeOrd({mode:d.mode,text:d.label},s,"textord"),F=nze(F),F.italic=0,j=F.width,A&&(P+=F.depth)),R=zn.makeSpan(["accent-body"],[F]);var K=d.label==="\\textcircled";K&&(R.classes.push("accent-full"),P=v.height);var ee=y;K||(ee-=j/2),R.style.left=Ri(ee),d.label==="\\textcircled"&&(R.style.top=".2em"),R=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:-P},{type:"elem",elem:R}]},s)}var ie=zn.makeSpan(["mord","accent"],[R],s);return p?(p.children[0]=ie,p.height=Math.max(ie.height,p.height),p.classes[0]="mord",p):ie},yze=(i,s)=>{var u=i.isStretchy?P7.mathMLnode(i.label):new vi.MathNode("mo",[Rv(i.label,i.mode)]),d=new vi.MathNode("mover",[Ll(i.base,s),u]);return d.setAttribute("accent","true"),d},VHt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(i=>"\\"+i).join("|"));Ji({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:(i,s)=>{var u=bQ(s[0]),d=!VHt.test(i.funcName),p=!d||i.funcName==="\\widehat"||i.funcName==="\\widetilde"||i.funcName==="\\widecheck";return{type:"accent",mode:i.parser.mode,label:i.funcName,isStretchy:d,isShifty:p,base:u}},htmlBuilder:gbe,mathmlBuilder:yze}),Ji({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(i,s)=>{var u=s[0],d=i.parser.mode;return d==="math"&&(i.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+i.funcName+" works only in text mode"),d="text"),{type:"accent",mode:d,label:i.funcName,isStretchy:!1,isShifty:!0,base:u}},htmlBuilder:gbe,mathmlBuilder:yze}),Ji({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"accentUnder",mode:u.mode,label:d,base:p}},htmlBuilder:(i,s)=>{var u=uu(i.base,s),d=P7.svgSpan(i,s),p=i.label==="\\utilde"?.12:0,v=zn.makeVList({positionType:"top",positionData:u.height,children:[{type:"elem",elem:d,wrapperClasses:["svg-align"]},{type:"kern",size:p},{type:"elem",elem:u}]},s);return zn.makeSpan(["mord","accentunder"],[v],s)},mathmlBuilder:(i,s)=>{var u=P7.mathMLnode(i.label),d=new vi.MathNode("munder",[Ll(i.base,s),u]);return d.setAttribute("accentunder","true"),d}});var wQ=i=>{var s=new vi.MathNode("mpadded",i?[i]:[]);return s.setAttribute("width","+0.6em"),s.setAttribute("lspace","0.3em"),s};Ji({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(i,s,u){var{parser:d,funcName:p}=i;return{type:"xArrow",mode:d.mode,label:p,body:s[0],below:u[0]}},htmlBuilder(i,s){var u=s.style,d=s.havingStyle(u.sup()),p=zn.wrapFragment(uu(i.body,d,s),s),v=i.label.slice(0,2)==="\\x"?"x":"cd";p.classes.push(v+"-arrow-pad");var b;i.below&&(d=s.havingStyle(u.sub()),b=zn.wrapFragment(uu(i.below,d,s),s),b.classes.push(v+"-arrow-pad"));var y=P7.svgSpan(i,s),T=-s.fontMetrics().axisHeight+.5*y.height,_=-s.fontMetrics().axisHeight-.5*y.height-.111;(p.depth>.25||i.label==="\\xleftequilibrium")&&(_-=p.depth);var A;if(b){var P=-s.fontMetrics().axisHeight+b.height+.5*y.height+.111;A=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:T},{type:"elem",elem:b,shift:P}]},s)}else A=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:T}]},s);return A.children[0].children[0].children[1].classes.push("svg-align"),zn.makeSpan(["mrel","x-arrow"],[A],s)},mathmlBuilder(i,s){var u=P7.mathMLnode(i.label);u.setAttribute("minsize",i.label.charAt(0)==="x"?"1.75em":"3.0em");var d;if(i.body){var p=wQ(Ll(i.body,s));if(i.below){var v=wQ(Ll(i.below,s));d=new vi.MathNode("munderover",[u,v,p])}else d=new vi.MathNode("mover",[u,p])}else if(i.below){var b=wQ(Ll(i.below,s));d=new vi.MathNode("munder",[u,b])}else d=wQ(),d=new vi.MathNode("mover",[u,d]);return d}});var UHt=zn.makeSpan;function xze(i,s){var u=d1(i.body,s,!0);return UHt([i.mclass],u,s)}function kze(i,s){var u,d=j2(i.body,s);return i.mclass==="minner"?u=new vi.MathNode("mpadded",d):i.mclass==="mord"?i.isCharacterBox?(u=d[0],u.type="mi"):u=new vi.MathNode("mi",d):(i.isCharacterBox?(u=d[0],u.type="mo"):u=new vi.MathNode("mo",d),i.mclass==="mbin"?(u.attributes.lspace="0.22em",u.attributes.rspace="0.22em"):i.mclass==="mpunct"?(u.attributes.lspace="0em",u.attributes.rspace="0.17em"):i.mclass==="mopen"||i.mclass==="mclose"?(u.attributes.lspace="0em",u.attributes.rspace="0em"):i.mclass==="minner"&&(u.attributes.lspace="0.0556em",u.attributes.width="+0.1111em")),u}Ji({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"mclass",mode:u.mode,mclass:"m"+d.slice(5),body:Xf(p),isCharacterBox:Ya.isCharacterBox(p)}},htmlBuilder:xze,mathmlBuilder:kze});var yQ=i=>{var s=i.type==="ordgroup"&&i.body.length?i.body[0]:i;return s.type==="atom"&&(s.family==="bin"||s.family==="rel")?"m"+s.family:"mord"};Ji({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(i,s){var{parser:u}=i;return{type:"mclass",mode:u.mode,mclass:yQ(s[0]),body:Xf(s[1]),isCharacterBox:Ya.isCharacterBox(s[1])}}}),Ji({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(i,s){var{parser:u,funcName:d}=i,p=s[1],v=s[0],b;d!=="\\stackrel"?b=yQ(p):b="mrel";var y={type:"op",mode:p.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:d!=="\\stackrel",body:Xf(p)},T={type:"supsub",mode:v.mode,base:y,sup:d==="\\underset"?null:v,sub:d==="\\underset"?v:null};return{type:"mclass",mode:u.mode,mclass:b,body:[T],isCharacterBox:Ya.isCharacterBox(T)}},htmlBuilder:xze,mathmlBuilder:kze}),Ji({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"pmb",mode:u.mode,mclass:yQ(s[0]),body:Xf(s[0])}},htmlBuilder(i,s){var u=d1(i.body,s,!0),d=zn.makeSpan([i.mclass],u,s);return d.style.textShadow="0.02em 0.01em 0.04px",d},mathmlBuilder(i,s){var u=j2(i.body,s),d=new vi.MathNode("mstyle",u);return d.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),d}});var GHt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Eze=()=>({type:"styling",body:[],mode:"math",style:"display"}),Tze=i=>i.type==="textord"&&i.text==="@",KHt=(i,s)=>(i.type==="mathord"||i.type==="atom")&&i.text===s;function WHt(i,s,u){var d=GHt[i];switch(d){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return u.callFunction(d,[s[0]],[s[1]]);case"\\uparrow":case"\\downarrow":{var p=u.callFunction("\\\\cdleft",[s[0]],[]),v={type:"atom",text:d,mode:"math",family:"rel"},b=u.callFunction("\\Big",[v],[]),y=u.callFunction("\\\\cdright",[s[1]],[]),T={type:"ordgroup",mode:"math",body:[p,b,y]};return u.callFunction("\\\\cdparent",[T],[])}case"\\\\cdlongequal":return u.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var _={type:"textord",text:"\\Vert",mode:"math"};return u.callFunction("\\Big",[_],[])}default:return{type:"textord",text:" ",mode:"math"}}}function YHt(i){var s=[];for(i.gullet.beginGroup(),i.gullet.macros.set("\\cr","\\\\\\relax"),i.gullet.beginGroup();;){s.push(i.parseExpression(!1,"\\\\")),i.gullet.endGroup(),i.gullet.beginGroup();var u=i.fetch().text;if(u==="&"||u==="\\\\")i.consume();else if(u==="\\end"){s[s.length-1].length===0&&s.pop();break}else throw new Ci("Expected \\\\ or \\cr or \\end",i.nextToken)}for(var d=[],p=[d],v=0;v-1))if("<>AV".indexOf(_)>-1)for(var P=0;P<2;P++){for(var R=!0,F=T+1;FAV=|." after @',b[T]);var j=WHt(_,A,i),K={type:"styling",body:[j],mode:"math",style:"display"};d.push(K),y=Eze()}v%2===0?d.push(y):d.shift(),d=[],p.push(d)}i.gullet.endGroup(),i.gullet.endGroup();var ee=new Array(p[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:p,arraystretch:1,addJot:!0,rowGaps:[null],cols:ee,colSeparationType:"CD",hLinesBeforeRow:new Array(p.length+1).fill([])}}Ji({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i;return{type:"cdlabel",mode:u.mode,side:d.slice(4),label:s[0]}},htmlBuilder(i,s){var u=s.havingStyle(s.style.sup()),d=zn.wrapFragment(uu(i.label,u,s),s);return d.classes.push("cd-label-"+i.side),d.style.bottom=Ri(.8-d.depth),d.height=0,d.depth=0,d},mathmlBuilder(i,s){var u=new vi.MathNode("mrow",[Ll(i.label,s)]);return u=new vi.MathNode("mpadded",[u]),u.setAttribute("width","0"),i.side==="left"&&u.setAttribute("lspace","-1width"),u.setAttribute("voffset","0.7em"),u=new vi.MathNode("mstyle",[u]),u.setAttribute("displaystyle","false"),u.setAttribute("scriptlevel","1"),u}}),Ji({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(i,s){var{parser:u}=i;return{type:"cdlabelparent",mode:u.mode,fragment:s[0]}},htmlBuilder(i,s){var u=zn.wrapFragment(uu(i.fragment,s),s);return u.classes.push("cd-vert-arrow"),u},mathmlBuilder(i,s){return new vi.MathNode("mrow",[Ll(i.fragment,s)])}}),Ji({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(i,s){for(var{parser:u}=i,d=Yo(s[0],"ordgroup"),p=d.body,v="",b=0;b=1114111)throw new Ci("\\@char with invalid code point "+v);return T<=65535?_=String.fromCharCode(T):(T-=65536,_=String.fromCharCode((T>>10)+55296,(T&1023)+56320)),{type:"textord",mode:u.mode,text:_}}});var Cze=(i,s)=>{var u=d1(i.body,s.withColor(i.color),!1);return zn.makeFragment(u)},Sze=(i,s)=>{var u=j2(i.body,s.withColor(i.color)),d=new vi.MathNode("mstyle",u);return d.setAttribute("mathcolor",i.color),d};Ji({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(i,s){var{parser:u}=i,d=Yo(s[0],"color-token").color,p=s[1];return{type:"color",mode:u.mode,color:d,body:Xf(p)}},htmlBuilder:Cze,mathmlBuilder:Sze}),Ji({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(i,s){var{parser:u,breakOnTokenText:d}=i,p=Yo(s[0],"color-token").color;u.gullet.macros.set("\\current@color",p);var v=u.parseExpression(!0,d);return{type:"color",mode:u.mode,color:p,body:v}},htmlBuilder:Cze,mathmlBuilder:Sze}),Ji({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(i,s,u){var{parser:d}=i,p=d.gullet.future().text==="["?d.parseSizeGroup(!0):null,v=!d.settings.displayMode||!d.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:d.mode,newLine:v,size:p&&Yo(p,"size").value}},htmlBuilder(i,s){var u=zn.makeSpan(["mspace"],[],s);return i.newLine&&(u.classes.push("newline"),i.size&&(u.style.marginTop=Ri(Uh(i.size,s)))),u},mathmlBuilder(i,s){var u=new vi.MathNode("mspace");return i.newLine&&(u.setAttribute("linebreak","newline"),i.size&&u.setAttribute("height",Ri(Uh(i.size,s)))),u}});var pbe={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},_ze=i=>{var s=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new Ci("Expected a control sequence",i);return s},XHt=i=>{var s=i.gullet.popToken();return s.text==="="&&(s=i.gullet.popToken(),s.text===" "&&(s=i.gullet.popToken())),s},Aze=(i,s,u,d)=>{var p=i.gullet.macros.get(u.text);p==null&&(u.noexpand=!0,p={tokens:[u],numArgs:0,unexpandable:!i.gullet.isExpandable(u.text)}),i.gullet.macros.set(s,p,d)};Ji({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:s,funcName:u}=i;s.consumeSpaces();var d=s.fetch();if(pbe[d.text])return(u==="\\global"||u==="\\\\globallong")&&(d.text=pbe[d.text]),Yo(s.parseFunction(),"internal");throw new Ci("Invalid token after macro prefix",d)}}),Ji({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=s.gullet.popToken(),p=d.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(p))throw new Ci("Expected a control sequence",d);for(var v=0,b,y=[[]];s.gullet.future().text!=="{";)if(d=s.gullet.popToken(),d.text==="#"){if(s.gullet.future().text==="{"){b=s.gullet.future(),y[v].push("{");break}if(d=s.gullet.popToken(),!/^[1-9]$/.test(d.text))throw new Ci('Invalid argument number "'+d.text+'"');if(parseInt(d.text)!==v+1)throw new Ci('Argument number "'+d.text+'" out of order');v++,y.push([])}else{if(d.text==="EOF")throw new Ci("Expected a macro definition");y[v].push(d.text)}var{tokens:T}=s.gullet.consumeArg();return b&&T.unshift(b),(u==="\\edef"||u==="\\xdef")&&(T=s.gullet.expandTokens(T),T.reverse()),s.gullet.macros.set(p,{tokens:T,numArgs:v,delimiters:y},u===pbe[u]),{type:"internal",mode:s.mode}}}),Ji({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=_ze(s.gullet.popToken());s.gullet.consumeSpaces();var p=XHt(s);return Aze(s,d,p,u==="\\\\globallet"),{type:"internal",mode:s.mode}}}),Ji({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=_ze(s.gullet.popToken()),p=s.gullet.popToken(),v=s.gullet.popToken();return Aze(s,d,v,u==="\\\\globalfuture"),s.gullet.pushToken(v),s.gullet.pushToken(p),{type:"internal",mode:s.mode}}});var hR=function(s,u,d){var p=Ul.math[s]&&Ul.math[s].replace,v=J2e(p||s,u,d);if(!v)throw new Error("Unsupported symbol "+s+" and font size "+u+".");return v},bbe=function(s,u,d,p){var v=d.havingBaseStyle(u),b=zn.makeSpan(p.concat(v.sizingClasses(d)),[s],d),y=v.sizeMultiplier/d.sizeMultiplier;return b.height*=y,b.depth*=y,b.maxFontSize=v.sizeMultiplier,b},Lze=function(s,u,d){var p=u.havingBaseStyle(d),v=(1-u.sizeMultiplier/p.sizeMultiplier)*u.fontMetrics().axisHeight;s.classes.push("delimcenter"),s.style.top=Ri(v),s.height-=v,s.depth+=v},QHt=function(s,u,d,p,v,b){var y=zn.makeSymbol(s,"Main-Regular",v,p),T=bbe(y,u,p,b);return d&&Lze(T,p,u),T},JHt=function(s,u,d,p){return zn.makeSymbol(s,"Size"+u+"-Regular",d,p)},Mze=function(s,u,d,p,v,b){var y=JHt(s,u,v,p),T=bbe(zn.makeSpan(["delimsizing","size"+u],[y],p),Ta.TEXT,p,b);return d&&Lze(T,p,Ta.TEXT),T},mbe=function(s,u,d){var p;u==="Size1-Regular"?p="delim-size1":p="delim-size4";var v=zn.makeSpan(["delimsizinginner",p],[zn.makeSpan([],[zn.makeSymbol(s,u,d)])]);return{type:"elem",elem:v}},vbe=function(s,u,d){var p=K4["Size4-Regular"][s.charCodeAt(0)]?K4["Size4-Regular"][s.charCodeAt(0)][4]:K4["Size1-Regular"][s.charCodeAt(0)][4],v=new C9("inner",iHt(s,Math.round(1e3*u))),b=new D7([v],{width:Ri(p),height:Ri(u),style:"width:"+Ri(p),viewBox:"0 0 "+1e3*p+" "+Math.round(1e3*u),preserveAspectRatio:"xMinYMin"}),y=zn.makeSvgSpan([],[b],d);return y.height=u,y.style.height=Ri(u),y.style.width=Ri(p),{type:"elem",elem:y}},wbe=.008,xQ={type:"kern",size:-1*wbe},ZHt=["|","\\lvert","\\rvert","\\vert"],eVt=["\\|","\\lVert","\\rVert","\\Vert"],Dze=function(s,u,d,p,v,b){var y,T,_,A,P="",R=0;y=_=A=s,T=null;var F="Size1-Regular";s==="\\uparrow"?_=A="⏐":s==="\\Uparrow"?_=A="‖":s==="\\downarrow"?y=_="⏐":s==="\\Downarrow"?y=_="‖":s==="\\updownarrow"?(y="\\uparrow",_="⏐",A="\\downarrow"):s==="\\Updownarrow"?(y="\\Uparrow",_="‖",A="\\Downarrow"):Ya.contains(ZHt,s)?(_="∣",P="vert",R=333):Ya.contains(eVt,s)?(_="∥",P="doublevert",R=556):s==="["||s==="\\lbrack"?(y="⎡",_="⎢",A="⎣",F="Size4-Regular",P="lbrack",R=667):s==="]"||s==="\\rbrack"?(y="⎤",_="⎥",A="⎦",F="Size4-Regular",P="rbrack",R=667):s==="\\lfloor"||s==="⌊"?(_=y="⎢",A="⎣",F="Size4-Regular",P="lfloor",R=667):s==="\\lceil"||s==="⌈"?(y="⎡",_=A="⎢",F="Size4-Regular",P="lceil",R=667):s==="\\rfloor"||s==="⌋"?(_=y="⎥",A="⎦",F="Size4-Regular",P="rfloor",R=667):s==="\\rceil"||s==="⌉"?(y="⎤",_=A="⎥",F="Size4-Regular",P="rceil",R=667):s==="("||s==="\\lparen"?(y="⎛",_="⎜",A="⎝",F="Size4-Regular",P="lparen",R=875):s===")"||s==="\\rparen"?(y="⎞",_="⎟",A="⎠",F="Size4-Regular",P="rparen",R=875):s==="\\{"||s==="\\lbrace"?(y="⎧",T="⎨",A="⎩",_="⎪",F="Size4-Regular"):s==="\\}"||s==="\\rbrace"?(y="⎫",T="⎬",A="⎭",_="⎪",F="Size4-Regular"):s==="\\lgroup"||s==="⟮"?(y="⎧",A="⎩",_="⎪",F="Size4-Regular"):s==="\\rgroup"||s==="⟯"?(y="⎫",A="⎭",_="⎪",F="Size4-Regular"):s==="\\lmoustache"||s==="⎰"?(y="⎧",A="⎭",_="⎪",F="Size4-Regular"):(s==="\\rmoustache"||s==="⎱")&&(y="⎫",A="⎩",_="⎪",F="Size4-Regular");var j=hR(y,F,v),K=j.height+j.depth,ee=hR(_,F,v),ie=ee.height+ee.depth,oe=hR(A,F,v),pe=oe.height+oe.depth,be=0,ae=1;if(T!==null){var ne=hR(T,F,v);be=ne.height+ne.depth,ae=2}var se=K+pe+be,de=Math.max(0,Math.ceil((u-se)/(ae*ie))),X=se+de*ae*ie,ge=p.fontMetrics().axisHeight;d&&(ge*=p.sizeMultiplier);var W=X/2-ge,xe=[];if(P.length>0){var U=X-K-pe,Fe=Math.round(X*1e3),Pe=sHt(P,Math.round(U*1e3)),je=new C9(P,Pe),Ie=(R/1e3).toFixed(3)+"em",Se=(Fe/1e3).toFixed(3)+"em",Ce=new D7([je],{width:Ie,height:Se,viewBox:"0 0 "+R+" "+Fe}),ke=zn.makeSvgSpan([],[Ce],p);ke.height=Fe/1e3,ke.style.width=Ie,ke.style.height=Se,xe.push({type:"elem",elem:ke})}else{if(xe.push(mbe(A,F,v)),xe.push(xQ),T===null){var Ke=X-K-pe+2*wbe;xe.push(vbe(_,Ke,p))}else{var Ft=(X-K-pe-be)/2+2*wbe;xe.push(vbe(_,Ft,p)),xe.push(xQ),xe.push(mbe(T,F,v)),xe.push(xQ),xe.push(vbe(_,Ft,p))}xe.push(xQ),xe.push(mbe(y,F,v))}var Ne=p.havingBaseStyle(Ta.TEXT),gn=zn.makeVList({positionType:"bottom",positionData:W,children:xe},Ne);return bbe(zn.makeSpan(["delimsizing","mult"],[gn],Ne),Ta.TEXT,p,b)},ybe=80,xbe=.08,kbe=function(s,u,d,p,v){var b=rHt(s,p,d),y=new C9(s,b),T=new D7([y],{width:"400em",height:Ri(u),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});return zn.makeSvgSpan(["hide-tail"],[T],v)},tVt=function(s,u){var d=u.havingBaseSizing(),p=Pze("\\surd",s*d.sizeMultiplier,Nze,d),v=d.sizeMultiplier,b=Math.max(0,u.minRuleThickness-u.fontMetrics().sqrtRuleThickness),y,T=0,_=0,A=0,P;return p.type==="small"?(A=1e3+1e3*b+ybe,s<1?v=1:s<1.4&&(v=.7),T=(1+b+xbe)/v,_=(1+b)/v,y=kbe("sqrtMain",T,A,b,u),y.style.minWidth="0.853em",P=.833/v):p.type==="large"?(A=(1e3+ybe)*fR[p.size],_=(fR[p.size]+b)/v,T=(fR[p.size]+b+xbe)/v,y=kbe("sqrtSize"+p.size,T,A,b,u),y.style.minWidth="1.02em",P=1/v):(T=s+b+xbe,_=s+b,A=Math.floor(1e3*s+b)+ybe,y=kbe("sqrtTall",T,A,b,u),y.style.minWidth="0.742em",P=1.056),y.height=_,y.style.height=Ri(T),{span:y,advanceWidth:P,ruleWidth:(u.fontMetrics().sqrtRuleThickness+b)*v}},Ize=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],nVt=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Oze=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],fR=[0,1.2,1.8,2.4,3],rVt=function(s,u,d,p,v){if(s==="<"||s==="\\lt"||s==="⟨"?s="\\langle":(s===">"||s==="\\gt"||s==="⟩")&&(s="\\rangle"),Ya.contains(Ize,s)||Ya.contains(Oze,s))return Mze(s,u,!1,d,p,v);if(Ya.contains(nVt,s))return Dze(s,fR[u],!1,d,p,v);throw new Ci("Illegal delimiter: '"+s+"'")},iVt=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],sVt=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"stack"}],Nze=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],aVt=function(s){if(s.type==="small")return"Main-Regular";if(s.type==="large")return"Size"+s.size+"-Regular";if(s.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+s.type+"' here.")},Pze=function(s,u,d,p){for(var v=Math.min(2,3-p.style.size),b=v;bu)return d[b]}return d[d.length-1]},Bze=function(s,u,d,p,v,b){s==="<"||s==="\\lt"||s==="⟨"?s="\\langle":(s===">"||s==="\\gt"||s==="⟩")&&(s="\\rangle");var y;Ya.contains(Oze,s)?y=iVt:Ya.contains(Ize,s)?y=Nze:y=sVt;var T=Pze(s,u,y,p);return T.type==="small"?QHt(s,T.style,d,p,v,b):T.type==="large"?Mze(s,T.size,d,p,v,b):Dze(s,u,d,p,v,b)},oVt=function(s,u,d,p,v,b){var y=p.fontMetrics().axisHeight*p.sizeMultiplier,T=901,_=5/p.fontMetrics().ptPerEm,A=Math.max(u-y,d+y),P=Math.max(A/500*T,2*A-_);return Bze(s,P,!0,p,v,b)},B7={sqrtImage:tVt,sizedDelim:rVt,sizeToMaxHeight:fR,customSizedDelim:Bze,leftRightDelim:oVt},Fze={"\\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}},cVt=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function kQ(i,s){var u=vQ(i);if(u&&Ya.contains(cVt,u.text))return u;throw u?new Ci("Invalid delimiter '"+u.text+"' after '"+s.funcName+"'",i):new Ci("Invalid delimiter type '"+i.type+"'",i)}Ji({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:(i,s)=>{var u=kQ(s[0],i);return{type:"delimsizing",mode:i.parser.mode,size:Fze[i.funcName].size,mclass:Fze[i.funcName].mclass,delim:u.text}},htmlBuilder:(i,s)=>i.delim==="."?zn.makeSpan([i.mclass]):B7.sizedDelim(i.delim,i.size,s,i.mode,[i.mclass]),mathmlBuilder:i=>{var s=[];i.delim!=="."&&s.push(Rv(i.delim,i.mode));var u=new vi.MathNode("mo",s);i.mclass==="mopen"||i.mclass==="mclose"?u.setAttribute("fence","true"):u.setAttribute("fence","false"),u.setAttribute("stretchy","true");var d=Ri(B7.sizeToMaxHeight[i.size]);return u.setAttribute("minsize",d),u.setAttribute("maxsize",d),u}});function Rze(i){if(!i.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Ji({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=i.parser.gullet.macros.get("\\current@color");if(u&&typeof u!="string")throw new Ci("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:i.parser.mode,delim:kQ(s[0],i).text,color:u}}}),Ji({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=kQ(s[0],i),d=i.parser;++d.leftrightDepth;var p=d.parseExpression(!1);--d.leftrightDepth,d.expect("\\right",!1);var v=Yo(d.parseFunction(),"leftright-right");return{type:"leftright",mode:d.mode,body:p,left:u.text,right:v.delim,rightColor:v.color}},htmlBuilder:(i,s)=>{Rze(i);for(var u=d1(i.body,s,!0,["mopen","mclose"]),d=0,p=0,v=!1,b=0;b{Rze(i);var u=j2(i.body,s);if(i.left!=="."){var d=new vi.MathNode("mo",[Rv(i.left,i.mode)]);d.setAttribute("fence","true"),u.unshift(d)}if(i.right!=="."){var p=new vi.MathNode("mo",[Rv(i.right,i.mode)]);p.setAttribute("fence","true"),i.rightColor&&p.setAttribute("mathcolor",i.rightColor),u.push(p)}return hbe(u)}}),Ji({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=kQ(s[0],i);if(!i.parser.leftrightDepth)throw new Ci("\\middle without preceding \\left",u);return{type:"middle",mode:i.parser.mode,delim:u.text}},htmlBuilder:(i,s)=>{var u;if(i.delim===".")u=uR(s,[]);else{u=B7.sizedDelim(i.delim,1,s,i.mode,[]);var d={delim:i.delim,options:s};u.isMiddle=d}return u},mathmlBuilder:(i,s)=>{var u=i.delim==="\\vert"||i.delim==="|"?Rv("|","text"):Rv(i.delim,i.mode),d=new vi.MathNode("mo",[u]);return d.setAttribute("fence","true"),d.setAttribute("lspace","0.05em"),d.setAttribute("rspace","0.05em"),d}});var Ebe=(i,s)=>{var u=zn.wrapFragment(uu(i.body,s),s),d=i.label.slice(1),p=s.sizeMultiplier,v,b=0,y=Ya.isCharacterBox(i.body);if(d==="sout")v=zn.makeSpan(["stretchy","sout"]),v.height=s.fontMetrics().defaultRuleThickness/p,b=-.5*s.fontMetrics().xHeight;else if(d==="phase"){var T=Uh({number:.6,unit:"pt"},s),_=Uh({number:.35,unit:"ex"},s),A=s.havingBaseSizing();p=p/A.sizeMultiplier;var P=u.height+u.depth+T+_;u.style.paddingLeft=Ri(P/2+T);var R=Math.floor(1e3*P*p),F=tHt(R),j=new D7([new C9("phase",F)],{width:"400em",height:Ri(R/1e3),viewBox:"0 0 400000 "+R,preserveAspectRatio:"xMinYMin slice"});v=zn.makeSvgSpan(["hide-tail"],[j],s),v.style.height=Ri(P),b=u.depth+T+_}else{/cancel/.test(d)?y||u.classes.push("cancel-pad"):d==="angl"?u.classes.push("anglpad"):u.classes.push("boxpad");var K=0,ee=0,ie=0;/box/.test(d)?(ie=Math.max(s.fontMetrics().fboxrule,s.minRuleThickness),K=s.fontMetrics().fboxsep+(d==="colorbox"?0:ie),ee=K):d==="angl"?(ie=Math.max(s.fontMetrics().defaultRuleThickness,s.minRuleThickness),K=4*ie,ee=Math.max(0,.25-u.depth)):(K=y?.2:0,ee=K),v=P7.encloseSpan(u,d,K,ee,s),/fbox|boxed|fcolorbox/.test(d)?(v.style.borderStyle="solid",v.style.borderWidth=Ri(ie)):d==="angl"&&ie!==.049&&(v.style.borderTopWidth=Ri(ie),v.style.borderRightWidth=Ri(ie)),b=u.depth+ee,i.backgroundColor&&(v.style.backgroundColor=i.backgroundColor,i.borderColor&&(v.style.borderColor=i.borderColor))}var oe;if(i.backgroundColor)oe=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:v,shift:b},{type:"elem",elem:u,shift:0}]},s);else{var pe=/cancel|phase/.test(d)?["svg-align"]:[];oe=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:v,shift:b,wrapperClasses:pe}]},s)}return/cancel/.test(d)&&(oe.height=u.height,oe.depth=u.depth),/cancel/.test(d)&&!y?zn.makeSpan(["mord","cancel-lap"],[oe],s):zn.makeSpan(["mord"],[oe],s)},Tbe=(i,s)=>{var u=0,d=new vi.MathNode(i.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Ll(i.body,s)]);switch(i.label){case"\\cancel":d.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":d.setAttribute("notation","downdiagonalstrike");break;case"\\phase":d.setAttribute("notation","phasorangle");break;case"\\sout":d.setAttribute("notation","horizontalstrike");break;case"\\fbox":d.setAttribute("notation","box");break;case"\\angl":d.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(u=s.fontMetrics().fboxsep*s.fontMetrics().ptPerEm,d.setAttribute("width","+"+2*u+"pt"),d.setAttribute("height","+"+2*u+"pt"),d.setAttribute("lspace",u+"pt"),d.setAttribute("voffset",u+"pt"),i.label==="\\fcolorbox"){var p=Math.max(s.fontMetrics().fboxrule,s.minRuleThickness);d.setAttribute("style","border: "+p+"em solid "+String(i.borderColor))}break;case"\\xcancel":d.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return i.backgroundColor&&d.setAttribute("mathbackground",i.backgroundColor),d};Ji({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(i,s,u){var{parser:d,funcName:p}=i,v=Yo(s[0],"color-token").color,b=s[1];return{type:"enclose",mode:d.mode,label:p,backgroundColor:v,body:b}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(i,s,u){var{parser:d,funcName:p}=i,v=Yo(s[0],"color-token").color,b=Yo(s[1],"color-token").color,y=s[2];return{type:"enclose",mode:d.mode,label:p,backgroundColor:b,borderColor:v,body:y}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\fbox",body:s[0]}}}),Ji({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"enclose",mode:u.mode,label:d,body:p}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(i,s){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\angl",body:s[0]}}});var jze={};function W4(i){for(var{type:s,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:s,numArgs:d.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:p},T=0;T{var s=i.parser.settings;if(!s.displayMode)throw new Ci("{"+i.envName+"} can be used only in display mode.")};function Cbe(i){if(i.indexOf("ed")===-1)return i.indexOf("*")===-1}function A9(i,s,u){var{hskipBeforeAndAfter:d,addJot:p,cols:v,arraystretch:b,colSeparationType:y,autoTag:T,singleRow:_,emptySingleRow:A,maxNumCols:P,leqno:R}=s;if(i.gullet.beginGroup(),_||i.gullet.macros.set("\\cr","\\\\\\relax"),!b){var F=i.gullet.expandMacroAsText("\\arraystretch");if(F==null)b=1;else if(b=parseFloat(F),!b||b<0)throw new Ci("Invalid \\arraystretch: "+F)}i.gullet.beginGroup();var j=[],K=[j],ee=[],ie=[],oe=T!=null?[]:void 0;function pe(){T&&i.gullet.macros.set("\\@eqnsw","1",!0)}function be(){oe&&(i.gullet.macros.get("\\df@tag")?(oe.push(i.subparse([new U4("\\df@tag")])),i.gullet.macros.set("\\df@tag",void 0,!0)):oe.push(!!T&&i.gullet.macros.get("\\@eqnsw")==="1"))}for(pe(),ie.push(zze(i));;){var ae=i.parseExpression(!1,_?"\\end":"\\\\");i.gullet.endGroup(),i.gullet.beginGroup(),ae={type:"ordgroup",mode:i.mode,body:ae},u&&(ae={type:"styling",mode:i.mode,style:u,body:[ae]}),j.push(ae);var ne=i.fetch().text;if(ne==="&"){if(P&&j.length===P){if(_||y)throw new Ci("Too many tab characters: &",i.nextToken);i.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}i.consume()}else if(ne==="\\end"){be(),j.length===1&&ae.type==="styling"&&ae.body[0].body.length===0&&(K.length>1||!A)&&K.pop(),ie.length0&&(pe+=.25),_.push({pos:pe,isDashed:ji[xi]})}for(be(b[0]),d=0;d0&&(W+=oe,seji))for(d=0;d=y)){var Gt=void 0;(p>0||s.hskipBeforeAndAfter)&&(Gt=Ya.deflt(Ft.pregap,R),Gt!==0&&(Pe=zn.makeSpan(["arraycolsep"],[]),Pe.style.width=Ri(Gt),Fe.push(Pe)));var ln=[];for(d=0;d0){for(var Dt=zn.makeLineSpan("hline",u,A),kt=zn.makeLineSpan("hdashline",u,A),On=[{type:"elem",elem:T,shift:0}];_.length>0;){var ht=_.pop(),zr=ht.pos-xe;ht.isDashed?On.push({type:"elem",elem:kt,shift:zr}):On.push({type:"elem",elem:Dt,shift:zr})}T=zn.makeVList({positionType:"individualShift",children:On},u)}if(Ie.length===0)return zn.makeSpan(["mord"],[T],u);var yt=zn.makeVList({positionType:"individualShift",children:Ie},u);return yt=zn.makeSpan(["tag"],[yt],u),zn.makeFragment([T,yt])},uVt={c:"center ",l:"left ",r:"right "},X4=function(s,u){for(var d=[],p=new vi.MathNode("mtd",[],["mtr-glue"]),v=new vi.MathNode("mtd",[],["mml-eqn-num"]),b=0;b0){var j=s.cols,K="",ee=!1,ie=0,oe=j.length;j[0].type==="separator"&&(R+="top ",ie=1),j[j.length-1].type==="separator"&&(R+="bottom ",oe-=1);for(var pe=ie;pe0?"left ":"",R+=de[de.length-1].length>0?"right ":"";for(var X=1;X-1?"alignat":"align",v=s.envName==="split",b=A9(s.parser,{cols:d,addJot:!0,autoTag:v?void 0:Cbe(s.envName),emptySingleRow:!0,colSeparationType:p,maxNumCols:v?2:void 0,leqno:s.parser.settings.leqno},"display"),y,T=0,_={type:"ordgroup",mode:s.mode,body:[]};if(u[0]&&u[0].type==="ordgroup"){for(var A="",P=0;P0&&F&&(ee=1),d[j]={type:"align",align:K,pregap:ee,postgap:0}}return b.colSeparationType=F?"align":"alignat",b};W4({type:"array",names:["array","darray"],props:{numArgs:1},handler(i,s){var u=vQ(s[0]),d=u?[s[0]]:Yo(s[0],"ordgroup").body,p=d.map(function(b){var y=dbe(b),T=y.text;if("lcr".indexOf(T)!==-1)return{type:"align",align:T};if(T==="|")return{type:"separator",separator:"|"};if(T===":")return{type:"separator",separator:":"};throw new Ci("Unknown column alignment: "+T,b)}),v={cols:p,hskipBeforeAndAfter:!0,maxNumCols:p.length};return A9(i.parser,v,Sbe(i.envName))},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(i){var s={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[i.envName.replace("*","")],u="c",d={hskipBeforeAndAfter:!1,cols:[{type:"align",align:u}]};if(i.envName.charAt(i.envName.length-1)==="*"){var p=i.parser;if(p.consumeSpaces(),p.fetch().text==="["){if(p.consume(),p.consumeSpaces(),u=p.fetch().text,"lcr".indexOf(u)===-1)throw new Ci("Expected l or c or r",p.nextToken);p.consume(),p.consumeSpaces(),p.expect("]"),p.consume(),d.cols=[{type:"align",align:u}]}}var v=A9(i.parser,d,Sbe(i.envName)),b=Math.max(0,...v.body.map(y=>y.length));return v.cols=new Array(b).fill({type:"align",align:u}),s?{type:"leftright",mode:i.mode,body:[v],left:s[0],right:s[1],rightColor:void 0}:v},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(i){var s={arraystretch:.5},u=A9(i.parser,s,"script");return u.colSeparationType="small",u},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["subarray"],props:{numArgs:1},handler(i,s){var u=vQ(s[0]),d=u?[s[0]]:Yo(s[0],"ordgroup").body,p=d.map(function(b){var y=dbe(b),T=y.text;if("lc".indexOf(T)!==-1)return{type:"align",align:T};throw new Ci("Unknown column alignment: "+T,b)});if(p.length>1)throw new Ci("{subarray} can contain only one column");var v={cols:p,hskipBeforeAndAfter:!1,arraystretch:.5};if(v=A9(i.parser,v,"script"),v.body.length>0&&v.body[0].length>1)throw new Ci("{subarray} can contain only one column");return v},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(i){var s={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},u=A9(i.parser,s,Sbe(i.envName));return{type:"leftright",mode:i.mode,body:[u],left:i.envName.indexOf("r")>-1?".":"\\{",right:i.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:qze,htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(i){Ya.contains(["gather","gather*"],i.envName)&&EQ(i);var s={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Cbe(i.envName),emptySingleRow:!0,leqno:i.parser.settings.leqno};return A9(i.parser,s,"display")},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:qze,htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(i){EQ(i);var s={autoTag:Cbe(i.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:i.parser.settings.leqno};return A9(i.parser,s,"display")},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["CD"],props:{numArgs:0},handler(i){return EQ(i),YHt(i.parser)},htmlBuilder:Y4,mathmlBuilder:X4}),et("\\nonumber","\\gdef\\@eqnsw{0}"),et("\\notag","\\nonumber"),Ji({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(i,s){throw new Ci(i.funcName+" valid only within array environment")}});var Hze=jze;Ji({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];if(p.type!=="ordgroup")throw new Ci("Invalid environment name",p);for(var v="",b=0;b{var u=i.font,d=s.withFont(u);return uu(i.body,d)},Uze=(i,s)=>{var u=i.font,d=s.withFont(u);return Ll(i.body,d)},Gze={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Ji({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=bQ(s[0]),v=d;return v in Gze&&(v=Gze[v]),{type:"font",mode:u.mode,font:v.slice(1),body:p}},htmlBuilder:Vze,mathmlBuilder:Uze}),Ji({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(i,s)=>{var{parser:u}=i,d=s[0],p=Ya.isCharacterBox(d);return{type:"mclass",mode:u.mode,mclass:yQ(d),body:[{type:"font",mode:u.mode,font:"boldsymbol",body:d}],isCharacterBox:p}}}),Ji({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(i,s)=>{var{parser:u,funcName:d,breakOnTokenText:p}=i,{mode:v}=u,b=u.parseExpression(!0,p),y="math"+d.slice(1);return{type:"font",mode:v,font:y,body:{type:"ordgroup",mode:u.mode,body:b}}},htmlBuilder:Vze,mathmlBuilder:Uze});var Kze=(i,s)=>{var u=s;return i==="display"?u=u.id>=Ta.SCRIPT.id?u.text():Ta.DISPLAY:i==="text"&&u.size===Ta.DISPLAY.size?u=Ta.TEXT:i==="script"?u=Ta.SCRIPT:i==="scriptscript"&&(u=Ta.SCRIPTSCRIPT),u},_be=(i,s)=>{var u=Kze(i.size,s.style),d=u.fracNum(),p=u.fracDen(),v;v=s.havingStyle(d);var b=uu(i.numer,v,s);if(i.continued){var y=8.5/s.fontMetrics().ptPerEm,T=3.5/s.fontMetrics().ptPerEm;b.height=b.height0?j=3*R:j=7*R,K=s.fontMetrics().denom1):(P>0?(F=s.fontMetrics().num2,j=R):(F=s.fontMetrics().num3,j=3*R),K=s.fontMetrics().denom2);var ee;if(A){var oe=s.fontMetrics().axisHeight;F-b.depth-(oe+.5*P){var u=new vi.MathNode("mfrac",[Ll(i.numer,s),Ll(i.denom,s)]);if(!i.hasBarLine)u.setAttribute("linethickness","0px");else if(i.barSize){var d=Uh(i.barSize,s);u.setAttribute("linethickness",Ri(d))}var p=Kze(i.size,s.style);if(p.size!==s.style.size){u=new vi.MathNode("mstyle",[u]);var v=p.size===Ta.DISPLAY.size?"true":"false";u.setAttribute("displaystyle",v),u.setAttribute("scriptlevel","0")}if(i.leftDelim!=null||i.rightDelim!=null){var b=[];if(i.leftDelim!=null){var y=new vi.MathNode("mo",[new vi.TextNode(i.leftDelim.replace("\\",""))]);y.setAttribute("fence","true"),b.push(y)}if(b.push(u),i.rightDelim!=null){var T=new vi.MathNode("mo",[new vi.TextNode(i.rightDelim.replace("\\",""))]);T.setAttribute("fence","true"),b.push(T)}return hbe(b)}return u};Ji({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=s[1],b,y=null,T=null,_="auto";switch(d){case"\\dfrac":case"\\frac":case"\\tfrac":b=!0;break;case"\\\\atopfrac":b=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":b=!1,y="(",T=")";break;case"\\\\bracefrac":b=!1,y="\\{",T="\\}";break;case"\\\\brackfrac":b=!1,y="[",T="]";break;default:throw new Error("Unrecognized genfrac command")}switch(d){case"\\dfrac":case"\\dbinom":_="display";break;case"\\tfrac":case"\\tbinom":_="text";break}return{type:"genfrac",mode:u.mode,continued:!1,numer:p,denom:v,hasBarLine:b,leftDelim:y,rightDelim:T,size:_,barSize:null}},htmlBuilder:_be,mathmlBuilder:Abe}),Ji({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=s[1];return{type:"genfrac",mode:u.mode,continued:!0,numer:p,denom:v,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),Ji({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(i){var{parser:s,funcName:u,token:d}=i,p;switch(u){case"\\over":p="\\frac";break;case"\\choose":p="\\binom";break;case"\\atop":p="\\\\atopfrac";break;case"\\brace":p="\\\\bracefrac";break;case"\\brack":p="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:s.mode,replaceWith:p,token:d}}});var Wze=["display","text","script","scriptscript"],Yze=function(s){var u=null;return s.length>0&&(u=s,u=u==="."?null:u),u};Ji({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(i,s){var{parser:u}=i,d=s[4],p=s[5],v=bQ(s[0]),b=v.type==="atom"&&v.family==="open"?Yze(v.text):null,y=bQ(s[1]),T=y.type==="atom"&&y.family==="close"?Yze(y.text):null,_=Yo(s[2],"size"),A,P=null;_.isBlank?A=!0:(P=_.value,A=P.number>0);var R="auto",F=s[3];if(F.type==="ordgroup"){if(F.body.length>0){var j=Yo(F.body[0],"textord");R=Wze[Number(j.text)]}}else F=Yo(F,"textord"),R=Wze[Number(F.text)];return{type:"genfrac",mode:u.mode,numer:d,denom:p,continued:!1,hasBarLine:A,barSize:P,leftDelim:b,rightDelim:T,size:R}},htmlBuilder:_be,mathmlBuilder:Abe}),Ji({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(i,s){var{parser:u,funcName:d,token:p}=i;return{type:"infix",mode:u.mode,replaceWith:"\\\\abovefrac",size:Yo(s[0],"size").value,token:p}}}),Ji({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=$qt(Yo(s[1],"infix").size),b=s[2],y=v.number>0;return{type:"genfrac",mode:u.mode,numer:p,denom:b,continued:!1,hasBarLine:y,barSize:v,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:_be,mathmlBuilder:Abe});var Xze=(i,s)=>{var u=s.style,d,p;i.type==="supsub"?(d=i.sup?uu(i.sup,s.havingStyle(u.sup()),s):uu(i.sub,s.havingStyle(u.sub()),s),p=Yo(i.base,"horizBrace")):p=Yo(i,"horizBrace");var v=uu(p.base,s.havingBaseStyle(Ta.DISPLAY)),b=P7.svgSpan(p,s),y;if(p.isOver?(y=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:.1},{type:"elem",elem:b}]},s),y.children[0].children[0].children[1].classes.push("svg-align")):(y=zn.makeVList({positionType:"bottom",positionData:v.depth+.1+b.height,children:[{type:"elem",elem:b},{type:"kern",size:.1},{type:"elem",elem:v}]},s),y.children[0].children[0].children[0].classes.push("svg-align")),d){var T=zn.makeSpan(["mord",p.isOver?"mover":"munder"],[y],s);p.isOver?y=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:T},{type:"kern",size:.2},{type:"elem",elem:d}]},s):y=zn.makeVList({positionType:"bottom",positionData:T.depth+.2+d.height+d.depth,children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:T}]},s)}return zn.makeSpan(["mord",p.isOver?"mover":"munder"],[y],s)},lVt=(i,s)=>{var u=P7.mathMLnode(i.label);return new vi.MathNode(i.isOver?"mover":"munder",[Ll(i.base,s),u])};Ji({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i;return{type:"horizBrace",mode:u.mode,label:d,isOver:/^\\over/.test(d),base:s[0]}},htmlBuilder:Xze,mathmlBuilder:lVt}),Ji({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[1],p=Yo(s[0],"url").url;return u.settings.isTrusted({command:"\\href",url:p})?{type:"href",mode:u.mode,href:p,body:Xf(d)}:u.formatUnsupportedCmd("\\href")},htmlBuilder:(i,s)=>{var u=d1(i.body,s,!1);return zn.makeAnchor(i.href,[],u,s)},mathmlBuilder:(i,s)=>{var u=_9(i.body,s);return u instanceof Fv||(u=new Fv("mrow",[u])),u.setAttribute("href",i.href),u}}),Ji({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=Yo(s[0],"url").url;if(!u.settings.isTrusted({command:"\\url",url:d}))return u.formatUnsupportedCmd("\\url");for(var p=[],v=0;v{var{parser:u,funcName:d,token:p}=i,v=Yo(s[0],"raw").string,b=s[1];u.settings.strict&&u.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var y,T={};switch(d){case"\\htmlClass":T.class=v,y={command:"\\htmlClass",class:v};break;case"\\htmlId":T.id=v,y={command:"\\htmlId",id:v};break;case"\\htmlStyle":T.style=v,y={command:"\\htmlStyle",style:v};break;case"\\htmlData":{for(var _=v.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length!==2)throw new Ci("Error parsing key-value for \\htmlData");T["data-"+P[0].trim()]=P[1].trim()}y={command:"\\htmlData",attributes:T};break}default:throw new Error("Unrecognized html command")}return u.settings.isTrusted(y)?{type:"html",mode:u.mode,attributes:T,body:Xf(b)}:u.formatUnsupportedCmd(d)},htmlBuilder:(i,s)=>{var u=d1(i.body,s,!1),d=["enclosing"];i.attributes.class&&d.push(...i.attributes.class.trim().split(/\s+/));var p=zn.makeSpan(d,u,s);for(var v in i.attributes)v!=="class"&&i.attributes.hasOwnProperty(v)&&p.setAttribute(v,i.attributes[v]);return p},mathmlBuilder:(i,s)=>_9(i.body,s)}),Ji({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i;return{type:"htmlmathml",mode:u.mode,html:Xf(s[0]),mathml:Xf(s[1])}},htmlBuilder:(i,s)=>{var u=d1(i.html,s,!1);return zn.makeFragment(u)},mathmlBuilder:(i,s)=>_9(i.mathml,s)});var Lbe=function(s){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(s))return{number:+s,unit:"bp"};var u=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(s);if(!u)throw new Ci("Invalid size: '"+s+"' in \\includegraphics");var d={number:+(u[1]+u[2]),unit:u[3]};if(!J$e(d))throw new Ci("Invalid unit: '"+d.unit+"' in \\includegraphics.");return d};Ji({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(i,s,u)=>{var{parser:d}=i,p={number:0,unit:"em"},v={number:.9,unit:"em"},b={number:0,unit:"em"},y="";if(u[0])for(var T=Yo(u[0],"raw").string,_=T.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length===2){var R=P[1].trim();switch(P[0].trim()){case"alt":y=R;break;case"width":p=Lbe(R);break;case"height":v=Lbe(R);break;case"totalheight":b=Lbe(R);break;default:throw new Ci("Invalid key: '"+P[0]+"' in \\includegraphics.")}}}var F=Yo(s[0],"url").url;return y===""&&(y=F,y=y.replace(/^.*[\\/]/,""),y=y.substring(0,y.lastIndexOf("."))),d.settings.isTrusted({command:"\\includegraphics",url:F})?{type:"includegraphics",mode:d.mode,alt:y,width:p,height:v,totalheight:b,src:F}:d.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(i,s)=>{var u=Uh(i.height,s),d=0;i.totalheight.number>0&&(d=Uh(i.totalheight,s)-u);var p=0;i.width.number>0&&(p=Uh(i.width,s));var v={height:Ri(u+d)};p>0&&(v.width=Ri(p)),d>0&&(v.verticalAlign=Ri(-d));var b=new lHt(i.src,i.alt,v);return b.height=u,b.depth=d,b},mathmlBuilder:(i,s)=>{var u=new vi.MathNode("mglyph",[]);u.setAttribute("alt",i.alt);var d=Uh(i.height,s),p=0;if(i.totalheight.number>0&&(p=Uh(i.totalheight,s)-d,u.setAttribute("valign",Ri(-p))),u.setAttribute("height",Ri(d+p)),i.width.number>0){var v=Uh(i.width,s);u.setAttribute("width",Ri(v))}return u.setAttribute("src",i.src),u}}),Ji({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(i,s){var{parser:u,funcName:d}=i,p=Yo(s[0],"size");if(u.settings.strict){var v=d[1]==="m",b=p.value.unit==="mu";v?(b||u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" supports only mu units, "+("not "+p.value.unit+" units")),u.mode!=="math"&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" works only in math mode")):b&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" doesn't support mu units")}return{type:"kern",mode:u.mode,dimension:p.value}},htmlBuilder(i,s){return zn.makeGlue(i.dimension,s)},mathmlBuilder(i,s){var u=Uh(i.dimension,s);return new vi.SpaceNode(u)}}),Ji({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"lap",mode:u.mode,alignment:d.slice(5),body:p}},htmlBuilder:(i,s)=>{var u;i.alignment==="clap"?(u=zn.makeSpan([],[uu(i.body,s)]),u=zn.makeSpan(["inner"],[u],s)):u=zn.makeSpan(["inner"],[uu(i.body,s)]);var d=zn.makeSpan(["fix"],[]),p=zn.makeSpan([i.alignment],[u,d],s),v=zn.makeSpan(["strut"]);return v.style.height=Ri(p.height+p.depth),p.depth&&(v.style.verticalAlign=Ri(-p.depth)),p.children.unshift(v),p=zn.makeSpan(["thinbox"],[p],s),zn.makeSpan(["mord","vbox"],[p],s)},mathmlBuilder:(i,s)=>{var u=new vi.MathNode("mpadded",[Ll(i.body,s)]);if(i.alignment!=="rlap"){var d=i.alignment==="llap"?"-1":"-0.5";u.setAttribute("lspace",d+"width")}return u.setAttribute("width","0px"),u}}),Ji({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,s){var{funcName:u,parser:d}=i,p=d.mode;d.switchMode("math");var v=u==="\\("?"\\)":"$",b=d.parseExpression(!1,v);return d.expect(v),d.switchMode(p),{type:"styling",mode:d.mode,style:"text",body:b}}}),Ji({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,s){throw new Ci("Mismatched "+i.funcName)}});var Qze=(i,s)=>{switch(s.style.size){case Ta.DISPLAY.size:return i.display;case Ta.TEXT.size:return i.text;case Ta.SCRIPT.size:return i.script;case Ta.SCRIPTSCRIPT.size:return i.scriptscript;default:return i.text}};Ji({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(i,s)=>{var{parser:u}=i;return{type:"mathchoice",mode:u.mode,display:Xf(s[0]),text:Xf(s[1]),script:Xf(s[2]),scriptscript:Xf(s[3])}},htmlBuilder:(i,s)=>{var u=Qze(i,s),d=d1(u,s,!1);return zn.makeFragment(d)},mathmlBuilder:(i,s)=>{var u=Qze(i,s);return _9(u,s)}});var Jze=(i,s,u,d,p,v,b)=>{i=zn.makeSpan([],[i]);var y=u&&Ya.isCharacterBox(u),T,_;if(s){var A=uu(s,d.havingStyle(p.sup()),d);_={elem:A,kern:Math.max(d.fontMetrics().bigOpSpacing1,d.fontMetrics().bigOpSpacing3-A.depth)}}if(u){var P=uu(u,d.havingStyle(p.sub()),d);T={elem:P,kern:Math.max(d.fontMetrics().bigOpSpacing2,d.fontMetrics().bigOpSpacing4-P.height)}}var R;if(_&&T){var F=d.fontMetrics().bigOpSpacing5+T.elem.height+T.elem.depth+T.kern+i.depth+b;R=zn.makeVList({positionType:"bottom",positionData:F,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:T.elem,marginLeft:Ri(-v)},{type:"kern",size:T.kern},{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:Ri(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]},d)}else if(T){var j=i.height-b;R=zn.makeVList({positionType:"top",positionData:j,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:T.elem,marginLeft:Ri(-v)},{type:"kern",size:T.kern},{type:"elem",elem:i}]},d)}else if(_){var K=i.depth+b;R=zn.makeVList({positionType:"bottom",positionData:K,children:[{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:Ri(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]},d)}else return i;var ee=[R];if(T&&v!==0&&!y){var ie=zn.makeSpan(["mspace"],[],d);ie.style.marginRight=Ri(v),ee.unshift(ie)}return zn.makeSpan(["mop","op-limits"],ee,d)},Zze=["\\smallint"],PD=(i,s)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Yo(i.base,"op"),p=!0):v=Yo(i,"op");var b=s.style,y=!1;b.size===Ta.DISPLAY.size&&v.symbol&&!Ya.contains(Zze,v.name)&&(y=!0);var T;if(v.symbol){var _=y?"Size2-Regular":"Size1-Regular",A="";if((v.name==="\\oiint"||v.name==="\\oiiint")&&(A=v.name.slice(1),v.name=A==="oiint"?"\\iint":"\\iiint"),T=zn.makeSymbol(v.name,_,"math",s,["mop","op-symbol",y?"large-op":"small-op"]),A.length>0){var P=T.italic,R=zn.staticSvg(A+"Size"+(y?"2":"1"),s);T=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:T,shift:0},{type:"elem",elem:R,shift:y?.08:0}]},s),v.name="\\"+A,T.classes.unshift("mop"),T.italic=P}}else if(v.body){var F=d1(v.body,s,!0);F.length===1&&F[0]instanceof Bv?(T=F[0],T.classes[0]="mop"):T=zn.makeSpan(["mop"],F,s)}else{for(var j=[],K=1;K{var u;if(i.symbol)u=new Fv("mo",[Rv(i.name,i.mode)]),Ya.contains(Zze,i.name)&&u.setAttribute("largeop","false");else if(i.body)u=new Fv("mo",j2(i.body,s));else{u=new Fv("mi",[new lR(i.name.slice(1))]);var d=new Fv("mo",[Rv("⁡","text")]);i.parentIsSupSub?u=new Fv("mrow",[u,d]):u=bze([u,d])}return u},hVt={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Ji({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=d;return p.length===1&&(p=hVt[p]),{type:"op",mode:u.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:p}},htmlBuilder:PD,mathmlBuilder:dR}),Ji({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"op",mode:u.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Xf(d)}},htmlBuilder:PD,mathmlBuilder:dR});var fVt={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Ji({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(i){var{parser:s,funcName:u}=i;return{type:"op",mode:s.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:PD,mathmlBuilder:dR}),Ji({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i;return{type:"op",mode:s.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:PD,mathmlBuilder:dR}),Ji({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i,d=u;return d.length===1&&(d=fVt[d]),{type:"op",mode:s.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:d}},htmlBuilder:PD,mathmlBuilder:dR});var eqe=(i,s)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Yo(i.base,"operatorname"),p=!0):v=Yo(i,"operatorname");var b;if(v.body.length>0){for(var y=v.body.map(P=>{var R=P.text;return typeof R=="string"?{type:"textord",mode:P.mode,text:R}:P}),T=d1(y,s.withFont("mathrm"),!0),_=0;_{for(var u=j2(i.body,s.withFont("mathrm")),d=!0,p=0;pA.toText()).join("");u=[new vi.TextNode(y)]}var T=new vi.MathNode("mi",u);T.setAttribute("mathvariant","normal");var _=new vi.MathNode("mo",[Rv("⁡","text")]);return i.parentIsSupSub?new vi.MathNode("mrow",[T,_]):vi.newDocumentFragment([T,_])};Ji({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"operatorname",mode:u.mode,body:Xf(p),alwaysHandleSupSub:d==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:eqe,mathmlBuilder:dVt}),et("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),zC({type:"ordgroup",htmlBuilder(i,s){return i.semisimple?zn.makeFragment(d1(i.body,s,!1)):zn.makeSpan(["mord"],d1(i.body,s,!0),s)},mathmlBuilder(i,s){return _9(i.body,s,!0)}}),Ji({type:"overline",names:["\\overline"],props:{numArgs:1},handler(i,s){var{parser:u}=i,d=s[0];return{type:"overline",mode:u.mode,body:d}},htmlBuilder(i,s){var u=uu(i.body,s.havingCrampedStyle()),d=zn.makeLineSpan("overline-line",s),p=s.fontMetrics().defaultRuleThickness,v=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:3*p},{type:"elem",elem:d},{type:"kern",size:p}]},s);return zn.makeSpan(["mord","overline"],[v],s)},mathmlBuilder(i,s){var u=new vi.MathNode("mo",[new vi.TextNode("‾")]);u.setAttribute("stretchy","true");var d=new vi.MathNode("mover",[Ll(i.body,s),u]);return d.setAttribute("accent","true"),d}}),Ji({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"phantom",mode:u.mode,body:Xf(d)}},htmlBuilder:(i,s)=>{var u=d1(i.body,s.withPhantom(),!1);return zn.makeFragment(u)},mathmlBuilder:(i,s)=>{var u=j2(i.body,s);return new vi.MathNode("mphantom",u)}}),Ji({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"hphantom",mode:u.mode,body:d}},htmlBuilder:(i,s)=>{var u=zn.makeSpan([],[uu(i.body,s.withPhantom())]);if(u.height=0,u.depth=0,u.children)for(var d=0;d{var u=j2(Xf(i.body),s),d=new vi.MathNode("mphantom",u),p=new vi.MathNode("mpadded",[d]);return p.setAttribute("height","0px"),p.setAttribute("depth","0px"),p}}),Ji({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"vphantom",mode:u.mode,body:d}},htmlBuilder:(i,s)=>{var u=zn.makeSpan(["inner"],[uu(i.body,s.withPhantom())]),d=zn.makeSpan(["fix"],[]);return zn.makeSpan(["mord","rlap"],[u,d],s)},mathmlBuilder:(i,s)=>{var u=j2(Xf(i.body),s),d=new vi.MathNode("mphantom",u),p=new vi.MathNode("mpadded",[d]);return p.setAttribute("width","0px"),p}}),Ji({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(i,s){var{parser:u}=i,d=Yo(s[0],"size").value,p=s[1];return{type:"raisebox",mode:u.mode,dy:d,body:p}},htmlBuilder(i,s){var u=uu(i.body,s),d=Uh(i.dy,s);return zn.makeVList({positionType:"shift",positionData:-d,children:[{type:"elem",elem:u}]},s)},mathmlBuilder(i,s){var u=new vi.MathNode("mpadded",[Ll(i.body,s)]),d=i.dy.number+i.dy.unit;return u.setAttribute("voffset",d),u}}),Ji({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:s}=i;return{type:"internal",mode:s.mode}}}),Ji({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(i,s,u){var{parser:d}=i,p=u[0],v=Yo(s[0],"size"),b=Yo(s[1],"size");return{type:"rule",mode:d.mode,shift:p&&Yo(p,"size").value,width:v.value,height:b.value}},htmlBuilder(i,s){var u=zn.makeSpan(["mord","rule"],[],s),d=Uh(i.width,s),p=Uh(i.height,s),v=i.shift?Uh(i.shift,s):0;return u.style.borderRightWidth=Ri(d),u.style.borderTopWidth=Ri(p),u.style.bottom=Ri(v),u.width=d,u.height=p+v,u.depth=-v,u.maxFontSize=p*1.125*s.sizeMultiplier,u},mathmlBuilder(i,s){var u=Uh(i.width,s),d=Uh(i.height,s),p=i.shift?Uh(i.shift,s):0,v=s.color&&s.getColor()||"black",b=new vi.MathNode("mspace");b.setAttribute("mathbackground",v),b.setAttribute("width",Ri(u)),b.setAttribute("height",Ri(d));var y=new vi.MathNode("mpadded",[b]);return p>=0?y.setAttribute("height",Ri(p)):(y.setAttribute("height",Ri(p)),y.setAttribute("depth",Ri(-p))),y.setAttribute("voffset",Ri(p)),y}});function tqe(i,s,u){for(var d=d1(i,s,!1),p=s.sizeMultiplier/u.sizeMultiplier,v=0;v{var u=s.havingSize(i.size);return tqe(i.body,u,s)};Ji({type:"sizing",names:nqe,props:{numArgs:0,allowedInText:!0},handler:(i,s)=>{var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!1,u);return{type:"sizing",mode:p.mode,size:nqe.indexOf(d)+1,body:v}},htmlBuilder:gVt,mathmlBuilder:(i,s)=>{var u=s.havingSize(i.size),d=j2(i.body,u),p=new vi.MathNode("mstyle",d);return p.setAttribute("mathsize",Ri(u.sizeMultiplier)),p}}),Ji({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(i,s,u)=>{var{parser:d}=i,p=!1,v=!1,b=u[0]&&Yo(u[0],"ordgroup");if(b)for(var y="",T=0;T{var u=zn.makeSpan([],[uu(i.body,s)]);if(!i.smashHeight&&!i.smashDepth)return u;if(i.smashHeight&&(u.height=0,u.children))for(var d=0;d{var u=new vi.MathNode("mpadded",[Ll(i.body,s)]);return i.smashHeight&&u.setAttribute("height","0px"),i.smashDepth&&u.setAttribute("depth","0px"),u}}),Ji({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(i,s,u){var{parser:d}=i,p=u[0],v=s[0];return{type:"sqrt",mode:d.mode,body:v,index:p}},htmlBuilder(i,s){var u=uu(i.body,s.havingCrampedStyle());u.height===0&&(u.height=s.fontMetrics().xHeight),u=zn.wrapFragment(u,s);var d=s.fontMetrics(),p=d.defaultRuleThickness,v=p;s.style.idu.height+u.depth+b&&(b=(b+P-u.height-u.depth)/2);var R=T.height-u.height-b-_;u.style.paddingLeft=Ri(A);var F=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u,wrapperClasses:["svg-align"]},{type:"kern",size:-(u.height+R)},{type:"elem",elem:T},{type:"kern",size:_}]},s);if(i.index){var j=s.havingStyle(Ta.SCRIPTSCRIPT),K=uu(i.index,j,s),ee=.6*(F.height-F.depth),ie=zn.makeVList({positionType:"shift",positionData:-ee,children:[{type:"elem",elem:K}]},s),oe=zn.makeSpan(["root"],[ie]);return zn.makeSpan(["mord","sqrt"],[oe,F],s)}else return zn.makeSpan(["mord","sqrt"],[F],s)},mathmlBuilder(i,s){var{body:u,index:d}=i;return d?new vi.MathNode("mroot",[Ll(u,s),Ll(d,s)]):new vi.MathNode("msqrt",[Ll(u,s)])}});var rqe={display:Ta.DISPLAY,text:Ta.TEXT,script:Ta.SCRIPT,scriptscript:Ta.SCRIPTSCRIPT};Ji({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i,s){var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!0,u),b=d.slice(1,d.length-5);return{type:"styling",mode:p.mode,style:b,body:v}},htmlBuilder(i,s){var u=rqe[i.style],d=s.havingStyle(u).withFont("");return tqe(i.body,d,s)},mathmlBuilder(i,s){var u=rqe[i.style],d=s.havingStyle(u),p=j2(i.body,d),v=new vi.MathNode("mstyle",p),b={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},y=b[i.style];return v.setAttribute("scriptlevel",y[0]),v.setAttribute("displaystyle",y[1]),v}});var pVt=function(s,u){var d=s.base;if(d)if(d.type==="op"){var p=d.limits&&(u.style.size===Ta.DISPLAY.size||d.alwaysHandleSupSub);return p?PD:null}else if(d.type==="operatorname"){var v=d.alwaysHandleSupSub&&(u.style.size===Ta.DISPLAY.size||d.limits);return v?eqe:null}else{if(d.type==="accent")return Ya.isCharacterBox(d.base)?gbe:null;if(d.type==="horizBrace"){var b=!s.sub;return b===d.isOver?Xze:null}else return null}else return null};zC({type:"supsub",htmlBuilder(i,s){var u=pVt(i,s);if(u)return u(i,s);var{base:d,sup:p,sub:v}=i,b=uu(d,s),y,T,_=s.fontMetrics(),A=0,P=0,R=d&&Ya.isCharacterBox(d);if(p){var F=s.havingStyle(s.style.sup());y=uu(p,F,s),R||(A=b.height-F.fontMetrics().supDrop*F.sizeMultiplier/s.sizeMultiplier)}if(v){var j=s.havingStyle(s.style.sub());T=uu(v,j,s),R||(P=b.depth+j.fontMetrics().subDrop*j.sizeMultiplier/s.sizeMultiplier)}var K;s.style===Ta.DISPLAY?K=_.sup1:s.style.cramped?K=_.sup3:K=_.sup2;var ee=s.sizeMultiplier,ie=Ri(.5/_.ptPerEm/ee),oe=null;if(T){var pe=i.base&&i.base.type==="op"&&i.base.name&&(i.base.name==="\\oiint"||i.base.name==="\\oiiint");(b instanceof Bv||pe)&&(oe=Ri(-b.italic))}var be;if(y&&T){A=Math.max(A,K,y.depth+.25*_.xHeight),P=Math.max(P,_.sub2);var ae=_.defaultRuleThickness,ne=4*ae;if(A-y.depth-(T.height-P)0&&(A+=se,P-=se)}var de=[{type:"elem",elem:T,shift:P,marginRight:ie,marginLeft:oe},{type:"elem",elem:y,shift:-A,marginRight:ie}];be=zn.makeVList({positionType:"individualShift",children:de},s)}else if(T){P=Math.max(P,_.sub1,T.height-.8*_.xHeight);var X=[{type:"elem",elem:T,marginLeft:oe,marginRight:ie}];be=zn.makeVList({positionType:"shift",positionData:P,children:X},s)}else if(y)A=Math.max(A,K,y.depth+.25*_.xHeight),be=zn.makeVList({positionType:"shift",positionData:-A,children:[{type:"elem",elem:y,marginRight:ie}]},s);else throw new Error("supsub must have either sup or sub.");var ge=ube(b,"right")||"mord";return zn.makeSpan([ge],[b,zn.makeSpan(["msupsub"],[be])],s)},mathmlBuilder(i,s){var u=!1,d,p;i.base&&i.base.type==="horizBrace"&&(p=!!i.sup,p===i.base.isOver&&(u=!0,d=i.base.isOver)),i.base&&(i.base.type==="op"||i.base.type==="operatorname")&&(i.base.parentIsSupSub=!0);var v=[Ll(i.base,s)];i.sub&&v.push(Ll(i.sub,s)),i.sup&&v.push(Ll(i.sup,s));var b;if(u)b=d?"mover":"munder";else if(i.sub)if(i.sup){var _=i.base;_&&_.type==="op"&&_.limits&&s.style===Ta.DISPLAY||_&&_.type==="operatorname"&&_.alwaysHandleSupSub&&(s.style===Ta.DISPLAY||_.limits)?b="munderover":b="msubsup"}else{var T=i.base;T&&T.type==="op"&&T.limits&&(s.style===Ta.DISPLAY||T.alwaysHandleSupSub)||T&&T.type==="operatorname"&&T.alwaysHandleSupSub&&(T.limits||s.style===Ta.DISPLAY)?b="munder":b="msub"}else{var y=i.base;y&&y.type==="op"&&y.limits&&(s.style===Ta.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(y.limits||s.style===Ta.DISPLAY)?b="mover":b="msup"}return new vi.MathNode(b,v)}}),zC({type:"atom",htmlBuilder(i,s){return zn.mathsym(i.text,i.mode,s,["m"+i.family])},mathmlBuilder(i,s){var u=new vi.MathNode("mo",[Rv(i.text,i.mode)]);if(i.family==="bin"){var d=fbe(i,s);d==="bold-italic"&&u.setAttribute("mathvariant",d)}else i.family==="punct"?u.setAttribute("separator","true"):(i.family==="open"||i.family==="close")&&u.setAttribute("stretchy","false");return u}});var iqe={mi:"italic",mn:"normal",mtext:"normal"};zC({type:"mathord",htmlBuilder(i,s){return zn.makeOrd(i,s,"mathord")},mathmlBuilder(i,s){var u=new vi.MathNode("mi",[Rv(i.text,i.mode,s)]),d=fbe(i,s)||"italic";return d!==iqe[u.type]&&u.setAttribute("mathvariant",d),u}}),zC({type:"textord",htmlBuilder(i,s){return zn.makeOrd(i,s,"textord")},mathmlBuilder(i,s){var u=Rv(i.text,i.mode,s),d=fbe(i,s)||"normal",p;return i.mode==="text"?p=new vi.MathNode("mtext",[u]):/[0-9]/.test(i.text)?p=new vi.MathNode("mn",[u]):i.text==="\\prime"?p=new vi.MathNode("mo",[u]):p=new vi.MathNode("mi",[u]),d!==iqe[p.type]&&p.setAttribute("mathvariant",d),p}});var Mbe={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Dbe={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};zC({type:"spacing",htmlBuilder(i,s){if(Dbe.hasOwnProperty(i.text)){var u=Dbe[i.text].className||"";if(i.mode==="text"){var d=zn.makeOrd(i,s,"textord");return d.classes.push(u),d}else return zn.makeSpan(["mspace",u],[zn.mathsym(i.text,i.mode,s)],s)}else{if(Mbe.hasOwnProperty(i.text))return zn.makeSpan(["mspace",Mbe[i.text]],[],s);throw new Ci('Unknown type of space "'+i.text+'"')}},mathmlBuilder(i,s){var u;if(Dbe.hasOwnProperty(i.text))u=new vi.MathNode("mtext",[new vi.TextNode(" ")]);else{if(Mbe.hasOwnProperty(i.text))return new vi.MathNode("mspace");throw new Ci('Unknown type of space "'+i.text+'"')}return u}});var sqe=()=>{var i=new vi.MathNode("mtd",[]);return i.setAttribute("width","50%"),i};zC({type:"tag",mathmlBuilder(i,s){var u=new vi.MathNode("mtable",[new vi.MathNode("mtr",[sqe(),new vi.MathNode("mtd",[_9(i.body,s)]),sqe(),new vi.MathNode("mtd",[_9(i.tag,s)])])]);return u.setAttribute("width","100%"),u}});var aqe={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},oqe={"\\textbf":"textbf","\\textmd":"textmd"},bVt={"\\textit":"textit","\\textup":"textup"},cqe=(i,s)=>{var u=i.font;return u?aqe[u]?s.withTextFontFamily(aqe[u]):oqe[u]?s.withTextFontWeight(oqe[u]):s.withTextFontShape(bVt[u]):s};Ji({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"text",mode:u.mode,body:Xf(p),font:d}},htmlBuilder(i,s){var u=cqe(i,s),d=d1(i.body,u,!0);return zn.makeSpan(["mord","text"],d,u)},mathmlBuilder(i,s){var u=cqe(i,s);return _9(i.body,u)}}),Ji({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"underline",mode:u.mode,body:s[0]}},htmlBuilder(i,s){var u=uu(i.body,s),d=zn.makeLineSpan("underline-line",s),p=s.fontMetrics().defaultRuleThickness,v=zn.makeVList({positionType:"top",positionData:u.height,children:[{type:"kern",size:p},{type:"elem",elem:d},{type:"kern",size:3*p},{type:"elem",elem:u}]},s);return zn.makeSpan(["mord","underline"],[v],s)},mathmlBuilder(i,s){var u=new vi.MathNode("mo",[new vi.TextNode("‾")]);u.setAttribute("stretchy","true");var d=new vi.MathNode("munder",[Ll(i.body,s),u]);return d.setAttribute("accentunder","true"),d}}),Ji({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(i,s){var{parser:u}=i;return{type:"vcenter",mode:u.mode,body:s[0]}},htmlBuilder(i,s){var u=uu(i.body,s),d=s.fontMetrics().axisHeight,p=.5*(u.height-d-(u.depth+d));return zn.makeVList({positionType:"shift",positionData:p,children:[{type:"elem",elem:u}]},s)},mathmlBuilder(i,s){return new vi.MathNode("mpadded",[Ll(i.body,s)],["vcenter"])}}),Ji({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(i,s,u){throw new Ci("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(i,s){for(var u=uqe(i),d=[],p=s.havingStyle(s.style.text()),v=0;vi.body.replace(/ /g,i.star?"␣":" "),L9=dze,lqe=`[ \r + ]`,mVt="\\\\[a-zA-Z@]+",vVt="\\\\[^\uD800-\uDFFF]",wVt="("+mVt+")"+lqe+"*",yVt=`\\\\( +|[ \r ]+ +?)[ \r ]*`,Ibe="[̀-ͯ]",xVt=new RegExp(Ibe+"+$"),kVt="("+lqe+"+)|"+(yVt+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(Ibe+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Ibe+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+wVt)+("|"+vVt+")");class hqe{constructor(s,u){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=s,this.settings=u,this.tokenRegex=new RegExp(kVt,"g"),this.catcodes={"%":14,"~":13}}setCatcode(s,u){this.catcodes[s]=u}lex(){var s=this.input,u=this.tokenRegex.lastIndex;if(u===s.length)return new U4("EOF",new lm(this,u,u));var d=this.tokenRegex.exec(s);if(d===null||d.index!==u)throw new Ci("Unexpected character: '"+s[u]+"'",new U4(s[u],new lm(this,u,u+1)));var p=d[6]||d[3]||(d[2]?"\\ ":" ");if(this.catcodes[p]===14){var v=s.indexOf(` +`,this.tokenRegex.lastIndex);return v===-1?(this.tokenRegex.lastIndex=s.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=v+1,this.lex()}return new U4(p,new lm(this,u,this.tokenRegex.lastIndex))}}class EVt{constructor(s,u){s===void 0&&(s={}),u===void 0&&(u={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=u,this.builtins=s,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Ci("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var s=this.undefStack.pop();for(var u in s)s.hasOwnProperty(u)&&(s[u]==null?delete this.current[u]:this.current[u]=s[u])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(s){return this.current.hasOwnProperty(s)||this.builtins.hasOwnProperty(s)}get(s){return this.current.hasOwnProperty(s)?this.current[s]:this.builtins[s]}set(s,u,d){if(d===void 0&&(d=!1),d){for(var p=0;p0&&(this.undefStack[this.undefStack.length-1][s]=u)}else{var v=this.undefStack[this.undefStack.length-1];v&&!v.hasOwnProperty(s)&&(v[s]=this.current[s])}u==null?delete this.current[s]:this.current[s]=u}}var TVt=$ze;et("\\noexpand",function(i){var s=i.popToken();return i.isExpandable(s.text)&&(s.noexpand=!0,s.treatAsRelax=!0),{tokens:[s],numArgs:0}}),et("\\expandafter",function(i){var s=i.popToken();return i.expandOnce(!0),{tokens:[s],numArgs:0}}),et("\\@firstoftwo",function(i){var s=i.consumeArgs(2);return{tokens:s[0],numArgs:0}}),et("\\@secondoftwo",function(i){var s=i.consumeArgs(2);return{tokens:s[1],numArgs:0}}),et("\\@ifnextchar",function(i){var s=i.consumeArgs(3);i.consumeSpaces();var u=i.future();return s[0].length===1&&s[0][0].text===u.text?{tokens:s[1],numArgs:0}:{tokens:s[2],numArgs:0}}),et("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),et("\\TextOrMath",function(i){var s=i.consumeArgs(2);return i.mode==="text"?{tokens:s[0],numArgs:0}:{tokens:s[1],numArgs:0}});var fqe={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};et("\\char",function(i){var s=i.popToken(),u,d="";if(s.text==="'")u=8,s=i.popToken();else if(s.text==='"')u=16,s=i.popToken();else if(s.text==="`")if(s=i.popToken(),s.text[0]==="\\")d=s.text.charCodeAt(1);else{if(s.text==="EOF")throw new Ci("\\char` missing argument");d=s.text.charCodeAt(0)}else u=10;if(u){if(d=fqe[s.text],d==null||d>=u)throw new Ci("Invalid base-"+u+" digit "+s.text);for(var p;(p=fqe[i.future().text])!=null&&p{var d=i.consumeArg().tokens;if(d.length!==1)throw new Ci("\\newcommand's first argument must be a macro name");var p=d[0].text,v=i.isDefined(p);if(v&&!s)throw new Ci("\\newcommand{"+p+"} attempting to redefine "+(p+"; use \\renewcommand"));if(!v&&!u)throw new Ci("\\renewcommand{"+p+"} when command "+p+" does not yet exist; use \\newcommand");var b=0;if(d=i.consumeArg().tokens,d.length===1&&d[0].text==="["){for(var y="",T=i.expandNextToken();T.text!=="]"&&T.text!=="EOF";)y+=T.text,T=i.expandNextToken();if(!y.match(/^\s*[0-9]+\s*$/))throw new Ci("Invalid number of arguments: "+y);b=parseInt(y),d=i.consumeArg().tokens}return i.macros.set(p,{tokens:d,numArgs:b}),""};et("\\newcommand",i=>Obe(i,!1,!0)),et("\\renewcommand",i=>Obe(i,!0,!1)),et("\\providecommand",i=>Obe(i,!0,!0)),et("\\message",i=>{var s=i.consumeArgs(1)[0];return console.log(s.reverse().map(u=>u.text).join("")),""}),et("\\errmessage",i=>{var s=i.consumeArgs(1)[0];return console.error(s.reverse().map(u=>u.text).join("")),""}),et("\\show",i=>{var s=i.popToken(),u=s.text;return console.log(s,i.macros.get(u),L9[u],Ul.math[u],Ul.text[u]),""}),et("\\bgroup","{"),et("\\egroup","}"),et("~","\\nobreakspace"),et("\\lq","`"),et("\\rq","'"),et("\\aa","\\r a"),et("\\AA","\\r A"),et("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),et("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),et("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),et("ℬ","\\mathscr{B}"),et("ℰ","\\mathscr{E}"),et("ℱ","\\mathscr{F}"),et("ℋ","\\mathscr{H}"),et("ℐ","\\mathscr{I}"),et("ℒ","\\mathscr{L}"),et("ℳ","\\mathscr{M}"),et("ℛ","\\mathscr{R}"),et("ℭ","\\mathfrak{C}"),et("ℌ","\\mathfrak{H}"),et("ℨ","\\mathfrak{Z}"),et("\\Bbbk","\\Bbb{k}"),et("·","\\cdotp"),et("\\llap","\\mathllap{\\textrm{#1}}"),et("\\rlap","\\mathrlap{\\textrm{#1}}"),et("\\clap","\\mathclap{\\textrm{#1}}"),et("\\mathstrut","\\vphantom{(}"),et("\\underbar","\\underline{\\text{#1}}"),et("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),et("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),et("\\ne","\\neq"),et("≠","\\neq"),et("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),et("∉","\\notin"),et("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),et("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),et("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),et("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),et("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),et("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),et("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),et("⟂","\\perp"),et("‼","\\mathclose{!\\mkern-0.8mu!}"),et("∌","\\notni"),et("⌜","\\ulcorner"),et("⌝","\\urcorner"),et("⌞","\\llcorner"),et("⌟","\\lrcorner"),et("©","\\copyright"),et("®","\\textregistered"),et("️","\\textregistered"),et("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),et("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),et("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),et("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),et("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),et("⋮","\\vdots"),et("\\varGamma","\\mathit{\\Gamma}"),et("\\varDelta","\\mathit{\\Delta}"),et("\\varTheta","\\mathit{\\Theta}"),et("\\varLambda","\\mathit{\\Lambda}"),et("\\varXi","\\mathit{\\Xi}"),et("\\varPi","\\mathit{\\Pi}"),et("\\varSigma","\\mathit{\\Sigma}"),et("\\varUpsilon","\\mathit{\\Upsilon}"),et("\\varPhi","\\mathit{\\Phi}"),et("\\varPsi","\\mathit{\\Psi}"),et("\\varOmega","\\mathit{\\Omega}"),et("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),et("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),et("\\boxed","\\fbox{$\\displaystyle{#1}$}"),et("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),et("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),et("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var dqe={",":"\\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"};et("\\dots",function(i){var s="\\dotso",u=i.expandAfterFuture().text;return u in dqe?s=dqe[u]:(u.slice(0,4)==="\\not"||u in Ul.math&&Ya.contains(["bin","rel"],Ul.math[u].group))&&(s="\\dotsb"),s});var Nbe={")":!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};et("\\dotso",function(i){var s=i.future().text;return s in Nbe?"\\ldots\\,":"\\ldots"}),et("\\dotsc",function(i){var s=i.future().text;return s in Nbe&&s!==","?"\\ldots\\,":"\\ldots"}),et("\\cdots",function(i){var s=i.future().text;return s in Nbe?"\\@cdots\\,":"\\@cdots"}),et("\\dotsb","\\cdots"),et("\\dotsm","\\cdots"),et("\\dotsi","\\!\\cdots"),et("\\dotsx","\\ldots\\,"),et("\\DOTSI","\\relax"),et("\\DOTSB","\\relax"),et("\\DOTSX","\\relax"),et("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),et("\\,","\\tmspace+{3mu}{.1667em}"),et("\\thinspace","\\,"),et("\\>","\\mskip{4mu}"),et("\\:","\\tmspace+{4mu}{.2222em}"),et("\\medspace","\\:"),et("\\;","\\tmspace+{5mu}{.2777em}"),et("\\thickspace","\\;"),et("\\!","\\tmspace-{3mu}{.1667em}"),et("\\negthinspace","\\!"),et("\\negmedspace","\\tmspace-{4mu}{.2222em}"),et("\\negthickspace","\\tmspace-{5mu}{.277em}"),et("\\enspace","\\kern.5em "),et("\\enskip","\\hskip.5em\\relax"),et("\\quad","\\hskip1em\\relax"),et("\\qquad","\\hskip2em\\relax"),et("\\tag","\\@ifstar\\tag@literal\\tag@paren"),et("\\tag@paren","\\tag@literal{({#1})}"),et("\\tag@literal",i=>{if(i.macros.get("\\df@tag"))throw new Ci("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),et("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),et("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),et("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),et("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),et("\\newline","\\\\\\relax"),et("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var gqe=Ri(K4["Main-Regular"]["T".charCodeAt(0)][1]-.7*K4["Main-Regular"]["A".charCodeAt(0)][1]);et("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+gqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),et("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+gqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),et("\\hspace","\\@ifstar\\@hspacer\\@hspace"),et("\\@hspace","\\hskip #1\\relax"),et("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),et("\\ordinarycolon",":"),et("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),et("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),et("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),et("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),et("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),et("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),et("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),et("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),et("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),et("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),et("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),et("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),et("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),et("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),et("∷","\\dblcolon"),et("∹","\\eqcolon"),et("≔","\\coloneqq"),et("≕","\\eqqcolon"),et("⩴","\\Coloneqq"),et("\\ratio","\\vcentcolon"),et("\\coloncolon","\\dblcolon"),et("\\colonequals","\\coloneqq"),et("\\coloncolonequals","\\Coloneqq"),et("\\equalscolon","\\eqqcolon"),et("\\equalscoloncolon","\\Eqqcolon"),et("\\colonminus","\\coloneq"),et("\\coloncolonminus","\\Coloneq"),et("\\minuscolon","\\eqcolon"),et("\\minuscoloncolon","\\Eqcolon"),et("\\coloncolonapprox","\\Colonapprox"),et("\\coloncolonsim","\\Colonsim"),et("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),et("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),et("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),et("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),et("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),et("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),et("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),et("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),et("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),et("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),et("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),et("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),et("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),et("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),et("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),et("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),et("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),et("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),et("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),et("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),et("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),et("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),et("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),et("\\imath","\\html@mathml{\\@imath}{ı}"),et("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),et("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),et("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),et("⟦","\\llbracket"),et("⟧","\\rrbracket"),et("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),et("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),et("⦃","\\lBrace"),et("⦄","\\rBrace"),et("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),et("⦵","\\minuso"),et("\\darr","\\downarrow"),et("\\dArr","\\Downarrow"),et("\\Darr","\\Downarrow"),et("\\lang","\\langle"),et("\\rang","\\rangle"),et("\\uarr","\\uparrow"),et("\\uArr","\\Uparrow"),et("\\Uarr","\\Uparrow"),et("\\N","\\mathbb{N}"),et("\\R","\\mathbb{R}"),et("\\Z","\\mathbb{Z}"),et("\\alef","\\aleph"),et("\\alefsym","\\aleph"),et("\\Alpha","\\mathrm{A}"),et("\\Beta","\\mathrm{B}"),et("\\bull","\\bullet"),et("\\Chi","\\mathrm{X}"),et("\\clubs","\\clubsuit"),et("\\cnums","\\mathbb{C}"),et("\\Complex","\\mathbb{C}"),et("\\Dagger","\\ddagger"),et("\\diamonds","\\diamondsuit"),et("\\empty","\\emptyset"),et("\\Epsilon","\\mathrm{E}"),et("\\Eta","\\mathrm{H}"),et("\\exist","\\exists"),et("\\harr","\\leftrightarrow"),et("\\hArr","\\Leftrightarrow"),et("\\Harr","\\Leftrightarrow"),et("\\hearts","\\heartsuit"),et("\\image","\\Im"),et("\\infin","\\infty"),et("\\Iota","\\mathrm{I}"),et("\\isin","\\in"),et("\\Kappa","\\mathrm{K}"),et("\\larr","\\leftarrow"),et("\\lArr","\\Leftarrow"),et("\\Larr","\\Leftarrow"),et("\\lrarr","\\leftrightarrow"),et("\\lrArr","\\Leftrightarrow"),et("\\Lrarr","\\Leftrightarrow"),et("\\Mu","\\mathrm{M}"),et("\\natnums","\\mathbb{N}"),et("\\Nu","\\mathrm{N}"),et("\\Omicron","\\mathrm{O}"),et("\\plusmn","\\pm"),et("\\rarr","\\rightarrow"),et("\\rArr","\\Rightarrow"),et("\\Rarr","\\Rightarrow"),et("\\real","\\Re"),et("\\reals","\\mathbb{R}"),et("\\Reals","\\mathbb{R}"),et("\\Rho","\\mathrm{P}"),et("\\sdot","\\cdot"),et("\\sect","\\S"),et("\\spades","\\spadesuit"),et("\\sub","\\subset"),et("\\sube","\\subseteq"),et("\\supe","\\supseteq"),et("\\Tau","\\mathrm{T}"),et("\\thetasym","\\vartheta"),et("\\weierp","\\wp"),et("\\Zeta","\\mathrm{Z}"),et("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),et("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),et("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),et("\\bra","\\mathinner{\\langle{#1}|}"),et("\\ket","\\mathinner{|{#1}\\rangle}"),et("\\braket","\\mathinner{\\langle{#1}\\rangle}"),et("\\Bra","\\left\\langle#1\\right|"),et("\\Ket","\\left|#1\\right\\rangle");var pqe=i=>s=>{var u=s.consumeArg().tokens,d=s.consumeArg().tokens,p=s.consumeArg().tokens,v=s.consumeArg().tokens,b=s.macros.get("|"),y=s.macros.get("\\|");s.macros.beginGroup();var T=P=>R=>{i&&(R.macros.set("|",b),p.length&&R.macros.set("\\|",y));var F=P;if(!P&&p.length){var j=R.future();j.text==="|"&&(R.popToken(),F=!0)}return{tokens:F?p:d,numArgs:0}};s.macros.set("|",T(!1)),p.length&&s.macros.set("\\|",T(!0));var _=s.consumeArg().tokens,A=s.expandTokens([...v,..._,...u]);return s.macros.endGroup(),{tokens:A.reverse(),numArgs:0}};et("\\bra@ket",pqe(!1)),et("\\bra@set",pqe(!0)),et("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),et("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),et("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),et("\\angln","{\\angl n}"),et("\\blue","\\textcolor{##6495ed}{#1}"),et("\\orange","\\textcolor{##ffa500}{#1}"),et("\\pink","\\textcolor{##ff00af}{#1}"),et("\\red","\\textcolor{##df0030}{#1}"),et("\\green","\\textcolor{##28ae7b}{#1}"),et("\\gray","\\textcolor{gray}{#1}"),et("\\purple","\\textcolor{##9d38bd}{#1}"),et("\\blueA","\\textcolor{##ccfaff}{#1}"),et("\\blueB","\\textcolor{##80f6ff}{#1}"),et("\\blueC","\\textcolor{##63d9ea}{#1}"),et("\\blueD","\\textcolor{##11accd}{#1}"),et("\\blueE","\\textcolor{##0c7f99}{#1}"),et("\\tealA","\\textcolor{##94fff5}{#1}"),et("\\tealB","\\textcolor{##26edd5}{#1}"),et("\\tealC","\\textcolor{##01d1c1}{#1}"),et("\\tealD","\\textcolor{##01a995}{#1}"),et("\\tealE","\\textcolor{##208170}{#1}"),et("\\greenA","\\textcolor{##b6ffb0}{#1}"),et("\\greenB","\\textcolor{##8af281}{#1}"),et("\\greenC","\\textcolor{##74cf70}{#1}"),et("\\greenD","\\textcolor{##1fab54}{#1}"),et("\\greenE","\\textcolor{##0d923f}{#1}"),et("\\goldA","\\textcolor{##ffd0a9}{#1}"),et("\\goldB","\\textcolor{##ffbb71}{#1}"),et("\\goldC","\\textcolor{##ff9c39}{#1}"),et("\\goldD","\\textcolor{##e07d10}{#1}"),et("\\goldE","\\textcolor{##a75a05}{#1}"),et("\\redA","\\textcolor{##fca9a9}{#1}"),et("\\redB","\\textcolor{##ff8482}{#1}"),et("\\redC","\\textcolor{##f9685d}{#1}"),et("\\redD","\\textcolor{##e84d39}{#1}"),et("\\redE","\\textcolor{##bc2612}{#1}"),et("\\maroonA","\\textcolor{##ffbde0}{#1}"),et("\\maroonB","\\textcolor{##ff92c6}{#1}"),et("\\maroonC","\\textcolor{##ed5fa6}{#1}"),et("\\maroonD","\\textcolor{##ca337c}{#1}"),et("\\maroonE","\\textcolor{##9e034e}{#1}"),et("\\purpleA","\\textcolor{##ddd7ff}{#1}"),et("\\purpleB","\\textcolor{##c6b9fc}{#1}"),et("\\purpleC","\\textcolor{##aa87ff}{#1}"),et("\\purpleD","\\textcolor{##7854ab}{#1}"),et("\\purpleE","\\textcolor{##543b78}{#1}"),et("\\mintA","\\textcolor{##f5f9e8}{#1}"),et("\\mintB","\\textcolor{##edf2df}{#1}"),et("\\mintC","\\textcolor{##e0e5cc}{#1}"),et("\\grayA","\\textcolor{##f6f7f7}{#1}"),et("\\grayB","\\textcolor{##f0f1f2}{#1}"),et("\\grayC","\\textcolor{##e3e5e6}{#1}"),et("\\grayD","\\textcolor{##d6d8da}{#1}"),et("\\grayE","\\textcolor{##babec2}{#1}"),et("\\grayF","\\textcolor{##888d93}{#1}"),et("\\grayG","\\textcolor{##626569}{#1}"),et("\\grayH","\\textcolor{##3b3e40}{#1}"),et("\\grayI","\\textcolor{##21242c}{#1}"),et("\\kaBlue","\\textcolor{##314453}{#1}"),et("\\kaGreen","\\textcolor{##71B307}{#1}");var bqe={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class CVt{constructor(s,u,d){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=u,this.expansionCount=0,this.feed(s),this.macros=new EVt(TVt,u.macros),this.mode=d,this.stack=[]}feed(s){this.lexer=new hqe(s,this.settings)}switchMode(s){this.mode=s}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(s){this.stack.push(s)}pushTokens(s){this.stack.push(...s)}scanArgument(s){var u,d,p;if(s){if(this.consumeSpaces(),this.future().text!=="[")return null;u=this.popToken(),{tokens:p,end:d}=this.consumeArg(["]"])}else({tokens:p,start:u,end:d}=this.consumeArg());return this.pushToken(new U4("EOF",d.loc)),this.pushTokens(p),u.range(d,"")}consumeSpaces(){for(;;){var s=this.future();if(s.text===" ")this.stack.pop();else break}}consumeArg(s){var u=[],d=s&&s.length>0;d||this.consumeSpaces();var p=this.future(),v,b=0,y=0;do{if(v=this.popToken(),u.push(v),v.text==="{")++b;else if(v.text==="}"){if(--b,b===-1)throw new Ci("Extra }",v)}else if(v.text==="EOF")throw new Ci("Unexpected end of input in a macro argument, expected '"+(s&&d?s[y]:"}")+"'",v);if(s&&d)if((b===0||b===1&&s[y]==="{")&&v.text===s[y]){if(++y,y===s.length){u.splice(-y,y);break}}else y=0}while(b!==0||d);return p.text==="{"&&u[u.length-1].text==="}"&&(u.pop(),u.shift()),u.reverse(),{tokens:u,start:p,end:v}}consumeArgs(s,u){if(u){if(u.length!==s+1)throw new Ci("The length of delimiters doesn't match the number of args!");for(var d=u[0],p=0;pthis.settings.maxExpand)throw new Ci("Too many expansions: infinite loop or need to increase maxExpand setting");var v=p.tokens,b=this.consumeArgs(p.numArgs,p.delimiters);if(p.numArgs){v=v.slice();for(var y=v.length-1;y>=0;--y){var T=v[y];if(T.text==="#"){if(y===0)throw new Ci("Incomplete placeholder at end of macro body",T);if(T=v[--y],T.text==="#")v.splice(y+1,1);else if(/^[1-9]$/.test(T.text))v.splice(y,2,...b[+T.text-1]);else throw new Ci("Not a valid argument number",T)}}}return this.pushTokens(v),v.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var s=this.stack.pop();return s.treatAsRelax&&(s.text="\\relax"),s}throw new Error}expandMacro(s){return this.macros.has(s)?this.expandTokens([new U4(s)]):void 0}expandTokens(s){var u=[],d=this.stack.length;for(this.pushTokens(s);this.stack.length>d;)if(this.expandOnce(!0)===!1){var p=this.stack.pop();p.treatAsRelax&&(p.noexpand=!1,p.treatAsRelax=!1),u.push(p)}return u}expandMacroAsText(s){var u=this.expandMacro(s);return u&&u.map(d=>d.text).join("")}_getExpansion(s){var u=this.macros.get(s);if(u==null)return u;if(s.length===1){var d=this.lexer.catcodes[s];if(d!=null&&d!==13)return}var p=typeof u=="function"?u(this):u;if(typeof p=="string"){var v=0;if(p.indexOf("#")!==-1)for(var b=p.replace(/##/g,"");b.indexOf("#"+(v+1))!==-1;)++v;for(var y=new hqe(p,this.settings),T=[],_=y.lex();_.text!=="EOF";)T.push(_),_=y.lex();T.reverse();var A={tokens:T,numArgs:v};return A}return p}isDefined(s){return this.macros.has(s)||L9.hasOwnProperty(s)||Ul.math.hasOwnProperty(s)||Ul.text.hasOwnProperty(s)||bqe.hasOwnProperty(s)}isExpandable(s){var u=this.macros.get(s);return u!=null?typeof u=="string"||typeof u=="function"||!u.unexpandable:L9.hasOwnProperty(s)&&!L9[s].primitive}}var mqe=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,TQ=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Pbe={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},vqe={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class gR{constructor(s,u){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 CVt(s,u,this.mode),this.settings=u,this.leftrightDepth=0}expect(s,u){if(u===void 0&&(u=!0),this.fetch().text!==s)throw new Ci("Expected '"+s+"', got '"+this.fetch().text+"'",this.fetch());u&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(s){this.mode=s,this.gullet.switchMode(s)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var s=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),s}finally{this.gullet.endGroups()}}subparse(s){var u=this.nextToken;this.consume(),this.gullet.pushToken(new U4("}")),this.gullet.pushTokens(s);var d=this.parseExpression(!1);return this.expect("}"),this.nextToken=u,d}parseExpression(s,u){for(var d=[];;){this.mode==="math"&&this.consumeSpaces();var p=this.fetch();if(gR.endOfExpression.indexOf(p.text)!==-1||u&&p.text===u||s&&L9[p.text]&&L9[p.text].infix)break;var v=this.parseAtom(u);if(v){if(v.type==="internal")continue}else break;d.push(v)}return this.mode==="text"&&this.formLigatures(d),this.handleInfixNodes(d)}handleInfixNodes(s){for(var u=-1,d,p=0;p=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+u[0]+'" used in math mode',s);var y=Ul[this.mode][u].group,T=lm.range(s),_;if(dHt.hasOwnProperty(y)){var A=y;_={type:"atom",mode:this.mode,family:A,loc:T,text:u}}else _={type:y,mode:this.mode,loc:T,text:u};b=_}else if(u.charCodeAt(0)>=128)this.settings.strict&&(K$e(u.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+u[0]+'" used in math mode',s):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+u[0]+'"'+(" ("+u.charCodeAt(0)+")"),s)),b={type:"textord",mode:"text",loc:lm.range(s),text:u};else return null;if(this.consume(),v)for(var P=0;P"u"&&(_s.yylloc={});var j0=_s.yylloc;on.push(j0);var pm=_s.options&&_s.options.ranges;typeof tl.yy.parseError=="function"?this.parseError=tl.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ml(){var kh;return kh=At.pop()||_s.lex()||Pa,typeof kh!="number"&&(kh instanceof Array&&(At=kh,kh=At.pop()),kh=qn.symbols_[kh]||kh),kh}for(var Xc,Bc,ja,Ou,Sa={},Po,Fc,xa,Ba;;){if(Bc=Un[Un.length-1],this.defaultActions[Bc]?ja=this.defaultActions[Bc]:((Xc===null||typeof Xc>"u")&&(Xc=Ml()),ja=fn[Bc]&&fn[Bc][Xc]),typeof ja>"u"||!ja.length||!ja[0]){var ga="";Ba=[];for(Po in fn[Bc])this.terminals_[Po]&&Po>$o&&Ba.push("'"+this.terminals_[Po]+"'");_s.showPosition?ga="Parse error on line "+(oo+1)+`: +`+_s.showPosition()+` +Expecting `+Ba.join(", ")+", got '"+(this.terminals_[Xc]||Xc)+"'":ga="Parse error on line "+(oo+1)+": Unexpected "+(Xc==Pa?"end of input":"'"+(this.terminals_[Xc]||Xc)+"'"),this.parseError(ga,{text:_s.match,token:this.terminals_[Xc]||Xc,line:_s.yylineno,loc:j0,expected:Ba})}if(ja[0]instanceof Array&&ja.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Bc+", token: "+Xc);switch(ja[0]){case 1:Un.push(Xc),wt.push(_s.yytext),on.push(_s.yylloc),Un.push(ja[1]),Xc=null,jo=_s.yyleng,An=_s.yytext,oo=_s.yylineno,j0=_s.yylloc;break;case 2:if(Fc=this.productions_[ja[1]][1],Sa.$=wt[wt.length-Fc],Sa._$={first_line:on[on.length-(Fc||1)].first_line,last_line:on[on.length-1].last_line,first_column:on[on.length-(Fc||1)].first_column,last_column:on[on.length-1].last_column},pm&&(Sa._$.range=[on[on.length-(Fc||1)].range[0],on[on.length-1].range[1]]),Ou=this.performAction.apply(Sa,[An,jo,oo,tl.yy,ja[1],wt,on].concat(wo)),typeof Ou<"u")return Ou;Fc&&(Un=Un.slice(0,-1*Fc*2),wt=wt.slice(0,-1*Fc),on=on.slice(0,-1*Fc)),Un.push(this.productions_[ja[1]][0]),wt.push(Sa.$),on.push(Sa._$),xa=fn[Un[Un.length-2]][Un[Un.length-1]],Un.push(xa);break;case 3:return!0}}return!0}},zs=function(){var Tr={EOF:1,parseError:function(qn,Un){if(this.yy.parser)this.yy.parser.parseError(qn,Un);else throw new Error(qn)},setInput:function(Fn,qn){return this.yy=qn||this.yy||{},this._input=Fn,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Fn=this._input[0];this.yytext+=Fn,this.yyleng++,this.offset++,this.match+=Fn,this.matched+=Fn;var qn=Fn.match(/(?:\r\n?|\n).*/g);return qn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Fn},unput:function(Fn){var qn=Fn.length,Un=Fn.split(/(?:\r\n?|\n)/g);this._input=Fn+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-qn),this.offset-=qn;var At=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),Un.length-1&&(this.yylineno-=Un.length-1);var wt=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:Un?(Un.length===At.length?this.yylloc.first_column:0)+At[At.length-Un.length].length-Un[0].length:this.yylloc.first_column-qn},this.options.ranges&&(this.yylloc.range=[wt[0],wt[0]+this.yyleng-qn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Fn){this.unput(this.match.slice(Fn))},pastInput:function(){var Fn=this.matched.substr(0,this.matched.length-this.match.length);return(Fn.length>20?"...":"")+Fn.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Fn=this.match;return Fn.length<20&&(Fn+=this._input.substr(0,20-Fn.length)),(Fn.substr(0,20)+(Fn.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Fn=this.pastInput(),qn=new Array(Fn.length+1).join("-");return Fn+this.upcomingInput()+` +`+qn+"^"},test_match:function(Fn,qn){var Un,At,wt;if(this.options.backtrack_lexer&&(wt={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&&(wt.yylloc.range=this.yylloc.range.slice(0))),At=Fn[0].match(/(?:\r\n?|\n).*/g),At&&(this.yylineno+=At.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:At?At[At.length-1].length-At[At.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Fn[0].length},this.yytext+=Fn[0],this.match+=Fn[0],this.matches=Fn,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(Fn[0].length),this.matched+=Fn[0],Un=this.performAction.call(this,this.yy,this,qn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Un)return Un;if(this._backtrack){for(var on in wt)this[on]=wt[on];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Fn,qn,Un,At;this._more||(this.yytext="",this.match="");for(var wt=this._currentRules(),on=0;onqn[0].length)){if(qn=Un,At=on,this.options.backtrack_lexer){if(Fn=this.test_match(Un,wt[on]),Fn!==!1)return Fn;if(this._backtrack){qn=!1;continue}else return!1}else if(!this.options.flex)break}return qn?(Fn=this.test_match(qn,wt[At]),Fn!==!1?Fn:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var qn=this.next();return qn||this.lex()},begin:function(qn){this.conditionStack.push(qn)},popState:function(){var qn=this.conditionStack.length-1;return qn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(qn){return qn=this.conditionStack.length-1-Math.abs(qn||0),qn>=0?this.conditionStack[qn]:"INITIAL"},pushState:function(qn){this.begin(qn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(qn,Un,At,wt){switch(At){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11: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;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68: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";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}},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 Tr}();Ma.lexer=zs;function ao(){this.yy={}}return ao.prototype=Ma,Ma.Parser=ao,new ao}();CQ.parser=CQ;const DVt=CQ;let R3=[],M9=[""],Op="global",j3="",Q4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],pR=[],Rbe="",jbe=!1,SQ=4,_Q=2;var xqe;const IVt=function(){return xqe},OVt=function(i){xqe=Yf(i,qt())},NVt=function(i,s,u,d,p,v,b,y,T){if(i==null||s===void 0||s===null||u===void 0||u===null||d===void 0||d===null)return;let _={};const A=pR.find(P=>P.from===s&&P.to===u);if(A?_=A:pR.push(_),_.type=i,_.from=s,_.to=u,_.label={text:d},p==null)_.techn={text:""};else if(typeof p=="object"){let[P,R]=Object.entries(p)[0];_[P]={text:R}}else _.techn={text:p};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[P,R]=Object.entries(v)[0];_[P]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[P,R]=Object.entries(b)[0];_[P]=R}else _.sprite=b;if(typeof y=="object"){let[P,R]=Object.entries(y)[0];_[P]=R}else _.tags=y;if(typeof T=="object"){let[P,R]=Object.entries(T)[0];_[P]=R}else _.link=T;_.wrap=D9()},PVt=function(i,s,u,d,p,v,b){if(s===null||u===null)return;let y={};const T=R3.find(_=>_.alias===s);if(T&&s===T.alias?y=T:(y.alias=s,R3.push(y)),u==null?y.label={text:""}:y.label={text:u},d==null)y.descr={text:""};else if(typeof d=="object"){let[_,A]=Object.entries(d)[0];y[_]={text:A}}else y.descr={text:d};if(typeof p=="object"){let[_,A]=Object.entries(p)[0];y[_]=A}else y.sprite=p;if(typeof v=="object"){let[_,A]=Object.entries(v)[0];y[_]=A}else y.tags=v;if(typeof b=="object"){let[_,A]=Object.entries(b)[0];y[_]=A}else y.link=b;y.typeC4Shape={text:i},y.parentBoundary=Op,y.wrap=D9()},BVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=R3.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,R3.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.techn={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];T[A]=P}else T.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.wrap=D9(),T.typeC4Shape={text:i},T.parentBoundary=Op},FVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=R3.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,R3.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.techn={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];T[A]=P}else T.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.wrap=D9(),T.typeC4Shape={text:i},T.parentBoundary=Op},RVt=function(i,s,u,d,p){if(i===null||s===null)return;let v={};const b=Q4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Q4.push(v)),s==null?v.label={text:""}:v.label={text:s},u==null)v.type={text:"system"};else if(typeof u=="object"){let[y,T]=Object.entries(u)[0];v[y]={text:T}}else v.type={text:u};if(typeof d=="object"){let[y,T]=Object.entries(d)[0];v[y]=T}else v.tags=d;if(typeof p=="object"){let[y,T]=Object.entries(p)[0];v[y]=T}else v.link=p;v.parentBoundary=Op,v.wrap=D9(),j3=Op,Op=i,M9.push(j3)},jVt=function(i,s,u,d,p){if(i===null||s===null)return;let v={};const b=Q4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Q4.push(v)),s==null?v.label={text:""}:v.label={text:s},u==null)v.type={text:"container"};else if(typeof u=="object"){let[y,T]=Object.entries(u)[0];v[y]={text:T}}else v.type={text:u};if(typeof d=="object"){let[y,T]=Object.entries(d)[0];v[y]=T}else v.tags=d;if(typeof p=="object"){let[y,T]=Object.entries(p)[0];v[y]=T}else v.link=p;v.parentBoundary=Op,v.wrap=D9(),j3=Op,Op=i,M9.push(j3)},$Vt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=Q4.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,Q4.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.type={text:"node"};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.type={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.nodeType=i,T.parentBoundary=Op,T.wrap=D9(),j3=Op,Op=s,M9.push(j3)},zVt=function(){Op=j3,M9.pop(),j3=M9.pop(),M9.push(j3)},qVt=function(i,s,u,d,p,v,b,y,T,_,A){let P=R3.find(R=>R.alias===s);if(!(P===void 0&&(P=Q4.find(R=>R.alias===s),P===void 0))){if(u!=null)if(typeof u=="object"){let[R,F]=Object.entries(u)[0];P[R]=F}else P.bgColor=u;if(d!=null)if(typeof d=="object"){let[R,F]=Object.entries(d)[0];P[R]=F}else P.fontColor=d;if(p!=null)if(typeof p=="object"){let[R,F]=Object.entries(p)[0];P[R]=F}else P.borderColor=p;if(v!=null)if(typeof v=="object"){let[R,F]=Object.entries(v)[0];P[R]=F}else P.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,F]=Object.entries(b)[0];P[R]=F}else P.shape=b;if(y!=null)if(typeof y=="object"){let[R,F]=Object.entries(y)[0];P[R]=F}else P.sprite=y;if(T!=null)if(typeof T=="object"){let[R,F]=Object.entries(T)[0];P[R]=F}else P.techn=T;if(_!=null)if(typeof _=="object"){let[R,F]=Object.entries(_)[0];P[R]=F}else P.legendText=_;if(A!=null)if(typeof A=="object"){let[R,F]=Object.entries(A)[0];P[R]=F}else P.legendSprite=A}},HVt=function(i,s,u,d,p,v,b){const y=pR.find(T=>T.from===s&&T.to===u);if(y!==void 0){if(d!=null)if(typeof d=="object"){let[T,_]=Object.entries(d)[0];y[T]=_}else y.textColor=d;if(p!=null)if(typeof p=="object"){let[T,_]=Object.entries(p)[0];y[T]=_}else y.lineColor=p;if(v!=null)if(typeof v=="object"){let[T,_]=Object.entries(v)[0];y[T]=parseInt(_)}else y.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[T,_]=Object.entries(b)[0];y[T]=parseInt(_)}else y.offsetY=parseInt(b)}},VVt=function(i,s,u){let d=SQ,p=_Q;if(typeof s=="object"){const v=Object.values(s)[0];d=parseInt(v)}else d=parseInt(s);if(typeof u=="object"){const v=Object.values(u)[0];p=parseInt(v)}else p=parseInt(u);d>=1&&(SQ=d),p>=1&&(_Q=p)},UVt=function(){return SQ},GVt=function(){return _Q},KVt=function(){return Op},WVt=function(){return j3},kqe=function(i){return i==null?R3:R3.filter(s=>s.parentBoundary===i)},YVt=function(i){return R3.find(s=>s.alias===i)},XVt=function(i){return Object.keys(kqe(i))},Eqe=function(i){return i==null?Q4:Q4.filter(s=>s.parentBoundary===i)},QVt=Eqe,JVt=function(){return pR},ZVt=function(){return Rbe},eUt=function(i){jbe=i},D9=function(){return jbe},$be={addPersonOrSystem:PVt,addPersonOrSystemBoundary:RVt,addContainer:BVt,addContainerBoundary:jVt,addComponent:FVt,addDeploymentNode:$Vt,popBoundaryParseStack:zVt,addRel:NVt,updateElStyle:qVt,updateRelStyle:HVt,updateLayoutConfig:VVt,autoWrap:D9,setWrap:eUt,getC4ShapeArray:kqe,getC4Shape:YVt,getC4ShapeKeys:XVt,getBoundaries:Eqe,getBoundarys:QVt,getCurrentBoundaryParse:KVt,getParentBoundaryParse:WVt,getRels:JVt,getTitle:ZVt,getC4Type:IVt,getC4ShapeInRow:UVt,getC4BoundaryInRow:GVt,setAccTitle:Bg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,getConfig:()=>qt().c4,clear:function(){R3=[],Q4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],j3="",Op="global",M9=[""],pR=[],M9=[""],Rbe="",jbe=!1,SQ=4,_Q=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Rbe=Yf(i,qt())},setC4Type:OVt},AQ=(i,s)=>{const u=i.append("rect");if(u.attr("x",s.x),u.attr("y",s.y),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("width",s.width),u.attr("height",s.height),s.name&&u.attr("name",s.name),s.rx!==void 0&&u.attr("rx",s.rx),s.ry!==void 0&&u.attr("ry",s.ry),s.attrs!==void 0)for(const d in s.attrs)u.attr(d,s.attrs[d]);return s.class!==void 0&&u.attr("class",s.class),u},Tqe=(i,s)=>{const u={x:s.startx,y:s.starty,width:s.stopx-s.startx,height:s.stopy-s.starty,fill:s.fill,stroke:s.stroke,class:"rect"};AQ(i,u).lower()},tUt=(i,s)=>{const u=s.text.replace(fD," "),d=i.append("text");d.attr("x",s.x),d.attr("y",s.y),d.attr("class","legend"),d.style("text-anchor",s.anchor),s.class!==void 0&&d.attr("class",s.class);const p=d.append("tspan");return p.attr("x",s.x+s.textMargin*2),p.text(u),d},nUt=(i,s,u,d)=>{const p=i.append("image");p.attr("x",s),p.attr("y",u);const v=p9.sanitizeUrl(d);p.attr("xlink:href",v)},rUt=(i,s,u,d)=>{const p=i.append("use");p.attr("x",s),p.attr("y",u);const v=p9.sanitizeUrl(d);p.attr("xlink:href",`#${v}`)},qC=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),zbe=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),qbe=function(i,s){return AQ(i,s)},Cqe=function(i,s,u,d,p,v){const b=i.append("image");b.attr("width",s),b.attr("height",u),b.attr("x",d),b.attr("y",p);let y=v.startsWith("data:image/png;base64")?v:p9.sanitizeUrl(v);b.attr("xlink:href",y)},iUt=(i,s,u)=>{const d=i.append("g");let p=0;for(let v of s){let b=v.textColor?v.textColor:"#444444",y=v.lineColor?v.lineColor:"#444444",T=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,A="";if(p===0){let R=d.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",y),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)"),p=-1}else{let R=d.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",y).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)")}let P=u.messageFont();F7(u)(v.label.text,d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+T,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},P),v.techn&&v.techn.text!==""&&(P=u.messageFont(),F7(u)("["+v.techn.text+"]",d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+T,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+u.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},P))}},sUt=function(i,s,u){const d=i.append("g");let p=s.bgColor?s.bgColor:"none",v=s.borderColor?s.borderColor:"#444444",b=s.fontColor?s.fontColor:"black",y={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};s.nodeType&&(y={"stroke-width":1});let T={x:s.x,y:s.y,fill:p,stroke:v,width:s.width,height:s.height,rx:2.5,ry:2.5,attrs:y};qbe(d,T);let _=u.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,F7(u)(s.label.text,d,s.x,s.y+s.label.Y,s.width,s.height,{fill:"#444444"},_),s.type&&s.type.text!==""&&(_=u.boundaryFont(),_.fontColor=b,F7(u)(s.type.text,d,s.x,s.y+s.type.Y,s.width,s.height,{fill:"#444444"},_)),s.descr&&s.descr.text!==""&&(_=u.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,F7(u)(s.descr.text,d,s.x,s.y+s.descr.Y,s.width,s.height,{fill:"#444444"},_))},aUt=function(i,s,u){var P;let d=s.bgColor?s.bgColor:u[s.typeC4Shape.text+"_bg_color"],p=s.borderColor?s.borderColor:u[s.typeC4Shape.text+"_border_color"],v=s.fontColor?s.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(s.typeC4Shape.text){case"person":b="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":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const y=i.append("g");y.attr("class","person-man");const T=qC();switch(s.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":T.x=s.x,T.y=s.y,T.fill=d,T.width=s.width,T.height=s.height,T.stroke=p,T.rx=2.5,T.ry=2.5,T.attrs={"stroke-width":.5},qbe(y,T);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",s.x).replaceAll("starty",s.y).replaceAll("half",s.width/2).replaceAll("height",s.height)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",s.x).replaceAll("starty",s.y).replaceAll("half",s.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",s.x).replaceAll("starty",s.y).replaceAll("width",s.width).replaceAll("half",s.height/2)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",s.x+s.width).replaceAll("starty",s.y).replaceAll("half",s.height/2));break}let _=pUt(u,s.typeC4Shape.text);switch(y.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",s.typeC4Shape.width).attr("x",s.x+s.width/2-s.typeC4Shape.width/2).attr("y",s.y+s.typeC4Shape.Y).text("<<"+s.typeC4Shape.text+">>"),s.typeC4Shape.text){case"person":case"external_person":Cqe(y,48,48,s.x+s.width/2-24,s.y+s.image.Y,b);break}let A=u[s.typeC4Shape.text+"Font"]();return A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=v,F7(u)(s.label.text,y,s.x,s.y+s.label.Y,s.width,s.height,{fill:v},A),A=u[s.typeC4Shape.text+"Font"](),A.fontColor=v,s.techn&&((P=s.techn)==null?void 0:P.text)!==""?F7(u)(s.techn.text,y,s.x,s.y+s.techn.Y,s.width,s.height,{fill:v,"font-style":"italic"},A):s.type&&s.type.text!==""&&F7(u)(s.type.text,y,s.x,s.y+s.type.Y,s.width,s.height,{fill:v,"font-style":"italic"},A),s.descr&&s.descr.text!==""&&(A=u.personFont(),A.fontColor=v,F7(u)(s.descr.text,y,s.x,s.y+s.descr.Y,s.width,s.height,{fill:v},A)),s.height},oUt=function(i){i.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")},cUt=function(i){i.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")},uUt=function(i){i.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")},lUt=function(i){i.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")},hUt=function(i){i.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")},fUt=function(i){i.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")},dUt=function(i){i.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)},gUt=function(i){const u=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);u.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"),u.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")},pUt=(i,s)=>({fontFamily:i[s+"FontFamily"],fontSize:i[s+"FontSize"],fontWeight:i[s+"FontWeight"]}),F7=function(){function i(p,v,b,y,T,_,A){const P=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("text-anchor","middle").text(p);d(P,A)}function s(p,v,b,y,T,_,A,P){const{fontSize:R,fontFamily:F,fontWeight:j}=P,K=p.split(ci.lineBreakRegex);for(let ee=0;ee=this.data.widthLimit||d>=this.data.widthLimit||this.nextData.cnt>Sqe)&&(u=this.nextData.startx+s.margin+$s.nextLinePaddingX,p=this.nextData.stopy+s.margin*2,this.nextData.stopx=d=u+s.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=p+s.height,this.nextData.cnt=1),s.x=u,s.y=p,this.updateVal(this.data,"startx",u,Math.min),this.updateVal(this.data,"starty",p,Math.min),this.updateVal(this.data,"stopx",d,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",u,Math.min),this.updateVal(this.nextData,"starty",p,Math.min),this.updateVal(this.nextData,"stopx",d,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(s){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},Vbe(s.db.getConfig())}bumpLastMargin(s){this.data.stopx+=s,this.data.stopy+=s}}const Vbe=function(i){id($s,i),i.fontFamily&&($s.personFontFamily=$s.systemFontFamily=$s.messageFontFamily=i.fontFamily),i.fontSize&&($s.personFontSize=$s.systemFontSize=$s.messageFontSize=i.fontSize),i.fontWeight&&($s.personFontWeight=$s.systemFontWeight=$s.messageFontWeight=i.fontWeight)},bR=(i,s)=>({fontFamily:i[s+"FontFamily"],fontSize:i[s+"FontSize"],fontWeight:i[s+"FontWeight"]}),DQ=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),bUt=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function $3(i,s,u,d,p){if(!s[i].width)if(u)s[i].text=vje(s[i].text,p,d),s[i].textLines=s[i].text.split(ci.lineBreakRegex).length,s[i].width=p,s[i].height=E2e(s[i].text,d);else{let v=s[i].text.split(ci.lineBreakRegex);s[i].textLines=v.length;let b=0;s[i].height=0,s[i].width=0;for(const y of v)s[i].width=Math.max(H4(y,d),s[i].width),b=E2e(y,d),s[i].height=s[i].height+b}}const Aqe=function(i,s,u){s.x=u.data.startx,s.y=u.data.starty,s.width=u.data.stopx-u.data.startx,s.height=u.data.stopy-u.data.starty,s.label.y=$s.c4ShapeMargin-35;let d=s.wrap&&$s.wrap,p=DQ($s);p.fontSize=p.fontSize+2,p.fontWeight="bold";let v=H4(s.label.text,p);$3("label",s,d,p,v),J4.drawBoundary(i,s,$s)},Lqe=function(i,s,u,d){let p=0;for(const v of d){p=0;const b=u[v];let y=bR($s,b.typeC4Shape.text);switch(y.fontSize=y.fontSize-2,b.typeC4Shape.width=H4("«"+b.typeC4Shape.text+"»",y),b.typeC4Shape.height=y.fontSize+2,b.typeC4Shape.Y=$s.c4ShapePadding,p=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height);let T=b.wrap&&$s.wrap,_=$s.width-$s.c4ShapePadding*2,A=bR($s,b.typeC4Shape.text);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",$3("label",b,T,A,_),b.label.Y=p+8,p=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let F=bR($s,b.typeC4Shape.text);$3("type",b,T,F,_),b.type.Y=p+5,p=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let F=bR($s,b.techn.text);$3("techn",b,T,F,_),b.techn.Y=p+5,p=b.techn.Y+b.techn.height}let P=p,R=b.label.width;if(b.descr&&b.descr.text!==""){let F=bR($s,b.typeC4Shape.text);$3("descr",b,T,F,_),b.descr.Y=p+20,p=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),P=p-b.descr.textLines*5}R=R+$s.c4ShapePadding,b.width=Math.max(b.width||$s.width,R,$s.width),b.height=Math.max(b.height||$s.height,P,$s.height),b.margin=b.margin||$s.c4ShapeMargin,i.insert(b),J4.drawC4Shape(s,b,$s)}i.bumpLastMargin($s.c4ShapeMargin)};let jv=class{constructor(s,u){this.x=s,this.y=u}},Mqe=function(i,s){let u=i.x,d=i.y,p=s.x,v=s.y,b=u+i.width/2,y=d+i.height/2,T=Math.abs(u-p),_=Math.abs(d-v),A=_/T,P=i.height/i.width,R=null;return d==v&&up?R=new jv(u,y):u==p&&dv&&(R=new jv(b,d)),u>p&&d=A?R=new jv(u,y+A*i.width/2):R=new jv(b-T/_*i.height/2,d+i.height):u=A?R=new jv(u+i.width,y+A*i.width/2):R=new jv(b+T/_*i.height/2,d+i.height):uv?P>=A?R=new jv(u+i.width,y-A*i.width/2):R=new jv(b+i.height/2*T/_,d):u>p&&d>v&&(P>=A?R=new jv(u,y-i.width/2*A):R=new jv(b-i.height/2*T/_,d)),R},mUt=function(i,s){let u={x:0,y:0};u.x=s.x+s.width/2,u.y=s.y+s.height/2;let d=Mqe(i,u);u.x=i.x+i.width/2,u.y=i.y+i.height/2;let p=Mqe(s,u);return{startPoint:d,endPoint:p}};const vUt=function(i,s,u,d){let p=0;for(let v of s){p=p+1;let b=v.wrap&&$s.wrap,y=bUt($s);d.db.getC4Type()==="C4Dynamic"&&(v.label.text=p+": "+v.label.text);let _=H4(v.label.text,y);$3("label",v,b,y,_),v.techn&&v.techn.text!==""&&(_=H4(v.techn.text,y),$3("techn",v,b,y,_)),v.descr&&v.descr.text!==""&&(_=H4(v.descr.text,y),$3("descr",v,b,y,_));let A=u(v.from),P=u(v.to),R=mUt(A,P);v.startPoint=R.startPoint,v.endPoint=R.endPoint}J4.drawRels(i,s,$s)};function Dqe(i,s,u,d,p){let v=new _qe(p);v.data.widthLimit=u.data.widthLimit/Math.min(Hbe,d.length);for(let[b,y]of d.entries()){let T=0;y.image={width:0,height:0,Y:0},y.sprite&&(y.image.width=48,y.image.height=48,y.image.Y=T,T=y.image.Y+y.image.height);let _=y.wrap&&$s.wrap,A=DQ($s);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",$3("label",y,_,A,v.data.widthLimit),y.label.Y=T+8,T=y.label.Y+y.label.height,y.type&&y.type.text!==""){y.type.text="["+y.type.text+"]";let j=DQ($s);$3("type",y,_,j,v.data.widthLimit),y.type.Y=T+5,T=y.type.Y+y.type.height}if(y.descr&&y.descr.text!==""){let j=DQ($s);j.fontSize=j.fontSize-2,$3("descr",y,_,j,v.data.widthLimit),y.descr.Y=T+20,T=y.descr.Y+y.descr.height}if(b==0||b%Hbe===0){let j=u.data.startx+$s.diagramMarginX,K=u.data.stopy+$s.diagramMarginY+T;v.setData(j,j,K,K)}else{let j=v.data.stopx!==v.data.startx?v.data.stopx+$s.diagramMarginX:v.data.startx,K=v.data.starty;v.setData(j,j,K,K)}v.name=y.alias;let P=p.db.getC4ShapeArray(y.alias),R=p.db.getC4ShapeKeys(y.alias);R.length>0&&Lqe(v,i,P,R),s=y.alias;let F=p.db.getBoundarys(s);F.length>0&&Dqe(i,s,v,F,p),y.alias!=="global"&&Aqe(i,y,v),u.data.stopy=Math.max(v.data.stopy+$s.c4ShapeMargin,u.data.stopy),u.data.stopx=Math.max(v.data.stopx+$s.c4ShapeMargin,u.data.stopx),LQ=Math.max(LQ,u.data.stopx),MQ=Math.max(MQ,u.data.stopy)}}const Iqe={drawPersonOrSystemArray:Lqe,drawBoundary:Aqe,setConf:Vbe,draw:function(i,s,u,d){$s=qt().c4;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const b=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body");let y=d.db;d.db.setWrap($s.wrap),Sqe=y.getC4ShapeInRow(),Hbe=y.getC4BoundaryInRow(),Xe.debug(`C:${JSON.stringify($s,null,2)}`);const T=p==="sandbox"?b.select(`[id="${s}"]`):Ir(`[id="${s}"]`);J4.insertComputerIcon(T),J4.insertDatabaseIcon(T),J4.insertClockIcon(T);let _=new _qe(d);_.setData($s.diagramMarginX,$s.diagramMarginX,$s.diagramMarginY,$s.diagramMarginY),_.data.widthLimit=screen.availWidth,LQ=$s.diagramMarginX,MQ=$s.diagramMarginY;const A=d.db.getTitle();let P=d.db.getBoundarys("");Dqe(T,"",_,P,d),J4.insertArrowHead(T),J4.insertArrowEnd(T),J4.insertArrowCrossHead(T),J4.insertArrowFilledHead(T),vUt(T,d.db.getRels(),d.db.getC4Shape,d),_.data.stopx=LQ,_.data.stopy=MQ;const R=_.data;let j=R.stopy-R.starty+2*$s.diagramMarginY;const ee=R.stopx-R.startx+2*$s.diagramMarginX;A&&T.append("text").text(A).attr("x",(R.stopx-R.startx)/2-4*$s.diagramMarginX).attr("y",R.starty+$s.diagramMarginY),Ng(T,j,ee,$s.useMaxWidth);const ie=A?60:0;T.attr("viewBox",R.startx-$s.diagramMarginX+" -"+($s.diagramMarginY+ie)+" "+ee+" "+(j+ie)),Xe.debug("models:",R)}},wUt=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:DVt,db:$be,renderer:Iqe,styles:i=>`.person { + stroke: ${i.personBorder}; + fill: ${i.personBkg}; + } +`,init:({c4:i,wrap:s})=>{Iqe.setConf(i),$be.setWrap(s)}}},Symbol.toStringTag,{value:"Module"}));var Ube=function(){var i=function($0,Wi,Bs,Qa){for(Bs=Bs||{},Qa=$0.length;Qa--;Bs[$0[Qa]]=Wi);return Bs},s=[1,4],u=[1,3],d=[1,5],p=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],v=[2,2],b=[1,13],y=[1,14],T=[1,15],_=[1,16],A=[1,23],P=[1,25],R=[1,26],F=[1,27],j=[1,49],K=[1,48],ee=[1,29],ie=[1,30],oe=[1,31],pe=[1,32],be=[1,33],ae=[1,44],ne=[1,46],se=[1,42],de=[1,47],X=[1,43],ge=[1,50],W=[1,45],xe=[1,51],U=[1,52],Fe=[1,34],Pe=[1,35],je=[1,36],Ie=[1,37],Se=[1,57],Ce=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],ke=[1,61],Ke=[1,60],Ft=[1,62],Ne=[8,9,11,73,75],gn=[1,88],_t=[1,93],Et=[1,92],Gt=[1,89],ln=[1,85],xt=[1,91],Pt=[1,87],Qe=[1,94],Dt=[1,90],kt=[1,95],On=[1,86],ht=[8,9,10,11,73,75],zr=[8,9,10,11,44,73,75],yt=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],ji=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],xi=[42,58,86,99,102,103,106,108,111,112,113],Ma=[1,121],zs=[1,120],ao=[1,128],Tr=[1,142],Fn=[1,143],qn=[1,144],Un=[1,145],At=[1,130],wt=[1,132],on=[1,136],fn=[1,137],An=[1,138],oo=[1,139],jo=[1,140],$o=[1,141],Pa=[1,146],wo=[1,147],_s=[1,126],tl=[1,127],da=[1,134],j0=[1,129],pm=[1,133],Ml=[1,131],Xc=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Bc=[1,149],ja=[8,9,11],Ou=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Sa=[1,169],Po=[1,165],Fc=[1,166],xa=[1,170],Ba=[1,167],ga=[1,168],kh=[75,113,116],lu=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],o5=[10,103],Wh=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],od=[1,235],Gd=[1,233],cd=[1,237],Kd=[1,231],$g=[1,232],as=[1,234],wn=[1,236],Zr=[1,238],Zi=[1,255],nu=[8,9,11,103],vu=[8,9,10,11,58,81,102,103,106,107,108,109],Dl={trace:function(){},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,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$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",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"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],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,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],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(Wi,Bs,Qa,Bi,Nu,Ot,W3){var Kt=Ot.length-1;switch(Nu){case 2:this.$=[];break;case 3:(!Array.isArray(Ot[Kt])||Ot[Kt].length>0)&&Ot[Kt-1].push(Ot[Kt]),this.$=Ot[Kt-1];break;case 4:case 176:this.$=Ot[Kt];break;case 11:Bi.setDirection("TB"),this.$="TB";break;case 12:Bi.setDirection(Ot[Kt-1]),this.$=Ot[Kt-1];break;case 27:this.$=Ot[Kt-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Bi.addSubGraph(Ot[Kt-6],Ot[Kt-1],Ot[Kt-4]);break;case 34:this.$=Bi.addSubGraph(Ot[Kt-3],Ot[Kt-1],Ot[Kt-3]);break;case 35:this.$=Bi.addSubGraph(void 0,Ot[Kt-1],void 0);break;case 37:this.$=Ot[Kt].trim(),Bi.setAccTitle(this.$);break;case 38:case 39:this.$=Ot[Kt].trim(),Bi.setAccDescription(this.$);break;case 43:Bi.addLink(Ot[Kt-2].stmt,Ot[Kt],Ot[Kt-1]),this.$={stmt:Ot[Kt],nodes:Ot[Kt].concat(Ot[Kt-2].nodes)};break;case 44:Bi.addLink(Ot[Kt-3].stmt,Ot[Kt-1],Ot[Kt-2]),this.$={stmt:Ot[Kt-1],nodes:Ot[Kt-1].concat(Ot[Kt-3].nodes)};break;case 45:this.$={stmt:Ot[Kt-1],nodes:Ot[Kt-1]};break;case 46:this.$={stmt:Ot[Kt],nodes:Ot[Kt]};break;case 47:this.$=[Ot[Kt]];break;case 48:this.$=Ot[Kt-4].concat(Ot[Kt]);break;case 49:this.$=Ot[Kt];break;case 50:this.$=Ot[Kt-2],Bi.setClass(Ot[Kt-2],Ot[Kt]);break;case 51:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"square");break;case 52:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"doublecircle");break;case 53:this.$=Ot[Kt-5],Bi.addVertex(Ot[Kt-5],Ot[Kt-2],"circle");break;case 54:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"ellipse");break;case 55:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"stadium");break;case 56:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"subroutine");break;case 57:this.$=Ot[Kt-7],Bi.addVertex(Ot[Kt-7],Ot[Kt-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ot[Kt-5],Ot[Kt-3]]]));break;case 58:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"cylinder");break;case 59:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"round");break;case 60:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"diamond");break;case 61:this.$=Ot[Kt-5],Bi.addVertex(Ot[Kt-5],Ot[Kt-2],"hexagon");break;case 62:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"odd");break;case 63:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"trapezoid");break;case 64:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"inv_trapezoid");break;case 65:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"lean_right");break;case 66:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"lean_left");break;case 67:this.$=Ot[Kt],Bi.addVertex(Ot[Kt]);break;case 68:Ot[Kt-1].text=Ot[Kt],this.$=Ot[Kt-1];break;case 69:case 70:Ot[Kt-2].text=Ot[Kt-1],this.$=Ot[Kt-2];break;case 71:this.$=Ot[Kt];break;case 72:var z0=Bi.destructLink(Ot[Kt],Ot[Kt-2]);this.$={type:z0.type,stroke:z0.stroke,length:z0.length,text:Ot[Kt-1]};break;case 73:this.$={text:Ot[Kt],type:"text"};break;case 74:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 75:this.$={text:Ot[Kt],type:"string"};break;case 76:this.$={text:Ot[Kt],type:"markdown"};break;case 77:var z0=Bi.destructLink(Ot[Kt]);this.$={type:z0.type,stroke:z0.stroke,length:z0.length};break;case 78:this.$=Ot[Kt-1];break;case 79:this.$={text:Ot[Kt],type:"text"};break;case 80:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 81:this.$={text:Ot[Kt],type:"string"};break;case 82:case 97:this.$={text:Ot[Kt],type:"markdown"};break;case 94:this.$={text:Ot[Kt],type:"text"};break;case 95:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 96:this.$={text:Ot[Kt],type:"text"};break;case 98:this.$=Ot[Kt-4],Bi.addClass(Ot[Kt-2],Ot[Kt]);break;case 99:this.$=Ot[Kt-4],Bi.setClass(Ot[Kt-2],Ot[Kt]);break;case 100:case 108:this.$=Ot[Kt-1],Bi.setClickEvent(Ot[Kt-1],Ot[Kt]);break;case 101:case 109:this.$=Ot[Kt-3],Bi.setClickEvent(Ot[Kt-3],Ot[Kt-2]),Bi.setTooltip(Ot[Kt-3],Ot[Kt]);break;case 102:this.$=Ot[Kt-2],Bi.setClickEvent(Ot[Kt-2],Ot[Kt-1],Ot[Kt]);break;case 103:this.$=Ot[Kt-4],Bi.setClickEvent(Ot[Kt-4],Ot[Kt-3],Ot[Kt-2]),Bi.setTooltip(Ot[Kt-4],Ot[Kt]);break;case 104:this.$=Ot[Kt-2],Bi.setLink(Ot[Kt-2],Ot[Kt]);break;case 105:this.$=Ot[Kt-4],Bi.setLink(Ot[Kt-4],Ot[Kt-2]),Bi.setTooltip(Ot[Kt-4],Ot[Kt]);break;case 106:this.$=Ot[Kt-4],Bi.setLink(Ot[Kt-4],Ot[Kt-2],Ot[Kt]);break;case 107:this.$=Ot[Kt-6],Bi.setLink(Ot[Kt-6],Ot[Kt-4],Ot[Kt]),Bi.setTooltip(Ot[Kt-6],Ot[Kt-2]);break;case 110:this.$=Ot[Kt-1],Bi.setLink(Ot[Kt-1],Ot[Kt]);break;case 111:this.$=Ot[Kt-3],Bi.setLink(Ot[Kt-3],Ot[Kt-2]),Bi.setTooltip(Ot[Kt-3],Ot[Kt]);break;case 112:this.$=Ot[Kt-3],Bi.setLink(Ot[Kt-3],Ot[Kt-2],Ot[Kt]);break;case 113:this.$=Ot[Kt-5],Bi.setLink(Ot[Kt-5],Ot[Kt-4],Ot[Kt]),Bi.setTooltip(Ot[Kt-5],Ot[Kt-2]);break;case 114:this.$=Ot[Kt-4],Bi.addVertex(Ot[Kt-2],void 0,void 0,Ot[Kt]);break;case 115:this.$=Ot[Kt-4],Bi.updateLink([Ot[Kt-2]],Ot[Kt]);break;case 116:this.$=Ot[Kt-4],Bi.updateLink(Ot[Kt-2],Ot[Kt]);break;case 117:this.$=Ot[Kt-8],Bi.updateLinkInterpolate([Ot[Kt-6]],Ot[Kt-2]),Bi.updateLink([Ot[Kt-6]],Ot[Kt]);break;case 118:this.$=Ot[Kt-8],Bi.updateLinkInterpolate(Ot[Kt-6],Ot[Kt-2]),Bi.updateLink(Ot[Kt-6],Ot[Kt]);break;case 119:this.$=Ot[Kt-6],Bi.updateLinkInterpolate([Ot[Kt-4]],Ot[Kt]);break;case 120:this.$=Ot[Kt-6],Bi.updateLinkInterpolate(Ot[Kt-4],Ot[Kt]);break;case 121:case 123:this.$=[Ot[Kt]];break;case 122:case 124:Ot[Kt-2].push(Ot[Kt]),this.$=Ot[Kt-2];break;case 126:this.$=Ot[Kt-1]+Ot[Kt];break;case 174:this.$=Ot[Kt];break;case 175:this.$=Ot[Kt-1]+""+Ot[Kt];break;case 177:this.$=Ot[Kt-1]+""+Ot[Kt];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:s,10:u,12:d},{1:[3]},i(p,v,{5:6}),{4:7,9:s,10:u,12:d},{4:8,9:s,10:u,12:d},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:K,81:ee,82:ie,83:oe,84:pe,85:be,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U,118:Fe,119:Pe,120:je,121:Ie},i(p,[2,9]),i(p,[2,10]),i(p,[2,11]),{8:[1,54],9:[1,55],10:Se,15:53,18:56},i(Ce,[2,3]),i(Ce,[2,4]),i(Ce,[2,5]),i(Ce,[2,6]),i(Ce,[2,7]),i(Ce,[2,8]),{8:ke,9:Ke,11:Ft,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:ke,9:Ke,11:Ft,21:66},{8:ke,9:Ke,11:Ft,21:67},{8:ke,9:Ke,11:Ft,21:68},{8:ke,9:Ke,11:Ft,21:69},{8:ke,9:Ke,11:Ft,21:70},{8:ke,9:Ke,10:[1,71],11:Ft,21:72},i(Ce,[2,36]),{35:[1,73]},{37:[1,74]},i(Ce,[2,39]),i(Ne,[2,46],{18:75,10:Se}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:gn,42:_t,58:Et,77:[1,83],86:Gt,92:[1,80],94:[1,81],98:82,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On,117:84},i(Ce,[2,178]),i(Ce,[2,179]),i(Ce,[2,180]),i(Ce,[2,181]),i(ht,[2,47]),i(ht,[2,49],{44:[1,96]}),i(zr,[2,67],{110:109,29:[1,97],42:j,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:K,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:ae,99:ne,102:se,103:de,106:X,108:ge,111:W,112:xe,113:U}),i(yt,[2,174]),i(yt,[2,135]),i(yt,[2,136]),i(yt,[2,137]),i(yt,[2,138]),i(yt,[2,139]),i(yt,[2,140]),i(yt,[2,141]),i(yt,[2,142]),i(yt,[2,143]),i(yt,[2,144]),i(yt,[2,145]),i(p,[2,12]),i(p,[2,18]),i(p,[2,19]),{9:[1,110]},i(ji,[2,26],{18:111,10:Se}),i(Ce,[2,27]),{40:112,41:38,42:j,43:39,45:40,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},i(Ce,[2,40]),i(Ce,[2,41]),i(Ce,[2,42]),i(xi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Ma,116:zs},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ce,[2,28]),i(Ce,[2,29]),i(Ce,[2,30]),i(Ce,[2,31]),i(Ce,[2,32]),{10:ao,12:Tr,14:Fn,27:qn,28:122,32:Un,42:At,58:wt,73:on,77:[1,124],78:[1,125],80:135,81:fn,82:An,83:oo,84:jo,85:$o,86:Pa,87:wo,88:123,102:_s,106:tl,108:da,111:j0,112:pm,113:Ml},i(Xc,v,{5:148}),i(Ce,[2,37]),i(Ce,[2,38]),i(Ne,[2,45],{42:Bc}),{42:j,45:150,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},{99:[1,151],100:152,102:[1,153]},{42:j,45:154,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},{42:j,45:155,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},i(ja,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(ja,[2,108],{117:160,10:[1,159],14:gn,42:_t,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On}),i(ja,[2,110],{10:[1,161]}),i(Ou,[2,176]),i(Ou,[2,163]),i(Ou,[2,164]),i(Ou,[2,165]),i(Ou,[2,166]),i(Ou,[2,167]),i(Ou,[2,168]),i(Ou,[2,169]),i(Ou,[2,170]),i(Ou,[2,171]),i(Ou,[2,172]),i(Ou,[2,173]),{42:j,45:162,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},{30:163,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:171,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:173,48:[1,172],65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:174,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:175,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:176,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{106:[1,177]},{30:178,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:179,63:[1,180],65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:181,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:182,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:183,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},i(yt,[2,175]),i(p,[2,20]),i(ji,[2,25]),i(Ne,[2,43],{18:184,10:Se}),i(xi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{75:[1,188],76:189,113:Ma,116:zs},i(kh,[2,73]),i(kh,[2,75]),i(kh,[2,76]),i(kh,[2,161]),i(kh,[2,162]),{8:ke,9:Ke,10:ao,11:Ft,12:Tr,14:Fn,21:191,27:qn,29:[1,190],32:Un,42:At,58:wt,73:on,80:135,81:fn,82:An,83:oo,84:jo,85:$o,86:Pa,87:wo,88:192,102:_s,106:tl,108:da,111:j0,112:pm,113:Ml},i(lu,[2,94]),i(lu,[2,96]),i(lu,[2,97]),i(lu,[2,150]),i(lu,[2,151]),i(lu,[2,152]),i(lu,[2,153]),i(lu,[2,154]),i(lu,[2,155]),i(lu,[2,156]),i(lu,[2,157]),i(lu,[2,158]),i(lu,[2,159]),i(lu,[2,160]),i(lu,[2,83]),i(lu,[2,84]),i(lu,[2,85]),i(lu,[2,86]),i(lu,[2,87]),i(lu,[2,88]),i(lu,[2,89]),i(lu,[2,90]),i(lu,[2,91]),i(lu,[2,92]),i(lu,[2,93]),{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,193],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:K,81:ee,82:ie,83:oe,84:pe,85:be,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U,118:Fe,119:Pe,120:je,121:Ie},{10:Se,18:194},{10:[1,195],42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:109,111:W,112:xe,113:U},{10:[1,196]},{10:[1,197],103:[1,198]},i(o5,[2,121]),{10:[1,199],42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:109,111:W,112:xe,113:U},{10:[1,200],42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:109,111:W,112:xe,113:U},{77:[1,201]},i(ja,[2,102],{10:[1,202]}),i(ja,[2,104],{10:[1,203]}),{77:[1,204]},i(Ou,[2,177]),{77:[1,205],95:[1,206]},i(ht,[2,50],{110:109,42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,111:W,112:xe,113:U}),{31:[1,207],65:Sa,79:208,113:xa,114:Ba,115:ga},i(Wh,[2,79]),i(Wh,[2,81]),i(Wh,[2,82]),i(Wh,[2,146]),i(Wh,[2,147]),i(Wh,[2,148]),i(Wh,[2,149]),{47:[1,209],65:Sa,79:208,113:xa,114:Ba,115:ga},{30:210,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{49:[1,211],65:Sa,79:208,113:xa,114:Ba,115:ga},{51:[1,212],65:Sa,79:208,113:xa,114:Ba,115:ga},{53:[1,213],65:Sa,79:208,113:xa,114:Ba,115:ga},{55:[1,214],65:Sa,79:208,113:xa,114:Ba,115:ga},{58:[1,215]},{62:[1,216],65:Sa,79:208,113:xa,114:Ba,115:ga},{64:[1,217],65:Sa,79:208,113:xa,114:Ba,115:ga},{30:218,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{31:[1,219],65:Sa,79:208,113:xa,114:Ba,115:ga},{65:Sa,67:[1,220],69:[1,221],79:208,113:xa,114:Ba,115:ga},{65:Sa,67:[1,223],69:[1,222],79:208,113:xa,114:Ba,115:ga},i(Ne,[2,44],{42:Bc}),i(xi,[2,70]),i(xi,[2,69]),{60:[1,224],65:Sa,79:208,113:xa,114:Ba,115:ga},i(xi,[2,72]),i(kh,[2,74]),{30:225,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},i(Xc,v,{5:226}),i(lu,[2,95]),i(Ce,[2,35]),{41:227,42:j,43:39,45:40,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},{10:od,58:Gd,81:cd,89:228,102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{10:od,58:Gd,81:cd,89:239,101:[1,240],102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{10:od,58:Gd,81:cd,89:241,101:[1,242],102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{102:[1,243]},{10:od,58:Gd,81:cd,89:244,102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{42:j,45:245,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},i(ja,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(ja,[2,109]),i(ja,[2,111],{10:[1,249]}),i(ja,[2,112]),i(zr,[2,51]),i(Wh,[2,80]),i(zr,[2,52]),{49:[1,250],65:Sa,79:208,113:xa,114:Ba,115:ga},i(zr,[2,59]),i(zr,[2,54]),i(zr,[2,55]),i(zr,[2,56]),{106:[1,251]},i(zr,[2,58]),i(zr,[2,60]),{64:[1,252],65:Sa,79:208,113:xa,114:Ba,115:ga},i(zr,[2,62]),i(zr,[2,63]),i(zr,[2,65]),i(zr,[2,64]),i(zr,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Sa,79:208,113:xa,114:Ba,115:ga},{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,254],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:K,81:ee,82:ie,83:oe,84:pe,85:be,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U,118:Fe,119:Pe,120:je,121:Ie},i(ht,[2,48]),i(ja,[2,114],{103:Zi}),i(nu,[2,123],{105:256,10:od,58:Gd,81:cd,102:Kd,106:$g,107:as,108:wn,109:Zr}),i(vu,[2,125]),i(vu,[2,127]),i(vu,[2,128]),i(vu,[2,129]),i(vu,[2,130]),i(vu,[2,131]),i(vu,[2,132]),i(vu,[2,133]),i(vu,[2,134]),i(ja,[2,115],{103:Zi}),{10:[1,257]},i(ja,[2,116],{103:Zi}),{10:[1,258]},i(o5,[2,122]),i(ja,[2,98],{103:Zi}),i(ja,[2,99],{110:109,42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,111:W,112:xe,113:U}),i(ja,[2,103]),i(ja,[2,105],{10:[1,259]}),i(ja,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:ke,9:Ke,11:Ft,21:264},i(Ce,[2,34]),{10:od,58:Gd,81:cd,102:Kd,104:265,105:230,106:$g,107:as,108:wn,109:Zr},i(vu,[2,126]),{14:gn,42:_t,58:Et,86:Gt,98:266,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On,117:84},{14:gn,42:_t,58:Et,86:Gt,98:267,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On,117:84},{95:[1,268]},i(ja,[2,113]),i(zr,[2,53]),{30:269,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},i(zr,[2,61]),i(Xc,v,{5:270}),i(nu,[2,124],{105:256,10:od,58:Gd,81:cd,102:Kd,106:$g,107:as,108:wn,109:Zr}),i(ja,[2,119],{117:160,10:[1,271],14:gn,42:_t,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On}),i(ja,[2,120],{117:160,10:[1,272],14:gn,42:_t,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On}),i(ja,[2,107]),{31:[1,273],65:Sa,79:208,113:xa,114:Ba,115:ga},{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,274],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:K,81:ee,82:ie,83:oe,84:pe,85:be,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U,118:Fe,119:Pe,120:je,121:Ie},{10:od,58:Gd,81:cd,89:275,102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{10:od,58:Gd,81:cd,89:276,102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},i(zr,[2,57]),i(Ce,[2,33]),i(ja,[2,117],{103:Zi}),i(ja,[2,118],{103:Zi})],defaultActions:{},parseError:function(Wi,Bs){if(Bs.recoverable)this.trace(Wi);else{var Qa=new Error(Wi);throw Qa.hash=Bs,Qa}},parse:function(Wi){var Bs=this,Qa=[0],Bi=[],Nu=[null],Ot=[],W3=this.table,Kt="",z0=0,Bp=0,Y3=2,$9=1,c5=Ot.slice.call(arguments,1),Eh=Object.create(this.lexer),zg={yy:{}};for(var bm in this.yy)Object.prototype.hasOwnProperty.call(this.yy,bm)&&(zg.yy[bm]=this.yy[bm]);Eh.setInput(Wi,zg.yy),zg.yy.lexer=Eh,zg.yy.parser=this,typeof Eh.yylloc>"u"&&(Eh.yylloc={});var z9=Eh.yylloc;Ot.push(z9);var mm=Eh.options&&Eh.options.ranges;typeof zg.yy.parseError=="function"?this.parseError=zg.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function u5(){var Fp;return Fp=Bi.pop()||Eh.lex()||$9,typeof Fp!="number"&&(Fp instanceof Array&&(Bi=Fp,Fp=Bi.pop()),Fp=Bs.symbols_[Fp]||Fp),Fp}for(var y1,ud,ld,q9,Vv={},Y7,G2,X7,l5;;){if(ud=Qa[Qa.length-1],this.defaultActions[ud]?ld=this.defaultActions[ud]:((y1===null||typeof y1>"u")&&(y1=u5()),ld=W3[ud]&&W3[ud][y1]),typeof ld>"u"||!ld.length||!ld[0]){var X3="";l5=[];for(Y7 in W3[ud])this.terminals_[Y7]&&Y7>Y3&&l5.push("'"+this.terminals_[Y7]+"'");Eh.showPosition?X3="Parse error on line "+(z0+1)+`: +`+Eh.showPosition()+` +Expecting `+l5.join(", ")+", got '"+(this.terminals_[y1]||y1)+"'":X3="Parse error on line "+(z0+1)+": Unexpected "+(y1==$9?"end of input":"'"+(this.terminals_[y1]||y1)+"'"),this.parseError(X3,{text:Eh.match,token:this.terminals_[y1]||y1,line:Eh.yylineno,loc:z9,expected:l5})}if(ld[0]instanceof Array&&ld.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ud+", token: "+y1);switch(ld[0]){case 1:Qa.push(y1),Nu.push(Eh.yytext),Ot.push(Eh.yylloc),Qa.push(ld[1]),y1=null,Bp=Eh.yyleng,Kt=Eh.yytext,z0=Eh.yylineno,z9=Eh.yylloc;break;case 2:if(G2=this.productions_[ld[1]][1],Vv.$=Nu[Nu.length-G2],Vv._$={first_line:Ot[Ot.length-(G2||1)].first_line,last_line:Ot[Ot.length-1].last_line,first_column:Ot[Ot.length-(G2||1)].first_column,last_column:Ot[Ot.length-1].last_column},mm&&(Vv._$.range=[Ot[Ot.length-(G2||1)].range[0],Ot[Ot.length-1].range[1]]),q9=this.performAction.apply(Vv,[Kt,Bp,z0,zg.yy,ld[1],Nu,Ot].concat(c5)),typeof q9<"u")return q9;G2&&(Qa=Qa.slice(0,-1*G2*2),Nu=Nu.slice(0,-1*G2),Ot=Ot.slice(0,-1*G2)),Qa.push(this.productions_[ld[1]][0]),Nu.push(Vv.$),Ot.push(Vv._$),X7=W3[Qa[Qa.length-2]][Qa[Qa.length-1]],Qa.push(X7);break;case 3:return!0}}return!0}},Yh=function(){var $0={EOF:1,parseError:function(Bs,Qa){if(this.yy.parser)this.yy.parser.parseError(Bs,Qa);else throw new Error(Bs)},setInput:function(Wi,Bs){return this.yy=Bs||this.yy||{},this._input=Wi,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Wi=this._input[0];this.yytext+=Wi,this.yyleng++,this.offset++,this.match+=Wi,this.matched+=Wi;var Bs=Wi.match(/(?:\r\n?|\n).*/g);return Bs?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Wi},unput:function(Wi){var Bs=Wi.length,Qa=Wi.split(/(?:\r\n?|\n)/g);this._input=Wi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bs),this.offset-=Bs;var Bi=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),Qa.length-1&&(this.yylineno-=Qa.length-1);var Nu=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:Qa?(Qa.length===Bi.length?this.yylloc.first_column:0)+Bi[Bi.length-Qa.length].length-Qa[0].length:this.yylloc.first_column-Bs},this.options.ranges&&(this.yylloc.range=[Nu[0],Nu[0]+this.yyleng-Bs]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Wi){this.unput(this.match.slice(Wi))},pastInput:function(){var Wi=this.matched.substr(0,this.matched.length-this.match.length);return(Wi.length>20?"...":"")+Wi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Wi=this.match;return Wi.length<20&&(Wi+=this._input.substr(0,20-Wi.length)),(Wi.substr(0,20)+(Wi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Wi=this.pastInput(),Bs=new Array(Wi.length+1).join("-");return Wi+this.upcomingInput()+` +`+Bs+"^"},test_match:function(Wi,Bs){var Qa,Bi,Nu;if(this.options.backtrack_lexer&&(Nu={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&&(Nu.yylloc.range=this.yylloc.range.slice(0))),Bi=Wi[0].match(/(?:\r\n?|\n).*/g),Bi&&(this.yylineno+=Bi.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Bi?Bi[Bi.length-1].length-Bi[Bi.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Wi[0].length},this.yytext+=Wi[0],this.match+=Wi[0],this.matches=Wi,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(Wi[0].length),this.matched+=Wi[0],Qa=this.performAction.call(this,this.yy,this,Bs,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Qa)return Qa;if(this._backtrack){for(var Ot in Nu)this[Ot]=Nu[Ot];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Wi,Bs,Qa,Bi;this._more||(this.yytext="",this.match="");for(var Nu=this._currentRules(),Ot=0;OtBs[0].length)){if(Bs=Qa,Bi=Ot,this.options.backtrack_lexer){if(Wi=this.test_match(Qa,Nu[Ot]),Wi!==!1)return Wi;if(this._backtrack){Bs=!1;continue}else return!1}else if(!this.options.flex)break}return Bs?(Wi=this.test_match(Bs,Nu[Bi]),Wi!==!1?Wi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Bs=this.next();return Bs||this.lex()},begin:function(Bs){this.conditionStack.push(Bs)},popState:function(){var Bs=this.conditionStack.length-1;return Bs>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Bs){return Bs=this.conditionStack.length-1-Math.abs(Bs||0),Bs>=0?this.conditionStack[Bs]:"INITIAL"},pushState:function(Bs){this.begin(Bs)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Bs,Qa,Bi,Nu){switch(Bi){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return Bs.lex.firstGraph()&&this.begin("dir"),12;case 30:return Bs.lex.firstGraph()&&this.begin("dir"),12;case 31:return Bs.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},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]*)/,/^(?:[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:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return $0}();Dl.lexer=Yh;function w1(){this.yy={}}return w1.prototype=Dl,Dl.Parser=w1,new w1}();Ube.parser=Ube;const Gbe=Ube,yUt="flowchart-";let Oqe=0,BD=qt(),oh={},z3=[],FD={},R7=[],IQ={},OQ={},NQ=0,Kbe=!0,$v,PQ,BQ=[];const FQ=i=>ci.sanitizeText(i,BD),mR=function(i){const s=Object.keys(oh);for(const u of s)if(oh[u].id===i)return oh[u].domId;return i},Nqe=function(i,s,u,d,p,v,b={}){let y,T=i;T!==void 0&&T.trim().length!==0&&(oh[T]===void 0&&(oh[T]={id:T,labelType:"text",domId:yUt+T+"-"+Oqe,styles:[],classes:[]}),Oqe++,s!==void 0?(BD=qt(),y=FQ(s.text.trim()),oh[T].labelType=s.type,y[0]==='"'&&y[y.length-1]==='"'&&(y=y.substring(1,y.length-1)),oh[T].text=y):oh[T].text===void 0&&(oh[T].text=i),u!==void 0&&(oh[T].type=u),d!=null&&d.forEach(function(_){oh[T].styles.push(_)}),p!=null&&p.forEach(function(_){oh[T].classes.push(_)}),v!==void 0&&(oh[T].dir=v),oh[T].props===void 0?oh[T].props=b:b!==void 0&&Object.assign(oh[T].props,b))},Pqe=function(i,s,u){const v={start:i,end:s,type:void 0,text:"",labelType:"text"};Xe.info("abc78 Got edge...",v);const b=u.text;if(b!==void 0&&(v.text=FQ(b.text.trim()),v.text[0]==='"'&&v.text[v.text.length-1]==='"'&&(v.text=v.text.substring(1,v.text.length-1)),v.labelType=b.type),u!==void 0&&(v.type=u.type,v.stroke=u.stroke,v.length=u.length),(v==null?void 0:v.length)>10&&(v.length=10),z3.length<(BD.maxEdges??500))Xe.info("abc78 pushing edge..."),z3.push(v);else throw new Error(`Edge limit exceeded. ${z3.length} edges found, but the limit is ${BD.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.`)},Bqe=function(i,s,u){Xe.info("addLink (abc78)",i,s,u);let d,p;for(d=0;d=z3.length)throw new Error(`The index ${u} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${z3.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);u==="default"?z3.defaultStyle=s:(Ao.isSubstringInArray("fill",s)===-1&&s.push("fill:none"),z3[u].style=s)})},jqe=function(i,s){i.split(",").forEach(function(u){FD[u]===void 0&&(FD[u]={id:u,styles:[],textStyles:[]}),s!=null&&s.forEach(function(d){if(d.match("color")){const p=d.replace("fill","bgFill").replace("color","fill");FD[u].textStyles.push(p)}FD[u].styles.push(d)})})},$qe=function(i){$v=i,$v.match(/.*/)&&($v="LR"),$v.match(/.*v/)&&($v="TB"),$v==="TD"&&($v="TB")},RQ=function(i,s){i.split(",").forEach(function(u){let d=u;oh[d]!==void 0&&oh[d].classes.push(s),IQ[d]!==void 0&&IQ[d].classes.push(s)})},xUt=function(i,s){i.split(",").forEach(function(u){s!==void 0&&(OQ[PQ==="gen-1"?mR(u):u]=FQ(s))})},kUt=function(i,s,u){let d=mR(i);if(qt().securityLevel!=="loose"||s===void 0)return;let p=[];if(typeof u=="string"){p=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v")),p.classed("hover",!0)}).on("mouseout",function(){s.transition().duration(500).style("opacity",0),Ir(this).classed("hover",!1)})};BQ.push(Yqe);const Xqe=function(i="gen-1"){oh={},FD={},z3=[],BQ=[Yqe],R7=[],IQ={},NQ=0,OQ={},Kbe=!0,PQ=i,BD=qt(),Pg()},Qqe=i=>{PQ=i||"gen-2"},Jqe=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},Zqe=function(i,s,u){let d=i.text.trim(),p=u.text;i===u&&u.text.match(/\s/)&&(d=void 0);function v(A){const P={boolean:{},number:{},string:{}},R=[];let F;return{nodeList:A.filter(function(K){const ee=typeof K;return K.stmt&&K.stmt==="dir"?(F=K.value,!1):K.trim()===""?!1:ee in P?P[ee].hasOwnProperty(K)?!1:P[ee][K]=!0:R.includes(K)?!1:R.push(K)}),dir:F}}let b=[];const{nodeList:y,dir:T}=v(b.concat.apply(b,s));if(b=y,PQ==="gen-1")for(let A=0;A2e3)return;if(eHe[vR]=s,R7[s].id===i)return{result:!0,count:0};let d=0,p=1;for(;d=0){const b=tHe(i,v);if(b.result)return{result:!0,count:p+b.count};p=p+b.count}d=d+1}return{result:!1,count:p}},nHe=function(i){return eHe[i]},rHe=function(){vR=-1,R7.length>0&&tHe("none",R7.length-1)},iHe=function(){return R7},sHe=()=>Kbe?(Kbe=!1,!0):!1,TUt=i=>{let s=i.trim(),u="arrow_open";switch(s[0]){case"<":u="arrow_point",s=s.slice(1);break;case"x":u="arrow_cross",s=s.slice(1);break;case"o":u="arrow_circle",s=s.slice(1);break}let d="normal";return s.includes("=")&&(d="thick"),s.includes(".")&&(d="dotted"),{type:u,stroke:d}},CUt=(i,s)=>{const u=s.length;let d=0;for(let p=0;p{const s=i.trim();let u=s.slice(0,-1),d="arrow_open";switch(s.slice(-1)){case"x":d="arrow_cross",s[0]==="x"&&(d="double_"+d,u=u.slice(1));break;case">":d="arrow_point",s[0]==="<"&&(d="double_"+d,u=u.slice(1));break;case"o":d="arrow_circle",s[0]==="o"&&(d="double_"+d,u=u.slice(1));break}let p="normal",v=u.length-1;u[0]==="="&&(p="thick"),u[0]==="~"&&(p="invisible");let b=CUt(".",u);return b&&(p="dotted",v=b),{type:d,stroke:p,length:v}},aHe=(i,s)=>{const u=SUt(i);let d;if(s){if(d=TUt(s),d.stroke!==u.stroke)return{type:"INVALID",stroke:"INVALID"};if(d.type==="arrow_open")d.type=u.type;else{if(d.type!==u.type)return{type:"INVALID",stroke:"INVALID"};d.type="double_"+d.type}return d.type==="double_arrow"&&(d.type="double_arrow_point"),d.length=u.length,d}return u},oHe=(i,s)=>{let u=!1;return i.forEach(d=>{d.nodes.indexOf(s)>=0&&(u=!0)}),u},cHe=(i,s)=>{const u=[];return i.nodes.forEach((d,p)=>{oHe(s,d)||u.push(i.nodes[p])}),{nodes:u}},uHe={firstGraph:sHe},HC={defaultConfig:()=>Zje.flowchart,setAccTitle:Bg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,addVertex:Nqe,lookUpDomId:mR,addLink:Bqe,updateLinkInterpolate:Fqe,updateLink:Rqe,addClass:jqe,setDirection:$qe,setClass:RQ,setTooltip:xUt,getTooltip:qqe,setClickEvent:Hqe,setLink:zqe,bindFunctions:Vqe,getDirection:Uqe,getVertices:Gqe,getEdges:Kqe,getClasses:Wqe,clear:Xqe,setGen:Qqe,defaultStyle:Jqe,addSubGraph:Zqe,getDepthFirstPos:nHe,indexNodes:rHe,getSubGraphs:iHe,destructLink:aHe,lex:uHe,exists:oHe,makeUniq:cHe,setDiagramTitle:cm,getDiagramTitle:Ap},_Ut=Object.freeze(Object.defineProperty({__proto__:null,addClass:jqe,addLink:Bqe,addSingleLink:Pqe,addSubGraph:Zqe,addVertex:Nqe,bindFunctions:Vqe,clear:Xqe,default:HC,defaultStyle:Jqe,destructLink:aHe,firstGraph:sHe,getClasses:Wqe,getDepthFirstPos:nHe,getDirection:Uqe,getEdges:Kqe,getSubGraphs:iHe,getTooltip:qqe,getVertices:Gqe,indexNodes:rHe,lex:uHe,lookUpDomId:mR,setClass:RQ,setClickEvent:Hqe,setDirection:$qe,setGen:Qqe,setLink:zqe,updateLink:Rqe,updateLinkInterpolate:Fqe},Symbol.toStringTag,{value:"Module"}));var AUt="[object Symbol]";function VC(i){return typeof i=="symbol"||q4(i)&&AC(i)==AUt}function RD(i,s){for(var u=-1,d=i==null?0:i.length,p=Array(d);++u-1}function fm(i){return w9(i)?aje(i):l$e(i)}var GUt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,KUt=/^\w*$/;function Wbe(i,s){if(D0(i))return!1;var u=typeof i;return u=="number"||u=="symbol"||u=="boolean"||i==null||VC(i)?!0:KUt.test(i)||!GUt.test(i)||s!=null&&i in Object(s)}var WUt=500;function YUt(i){var s=bD(i,function(d){return u.size===WUt&&u.clear(),d}),u=s.cache;return s}var XUt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QUt=/\\(\\)?/g,JUt=YUt(function(i){var s=[];return i.charCodeAt(0)===46&&s.push(""),i.replace(XUt,function(u,d,p,v){s.push(p?v.replace(QUt,"$1"):d||u)}),s});const ZUt=JUt;function mHe(i){return i==null?"":fHe(i)}function $Q(i,s){return D0(i)?i:Wbe(i,s)?[i]:ZUt(mHe(i))}var eGt=1/0;function wR(i){if(typeof i=="string"||VC(i))return i;var s=i+"";return s=="0"&&1/i==-eGt?"-0":s}function zQ(i,s){s=$Q(s,i);for(var u=0,d=s.length;i!=null&&u0&&u(y)?s>1?qQ(y,s-1,u,d,p):Ybe(p,y):d||(p[p.length]=y)}return p}function jD(i){var s=i==null?0:i.length;return s?qQ(i,1):[]}function rGt(i){return lje(uje(i,void 0,jD),i+"")}function iGt(i,s,u,d){var p=-1,v=i==null?0:i.length;for(d&&v&&(u=i[++p]);++py))return!1;var _=v.get(i),A=v.get(s);if(_&&A)return _==s&&A==i;var P=-1,R=!0,F=u&DKt?new xR:void 0;for(v.set(i,s),v.set(s,i);++P2?s[2]:void 0;for(p&&QF(s[0],s[1],p)&&(d=1);++u-1?p[v?s[b]:b]:void 0}}var yWt=Math.max;function xWt(i,s,u){var d=i==null?0:i.length;if(!d)return-1;var p=u==null?0:$Ut(u);return p<0&&(p=yWt(d+p,0)),bHe(i,I9(s),p)}var kWt=wWt(xWt);const rme=kWt;function VHe(i,s){var u=-1,d=w9(i)?Array(i.length):[];return VQ(i,function(p,v,b){d[++u]=s(p,v,b)}),d}function P0(i,s){var u=D0(i)?RD:VHe;return u(i,I9(s))}function EWt(i,s){return i==null?i:b2e(i,nme(s),IC)}function TWt(i,s){return i&&tme(i,nme(s))}function CWt(i,s){return i>s}var SWt=Object.prototype,_Wt=SWt.hasOwnProperty;function AWt(i,s){return i!=null&&_Wt.call(i,s)}function Lo(i,s){return i!=null&&$He(i,s,AWt)}function LWt(i,s){return RD(s,function(u){return i[u]})}function $7(i){return i==null?[]:LWt(i,fm(i))}function Qf(i){return i===void 0}function UHe(i,s){return is||v&&b&&T&&!y&&!_||d&&b&&T||!u&&T||!p)return 1;if(!d&&!v&&!_&&i=y)return T;var _=u[d];return T*(_=="desc"?-1:1)}}return i.index-s.index}function PWt(i,s,u){s.length?s=RD(s,function(v){return D0(v)?function(b){return zQ(b,v.length===1?v[0]:v)}:v}):s=[OC];var d=-1;s=RD(s,NX(I9));var p=VHe(i,function(v,b,y){var T=RD(s,function(_){return _(v)});return{criteria:T,index:++d,value:v}});return IWt(p,function(v,b){return NWt(v,b,u)})}function BWt(i,s){return DWt(i,s,function(u,d){return zHe(i,d)})}var FWt=rGt(function(i,s){return i==null?{}:BWt(i,s)});const ER=FWt;var RWt=Math.ceil,jWt=Math.max;function $Wt(i,s,u,d){for(var p=-1,v=jWt(RWt((s-i)/(u||1)),0),b=Array(v);v--;)b[d?v:++p]=i,i+=u;return b}function zWt(i){return function(s,u,d){return d&&typeof d!="number"&&QF(s,u,d)&&(u=d=void 0),s=jQ(s),u===void 0?(u=s,s=0):u=jQ(u),d=d===void 0?s1&&QF(i,s[0],s[1])?s=[]:u>2&&QF(s[0],s[1],s[2])&&(s=[s[0]]),PWt(i,qQ(s,1),[])});const CR=VWt;var UWt=1/0,GWt=CD&&1/Jbe(new CD([,-0]))[1]==UWt?function(i){return new CD(i)}:zUt;const KWt=GWt;var WWt=200;function YWt(i,s,u){var d=-1,p=UUt,v=i.length,b=!0,y=[],T=y;if(u)b=!1,p=mWt;else if(v>=WWt){var _=s?null:KWt(i);if(_)return Jbe(_);b=!1,p=IHe,T=new xR}else T=s?[]:y;e:for(;++d1?p.setNode(v,u):p.setNode(v)}),this}setNode(s,u){return Lo(this._nodes,s)?(arguments.length>1&&(this._nodes[s]=u),this):(this._nodes[s]=arguments.length>1?u:this._defaultNodeLabelFn(s),this._isCompound&&(this._parent[s]=KC,this._children[s]={},this._children[KC][s]=!0),this._in[s]={},this._preds[s]={},this._out[s]={},this._sucs[s]={},++this._nodeCount,this)}node(s){return this._nodes[s]}hasNode(s){return Lo(this._nodes,s)}removeNode(s){var u=this;if(Lo(this._nodes,s)){var d=function(p){u.removeEdge(u._edgeObjs[p])};delete this._nodes[s],this._isCompound&&(this._removeFromParentsChildList(s),delete this._parent[s],Ar(this.children(s),function(p){u.setParent(p)}),delete this._children[s]),Ar(fm(this._in[s]),d),delete this._in[s],delete this._preds[s],Ar(fm(this._out[s]),d),delete this._out[s],delete this._sucs[s],--this._nodeCount}return this}setParent(s,u){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Qf(u))u=KC;else{u+="";for(var d=u;!Qf(d);d=this.parent(d))if(d===s)throw new Error("Setting "+u+" as parent of "+s+" would create a cycle");this.setNode(u)}return this.setNode(s),this._removeFromParentsChildList(s),this._parent[s]=u,this._children[u][s]=!0,this}_removeFromParentsChildList(s){delete this._children[this._parent[s]][s]}parent(s){if(this._isCompound){var u=this._parent[s];if(u!==KC)return u}}children(s){if(Qf(s)&&(s=KC),this._isCompound){var u=this._children[s];if(u)return fm(u)}else{if(s===KC)return this.nodes();if(this.hasNode(s))return[]}}predecessors(s){var u=this._preds[s];if(u)return fm(u)}successors(s){var u=this._sucs[s];if(u)return fm(u)}neighbors(s){var u=this.predecessors(s);if(u)return QWt(u,this.successors(s))}isLeaf(s){var u;return this.isDirected()?u=this.successors(s):u=this.neighbors(s),u.length===0}filterNodes(s){var u=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});u.setGraph(this.graph());var d=this;Ar(this._nodes,function(b,y){s(y)&&u.setNode(y,b)}),Ar(this._edgeObjs,function(b){u.hasNode(b.v)&&u.hasNode(b.w)&&u.setEdge(b,d.edge(b))});var p={};function v(b){var y=d.parent(b);return y===void 0||u.hasNode(y)?(p[b]=y,y):y in p?p[y]:v(y)}return this._isCompound&&Ar(u.nodes(),function(b){u.setParent(b,v(b))}),u}setDefaultEdgeLabel(s){return gD(s)||(s=yD(s)),this._defaultEdgeLabelFn=s,this}edgeCount(){return this._edgeCount}edges(){return $7(this._edgeObjs)}setPath(s,u){var d=this,p=arguments;return TR(s,function(v,b){return p.length>1?d.setEdge(v,b,u):d.setEdge(v,b),b}),this}setEdge(){var s,u,d,p,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(s=b.v,u=b.w,d=b.name,arguments.length===2&&(p=arguments[1],v=!0)):(s=b,u=arguments[1],d=arguments[3],arguments.length>2&&(p=arguments[2],v=!0)),s=""+s,u=""+u,Qf(d)||(d=""+d);var y=SR(this._isDirected,s,u,d);if(Lo(this._edgeLabels,y))return v&&(this._edgeLabels[y]=p),this;if(!Qf(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(u),this._edgeLabels[y]=v?p:this._defaultEdgeLabelFn(s,u,d);var T=nYt(this._isDirected,s,u,d);return s=T.v,u=T.w,Object.freeze(T),this._edgeObjs[y]=T,KHe(this._preds[u],s),KHe(this._sucs[s],u),this._in[u][y]=T,this._out[s][y]=T,this._edgeCount++,this}edge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d);return this._edgeLabels[p]}hasEdge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d);return Lo(this._edgeLabels,p)}removeEdge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d),v=this._edgeObjs[p];return v&&(s=v.v,u=v.w,delete this._edgeLabels[p],delete this._edgeObjs[p],WHe(this._preds[u],s),WHe(this._sucs[s],u),delete this._in[u][p],delete this._out[s][p],this._edgeCount--),this}inEdges(s,u){var d=this._in[s];if(d){var p=$7(d);return u?j7(p,function(v){return v.v===u}):p}}outEdges(s,u){var d=this._out[s];if(d){var p=$7(d);return u?j7(p,function(v){return v.w===u}):p}}nodeEdges(s,u){var d=this.inEdges(s,u);if(d)return d.concat(this.outEdges(s,u))}}B0.prototype._nodeCount=0,B0.prototype._edgeCount=0;function KHe(i,s){i[s]?i[s]++:i[s]=1}function WHe(i,s){--i[s]||delete i[s]}function SR(i,s,u,d){var p=""+s,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}return p+GHe+v+GHe+(Qf(d)?tYt:d)}function nYt(i,s,u,d){var p=""+s,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}var y={v:p,w:v};return d&&(y.name=d),y}function ame(i,s){return SR(i,s.v,s.w,s.name)}class rYt{constructor(){var s={};s._next=s._prev=s,this._sentinel=s}dequeue(){var s=this._sentinel,u=s._prev;if(u!==s)return YHe(u),u}enqueue(s){var u=this._sentinel;s._prev&&s._next&&YHe(s),s._next=u._next,u._next._prev=s,u._next=s,s._prev=u}toString(){for(var s=[],u=this._sentinel,d=u._prev;d!==u;)s.push(JSON.stringify(d,iYt)),d=d._prev;return"["+s.join(", ")+"]"}}function YHe(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function iYt(i,s){if(i!=="_next"&&i!=="_prev")return s}var sYt=yD(1);function aYt(i,s){if(i.nodeCount()<=1)return[];var u=cYt(i,s||sYt),d=oYt(u.graph,u.buckets,u.zeroIdx);return jD(P0(d,function(p){return i.outEdges(p.v,p.w)}))}function oYt(i,s,u){for(var d=[],p=s[s.length-1],v=s[0],b;i.nodeCount();){for(;b=v.dequeue();)ome(i,s,u,b);for(;b=p.dequeue();)ome(i,s,u,b);if(i.nodeCount()){for(var y=s.length-2;y>0;--y)if(b=s[y].dequeue(),b){d=d.concat(ome(i,s,u,b,!0));break}}}return d}function ome(i,s,u,d,p){var v=p?[]:void 0;return Ar(i.inEdges(d.v),function(b){var y=i.edge(b),T=i.node(b.v);p&&v.push({v:b.v,w:b.w}),T.out-=y,cme(s,u,T)}),Ar(i.outEdges(d.v),function(b){var y=i.edge(b),T=b.w,_=i.node(T);_.in-=y,cme(s,u,_)}),i.removeNode(d.v),v}function cYt(i,s){var u=new B0,d=0,p=0;Ar(i.nodes(),function(y){u.setNode(y,{v:y,in:0,out:0})}),Ar(i.edges(),function(y){var T=u.edge(y.v,y.w)||0,_=s(y),A=T+_;u.setEdge(y.v,y.w,A),p=Math.max(p,u.node(y.v).out+=_),d=Math.max(d,u.node(y.w).in+=_)});var v=GC(p+d+3).map(function(){return new rYt}),b=d+1;return Ar(u.nodes(),function(y){cme(v,b,u.node(y))}),{graph:u,buckets:v,zeroIdx:b}}function cme(i,s,u){u.out?u.in?i[u.out-u.in+s].enqueue(u):i[i.length-1].enqueue(u):i[0].enqueue(u)}function uYt(i){var s=i.graph().acyclicer==="greedy"?aYt(i,u(i)):lYt(i);Ar(s,function(d){var p=i.edge(d);i.removeEdge(d),p.forwardName=d.name,p.reversed=!0,i.setEdge(d.w,d.v,p,KQ("rev"))});function u(d){return function(p){return d.edge(p).weight}}}function lYt(i){var s=[],u={},d={};function p(v){Lo(d,v)||(d[v]=!0,u[v]=!0,Ar(i.outEdges(v),function(b){Lo(u,b.w)?s.push(b):p(b.w)}),delete u[v])}return Ar(i.nodes(),p),s}function hYt(i){Ar(i.edges(),function(s){var u=i.edge(s);if(u.reversed){i.removeEdge(s);var d=u.forwardName;delete u.reversed,delete u.forwardName,i.setEdge(s.w,s.v,u,d)}})}function zD(i,s,u,d){var p;do p=KQ(d);while(i.hasNode(p));return u.dummy=s,i.setNode(p,u),p}function fYt(i){var s=new B0().setGraph(i.graph());return Ar(i.nodes(),function(u){s.setNode(u,i.node(u))}),Ar(i.edges(),function(u){var d=s.edge(u.v,u.w)||{weight:0,minlen:1},p=i.edge(u);s.setEdge(u.v,u.w,{weight:d.weight+p.weight,minlen:Math.max(d.minlen,p.minlen)})}),s}function XHe(i){var s=new B0({multigraph:i.isMultigraph()}).setGraph(i.graph());return Ar(i.nodes(),function(u){i.children(u).length||s.setNode(u,i.node(u))}),Ar(i.edges(),function(u){s.setEdge(u,i.edge(u))}),s}function QHe(i,s){var u=i.x,d=i.y,p=s.x-u,v=s.y-d,b=i.width/2,y=i.height/2;if(!p&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var T,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),T=y*p/v,_=y):(p<0&&(b=-b),T=b,_=b*v/p),{x:u+T,y:d+_}}function WQ(i){var s=P0(GC(ZHe(i)+1),function(){return[]});return Ar(i.nodes(),function(u){var d=i.node(u),p=d.rank;Qf(p)||(s[p][d.order]=u)}),s}function dYt(i){var s=kR(P0(i.nodes(),function(u){return i.node(u).rank}));Ar(i.nodes(),function(u){var d=i.node(u);Lo(d,"rank")&&(d.rank-=s)})}function gYt(i){var s=kR(P0(i.nodes(),function(v){return i.node(v).rank})),u=[];Ar(i.nodes(),function(v){var b=i.node(v).rank-s;u[b]||(u[b]=[]),u[b].push(v)});var d=0,p=i.graph().nodeRankFactor;Ar(u,function(v,b){Qf(v)&&b%p!==0?--d:d&&Ar(v,function(y){i.node(y).rank+=d})})}function JHe(i,s,u,d){var p={width:0,height:0};return arguments.length>=4&&(p.rank=u,p.order=d),zD(i,"border",p,s)}function ZHe(i){return UC(P0(i.nodes(),function(s){var u=i.node(s).rank;if(!Qf(u))return u}))}function pYt(i,s){var u={lhs:[],rhs:[]};return Ar(i,function(d){s(d)?u.lhs.push(d):u.rhs.push(d)}),u}function bYt(i,s){var u=qHe();try{return s()}finally{console.log(i+" time: "+(qHe()-u)+"ms")}}function mYt(i,s){return s()}function vYt(i){function s(u){var d=i.children(u),p=i.node(u);if(d.length&&Ar(d,s),Lo(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var v=p.minRank,b=p.maxRank+1;vb.lim&&(y=b,T=!0);var _=j7(s.edges(),function(A){return T===hVe(i,i.node(A.v),y)&&T!==hVe(i,i.node(A.w),y)});return sme(_,function(A){return _R(s,A)})}function lVe(i,s,u,d){var p=u.v,v=u.w;i.removeEdge(p,v),i.setEdge(d.v,d.w,{}),dme(i),fme(i,s),OYt(i,s)}function OYt(i,s){var u=rme(i.nodes(),function(p){return!s.node(p).parent}),d=DYt(i,u);d=d.slice(1),Ar(d,function(p){var v=i.node(p).parent,b=s.edge(p,v),y=!1;b||(b=s.edge(v,p),y=!0),s.node(p).rank=s.node(v).rank+(y?b.minlen:-b.minlen)})}function NYt(i,s,u){return i.hasEdge(s,u)}function hVe(i,s,u){return u.low<=s.lim&&s.lim<=u.lim}function PYt(i){switch(i.graph().ranker){case"network-simplex":fVe(i);break;case"tight-tree":FYt(i);break;case"longest-path":BYt(i);break;default:fVe(i)}}var BYt=hme;function FYt(i){hme(i),rVe(i)}function fVe(i){WC(i)}function RYt(i){var s=zD(i,"root",{},"_root"),u=jYt(i),d=UC($7(u))-1,p=2*d+1;i.graph().nestingRoot=s,Ar(i.edges(),function(b){i.edge(b).minlen*=p});var v=$Yt(i)+1;Ar(i.children(),function(b){dVe(i,s,p,v,d,u,b)}),i.graph().nodeRankFactor=p}function dVe(i,s,u,d,p,v,b){var y=i.children(b);if(!y.length){b!==s&&i.setEdge(s,b,{weight:0,minlen:u});return}var T=JHe(i,"_bt"),_=JHe(i,"_bb"),A=i.node(b);i.setParent(T,b),A.borderTop=T,i.setParent(_,b),A.borderBottom=_,Ar(y,function(P){dVe(i,s,u,d,p,v,P);var R=i.node(P),F=R.borderTop?R.borderTop:P,j=R.borderBottom?R.borderBottom:P,K=R.borderTop?d:2*d,ee=F!==j?1:p-v[b]+1;i.setEdge(T,F,{weight:K,minlen:ee,nestingEdge:!0}),i.setEdge(j,_,{weight:K,minlen:ee,nestingEdge:!0})}),i.parent(b)||i.setEdge(s,T,{weight:0,minlen:p+v[b]})}function jYt(i){var s={};function u(d,p){var v=i.children(d);v&&v.length&&Ar(v,function(b){u(b,p+1)}),s[d]=p}return Ar(i.children(),function(d){u(d,1)}),s}function $Yt(i){return TR(i.edges(),function(s,u){return s+i.edge(u).weight},0)}function zYt(i){var s=i.graph();i.removeNode(s.nestingRoot),delete s.nestingRoot,Ar(i.edges(),function(u){var d=i.edge(u);d.nestingEdge&&i.removeEdge(u)})}function qYt(i,s,u){var d={},p;Ar(u,function(v){for(var b=i.parent(v),y,T;b;){if(y=i.parent(b),y?(T=d[y],d[y]=b):(T=p,p=b),T&&T!==b){s.setEdge(T,b);return}b=y}})}function HYt(i,s,u){var d=VYt(i),p=new B0({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(v){return i.node(v)});return Ar(i.nodes(),function(v){var b=i.node(v),y=i.parent(v);(b.rank===s||b.minRank<=s&&s<=b.maxRank)&&(p.setNode(v),p.setParent(v,y||d),Ar(i[u](v),function(T){var _=T.v===v?T.w:T.v,A=p.edge(_,v),P=Qf(A)?0:A.weight;p.setEdge(_,v,{weight:i.edge(T).weight+P})}),Lo(b,"minRank")&&p.setNode(v,{borderLeft:b.borderLeft[s],borderRight:b.borderRight[s]}))}),p}function VYt(i){for(var s;i.hasNode(s=KQ("_root")););return s}function UYt(i,s){for(var u=0,d=1;d0;)A%2&&(P+=y[A+1]),A=A-1>>1,y[A]+=_.weight;T+=_.weight*P})),T}function KYt(i){var s={},u=j7(i.nodes(),function(y){return!i.children(y).length}),d=UC(P0(u,function(y){return i.node(y).rank})),p=P0(GC(d+1),function(){return[]});function v(y){if(!Lo(s,y)){s[y]=!0;var T=i.node(y);p[T.rank].push(y),Ar(i.successors(y),v)}}var b=CR(u,function(y){return i.node(y).rank});return Ar(b,v),p}function WYt(i,s){return P0(s,function(u){var d=i.inEdges(u);if(d.length){var p=TR(d,function(v,b){var y=i.edge(b),T=i.node(b.v);return{sum:v.sum+y.weight*T.order,weight:v.weight+y.weight}},{sum:0,weight:0});return{v:u,barycenter:p.sum/p.weight,weight:p.weight}}else return{v:u}})}function YYt(i,s){var u={};Ar(i,function(p,v){var b=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:v};Qf(p.barycenter)||(b.barycenter=p.barycenter,b.weight=p.weight)}),Ar(s.edges(),function(p){var v=u[p.v],b=u[p.w];!Qf(v)&&!Qf(b)&&(b.indegree++,v.out.push(u[p.w]))});var d=j7(u,function(p){return!p.indegree});return XYt(d)}function XYt(i){var s=[];function u(v){return function(b){b.merged||(Qf(b.barycenter)||Qf(v.barycenter)||b.barycenter>=v.barycenter)&&QYt(v,b)}}function d(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var p=i.pop();s.push(p),Ar(p.in.reverse(),u(p)),Ar(p.out,d(p))}return P0(j7(s,function(v){return!v.merged}),function(v){return ER(v,["vs","i","barycenter","weight"])})}function QYt(i,s){var u=0,d=0;i.weight&&(u+=i.barycenter*i.weight,d+=i.weight),s.weight&&(u+=s.barycenter*s.weight,d+=s.weight),i.vs=s.vs.concat(i.vs),i.barycenter=u/d,i.weight=d,i.i=Math.min(s.i,i.i),s.merged=!0}function JYt(i,s){var u=pYt(i,function(A){return Lo(A,"barycenter")}),d=u.lhs,p=CR(u.rhs,function(A){return-A.i}),v=[],b=0,y=0,T=0;d.sort(ZYt(!!s)),T=gVe(v,p,T),Ar(d,function(A){T+=A.vs.length,v.push(A.vs),b+=A.barycenter*A.weight,y+=A.weight,T=gVe(v,p,T)});var _={vs:jD(v)};return y&&(_.barycenter=b/y,_.weight=y),_}function gVe(i,s,u){for(var d;s.length&&(d=UQ(s)).i<=u;)s.pop(),i.push(d.vs),u++;return u}function ZYt(i){return function(s,u){return s.barycenteru.barycenter?1:i?u.i-s.i:s.i-u.i}}function pVe(i,s,u,d){var p=i.children(s),v=i.node(s),b=v?v.borderLeft:void 0,y=v?v.borderRight:void 0,T={};b&&(p=j7(p,function(j){return j!==b&&j!==y}));var _=WYt(i,p);Ar(_,function(j){if(i.children(j.v).length){var K=pVe(i,j.v,u,d);T[j.v]=K,Lo(K,"barycenter")&&tXt(j,K)}});var A=YYt(_,u);eXt(A,T);var P=JYt(A,d);if(b&&(P.vs=jD([b,P.vs,y]),i.predecessors(b).length)){var R=i.node(i.predecessors(b)[0]),F=i.node(i.predecessors(y)[0]);Lo(P,"barycenter")||(P.barycenter=0,P.weight=0),P.barycenter=(P.barycenter*P.weight+R.order+F.order)/(P.weight+2),P.weight+=2}return P}function eXt(i,s){Ar(i,function(u){u.vs=jD(u.vs.map(function(d){return s[d]?s[d].vs:d}))})}function tXt(i,s){Qf(i.barycenter)?(i.barycenter=s.barycenter,i.weight=s.weight):(i.barycenter=(i.barycenter*i.weight+s.barycenter*s.weight)/(i.weight+s.weight),i.weight+=s.weight)}function nXt(i){var s=ZHe(i),u=bVe(i,GC(1,s+1),"inEdges"),d=bVe(i,GC(s-1,-1,-1),"outEdges"),p=KYt(i);mVe(i,p);for(var v=Number.POSITIVE_INFINITY,b,y=0,T=0;T<4;++y,++T){rXt(y%2?u:d,y%4>=2),p=WQ(i);var _=UYt(i,p);_b||y>s[T].lim));for(_=T,T=d;(T=i.parent(T))!==_;)v.push(T);return{path:p.concat(v.reverse()),lca:_}}function aXt(i){var s={},u=0;function d(p){var v=u;Ar(i.children(p),d),s[p]={low:v,lim:u++}}return Ar(i.children(),d),s}function oXt(i,s){var u={};function d(p,v){var b=0,y=0,T=p.length,_=UQ(v);return Ar(v,function(A,P){var R=uXt(i,A),F=R?i.node(R).order:T;(R||A===_)&&(Ar(v.slice(y,P+1),function(j){Ar(i.predecessors(j),function(K){var ee=i.node(K),ie=ee.order;(ie_)&&vVe(u,R,A)})})}function p(v,b){var y=-1,T,_=0;return Ar(b,function(A,P){if(i.node(A).dummy==="border"){var R=i.predecessors(A);R.length&&(T=i.node(R[0]).order,d(b,_,P,y,T),_=P,y=T)}d(b,_,b.length,T,v.length)}),b}return TR(s,p),u}function uXt(i,s){if(i.node(s).dummy)return rme(i.predecessors(s),function(u){return i.node(u).dummy})}function vVe(i,s,u){if(s>u){var d=s;s=u,u=d}var p=i[s];p||(i[s]=p={}),p[u]=!0}function lXt(i,s,u){if(s>u){var d=s;s=u,u=d}return Lo(i[s],u)}function hXt(i,s,u,d){var p={},v={},b={};return Ar(s,function(y){Ar(y,function(T,_){p[T]=T,v[T]=T,b[T]=_})}),Ar(s,function(y){var T=-1;Ar(y,function(_){var A=d(_);if(A.length){A=CR(A,function(K){return b[K]});for(var P=(A.length-1)/2,R=Math.floor(P),F=Math.ceil(P);R<=F;++R){var j=A[R];v[_]===_&&T0}function e5(i,s,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;s.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)});for(var T=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,K){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),pe=K.x-u.x,be=K.y-u.y,ae=Math.sqrt(pe*pe+be*be);return oeMath.abs(p)*y?(v<0&&(y=-y),T=v===0?0:y*p/v,_=y):(p<0&&(b=-b),T=b,_=p===0?0:b*v/p),{x:u+T,y:d+_}}var Cme={rect:gQt,ellipse:pQt,circle:bQt,diamond:mQt};function dQt(i){Cme=i}function gQt(i,s,u){var d=i.insert("rect",":first-child").attr("rx",u.rx).attr("ry",u.ry).attr("x",-s.width/2).attr("y",-s.height/2).attr("width",s.width).attr("height",s.height);return u.intersect=function(p){return Tme(u,p)},d}function pQt(i,s,u){var d=s.width/2,p=s.height/2,v=i.insert("ellipse",":first-child").attr("x",-s.width/2).attr("y",-s.height/2).attr("rx",d).attr("ry",p);return u.intersect=function(b){return TVe(u,d,p,b)},v}function bQt(i,s,u){var d=Math.max(s.width,s.height)/2,p=i.insert("circle",":first-child").attr("x",-s.width/2).attr("y",-s.height/2).attr("r",d);return u.intersect=function(v){return hQt(u,d,v)},p}function mQt(i,s,u){var d=s.width*Math.SQRT2/2,p=s.height*Math.SQRT2/2,v=[{x:0,y:-p},{x:-d,y:0},{x:0,y:p},{x:d,y:0}],b=i.insert("polygon",":first-child").attr("points",v.map(function(y){return y.x+","+y.y}).join(" "));return u.intersect=function(y){return e5(u,v,y)},b}function vQt(){var i=function(s,u){xQt(u);var d=AR(s,"output"),p=AR(d,"clusters"),v=AR(d,"edgePaths"),b=xme(AR(d,"edgeLabels"),u),y=Eme(AR(d,"nodes"),u,Cme);qD(u),lQt(y,u),uQt(b,u),kme(v,u,mme);var T=yme(p,u);cQt(T,u),kQt(u)};return i.createNodes=function(s){return arguments.length?(oQt(s),i):Eme},i.createClusters=function(s){return arguments.length?(ZXt(s),i):yme},i.createEdgeLabels=function(s){return arguments.length?(eQt(s),i):xme},i.createEdgePaths=function(s){return arguments.length?(tQt(s),i):kme},i.shapes=function(s){return arguments.length?(dQt(s),i):Cme},i.arrows=function(s){return arguments.length?(GXt(s),i):mme},i}var wQt={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},yQt={arrowhead:"normal",curve:kp};function xQt(i){i.nodes().forEach(function(s){var u=i.node(s);!Lo(u,"label")&&!i.children(s).length&&(u.label=s),Lo(u,"paddingX")&&$D(u,{paddingLeft:u.paddingX,paddingRight:u.paddingX}),Lo(u,"paddingY")&&$D(u,{paddingTop:u.paddingY,paddingBottom:u.paddingY}),Lo(u,"padding")&&$D(u,{paddingLeft:u.padding,paddingRight:u.padding,paddingTop:u.padding,paddingBottom:u.padding}),$D(u,wQt),Ar(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(d){u[d]=Number(u[d])}),Lo(u,"width")&&(u._prevWidth=u.width),Lo(u,"height")&&(u._prevHeight=u.height)}),i.edges().forEach(function(s){var u=i.edge(s);Lo(u,"label")||(u.label=""),$D(u,yQt)})}function kQt(i){Ar(i.nodes(),function(s){var u=i.node(s);Lo(u,"_prevWidth")?u.width=u._prevWidth:delete u.width,Lo(u,"_prevHeight")?u.height=u._prevHeight:delete u.height,delete u._prevWidth,delete u._prevHeight})}function AR(i,s){var u=i.select("g."+s);return u.empty()&&(u=i.append("g").attr("class",s)),u}function SVe(i,s,u){const d=s.width,p=s.height,v=(d+p)*.9,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],y=z7(i,v,v,b);return u.intersect=function(T){return e5(u,b,T)},y}function _Ve(i,s,u){const p=s.height,v=p/4,b=s.width+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-p/2},{x:b-v,y:-p},{x:v,y:-p},{x:0,y:-p/2}],T=z7(i,b,p,y);return u.intersect=function(_){return e5(u,y,_)},T}function AVe(i,s,u){const d=s.width,p=s.height,v=[{x:-p/2,y:0},{x:d,y:0},{x:d,y:-p},{x:-p/2,y:-p},{x:0,y:-p/2}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function LVe(i,s,u){const d=s.width,p=s.height,v=[{x:-2*p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function MVe(i,s,u){const d=s.width,p=s.height,v=[{x:2*p/6,y:0},{x:d+p/6,y:0},{x:d-2*p/6,y:-p},{x:-p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function DVe(i,s,u){const d=s.width,p=s.height,v=[{x:-2*p/6,y:0},{x:d+2*p/6,y:0},{x:d-p/6,y:-p},{x:p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function IVe(i,s,u){const d=s.width,p=s.height,v=[{x:p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:-2*p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function OVe(i,s,u){const d=s.width,p=s.height,v=[{x:0,y:0},{x:d+p/2,y:0},{x:d,y:-p/2},{x:d+p/2,y:-p},{x:0,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function NVe(i,s,u){const d=s.height,p=s.width+d/4,v=i.insert("rect",":first-child").attr("rx",d/2).attr("ry",d/2).attr("x",-p/2).attr("y",-d/2).attr("width",p).attr("height",d);return u.intersect=function(b){return Tme(u,b)},v}function PVe(i,s,u){const d=s.width,p=s.height,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-p},{x:-8,y:-p},{x:-8,y:0}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function BVe(i,s,u){const d=s.width,p=d/2,v=p/(2.5+d/50),b=s.height+v,y="M 0,"+v+" a "+p+","+v+" 0,0,0 "+d+" 0 a "+p+","+v+" 0,0,0 "+-d+" 0 l 0,"+b+" a "+p+","+v+" 0,0,0 "+d+" 0 l 0,"+-b,T=i.attr("label-offset-y",v).insert("path",":first-child").attr("d",y).attr("transform","translate("+-d/2+","+-(b/2+v)+")");return u.intersect=function(_){const A=Tme(u,_),P=A.x-u.x;if(p!=0&&(Math.abs(P)u.height/2-v)){let R=v*v*(1-P*P/(p*p));R!=0&&(R=Math.sqrt(R)),R=v-R,_.y-u.y>0&&(R=-R),A.y+=R}return A},T}function EQt(i){i.shapes().question=SVe,i.shapes().hexagon=_Ve,i.shapes().stadium=NVe,i.shapes().subroutine=PVe,i.shapes().cylinder=BVe,i.shapes().rect_left_inv_arrow=AVe,i.shapes().lean_right=LVe,i.shapes().lean_left=MVe,i.shapes().trapezoid=DVe,i.shapes().inv_trapezoid=IVe,i.shapes().rect_right_inv_arrow=OVe}function TQt(i){i({question:SVe}),i({hexagon:_Ve}),i({stadium:NVe}),i({subroutine:PVe}),i({cylinder:BVe}),i({rect_left_inv_arrow:AVe}),i({lean_right:LVe}),i({lean_left:MVe}),i({trapezoid:DVe}),i({inv_trapezoid:IVe}),i({rect_right_inv_arrow:OVe})}function z7(i,s,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("transform","translate("+-s/2+","+u/2+")")}const CQt={addToRender:EQt,addToRenderV2:TQt},FVe={},SQt=function(i){const s=Object.keys(i);for(const u of s)FVe[u]=i[u]},RVe=async function(i,s,u,d,p,v){const b=d?d.select(`[id="${u}"]`):Ir(`[id="${u}"]`),y=p||document,T=Object.keys(i);for(const _ of T){const A=i[_];let P="default";A.classes.length>0&&(P=A.classes.join(" "));const R=om(A.styles);let F=A.text!==void 0?A.text:A.id,j;if(f1(qt().flowchart.htmlLabels)){const ie={label:await CC(F.replace(/fa[blrs]?:fa-[\w-]+/g,oe=>``),qt())};j=vme(b,ie).node(),j.parentNode.removeChild(j)}else{const ie=y.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",R.labelStyle.replace("color:","fill:"));const oe=F.split(ci.lineBreakRegex);for(const pe of oe){const be=y.createElementNS("http://www.w3.org/2000/svg","tspan");be.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),be.setAttribute("dy","1em"),be.setAttribute("x","1"),be.textContent=pe,ie.appendChild(be)}j=ie}let K=0,ee="";switch(A.type){case"round":K=5,ee="rect";break;case"square":ee="rect";break;case"diamond":ee="question";break;case"hexagon":ee="hexagon";break;case"odd":ee="rect_left_inv_arrow";break;case"lean_right":ee="lean_right";break;case"lean_left":ee="lean_left";break;case"trapezoid":ee="trapezoid";break;case"inv_trapezoid":ee="inv_trapezoid";break;case"odd_right":ee="rect_left_inv_arrow";break;case"circle":ee="circle";break;case"ellipse":ee="ellipse";break;case"stadium":ee="stadium";break;case"subroutine":ee="subroutine";break;case"cylinder":ee="cylinder";break;case"group":ee="rect";break;default:ee="rect"}Xe.warn("Adding node",A.id,A.domId),s.setNode(v.db.lookUpDomId(A.id),{labelType:"svg",labelStyle:R.labelStyle,shape:ee,label:j,rx:K,ry:K,class:P,style:R.style,id:v.db.lookUpDomId(A.id)})}},jVe=async function(i,s,u){let d=0,p,v;if(i.defaultStyle!==void 0){const b=om(i.defaultStyle);p=b.style,v=b.labelStyle}for(const b of i){d++;const y="L-"+b.start+"-"+b.end,T="LS-"+b.start,_="LE-"+b.end,A={};b.type==="arrow_open"?A.arrowhead="none":A.arrowhead="normal";let P="",R="";if(b.style!==void 0){const F=om(b.style);P=F.style,R=F.labelStyle}else switch(b.stroke){case"normal":P="fill:none",p!==void 0&&(P=p),v!==void 0&&(R=v);break;case"dotted":P="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":P=" stroke-width: 3.5px;fill:none";break}A.style=P,A.labelStyle=R,b.interpolate!==void 0?A.curve=Ov(b.interpolate,kp):i.defaultInterpolate!==void 0?A.curve=Ov(i.defaultInterpolate,kp):A.curve=Ov(FVe.curve,kp),b.text===void 0?b.style!==void 0&&(A.arrowheadStyle="fill: #333"):(A.arrowheadStyle="fill: #333",A.labelpos="c",f1(qt().flowchart.htmlLabels)?(A.labelType="html",A.label=`${await CC(b.text.replace(/fa[blrs]?:fa-[\w-]+/g,F=>``),qt())}`):(A.labelType="text",A.label=b.text.replace(ci.lineBreakRegex,` +`),b.style===void 0&&(A.style=A.style||"stroke: #333; stroke-width: 1.5px;fill:none"),A.labelStyle=A.labelStyle.replace("color:","fill:"))),A.id=y,A.class=T+" "+_,A.minlen=b.length||1,s.setEdge(u.db.lookUpDomId(b.start),u.db.lookUpDomId(b.end),A,d)}},_Qt={setConf:SQt,addVertices:RVe,addEdges:jVe,getClasses:function(i,s){return Xe.info("Extracting classes"),s.db.getClasses()},draw:async function(i,s,u,d){Xe.info("Drawing flowchart");const{securityLevel:p,flowchart:v}=qt();let b;p==="sandbox"&&(b=Ir("#i"+s));const y=Ir(p==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=p==="sandbox"?b.nodes()[0].contentDocument:document;let _=d.db.getDirection();_===void 0&&(_="TD");const A=v.nodeSpacing||50,P=v.rankSpacing||50,R=new B0({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:A,ranksep:P,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let F;const j=d.db.getSubGraphs();for(let ne=j.length-1;ne>=0;ne--)F=j[ne],d.db.addVertex(F.id,F.title,"group",void 0,F.classes);const K=d.db.getVertices();Xe.warn("Get vertices",K);const ee=d.db.getEdges();let ie=0;for(ie=j.length-1;ie>=0;ie--){F=j[ie],_Be("cluster").append("text");for(let ne=0;ne{s.forEach(p=>{DQt[p](i,u,d)})},DQt={extension:(i,s,u)=>{Xe.trace("Making markers for ",u),i.append("defs").append("marker").attr("id",u+"_"+s+"-extensionStart").attr("class","marker extension "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-extensionEnd").attr("class","marker extension "+s).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")},composition:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-compositionStart").attr("class","marker composition "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-compositionEnd").attr("class","marker composition "+s).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:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-aggregationStart").attr("class","marker aggregation "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-aggregationEnd").attr("class","marker aggregation "+s).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")},dependency:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-dependencyStart").attr("class","marker dependency "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-dependencyEnd").attr("class","marker dependency "+s).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")},lollipop:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-lollipopStart").attr("class","marker lollipop "+s).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),i.append("defs").append("marker").attr("id",u+"_"+s+"-lollipopEnd").attr("class","marker lollipop "+s).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)},point:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-pointEnd").attr("class","marker "+s).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"),i.append("marker").attr("id",u+"_"+s+"-pointStart").attr("class","marker "+s).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")},circle:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-circleEnd").attr("class","marker "+s).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"),i.append("marker").attr("id",u+"_"+s+"-circleStart").attr("class","marker "+s).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-crossEnd").attr("class","marker cross "+s).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"),i.append("marker").attr("id",u+"_"+s+"-crossStart").attr("class","marker cross "+s).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-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")}},Sme=MQt;function IQt(i,s){s&&i.attr("style",s)}function OQt(i){const s=Ir(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),u=s.append("xhtml:div"),d=i.label,p=i.isNode?"nodeLabel":"edgeLabel";return u.html('"+d+""),IQt(u,i.labelStyle),u.style("display","inline-block"),u.style("white-space","nowrap"),u.attr("xmlns","http://www.w3.org/1999/xhtml"),s.node()}const $2=(i,s,u,d)=>{let p=i||"";if(typeof p=="object"&&(p=p[0]),f1(qt().flowchart.htmlLabels)){p=p.replace(/\\n|\n/g,"
    "),Xe.debug("vertexText"+p);const v={isNode:d,label:ZF(p).replace(/fa[blrs]?:fa-[\w-]+/g,y=>``),labelStyle:s.replace("fill:","color:")};return OQt(v)}else{const v=document.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",s.replace("color:","fill:"));let b=[];typeof p=="string"?b=p.split(/\\n|\n|/gi):Array.isArray(p)?b=p:b=[];for(const y of b){const T=document.createElementNS("http://www.w3.org/2000/svg","tspan");T.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),T.setAttribute("dy","1em"),T.setAttribute("x","0"),u?T.setAttribute("class","title-row"):T.setAttribute("class","row"),T.textContent=y.trim(),v.appendChild(T)}return v}},NQt={};function PQt(i,s){const u=s||NQt,d=typeof u.includeImageAlt=="boolean"?u.includeImageAlt:!0,p=typeof u.includeHtml=="boolean"?u.includeHtml:!0;return $Ve(i,d,p)}function $Ve(i,s,u){if(BQt(i)){if("value"in i)return i.type==="html"&&!u?"":i.value;if(s&&"alt"in i&&i.alt)return i.alt;if("children"in i)return zVe(i.children,s,u)}return Array.isArray(i)?zVe(i,s,u):""}function zVe(i,s,u){const d=[];let p=-1;for(;++pp?0:p+s:s=s>p?p:s,u=u>0?u:0,d.length<1e4)b=Array.from(d),b.unshift(s,u),i.splice(...b);else for(u&&i.splice(s,u);v0?(t5(i,i.length,0,s),i):s}const qVe={}.hasOwnProperty;function FQt(i){const s={};let u=-1;for(;++ub))return;const se=s.events.length;let de=se,X,ge;for(;de--;)if(s.events[de][0]==="exit"&&s.events[de][1].type==="chunkFlow"){if(X){ge=s.events[de][1].end;break}X=!0}for(ie(d),ne=se;nepe;){const ae=u[be];s.containerState=ae[1],ae[0].exit.call(s,i)}u.length=pe}function oe(){p.write([null]),v=void 0,p=void 0,s.containerState._closeFlow=void 0}}function XQt(i,s,u){return Kl(i,i.attempt(this.parser.constructs.document,s,u),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function VVe(i){if(i===null||z2(i)||UQt(i))return 1;if(VQt(i))return 2}function Lme(i,s,u){const d=[];let p=-1;for(;++p1&&i[u][1].end.offset-i[u][1].start.offset>1?2:1;const P=Object.assign({},i[d][1].end),R=Object.assign({},i[u][1].start);UVe(P,-T),UVe(R,T),b={type:T>1?"strongSequence":"emphasisSequence",start:P,end:Object.assign({},i[d][1].end)},y={type:T>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[u][1].start),end:R},v={type:T>1?"strongText":"emphasisText",start:Object.assign({},i[d][1].end),end:Object.assign({},i[u][1].start)},p={type:T>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},y.end)},i[d][1].end=Object.assign({},b.start),i[u][1].start=Object.assign({},y.end),_=[],i[d][1].end.offset-i[d][1].start.offset&&(_=zv(_,[["enter",i[d][1],s],["exit",i[d][1],s]])),_=zv(_,[["enter",p,s],["enter",b,s],["exit",b,s],["enter",v,s]]),_=zv(_,Lme(s.parser.constructs.insideSpan.null,i.slice(d+1,u),s)),_=zv(_,[["exit",v,s],["enter",y,s],["exit",y,s],["exit",p,s]]),i[u][1].end.offset-i[u][1].start.offset?(A=2,_=zv(_,[["enter",i[u][1],s],["exit",i[u][1],s]])):A=0,t5(i,d-1,u-d+3,_),u=d+_.length-A-2;break}}for(u=-1;++u0&&Iu(ne)?Kl(i,oe,"linePrefix",v+1)(ne):oe(ne)}function oe(ne){return ne===null||so(ne)?i.check(XVe,K,be)(ne):(i.enter("codeFlowValue"),pe(ne))}function pe(ne){return ne===null||so(ne)?(i.exit("codeFlowValue"),oe(ne)):(i.consume(ne),pe)}function be(ne){return i.exit("codeFenced"),s(ne)}function ae(ne,se,de){let X=0;return ge;function ge(Pe){return ne.enter("lineEnding"),ne.consume(Pe),ne.exit("lineEnding"),W}function W(Pe){return ne.enter("codeFencedFence"),Iu(Pe)?Kl(ne,xe,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Pe):xe(Pe)}function xe(Pe){return Pe===y?(ne.enter("codeFencedFenceSequence"),U(Pe)):de(Pe)}function U(Pe){return Pe===y?(X++,ne.consume(Pe),U):X>=b?(ne.exit("codeFencedFenceSequence"),Iu(Pe)?Kl(ne,Fe,"whitespace")(Pe):Fe(Pe)):de(Pe)}function Fe(Pe){return Pe===null||so(Pe)?(ne.exit("codeFencedFence"),se(Pe)):de(Pe)}}}function cJt(i,s,u){const d=this;return p;function p(b){return b===null?u(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return d.parser.lazy[d.now().line]?u(b):s(b)}}const Ime={name:"codeIndented",tokenize:lJt},uJt={tokenize:hJt,partial:!0};function lJt(i,s,u){const d=this;return p;function p(_){return i.enter("codeIndented"),Kl(i,v,"linePrefix",4+1)(_)}function v(_){const A=d.events[d.events.length-1];return A&&A[1].type==="linePrefix"&&A[2].sliceSerialize(A[1],!0).length>=4?b(_):u(_)}function b(_){return _===null?T(_):so(_)?i.attempt(uJt,b,T)(_):(i.enter("codeFlowValue"),y(_))}function y(_){return _===null||so(_)?(i.exit("codeFlowValue"),b(_)):(i.consume(_),y)}function T(_){return i.exit("codeIndented"),s(_)}}function hJt(i,s,u){const d=this;return p;function p(b){return d.parser.lazy[d.now().line]?u(b):so(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),p):Kl(i,v,"linePrefix",4+1)(b)}function v(b){const y=d.events[d.events.length-1];return y&&y[1].type==="linePrefix"&&y[2].sliceSerialize(y[1],!0).length>=4?s(b):so(b)?p(b):u(b)}}const fJt={name:"codeText",tokenize:pJt,resolve:dJt,previous:gJt};function dJt(i){let s=i.length-4,u=3,d,p;if((i[u][1].type==="lineEnding"||i[u][1].type==="space")&&(i[s][1].type==="lineEnding"||i[s][1].type==="space")){for(d=u;++d=4?s(b):i.interrupt(d.parser.constructs.flow,u,s)(b)}}function ZVe(i,s,u,d,p,v,b,y,T){const _=T||Number.POSITIVE_INFINITY;let A=0;return P;function P(ie){return ie===60?(i.enter(d),i.enter(p),i.enter(v),i.consume(ie),i.exit(v),R):ie===null||ie===32||ie===41||_me(ie)?u(ie):(i.enter(d),i.enter(b),i.enter(y),i.enter("chunkString",{contentType:"string"}),K(ie))}function R(ie){return ie===62?(i.enter(v),i.consume(ie),i.exit(v),i.exit(p),i.exit(d),s):(i.enter(y),i.enter("chunkString",{contentType:"string"}),F(ie))}function F(ie){return ie===62?(i.exit("chunkString"),i.exit(y),R(ie)):ie===null||ie===60||so(ie)?u(ie):(i.consume(ie),ie===92?j:F)}function j(ie){return ie===60||ie===62||ie===92?(i.consume(ie),F):F(ie)}function K(ie){return!A&&(ie===null||ie===41||z2(ie))?(i.exit("chunkString"),i.exit(y),i.exit(b),i.exit(d),s(ie)):A<_&&ie===40?(i.consume(ie),A++,K):ie===41?(i.consume(ie),A--,K):ie===null||ie===32||ie===40||_me(ie)?u(ie):(i.consume(ie),ie===92?ee:K)}function ee(ie){return ie===40||ie===41||ie===92?(i.consume(ie),K):K(ie)}}function eUe(i,s,u,d,p,v){const b=this;let y=0,T;return _;function _(F){return i.enter(d),i.enter(p),i.consume(F),i.exit(p),i.enter(v),A}function A(F){return y>999||F===null||F===91||F===93&&!T||F===94&&!y&&"_hiddenFootnoteSupport"in b.parser.constructs?u(F):F===93?(i.exit(v),i.enter(p),i.consume(F),i.exit(p),i.exit(d),s):so(F)?(i.enter("lineEnding"),i.consume(F),i.exit("lineEnding"),A):(i.enter("chunkString",{contentType:"string"}),P(F))}function P(F){return F===null||F===91||F===93||so(F)||y++>999?(i.exit("chunkString"),A(F)):(i.consume(F),T||(T=!Iu(F)),F===92?R:P)}function R(F){return F===91||F===92||F===93?(i.consume(F),y++,P):P(F)}}function tUe(i,s,u,d,p,v){let b;return y;function y(R){return R===34||R===39||R===40?(i.enter(d),i.enter(p),i.consume(R),i.exit(p),b=R===40?41:R,T):u(R)}function T(R){return R===b?(i.enter(p),i.consume(R),i.exit(p),i.exit(d),s):(i.enter(v),_(R))}function _(R){return R===b?(i.exit(v),T(b)):R===null?u(R):so(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),Kl(i,_,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),A(R))}function A(R){return R===b||R===null||so(R)?(i.exit("chunkString"),_(R)):(i.consume(R),R===92?P:A)}function P(R){return R===b||R===92?(i.consume(R),A):A(R)}}function LR(i,s){let u;return d;function d(p){return so(p)?(i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),u=!0,d):Iu(p)?Kl(i,d,u?"linePrefix":"lineSuffix")(p):s(p)}}function HD(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const kJt={name:"definition",tokenize:TJt},EJt={tokenize:CJt,partial:!0};function TJt(i,s,u){const d=this;let p;return v;function v(F){return i.enter("definition"),b(F)}function b(F){return eUe.call(d,i,y,u,"definitionLabel","definitionLabelMarker","definitionLabelString")(F)}function y(F){return p=HD(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)),F===58?(i.enter("definitionMarker"),i.consume(F),i.exit("definitionMarker"),T):u(F)}function T(F){return z2(F)?LR(i,_)(F):_(F)}function _(F){return ZVe(i,A,u,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(F)}function A(F){return i.attempt(EJt,P,P)(F)}function P(F){return Iu(F)?Kl(i,R,"whitespace")(F):R(F)}function R(F){return F===null||so(F)?(i.exit("definition"),d.parser.defined.push(p),s(F)):u(F)}}function CJt(i,s,u){return d;function d(y){return z2(y)?LR(i,p)(y):u(y)}function p(y){return tUe(i,v,u,"definitionTitle","definitionTitleMarker","definitionTitleString")(y)}function v(y){return Iu(y)?Kl(i,b,"whitespace")(y):b(y)}function b(y){return y===null||so(y)?s(y):u(y)}}const SJt={name:"hardBreakEscape",tokenize:_Jt};function _Jt(i,s,u){return d;function d(v){return i.enter("hardBreakEscape"),i.consume(v),p}function p(v){return so(v)?(i.exit("hardBreakEscape"),s(v)):u(v)}}const AJt={name:"headingAtx",tokenize:MJt,resolve:LJt};function LJt(i,s){let u=i.length-2,d=3,p,v;return i[d][1].type==="whitespace"&&(d+=2),u-2>d&&i[u][1].type==="whitespace"&&(u-=2),i[u][1].type==="atxHeadingSequence"&&(d===u-1||u-4>d&&i[u-2][1].type==="whitespace")&&(u-=d+1===u?2:4),u>d&&(p={type:"atxHeadingText",start:i[d][1].start,end:i[u][1].end},v={type:"chunkText",start:i[d][1].start,end:i[u][1].end,contentType:"text"},t5(i,d,u-d+1,[["enter",p,s],["enter",v,s],["exit",v,s],["exit",p,s]])),i}function MJt(i,s,u){let d=0;return p;function p(A){return i.enter("atxHeading"),v(A)}function v(A){return i.enter("atxHeadingSequence"),b(A)}function b(A){return A===35&&d++<6?(i.consume(A),b):A===null||z2(A)?(i.exit("atxHeadingSequence"),y(A)):u(A)}function y(A){return A===35?(i.enter("atxHeadingSequence"),T(A)):A===null||so(A)?(i.exit("atxHeading"),s(A)):Iu(A)?Kl(i,y,"whitespace")(A):(i.enter("atxHeadingText"),_(A))}function T(A){return A===35?(i.consume(A),T):(i.exit("atxHeadingSequence"),y(A))}function _(A){return A===null||A===35||z2(A)?(i.exit("atxHeadingText"),y(A)):(i.consume(A),_)}}const DJt=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],nUe=["pre","script","style","textarea"],IJt={name:"htmlFlow",tokenize:BJt,resolveTo:PJt,concrete:!0},OJt={tokenize:RJt,partial:!0},NJt={tokenize:FJt,partial:!0};function PJt(i){let s=i.length;for(;s--&&!(i[s][0]==="enter"&&i[s][1].type==="htmlFlow"););return s>1&&i[s-2][1].type==="linePrefix"&&(i[s][1].start=i[s-2][1].start,i[s+1][1].start=i[s-2][1].start,i.splice(s-2,2)),i}function BJt(i,s,u){const d=this;let p,v,b,y,T;return _;function _(Ne){return A(Ne)}function A(Ne){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Ne),P}function P(Ne){return Ne===33?(i.consume(Ne),R):Ne===47?(i.consume(Ne),v=!0,K):Ne===63?(i.consume(Ne),p=3,d.interrupt?s:ke):n5(Ne)?(i.consume(Ne),b=String.fromCharCode(Ne),ee):u(Ne)}function R(Ne){return Ne===45?(i.consume(Ne),p=2,F):Ne===91?(i.consume(Ne),p=5,y=0,j):n5(Ne)?(i.consume(Ne),p=4,d.interrupt?s:ke):u(Ne)}function F(Ne){return Ne===45?(i.consume(Ne),d.interrupt?s:ke):u(Ne)}function j(Ne){const gn="CDATA[";return Ne===gn.charCodeAt(y++)?(i.consume(Ne),y===gn.length?d.interrupt?s:xe:j):u(Ne)}function K(Ne){return n5(Ne)?(i.consume(Ne),b=String.fromCharCode(Ne),ee):u(Ne)}function ee(Ne){if(Ne===null||Ne===47||Ne===62||z2(Ne)){const gn=Ne===47,_t=b.toLowerCase();return!gn&&!v&&nUe.includes(_t)?(p=1,d.interrupt?s(Ne):xe(Ne)):DJt.includes(b.toLowerCase())?(p=6,gn?(i.consume(Ne),ie):d.interrupt?s(Ne):xe(Ne)):(p=7,d.interrupt&&!d.parser.lazy[d.now().line]?u(Ne):v?oe(Ne):pe(Ne))}return Ne===45||H3(Ne)?(i.consume(Ne),b+=String.fromCharCode(Ne),ee):u(Ne)}function ie(Ne){return Ne===62?(i.consume(Ne),d.interrupt?s:xe):u(Ne)}function oe(Ne){return Iu(Ne)?(i.consume(Ne),oe):ge(Ne)}function pe(Ne){return Ne===47?(i.consume(Ne),ge):Ne===58||Ne===95||n5(Ne)?(i.consume(Ne),be):Iu(Ne)?(i.consume(Ne),pe):ge(Ne)}function be(Ne){return Ne===45||Ne===46||Ne===58||Ne===95||H3(Ne)?(i.consume(Ne),be):ae(Ne)}function ae(Ne){return Ne===61?(i.consume(Ne),ne):Iu(Ne)?(i.consume(Ne),ae):pe(Ne)}function ne(Ne){return Ne===null||Ne===60||Ne===61||Ne===62||Ne===96?u(Ne):Ne===34||Ne===39?(i.consume(Ne),T=Ne,se):Iu(Ne)?(i.consume(Ne),ne):de(Ne)}function se(Ne){return Ne===T?(i.consume(Ne),T=null,X):Ne===null||so(Ne)?u(Ne):(i.consume(Ne),se)}function de(Ne){return Ne===null||Ne===34||Ne===39||Ne===47||Ne===60||Ne===61||Ne===62||Ne===96||z2(Ne)?ae(Ne):(i.consume(Ne),de)}function X(Ne){return Ne===47||Ne===62||Iu(Ne)?pe(Ne):u(Ne)}function ge(Ne){return Ne===62?(i.consume(Ne),W):u(Ne)}function W(Ne){return Ne===null||so(Ne)?xe(Ne):Iu(Ne)?(i.consume(Ne),W):u(Ne)}function xe(Ne){return Ne===45&&p===2?(i.consume(Ne),je):Ne===60&&p===1?(i.consume(Ne),Ie):Ne===62&&p===4?(i.consume(Ne),Ke):Ne===63&&p===3?(i.consume(Ne),ke):Ne===93&&p===5?(i.consume(Ne),Ce):so(Ne)&&(p===6||p===7)?(i.exit("htmlFlowData"),i.check(OJt,Ft,U)(Ne)):Ne===null||so(Ne)?(i.exit("htmlFlowData"),U(Ne)):(i.consume(Ne),xe)}function U(Ne){return i.check(NJt,Fe,Ft)(Ne)}function Fe(Ne){return i.enter("lineEnding"),i.consume(Ne),i.exit("lineEnding"),Pe}function Pe(Ne){return Ne===null||so(Ne)?U(Ne):(i.enter("htmlFlowData"),xe(Ne))}function je(Ne){return Ne===45?(i.consume(Ne),ke):xe(Ne)}function Ie(Ne){return Ne===47?(i.consume(Ne),b="",Se):xe(Ne)}function Se(Ne){if(Ne===62){const gn=b.toLowerCase();return nUe.includes(gn)?(i.consume(Ne),Ke):xe(Ne)}return n5(Ne)&&b.length<8?(i.consume(Ne),b+=String.fromCharCode(Ne),Se):xe(Ne)}function Ce(Ne){return Ne===93?(i.consume(Ne),ke):xe(Ne)}function ke(Ne){return Ne===62?(i.consume(Ne),Ke):Ne===45&&p===2?(i.consume(Ne),ke):xe(Ne)}function Ke(Ne){return Ne===null||so(Ne)?(i.exit("htmlFlowData"),Ft(Ne)):(i.consume(Ne),Ke)}function Ft(Ne){return i.exit("htmlFlow"),s(Ne)}}function FJt(i,s,u){const d=this;return p;function p(b){return so(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):u(b)}function v(b){return d.parser.lazy[d.now().line]?u(b):s(b)}}function RJt(i,s,u){return d;function d(p){return i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),i.attempt(YQ,s,u)}}const jJt={name:"htmlText",tokenize:$Jt};function $Jt(i,s,u){const d=this;let p,v,b;return y;function y(ke){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(ke),T}function T(ke){return ke===33?(i.consume(ke),_):ke===47?(i.consume(ke),ae):ke===63?(i.consume(ke),pe):n5(ke)?(i.consume(ke),de):u(ke)}function _(ke){return ke===45?(i.consume(ke),A):ke===91?(i.consume(ke),v=0,j):n5(ke)?(i.consume(ke),oe):u(ke)}function A(ke){return ke===45?(i.consume(ke),F):u(ke)}function P(ke){return ke===null?u(ke):ke===45?(i.consume(ke),R):so(ke)?(b=P,Ie(ke)):(i.consume(ke),P)}function R(ke){return ke===45?(i.consume(ke),F):P(ke)}function F(ke){return ke===62?je(ke):ke===45?R(ke):P(ke)}function j(ke){const Ke="CDATA[";return ke===Ke.charCodeAt(v++)?(i.consume(ke),v===Ke.length?K:j):u(ke)}function K(ke){return ke===null?u(ke):ke===93?(i.consume(ke),ee):so(ke)?(b=K,Ie(ke)):(i.consume(ke),K)}function ee(ke){return ke===93?(i.consume(ke),ie):K(ke)}function ie(ke){return ke===62?je(ke):ke===93?(i.consume(ke),ie):K(ke)}function oe(ke){return ke===null||ke===62?je(ke):so(ke)?(b=oe,Ie(ke)):(i.consume(ke),oe)}function pe(ke){return ke===null?u(ke):ke===63?(i.consume(ke),be):so(ke)?(b=pe,Ie(ke)):(i.consume(ke),pe)}function be(ke){return ke===62?je(ke):pe(ke)}function ae(ke){return n5(ke)?(i.consume(ke),ne):u(ke)}function ne(ke){return ke===45||H3(ke)?(i.consume(ke),ne):se(ke)}function se(ke){return so(ke)?(b=se,Ie(ke)):Iu(ke)?(i.consume(ke),se):je(ke)}function de(ke){return ke===45||H3(ke)?(i.consume(ke),de):ke===47||ke===62||z2(ke)?X(ke):u(ke)}function X(ke){return ke===47?(i.consume(ke),je):ke===58||ke===95||n5(ke)?(i.consume(ke),ge):so(ke)?(b=X,Ie(ke)):Iu(ke)?(i.consume(ke),X):je(ke)}function ge(ke){return ke===45||ke===46||ke===58||ke===95||H3(ke)?(i.consume(ke),ge):W(ke)}function W(ke){return ke===61?(i.consume(ke),xe):so(ke)?(b=W,Ie(ke)):Iu(ke)?(i.consume(ke),W):X(ke)}function xe(ke){return ke===null||ke===60||ke===61||ke===62||ke===96?u(ke):ke===34||ke===39?(i.consume(ke),p=ke,U):so(ke)?(b=xe,Ie(ke)):Iu(ke)?(i.consume(ke),xe):(i.consume(ke),Fe)}function U(ke){return ke===p?(i.consume(ke),p=void 0,Pe):ke===null?u(ke):so(ke)?(b=U,Ie(ke)):(i.consume(ke),U)}function Fe(ke){return ke===null||ke===34||ke===39||ke===60||ke===61||ke===96?u(ke):ke===47||ke===62||z2(ke)?X(ke):(i.consume(ke),Fe)}function Pe(ke){return ke===47||ke===62||z2(ke)?X(ke):u(ke)}function je(ke){return ke===62?(i.consume(ke),i.exit("htmlTextData"),i.exit("htmlText"),s):u(ke)}function Ie(ke){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(ke),i.exit("lineEnding"),Se}function Se(ke){return Iu(ke)?Kl(i,Ce,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ke):Ce(ke)}function Ce(ke){return i.enter("htmlTextData"),b(ke)}}const Ome={name:"labelEnd",tokenize:GJt,resolveTo:UJt,resolveAll:VJt},zJt={tokenize:KJt},qJt={tokenize:WJt},HJt={tokenize:YJt};function VJt(i){let s=-1;for(;++s=3&&(_===null||so(_))?(i.exit("thematicBreak"),s(_)):u(_)}function T(_){return _===p?(i.consume(_),d++,T):(i.exit("thematicBreakSequence"),Iu(_)?Kl(i,y,"whitespace")(_):y(_))}}const q2={name:"list",tokenize:iZt,continuation:{tokenize:sZt},exit:oZt},nZt={tokenize:cZt,partial:!0},rZt={tokenize:aZt,partial:!0};function iZt(i,s,u){const d=this,p=d.events[d.events.length-1];let v=p&&p[1].type==="linePrefix"?p[2].sliceSerialize(p[1],!0).length:0,b=0;return y;function y(F){const j=d.containerState.type||(F===42||F===43||F===45?"listUnordered":"listOrdered");if(j==="listUnordered"?!d.containerState.marker||F===d.containerState.marker:Ame(F)){if(d.containerState.type||(d.containerState.type=j,i.enter(j,{_container:!0})),j==="listUnordered")return i.enter("listItemPrefix"),F===42||F===45?i.check(XQ,u,_)(F):_(F);if(!d.interrupt||F===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),T(F)}return u(F)}function T(F){return Ame(F)&&++b<10?(i.consume(F),T):(!d.interrupt||b<2)&&(d.containerState.marker?F===d.containerState.marker:F===41||F===46)?(i.exit("listItemValue"),_(F)):u(F)}function _(F){return i.enter("listItemMarker"),i.consume(F),i.exit("listItemMarker"),d.containerState.marker=d.containerState.marker||F,i.check(YQ,d.interrupt?u:A,i.attempt(nZt,R,P))}function A(F){return d.containerState.initialBlankLine=!0,v++,R(F)}function P(F){return Iu(F)?(i.enter("listItemPrefixWhitespace"),i.consume(F),i.exit("listItemPrefixWhitespace"),R):u(F)}function R(F){return d.containerState.size=v+d.sliceSerialize(i.exit("listItemPrefix"),!0).length,s(F)}}function sZt(i,s,u){const d=this;return d.containerState._closeFlow=void 0,i.check(YQ,p,v);function p(y){return d.containerState.furtherBlankLines=d.containerState.furtherBlankLines||d.containerState.initialBlankLine,Kl(i,s,"listItemIndent",d.containerState.size+1)(y)}function v(y){return d.containerState.furtherBlankLines||!Iu(y)?(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,b(y)):(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,i.attempt(rZt,s,b)(y))}function b(y){return d.containerState._closeFlow=!0,d.interrupt=void 0,Kl(i,i.attempt(q2,s,u),"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y)}}function aZt(i,s,u){const d=this;return Kl(i,p,"listItemIndent",d.containerState.size+1);function p(v){const b=d.events[d.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===d.containerState.size?s(v):u(v)}}function oZt(i){i.exit(this.containerState.type)}function cZt(i,s,u){const d=this;return Kl(i,p,"listItemPrefixWhitespace",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function p(v){const b=d.events[d.events.length-1];return!Iu(v)&&b&&b[1].type==="listItemPrefixWhitespace"?s(v):u(v)}}const rUe={name:"setextUnderline",tokenize:lZt,resolveTo:uZt};function uZt(i,s){let u=i.length,d,p,v;for(;u--;)if(i[u][0]==="enter"){if(i[u][1].type==="content"){d=u;break}i[u][1].type==="paragraph"&&(p=u)}else i[u][1].type==="content"&&i.splice(u,1),!v&&i[u][1].type==="definition"&&(v=u);const b={type:"setextHeading",start:Object.assign({},i[p][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[p][1].type="setextHeadingText",v?(i.splice(p,0,["enter",b,s]),i.splice(v+1,0,["exit",i[d][1],s]),i[d][1].end=Object.assign({},i[v][1].end)):i[d][1]=b,i.push(["exit",b,s]),i}function lZt(i,s,u){const d=this;let p;return v;function v(_){let A=d.events.length,P;for(;A--;)if(d.events[A][1].type!=="lineEnding"&&d.events[A][1].type!=="linePrefix"&&d.events[A][1].type!=="content"){P=d.events[A][1].type==="paragraph";break}return!d.parser.lazy[d.now().line]&&(d.interrupt||P)?(i.enter("setextHeadingLine"),p=_,b(_)):u(_)}function b(_){return i.enter("setextHeadingLineSequence"),y(_)}function y(_){return _===p?(i.consume(_),y):(i.exit("setextHeadingLineSequence"),Iu(_)?Kl(i,T,"lineSuffix")(_):T(_))}function T(_){return _===null||so(_)?(i.exit("setextHeadingLine"),s(_)):u(_)}}const hZt={tokenize:fZt};function fZt(i){const s=this,u=i.attempt(YQ,d,i.attempt(this.parser.constructs.flowInitial,p,Kl(i,i.attempt(this.parser.constructs.flow,p,i.attempt(mJt,p)),"linePrefix")));return u;function d(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),s.currentConstruct=void 0,u}function p(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),s.currentConstruct=void 0,u}}const dZt={resolveAll:sUe()},gZt=iUe("string"),pZt=iUe("text");function iUe(i){return{tokenize:s,resolveAll:sUe(i==="text"?bZt:void 0)};function s(u){const d=this,p=this.parser.constructs[i],v=u.attempt(p,b,y);return b;function b(A){return _(A)?v(A):y(A)}function y(A){if(A===null){u.consume(A);return}return u.enter("data"),u.consume(A),T}function T(A){return _(A)?(u.exit("data"),v(A)):(u.consume(A),T)}function _(A){if(A===null)return!0;const P=p[A];let R=-1;if(P)for(;++R-1){const y=b[0];typeof y=="string"?b[0]=y.slice(d):b.shift()}v>0&&b.push(i[p].slice(0,v))}return b}function wZt(i,s){let u=-1;const d=[];let p;for(;++u13&&u<32||u>126&&u<160||u>55295&&u<57344||u>64975&&u<65008||(u&65535)===65535||(u&65535)===65534||u>1114111?"�":String.fromCharCode(u)}const TZt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function CZt(i){return i.replace(TZt,SZt)}function SZt(i,s,u){if(s)return s;if(u.charCodeAt(0)===35){const p=u.charCodeAt(1),v=p===120||p===88;return oUe(u.slice(v?2:1),v?16:10)}return Dme(u)||i}function QQ(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?cUe(i.position):"start"in i||"end"in i?cUe(i):"line"in i||"column"in i?Pme(i):""}function Pme(i){return uUe(i&&i.line)+":"+uUe(i&&i.column)}function cUe(i){return Pme(i&&i.start)+"-"+Pme(i&&i.end)}function uUe(i){return i&&typeof i=="number"?i:1}const lUe={}.hasOwnProperty,hUe=function(i,s,u){return typeof s!="string"&&(u=s,s=void 0),_Zt(u)(EZt(xZt(u).document().write(kZt()(i,s,!0))))};function _Zt(i){const s={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:y(Ma),autolinkProtocol:W,autolinkEmail:W,atxHeading:y(zr),blockQuote:y(Qe),characterEscape:W,characterReference:W,codeFenced:y(Dt),codeFencedFenceInfo:T,codeFencedFenceMeta:T,codeIndented:y(Dt,T),codeText:y(kt,T),codeTextData:W,data:W,codeFlowValue:W,definition:y(On),definitionDestinationString:T,definitionLabelString:T,definitionTitleString:T,emphasis:y(ht),hardBreakEscape:y(yt),hardBreakTrailing:y(yt),htmlFlow:y(ji,T),htmlFlowData:W,htmlText:y(ji,T),htmlTextData:W,image:y(xi),label:T,link:y(Ma),listItem:y(ao),listItemValue:j,listOrdered:y(zs,F),listUnordered:y(zs),paragraph:y(Tr),reference:_t,referenceString:T,resourceDestinationString:T,resourceTitleString:T,setextHeading:y(zr),strong:y(Fn),thematicBreak:y(Un)},exit:{atxHeading:A(),atxHeadingSequence:se,autolink:A(),autolinkEmail:Pt,autolinkProtocol:xt,blockQuote:A(),characterEscapeValue:xe,characterReferenceMarkerHexadecimal:Gt,characterReferenceMarkerNumeric:Gt,characterReferenceValue:ln,codeFenced:A(oe),codeFencedFence:ie,codeFencedFenceInfo:K,codeFencedFenceMeta:ee,codeFlowValue:xe,codeIndented:A(pe),codeText:A(Ie),codeTextData:xe,data:xe,definition:A(),definitionDestinationString:ne,definitionLabelString:be,definitionTitleString:ae,emphasis:A(),hardBreakEscape:A(Fe),hardBreakTrailing:A(Fe),htmlFlow:A(Pe),htmlFlowData:xe,htmlText:A(je),htmlTextData:xe,image:A(Ce),label:Ke,labelText:ke,lineEnding:U,link:A(Se),listItem:A(),listOrdered:A(),listUnordered:A(),paragraph:A(),referenceString:Et,resourceDestinationString:Ft,resourceTitleString:Ne,resource:gn,setextHeading:A(ge),setextHeadingLineSequence:X,setextHeadingText:de,strong:A(),thematicBreak:A()}};fUe(s,(i||{}).mdastExtensions||[]);const u={};return d;function d(At){let wt={type:"root",children:[]};const on={stack:[wt],tokenStack:[],config:s,enter:_,exit:P,buffer:T,resume:R,setData:v,getData:b},fn=[];let An=-1;for(;++An0){const oo=on.tokenStack[on.tokenStack.length-1];(oo[1]||dUe).call(on,void 0,oo[0])}for(wt.position={start:N9(At.length>0?At[0][1].start:{line:1,column:1,offset:0}),end:N9(At.length>0?At[At.length-2][1].end:{line:1,column:1,offset:0})},An=-1;++An{A!==0&&(p++,d.push([])),_.split(" ").forEach(P=>{P&&d[p].push({content:P,type:y})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(T=>{v(T,b.type)})}return u.forEach(b=>{b.type==="paragraph"&&b.children.forEach(y=>{v(y)})}),d}function DZt(i){const{children:s}=hUe(i);function u(d){return d.type==="text"?d.value.replace(/\n/g,"
    "):d.type==="strong"?`${d.children.map(u).join("")}`:d.type==="emphasis"?`${d.children.map(u).join("")}`:d.type==="paragraph"?`

    ${d.children.map(u).join("")}

    `:`Unsupported markdown: ${d.type}`}return s.map(u).join("")}function IZt(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(s=>s.segment):[...i]}function OZt(i,s){const u=IZt(s.content);return gUe(i,[],u,s.type)}function gUe(i,s,u,d){if(u.length===0)return[{content:s.join(""),type:d},{content:"",type:d}];const[p,...v]=u,b=[...s,p];return i([{content:b.join(""),type:d}])?gUe(i,b,v,d):(s.length===0&&p&&(s.push(p),u.shift()),[{content:s.join(""),type:d},{content:u.join(""),type:d}])}function NZt(i,s){if(i.some(({content:u})=>u.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return Bme(i,s)}function Bme(i,s,u=[],d=[]){if(i.length===0)return d.length>0&&u.push(d),u.length>0?u:[];let p="";i[0].content===" "&&(p=" ",i.shift());const v=i.shift()??{content:" ",type:"normal"},b=[...d];if(p!==""&&b.push({content:p,type:"normal"}),b.push(v),s(b))return Bme(i,s,u,b);if(d.length>0)u.push(d),i.unshift(v);else if(v.content){const[y,T]=OZt(s,v);u.push([y]),T.content&&i.unshift(T)}return Bme(i,s,u)}function PZt(i,s){s&&i.attr("style",s)}function BZt(i,s,u,d,p=!1){const v=i.append("foreignObject"),b=v.append("xhtml:div"),y=s.label,T=s.isNode?"nodeLabel":"edgeLabel";b.html(` + "+y+""),PZt(b,s.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",u+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),p&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===u&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",u+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function Fme(i,s,u){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",s*u-.1+"em").attr("dy",u+"em")}function FZt(i,s,u){const d=i.append("text"),p=Fme(d,1,s);Rme(p,u);const v=p.node().getComputedTextLength();return d.remove(),v}function RZt(i,s,u){var b;const d=i.append("text"),p=Fme(d,1,s);Rme(p,[{content:u,type:"normal"}]);const v=(b=p.node())==null?void 0:b.getBoundingClientRect();return v&&d.remove(),v}function jZt(i,s,u,d=!1){const v=s.append("g"),b=v.insert("rect").attr("class","background"),y=v.append("text").attr("y","-10.1");let T=0;for(const _ of u){const A=R=>FZt(v,1.1,R)<=i,P=A(_)?[_]:NZt(_,A);for(const R of P){const F=Fme(y,T,1.1);Rme(F,R),T++}}if(d){const _=y.node().getBBox(),A=2;return b.attr("x",-A).attr("y",-A).attr("width",_.width+2*A).attr("height",_.height+2*A),v.node()}else return y.node()}function Rme(i,s){i.text(""),s.forEach((u,d)=>{const p=i.append("tspan").attr("font-style",u.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",u.type==="strong"?"bold":"normal");d===0?p.text(u.content):p.text(" "+u.content)})}const JQ=(i,s="",{style:u="",isTitle:d=!1,classes:p="",useHtmlLabels:v=!0,isNode:b=!0,width:y=200,addSvgBackground:T=!1}={})=>{if(Xe.info("createText",s,u,d,p,v,b,T),v){const _=DZt(s),A={isNode:b,label:ZF(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>``),labelStyle:u.replace("fill:","color:")};return BZt(i,A,y,p,T)}else{const _=MZt(s);return jZt(y,i,_,T)}},g1=async(i,s,u,d)=>{let p;const v=s.useHtmlLabels||f1(qt().flowchart.htmlLabels);u?p=u:p="node default";const b=i.insert("g").attr("class",p).attr("id",s.domId||s.id),y=b.insert("g").attr("class","label").attr("style",s.labelStyle);let T;s.labelText===void 0?T="":T=typeof s.labelText=="string"?s.labelText:s.labelText[0];const _=y.node();let A;s.labelType==="markdown"?A=JQ(y,Yf(ZF(T),qt()),{useHtmlLabels:v,width:s.width||qt().flowchart.wrappingWidth,classes:"markdown-node-label"}):A=_.appendChild($2(Yf(ZF(T),qt()),s.labelStyle,!1,d));let P=A.getBBox();const R=s.padding/2;if(f1(qt().flowchart.htmlLabels)){const F=A.children[0],j=Ir(A),K=F.getElementsByTagName("img");if(K){const ee=T.replace(/]*>/g,"").trim()==="";await Promise.all([...K].map(ie=>new Promise(oe=>{function pe(){if(ie.style.display="flex",ie.style.flexDirection="column",ee){const be=qt().fontSize?qt().fontSize:window.getComputedStyle(document.body).fontSize,ae=5,ne=parseInt(be,10)*ae+"px";ie.style.minWidth=ne,ie.style.maxWidth=ne}else ie.style.width="100%";oe(ie)}setTimeout(()=>{ie.complete&&pe()}),ie.addEventListener("error",pe),ie.addEventListener("load",pe)})))}P=F.getBoundingClientRect(),j.attr("width",P.width),j.attr("height",P.height)}return v?y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"):y.attr("transform","translate(0, "+-P.height/2+")"),s.centerLabel&&y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),y.insert("rect",":first-child"),{shapeSvg:b,bbox:P,halfPadding:R,label:y}},Kh=(i,s)=>{const u=s.node().getBBox();i.width=u.width,i.height=u.height};function r5(i,s,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-s/2+","+u/2+")")}let Mo={},V3={},pUe={};const $Zt=()=>{V3={},pUe={},Mo={}},ZQ=(i,s)=>(Xe.trace("In isDescendant",s," ",i," = ",V3[s].includes(i)),!!V3[s].includes(i)),zZt=(i,s)=>(Xe.info("Descendants of ",s," is ",V3[s]),Xe.info("Edge is ",i),i.v===s||i.w===s?!1:V3[s]?V3[s].includes(i.v)||ZQ(i.v,s)||ZQ(i.w,s)||V3[s].includes(i.w):(Xe.debug("Tilt, ",s,",not in descendants"),!1)),bUe=(i,s,u,d)=>{Xe.warn("Copying children of ",i,"root",d,"data",s.node(i),d);const p=s.children(i)||[];i!==d&&p.push(i),Xe.warn("Copying (nodes) clusterId",i,"nodes",p),p.forEach(v=>{if(s.children(v).length>0)bUe(v,s,u,d);else{const b=s.node(v);Xe.info("cp ",v," to ",d," with parent ",i),u.setNode(v,b),d!==s.parent(v)&&(Xe.warn("Setting parent",v,s.parent(v)),u.setParent(v,s.parent(v))),i!==d&&v!==i?(Xe.debug("Setting parent",v,i),u.setParent(v,i)):(Xe.info("In copy ",i,"root",d,"data",s.node(i),d),Xe.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==d,"node!==clusterId",v!==i));const y=s.edges(v);Xe.debug("Copying Edges",y),y.forEach(T=>{Xe.info("Edge",T);const _=s.edge(T.v,T.w,T.name);Xe.info("Edge data",_,d);try{zZt(T,d)?(Xe.info("Copying as ",T.v,T.w,_,T.name),u.setEdge(T.v,T.w,_,T.name),Xe.info("newGraph edges ",u.edges(),u.edge(u.edges()[0]))):Xe.info("Skipping copy of edge ",T.v,"-->",T.w," rootId: ",d," clusterId:",i)}catch(A){Xe.error(A)}})}Xe.debug("Removing node",v),s.removeNode(v)})},mUe=(i,s)=>{const u=s.children(i);let d=[...u];for(const p of u)pUe[p]=i,d=[...d,...mUe(p,s)];return d},MR=(i,s)=>{Xe.trace("Searching",i);const u=s.children(i);if(Xe.trace("Searching children of id ",i,u),u.length<1)return Xe.trace("This is a valid node",i),i;for(const d of u){const p=MR(d,s);if(p)return Xe.trace("Found replacement for",i," => ",p),p}},eJ=i=>!Mo[i]||!Mo[i].externalConnections?i:Mo[i]?Mo[i].id:i,qZt=(i,s)=>{if(!i||s>10){Xe.debug("Opting out, no graph ");return}else Xe.debug("Opting in, graph ");i.nodes().forEach(function(u){i.children(u).length>0&&(Xe.warn("Cluster identified",u," Replacement id in edges: ",MR(u,i)),V3[u]=mUe(u,i),Mo[u]={id:MR(u,i),clusterData:i.node(u)})}),i.nodes().forEach(function(u){const d=i.children(u),p=i.edges();d.length>0?(Xe.debug("Cluster identified",u,V3),p.forEach(v=>{if(v.v!==u&&v.w!==u){const b=ZQ(v.v,u),y=ZQ(v.w,u);b^y&&(Xe.warn("Edge: ",v," leaves cluster ",u),Xe.warn("Descendants of XXX ",u,": ",V3[u]),Mo[u].externalConnections=!0)}})):Xe.debug("Not a cluster ",u,V3)});for(let u of Object.keys(Mo)){const d=Mo[u].id,p=i.parent(d);p!==u&&Mo[p]&&!Mo[p].externalConnections&&(Mo[u].id=p)}i.edges().forEach(function(u){const d=i.edge(u);Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(u)),Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(i.edge(u)));let p=u.v,v=u.w;if(Xe.warn("Fix XXX",Mo,"ids:",u.v,u.w,"Translating: ",Mo[u.v]," --- ",Mo[u.w]),Mo[u.v]&&Mo[u.w]&&Mo[u.v]===Mo[u.w]){Xe.warn("Fixing and trixing link to self - removing XXX",u.v,u.w,u.name),Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=eJ(u.v),v=eJ(u.w),i.removeEdge(u.v,u.w,u.name);const b=u.w+"---"+u.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:d.label,padding:0,shape:"labelRect",style:""});const y=structuredClone(d),T=structuredClone(d);y.label="",y.arrowTypeEnd="none",T.label="",y.fromCluster=u.v,T.toCluster=u.v,i.setEdge(p,b,y,u.name+"-cyclic-special"),i.setEdge(b,v,T,u.name+"-cyclic-special")}else if(Mo[u.v]||Mo[u.w]){if(Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=eJ(u.v),v=eJ(u.w),i.removeEdge(u.v,u.w,u.name),p!==u.v){const b=i.parent(p);Mo[b].externalConnections=!0,d.fromCluster=u.v}if(v!==u.w){const b=i.parent(v);Mo[b].externalConnections=!0,d.toCluster=u.w}Xe.warn("Fix Replacing with XXX",p,v,u.name),i.setEdge(p,v,d,u.name)}}),Xe.warn("Adjusted Graph",q7(i)),vUe(i,0),Xe.trace(Mo)},vUe=(i,s)=>{if(Xe.warn("extractor - ",s,q7(i),i.children("D")),s>10){Xe.error("Bailing out");return}let u=i.nodes(),d=!1;for(const p of u){const v=i.children(p);d=d||v.length>0}if(!d){Xe.debug("Done, no node has children",i.nodes());return}Xe.debug("Nodes = ",u,s);for(const p of u)if(Xe.debug("Extracting node",p,Mo,Mo[p]&&!Mo[p].externalConnections,!i.parent(p),i.node(p),i.children("D")," Depth ",s),!Mo[p])Xe.debug("Not a cluster",p,s);else if(!Mo[p].externalConnections&&i.children(p)&&i.children(p).length>0){Xe.warn("Cluster without external connections, without a parent and with children",p,s);let b=i.graph().rankdir==="TB"?"LR":"TB";Mo[p]&&Mo[p].clusterData&&Mo[p].clusterData.dir&&(b=Mo[p].clusterData.dir,Xe.warn("Fixing dir",Mo[p].clusterData.dir,b));const y=new B0({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Xe.warn("Old graph before copy",q7(i)),bUe(p,i,y,p),i.setNode(p,{clusterNode:!0,id:p,clusterData:Mo[p].clusterData,labelText:Mo[p].labelText,graph:y}),Xe.warn("New graph after copy node: (",p,")",q7(y)),Xe.debug("Old graph after copy",q7(i))}else Xe.warn("Cluster ** ",p," **not meeting the criteria !externalConnections:",!Mo[p].externalConnections," no parent: ",!i.parent(p)," children ",i.children(p)&&i.children(p).length>0,i.children("D"),s),Xe.debug(Mo);u=i.nodes(),Xe.warn("New list of nodes",u);for(const p of u){const v=i.node(p);Xe.warn(" Now next level",p,v),v.clusterNode&&vUe(v.graph,s+1)}},wUe=(i,s)=>{if(s.length===0)return[];let u=Object.assign(s);return s.forEach(d=>{const p=i.children(d),v=wUe(i,p);u=[...u,...v]}),u},HZt=i=>wUe(i,i.children());function VZt(i,s){return i.intersect(s)}function yUe(i,s,u,d){var p=i.x,v=i.y,b=p-d.x,y=v-d.y,T=Math.sqrt(s*s*y*y+u*u*b*b),_=Math.abs(s*u*b/T);d.x0}function KZt(i,s,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;typeof s.forEach=="function"?s.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)}):(b=Math.min(b,s.x),y=Math.min(y,s.y));for(var T=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,K){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),pe=K.x-u.x,be=K.y-u.y,ae=Math.sqrt(pe*pe+be*be);return oe{var u=i.x,d=i.y,p=s.x-u,v=s.y-d,b=i.width/2,y=i.height/2,T,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),T=v===0?0:y*p/v,_=y):(p<0&&(b=-b),T=b,_=p===0?0:b*v/p),{x:u+T,y:d+_}},yh={node:VZt,circle:UZt,ellipse:yUe,polygon:KZt,rect:DR},WZt=async(i,s)=>{s.useHtmlLabels||qt().flowchart.htmlLabels||(s.centerLabel=!0);const{shapeSvg:d,bbox:p,halfPadding:v}=await g1(i,s,"node "+s.classes,!0);Xe.info("Classes = ",s.classes);const b=d.insert("rect",":first-child");return b.attr("rx",s.rx).attr("ry",s.ry).attr("x",-p.width/2-v).attr("y",-p.height/2-v).attr("width",p.width+s.padding).attr("height",p.height+s.padding),Kh(s,b),s.intersect=function(y){return yh.rect(s,y)},d},YZt=i=>{const s=new Set;for(const u of i)switch(u){case"x":s.add("right"),s.add("left");break;case"y":s.add("up"),s.add("down");break;default:s.add(u);break}return s},XZt=(i,s,u)=>{const d=YZt(i),p=2,v=s.height+2*u.padding,b=v/p,y=s.width+2*b+u.padding,T=u.padding/2;return d.has("right")&&d.has("left")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:b,y:0},{x:y/2,y:2*T},{x:y-b,y:0},{x:y,y:0},{x:y,y:-v/3},{x:y+2*T,y:-v/2},{x:y,y:-2*v/3},{x:y,y:-v},{x:y-b,y:-v},{x:y/2,y:-v-2*T},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*T,y:-v/2},{x:0,y:-v/3}]:d.has("right")&&d.has("left")&&d.has("up")?[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:d.has("right")&&d.has("left")&&d.has("down")?[{x:0,y:0},{x:b,y:-v},{x:y-b,y:-v},{x:y,y:0}]:d.has("right")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:y,y:-b},{x:y,y:-v+b},{x:0,y:-v}]:d.has("left")&&d.has("up")&&d.has("down")?[{x:y,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:y,y:-v}]:d.has("right")&&d.has("left")?[{x:b,y:0},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")&&d.has("down")?[{x:y/2,y:0},{x:0,y:-T},{x:b,y:-T},{x:b,y:-v+T},{x:0,y:-v+T},{x:y/2,y:-v},{x:y,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T},{x:y,y:-T}]:d.has("right")&&d.has("up")?[{x:0,y:0},{x:y,y:-b},{x:0,y:-v}]:d.has("right")&&d.has("down")?[{x:0,y:0},{x:y,y:0},{x:0,y:-v}]:d.has("left")&&d.has("up")?[{x:y,y:0},{x:0,y:-b},{x:y,y:-v}]:d.has("left")&&d.has("down")?[{x:y,y:0},{x:0,y:0},{x:y,y:-v}]:d.has("right")?[{x:b,y:-T},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v+T}]:d.has("left")?[{x:b,y:0},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")?[{x:b,y:-T},{x:b,y:-v+T},{x:0,y:-v+T},{x:y/2,y:-v},{x:y,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T}]:d.has("down")?[{x:y/2,y:0},{x:0,y:-T},{x:b,y:-T},{x:b,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T},{x:y,y:-T}]:[{x:0,y:0}]},kUe=i=>i?" "+i:"",dm=(i,s)=>`${s||"node default"}${kUe(i.classes)} ${kUe(i.class)}`,EUe=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=p+v,y=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Xe.info("Question main (Circle)");const T=r5(u,b,b,y);return T.attr("style",s.style),Kh(s,T),s.intersect=function(_){return Xe.warn("Intersect called"),yh.polygon(s,y,_)},u},QZt=(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=28,p=[{x:0,y:d/2},{x:d/2,y:0},{x:0,y:-d/2},{x:-d/2,y:0}];return u.insert("polygon",":first-child").attr("points",p.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),s.width=28,s.height=28,s.intersect=function(b){return yh.circle(s,14,b)},u},JZt=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=4,v=d.height+s.padding,b=v/p,y=d.width+2*b+s.padding,T=[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=r5(u,y,v,T);return _.attr("style",s.style),Kh(s,_),s.intersect=function(A){return yh.polygon(s,T,A)},u},ZZt=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,void 0,!0),p=2,v=d.height+2*s.padding,b=v/p,y=d.width+2*b+s.padding,T=XZt(s.directions,d,s),_=r5(u,y,v,T);return _.attr("style",s.style),Kh(s,_),s.intersect=function(A){return yh.polygon(s,T,A)},u},een=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-v/2,y:0},{x:p,y:0},{x:p,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return r5(u,p,v,b).attr("style",s.style),s.width=p+v,s.height=v,s.intersect=function(T){return yh.polygon(s,b,T)},u},ten=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-2*v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},nen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:2*v/6,y:0},{x:p+v/6,y:0},{x:p-2*v/6,y:-v},{x:-v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},ren=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-2*v/6,y:0},{x:p+2*v/6,y:0},{x:p-v/6,y:-v},{x:v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},ien=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:-2*v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},sen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:0,y:0},{x:p+v/2,y:0},{x:p,y:-v/2},{x:p+v/2,y:-v},{x:0,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},aen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=p/2,b=v/(2.5+p/50),y=d.height+b+s.padding,T="M 0,"+b+" a "+v+","+b+" 0,0,0 "+p+" 0 a "+v+","+b+" 0,0,0 "+-p+" 0 l 0,"+y+" a "+v+","+b+" 0,0,0 "+p+" 0 l 0,"+-y,_=u.attr("label-offset-y",b).insert("path",":first-child").attr("style",s.style).attr("d",T).attr("transform","translate("+-p/2+","+-(y/2+b)+")");return Kh(s,_),s.intersect=function(A){const P=yh.rect(s,A),R=P.x-s.x;if(v!=0&&(Math.abs(R)s.height/2-b)){let F=b*b*(1-R*R/(v*v));F!=0&&(F=Math.sqrt(F)),F=b-F,A.y-s.y>0&&(F=-F),P.y+=F}return P},u},oen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,s,"node "+s.classes+" "+s.class,!0),v=u.insert("rect",":first-child"),b=s.positioned?s.width:d.width+s.padding,y=s.positioned?s.height:d.height+s.padding,T=s.positioned?-b/2:-d.width/2-p,_=s.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic label-container").attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",T).attr("y",_).attr("width",b).attr("height",y),s.props){const A=new Set(Object.keys(s.props));s.props.borders&&(jme(v,s.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Kh(s,v),s.intersect=function(A){return yh.rect(s,A)},u},cen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,s,"node "+s.classes,!0),v=u.insert("rect",":first-child"),b=s.positioned?s.width:d.width+s.padding,y=s.positioned?s.height:d.height+s.padding,T=s.positioned?-b/2:-d.width/2-p,_=s.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic cluster composite label-container").attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",T).attr("y",_).attr("width",b).attr("height",y),s.props){const A=new Set(Object.keys(s.props));s.props.borders&&(jme(v,s.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Kh(s,v),s.intersect=function(A){return yh.rect(s,A)},u},uen=async(i,s)=>{const{shapeSvg:u}=await g1(i,s,"label",!0);Xe.trace("Classes = ",s.class);const d=u.insert("rect",":first-child"),p=0,v=0;if(d.attr("width",p).attr("height",v),u.attr("class","label edgeLabel"),s.props){const b=new Set(Object.keys(s.props));s.props.borders&&(jme(d,s.props.borders,p,v),b.delete("borders")),b.forEach(y=>{Xe.warn(`Unknown node property ${y}`)})}return Kh(s,d),s.intersect=function(b){return yh.rect(s,b)},u};function jme(i,s,u,d){const p=[],v=y=>{p.push(y,0)},b=y=>{p.push(0,y)};s.includes("t")?(Xe.debug("add top border"),v(u)):b(u),s.includes("r")?(Xe.debug("add right border"),v(d)):b(d),s.includes("b")?(Xe.debug("add bottom border"),v(u)):b(u),s.includes("l")?(Xe.debug("add left border"),v(d)):b(d),i.attr("stroke-dasharray",p.join(" "))}const len=(i,s)=>{let u;s.classes?u="node "+s.classes:u="node default";const d=i.insert("g").attr("class",u).attr("id",s.domId||s.id),p=d.insert("rect",":first-child"),v=d.insert("line"),b=d.insert("g").attr("class","label"),y=s.labelText.flat?s.labelText.flat():s.labelText;let T="";typeof y=="object"?T=y[0]:T=y,Xe.info("Label text abc79",T,y,typeof y=="object");const _=b.node().appendChild($2(T,s.labelStyle,!0,!0));let A={width:0,height:0};if(f1(qt().flowchart.htmlLabels)){const K=_.children[0],ee=Ir(_);A=K.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}Xe.info("Text 2",y);const P=y.slice(1,y.length);let R=_.getBBox();const F=b.node().appendChild($2(P.join?P.join("
    "):P,s.labelStyle,!0,!0));if(f1(qt().flowchart.htmlLabels)){const K=F.children[0],ee=Ir(F);A=K.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}const j=s.padding/2;return Ir(F).attr("transform","translate( "+(A.width>R.width?0:(R.width-A.width)/2)+", "+(R.height+j+5)+")"),Ir(_).attr("transform","translate( "+(A.width{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.height+s.padding,v=d.width+p/4+s.padding,b=u.insert("rect",":first-child").attr("style",s.style).attr("rx",p/2).attr("ry",p/2).attr("x",-v/2).attr("y",-p/2).attr("width",v).attr("height",p);return Kh(s,b),s.intersect=function(y){return yh.rect(s,y)},u},fen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,s,dm(s,void 0),!0),v=u.insert("circle",":first-child");return v.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p).attr("width",d.width+s.padding).attr("height",d.height+s.padding),Xe.info("Circle main"),Kh(s,v),s.intersect=function(b){return Xe.info("Circle intersect",s,d.width/2+p,b),yh.circle(s,d.width/2+p,b)},u},den=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,s,dm(s,void 0),!0),v=5,b=u.insert("g",":first-child"),y=b.insert("circle"),T=b.insert("circle");return b.attr("class",s.class),y.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p+v).attr("width",d.width+s.padding+v*2).attr("height",d.height+s.padding+v*2),T.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p).attr("width",d.width+s.padding).attr("height",d.height+s.padding),Xe.info("DoubleCircle main"),Kh(s,y),s.intersect=function(_){return Xe.info("DoubleCircle intersect",s,d.width/2+p+v,_),yh.circle(s,d.width/2+p+v,_)},u},gen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:0,y:0},{x:p,y:0},{x:p,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},pen=(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=u.insert("circle",":first-child");return d.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Kh(s,d),s.intersect=function(p){return yh.circle(s,7,p)},u},TUe=(i,s,u)=>{const d=i.insert("g").attr("class","node default").attr("id",s.domId||s.id);let p=70,v=10;u==="LR"&&(p=10,v=70);const b=d.append("rect").attr("x",-1*p/2).attr("y",-1*v/2).attr("width",p).attr("height",v).attr("class","fork-join");return Kh(s,b),s.height=s.height+s.padding/2,s.width=s.width+s.padding/2,s.intersect=function(y){return yh.rect(s,y)},d},CUe={rhombus:EUe,composite:cen,question:EUe,rect:oen,labelRect:uen,rectWithTitle:len,choice:QZt,circle:fen,doublecircle:den,stadium:hen,hexagon:JZt,block_arrow:ZZt,rect_left_inv_arrow:een,lean_right:ten,lean_left:nen,trapezoid:ren,inv_trapezoid:ien,rect_right_inv_arrow:sen,cylinder:aen,start:pen,end:(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=u.insert("circle",":first-child"),p=u.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),d.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Kh(s,p),s.intersect=function(v){return yh.circle(s,7,v)},u},note:WZt,subroutine:gen,fork:TUe,join:TUe,class_box:(i,s)=>{const u=s.padding/2,d=4,p=8;let v;s.classes?v="node "+s.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",s.domId||s.id),y=b.insert("rect",":first-child"),T=b.insert("line"),_=b.insert("line");let A=0,P=d;const R=b.insert("g").attr("class","label");let F=0;const j=s.classData.annotations&&s.classData.annotations[0],K=s.classData.annotations[0]?"«"+s.classData.annotations[0]+"»":"",ee=R.node().appendChild($2(K,s.labelStyle,!0,!0));let ie=ee.getBBox();if(f1(qt().flowchart.htmlLabels)){const de=ee.children[0],X=Ir(ee);ie=de.getBoundingClientRect(),X.attr("width",ie.width),X.attr("height",ie.height)}s.classData.annotations[0]&&(P+=ie.height+d,A+=ie.width);let oe=s.classData.label;s.classData.type!==void 0&&s.classData.type!==""&&(qt().flowchart.htmlLabels?oe+="<"+s.classData.type+">":oe+="<"+s.classData.type+">");const pe=R.node().appendChild($2(oe,s.labelStyle,!0,!0));Ir(pe).attr("class","classTitle");let be=pe.getBBox();if(f1(qt().flowchart.htmlLabels)){const de=pe.children[0],X=Ir(pe);be=de.getBoundingClientRect(),X.attr("width",be.width),X.attr("height",be.height)}P+=be.height+d,be.width>A&&(A=be.width);const ae=[];s.classData.members.forEach(de=>{const X=de.getDisplayDetails();let ge=X.displayText;qt().flowchart.htmlLabels&&(ge=ge.replace(//g,">"));const W=R.node().appendChild($2(ge,X.cssStyle?X.cssStyle:s.labelStyle,!0,!0));let xe=W.getBBox();if(f1(qt().flowchart.htmlLabels)){const U=W.children[0],Fe=Ir(W);xe=U.getBoundingClientRect(),Fe.attr("width",xe.width),Fe.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ae.push(W)}),P+=p;const ne=[];if(s.classData.methods.forEach(de=>{const X=de.getDisplayDetails();let ge=X.displayText;qt().flowchart.htmlLabels&&(ge=ge.replace(//g,">"));const W=R.node().appendChild($2(ge,X.cssStyle?X.cssStyle:s.labelStyle,!0,!0));let xe=W.getBBox();if(f1(qt().flowchart.htmlLabels)){const U=W.children[0],Fe=Ir(W);xe=U.getBoundingClientRect(),Fe.attr("width",xe.width),Fe.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ne.push(W)}),P+=p,j){let de=(A-ie.width)/2;Ir(ee).attr("transform","translate( "+(-1*A/2+de)+", "+-1*P/2+")"),F=ie.height+d}let se=(A-be.width)/2;return Ir(pe).attr("transform","translate( "+(-1*A/2+se)+", "+(-1*P/2+F)+")"),F+=be.height+d,T.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+F).attr("y2",-P/2-u+p+F),F+=p,ae.forEach(de=>{Ir(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+F+p/2)+")");const X=de==null?void 0:de.getBBox();F+=((X==null?void 0:X.height)??0)+d}),F+=p,_.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+F).attr("y2",-P/2-u+p+F),F+=p,ne.forEach(de=>{Ir(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+F)+")");const X=de==null?void 0:de.getBBox();F+=((X==null?void 0:X.height)??0)+d}),y.attr("style",s.style).attr("class","outer title-state").attr("x",-A/2-u).attr("y",-(P/2)-u).attr("width",A+s.padding).attr("height",P+s.padding),Kh(s,y),s.intersect=function(de){return yh.rect(s,de)},b}};let VD={};const tJ=async(i,s,u)=>{let d,p;if(s.link){let v;qt().securityLevel==="sandbox"?v="_top":s.linkTarget&&(v=s.linkTarget||"_blank"),d=i.insert("svg:a").attr("xlink:href",s.link).attr("target",v),p=await CUe[s.shape](d,s,u)}else p=await CUe[s.shape](i,s,u),d=p;return s.tooltip&&p.attr("title",s.tooltip),s.class&&p.attr("class","node default "+s.class),d.attr("data-node","true"),d.attr("data-id",s.id),VD[s.id]=d,s.haveCallback&&VD[s.id].attr("class",VD[s.id].attr("class")+" clickable"),d},ben=(i,s)=>{VD[s.id]=i},men=()=>{VD={}},$me=i=>{const s=VD[i.id];Xe.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const u=8,d=i.diff||0;return i.clusterNode?s.attr("transform","translate("+(i.x+d-i.width/2)+", "+(i.y-i.height/2-u)+")"):s.attr("transform","translate("+i.x+", "+i.y+")"),d},nJ=({flowchart:i})=>{var p,v;const s=((p=i==null?void 0:i.subGraphTitleMargin)==null?void 0:p.top)??0,u=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,d=s+u;return{subGraphTitleTopMargin:s,subGraphTitleBottomMargin:u,subGraphTitleTotalMargin:d}},ven={rect:(i,s)=>{Xe.info("Creating subgraph rect for ",s.id,s);const u=qt(),d=i.insert("g").attr("class","cluster"+(s.class?" "+s.class:"")).attr("id",s.id),p=d.insert("rect",":first-child"),v=f1(u.flowchart.htmlLabels),b=d.insert("g").attr("class","cluster-label"),y=s.labelType==="markdown"?JQ(b,s.labelText,{style:s.labelStyle,useHtmlLabels:v}):b.node().appendChild($2(s.labelText,s.labelStyle,void 0,!0));let T=y.getBBox();if(f1(u.flowchart.htmlLabels)){const j=y.children[0],K=Ir(y);T=j.getBoundingClientRect(),K.attr("width",T.width),K.attr("height",T.height)}const _=0*s.padding,A=_/2,P=s.width<=T.width+_?T.width+_:s.width;s.width<=T.width+_?s.diff=(T.width-s.width)/2-s.padding/2:s.diff=-s.padding/2,Xe.trace("Data ",s,JSON.stringify(s)),p.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",s.x-P/2).attr("y",s.y-s.height/2-A).attr("width",P).attr("height",s.height+_);const{subGraphTitleTopMargin:R}=nJ(u);v?b.attr("transform",`translate(${s.x-T.width/2}, ${s.y-s.height/2+R})`):b.attr("transform",`translate(${s.x}, ${s.y-s.height/2+R})`);const F=p.node().getBBox();return s.width=F.width,s.height=F.height,s.intersect=function(j){return DR(s,j)},d},roundedWithTitle:(i,s)=>{const u=qt(),d=i.insert("g").attr("class",s.classes).attr("id",s.id),p=d.insert("rect",":first-child"),v=d.insert("g").attr("class","cluster-label"),b=d.append("rect"),y=v.node().appendChild($2(s.labelText,s.labelStyle,void 0,!0));let T=y.getBBox();if(f1(u.flowchart.htmlLabels)){const j=y.children[0],K=Ir(y);T=j.getBoundingClientRect(),K.attr("width",T.width),K.attr("height",T.height)}T=y.getBBox();const _=0*s.padding,A=_/2,P=s.width<=T.width+s.padding?T.width+s.padding:s.width;s.width<=T.width+s.padding?s.diff=(T.width+s.padding*0-s.width)/2:s.diff=-s.padding/2,p.attr("class","outer").attr("x",s.x-P/2-A).attr("y",s.y-s.height/2-A).attr("width",P+_).attr("height",s.height+_),b.attr("class","inner").attr("x",s.x-P/2-A).attr("y",s.y-s.height/2-A+T.height-1).attr("width",P+_).attr("height",s.height+_-T.height-3);const{subGraphTitleTopMargin:R}=nJ(u);v.attr("transform",`translate(${s.x-T.width/2}, ${s.y-s.height/2-s.padding/3+(f1(u.flowchart.htmlLabels)?5:3)+R})`);const F=p.node().getBBox();return s.height=F.height,s.intersect=function(j){return DR(s,j)},d},noteGroup:(i,s)=>{const u=i.insert("g").attr("class","note-cluster").attr("id",s.id),d=u.insert("rect",":first-child"),p=0*s.padding,v=p/2;d.attr("rx",s.rx).attr("ry",s.ry).attr("x",s.x-s.width/2-v).attr("y",s.y-s.height/2-v).attr("width",s.width+p).attr("height",s.height+p).attr("fill","none");const b=d.node().getBBox();return s.width=b.width,s.height=b.height,s.intersect=function(y){return DR(s,y)},u},divider:(i,s)=>{const u=i.insert("g").attr("class",s.classes).attr("id",s.id),d=u.insert("rect",":first-child"),p=0*s.padding,v=p/2;d.attr("class","divider").attr("x",s.x-s.width/2-v).attr("y",s.y-s.height/2).attr("width",s.width+p).attr("height",s.height+p);const b=d.node().getBBox();return s.width=b.width,s.height=b.height,s.diff=-s.padding/2,s.intersect=function(y){return DR(s,y)},u}};let SUe={};const wen=(i,s)=>{Xe.trace("Inserting cluster");const u=s.shape||"rect";SUe[s.id]=ven[u](i,s)},yen=()=>{SUe={}},P9={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function rJ(i,s){if(i===void 0||s===void 0)return{angle:0,deltaX:0,deltaY:0};i=iJ(i),s=iJ(s);const[u,d]=[i.x,i.y],[p,v]=[s.x,s.y],b=p-u,y=v-d;return{angle:Math.atan(y/b),deltaX:b,deltaY:y}}const iJ=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,_Ue=i=>({x:function(s,u,d){let p=0;if(u===0&&Object.hasOwn(P9,i.arrowTypeStart)){const{angle:v,deltaX:b}=rJ(d[0],d[1]);p=P9[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(P9,i.arrowTypeEnd)){const{angle:v,deltaX:b}=rJ(d[d.length-1],d[d.length-2]);p=P9[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return iJ(s).x+p},y:function(s,u,d){let p=0;if(u===0&&Object.hasOwn(P9,i.arrowTypeStart)){const{angle:v,deltaY:b}=rJ(d[0],d[1]);p=P9[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(P9,i.arrowTypeEnd)){const{angle:v,deltaY:b}=rJ(d[d.length-1],d[d.length-2]);p=P9[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return iJ(s).y+p}}),AUe=(i,s,u,d,p)=>{s.arrowTypeStart&&LUe(i,"start",s.arrowTypeStart,u,d,p),s.arrowTypeEnd&&LUe(i,"end",s.arrowTypeEnd,u,d,p)},xen={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},LUe=(i,s,u,d,p,v)=>{const b=xen[u];if(!b){Xe.warn(`Unknown arrow type: ${u}`);return}const y=s==="start"?"Start":"End";i.attr(`marker-${s}`,`url(${d}#${p}_${v}-${b}${y})`)};let sJ={},Vd={};const ken=()=>{sJ={},Vd={}},zme=(i,s)=>{const u=f1(qt().flowchart.htmlLabels),d=s.labelType==="markdown"?JQ(i,s.label,{style:s.labelStyle,useHtmlLabels:u,addSvgBackground:!0}):$2(s.label,s.labelStyle),p=i.insert("g").attr("class","edgeLabel"),v=p.insert("g").attr("class","label");v.node().appendChild(d);let b=d.getBBox();if(u){const T=d.children[0],_=Ir(d);b=T.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),sJ[s.id]=p,s.width=b.width,s.height=b.height;let y;if(s.startLabelLeft){const T=$2(s.startLabelLeft,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),Vd[s.id]||(Vd[s.id]={}),Vd[s.id].startLeft=_,aJ(y,s.startLabelLeft)}if(s.startLabelRight){const T=$2(s.startLabelRight,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=_.node().appendChild(T),A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),Vd[s.id]||(Vd[s.id]={}),Vd[s.id].startRight=_,aJ(y,s.startLabelRight)}if(s.endLabelLeft){const T=$2(s.endLabelLeft,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(T),Vd[s.id]||(Vd[s.id]={}),Vd[s.id].endLeft=_,aJ(y,s.endLabelLeft)}if(s.endLabelRight){const T=$2(s.endLabelRight,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(T),Vd[s.id]||(Vd[s.id]={}),Vd[s.id].endRight=_,aJ(y,s.endLabelRight)}return d};function aJ(i,s){qt().flowchart.htmlLabels&&i&&(i.style.width=s.length*9+"px",i.style.height="12px")}const MUe=(i,s)=>{Xe.debug("Moving label abc88 ",i.id,i.label,sJ[i.id],s);let u=s.updatedPath?s.updatedPath:s.originalPath;const d=qt(),{subGraphTitleTotalMargin:p}=nJ(d);if(i.label){const v=sJ[i.id];let b=i.x,y=i.y;if(u){const T=Ao.calcLabelPosition(u);Xe.debug("Moving label "+i.label+" from (",b,",",y,") to (",T.x,",",T.y,") abc88"),s.updatedPath&&(b=T.x,y=T.y)}v.attr("transform",`translate(${b}, ${y+p/2})`)}if(i.startLabelLeft){const v=Vd[i.id].startLeft;let b=i.x,y=i.y;if(u){const T=Ao.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.startLabelRight){const v=Vd[i.id].startRight;let b=i.x,y=i.y;if(u){const T=Ao.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelLeft){const v=Vd[i.id].endLeft;let b=i.x,y=i.y;if(u){const T=Ao.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelRight){const v=Vd[i.id].endRight;let b=i.x,y=i.y;if(u){const T=Ao.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}},Een=(i,s)=>{const u=i.x,d=i.y,p=Math.abs(s.x-u),v=Math.abs(s.y-d),b=i.width/2,y=i.height/2;return p>=b||v>=y},Ten=(i,s,u)=>{Xe.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(s)} + insidePoint : ${JSON.stringify(u)} + node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const d=i.x,p=i.y,v=Math.abs(d-u.x),b=i.width/2;let y=u.xMath.abs(d-s.x)*T){let P=u.y{Xe.debug("abc88 cutPathAtIntersect",i,s);let u=[],d=i[0],p=!1;return i.forEach(v=>{if(!Een(s,v)&&!p){const b=Ten(s,d,v);let y=!1;u.forEach(T=>{y=y||T.x===b.x&&T.y===b.y}),u.some(T=>T.x===b.x&&T.y===b.y)||u.push(b),p=!0}else d=v,p||u.push(v)}),u},IUe=function(i,s,u,d,p,v,b){let y=u.points;Xe.debug("abc88 InsertEdge: edge=",u,"e=",s);let T=!1;const _=v.node(s.v);var A=v.node(s.w);A!=null&&A.intersect&&(_!=null&&_.intersect)&&(y=y.slice(1,u.points.length-1),y.unshift(_.intersect(y[0])),y.push(A.intersect(y[y.length-1]))),u.toCluster&&(Xe.debug("to cluster abc88",d[u.toCluster]),y=DUe(u.points,d[u.toCluster].node),T=!0),u.fromCluster&&(Xe.debug("from cluster abc88",d[u.fromCluster]),y=DUe(y.reverse(),d[u.fromCluster].node).reverse(),T=!0);const P=y.filter(be=>!Number.isNaN(be.y));let R=FF;u.curve&&(p==="graph"||p==="flowchart")&&(R=u.curve);const{x:F,y:j}=_Ue(u),K=k7().x(F).y(j).curve(R);let ee;switch(u.thickness){case"normal":ee="edge-thickness-normal";break;case"thick":ee="edge-thickness-thick";break;case"invisible":ee="edge-thickness-thick";break;default:ee=""}switch(u.pattern){case"solid":ee+=" edge-pattern-solid";break;case"dotted":ee+=" edge-pattern-dotted";break;case"dashed":ee+=" edge-pattern-dashed";break}const ie=i.append("path").attr("d",K(P)).attr("id",u.id).attr("class"," "+ee+(u.classes?" "+u.classes:"")).attr("style",u.style);let oe="";(qt().flowchart.arrowMarkerAbsolute||qt().state.arrowMarkerAbsolute)&&(oe=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,oe=oe.replace(/\(/g,"\\("),oe=oe.replace(/\)/g,"\\)")),AUe(ie,u,oe,b,p);let pe={};return T&&(pe.updatedPath=y),pe.originalPath=u.points,pe},OUe=async(i,s,u,d,p,v)=>{Xe.info("Graph in recursive render: XXX",q7(s),p);const b=s.graph().rankdir;Xe.trace("Dir in recursive render - dir:",b);const y=i.insert("g").attr("class","root");s.nodes()?Xe.info("Recursive render XXX",s.nodes()):Xe.info("No nodes found for",s),s.edges().length>0&&Xe.trace("Recursive edges",s.edge(s.edges()[0]));const T=y.insert("g").attr("class","clusters"),_=y.insert("g").attr("class","edgePaths"),A=y.insert("g").attr("class","edgeLabels"),P=y.insert("g").attr("class","nodes");await Promise.all(s.nodes().map(async function(j){const K=s.node(j);if(p!==void 0){const ee=JSON.parse(JSON.stringify(p.clusterData));Xe.info("Setting data for cluster XXX (",j,") ",ee,p),s.setNode(p.id,ee),s.parent(j)||(Xe.trace("Setting parent",j,p.id),s.setParent(j,p.id,ee))}if(Xe.info("(Insert) Node XXX"+j+": "+JSON.stringify(s.node(j))),K&&K.clusterNode){Xe.info("Cluster identified",j,K.width,s.node(j));const ee=await OUe(P,K.graph,u,d,s.node(j),v),ie=ee.elem;Kh(K,ie),K.diff=ee.diff||0,Xe.info("Node bounds (abc123)",j,K,K.width,K.x,K.y),ben(ie,K),Xe.warn("Recursive render complete ",ie,K)}else s.children(j).length>0?(Xe.info("Cluster - the non recursive path XXX",j,K.id,K,s),Xe.info(MR(K.id,s)),Mo[K.id]={id:MR(K.id,s),node:K}):(Xe.info("Node - the non recursive path",j,K.id,K),await tJ(P,s.node(j),b))})),s.edges().forEach(function(j){const K=s.edge(j.v,j.w,j.name);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j)),Xe.info("Edge "+j.v+" -> "+j.w+": ",j," ",JSON.stringify(s.edge(j))),Xe.info("Fix",Mo,"ids:",j.v,j.w,"Translating: ",Mo[j.v],Mo[j.w]),zme(A,K)}),s.edges().forEach(function(j){Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j))}),Xe.info("#############################################"),Xe.info("### Layout ###"),Xe.info("#############################################"),Xe.info(s),qD(s),Xe.info("Graph after layout:",q7(s));let R=0;const{subGraphTitleTotalMargin:F}=nJ(v);return HZt(s).forEach(function(j){const K=s.node(j);Xe.info("Position "+j+": "+JSON.stringify(s.node(j))),Xe.info("Position "+j+": ("+K.x,","+K.y,") width: ",K.width," height: ",K.height),K&&K.clusterNode?(K.y+=F,$me(K)):s.children(j).length>0?(K.height+=F,wen(T,K),Mo[K.id].node=K):(K.y+=F/2,$me(K))}),s.edges().forEach(function(j){const K=s.edge(j);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(K),K),K.points.forEach(ie=>ie.y+=F/2);const ee=IUe(_,j,K,Mo,u,s,d);MUe(K,ee)}),s.nodes().forEach(function(j){const K=s.node(j);Xe.info(j,K.type,K.diff),K.type==="group"&&(R=K.diff)}),{elem:y,diff:R}},qme=async(i,s,u,d,p)=>{Sme(i,u,d,p),men(),ken(),yen(),$Zt(),Xe.warn("Graph at first:",JSON.stringify(q7(s))),qZt(s),Xe.warn("Graph after:",JSON.stringify(q7(s)));const v=qt();await OUe(i,s,d,p,void 0,v)},NUe={},Cen=function(i){const s=Object.keys(i);for(const u of s)NUe[u]=i[u]},PUe=async function(i,s,u,d,p,v){const b=d.select(`[id="${u}"]`),y=Object.keys(i);for(const T of y){const _=i[T];let A="default";_.classes.length>0&&(A=_.classes.join(" ")),A=A+" flowchart-label";const P=om(_.styles);let R=_.text!==void 0?_.text:_.id,F;if(Xe.info("vertex",_,_.labelType),_.labelType==="markdown")Xe.info("vertex",_,_.labelType);else if(f1(qt().flowchart.htmlLabels))F=vme(b,{label:R}).node(),F.parentNode.removeChild(F);else{const ie=p.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",P.labelStyle.replace("color:","fill:"));const oe=R.split(ci.lineBreakRegex);for(const pe of oe){const be=p.createElementNS("http://www.w3.org/2000/svg","tspan");be.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),be.setAttribute("dy","1em"),be.setAttribute("x","1"),be.textContent=pe,ie.appendChild(be)}F=ie}let j=0,K="";switch(_.type){case"round":j=5,K="rect";break;case"square":K="rect";break;case"diamond":K="question";break;case"hexagon":K="hexagon";break;case"odd":K="rect_left_inv_arrow";break;case"lean_right":K="lean_right";break;case"lean_left":K="lean_left";break;case"trapezoid":K="trapezoid";break;case"inv_trapezoid":K="inv_trapezoid";break;case"odd_right":K="rect_left_inv_arrow";break;case"circle":K="circle";break;case"ellipse":K="ellipse";break;case"stadium":K="stadium";break;case"subroutine":K="subroutine";break;case"cylinder":K="cylinder";break;case"group":K="rect";break;case"doublecircle":K="doublecircle";break;default:K="rect"}const ee=await CC(R,qt());s.setNode(_.id,{labelStyle:P.labelStyle,shape:K,labelText:ee,labelType:_.labelType,rx:j,ry:j,class:A,style:P.style,id:_.id,link:_.link,linkTarget:_.linkTarget,tooltip:v.db.getTooltip(_.id)||"",domId:v.db.lookUpDomId(_.id),haveCallback:_.haveCallback,width:_.type==="group"?500:void 0,dir:_.dir,type:_.type,props:_.props,padding:qt().flowchart.padding}),Xe.info("setNode",{labelStyle:P.labelStyle,labelType:_.labelType,shape:K,labelText:ee,rx:j,ry:j,class:A,style:P.style,id:_.id,domId:v.db.lookUpDomId(_.id),width:_.type==="group"?500:void 0,type:_.type,dir:_.dir,props:_.props,padding:qt().flowchart.padding})}},BUe=async function(i,s,u){Xe.info("abc78 edges = ",i);let d=0,p={},v,b;if(i.defaultStyle!==void 0){const y=om(i.defaultStyle);v=y.style,b=y.labelStyle}for(const y of i){d++;const T="L-"+y.start+"-"+y.end;p[T]===void 0?(p[T]=0,Xe.info("abc78 new entry",T,p[T])):(p[T]++,Xe.info("abc78 new entry",T,p[T]));let _=T+"-"+p[T];Xe.info("abc78 new link id to be used is",T,_,p[T]);const A="LS-"+y.start,P="LE-"+y.end,R={style:"",labelStyle:""};switch(R.minlen=y.length||1,y.type==="arrow_open"?R.arrowhead="none":R.arrowhead="normal",R.arrowTypeStart="arrow_open",R.arrowTypeEnd="arrow_open",y.type){case"double_arrow_cross":R.arrowTypeStart="arrow_cross";case"arrow_cross":R.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":R.arrowTypeStart="arrow_point";case"arrow_point":R.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":R.arrowTypeStart="arrow_circle";case"arrow_circle":R.arrowTypeEnd="arrow_circle";break}let F="",j="";switch(y.stroke){case"normal":F="fill:none;",v!==void 0&&(F=v),b!==void 0&&(j=b),R.thickness="normal",R.pattern="solid";break;case"dotted":R.thickness="normal",R.pattern="dotted",R.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":R.thickness="thick",R.pattern="solid",R.style="stroke-width: 3.5px;fill:none;";break;case"invisible":R.thickness="invisible",R.pattern="solid",R.style="stroke-width: 0;fill:none;";break}if(y.style!==void 0){const K=om(y.style);F=K.style,j=K.labelStyle}R.style=R.style+=F,R.labelStyle=R.labelStyle+=j,y.interpolate!==void 0?R.curve=Ov(y.interpolate,kp):i.defaultInterpolate!==void 0?R.curve=Ov(i.defaultInterpolate,kp):R.curve=Ov(NUe.curve,kp),y.text===void 0?y.style!==void 0&&(R.arrowheadStyle="fill: #333"):(R.arrowheadStyle="fill: #333",R.labelpos="c"),R.labelType=y.labelType,R.label=await CC(y.text.replace(ci.lineBreakRegex,` +`),qt()),y.style===void 0&&(R.style=R.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),R.labelStyle=R.labelStyle.replace("color:","fill:"),R.id=_,R.classes="flowchart-link "+A+" "+P,s.setEdge(y.start,y.end,R,d)}},Hme={setConf:Cen,addVertices:PUe,addEdges:BUe,getClasses:function(i,s){return s.db.getClasses()},draw:async function(i,s,u,d){Xe.info("Drawing flowchart");let p=d.db.getDirection();p===void 0&&(p="TD");const{securityLevel:v,flowchart:b}=qt(),y=b.nodeSpacing||50,T=b.rankSpacing||50;let _;v==="sandbox"&&(_=Ir("#i"+s));const A=Ir(v==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=v==="sandbox"?_.nodes()[0].contentDocument:document,R=new B0({multigraph:!0,compound:!0}).setGraph({rankdir:p,nodesep:y,ranksep:T,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let F;const j=d.db.getSubGraphs();Xe.info("Subgraphs - ",j);for(let ae=j.length-1;ae>=0;ae--)F=j[ae],Xe.info("Subgraph - ",F),d.db.addVertex(F.id,{text:F.title,type:F.labelType},"group",void 0,F.classes,F.dir);const K=d.db.getVertices(),ee=d.db.getEdges();Xe.info("Edges",ee);let ie=0;for(ie=j.length-1;ie>=0;ie--){F=j[ie],_Be("cluster").append("text");for(let ae=0;ae{const u=ARe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return SC(d,p,v,s)},FUe=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${Sen(i.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`,_en=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Gbe,db:HC,renderer:Hme,styles:FUe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,_Qt.setConf(i.flowchart),HC.clear(),HC.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),Aen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Gbe,db:HC,renderer:Hme,styles:FUe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,_jt({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),Hme.setConf(i.flowchart),HC.clear(),HC.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var Vme=function(){var i=function(de,X,ge,W){for(ge=ge||{},W=de.length;W--;ge[de[W]]=X);return ge},s=[6,8,10,20,22,24,26,27,28],u=[1,10],d=[1,11],p=[1,12],v=[1,13],b=[1,14],y=[1,15],T=[1,21],_=[1,22],A=[1,23],P=[1,24],R=[1,25],F=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],j=[1,34],K=[27,28,46,47],ee=[41,42,43,44,45],ie=[17,34],oe=[1,54],pe=[1,53],be=[17,34,36,38],ae={trace:function(){},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,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(X,ge,W,xe,U,Fe,Pe){var je=Fe.length-1;switch(U){case 1:break;case 2:this.$=[];break;case 3:Fe[je-1].push(Fe[je]),this.$=Fe[je-1];break;case 4:case 5:this.$=Fe[je];break;case 6:case 7:this.$=[];break;case 8:xe.addEntity(Fe[je-4]),xe.addEntity(Fe[je-2]),xe.addRelationship(Fe[je-4],Fe[je],Fe[je-2],Fe[je-3]);break;case 9:xe.addEntity(Fe[je-3]),xe.addAttributes(Fe[je-3],Fe[je-1]);break;case 10:xe.addEntity(Fe[je-2]);break;case 11:xe.addEntity(Fe[je]);break;case 12:xe.addEntity(Fe[je-6],Fe[je-4]),xe.addAttributes(Fe[je-6],Fe[je-1]);break;case 13:xe.addEntity(Fe[je-5],Fe[je-3]);break;case 14:xe.addEntity(Fe[je-3],Fe[je-1]);break;case 15:case 16:this.$=Fe[je].trim(),xe.setAccTitle(this.$);break;case 17:case 18:this.$=Fe[je].trim(),xe.setAccDescription(this.$);break;case 19:case 43:this.$=Fe[je];break;case 20:case 41:case 42:this.$=Fe[je].replace(/"/g,"");break;case 21:case 29:this.$=[Fe[je]];break;case 22:Fe[je].push(Fe[je-1]),this.$=Fe[je];break;case 23:this.$={attributeType:Fe[je-1],attributeName:Fe[je]};break;case 24:this.$={attributeType:Fe[je-2],attributeName:Fe[je-1],attributeKeyTypeList:Fe[je]};break;case 25:this.$={attributeType:Fe[je-2],attributeName:Fe[je-1],attributeComment:Fe[je]};break;case 26:this.$={attributeType:Fe[je-3],attributeName:Fe[je-2],attributeKeyTypeList:Fe[je-1],attributeComment:Fe[je]};break;case 27:case 28:case 31:this.$=Fe[je];break;case 30:Fe[je-2].push(Fe[je]),this.$=Fe[je-2];break;case 32:this.$=Fe[je].replace(/"/g,"");break;case 33:this.$={cardA:Fe[je],relType:Fe[je-1],cardB:Fe[je-2]};break;case 34:this.$=xe.Cardinality.ZERO_OR_ONE;break;case 35:this.$=xe.Cardinality.ZERO_OR_MORE;break;case 36:this.$=xe.Cardinality.ONE_OR_MORE;break;case 37:this.$=xe.Cardinality.ONLY_ONE;break;case 38:this.$=xe.Cardinality.MD_PARENT;break;case 39:this.$=xe.Identification.NON_IDENTIFYING;break;case 40:this.$=xe.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:16,11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(s,[2,5]),i(s,[2,6]),i(s,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:T,42:_,43:A,44:P,45:R}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(s,[2,18]),i(F,[2,19]),i(F,[2,20]),i(s,[2,4]),{11:29,27:b,28:y},{16:30,17:[1,31],29:32,30:33,34:j},{11:35,27:b,28:y},{40:36,46:[1,37],47:[1,38]},i(K,[2,34]),i(K,[2,35]),i(K,[2,36]),i(K,[2,37]),i(K,[2,38]),i(s,[2,15]),i(s,[2,16]),i(s,[2,17]),{13:[1,39]},{17:[1,40]},i(s,[2,10]),{16:41,17:[2,21],29:32,30:33,34:j},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:T,42:_,43:A,44:P,45:R},i(ee,[2,39]),i(ee,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(s,[2,9]),{17:[2,22]},i(ie,[2,23],{32:50,33:51,35:52,37:oe,38:pe}),i([17,34,37,38],[2,28]),i(s,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(s,[2,8]),i(s,[2,41]),i(s,[2,42]),i(s,[2,43]),i(ie,[2,24],{33:56,36:[1,57],38:pe}),i(ie,[2,25]),i(be,[2,29]),i(ie,[2,32]),i(be,[2,31]),{16:58,17:[1,59],29:32,30:33,34:j},i(ie,[2,26]),{35:60,37:oe},{17:[1,61]},i(s,[2,13]),i(be,[2,30]),i(s,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,ge){if(ge.recoverable)this.trace(X);else{var W=new Error(X);throw W.hash=ge,W}},parse:function(X){var ge=this,W=[0],xe=[],U=[null],Fe=[],Pe=this.table,je="",Ie=0,Se=0,Ce=2,ke=1,Ke=Fe.slice.call(arguments,1),Ft=Object.create(this.lexer),Ne={yy:{}};for(var gn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gn)&&(Ne.yy[gn]=this.yy[gn]);Ft.setInput(X,Ne.yy),Ne.yy.lexer=Ft,Ne.yy.parser=this,typeof Ft.yylloc>"u"&&(Ft.yylloc={});var _t=Ft.yylloc;Fe.push(_t);var Et=Ft.options&&Ft.options.ranges;typeof Ne.yy.parseError=="function"?this.parseError=Ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gt(){var ji;return ji=xe.pop()||Ft.lex()||ke,typeof ji!="number"&&(ji instanceof Array&&(xe=ji,ji=xe.pop()),ji=ge.symbols_[ji]||ji),ji}for(var ln,xt,Pt,Qe,Dt={},kt,On,ht,zr;;){if(xt=W[W.length-1],this.defaultActions[xt]?Pt=this.defaultActions[xt]:((ln===null||typeof ln>"u")&&(ln=Gt()),Pt=Pe[xt]&&Pe[xt][ln]),typeof Pt>"u"||!Pt.length||!Pt[0]){var yt="";zr=[];for(kt in Pe[xt])this.terminals_[kt]&&kt>Ce&&zr.push("'"+this.terminals_[kt]+"'");Ft.showPosition?yt="Parse error on line "+(Ie+1)+`: +`+Ft.showPosition()+` +Expecting `+zr.join(", ")+", got '"+(this.terminals_[ln]||ln)+"'":yt="Parse error on line "+(Ie+1)+": Unexpected "+(ln==ke?"end of input":"'"+(this.terminals_[ln]||ln)+"'"),this.parseError(yt,{text:Ft.match,token:this.terminals_[ln]||ln,line:Ft.yylineno,loc:_t,expected:zr})}if(Pt[0]instanceof Array&&Pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xt+", token: "+ln);switch(Pt[0]){case 1:W.push(ln),U.push(Ft.yytext),Fe.push(Ft.yylloc),W.push(Pt[1]),ln=null,Se=Ft.yyleng,je=Ft.yytext,Ie=Ft.yylineno,_t=Ft.yylloc;break;case 2:if(On=this.productions_[Pt[1]][1],Dt.$=U[U.length-On],Dt._$={first_line:Fe[Fe.length-(On||1)].first_line,last_line:Fe[Fe.length-1].last_line,first_column:Fe[Fe.length-(On||1)].first_column,last_column:Fe[Fe.length-1].last_column},Et&&(Dt._$.range=[Fe[Fe.length-(On||1)].range[0],Fe[Fe.length-1].range[1]]),Qe=this.performAction.apply(Dt,[je,Se,Ie,Ne.yy,Pt[1],U,Fe].concat(Ke)),typeof Qe<"u")return Qe;On&&(W=W.slice(0,-1*On*2),U=U.slice(0,-1*On),Fe=Fe.slice(0,-1*On)),W.push(this.productions_[Pt[1]][0]),U.push(Dt.$),Fe.push(Dt._$),ht=Pe[W[W.length-2]][W[W.length-1]],W.push(ht);break;case 3:return!0}}return!0}},ne=function(){var de={EOF:1,parseError:function(ge,W){if(this.yy.parser)this.yy.parser.parseError(ge,W);else throw new Error(ge)},setInput:function(X,ge){return this.yy=ge||this.yy||{},this._input=X,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var ge=X.match(/(?:\r\n?|\n).*/g);return ge?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var ge=X.length,W=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ge),this.offset-=ge;var xe=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 U=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===xe.length?this.yylloc.first_column:0)+xe[xe.length-W.length].length-W[0].length:this.yylloc.first_column-ge},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-ge]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),ge=new Array(X.length+1).join("-");return X+this.upcomingInput()+` +`+ge+"^"},test_match:function(X,ge){var W,xe,U;if(this.options.backtrack_lexer&&(U={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&&(U.yylloc.range=this.yylloc.range.slice(0))),xe=X[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,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(X[0].length),this.matched+=X[0],W=this.performAction.call(this,this.yy,this,ge,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var Fe in U)this[Fe]=U[Fe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,ge,W,xe;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),Fe=0;Fege[0].length)){if(ge=W,xe=Fe,this.options.backtrack_lexer){if(X=this.test_match(W,U[Fe]),X!==!1)return X;if(this._backtrack){ge=!1;continue}else return!1}else if(!this.options.flex)break}return ge?(X=this.test_match(ge,U[xe]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ge=this.next();return ge||this.lex()},begin:function(ge){this.conditionStack.push(ge)},popState:function(){var ge=this.conditionStack.length-1;return ge>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ge){return ge=this.conditionStack.length-1-Math.abs(ge||0),ge>=0?this.conditionStack[ge]:"INITIAL"},pushState:function(ge){this.begin(ge)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ge,W,xe,U){switch(xe){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return W.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return W.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,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],inclusive:!0}}};return de}();ae.lexer=ne;function se(){this.yy={}}return se.prototype=ae,ae.Parser=se,new se}();Vme.parser=Vme;const Len=Vme;let B9={},Ume=[];const Men={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"},Den={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},RUe=function(i,s=void 0){return B9[i]===void 0?(B9[i]={attributes:[],alias:s},Xe.info("Added new entity :",i)):B9[i]&&!B9[i].alias&&s&&(B9[i].alias=s,Xe.info(`Add alias '${s}' to entity '${i}'`)),B9[i]},Ien={Cardinality:Men,Identification:Den,getConfig:()=>qt().er,addEntity:RUe,addAttributes:function(i,s){let u=RUe(i),d;for(d=s.length-1;d>=0;d--)u.attributes.push(s[d]),Xe.debug("Added attribute ",s[d].attributeName)},getEntities:()=>B9,addRelationship:function(i,s,u,d){let p={entityA:i,roleA:s,entityB:u,relSpec:d};Ume.push(p),Xe.debug("Added new relationship :",p)},getRelationships:()=>Ume,clear:function(){B9={},Ume=[],Pg()},setAccTitle:Bg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,setDiagramTitle:cm,getDiagramTitle:Ap},U3={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},G3={ERMarkers:U3,insertMarkers:function(i,s){let u;i.append("defs").append("marker").attr("id",U3.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",U3.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",U3.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",U3.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",U3.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",U3.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},Oen=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Nen(i){return typeof i=="string"&&Oen.test(i)}const Ud=[];for(let i=0;i<256;++i)Ud.push((i+256).toString(16).slice(1));function Pen(i,s=0){return Ud[i[s+0]]+Ud[i[s+1]]+Ud[i[s+2]]+Ud[i[s+3]]+"-"+Ud[i[s+4]]+Ud[i[s+5]]+"-"+Ud[i[s+6]]+Ud[i[s+7]]+"-"+Ud[i[s+8]]+Ud[i[s+9]]+"-"+Ud[i[s+10]]+Ud[i[s+11]]+Ud[i[s+12]]+Ud[i[s+13]]+Ud[i[s+14]]+Ud[i[s+15]]}function Ben(i){if(!Nen(i))throw TypeError("Invalid UUID");let s;const u=new Uint8Array(16);return u[0]=(s=parseInt(i.slice(0,8),16))>>>24,u[1]=s>>>16&255,u[2]=s>>>8&255,u[3]=s&255,u[4]=(s=parseInt(i.slice(9,13),16))>>>8,u[5]=s&255,u[6]=(s=parseInt(i.slice(14,18),16))>>>8,u[7]=s&255,u[8]=(s=parseInt(i.slice(19,23),16))>>>8,u[9]=s&255,u[10]=(s=parseInt(i.slice(24,36),16))/1099511627776&255,u[11]=s/4294967296&255,u[12]=s>>>24&255,u[13]=s>>>16&255,u[14]=s>>>8&255,u[15]=s&255,u}function Fen(i){i=unescape(encodeURIComponent(i));const s=[];for(let u=0;u>>32-s}function qen(i){const s=[1518500249,1859775393,2400959708,3395469782],u=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let y=0;y>>0;R=P,P=A,A=Gme(_,30)>>>0,_=T,T=K}u[0]=u[0]+T>>>0,u[1]=u[1]+_>>>0,u[2]=u[2]+A>>>0,u[3]=u[3]+P>>>0,u[4]=u[4]+R>>>0}return[u[0]>>24&255,u[0]>>16&255,u[0]>>8&255,u[0]&255,u[1]>>24&255,u[1]>>16&255,u[1]>>8&255,u[1]&255,u[2]>>24&255,u[2]>>16&255,u[2]>>8&255,u[2]&255,u[3]>>24&255,u[3]>>16&255,u[3]>>8&255,u[3]&255,u[4]>>24&255,u[4]>>16&255,u[4]>>8&255,u[4]&255]}const Hen=$en("v5",80,qen),Ven=/[^\dA-Za-z](\W)*/g;let p1={},IR=new Map;const Uen=function(i){const s=Object.keys(i);for(const u of s)p1[u]=i[u]},Gen=(i,s,u)=>{const d=p1.entityPadding/3,p=p1.entityPadding/3,v=p1.fontSize*.85,b=s.node().getBBox(),y=[];let T=!1,_=!1,A=0,P=0,R=0,F=0,j=b.height+d*2,K=1;u.forEach(pe=>{pe.attributeKeyTypeList!==void 0&&pe.attributeKeyTypeList.length>0&&(T=!0),pe.attributeComment!==void 0&&(_=!0)}),u.forEach(pe=>{const be=`${s.node().id}-attr-${K}`;let ae=0;const ne=qF(pe.attributeType),se=i.append("text").classed("er entityLabel",!0).attr("id",`${be}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(ne),de=i.append("text").classed("er entityLabel",!0).attr("id",`${be}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(pe.attributeName),X={};X.tn=se,X.nn=de;const ge=se.node().getBBox(),W=de.node().getBBox();if(A=Math.max(A,ge.width),P=Math.max(P,W.width),ae=Math.max(ge.height,W.height),T){const xe=pe.attributeKeyTypeList!==void 0?pe.attributeKeyTypeList.join(","):"",U=i.append("text").classed("er entityLabel",!0).attr("id",`${be}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(xe);X.kn=U;const Fe=U.node().getBBox();R=Math.max(R,Fe.width),ae=Math.max(ae,Fe.height)}if(_){const xe=i.append("text").classed("er entityLabel",!0).attr("id",`${be}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(pe.attributeComment||"");X.cn=xe;const U=xe.node().getBBox();F=Math.max(F,U.width),ae=Math.max(ae,U.height)}X.height=ae,y.push(X),j+=ae+d*2,K+=1});let ee=4;T&&(ee+=2),_&&(ee+=2);const ie=A+P+R+F,oe={width:Math.max(p1.minEntityWidth,Math.max(b.width+p1.entityPadding*2,ie+p*ee)),height:u.length>0?j:Math.max(p1.minEntityHeight,b.height+p1.entityPadding*2)};if(u.length>0){const pe=Math.max(0,(oe.width-ie-p*ee)/(ee/2));s.attr("transform","translate("+oe.width/2+","+(d+b.height/2)+")");let be=b.height+d*2,ae="attributeBoxOdd";y.forEach(ne=>{const se=be+d+ne.height/2;ne.tn.attr("transform","translate("+p+","+se+")");const de=i.insert("rect","#"+ne.tn.node().id).classed(`er ${ae}`,!0).attr("x",0).attr("y",be).attr("width",A+p*2+pe).attr("height",ne.height+d*2),X=parseFloat(de.attr("x"))+parseFloat(de.attr("width"));ne.nn.attr("transform","translate("+(X+p)+","+se+")");const ge=i.insert("rect","#"+ne.nn.node().id).classed(`er ${ae}`,!0).attr("x",X).attr("y",be).attr("width",P+p*2+pe).attr("height",ne.height+d*2);let W=parseFloat(ge.attr("x"))+parseFloat(ge.attr("width"));if(T){ne.kn.attr("transform","translate("+(W+p)+","+se+")");const xe=i.insert("rect","#"+ne.kn.node().id).classed(`er ${ae}`,!0).attr("x",W).attr("y",be).attr("width",R+p*2+pe).attr("height",ne.height+d*2);W=parseFloat(xe.attr("x"))+parseFloat(xe.attr("width"))}_&&(ne.cn.attr("transform","translate("+(W+p)+","+se+")"),i.insert("rect","#"+ne.cn.node().id).classed(`er ${ae}`,"true").attr("x",W).attr("y",be).attr("width",F+p*2+pe).attr("height",ne.height+d*2)),be+=ne.height+d*2,ae=ae==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else oe.height=Math.max(p1.minEntityHeight,j),s.attr("transform","translate("+oe.width/2+","+oe.height/2+")");return oe},Ken=function(i,s,u){const d=Object.keys(s);let p;return d.forEach(function(v){const b=Zen(v,"entity");IR.set(v,b);const y=i.append("g").attr("id",b);p=p===void 0?b:p;const T="text-"+b,_=y.append("text").classed("er entityLabel",!0).attr("id",T).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",qt().fontFamily).style("font-size",p1.fontSize+"px").text(s[v].alias??v),{width:A,height:P}=Gen(y,_,s[v].attributes),F=y.insert("rect","#"+T).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",A).attr("height",P).node().getBBox();u.setNode(b,{width:F.width,height:F.height,shape:"rect",id:b})}),p},Wen=function(i,s){s.nodes().forEach(function(u){u!==void 0&&s.node(u)!==void 0&&i.select("#"+u).attr("transform","translate("+(s.node(u).x-s.node(u).width/2)+","+(s.node(u).y-s.node(u).height/2)+" )")})},jUe=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},Yen=function(i,s){return i.forEach(function(u){s.setEdge(IR.get(u.entityA),IR.get(u.entityB),{relationship:u},jUe(u))}),i};let $Ue=0;const Xen=function(i,s,u,d,p){$Ue++;const v=u.edge(IR.get(s.entityA),IR.get(s.entityB),jUe(s)),b=k7().x(function(j){return j.x}).y(function(j){return j.y}).curve(FF),y=i.insert("path","#"+d).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",p1.stroke).style("fill","none");s.relSpec.relType===p.db.Identification.NON_IDENTIFYING&&y.attr("stroke-dasharray","8,8");let T="";switch(p1.arrowMarkerAbsolute&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\("),T=T.replace(/\)/g,"\\)")),s.relSpec.cardA){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ZERO_OR_ONE_END+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ZERO_OR_MORE_END+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ONE_OR_MORE_END+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ONLY_ONE_END+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.MD_PARENT_END+")");break}switch(s.relSpec.cardB){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ZERO_OR_ONE_START+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ZERO_OR_MORE_START+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ONE_OR_MORE_START+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ONLY_ONE_START+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.MD_PARENT_START+")");break}const _=y.node().getTotalLength(),A=y.node().getPointAtLength(_*.5),P="rel"+$Ue,F=i.append("text").classed("er relationshipLabel",!0).attr("id",P).attr("x",A.x).attr("y",A.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",qt().fontFamily).style("font-size",p1.fontSize+"px").text(s.roleA).node().getBBox();i.insert("rect","#"+P).classed("er relationshipLabelBox",!0).attr("x",A.x-F.width/2).attr("y",A.y-F.height/2).attr("width",F.width).attr("height",F.height)},Qen=function(i,s,u,d){p1=qt().er,Xe.info("Drawing ER diagram");const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const y=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${s}']`);G3.insertMarkers(y,p1);let T;T=new B0({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:p1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=Ken(y,d.db.getEntities(),T),A=Yen(d.db.getRelationships(),T);qD(T),Wen(y,T),A.forEach(function(K){Xen(y,K,T,_,d)});const P=p1.diagramPadding;Ao.insertTitle(y,"entityTitleText",p1.titleTopMargin,d.db.getDiagramTitle());const R=y.node().getBBox(),F=R.width+P*2,j=R.height+P*2;Ng(y,j,F,p1.useMaxWidth),y.attr("viewBox",`${R.x-P} ${R.y-P} ${F} ${j}`)},Jen="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function Zen(i="",s=""){const u=i.replace(Ven,"");return`${zUe(s)}${zUe(u)}${Hen(i,Jen)}`}function zUe(i=""){return i.length>0?`${i}-`:""}const etn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Len,db:Ien,renderer:{setConf:Uen,draw:Qen},styles:i=>` + .entityBox { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${i.attributeBackgroundColorOdd}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxEven { + fill: ${i.attributeBackgroundColorEven}; + stroke: ${i.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${i.tertiaryColor}; + opacity: 0.7; + background-color: ${i.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${i.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + +`}},Symbol.toStringTag,{value:"Module"}));var Kme=function(){var i=function(ae,ne,se,de){for(se=se||{},de=ae.length;de--;se[ae[de]]=ne);return se},s=[1,3],u=[1,6],d=[1,4],p=[1,5],v=[2,5],b=[1,12],y=[5,7,13,19,21,23,24,26,28,31,37,40,47],T=[7,13,19,21,23,24,26,28,31,37,40],_=[7,12,13,19,21,23,24,26,28,31,37,40],A=[7,13,47],P=[1,42],R=[1,41],F=[7,13,29,32,35,38,47],j=[1,55],K=[1,56],ee=[1,57],ie=[7,13,32,35,42,47],oe={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(ne,se,de,X,ge,W,xe){var U=W.length-1;switch(ge){case 2:return W[U];case 3:return W[U-1];case 4:return X.setDirection(W[U-3]),W[U-1];case 6:X.setOptions(W[U-1]),this.$=W[U];break;case 7:W[U-1]+=W[U],this.$=W[U-1];break;case 9:this.$=[];break;case 10:W[U-1].push(W[U]),this.$=W[U-1];break;case 11:this.$=W[U-1];break;case 16:this.$=W[U].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=W[U].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(W[U].substr(8)),this.$=W[U].substr(8);break;case 21:X.checkout(W[U]);break;case 22:X.branch(W[U]);break;case 23:X.branch(W[U-2],W[U]);break;case 24:X.cherryPick(W[U],"",void 0);break;case 25:X.cherryPick(W[U-2],"",void 0,W[U]);break;case 26:X.cherryPick(W[U-2],"",W[U]);break;case 27:X.cherryPick(W[U-4],"",W[U],W[U-2]);break;case 28:X.cherryPick(W[U-4],"",W[U-2],W[U]);break;case 29:X.cherryPick(W[U],"",W[U-2]);break;case 30:X.cherryPick(W[U],"","");break;case 31:X.cherryPick(W[U-2],"","");break;case 32:X.cherryPick(W[U-4],"","",W[U-2]);break;case 33:X.cherryPick(W[U-4],"","",W[U]);break;case 34:X.cherryPick(W[U-2],"",W[U-4],W[U]);break;case 35:X.cherryPick(W[U-2],"","",W[U]);break;case 36:X.merge(W[U],"","","");break;case 37:X.merge(W[U-2],W[U],"","");break;case 38:X.merge(W[U-2],"",W[U],"");break;case 39:X.merge(W[U-2],"","",W[U]);break;case 40:X.merge(W[U-4],W[U],"",W[U-2]);break;case 41:X.merge(W[U-4],"",W[U],W[U-2]);break;case 42:X.merge(W[U-4],"",W[U-2],W[U]);break;case 43:X.merge(W[U-4],W[U-2],W[U],"");break;case 44:X.merge(W[U-4],W[U-2],"",W[U]);break;case 45:X.merge(W[U-4],W[U],W[U-2],"");break;case 46:X.merge(W[U-6],W[U-4],W[U-2],W[U]);break;case 47:X.merge(W[U-6],W[U],W[U-4],W[U-2]);break;case 48:X.merge(W[U-6],W[U-4],W[U],W[U-2]);break;case 49:X.merge(W[U-6],W[U-2],W[U-4],W[U]);break;case 50:X.merge(W[U-6],W[U],W[U-2],W[U-4]);break;case 51:X.merge(W[U-6],W[U-2],W[U],W[U-4]);break;case 52:X.commit(W[U]);break;case 53:X.commit("","",X.commitType.NORMAL,W[U]);break;case 54:X.commit("","",W[U],"");break;case 55:X.commit("","",W[U],W[U-2]);break;case 56:X.commit("","",W[U-2],W[U]);break;case 57:X.commit("",W[U],X.commitType.NORMAL,"");break;case 58:X.commit("",W[U-2],X.commitType.NORMAL,W[U]);break;case 59:X.commit("",W[U],X.commitType.NORMAL,W[U-2]);break;case 60:X.commit("",W[U-2],W[U],"");break;case 61:X.commit("",W[U],W[U-2],"");break;case 62:X.commit("",W[U-4],W[U-2],W[U]);break;case 63:X.commit("",W[U-4],W[U],W[U-2]);break;case 64:X.commit("",W[U-2],W[U-4],W[U]);break;case 65:X.commit("",W[U],W[U-4],W[U-2]);break;case 66:X.commit("",W[U],W[U-2],W[U-4]);break;case 67:X.commit("",W[U-2],W[U],W[U-4]);break;case 68:X.commit(W[U],"",X.commitType.NORMAL,"");break;case 69:X.commit(W[U],"",X.commitType.NORMAL,W[U-2]);break;case 70:X.commit(W[U-2],"",X.commitType.NORMAL,W[U]);break;case 71:X.commit(W[U-2],"",W[U],"");break;case 72:X.commit(W[U],"",W[U-2],"");break;case 73:X.commit(W[U],W[U-2],X.commitType.NORMAL,"");break;case 74:X.commit(W[U-2],W[U],X.commitType.NORMAL,"");break;case 75:X.commit(W[U-4],"",W[U-2],W[U]);break;case 76:X.commit(W[U-4],"",W[U],W[U-2]);break;case 77:X.commit(W[U-2],"",W[U-4],W[U]);break;case 78:X.commit(W[U],"",W[U-4],W[U-2]);break;case 79:X.commit(W[U],"",W[U-2],W[U-4]);break;case 80:X.commit(W[U-2],"",W[U],W[U-4]);break;case 81:X.commit(W[U-4],W[U],W[U-2],"");break;case 82:X.commit(W[U-4],W[U-2],W[U],"");break;case 83:X.commit(W[U-2],W[U],W[U-4],"");break;case 84:X.commit(W[U],W[U-2],W[U-4],"");break;case 85:X.commit(W[U],W[U-4],W[U-2],"");break;case 86:X.commit(W[U-2],W[U-4],W[U],"");break;case 87:X.commit(W[U-4],W[U],X.commitType.NORMAL,W[U-2]);break;case 88:X.commit(W[U-4],W[U-2],X.commitType.NORMAL,W[U]);break;case 89:X.commit(W[U-2],W[U],X.commitType.NORMAL,W[U-4]);break;case 90:X.commit(W[U],W[U-2],X.commitType.NORMAL,W[U-4]);break;case 91:X.commit(W[U],W[U-4],X.commitType.NORMAL,W[U-2]);break;case 92:X.commit(W[U-2],W[U-4],X.commitType.NORMAL,W[U]);break;case 93:X.commit(W[U-6],W[U-4],W[U-2],W[U]);break;case 94:X.commit(W[U-6],W[U-4],W[U],W[U-2]);break;case 95:X.commit(W[U-6],W[U-2],W[U-4],W[U]);break;case 96:X.commit(W[U-6],W[U],W[U-4],W[U-2]);break;case 97:X.commit(W[U-6],W[U-2],W[U],W[U-4]);break;case 98:X.commit(W[U-6],W[U],W[U-2],W[U-4]);break;case 99:X.commit(W[U-4],W[U-6],W[U-2],W[U]);break;case 100:X.commit(W[U-4],W[U-6],W[U],W[U-2]);break;case 101:X.commit(W[U-2],W[U-6],W[U-4],W[U]);break;case 102:X.commit(W[U],W[U-6],W[U-4],W[U-2]);break;case 103:X.commit(W[U-2],W[U-6],W[U],W[U-4]);break;case 104:X.commit(W[U],W[U-6],W[U-2],W[U-4]);break;case 105:X.commit(W[U],W[U-4],W[U-2],W[U-6]);break;case 106:X.commit(W[U-2],W[U-4],W[U],W[U-6]);break;case 107:X.commit(W[U],W[U-2],W[U-4],W[U-6]);break;case 108:X.commit(W[U-2],W[U],W[U-4],W[U-6]);break;case 109:X.commit(W[U-4],W[U-2],W[U],W[U-6]);break;case 110:X.commit(W[U-4],W[U],W[U-2],W[U-6]);break;case 111:X.commit(W[U-2],W[U-4],W[U-6],W[U]);break;case 112:X.commit(W[U],W[U-4],W[U-6],W[U-2]);break;case 113:X.commit(W[U-2],W[U],W[U-6],W[U-4]);break;case 114:X.commit(W[U],W[U-2],W[U-6],W[U-4]);break;case 115:X.commit(W[U-4],W[U-2],W[U-6],W[U]);break;case 116:X.commit(W[U-4],W[U],W[U-6],W[U-2]);break;case 117:this.$="";break;case 118:this.$=W[U];break;case 119:this.$=X.commitType.NORMAL;break;case 120:this.$=X.commitType.REVERSE;break;case 121:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:s,7:u,13:d,47:p},{1:[3]},{3:7,4:2,5:s,7:u,13:d,47:p},{6:8,7:v,8:[1,9],9:[1,10],10:11,13:b},i(y,[2,124]),i(y,[2,125]),i(y,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:v,10:11,13:b},{8:[1,15]},i(T,[2,9],{11:16,12:[1,17]}),i(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:v,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},i(_,[2,7]),{1:[2,3]},{7:[1,36]},i(T,[2,10]),{4:37,7:u,13:d,47:p},i(T,[2,12]),i(A,[2,13]),i(A,[2,14]),i(A,[2,15]),{20:[1,38]},{22:[1,39]},i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),{27:40,33:P,46:R},i(A,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:P,46:R},{32:[1,50],35:[1,51]},{27:52,33:P,46:R},{1:[2,4]},i(T,[2,11]),i(A,[2,16]),i(A,[2,17]),i(A,[2,21]),i(F,[2,122]),i(F,[2,123]),i(A,[2,52]),{33:[1,53]},{39:54,43:j,44:K,45:ee},{33:[1,58]},{33:[1,59]},i(A,[2,118]),i(A,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},i(A,[2,22],{29:[1,66]}),i(A,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),i(A,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),i(ie,[2,119]),i(ie,[2,120]),i(ie,[2,121]),i(A,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),i(A,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:j,44:K,45:ee},{33:[1,81]},i(A,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:j,44:K,45:ee},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:j,44:K,45:ee},{33:[1,95]},{33:[1,96]},{39:97,43:j,44:K,45:ee},{33:[1,98]},i(A,[2,37],{35:[1,100],38:[1,99]}),i(A,[2,38],{32:[1,102],35:[1,101]}),i(A,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},i(A,[2,23]),i(A,[2,55],{32:[1,110],42:[1,111]}),i(A,[2,59],{38:[1,112],42:[1,113]}),i(A,[2,69],{32:[1,115],38:[1,114]}),i(A,[2,56],{32:[1,116],42:[1,117]}),i(A,[2,61],{35:[1,118],42:[1,119]}),i(A,[2,72],{32:[1,121],35:[1,120]}),i(A,[2,58],{38:[1,122],42:[1,123]}),i(A,[2,60],{35:[1,124],42:[1,125]}),i(A,[2,73],{35:[1,127],38:[1,126]}),i(A,[2,70],{32:[1,129],38:[1,128]}),i(A,[2,71],{32:[1,131],35:[1,130]}),i(A,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:j,44:K,45:ee},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:j,44:K,45:ee},i(A,[2,25],{35:[1,140]}),i(A,[2,26],{34:[1,141]}),i(A,[2,31],{34:[1,142]}),i(A,[2,29],{34:[1,143]}),i(A,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:j,44:K,45:ee},{33:[1,148]},{39:149,43:j,44:K,45:ee},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:j,44:K,45:ee},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:j,44:K,45:ee},{33:[1,162]},{39:163,43:j,44:K,45:ee},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:j,44:K,45:ee},{33:[1,168]},i(A,[2,43],{35:[1,169]}),i(A,[2,44],{38:[1,170]}),i(A,[2,42],{32:[1,171]}),i(A,[2,45],{35:[1,172]}),i(A,[2,40],{38:[1,173]}),i(A,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},i(A,[2,66],{42:[1,181]}),i(A,[2,79],{32:[1,182]}),i(A,[2,67],{42:[1,183]}),i(A,[2,90],{38:[1,184]}),i(A,[2,80],{32:[1,185]}),i(A,[2,89],{38:[1,186]}),i(A,[2,65],{42:[1,187]}),i(A,[2,78],{32:[1,188]}),i(A,[2,64],{42:[1,189]}),i(A,[2,84],{35:[1,190]}),i(A,[2,77],{32:[1,191]}),i(A,[2,83],{35:[1,192]}),i(A,[2,63],{42:[1,193]}),i(A,[2,91],{38:[1,194]}),i(A,[2,62],{42:[1,195]}),i(A,[2,85],{35:[1,196]}),i(A,[2,86],{35:[1,197]}),i(A,[2,92],{38:[1,198]}),i(A,[2,76],{32:[1,199]}),i(A,[2,87],{38:[1,200]}),i(A,[2,75],{32:[1,201]}),i(A,[2,81],{35:[1,202]}),i(A,[2,82],{35:[1,203]}),i(A,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:j,44:K,45:ee},{33:[1,207]},{33:[1,208]},{39:209,43:j,44:K,45:ee},{33:[1,210]},i(A,[2,27]),i(A,[2,32]),i(A,[2,28]),i(A,[2,33]),i(A,[2,34]),i(A,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:j,44:K,45:ee},{33:[1,215]},{39:216,43:j,44:K,45:ee},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:j,44:K,45:ee},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:j,44:K,45:ee},{33:[1,229]},{39:230,43:j,44:K,45:ee},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:j,44:K,45:ee},i(A,[2,46]),i(A,[2,48]),i(A,[2,47]),i(A,[2,49]),i(A,[2,51]),i(A,[2,50]),i(A,[2,107]),i(A,[2,108]),i(A,[2,105]),i(A,[2,106]),i(A,[2,110]),i(A,[2,109]),i(A,[2,114]),i(A,[2,113]),i(A,[2,112]),i(A,[2,111]),i(A,[2,116]),i(A,[2,115]),i(A,[2,104]),i(A,[2,103]),i(A,[2,102]),i(A,[2,101]),i(A,[2,99]),i(A,[2,100]),i(A,[2,98]),i(A,[2,97]),i(A,[2,96]),i(A,[2,95]),i(A,[2,93]),i(A,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ne,se){if(se.recoverable)this.trace(ne);else{var de=new Error(ne);throw de.hash=se,de}},parse:function(ne){var se=this,de=[0],X=[],ge=[null],W=[],xe=this.table,U="",Fe=0,Pe=0,je=2,Ie=1,Se=W.slice.call(arguments,1),Ce=Object.create(this.lexer),ke={yy:{}};for(var Ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ke)&&(ke.yy[Ke]=this.yy[Ke]);Ce.setInput(ne,ke.yy),ke.yy.lexer=Ce,ke.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var Ft=Ce.yylloc;W.push(Ft);var Ne=Ce.options&&Ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gn(){var ht;return ht=X.pop()||Ce.lex()||Ie,typeof ht!="number"&&(ht instanceof Array&&(X=ht,ht=X.pop()),ht=se.symbols_[ht]||ht),ht}for(var _t,Et,Gt,ln,xt={},Pt,Qe,Dt,kt;;){if(Et=de[de.length-1],this.defaultActions[Et]?Gt=this.defaultActions[Et]:((_t===null||typeof _t>"u")&&(_t=gn()),Gt=xe[Et]&&xe[Et][_t]),typeof Gt>"u"||!Gt.length||!Gt[0]){var On="";kt=[];for(Pt in xe[Et])this.terminals_[Pt]&&Pt>je&&kt.push("'"+this.terminals_[Pt]+"'");Ce.showPosition?On="Parse error on line "+(Fe+1)+`: +`+Ce.showPosition()+` +Expecting `+kt.join(", ")+", got '"+(this.terminals_[_t]||_t)+"'":On="Parse error on line "+(Fe+1)+": Unexpected "+(_t==Ie?"end of input":"'"+(this.terminals_[_t]||_t)+"'"),this.parseError(On,{text:Ce.match,token:this.terminals_[_t]||_t,line:Ce.yylineno,loc:Ft,expected:kt})}if(Gt[0]instanceof Array&&Gt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+_t);switch(Gt[0]){case 1:de.push(_t),ge.push(Ce.yytext),W.push(Ce.yylloc),de.push(Gt[1]),_t=null,Pe=Ce.yyleng,U=Ce.yytext,Fe=Ce.yylineno,Ft=Ce.yylloc;break;case 2:if(Qe=this.productions_[Gt[1]][1],xt.$=ge[ge.length-Qe],xt._$={first_line:W[W.length-(Qe||1)].first_line,last_line:W[W.length-1].last_line,first_column:W[W.length-(Qe||1)].first_column,last_column:W[W.length-1].last_column},Ne&&(xt._$.range=[W[W.length-(Qe||1)].range[0],W[W.length-1].range[1]]),ln=this.performAction.apply(xt,[U,Pe,Fe,ke.yy,Gt[1],ge,W].concat(Se)),typeof ln<"u")return ln;Qe&&(de=de.slice(0,-1*Qe*2),ge=ge.slice(0,-1*Qe),W=W.slice(0,-1*Qe)),de.push(this.productions_[Gt[1]][0]),ge.push(xt.$),W.push(xt._$),Dt=xe[de[de.length-2]][de[de.length-1]],de.push(Dt);break;case 3:return!0}}return!0}},pe=function(){var ae={EOF:1,parseError:function(se,de){if(this.yy.parser)this.yy.parser.parseError(se,de);else throw new Error(se)},setInput:function(ne,se){return this.yy=se||this.yy||{},this._input=ne,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ne=this._input[0];this.yytext+=ne,this.yyleng++,this.offset++,this.match+=ne,this.matched+=ne;var se=ne.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),ne},unput:function(ne){var se=ne.length,de=ne.split(/(?:\r\n?|\n)/g);this._input=ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;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),de.length-1&&(this.yylineno-=de.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:de?(de.length===X.length?this.yylloc.first_column:0)+X[X.length-de.length].length-de[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[ge[0],ge[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ne){this.unput(this.match.slice(ne))},pastInput:function(){var ne=this.matched.substr(0,this.matched.length-this.match.length);return(ne.length>20?"...":"")+ne.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ne=this.match;return ne.length<20&&(ne+=this._input.substr(0,20-ne.length)),(ne.substr(0,20)+(ne.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ne=this.pastInput(),se=new Array(ne.length+1).join("-");return ne+this.upcomingInput()+` +`+se+"^"},test_match:function(ne,se){var de,X,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))),X=ne[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+ne[0].length},this.yytext+=ne[0],this.match+=ne[0],this.matches=ne,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(ne[0].length),this.matched+=ne[0],de=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),de)return de;if(this._backtrack){for(var W in ge)this[W]=ge[W];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ne,se,de,X;this._more||(this.yytext="",this.match="");for(var ge=this._currentRules(),W=0;Wse[0].length)){if(se=de,X=W,this.options.backtrack_lexer){if(ne=this.test_match(de,ge[W]),ne!==!1)return ne;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(ne=this.test_match(se,ge[X]),ne!==!1?ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var se=this.next();return se||this.lex()},begin:function(se){this.conditionStack.push(se)},popState:function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},pushState:function(se){this.begin(se)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(se,de,X,ge){switch(X){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return ae}();oe.lexer=pe;function be(){this.yy={}}return be.prototype=oe,oe.Parser=be,new be}();Kme.parser=Kme;const ttn=Kme;let oJ=qt().gitGraph.mainBranchName,ntn=qt().gitGraph.mainBranchOrder,b1={},Np=null,OR={};OR[oJ]={name:oJ,order:ntn};let F0={};F0[oJ]=Np;let sd=oJ,qUe="LR",YC=0;function Wme(){return mje({length:7})}function rtn(i,s){const u=Object.create(null);return i.reduce((d,p)=>{const v=s(p);return u[v]||(u[v]=!0,d.push(p)),d},[])}const itn=function(i){qUe=i};let HUe={};const stn=function(i){Xe.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{HUe=JSON.parse(i)}catch(s){Xe.error("error while parsing gitGraph options",s.message)}},atn=function(){return HUe},otn=function(i,s,u,d){Xe.debug("Entering commit:",i,s,u,d),s=ci.sanitizeText(s,qt()),i=ci.sanitizeText(i,qt()),d=ci.sanitizeText(d,qt());const p={id:s||YC+"-"+Wme(),message:i,seq:YC++,type:u||UD.NORMAL,tag:d||"",parents:Np==null?[]:[Np.id],branch:sd};Np=p,b1[p.id]=p,F0[sd]=p.id,Xe.debug("in pushCommit "+p.id)},ctn=function(i,s){if(i=ci.sanitizeText(i,qt()),F0[i]===void 0)F0[i]=Np!=null?Np.id:null,OR[i]={name:i,order:s?parseInt(s,10):null},VUe(i),Xe.debug("in createBranch");else{let u=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 '+i+'")');throw u.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},u}},utn=function(i,s,u,d){i=ci.sanitizeText(i,qt()),s=ci.sanitizeText(s,qt());const p=b1[F0[sd]],v=b1[F0[i]];if(sd===i){let y=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(p===void 0||!p){let y=new Error('Incorrect usage of "merge". Current branch ('+sd+")has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},y}else if(F0[i]===void 0){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},y}else if(v===void 0||!v){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},y}else if(p===v){let y=new Error('Incorrect usage of "merge". Both branches have same head');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(s&&b1[s]!==void 0){let y=new Error('Incorrect usage of "merge". Commit with id:'+s+" already exists, use different custom Id");throw y.hash={text:"merge "+i+s+u+d,token:"merge "+i+s+u+d,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+s+"_UNIQUE "+u+" "+d]},y}const b={id:s||YC+"-"+Wme(),message:"merged branch "+i+" into "+sd,seq:YC++,parents:[Np==null?null:Np.id,F0[i]],branch:sd,type:UD.MERGE,customType:u,customId:!!s,tag:d||""};Np=b,b1[b.id]=b,F0[sd]=b.id,Xe.debug(F0),Xe.debug("in mergeBranch")},ltn=function(i,s,u,d){if(Xe.debug("Entering cherryPick:",i,s,u),i=ci.sanitizeText(i,qt()),s=ci.sanitizeText(s,qt()),u=ci.sanitizeText(u,qt()),d=ci.sanitizeText(d,qt()),!i||b1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let p=b1[i],v=p.branch;if(d&&!(Array.isArray(p.parents)&&p.parents.includes(d)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(p.type===UD.MERGE&&!d)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!s||b1[s]===void 0){if(v===sd){let T=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw T.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},T}const b=b1[F0[sd]];if(b===void 0||!b){let T=new Error('Incorrect usage of "cherry-pick". Current branch ('+sd+")has no commits");throw T.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},T}const y={id:YC+"-"+Wme(),message:"cherry-picked "+p+" into "+sd,seq:YC++,parents:[Np==null?null:Np.id,p.id],branch:sd,type:UD.CHERRY_PICK,tag:u??`cherry-pick:${p.id}${p.type===UD.MERGE?`|parent:${d}`:""}`};Np=y,b1[y.id]=y,F0[sd]=y.id,Xe.debug(F0),Xe.debug("in cherryPick")}},VUe=function(i){if(i=ci.sanitizeText(i,qt()),F0[i]===void 0){let s=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw s.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},s}else{sd=i;const s=F0[sd];Np=b1[s]}};function UUe(i,s,u){const d=i.indexOf(s);d===-1?i.push(u):i.splice(d,1,u)}function GUe(i){const s=i.reduce((p,v)=>p.seq>v.seq?p:v,i[0]);let u="";i.forEach(function(p){p===s?u+=" *":u+=" |"});const d=[u,s.id,s.seq];for(let p in F0)F0[p]===s.id&&d.push(p);if(Xe.debug(d.join(" ")),s.parents&&s.parents.length==2){const p=b1[s.parents[0]];UUe(i,s,p),i.push(b1[s.parents[1]])}else{if(s.parents.length==0)return;{const p=b1[s.parents];UUe(i,s,p)}}i=rtn(i,p=>p.id),GUe(i)}const htn=function(){Xe.debug(b1);const i=KUe()[0];GUe([i])},ftn=function(){b1={},Np=null;let i=qt().gitGraph.mainBranchName,s=qt().gitGraph.mainBranchOrder;F0={},F0[i]=null,OR={},OR[i]={name:i,order:s},sd=i,YC=0,Pg()},dtn=function(){return Object.values(OR).map((s,u)=>s.order!==null?s:{...s,order:parseFloat(`0.${u}`,10)}).sort((s,u)=>s.order-u.order).map(({name:s})=>({name:s}))},gtn=function(){return F0},ptn=function(){return b1},KUe=function(){const i=Object.keys(b1).map(function(s){return b1[s]});return i.forEach(function(s){Xe.debug(s.id)}),i.sort((s,u)=>s.seq-u.seq),i},btn=function(){return sd},mtn=function(){return qUe},vtn=function(){return Np},UD={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},wtn={getConfig:()=>qt().gitGraph,setDirection:itn,setOptions:stn,getOptions:atn,commit:otn,branch:ctn,merge:utn,cherryPick:ltn,checkout:VUe,prettyPrint:htn,clear:ftn,getBranchesAsObjArray:dtn,getBranches:gtn,getCommits:ptn,getCommitsArray:KUe,getCurrentBranch:btn,getDirection:mtn,getHead:vtn,setAccTitle:Bg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,setDiagramTitle:cm,getDiagramTitle:Ap,commitType:UD};let NR={};const ad={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},XC=8;let H2={},H7={},cJ=[],PR=0,R0="LR";const ytn=()=>{H2={},H7={},NR={},PR=0,cJ=[],R0="LR"},WUe=i=>{const s=document.createElementNS("http://www.w3.org/2000/svg","text");let u=[];typeof i=="string"?u=i.split(/\\n|\n|/gi):Array.isArray(i)?u=i:u=[];for(const d of u){const p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","0"),p.setAttribute("class","row"),p.textContent=d.trim(),s.appendChild(p)}return s},xtn=i=>{let s="",u=0;return i.forEach(d=>{const p=R0==="TB"?H7[d].y:H7[d].x;p>=u&&(s=d,u=p)}),s||void 0},YUe=(i,s,u)=>{const d=qt().gitGraph,p=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;R0==="TB"&&(b=30);const T=Object.keys(s).sort((R,F)=>s[R].seq-s[F].seq),_=d.parallelCommits,A=10,P=40;T.forEach(R=>{const F=s[R];if(_)if(F.parents.length){const ie=xtn(F.parents);b=R0==="TB"?H7[ie].y+P:H7[ie].x+P}else b=0,R0==="TB"&&(b=30);const j=b+A,K=R0==="TB"?j:H2[F.branch].pos,ee=R0==="TB"?H2[F.branch].pos:j;if(u){let ie,oe=F.customType!==void 0&&F.customType!==""?F.customType:F.type;switch(oe){case ad.NORMAL:ie="commit-normal";break;case ad.REVERSE:ie="commit-reverse";break;case ad.HIGHLIGHT:ie="commit-highlight";break;case ad.MERGE:ie="commit-merge";break;case ad.CHERRY_PICK:ie="commit-cherry-pick";break;default:ie="commit-normal"}if(oe===ad.HIGHLIGHT){const pe=p.append("rect");pe.attr("x",ee-10),pe.attr("y",K-10),pe.attr("height",20),pe.attr("width",20),pe.attr("class",`commit ${F.id} commit-highlight${H2[F.branch].index%XC} ${ie}-outer`),p.append("rect").attr("x",ee-6).attr("y",K-6).attr("height",12).attr("width",12).attr("class",`commit ${F.id} commit${H2[F.branch].index%XC} ${ie}-inner`)}else if(oe===ad.CHERRY_PICK)p.append("circle").attr("cx",ee).attr("cy",K).attr("r",10).attr("class",`commit ${F.id} ${ie}`),p.append("circle").attr("cx",ee-3).attr("cy",K+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("circle").attr("cx",ee+3).attr("cy",K+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("line").attr("x1",ee+3).attr("y1",K+1).attr("x2",ee).attr("y2",K-5).attr("stroke","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("line").attr("x1",ee-3).attr("y1",K+1).attr("x2",ee).attr("y2",K-5).attr("stroke","#fff").attr("class",`commit ${F.id} ${ie}`);else{const pe=p.append("circle");if(pe.attr("cx",ee),pe.attr("cy",K),pe.attr("r",F.type===ad.MERGE?9:10),pe.attr("class",`commit ${F.id} commit${H2[F.branch].index%XC}`),oe===ad.MERGE){const be=p.append("circle");be.attr("cx",ee),be.attr("cy",K),be.attr("r",6),be.attr("class",`commit ${ie} ${F.id} commit${H2[F.branch].index%XC}`)}oe===ad.REVERSE&&p.append("path").attr("d",`M ${ee-5},${K-5}L${ee+5},${K+5}M${ee-5},${K+5}L${ee+5},${K-5}`).attr("class",`commit ${ie} ${F.id} commit${H2[F.branch].index%XC}`)}}if(R0==="TB"?H7[F.id]={x:ee,y:j}:H7[F.id]={x:j,y:K},u){if(F.type!==ad.CHERRY_PICK&&(F.customId&&F.type===ad.MERGE||F.type!==ad.MERGE)&&d.showCommitLabel){const pe=v.append("g"),be=pe.insert("rect").attr("class","commit-label-bkg"),ae=pe.append("text").attr("x",b).attr("y",K+25).attr("class","commit-label").text(F.id);let ne=ae.node().getBBox();if(be.attr("x",j-ne.width/2-2).attr("y",K+13.5).attr("width",ne.width+2*2).attr("height",ne.height+2*2),R0==="TB"&&(be.attr("x",ee-(ne.width+4*4+5)).attr("y",K-12),ae.attr("x",ee-(ne.width+4*4)).attr("y",K+ne.height-12)),R0!=="TB"&&ae.attr("x",j-ne.width/2),d.rotateCommitLabel)if(R0==="TB")ae.attr("transform","rotate(-45, "+ee+", "+K+")"),be.attr("transform","rotate(-45, "+ee+", "+K+")");else{let se=-7.5-(ne.width+10)/25*9.5,de=10+ne.width/25*8.5;pe.attr("transform","translate("+se+", "+de+") rotate(-45, "+b+", "+K+")")}}if(F.tag){const pe=v.insert("polygon"),be=v.append("circle"),ae=v.append("text").attr("y",K-16).attr("class","tag-label").text(F.tag);let ne=ae.node().getBBox();ae.attr("x",j-ne.width/2);const se=ne.height/2,de=K-19.2;pe.attr("class","tag-label-bkg").attr("points",` + ${b-ne.width/2-4/2},${de+2} + ${b-ne.width/2-4/2},${de-2} + ${j-ne.width/2-4},${de-se-2} + ${j+ne.width/2+4},${de-se-2} + ${j+ne.width/2+4},${de+se+2} + ${j-ne.width/2-4},${de+se+2}`),be.attr("cx",b-ne.width/2+4/2).attr("cy",de).attr("r",1.5).attr("class","tag-hole"),R0==="TB"&&(pe.attr("class","tag-label-bkg").attr("points",` + ${ee},${b+2} + ${ee},${b-2} + ${ee+A},${b-se-2} + ${ee+A+ne.width+4},${b-se-2} + ${ee+A+ne.width+4},${b+se+2} + ${ee+A},${b+se+2}`).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),be.attr("cx",ee+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ae.attr("x",ee+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+ee+","+b+")"))}}b+=P+A,b>PR&&(PR=b)})},ktn=(i,s,u,d,p)=>{const b=(R0==="TB"?u.x_.branch===b,T=_=>_.seq>i.seq&&_.seqT(_)&&y(_))},BR=(i,s,u=0)=>{const d=i+Math.abs(i-s)/2;if(u>5)return d;if(cJ.every(b=>Math.abs(b-d)>=10))return cJ.push(d),d;const v=Math.abs(i-s);return BR(i,s-v/5,u+1)},Etn=(i,s,u,d)=>{const p=H7[s.id],v=H7[u.id],b=ktn(s,u,p,v,d);let y="",T="",_=0,A=0,P=H2[u.branch].index;u.type===ad.MERGE&&s.id!==u.parents[0]&&(P=H2[s.branch].index);let R;if(b){y="A 10 10, 0, 0, 0,",T="A 10 10, 0, 0, 1,",_=10,A=10;const F=p.yv.x&&(y="A 20 20, 0, 0, 0,",T="A 20 20, 0, 0, 1,",_=20,A=20,u.type===ad.MERGE&&s.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${p.x} ${v.y-_} ${T} ${p.x-A} ${v.y} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${v.x+_} ${p.y} ${y} ${v.x} ${p.y+A} L ${v.x} ${v.y}`),p.x===v.x&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`)):(p.yv.y&&(u.type===ad.MERGE&&s.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${v.x-_} ${p.y} ${y} ${v.x} ${p.y-A} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${p.x} ${v.y+_} ${T} ${p.x+A} ${v.y} L ${v.x} ${v.y}`),p.y===v.y&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`));i.append("path").attr("d",R).attr("class","arrow arrow"+P%XC)},Ttn=(i,s)=>{const u=i.append("g").attr("class","commit-arrows");Object.keys(s).forEach(d=>{const p=s[d];p.parents&&p.parents.length>0&&p.parents.forEach(v=>{Etn(u,s[v],p,s)})})},Ctn=(i,s)=>{const u=qt().gitGraph,d=i.append("g");s.forEach((p,v)=>{const b=v%XC,y=H2[p.name].pos,T=d.append("line");T.attr("x1",0),T.attr("y1",y),T.attr("x2",PR),T.attr("y2",y),T.attr("class","branch branch"+b),R0==="TB"&&(T.attr("y1",30),T.attr("x1",y),T.attr("y2",PR),T.attr("x2",y)),cJ.push(y);let _=p.name;const A=WUe(_),P=d.insert("rect"),F=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);F.node().appendChild(A);let j=A.getBBox();P.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-j.width-4-(u.rotateCommitLabel===!0?30:0)).attr("y",-j.height/2+8).attr("width",j.width+18).attr("height",j.height+4),F.attr("transform","translate("+(-j.width-14-(u.rotateCommitLabel===!0?30:0))+", "+(y-j.height/2-1)+")"),R0==="TB"&&(P.attr("x",y-j.width/2-10).attr("y",0),F.attr("transform","translate("+(y-j.width/2-5)+", 0)")),R0!=="TB"&&P.attr("transform","translate(-19, "+(y-j.height/2)+")")})},Stn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ttn,db:wtn,renderer:{draw:function(i,s,u,d){ytn();const p=qt(),v=p.gitGraph;Xe.debug("in gitgraph renderer",i+` +`,"id:",s,u),NR=d.db.getCommits();const b=d.db.getBranchesAsObjArray();R0=d.db.getDirection();const y=Ir(`[id="${s}"]`);let T=0;b.forEach((_,A)=>{const P=WUe(_.name),R=y.append("g"),F=R.insert("g").attr("class","branchLabel"),j=F.insert("g").attr("class","label branch-label");j.node().appendChild(P);let K=P.getBBox();H2[_.name]={pos:T,index:A},T+=50+(v.rotateCommitLabel?40:0)+(R0==="TB"?K.width/2:0),j.remove(),F.remove(),R.remove()}),YUe(y,NR,!1),v.showBranches&&Ctn(y,b),Ttn(y,NR),YUe(y,NR,!0),Ao.insertTitle(y,"gitTitleText",v.titleTopMargin,d.db.getDiagramTitle()),e$e(void 0,y,v.diagramPadding,v.useMaxWidth??p.useMaxWidth)}},styles:i=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(s=>` + .branch-label${s} { fill: ${i["gitBranchLabel"+s]}; } + .commit${s} { stroke: ${i["git"+s]}; fill: ${i["git"+s]}; } + .commit-highlight${s} { stroke: ${i["gitInv"+s]}; fill: ${i["gitInv"+s]}; } + .label${s} { fill: ${i["git"+s]}; } + .arrow${s} { stroke: ${i["git"+s]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${i.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};} + .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};} + .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; } + .tag-hole { fill: ${i.textColor}; } + + .commit-merge { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + .commit-reverse { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`}},Symbol.toStringTag,{value:"Module"}));var Yme=function(){var i=function(W,xe,U,Fe){for(U=U||{},Fe=W.length;Fe--;U[W[Fe]]=xe);return U},s=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],u=[1,25],d=[1,26],p=[1,27],v=[1,28],b=[1,29],y=[1,30],T=[1,31],_=[1,9],A=[1,10],P=[1,11],R=[1,12],F=[1,13],j=[1,14],K=[1,15],ee=[1,16],ie=[1,18],oe=[1,19],pe=[1,20],be=[1,21],ae=[1,22],ne=[1,24],se=[1,32],de={trace:function(){},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,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$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",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"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],[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],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(xe,U,Fe,Pe,je,Ie,Se){var Ce=Ie.length-1;switch(je){case 1:return Ie[Ce-1];case 2:this.$=[];break;case 3:Ie[Ce-1].push(Ie[Ce]),this.$=Ie[Ce-1];break;case 4:case 5:this.$=Ie[Ce];break;case 6:case 7:this.$=[];break;case 8:Pe.setWeekday("monday");break;case 9:Pe.setWeekday("tuesday");break;case 10:Pe.setWeekday("wednesday");break;case 11:Pe.setWeekday("thursday");break;case 12:Pe.setWeekday("friday");break;case 13:Pe.setWeekday("saturday");break;case 14:Pe.setWeekday("sunday");break;case 15:Pe.setDateFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 16:Pe.enableInclusiveEndDates(),this.$=Ie[Ce].substr(18);break;case 17:Pe.TopAxis(),this.$=Ie[Ce].substr(8);break;case 18:Pe.setAxisFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 19:Pe.setTickInterval(Ie[Ce].substr(13)),this.$=Ie[Ce].substr(13);break;case 20:Pe.setExcludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 21:Pe.setIncludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 22:Pe.setTodayMarker(Ie[Ce].substr(12)),this.$=Ie[Ce].substr(12);break;case 24:Pe.setDiagramTitle(Ie[Ce].substr(6)),this.$=Ie[Ce].substr(6);break;case 25:this.$=Ie[Ce].trim(),Pe.setAccTitle(this.$);break;case 26:case 27:this.$=Ie[Ce].trim(),Pe.setAccDescription(this.$);break;case 28:Pe.addSection(Ie[Ce].substr(8)),this.$=Ie[Ce].substr(8);break;case 30:Pe.addTask(Ie[Ce-1],Ie[Ce]),this.$="task";break;case 31:this.$=Ie[Ce-1],Pe.setClickEvent(Ie[Ce-1],Ie[Ce],null);break;case 32:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce-1],Ie[Ce]);break;case 33:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce-1],null),Pe.setLink(Ie[Ce-2],Ie[Ce]);break;case 34:this.$=Ie[Ce-3],Pe.setClickEvent(Ie[Ce-3],Ie[Ce-2],Ie[Ce-1]),Pe.setLink(Ie[Ce-3],Ie[Ce]);break;case 35:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce],null),Pe.setLink(Ie[Ce-2],Ie[Ce-1]);break;case 36:this.$=Ie[Ce-3],Pe.setClickEvent(Ie[Ce-3],Ie[Ce-1],Ie[Ce]),Pe.setLink(Ie[Ce-3],Ie[Ce-2]);break;case 37:this.$=Ie[Ce-1],Pe.setLink(Ie[Ce-1],Ie[Ce]);break;case 38:case 44:this.$=Ie[Ce-1]+" "+Ie[Ce];break;case 39:case 40:case 42:this.$=Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break;case 41:case 43:this.$=Ie[Ce-3]+" "+Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:T,19:_,20:A,21:P,22:R,23:F,24:j,25:K,26:ee,27:ie,28:oe,30:pe,32:be,33:ae,34:23,35:ne,37:se},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:33,11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:T,19:_,20:A,21:P,22:R,23:F,24:j,25:K,26:ee,27:ie,28:oe,30:pe,32:be,33:ae,34:23,35:ne,37:se},i(s,[2,5]),i(s,[2,6]),i(s,[2,15]),i(s,[2,16]),i(s,[2,17]),i(s,[2,18]),i(s,[2,19]),i(s,[2,20]),i(s,[2,21]),i(s,[2,22]),i(s,[2,23]),i(s,[2,24]),{29:[1,34]},{31:[1,35]},i(s,[2,27]),i(s,[2,28]),i(s,[2,29]),{36:[1,36]},i(s,[2,8]),i(s,[2,9]),i(s,[2,10]),i(s,[2,11]),i(s,[2,12]),i(s,[2,13]),i(s,[2,14]),{38:[1,37],40:[1,38]},i(s,[2,4]),i(s,[2,25]),i(s,[2,26]),i(s,[2,30]),i(s,[2,31],{39:[1,39],40:[1,40]}),i(s,[2,37],{38:[1,41]}),i(s,[2,32],{40:[1,42]}),i(s,[2,33]),i(s,[2,35],{39:[1,43]}),i(s,[2,34]),i(s,[2,36])],defaultActions:{},parseError:function(xe,U){if(U.recoverable)this.trace(xe);else{var Fe=new Error(xe);throw Fe.hash=U,Fe}},parse:function(xe){var U=this,Fe=[0],Pe=[],je=[null],Ie=[],Se=this.table,Ce="",ke=0,Ke=0,Ft=2,Ne=1,gn=Ie.slice.call(arguments,1),_t=Object.create(this.lexer),Et={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(Et.yy[Gt]=this.yy[Gt]);_t.setInput(xe,Et.yy),Et.yy.lexer=_t,Et.yy.parser=this,typeof _t.yylloc>"u"&&(_t.yylloc={});var ln=_t.yylloc;Ie.push(ln);var xt=_t.options&&_t.options.ranges;typeof Et.yy.parseError=="function"?this.parseError=Et.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var zs;return zs=Pe.pop()||_t.lex()||Ne,typeof zs!="number"&&(zs instanceof Array&&(Pe=zs,zs=Pe.pop()),zs=U.symbols_[zs]||zs),zs}for(var Qe,Dt,kt,On,ht={},zr,yt,ji,xi;;){if(Dt=Fe[Fe.length-1],this.defaultActions[Dt]?kt=this.defaultActions[Dt]:((Qe===null||typeof Qe>"u")&&(Qe=Pt()),kt=Se[Dt]&&Se[Dt][Qe]),typeof kt>"u"||!kt.length||!kt[0]){var Ma="";xi=[];for(zr in Se[Dt])this.terminals_[zr]&&zr>Ft&&xi.push("'"+this.terminals_[zr]+"'");_t.showPosition?Ma="Parse error on line "+(ke+1)+`: +`+_t.showPosition()+` +Expecting `+xi.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Ma="Parse error on line "+(ke+1)+": Unexpected "+(Qe==Ne?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Ma,{text:_t.match,token:this.terminals_[Qe]||Qe,line:_t.yylineno,loc:ln,expected:xi})}if(kt[0]instanceof Array&&kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Dt+", token: "+Qe);switch(kt[0]){case 1:Fe.push(Qe),je.push(_t.yytext),Ie.push(_t.yylloc),Fe.push(kt[1]),Qe=null,Ke=_t.yyleng,Ce=_t.yytext,ke=_t.yylineno,ln=_t.yylloc;break;case 2:if(yt=this.productions_[kt[1]][1],ht.$=je[je.length-yt],ht._$={first_line:Ie[Ie.length-(yt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(yt||1)].first_column,last_column:Ie[Ie.length-1].last_column},xt&&(ht._$.range=[Ie[Ie.length-(yt||1)].range[0],Ie[Ie.length-1].range[1]]),On=this.performAction.apply(ht,[Ce,Ke,ke,Et.yy,kt[1],je,Ie].concat(gn)),typeof On<"u")return On;yt&&(Fe=Fe.slice(0,-1*yt*2),je=je.slice(0,-1*yt),Ie=Ie.slice(0,-1*yt)),Fe.push(this.productions_[kt[1]][0]),je.push(ht.$),Ie.push(ht._$),ji=Se[Fe[Fe.length-2]][Fe[Fe.length-1]],Fe.push(ji);break;case 3:return!0}}return!0}},X=function(){var W={EOF:1,parseError:function(U,Fe){if(this.yy.parser)this.yy.parser.parseError(U,Fe);else throw new Error(U)},setInput:function(xe,U){return this.yy=U||this.yy||{},this._input=xe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var U=xe.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),xe},unput:function(xe){var U=xe.length,Fe=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;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),Fe.length-1&&(this.yylineno-=Fe.length-1);var je=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:Fe?(Fe.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-Fe.length].length-Fe[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[je[0],je[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(xe){this.unput(this.match.slice(xe))},pastInput:function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var xe=this.pastInput(),U=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+` +`+U+"^"},test_match:function(xe,U){var Fe,Pe,je;if(this.options.backtrack_lexer&&(je={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&&(je.yylloc.range=this.yylloc.range.slice(0))),Pe=xe[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+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,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(xe[0].length),this.matched+=xe[0],Fe=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Fe)return Fe;if(this._backtrack){for(var Ie in je)this[Ie]=je[Ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,U,Fe,Pe;this._more||(this.yytext="",this.match="");for(var je=this._currentRules(),Ie=0;IeU[0].length)){if(U=Fe,Pe=Ie,this.options.backtrack_lexer){if(xe=this.test_match(Fe,je[Ie]),xe!==!1)return xe;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(xe=this.test_match(U,je[Pe]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var U=this.next();return U||this.lex()},begin:function(U){this.conditionStack.push(U)},popState:function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},pushState:function(U){this.begin(U)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(U,Fe,Pe,je){switch(Pe){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";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 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;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"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},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,/^(?:\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],inclusive:!0}}};return W}();de.lexer=X;function ge(){this.yy={}}return ge.prototype=de,de.Parser=ge,new ge}();Yme.parser=Yme;const _tn=Yme;var XUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(Ag,function(){var u="day";return function(d,p,v){var b=function(_){return _.add(4-_.isoWeekday(),u)},y=p.prototype;y.isoWeekYear=function(){return b(this).year()},y.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),u);var A,P,R,F,j=b(this),K=(A=this.isoWeekYear(),P=this.$u,R=(P?v.utc:v)().year(A).startOf("year"),F=4-R.isoWeekday(),R.isoWeekday()>4&&(F+=7),R.add(F,u));return j.diff(K,"week")+1},y.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var T=y.startOf;y.startOf=function(_,A){var P=this.$utils(),R=!!P.u(A)||A;return P.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):T.bind(this)(_,A)}}})})(XUe);var Atn=XUe.exports;const Ltn=hC(Atn);var QUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(Ag,function(){var u={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"},d=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,p=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,y={},T=function(K){return(K=+K)+(K>68?1900:2e3)},_=function(K){return function(ee){this[K]=+ee}},A=[/[+-]\d\d:?(\d\d)?|Z/,function(K){(this.zone||(this.zone={})).offset=function(ee){if(!ee||ee==="Z")return 0;var ie=ee.match(/([+-]|\d\d)/g),oe=60*ie[1]+(+ie[2]||0);return oe===0?0:ie[0]==="+"?-oe:oe}(K)}],P=function(K){var ee=y[K];return ee&&(ee.indexOf?ee:ee.s.concat(ee.f))},R=function(K,ee){var ie,oe=y.meridiem;if(oe){for(var pe=1;pe<=24;pe+=1)if(K.indexOf(oe(pe,0,ee))>-1){ie=pe>12;break}}else ie=K===(ee?"pm":"PM");return ie},F={A:[b,function(K){this.afternoon=R(K,!1)}],a:[b,function(K){this.afternoon=R(K,!0)}],S:[/\d/,function(K){this.milliseconds=100*+K}],SS:[p,function(K){this.milliseconds=10*+K}],SSS:[/\d{3}/,function(K){this.milliseconds=+K}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[p,_("day")],Do:[b,function(K){var ee=y.ordinal,ie=K.match(/\d+/);if(this.day=ie[0],ee)for(var oe=1;oe<=31;oe+=1)ee(oe).replace(/\[|\]/g,"")===K&&(this.day=oe)}],M:[v,_("month")],MM:[p,_("month")],MMM:[b,function(K){var ee=P("months"),ie=(P("monthsShort")||ee.map(function(oe){return oe.slice(0,3)})).indexOf(K)+1;if(ie<1)throw new Error;this.month=ie%12||ie}],MMMM:[b,function(K){var ee=P("months").indexOf(K)+1;if(ee<1)throw new Error;this.month=ee%12||ee}],Y:[/[+-]?\d+/,_("year")],YY:[p,function(K){this.year=T(K)}],YYYY:[/\d{4}/,_("year")],Z:A,ZZ:A};function j(K){var ee,ie;ee=K,ie=y&&y.formats;for(var oe=(K=ee.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,ge,W){var xe=W&&W.toUpperCase();return ge||ie[W]||u[W]||ie[xe].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(U,Fe,Pe){return Fe||Pe.slice(1)})})).match(d),pe=oe.length,be=0;be-1)return new Date((Ie==="X"?1e3:1)*je);var Ce=j(Ie)(je),ke=Ce.year,Ke=Ce.month,Ft=Ce.day,Ne=Ce.hours,gn=Ce.minutes,_t=Ce.seconds,Et=Ce.milliseconds,Gt=Ce.zone,ln=new Date,xt=Ft||(ke||Ke?1:ln.getDate()),Pt=ke||ln.getFullYear(),Qe=0;ke&&!Ke||(Qe=Ke>0?Ke-1:ln.getMonth());var Dt=Ne||0,kt=gn||0,On=_t||0,ht=Et||0;return Gt?new Date(Date.UTC(Pt,Qe,xt,Dt,kt,On,ht+60*Gt.offset*1e3)):Se?new Date(Date.UTC(Pt,Qe,xt,Dt,kt,On,ht)):new Date(Pt,Qe,xt,Dt,kt,On,ht)}catch{return new Date("")}}(ae,de,ne),this.init(),xe&&xe!==!0&&(this.$L=this.locale(xe).$L),W&&ae!=this.format(de)&&(this.$d=new Date("")),y={}}else if(de instanceof Array)for(var U=de.length,Fe=1;Fe<=U;Fe+=1){se[1]=de[Fe-1];var Pe=ie.apply(this,se);if(Pe.isValid()){this.$d=Pe.$d,this.$L=Pe.$L,this.init();break}Fe===U&&(this.$d=new Date(""))}else pe.call(this,be)}}})})(QUe);var Mtn=QUe.exports;const Dtn=hC(Mtn);var JUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(Ag,function(){return function(u,d){var p=d.prototype,v=p.format;p.format=function(b){var y=this,T=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),A=(b||"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(P){switch(P){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return T.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return T.ordinal(y.week(),"W");case"w":case"ww":return _.s(y.week(),P==="w"?1:2,"0");case"W":case"WW":return _.s(y.isoWeek(),P==="W"?1:2,"0");case"k":case"kk":return _.s(String(y.$H===0?24:y.$H),P==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return P}});return v.bind(this)(A)}}})})(JUe);var Itn=JUe.exports;const Otn=hC(Itn);Lg.extend(Ltn),Lg.extend(Dtn),Lg.extend(Otn);let i5="",Xme="",Qme,Jme="",FR=[],RR=[],Zme={},eve=[],uJ=[],GD="",tve="";const ZUe=["active","done","crit","milestone"];let nve=[],jR=!1,rve=!1,ive="sunday",sve=0;const Ntn=function(){eve=[],uJ=[],GD="",nve=[],lJ=0,ove=void 0,hJ=void 0,m1=[],i5="",Xme="",tve="",Qme=void 0,Jme="",FR=[],RR=[],jR=!1,rve=!1,sve=0,Zme={},Pg(),ive="sunday"},Ptn=function(i){Xme=i},Btn=function(){return Xme},Ftn=function(i){Qme=i},Rtn=function(){return Qme},jtn=function(i){Jme=i},$tn=function(){return Jme},ztn=function(i){i5=i},qtn=function(){jR=!0},Htn=function(){return jR},Vtn=function(){rve=!0},Utn=function(){return rve},Gtn=function(i){tve=i},Ktn=function(){return tve},Wtn=function(){return i5},Ytn=function(i){FR=i.toLowerCase().split(/[\s,]+/)},Xtn=function(){return FR},Qtn=function(i){RR=i.toLowerCase().split(/[\s,]+/)},Jtn=function(){return RR},Ztn=function(){return Zme},enn=function(i){GD=i,eve.push(i)},tnn=function(){return eve},nnn=function(){let i=sGe();const s=10;let u=0;for(;!i&&u=6&&u.includes("weekends")||u.includes(i.format("dddd").toLowerCase())?!0:u.includes(i.format(s.trim()))},rnn=function(i){ive=i},inn=function(){return ive},tGe=function(i,s,u,d){if(!u.length||i.manualEndTime)return;let p;i.startTime instanceof Date?p=Lg(i.startTime):p=Lg(i.startTime,s,!0),p=p.add(1,"d");let v;i.endTime instanceof Date?v=Lg(i.endTime):v=Lg(i.endTime,s,!0);const[b,y]=snn(p,v,s,u,d);i.endTime=b.toDate(),i.renderEndTime=y},snn=function(i,s,u,d,p){let v=!1,b=null;for(;i<=s;)v||(b=s.toDate()),v=eGe(i,u,d,p),v&&(s=s.add(1,"d")),i=i.add(1,"d");return[s,b]},ave=function(i,s,u){u=u.trim();const p=/^after\s+(?[\d\w- ]+)/.exec(u);if(p!==null){let b=null;for(const T of p.groups.ids.split(" ")){let _=QC(T);_!==void 0&&(!b||_.endTime>b.endTime)&&(b=_)}if(b)return b.endTime;const y=new Date;return y.setHours(0,0,0,0),y}let v=Lg(u,s.trim(),!0);if(v.isValid())return v.toDate();{Xe.debug("Invalid date:"+u),Xe.debug("With date format:"+s.trim());const b=new Date(u);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+u);return b}},nGe=function(i){const s=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return s!==null?[Number.parseFloat(s[1]),s[2]]:[NaN,"ms"]},rGe=function(i,s,u,d=!1){u=u.trim();const v=/^until\s+(?[\d\w- ]+)/.exec(u);if(v!==null){let A=null;for(const R of v.groups.ids.split(" ")){let F=QC(R);F!==void 0&&(!A||F.startTime{window.open(u,"_self")}),Zme[d]=u)}),aGe(i,"clickable")},aGe=function(i,s){i.split(",").forEach(function(u){let d=QC(u);d!==void 0&&d.classes.push(s)})},hnn=function(i,s,u){if(qt().securityLevel!=="loose"||s===void 0)return;let d=[];if(typeof u=="string"){d=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v{Ao.runFunc(s,...d)})},oGe=function(i,s){nve.push(function(){const u=document.querySelector(`[id="${i}"]`);u!==null&&u.addEventListener("click",function(){s()})},function(){const u=document.querySelector(`[id="${i}-text"]`);u!==null&&u.addEventListener("click",function(){s()})})},fnn={getConfig:()=>qt().gantt,clear:Ntn,setDateFormat:ztn,getDateFormat:Wtn,enableInclusiveEndDates:qtn,endDatesAreInclusive:Htn,enableTopAxis:Vtn,topAxisEnabled:Utn,setAxisFormat:Ptn,getAxisFormat:Btn,setTickInterval:Ftn,getTickInterval:Rtn,setTodayMarker:jtn,getTodayMarker:$tn,setAccTitle:Bg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,setDisplayMode:Gtn,getDisplayMode:Ktn,setAccDescription:Sp,getAccDescription:_p,addSection:enn,getSections:tnn,getTasks:nnn,addTask:cnn,findTaskById:QC,addTaskOrg:unn,setIncludes:Ytn,getIncludes:Xtn,setExcludes:Qtn,getExcludes:Jtn,setClickEvent:function(i,s,u){i.split(",").forEach(function(d){hnn(d,s,u)}),aGe(i,"clickable")},setLink:lnn,getLinks:Ztn,bindFunctions:function(i){nve.forEach(function(s){s(i)})},parseDuration:nGe,isInvalidDate:eGe,setWeekday:rnn,getWeekday:inn};function cGe(i,s,u){let d=!0;for(;d;)d=!1,u.forEach(function(p){const v="^\\s*"+p+"\\s*$",b=new RegExp(v);i[0].match(b)&&(s[p]=!0,i.shift(1),d=!0)})}const dnn=function(){Xe.debug("Something is calling, setConf, remove the call")},uGe={monday:DF,tuesday:xFe,wednesday:kFe,thursday:yC,friday:EFe,saturday:TFe,sunday:MF},gnn=(i,s)=>{let u=[...i].map(()=>-1/0),d=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),p=0;for(const v of d)for(let b=0;b=u[b]){u[b]=v.endTime,v.order=b+s,b>p&&(p=b);break}return p};let V7;const pnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:_tn,db:fnn,renderer:{setConf:dnn,draw:function(i,s,u,d){const p=qt().gantt,v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=v==="sandbox"?b.nodes()[0].contentDocument:document,_=T.getElementById(s);V7=_.parentElement.offsetWidth,V7===void 0&&(V7=1200),p.useWidth!==void 0&&(V7=p.useWidth);const A=d.db.getTasks();let P=[];for(const de of A)P.push(de.type);P=se(P);const R={};let F=2*p.topPadding;if(d.db.getDisplayMode()==="compact"||p.displayMode==="compact"){const de={};for(const ge of A)de[ge.section]===void 0?de[ge.section]=[ge]:de[ge.section].push(ge);let X=0;for(const ge of Object.keys(de)){const W=gnn(de[ge],X)+1;X+=W,F+=W*(p.barHeight+p.barGap),R[ge]=W}}else{F+=A.length*(p.barHeight+p.barGap);for(const de of P)R[de]=A.filter(X=>X.type===de).length}_.setAttribute("viewBox","0 0 "+V7+" "+F);const j=y.select(`[id="${s}"]`),K=fNt().domain([WAt(A,function(de){return de.startTime}),KAt(A,function(de){return de.endTime})]).rangeRound([0,V7-p.leftPadding-p.rightPadding]);function ee(de,X){const ge=de.startTime,W=X.startTime;let xe=0;return ge>W?xe=1:geke.order))].map(ke=>de.find(Ke=>Ke.order===ke));j.append("g").selectAll("rect").data(je).enter().append("rect").attr("x",0).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+ge-2}).attr("width",function(){return Fe-p.rightPadding/2}).attr("height",X).attr("class",function(ke){for(const[Ke,Ft]of P.entries())if(ke.type===Ft)return"section section"+Ke%p.numberSectionStyles;return"section section0"});const Ie=j.append("g").selectAll("rect").data(de).enter(),Se=d.db.getLinks();if(Ie.append("rect").attr("id",function(ke){return ke.id}).attr("rx",3).attr("ry",3).attr("x",function(ke){return ke.milestone?K(ke.startTime)+W+.5*(K(ke.endTime)-K(ke.startTime))-.5*xe:K(ke.startTime)+W}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+ge}).attr("width",function(ke){return ke.milestone?xe:K(ke.renderEndTime||ke.endTime)-K(ke.startTime)}).attr("height",xe).attr("transform-origin",function(ke,Ke){return Ke=ke.order,(K(ke.startTime)+W+.5*(K(ke.endTime)-K(ke.startTime))).toString()+"px "+(Ke*X+ge+.5*xe).toString()+"px"}).attr("class",function(ke){const Ke="task";let Ft="";ke.classes.length>0&&(Ft=ke.classes.join(" "));let Ne=0;for(const[_t,Et]of P.entries())ke.type===Et&&(Ne=_t%p.numberSectionStyles);let gn="";return ke.active?ke.crit?gn+=" activeCrit":gn=" active":ke.done?ke.crit?gn=" doneCrit":gn=" done":ke.crit&&(gn+=" crit"),gn.length===0&&(gn=" task"),ke.milestone&&(gn=" milestone "+gn),gn+=Ne,gn+=" "+Ft,Ke+gn}),Ie.append("text").attr("id",function(ke){return ke.id+"-text"}).text(function(ke){return ke.task}).attr("font-size",p.fontSize).attr("x",function(ke){let Ke=K(ke.startTime),Ft=K(ke.renderEndTime||ke.endTime);ke.milestone&&(Ke+=.5*(K(ke.endTime)-K(ke.startTime))-.5*xe),ke.milestone&&(Ft=Ke+xe);const Ne=this.getBBox().width;return Ne>Ft-Ke?Ft+Ne+1.5*p.leftPadding>Fe?Ke+W-5:Ft+W+5:(Ft-Ke)/2+Ke+W}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+p.barHeight/2+(p.fontSize/2-2)+ge}).attr("text-height",xe).attr("class",function(ke){const Ke=K(ke.startTime);let Ft=K(ke.endTime);ke.milestone&&(Ft=Ke+xe);const Ne=this.getBBox().width;let gn="";ke.classes.length>0&&(gn=ke.classes.join(" "));let _t=0;for(const[Gt,ln]of P.entries())ke.type===ln&&(_t=Gt%p.numberSectionStyles);let Et="";return ke.active&&(ke.crit?Et="activeCritText"+_t:Et="activeText"+_t),ke.done?ke.crit?Et=Et+" doneCritText"+_t:Et=Et+" doneText"+_t:ke.crit&&(Et=Et+" critText"+_t),ke.milestone&&(Et+=" milestoneText"),Ne>Ft-Ke?Ft+Ne+1.5*p.leftPadding>Fe?gn+" taskTextOutsideLeft taskTextOutside"+_t+" "+Et:gn+" taskTextOutsideRight taskTextOutside"+_t+" "+Et+" width-"+Ne:gn+" taskText taskText"+_t+" "+Et+" width-"+Ne}),qt().securityLevel==="sandbox"){let ke;ke=Ir("#i"+s);const Ke=ke.nodes()[0].contentDocument;Ie.filter(function(Ft){return Se[Ft.id]!==void 0}).each(function(Ft){var Ne=Ke.querySelector("#"+Ft.id),gn=Ke.querySelector("#"+Ft.id+"-text");const _t=Ne.parentNode;var Et=Ke.createElement("a");Et.setAttribute("xlink:href",Se[Ft.id]),Et.setAttribute("target","_top"),_t.appendChild(Et),Et.appendChild(Ne),Et.appendChild(gn)})}}function pe(de,X,ge,W,xe,U,Fe,Pe){if(Fe.length===0&&Pe.length===0)return;let je,Ie;for(const{startTime:Ne,endTime:gn}of U)(je===void 0||NeIe)&&(Ie=gn);if(!je||!Ie)return;if(Lg(Ie).diff(Lg(je),"year")>5){Xe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Se=d.db.getDateFormat(),Ce=[];let ke=null,Ke=Lg(je);for(;Ke.valueOf()<=Ie;)d.db.isInvalidDate(Ke,Se,Fe,Pe)?ke?ke.end=Ke:ke={start:Ke,end:Ke}:ke&&(Ce.push(ke),ke=null),Ke=Ke.add(1,"d");j.append("g").selectAll("rect").data(Ce).enter().append("rect").attr("id",function(Ne){return"exclude-"+Ne.start.format("YYYY-MM-DD")}).attr("x",function(Ne){return K(Ne.start)+ge}).attr("y",p.gridLineStartPadding).attr("width",function(Ne){const gn=Ne.end.add(1,"day");return K(gn)-K(Ne.start)}).attr("height",xe-X-p.gridLineStartPadding).attr("transform-origin",function(Ne,gn){return(K(Ne.start)+ge+.5*(K(Ne.end)-K(Ne.start))).toString()+"px "+(gn*de+.5*xe).toString()+"px"}).attr("class","exclude-range")}function be(de,X,ge,W){let xe=rLt(K).tickSize(-W+X+p.gridLineStartPadding).tickFormat(sX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));const Fe=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(d.db.getTickInterval()||p.tickInterval);if(Fe!==null){const Pe=Fe[1],je=Fe[2],Ie=d.db.getWeekday()||p.weekday;switch(je){case"millisecond":xe.ticks(aD.every(Pe));break;case"second":xe.ticks(b9.every(Pe));break;case"minute":xe.ticks(AF.every(Pe));break;case"hour":xe.ticks(LF.every(Pe));break;case"day":xe.ticks(vC.every(Pe));break;case"week":xe.ticks(uGe[Ie].every(Pe));break;case"month":xe.ticks(IF.every(Pe));break}}if(j.append("g").attr("class","grid").attr("transform","translate("+de+", "+(W-50)+")").call(xe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),d.db.topAxisEnabled()||p.topAxis){let Pe=nLt(K).tickSize(-W+X+p.gridLineStartPadding).tickFormat(sX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));if(Fe!==null){const je=Fe[1],Ie=Fe[2],Se=d.db.getWeekday()||p.weekday;switch(Ie){case"millisecond":Pe.ticks(aD.every(je));break;case"second":Pe.ticks(b9.every(je));break;case"minute":Pe.ticks(AF.every(je));break;case"hour":Pe.ticks(LF.every(je));break;case"day":Pe.ticks(vC.every(je));break;case"week":Pe.ticks(uGe[Se].every(je));break;case"month":Pe.ticks(IF.every(je));break}}j.append("g").attr("class","grid").attr("transform","translate("+de+", "+X+")").call(Pe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ae(de,X){let ge=0;const W=Object.keys(R).map(xe=>[xe,R[xe]]);j.append("g").selectAll("text").data(W).enter().append(function(xe){const U=xe[0].split(ci.lineBreakRegex),Fe=-(U.length-1)/2,Pe=T.createElementNS("http://www.w3.org/2000/svg","text");Pe.setAttribute("dy",Fe+"em");for(const[je,Ie]of U.entries()){const Se=T.createElementNS("http://www.w3.org/2000/svg","tspan");Se.setAttribute("alignment-baseline","central"),Se.setAttribute("x","10"),je>0&&Se.setAttribute("dy","1em"),Se.textContent=Ie,Pe.appendChild(Se)}return Pe}).attr("x",10).attr("y",function(xe,U){if(U>0)for(let Fe=0;Fe` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${i.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${i.sectionBkgColor}; + } + + .section2 { + fill: ${i.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${i.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${i.titleColor}; + } + + .sectionTitle1 { + fill: ${i.titleColor}; + } + + .sectionTitle2 { + fill: ${i.titleColor}; + } + + .sectionTitle3 { + fill: ${i.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${i.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${i.fontFamily}; + fill: ${i.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${i.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${i.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${i.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${i.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${i.taskBkgColor}; + stroke: ${i.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${i.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${i.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${i.activeTaskBkgColor}; + stroke: ${i.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${i.doneTaskBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${i.critBorderColor}; + fill: ${i.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.titleColor||i.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`}},Symbol.toStringTag,{value:"Module"}));var cve=function(){var i=function(v,b,y,T){for(y=y||{},T=v.length;T--;y[v[T]]=b);return y},s=[6,9,10],u={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,y,T,_,A,P,R){switch(P.length-1,A){case 1:return _;case 4:break;case 6:_.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(s,[2,3]),i(s,[2,4]),i(s,[2,5]),i(s,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,y){if(y.recoverable)this.trace(b);else{var T=new Error(b);throw T.hash=y,T}},parse:function(b){var y=this,T=[0],_=[],A=[null],P=[],R=this.table,F="",j=0,K=0,ee=2,ie=1,oe=P.slice.call(arguments,1),pe=Object.create(this.lexer),be={yy:{}};for(var ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ae)&&(be.yy[ae]=this.yy[ae]);pe.setInput(b,be.yy),be.yy.lexer=pe,be.yy.parser=this,typeof pe.yylloc>"u"&&(pe.yylloc={});var ne=pe.yylloc;P.push(ne);var se=pe.options&&pe.options.ranges;typeof be.yy.parseError=="function"?this.parseError=be.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(){var Ce;return Ce=_.pop()||pe.lex()||ie,typeof Ce!="number"&&(Ce instanceof Array&&(_=Ce,Ce=_.pop()),Ce=y.symbols_[Ce]||Ce),Ce}for(var X,ge,W,xe,U={},Fe,Pe,je,Ie;;){if(ge=T[T.length-1],this.defaultActions[ge]?W=this.defaultActions[ge]:((X===null||typeof X>"u")&&(X=de()),W=R[ge]&&R[ge][X]),typeof W>"u"||!W.length||!W[0]){var Se="";Ie=[];for(Fe in R[ge])this.terminals_[Fe]&&Fe>ee&&Ie.push("'"+this.terminals_[Fe]+"'");pe.showPosition?Se="Parse error on line "+(j+1)+`: +`+pe.showPosition()+` +Expecting `+Ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Se="Parse error on line "+(j+1)+": Unexpected "+(X==ie?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Se,{text:pe.match,token:this.terminals_[X]||X,line:pe.yylineno,loc:ne,expected:Ie})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ge+", token: "+X);switch(W[0]){case 1:T.push(X),A.push(pe.yytext),P.push(pe.yylloc),T.push(W[1]),X=null,K=pe.yyleng,F=pe.yytext,j=pe.yylineno,ne=pe.yylloc;break;case 2:if(Pe=this.productions_[W[1]][1],U.$=A[A.length-Pe],U._$={first_line:P[P.length-(Pe||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(Pe||1)].first_column,last_column:P[P.length-1].last_column},se&&(U._$.range=[P[P.length-(Pe||1)].range[0],P[P.length-1].range[1]]),xe=this.performAction.apply(U,[F,K,j,be.yy,W[1],A,P].concat(oe)),typeof xe<"u")return xe;Pe&&(T=T.slice(0,-1*Pe*2),A=A.slice(0,-1*Pe),P=P.slice(0,-1*Pe)),T.push(this.productions_[W[1]][0]),A.push(U.$),P.push(U._$),je=R[T[T.length-2]][T[T.length-1]],T.push(je);break;case 3:return!0}}return!0}},d=function(){var v={EOF:1,parseError:function(y,T){if(this.yy.parser)this.yy.parser.parseError(y,T);else throw new Error(y)},setInput:function(b,y){return this.yy=y||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},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var y=b.match(/(?:\r\n?|\n).*/g);return y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var y=b.length,T=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var _=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),T.length-1&&(this.yylineno-=T.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:T?(T.length===_.length?this.yylloc.first_column:0)+_[_.length-T.length].length-T[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var b=this.pastInput(),y=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+y+"^"},test_match:function(b,y){var T,_,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))),_=b[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.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],T=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var P in A)this[P]=A[P];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,y,T,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),P=0;Py[0].length)){if(y=T,_=P,this.options.backtrack_lexer){if(b=this.test_match(T,A[P]),b!==!1)return b;if(this._backtrack){y=!1;continue}else return!1}else if(!this.options.flex)break}return y?(b=this.test_match(y,A[_]),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})},lex:function(){var y=this.next();return y||this.lex()},begin:function(y){this.conditionStack.push(y)},popState:function(){var y=this.conditionStack.length-1;return y>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(y){return y=this.conditionStack.length-1-Math.abs(y||0),y>=0?this.conditionStack[y]:"INITIAL"},pushState:function(y){this.begin(y)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(y,T,_,A){switch(_){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return v}();u.lexer=d;function p(){this.yy={}}return p.prototype=u,u.Parser=p,new p}();cve.parser=cve;const bnn=cve,lGe={info:!1};let uve=lGe.info;const mnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:bnn,db:{clear:()=>{uve=lGe.info},setInfo:i=>{uve=i},getInfo:()=>uve},renderer:{draw:(i,s,u)=>{Xe.debug(`rendering info diagram +`+i);const d=rR(s);Ng(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${u}`)}}}},Symbol.toStringTag,{value:"Module"}));var lve=function(){var i=function(pe,be,ae,ne){for(ae=ae||{},ne=pe.length;ne--;ae[pe[ne]]=be);return ae},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,10,12,14,16,18,19,20,21,22],b=[2,4],y=[1,5,10,12,14,16,18,19,20,21,22],T=[20,21,22],_=[2,7],A=[1,12],P=[1,13],R=[1,14],F=[1,15],j=[1,16],K=[1,17],ee={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(be,ae,ne,se,de,X,ge){var W=X.length-1;switch(de){case 3:se.setShowData(!0);break;case 6:this.$=X[W-1];break;case 8:se.addSection(X[W-1],se.cleanupValue(X[W]));break;case 9:this.$=X[W].trim(),se.setDiagramTitle(this.$);break;case 10:this.$=X[W].trim(),se.setAccTitle(this.$);break;case 11:case 12:this.$=X[W].trim(),se.setAccDescription(this.$);break;case 13:se.addSection(X[W].substr(8)),this.$=X[W].substr(8);break}},table:[{3:1,4:2,5:s,20:u,21:d,22:p},{1:[3]},{3:7,4:2,5:s,20:u,21:d,22:p},i(v,b,{6:8,7:[1,9]}),i(y,[2,14]),i(y,[2,15]),i(y,[2,16]),{1:[2,1]},i(T,_,{8:10,9:11,1:[2,2],10:A,12:P,14:R,16:F,18:j,19:K}),i(v,b,{6:18}),i(v,[2,5]),{4:19,20:u,21:d,22:p},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(T,[2,12]),i(T,[2,13]),i(T,_,{8:10,9:11,1:[2,3],10:A,12:P,14:R,16:F,18:j,19:K}),i(v,[2,6]),i(T,[2,8]),i(T,[2,9]),i(T,[2,10]),i(T,[2,11])],defaultActions:{7:[2,1]},parseError:function(be,ae){if(ae.recoverable)this.trace(be);else{var ne=new Error(be);throw ne.hash=ae,ne}},parse:function(be){var ae=this,ne=[0],se=[],de=[null],X=[],ge=this.table,W="",xe=0,U=0,Fe=2,Pe=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(be,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var kt;return kt=se.pop()||Ie.lex()||Pe,typeof kt!="number"&&(kt instanceof Array&&(se=kt,kt=se.pop()),kt=ae.symbols_[kt]||kt),kt}for(var Ne,gn,_t,Et,Gt={},ln,xt,Pt,Qe;;){if(gn=ne[ne.length-1],this.defaultActions[gn]?_t=this.defaultActions[gn]:((Ne===null||typeof Ne>"u")&&(Ne=Ft()),_t=ge[gn]&&ge[gn][Ne]),typeof _t>"u"||!_t.length||!_t[0]){var Dt="";Qe=[];for(ln in ge[gn])this.terminals_[ln]&&ln>Fe&&Qe.push("'"+this.terminals_[ln]+"'");Ie.showPosition?Dt="Parse error on line "+(xe+1)+`: +`+Ie.showPosition()+` +Expecting `+Qe.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse error on line "+(xe+1)+": Unexpected "+(Ne==Pe?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(Dt,{text:Ie.match,token:this.terminals_[Ne]||Ne,line:Ie.yylineno,loc:ke,expected:Qe})}if(_t[0]instanceof Array&&_t.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Ne);switch(_t[0]){case 1:ne.push(Ne),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(_t[1]),Ne=null,U=Ie.yyleng,W=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(xt=this.productions_[_t[1]][1],Gt.$=de[de.length-xt],Gt._$={first_line:X[X.length-(xt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(xt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Gt._$.range=[X[X.length-(xt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Gt,[W,U,xe,Se.yy,_t[1],de,X].concat(je)),typeof Et<"u")return Et;xt&&(ne=ne.slice(0,-1*xt*2),de=de.slice(0,-1*xt),X=X.slice(0,-1*xt)),ne.push(this.productions_[_t[1]][0]),de.push(Gt.$),X.push(Gt._$),Pt=ge[ne[ne.length-2]][ne[ne.length-1]],ne.push(Pt);break;case 3:return!0}}return!0}},ie=function(){var pe={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(be,ae){return this.yy=ae||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},input:function(){var be=this._input[0];this.yytext+=be,this.yyleng++,this.offset++,this.match+=be,this.matched+=be;var ae=be.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),be},unput:function(be){var ae=be.length,ne=be.split(/(?:\r\n?|\n)/g);this._input=be+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=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),ne.length-1&&(this.yylineno-=ne.length-1);var de=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:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(be){this.unput(this.match.slice(be))},pastInput:function(){var be=this.matched.substr(0,this.matched.length-this.match.length);return(be.length>20?"...":"")+be.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var be=this.pastInput(),ae=new Array(be.length+1).join("-");return be+this.upcomingInput()+` +`+ae+"^"},test_match:function(be,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={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&&(de.yylloc.range=this.yylloc.range.slice(0))),se=be[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.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],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var be,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(be=this.test_match(ne,de[X]),be!==!1)return be;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(be=this.test_match(ae,de[se]),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})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ae,ne,se,de){switch(se){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return pe}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();lve.parser=lve;const vnn=lve,hGe=sh.pie,fJ={sections:{},showData:!1,config:hGe};let dJ=fJ.sections,hve=fJ.showData;const wnn=structuredClone(hGe),ynn={getConfig:()=>structuredClone(wnn),clear:()=>{dJ=structuredClone(fJ.sections),hve=fJ.showData,Pg()},setDiagramTitle:cm,getDiagramTitle:Ap,setAccTitle:Bg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addSection:(i,s)=>{i=Yf(i,qt()),dJ[i]===void 0&&(dJ[i]=s,Xe.debug(`added new section: ${i}, with value: ${s}`))},getSections:()=>dJ,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{hve=i},getShowData:()=>hve},xnn=i=>` + .pieCircle{ + stroke: ${i.pieStrokeColor}; + stroke-width : ${i.pieStrokeWidth}; + opacity : ${i.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${i.pieOuterStrokeColor}; + stroke-width: ${i.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${i.pieTitleTextSize}; + fill: ${i.pieTitleTextColor}; + font-family: ${i.fontFamily}; + } + .slice { + font-family: ${i.fontFamily}; + fill: ${i.pieSectionTextColor}; + font-size:${i.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${i.pieLegendTextColor}; + font-family: ${i.fontFamily}; + font-size: ${i.pieLegendTextSize}; + } +`,knn=i=>{const s=Object.entries(i).map(d=>({label:d[0],value:d[1]})).sort((d,p)=>p.value-d.value);return SNt().value(d=>d.value)(s)},Enn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:vnn,db:ynn,renderer:{draw:(i,s,u,d)=>{Xe.debug(`rendering pie chart +`+i);const p=d.db,v=qt(),b=JF(p.getConfig(),v.pie),y=40,T=18,_=4,A=450,P=A,R=rR(s),F=R.append("g"),j=p.getSections();F.attr("transform","translate("+P/2+","+A/2+")");const{themeVariables:K}=v;let[ee]=NC(K.pieOuterStrokeWidth);ee??(ee=2);const ie=b.textPosition,oe=Math.min(P,A)/2-y,pe=lD().innerRadius(0).outerRadius(oe),be=lD().innerRadius(oe*ie).outerRadius(oe*ie);F.append("circle").attr("cx",0).attr("cy",0).attr("r",oe+ee/2).attr("class","pieOuterCircle");const ae=knn(j),ne=[K.pie1,K.pie2,K.pie3,K.pie4,K.pie5,K.pie6,K.pie7,K.pie8,K.pie9,K.pie10,K.pie11,K.pie12],se=_F(ne);F.selectAll("mySlices").data(ae).enter().append("path").attr("d",pe).attr("fill",xe=>se(xe.data.label)).attr("class","pieCircle");let de=0;Object.keys(j).forEach(xe=>{de+=j[xe]}),F.selectAll("mySlices").data(ae).enter().append("text").text(xe=>(xe.data.value/de*100).toFixed(0)+"%").attr("transform",xe=>"translate("+be.centroid(xe)+")").style("text-anchor","middle").attr("class","slice"),F.append("text").text(p.getDiagramTitle()).attr("x",0).attr("y",-(A-50)/2).attr("class","pieTitleText");const X=F.selectAll(".legend").data(se.domain()).enter().append("g").attr("class","legend").attr("transform",(xe,U)=>{const Fe=T+_,Pe=Fe*se.domain().length/2,je=12*T,Ie=U*Fe-Pe;return"translate("+je+","+Ie+")"});X.append("rect").attr("width",T).attr("height",T).style("fill",se).style("stroke",se),X.data(ae).append("text").attr("x",T+_).attr("y",T-_).text(xe=>{const{label:U,value:Fe}=xe.data;return p.getShowData()?`${U} [${Fe}]`:U});const ge=Math.max(...X.selectAll("text").nodes().map(xe=>(xe==null?void 0:xe.getBoundingClientRect().width)??0)),W=P+y+T+_+ge;R.attr("viewBox",`0 0 ${W} ${A}`),Ng(R,A,W,b.useMaxWidth)}},styles:xnn}},Symbol.toStringTag,{value:"Module"}));var fve=function(){var i=function(_t,Et,Gt,ln){for(Gt=Gt||{},ln=_t.length;ln--;Gt[_t[ln]]=Et);return Gt},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],y=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],T=[32,33,34],_=[2,7],A=[1,13],P=[1,17],R=[1,18],F=[1,19],j=[1,20],K=[1,21],ee=[1,22],ie=[1,23],oe=[1,24],pe=[1,25],be=[1,26],ae=[1,27],ne=[1,30],se=[1,31],de=[1,32],X=[1,33],ge=[1,34],W=[1,35],xe=[1,36],U=[1,37],Fe=[1,38],Pe=[1,39],je=[1,40],Ie=[1,41],Se=[1,42],Ce=[1,57],ke=[1,58],Ke=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Ft={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(Et,Gt,ln,xt,Pt,Qe,Dt){var kt=Qe.length-1;switch(Pt){case 12:this.$=Qe[kt].trim(),xt.setDiagramTitle(this.$);break;case 13:this.$=Qe[kt].trim(),xt.setAccTitle(this.$);break;case 14:case 15:this.$=Qe[kt].trim(),xt.setAccDescription(this.$);break;case 16:xt.addSection(Qe[kt].substr(8)),this.$=Qe[kt].substr(8);break;case 17:xt.addPoint(Qe[kt-3],Qe[kt-1],Qe[kt]);break;case 18:xt.setXAxisLeftText(Qe[kt-2]),xt.setXAxisRightText(Qe[kt]);break;case 19:Qe[kt-1].text+=" ⟶ ",xt.setXAxisLeftText(Qe[kt-1]);break;case 20:xt.setXAxisLeftText(Qe[kt]);break;case 21:xt.setYAxisBottomText(Qe[kt-2]),xt.setYAxisTopText(Qe[kt]);break;case 22:Qe[kt-1].text+=" ⟶ ",xt.setYAxisBottomText(Qe[kt-1]);break;case 23:xt.setYAxisBottomText(Qe[kt]);break;case 24:xt.setQuadrant1Text(Qe[kt]);break;case 25:xt.setQuadrant2Text(Qe[kt]);break;case 26:xt.setQuadrant3Text(Qe[kt]);break;case 27:xt.setQuadrant4Text(Qe[kt]);break;case 31:this.$={text:Qe[kt],type:"text"};break;case 32:this.$={text:Qe[kt-1].text+""+Qe[kt],type:Qe[kt-1].type};break;case 33:this.$={text:Qe[kt],type:"text"};break;case 34:this.$={text:Qe[kt],type:"markdown"};break;case 35:this.$=Qe[kt];break;case 36:this.$=Qe[kt-1]+""+Qe[kt];break}},table:[{3:1,4:2,5:s,6:u,32:d,33:p,34:v},{1:[3]},{3:8,4:2,5:s,6:u,32:d,33:p,34:v},{3:9,4:2,5:s,6:u,32:d,33:p,34:v},i(b,[2,4],{7:10}),i(y,[2,28]),i(y,[2,29]),i(y,[2,30]),{1:[2,1]},{1:[2,2]},i(T,_,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:A,13:P,15:R,17:F,19:j,20:K,25:ee,27:ie,28:oe,29:pe,30:be,31:ae,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se}),i(b,[2,5]),{4:43,32:d,33:p,34:v},i(T,_,{10:14,11:15,12:16,21:28,35:29,9:44,5:A,13:P,15:R,17:F,19:j,20:K,25:ee,27:ie,28:oe,29:pe,30:be,31:ae,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se}),i(T,[2,9]),i(T,[2,10]),i(T,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(T,[2,15]),i(T,[2,16]),{21:48,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:49,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:50,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:51,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:52,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:53,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{5:Ce,22:[1,54],35:56,36:55,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke},i(Ke,[2,31]),i(Ke,[2,33]),i(Ke,[2,34]),i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),i(Ke,[2,40]),i(Ke,[2,41]),i(Ke,[2,42]),i(Ke,[2,43]),i(Ke,[2,44]),i(Ke,[2,45]),i(Ke,[2,46]),i(Ke,[2,47]),i(b,[2,6]),i(T,[2,8]),i(T,[2,12]),i(T,[2,13]),i(T,[2,14]),i(T,[2,20],{36:55,35:56,5:Ce,26:[1,59],40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,23],{36:55,35:56,5:Ce,26:[1,60],40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,24],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,25],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,26],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,27],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),{23:[1,61]},i(Ke,[2,32]),i(Ke,[2,48]),i(Ke,[2,49]),i(Ke,[2,50]),i(T,[2,19],{35:29,21:62,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se}),i(T,[2,22],{35:29,21:63,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se}),{24:[1,64]},i(T,[2,18],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,21],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(Et,Gt){if(Gt.recoverable)this.trace(Et);else{var ln=new Error(Et);throw ln.hash=Gt,ln}},parse:function(Et){var Gt=this,ln=[0],xt=[],Pt=[null],Qe=[],Dt=this.table,kt="",On=0,ht=0,zr=2,yt=1,ji=Qe.slice.call(arguments,1),xi=Object.create(this.lexer),Ma={yy:{}};for(var zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zs)&&(Ma.yy[zs]=this.yy[zs]);xi.setInput(Et,Ma.yy),Ma.yy.lexer=xi,Ma.yy.parser=this,typeof xi.yylloc>"u"&&(xi.yylloc={});var ao=xi.yylloc;Qe.push(ao);var Tr=xi.options&&xi.options.ranges;typeof Ma.yy.parseError=="function"?this.parseError=Ma.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fn(){var Pa;return Pa=xt.pop()||xi.lex()||yt,typeof Pa!="number"&&(Pa instanceof Array&&(xt=Pa,Pa=xt.pop()),Pa=Gt.symbols_[Pa]||Pa),Pa}for(var qn,Un,At,wt,on={},fn,An,oo,jo;;){if(Un=ln[ln.length-1],this.defaultActions[Un]?At=this.defaultActions[Un]:((qn===null||typeof qn>"u")&&(qn=Fn()),At=Dt[Un]&&Dt[Un][qn]),typeof At>"u"||!At.length||!At[0]){var $o="";jo=[];for(fn in Dt[Un])this.terminals_[fn]&&fn>zr&&jo.push("'"+this.terminals_[fn]+"'");xi.showPosition?$o="Parse error on line "+(On+1)+`: +`+xi.showPosition()+` +Expecting `+jo.join(", ")+", got '"+(this.terminals_[qn]||qn)+"'":$o="Parse error on line "+(On+1)+": Unexpected "+(qn==yt?"end of input":"'"+(this.terminals_[qn]||qn)+"'"),this.parseError($o,{text:xi.match,token:this.terminals_[qn]||qn,line:xi.yylineno,loc:ao,expected:jo})}if(At[0]instanceof Array&&At.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Un+", token: "+qn);switch(At[0]){case 1:ln.push(qn),Pt.push(xi.yytext),Qe.push(xi.yylloc),ln.push(At[1]),qn=null,ht=xi.yyleng,kt=xi.yytext,On=xi.yylineno,ao=xi.yylloc;break;case 2:if(An=this.productions_[At[1]][1],on.$=Pt[Pt.length-An],on._$={first_line:Qe[Qe.length-(An||1)].first_line,last_line:Qe[Qe.length-1].last_line,first_column:Qe[Qe.length-(An||1)].first_column,last_column:Qe[Qe.length-1].last_column},Tr&&(on._$.range=[Qe[Qe.length-(An||1)].range[0],Qe[Qe.length-1].range[1]]),wt=this.performAction.apply(on,[kt,ht,On,Ma.yy,At[1],Pt,Qe].concat(ji)),typeof wt<"u")return wt;An&&(ln=ln.slice(0,-1*An*2),Pt=Pt.slice(0,-1*An),Qe=Qe.slice(0,-1*An)),ln.push(this.productions_[At[1]][0]),Pt.push(on.$),Qe.push(on._$),oo=Dt[ln[ln.length-2]][ln[ln.length-1]],ln.push(oo);break;case 3:return!0}}return!0}},Ne=function(){var _t={EOF:1,parseError:function(Gt,ln){if(this.yy.parser)this.yy.parser.parseError(Gt,ln);else throw new Error(Gt)},setInput:function(Et,Gt){return this.yy=Gt||this.yy||{},this._input=Et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Gt=Et.match(/(?:\r\n?|\n).*/g);return Gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Gt=Et.length,ln=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Gt),this.offset-=Gt;var xt=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),ln.length-1&&(this.yylineno-=ln.length-1);var Pt=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:ln?(ln.length===xt.length?this.yylloc.first_column:0)+xt[xt.length-ln.length].length-ln[0].length:this.yylloc.first_column-Gt},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-Gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Gt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+Gt+"^"},test_match:function(Et,Gt){var ln,xt,Pt;if(this.options.backtrack_lexer&&(Pt={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&&(Pt.yylloc.range=this.yylloc.range.slice(0))),xt=Et[0].match(/(?:\r\n?|\n).*/g),xt&&(this.yylineno+=xt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xt?xt[xt.length-1].length-xt[xt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],ln=this.performAction.call(this,this.yy,this,Gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ln)return ln;if(this._backtrack){for(var Qe in Pt)this[Qe]=Pt[Qe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Gt,ln,xt;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),Qe=0;QeGt[0].length)){if(Gt=ln,xt=Qe,this.options.backtrack_lexer){if(Et=this.test_match(ln,Pt[Qe]),Et!==!1)return Et;if(this._backtrack){Gt=!1;continue}else return!1}else if(!this.options.flex)break}return Gt?(Et=this.test_match(Gt,Pt[xt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Gt=this.next();return Gt||this.lex()},begin:function(Gt){this.conditionStack.push(Gt)},popState:function(){var Gt=this.conditionStack.length-1;return Gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Gt){return Gt=this.conditionStack.length-1-Math.abs(Gt||0),Gt>=0?this.conditionStack[Gt]:"INITIAL"},pushState:function(Gt){this.begin(Gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Gt,ln,xt,Pt){switch(xt){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return _t}();Ft.lexer=Ne;function gn(){this.yy={}}return gn.prototype=Ft,Ft.Parser=gn,new gn}();fve.parser=fve;const Tnn=fve,Pp=f2e();class Cnn{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var s,u,d,p,v,b,y,T,_,A,P,R,F,j,K,ee,ie,oe;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((s=sh.quadrantChart)==null?void 0:s.chartWidth)||500,chartWidth:((u=sh.quadrantChart)==null?void 0:u.chartHeight)||500,titlePadding:((d=sh.quadrantChart)==null?void 0:d.titlePadding)||10,titleFontSize:((p=sh.quadrantChart)==null?void 0:p.titleFontSize)||20,quadrantPadding:((v=sh.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=sh.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((y=sh.quadrantChart)==null?void 0:y.yAxisLabelPadding)||5,xAxisLabelFontSize:((T=sh.quadrantChart)==null?void 0:T.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=sh.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((A=sh.quadrantChart)==null?void 0:A.quadrantLabelFontSize)||16,quadrantTextTopPadding:((P=sh.quadrantChart)==null?void 0:P.quadrantTextTopPadding)||5,pointTextPadding:((R=sh.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((F=sh.quadrantChart)==null?void 0:F.pointLabelFontSize)||12,pointRadius:((j=sh.quadrantChart)==null?void 0:j.pointRadius)||5,xAxisPosition:((K=sh.quadrantChart)==null?void 0:K.xAxisPosition)||"top",yAxisPosition:((ee=sh.quadrantChart)==null?void 0:ee.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ie=sh.quadrantChart)==null?void 0:ie.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((oe=sh.quadrantChart)==null?void 0:oe.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:Pp.quadrant1Fill,quadrant2Fill:Pp.quadrant2Fill,quadrant3Fill:Pp.quadrant3Fill,quadrant4Fill:Pp.quadrant4Fill,quadrant1TextFill:Pp.quadrant1TextFill,quadrant2TextFill:Pp.quadrant2TextFill,quadrant3TextFill:Pp.quadrant3TextFill,quadrant4TextFill:Pp.quadrant4TextFill,quadrantPointFill:Pp.quadrantPointFill,quadrantPointTextFill:Pp.quadrantPointTextFill,quadrantXAxisTextFill:Pp.quadrantXAxisTextFill,quadrantYAxisTextFill:Pp.quadrantYAxisTextFill,quadrantTitleFill:Pp.quadrantTitleFill,quadrantInternalBorderStrokeFill:Pp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Pp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Xe.info("clear called")}setData(s){this.data={...this.data,...s}}addPoints(s){this.data.points=[...s,...this.data.points]}setConfig(s){Xe.trace("setConfig called with: ",s),this.config={...this.config,...s}}setThemeConfig(s){Xe.trace("setThemeConfig called with: ",s),this.themeConfig={...this.themeConfig,...s}}calculateSpace(s,u,d,p){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:s==="top"&&u?v:0,bottom:s==="bottom"&&u?v:0},y=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,T={left:this.config.yAxisPosition==="left"&&d?y:0,right:this.config.yAxisPosition==="right"&&d?y:0},_=this.config.titleFontSize+this.config.titlePadding*2,A={top:p?_:0},P=this.config.quadrantPadding+T.left,R=this.config.quadrantPadding+b.top+A.top,F=this.config.chartWidth-this.config.quadrantPadding*2-T.left-T.right,j=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-A.top,K=F/2,ee=j/2;return{xAxisSpace:b,yAxisSpace:T,titleSpace:A,quadrantSpace:{quadrantLeft:P,quadrantTop:R,quadrantWidth:F,quadrantHalfWidth:K,quadrantHeight:j,quadrantHalfHeight:ee}}}getAxisLabels(s,u,d,p){const{quadrantSpace:v,titleSpace:b}=p,{quadrantHalfHeight:y,quadrantHeight:T,quadrantLeft:_,quadrantHalfWidth:A,quadrantTop:P,quadrantWidth:R}=v,F=!!this.data.xAxisRightText,j=!!this.data.yAxisTopText,K=[];return this.data.xAxisLeftText&&u&&K.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(F?A/2:0),y:s==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+T+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:F?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&u&&K.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+A+(F?A/2:0),y:s==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+T+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:F?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&d&&K.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+T-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&d&&K.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+y-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),K}getQuadrants(s){const{quadrantSpace:u}=s,{quadrantHalfHeight:d,quadrantLeft:p,quadrantHalfWidth:v,quadrantTop:b}=u,y=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p+v,y:b,width:v,height:d,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:p,y:b,width:v,height:d,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:p,y:b+d,width:v,height:d,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:p+v,y:b+d,width:v,height:d,fill:this.themeConfig.quadrant4Fill}];for(const T of y)T.text.x=T.x+T.width/2,this.data.points.length===0?(T.text.y=T.y+T.height/2,T.text.horizontalPos="middle"):(T.text.y=T.y+this.config.quadrantTextTopPadding,T.text.horizontalPos="top");return y}getQuadrantPoints(s){const{quadrantSpace:u}=s,{quadrantHeight:d,quadrantLeft:p,quadrantTop:v,quadrantWidth:b}=u,y=sD().domain([0,1]).range([p,b+p]),T=sD().domain([0,1]).range([d+v,v]);return this.data.points.map(A=>({x:y(A.x),y:T(A.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:A.text,fill:this.themeConfig.quadrantPointTextFill,x:y(A.x),y:T(A.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(s){const u=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:d}=s,{quadrantHalfHeight:p,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:y,quadrantTop:T,quadrantWidth:_}=d;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:T,x2:b+_+u,y2:T},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:T+u,x2:b+_,y2:T+v-u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:T+v,x2:b+_+u,y2:T+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:T+u,x2:b,y2:T+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+y,y1:T+u,x2:b+y,y2:T+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+u,y1:T+p,x2:b+_-u,y2:T+p}]}getTitle(s){if(s)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const s=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),u=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),d=this.config.showTitle&&!!this.data.titleText,p=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(p,s,u,d);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(p,s,u,v),borderLines:this.getBorders(v),title:this.getTitle(d)}}}const Snn=qt();function U7(i){return Yf(i.trim(),Snn)}const Rg=new Cnn;function _nn(i){Rg.setData({quadrant1Text:U7(i.text)})}function Ann(i){Rg.setData({quadrant2Text:U7(i.text)})}function Lnn(i){Rg.setData({quadrant3Text:U7(i.text)})}function Mnn(i){Rg.setData({quadrant4Text:U7(i.text)})}function Dnn(i){Rg.setData({xAxisLeftText:U7(i.text)})}function Inn(i){Rg.setData({xAxisRightText:U7(i.text)})}function Onn(i){Rg.setData({yAxisTopText:U7(i.text)})}function Nnn(i){Rg.setData({yAxisBottomText:U7(i.text)})}function Pnn(i,s,u){Rg.addPoints([{x:s,y:u,text:U7(i.text)}])}function Bnn(i){Rg.setConfig({chartWidth:i})}function Fnn(i){Rg.setConfig({chartHeight:i})}function Rnn(){const i=qt(),{themeVariables:s,quadrantChart:u}=i;return u&&Rg.setConfig(u),Rg.setThemeConfig({quadrant1Fill:s.quadrant1Fill,quadrant2Fill:s.quadrant2Fill,quadrant3Fill:s.quadrant3Fill,quadrant4Fill:s.quadrant4Fill,quadrant1TextFill:s.quadrant1TextFill,quadrant2TextFill:s.quadrant2TextFill,quadrant3TextFill:s.quadrant3TextFill,quadrant4TextFill:s.quadrant4TextFill,quadrantPointFill:s.quadrantPointFill,quadrantPointTextFill:s.quadrantPointTextFill,quadrantXAxisTextFill:s.quadrantXAxisTextFill,quadrantYAxisTextFill:s.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:s.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:s.quadrantInternalBorderStrokeFill,quadrantTitleFill:s.quadrantTitleFill}),Rg.setData({titleText:Ap()}),Rg.build()}const jnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Tnn,db:{setWidth:Bnn,setHeight:Fnn,setQuadrant1Text:_nn,setQuadrant2Text:Ann,setQuadrant3Text:Lnn,setQuadrant4Text:Mnn,setXAxisLeftText:Dnn,setXAxisRightText:Inn,setYAxisTopText:Onn,setYAxisBottomText:Nnn,addPoint:Pnn,getQuadrantData:Rnn,clear:function(){Rg.clear(),Pg()},setAccTitle:Bg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,getAccDescription:_p,setAccDescription:Sp},renderer:{draw:(i,s,u,d)=>{var de,X,ge;function p(W){return W==="top"?"hanging":"middle"}function v(W){return W==="left"?"start":"middle"}function b(W){return`translate(${W.x}, ${W.y}) rotate(${W.rotation||0})`}const y=qt();Xe.debug(`Rendering quadrant chart +`+i);const T=y.securityLevel;let _;T==="sandbox"&&(_=Ir("#i"+s));const P=Ir(T==="sandbox"?_.nodes()[0].contentDocument.body:"body").select(`[id="${s}"]`),R=P.append("g").attr("class","main"),F=((de=y.quadrantChart)==null?void 0:de.chartWidth)||500,j=((X=y.quadrantChart)==null?void 0:X.chartHeight)||500;Ng(P,j,F,((ge=y.quadrantChart)==null?void 0:ge.useMaxWidth)||!0),P.attr("viewBox","0 0 "+F+" "+j),d.db.setHeight(j),d.db.setWidth(F);const K=d.db.getQuadrantData(),ee=R.append("g").attr("class","quadrants"),ie=R.append("g").attr("class","border"),oe=R.append("g").attr("class","data-points"),pe=R.append("g").attr("class","labels"),be=R.append("g").attr("class","title");K.title&&be.append("text").attr("x",0).attr("y",0).attr("fill",K.title.fill).attr("font-size",K.title.fontSize).attr("dominant-baseline",p(K.title.horizontalPos)).attr("text-anchor",v(K.title.verticalPos)).attr("transform",b(K.title)).text(K.title.text),K.borderLines&&ie.selectAll("line").data(K.borderLines).enter().append("line").attr("x1",W=>W.x1).attr("y1",W=>W.y1).attr("x2",W=>W.x2).attr("y2",W=>W.y2).style("stroke",W=>W.strokeFill).style("stroke-width",W=>W.strokeWidth);const ae=ee.selectAll("g.quadrant").data(K.quadrants).enter().append("g").attr("class","quadrant");ae.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),ae.append("text").attr("x",0).attr("y",0).attr("fill",W=>W.text.fill).attr("font-size",W=>W.text.fontSize).attr("dominant-baseline",W=>p(W.text.horizontalPos)).attr("text-anchor",W=>v(W.text.verticalPos)).attr("transform",W=>b(W.text)).text(W=>W.text.text),pe.selectAll("g.label").data(K.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(W=>W.text).attr("fill",W=>W.fill).attr("font-size",W=>W.fontSize).attr("dominant-baseline",W=>p(W.horizontalPos)).attr("text-anchor",W=>v(W.verticalPos)).attr("transform",W=>b(W));const se=oe.selectAll("g.data-point").data(K.points).enter().append("g").attr("class","data-point");se.append("circle").attr("cx",W=>W.x).attr("cy",W=>W.y).attr("r",W=>W.radius).attr("fill",W=>W.fill),se.append("text").attr("x",0).attr("y",0).text(W=>W.text.text).attr("fill",W=>W.text.fill).attr("font-size",W=>W.text.fontSize).attr("dominant-baseline",W=>p(W.text.horizontalPos)).attr("text-anchor",W=>v(W.text.verticalPos)).attr("transform",W=>b(W.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var dve=function(){var i=function(Pe,je,Ie,Se){for(Ie=Ie||{},Se=Pe.length;Se--;Ie[Pe[Se]]=je);return Ie},s=[1,10,12,14,16,18,19,21,23],u=[2,6],d=[1,3],p=[1,5],v=[1,6],b=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],T=[1,25],_=[1,26],A=[1,28],P=[1,29],R=[1,30],F=[1,31],j=[1,32],K=[1,33],ee=[1,34],ie=[1,35],oe=[1,36],pe=[1,37],be=[1,43],ae=[1,42],ne=[1,47],se=[1,50],de=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],ge=[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],W=[1,64],xe={trace:function(){},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:function(je,Ie,Se,Ce,ke,Ke,Ft){var Ne=Ke.length-1;switch(ke){case 5:Ce.setOrientation(Ke[Ne]);break;case 9:Ce.setDiagramTitle(Ke[Ne].text.trim());break;case 12:Ce.setLineData({text:"",type:"text"},Ke[Ne]);break;case 13:Ce.setLineData(Ke[Ne-1],Ke[Ne]);break;case 14:Ce.setBarData({text:"",type:"text"},Ke[Ne]);break;case 15:Ce.setBarData(Ke[Ne-1],Ke[Ne]);break;case 16:this.$=Ke[Ne].trim(),Ce.setAccTitle(this.$);break;case 17:case 18:this.$=Ke[Ne].trim(),Ce.setAccDescription(this.$);break;case 19:this.$=Ke[Ne-1];break;case 20:this.$=[Number(Ke[Ne-2]),...Ke[Ne]];break;case 21:this.$=[Number(Ke[Ne])];break;case 22:Ce.setXAxisTitle(Ke[Ne]);break;case 23:Ce.setXAxisTitle(Ke[Ne-1]);break;case 24:Ce.setXAxisTitle({type:"text",text:""});break;case 25:Ce.setXAxisBand(Ke[Ne]);break;case 26:Ce.setXAxisRangeData(Number(Ke[Ne-2]),Number(Ke[Ne]));break;case 27:this.$=Ke[Ne-1];break;case 28:this.$=[Ke[Ne-2],...Ke[Ne]];break;case 29:this.$=[Ke[Ne]];break;case 30:Ce.setYAxisTitle(Ke[Ne]);break;case 31:Ce.setYAxisTitle(Ke[Ne-1]);break;case 32:Ce.setYAxisTitle({type:"text",text:""});break;case 33:Ce.setYAxisRangeData(Number(Ke[Ne-2]),Number(Ke[Ne]));break;case 37:this.$={text:Ke[Ne],type:"text"};break;case 38:this.$={text:Ke[Ne],type:"text"};break;case 39:this.$={text:Ke[Ne],type:"markdown"};break;case 40:this.$=Ke[Ne];break;case 41:this.$=Ke[Ne-1]+""+Ke[Ne];break}},table:[i(s,u,{3:1,4:2,7:4,5:d,34:p,35:v,36:b}),{1:[3]},i(s,u,{4:2,7:4,3:8,5:d,34:p,35:v,36:b}),i(s,u,{4:2,7:4,6:9,3:10,5:d,8:[1,11],34:p,35:v,36:b}),{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]},i(y,[2,34]),i(y,[2,35]),i(y,[2,36]),{1:[2,1]},i(s,u,{4:2,7:4,3:21,5:d,34:p,35:v,36:b}),{1:[2,3]},i(y,[2,5]),i(s,[2,7],{4:22,34:p,35:v,36:b}),{11:23,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{11:39,13:38,24:be,27:ae,29:40,30:41,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{11:45,15:44,27:ne,33:46,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{11:49,17:48,24:se,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{11:52,17:51,24:se,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{20:[1,53]},{22:[1,54]},i(de,[2,18]),{1:[2,2]},i(de,[2,8]),i(de,[2,9]),i(X,[2,37],{40:55,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe}),i(X,[2,38]),i(X,[2,39]),i(ge,[2,40]),i(ge,[2,42]),i(ge,[2,43]),i(ge,[2,44]),i(ge,[2,45]),i(ge,[2,46]),i(ge,[2,47]),i(ge,[2,48]),i(ge,[2,49]),i(ge,[2,50]),i(ge,[2,51]),i(de,[2,10]),i(de,[2,22],{30:41,29:56,24:be,27:ae}),i(de,[2,24]),i(de,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},i(de,[2,11]),i(de,[2,30],{33:60,27:ne}),i(de,[2,32]),{31:[1,61]},i(de,[2,12]),{17:62,24:se},{25:63,27:W},i(de,[2,14]),{17:65,24:se},i(de,[2,16]),i(de,[2,17]),i(ge,[2,41]),i(de,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(de,[2,31]),{27:[1,69]},i(de,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(de,[2,15]),i(de,[2,26]),i(de,[2,27]),{11:59,32:72,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},i(de,[2,33]),i(de,[2,19]),{25:73,27:W},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(je,Ie){if(Ie.recoverable)this.trace(je);else{var Se=new Error(je);throw Se.hash=Ie,Se}},parse:function(je){var Ie=this,Se=[0],Ce=[],ke=[null],Ke=[],Ft=this.table,Ne="",gn=0,_t=0,Et=2,Gt=1,ln=Ke.slice.call(arguments,1),xt=Object.create(this.lexer),Pt={yy:{}};for(var Qe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qe)&&(Pt.yy[Qe]=this.yy[Qe]);xt.setInput(je,Pt.yy),Pt.yy.lexer=xt,Pt.yy.parser=this,typeof xt.yylloc>"u"&&(xt.yylloc={});var Dt=xt.yylloc;Ke.push(Dt);var kt=xt.options&&xt.options.ranges;typeof Pt.yy.parseError=="function"?this.parseError=Pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var qn;return qn=Ce.pop()||xt.lex()||Gt,typeof qn!="number"&&(qn instanceof Array&&(Ce=qn,qn=Ce.pop()),qn=Ie.symbols_[qn]||qn),qn}for(var ht,zr,yt,ji,xi={},Ma,zs,ao,Tr;;){if(zr=Se[Se.length-1],this.defaultActions[zr]?yt=this.defaultActions[zr]:((ht===null||typeof ht>"u")&&(ht=On()),yt=Ft[zr]&&Ft[zr][ht]),typeof yt>"u"||!yt.length||!yt[0]){var Fn="";Tr=[];for(Ma in Ft[zr])this.terminals_[Ma]&&Ma>Et&&Tr.push("'"+this.terminals_[Ma]+"'");xt.showPosition?Fn="Parse error on line "+(gn+1)+`: +`+xt.showPosition()+` +Expecting `+Tr.join(", ")+", got '"+(this.terminals_[ht]||ht)+"'":Fn="Parse error on line "+(gn+1)+": Unexpected "+(ht==Gt?"end of input":"'"+(this.terminals_[ht]||ht)+"'"),this.parseError(Fn,{text:xt.match,token:this.terminals_[ht]||ht,line:xt.yylineno,loc:Dt,expected:Tr})}if(yt[0]instanceof Array&&yt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zr+", token: "+ht);switch(yt[0]){case 1:Se.push(ht),ke.push(xt.yytext),Ke.push(xt.yylloc),Se.push(yt[1]),ht=null,_t=xt.yyleng,Ne=xt.yytext,gn=xt.yylineno,Dt=xt.yylloc;break;case 2:if(zs=this.productions_[yt[1]][1],xi.$=ke[ke.length-zs],xi._$={first_line:Ke[Ke.length-(zs||1)].first_line,last_line:Ke[Ke.length-1].last_line,first_column:Ke[Ke.length-(zs||1)].first_column,last_column:Ke[Ke.length-1].last_column},kt&&(xi._$.range=[Ke[Ke.length-(zs||1)].range[0],Ke[Ke.length-1].range[1]]),ji=this.performAction.apply(xi,[Ne,_t,gn,Pt.yy,yt[1],ke,Ke].concat(ln)),typeof ji<"u")return ji;zs&&(Se=Se.slice(0,-1*zs*2),ke=ke.slice(0,-1*zs),Ke=Ke.slice(0,-1*zs)),Se.push(this.productions_[yt[1]][0]),ke.push(xi.$),Ke.push(xi._$),ao=Ft[Se[Se.length-2]][Se[Se.length-1]],Se.push(ao);break;case 3:return!0}}return!0}},U=function(){var Pe={EOF:1,parseError:function(Ie,Se){if(this.yy.parser)this.yy.parser.parseError(Ie,Se);else throw new Error(Ie)},setInput:function(je,Ie){return this.yy=Ie||this.yy||{},this._input=je,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var je=this._input[0];this.yytext+=je,this.yyleng++,this.offset++,this.match+=je,this.matched+=je;var Ie=je.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),je},unput:function(je){var Ie=je.length,Se=je.split(/(?:\r\n?|\n)/g);this._input=je+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ce=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 ke=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===Ce.length?this.yylloc.first_column:0)+Ce[Ce.length-Se.length].length-Se[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(je){this.unput(this.match.slice(je))},pastInput:function(){var je=this.matched.substr(0,this.matched.length-this.match.length);return(je.length>20?"...":"")+je.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var je=this.match;return je.length<20&&(je+=this._input.substr(0,20-je.length)),(je.substr(0,20)+(je.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var je=this.pastInput(),Ie=new Array(je.length+1).join("-");return je+this.upcomingInput()+` +`+Ie+"^"},test_match:function(je,Ie){var Se,Ce,ke;if(this.options.backtrack_lexer&&(ke={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&&(ke.yylloc.range=this.yylloc.range.slice(0))),Ce=je[0].match(/(?:\r\n?|\n).*/g),Ce&&(this.yylineno+=Ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ce?Ce[Ce.length-1].length-Ce[Ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+je[0].length},this.yytext+=je[0],this.match+=je[0],this.matches=je,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(je[0].length),this.matched+=je[0],Se=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Se)return Se;if(this._backtrack){for(var Ke in ke)this[Ke]=ke[Ke];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var je,Ie,Se,Ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),Ke=0;KeIe[0].length)){if(Ie=Se,Ce=Ke,this.options.backtrack_lexer){if(je=this.test_match(Se,ke[Ke]),je!==!1)return je;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(je=this.test_match(Ie,ke[Ce]),je!==!1?je:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ie=this.next();return Ie||this.lex()},begin:function(Ie){this.conditionStack.push(Ie)},popState:function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},pushState:function(Ie){this.begin(Ie)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ie,Se,Ce,ke){switch(Ce){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ 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,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Pe}();xe.lexer=U;function Fe(){this.yy={}}return Fe.prototype=xe,xe.Parser=Fe,new Fe}();dve.parser=dve;const $nn=dve;function fGe(i){return i.type==="bar"}function dGe(i){return i.type==="band"}function $R(i){return i.type==="linear"}class gGe{constructor(s){this.parentGroup=s}getMaxDimension(s,u){if(!this.parentGroup)return{width:s.reduce((v,b)=>Math.max(b.length,v),0)*u,height:u};const d={width:0,height:0},p=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",u);for(const v of s){const b=RZt(p,1,v),y=b?b.width:v.length*u,T=b?b.height:u;d.width=Math.max(d.width,y),d.height=Math.max(d.height,T)}return p.remove(),d}}const pGe=.7,bGe=.2;class mGe{constructor(s,u,d,p){this.axisConfig=s,this.title=u,this.textDimensionCalculator=d,this.axisThemeConfig=p,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"}setRange(s){this.range=s,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=s[1]-s[0]:this.boundingRect.width=s[1]-s[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(s){this.axisPosition=s,this.setRange(this.range)}getTickDistance(){const s=this.getRange();return Math.abs(s[0]-s[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(s=>s.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){pGe*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(pGe*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(s){let u=s.height;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=bGe*s.width;this.outerPadding=Math.min(d.width/2,p);const v=d.height+this.axisConfig.labelPadding*2;this.labelTextHeight=d.height,v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=s.width,this.boundingRect.height=s.height-u}calculateSpaceIfDrawnVertical(s){let u=s.width;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=bGe*s.height;this.outerPadding=Math.min(d.height/2,p);const v=d.width+this.axisConfig.labelPadding*2;v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=s.width-u,this.boundingRect.height=s.height}calculateSpace(s){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(s):this.calculateSpaceIfDrawnHorizontally(s),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}getDrawableElementsForLeftAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${u},${this.boundingRect.y} L ${u},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(u=>({text:u.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(u),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const u=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);s.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${u},${this.getScaleValue(d)} L ${u-this.axisConfig.tickLength},${this.getScaleValue(d)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}getDrawableElementsForBottomAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.y+this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const u=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);s.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u} L ${this.getScaleValue(d)},${u+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}getDrawableElementsForTopAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),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){const u=this.boundingRect.y;s.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(d)},${u+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}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():[]}}class znn extends mGe{constructor(s,u,d,p,v){super(s,p,v,u),this.categories=d,this.scale=qpe().domain(this.categories).range(this.getRange())}setRange(s){super.setRange(s)}recalculateScale(){this.scale=qpe().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(s){return this.scale(s)||this.getRange()[0]}}class qnn extends mGe{constructor(s,u,d,p,v){super(s,p,v,u),this.domain=d,this.scale=sD().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const s=[...this.domain];this.axisPosition==="left"&&s.reverse(),this.scale=sD().domain(s).range(this.getRange())}getScaleValue(s){return this.scale(s)}}function vGe(i,s,u,d){const p=new gGe(d);return dGe(i)?new znn(s,u,i.categories,i.title,p):new qnn(s,u,[i.min,i.max],i.title,p)}class Hnn{constructor(s,u,d,p){this.textDimensionCalculator=s,this.chartConfig=u,this.chartData=d,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}calculateSpace(s){const u=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),d=Math.max(u.width,s.width),p=u.height+2*this.chartConfig.titlePadding;return u.width<=d&&u.height<=p&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=d,this.boundingRect.height=p,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const s=[];return this.showChartTitle&&s.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}]}),s}}function Vnn(i,s,u,d){const p=new gGe(d);return new Hnn(p,i,s,u)}class Unn{constructor(s,u,d,p,v){this.plotData=s,this.xAxis=u,this.yAxis=d,this.orientation=p,this.plotIndex=v}getDrawableElement(){const s=this.plotData.data.map(d=>[this.xAxis.getScaleValue(d[0]),this.yAxis.getScaleValue(d[1])]);let u;return this.orientation==="horizontal"?u=k7().y(d=>d[0]).x(d=>d[1])(s):u=k7().x(d=>d[0]).y(d=>d[1])(s),u?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:u,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class Gnn{constructor(s,u,d,p,v,b){this.barData=s,this.boundingRect=u,this.xAxis=d,this.yAxis=p,this.orientation=v,this.plotIndex=b}getDrawableElement(){const s=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),u=.05,d=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-u),p=d/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:s.map(v=>({x:this.boundingRect.x,y:v[0]-p,height:d,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:s.map(v=>({x:v[0]-p,y:v[1],width:d,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class Knn{constructor(s,u,d){this.chartConfig=s,this.chartData=u,this.chartThemeConfig=d,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(s,u){this.xAxis=s,this.yAxis=u}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}calculateSpace(s){return this.boundingRect.width=s.width,this.boundingRect.height=s.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const s=[];for(const[u,d]of this.chartData.plots.entries())switch(d.type){case"line":{const p=new Unn(d,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);s.push(...p.getDrawableElement())}break;case"bar":{const p=new Gnn(d,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);s.push(...p.getDrawableElement())}break}return s}}function Wnn(i,s,u){return new Knn(i,s,u)}class Ynn{constructor(s,u,d,p){this.chartConfig=s,this.chartData=u,this.componentStore={title:Vnn(s,u,d,p),plot:Wnn(s,u,d),xAxis:vGe(u.xAxis,s.xAxis,{titleColor:d.xAxisTitleColor,labelColor:d.xAxisLabelColor,tickColor:d.xAxisTickColor,axisLineColor:d.xAxisLineColor},p),yAxis:vGe(u.yAxis,s.yAxis,{titleColor:d.yAxisTitleColor,labelColor:d.yAxisLabelColor,tickColor:d.yAxisTickColor,axisLineColor:d.yAxisLineColor},p)}}calculateVerticalSpace(){let s=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=Math.floor(s*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),y=this.componentStore.plot.calculateSpace({width:v,height:b});s-=y.width,u-=y.height,y=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),p=y.height,u-=y.height,this.componentStore.xAxis.setAxisPosition("bottom"),y=this.componentStore.xAxis.calculateSpace({width:s,height:u}),u-=y.height,this.componentStore.yAxis.setAxisPosition("left"),y=this.componentStore.yAxis.calculateSpace({width:s,height:u}),d=y.width,s-=y.width,s>0&&(v+=s,s=0),u>0&&(b+=u,u=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:d,y:p}),this.componentStore.xAxis.setRange([d,d+v]),this.componentStore.xAxis.setBoundingBoxXY({x:d,y:p+b}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:p}),this.chartData.plots.some(T=>fGe(T))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let s=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=0,b=Math.floor(s*this.chartConfig.plotReservedSpacePercent/100),y=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),T=this.componentStore.plot.calculateSpace({width:b,height:y});s-=T.width,u-=T.height,T=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),d=T.height,u-=T.height,this.componentStore.xAxis.setAxisPosition("left"),T=this.componentStore.xAxis.calculateSpace({width:s,height:u}),s-=T.width,p=T.width,this.componentStore.yAxis.setAxisPosition("top"),T=this.componentStore.yAxis.calculateSpace({width:s,height:u}),u-=T.height,v=d+T.height,s>0&&(b+=s,s=0),u>0&&(y+=u,u=0),this.componentStore.plot.calculateSpace({width:b,height:y}),this.componentStore.plot.setBoundingBoxXY({x:p,y:v}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:p,y:d}),this.componentStore.xAxis.setRange([v,v+y]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>fGe(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const s=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const u of Object.values(this.componentStore))s.push(...u.getDrawableElements());return s}}class Xnn{static build(s,u,d,p){return new Ynn(s,u,d,p).getDrawableElement()}}let zR=0,wGe,qR=xGe(),HR=yGe(),el=kGe(),gve=HR.plotColorPalette.split(",").map(i=>i.trim()),gJ=!1,pve=!1;function yGe(){const i=f2e(),s=Vh();return JF(i.xyChart,s.themeVariables.xyChart)}function xGe(){const i=Vh();return JF(sh.xyChart,i.xyChart)}function kGe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function bve(i){const s=Vh();return Yf(i.trim(),s)}function Qnn(i){wGe=i}function Jnn(i){i==="horizontal"?qR.chartOrientation="horizontal":qR.chartOrientation="vertical"}function Znn(i){el.xAxis.title=bve(i.text)}function EGe(i,s){el.xAxis={type:"linear",title:el.xAxis.title,min:i,max:s},gJ=!0}function ern(i){el.xAxis={type:"band",title:el.xAxis.title,categories:i.map(s=>bve(s.text))},gJ=!0}function trn(i){el.yAxis.title=bve(i.text)}function nrn(i,s){el.yAxis={type:"linear",title:el.yAxis.title,min:i,max:s},pve=!0}function rrn(i){const s=Math.min(...i),u=Math.max(...i),d=$R(el.yAxis)?el.yAxis.min:1/0,p=$R(el.yAxis)?el.yAxis.max:-1/0;el.yAxis={type:"linear",title:el.yAxis.title,min:Math.min(d,s),max:Math.max(p,u)}}function TGe(i){let s=[];if(i.length===0)return s;if(!gJ){const u=$R(el.xAxis)?el.xAxis.min:1/0,d=$R(el.xAxis)?el.xAxis.max:-1/0;EGe(Math.min(u,1),Math.max(d,i.length))}if(pve||rrn(i),dGe(el.xAxis)&&(s=el.xAxis.categories.map((u,d)=>[u,i[d]])),$R(el.xAxis)){const u=el.xAxis.min,d=el.xAxis.max,p=(d-u+1)/i.length,v=[];for(let b=u;b<=d;b+=p)v.push(`${b}`);s=v.map((b,y)=>[b,i[y]])}return s}function CGe(i){return gve[i===0?0:i%gve.length]}function irn(i,s){const u=TGe(s);el.plots.push({type:"line",strokeFill:CGe(zR),strokeWidth:2,data:u}),zR++}function srn(i,s){const u=TGe(s);el.plots.push({type:"bar",fill:CGe(zR),data:u}),zR++}function arn(){if(el.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return el.title=Ap(),Xnn.build(qR,el,HR,wGe)}function orn(){return HR}function crn(){return qR}const urn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:$nn,db:{getDrawableElem:arn,clear:function(){Pg(),zR=0,qR=xGe(),el=kGe(),HR=yGe(),gve=HR.plotColorPalette.split(",").map(i=>i.trim()),gJ=!1,pve=!1},setAccTitle:Bg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,getAccDescription:_p,setAccDescription:Sp,setOrientation:Jnn,setXAxisTitle:Znn,setXAxisRangeData:EGe,setXAxisBand:ern,setYAxisTitle:trn,setYAxisRangeData:nrn,setLineData:irn,setBarData:srn,setTmpSVGG:Qnn,getChartThemeConfig:orn,getChartConfig:crn},renderer:{draw:(i,s,u,d)=>{const p=d.db,v=p.getChartThemeConfig(),b=p.getChartConfig();function y(ee){return ee==="top"?"text-before-edge":"middle"}function T(ee){return ee==="left"?"start":ee==="right"?"end":"middle"}function _(ee){return`translate(${ee.x}, ${ee.y}) rotate(${ee.rotation||0})`}Xe.debug(`Rendering xychart chart +`+i);const A=rR(s),P=A.append("g").attr("class","main"),R=P.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");Ng(A,b.height,b.width,!0),A.attr("viewBox",`0 0 ${b.width} ${b.height}`),R.attr("fill",v.backgroundColor),p.setTmpSVGG(A.append("g").attr("class","mermaid-tmp-group"));const F=p.getDrawableElem(),j={};function K(ee){let ie=P,oe="";for(const[pe]of ee.entries()){let be=P;pe>0&&j[oe]&&(be=j[oe]),oe+=ee[pe],ie=j[oe],ie||(ie=j[oe]=be.append("g").attr("class",ee[pe]))}return ie}for(const ee of F){if(ee.data.length===0)continue;const ie=K(ee.groupTexts);switch(ee.type){case"rect":ie.selectAll("rect").data(ee.data).enter().append("rect").attr("x",oe=>oe.x).attr("y",oe=>oe.y).attr("width",oe=>oe.width).attr("height",oe=>oe.height).attr("fill",oe=>oe.fill).attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break;case"text":ie.selectAll("text").data(ee.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",oe=>oe.fill).attr("font-size",oe=>oe.fontSize).attr("dominant-baseline",oe=>y(oe.verticalPos)).attr("text-anchor",oe=>T(oe.horizontalPos)).attr("transform",oe=>_(oe)).text(oe=>oe.text);break;case"path":ie.selectAll("path").data(ee.data).enter().append("path").attr("d",oe=>oe.path).attr("fill",oe=>oe.fill?oe.fill:"none").attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var mve=function(){var i=function(_t,Et,Gt,ln){for(Gt=Gt||{},ln=_t.length;ln--;Gt[_t[ln]]=Et);return Gt},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],y=[2,7],T=[1,22],_=[1,23],A=[1,24],P=[1,25],R=[1,26],F=[1,27],j=[1,20],K=[1,28],ee=[1,29],ie=[62,63],oe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pe=[1,47],be=[1,48],ae=[1,49],ne=[1,50],se=[1,51],de=[1,52],X=[1,53],ge=[53,54],W=[1,64],xe=[1,60],U=[1,61],Fe=[1,62],Pe=[1,63],je=[1,65],Ie=[1,69],Se=[1,70],Ce=[1,67],ke=[1,68],Ke=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Ft={trace:function(){},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,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$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",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"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],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(Et,Gt,ln,xt,Pt,Qe,Dt){var kt=Qe.length-1;switch(Pt){case 4:this.$=Qe[kt].trim(),xt.setAccTitle(this.$);break;case 5:case 6:this.$=Qe[kt].trim(),xt.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:xt.addRequirement(Qe[kt-3],Qe[kt-4]);break;case 14:xt.setNewReqId(Qe[kt-2]);break;case 15:xt.setNewReqText(Qe[kt-2]);break;case 16:xt.setNewReqRisk(Qe[kt-2]);break;case 17:xt.setNewReqVerifyMethod(Qe[kt-2]);break;case 20:this.$=xt.RequirementType.REQUIREMENT;break;case 21:this.$=xt.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=xt.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=xt.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=xt.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=xt.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=xt.RiskLevel.LOW_RISK;break;case 27:this.$=xt.RiskLevel.MED_RISK;break;case 28:this.$=xt.RiskLevel.HIGH_RISK;break;case 29:this.$=xt.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=xt.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=xt.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=xt.VerifyType.VERIFY_TEST;break;case 33:xt.addElement(Qe[kt-3]);break;case 34:xt.setNewElementType(Qe[kt-2]);break;case 35:xt.setNewElementDocRef(Qe[kt-2]);break;case 38:xt.addRelationship(Qe[kt-2],Qe[kt],Qe[kt-4]);break;case 39:xt.addRelationship(Qe[kt-2],Qe[kt-4],Qe[kt]);break;case 40:this.$=xt.Relationships.CONTAINS;break;case 41:this.$=xt.Relationships.COPIES;break;case 42:this.$=xt.Relationships.DERIVES;break;case 43:this.$=xt.Relationships.SATISFIES;break;case 44:this.$=xt.Relationships.VERIFIES;break;case 45:this.$=xt.Relationships.REFINES;break;case 46:this.$=xt.Relationships.TRACES;break}},table:[{3:1,4:2,6:s,9:u,11:d,13:p},{1:[3]},{3:8,4:2,5:[1,7],6:s,9:u,11:d,13:p},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:s,9:u,11:d,13:p},{1:[2,2]},{4:17,5:b,7:13,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{4:17,5:b,7:32,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{4:17,5:b,7:33,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{4:17,5:b,7:34,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{4:17,5:b,7:35,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(ie,[2,20]),i(ie,[2,21]),i(ie,[2,22]),i(ie,[2,23]),i(ie,[2,24]),i(ie,[2,25]),i(oe,[2,49]),i(oe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:pe,56:be,57:ae,58:ne,59:se,60:de,61:X},{52:54,55:pe,56:be,57:ae,58:ne,59:se,60:de,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(ge,[2,40]),i(ge,[2,41]),i(ge,[2,42]),i(ge,[2,43]),i(ge,[2,44]),i(ge,[2,45]),i(ge,[2,46]),{54:[1,58]},{5:W,20:59,21:xe,24:U,26:Fe,28:Pe,30:je},{5:Ie,30:Se,46:66,47:Ce,49:ke},{23:71,62:K,63:ee},{23:72,62:K,63:ee},i(Ke,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:W,20:77,21:xe,24:U,26:Fe,28:Pe,30:je},i(Ke,[2,19]),i(Ke,[2,33]),{22:[1,78]},{22:[1,79]},{5:Ie,30:Se,46:80,47:Ce,49:ke},i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),{23:81,62:K,63:ee},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Ke,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ke,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:W,20:106,21:xe,24:U,26:Fe,28:Pe,30:je},{5:W,20:107,21:xe,24:U,26:Fe,28:Pe,30:je},{5:W,20:108,21:xe,24:U,26:Fe,28:Pe,30:je},{5:W,20:109,21:xe,24:U,26:Fe,28:Pe,30:je},{5:Ie,30:Se,46:110,47:Ce,49:ke},{5:Ie,30:Se,46:111,47:Ce,49:ke},i(Ke,[2,14]),i(Ke,[2,15]),i(Ke,[2,16]),i(Ke,[2,17]),i(Ke,[2,34]),i(Ke,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(Et,Gt){if(Gt.recoverable)this.trace(Et);else{var ln=new Error(Et);throw ln.hash=Gt,ln}},parse:function(Et){var Gt=this,ln=[0],xt=[],Pt=[null],Qe=[],Dt=this.table,kt="",On=0,ht=0,zr=2,yt=1,ji=Qe.slice.call(arguments,1),xi=Object.create(this.lexer),Ma={yy:{}};for(var zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zs)&&(Ma.yy[zs]=this.yy[zs]);xi.setInput(Et,Ma.yy),Ma.yy.lexer=xi,Ma.yy.parser=this,typeof xi.yylloc>"u"&&(xi.yylloc={});var ao=xi.yylloc;Qe.push(ao);var Tr=xi.options&&xi.options.ranges;typeof Ma.yy.parseError=="function"?this.parseError=Ma.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fn(){var Pa;return Pa=xt.pop()||xi.lex()||yt,typeof Pa!="number"&&(Pa instanceof Array&&(xt=Pa,Pa=xt.pop()),Pa=Gt.symbols_[Pa]||Pa),Pa}for(var qn,Un,At,wt,on={},fn,An,oo,jo;;){if(Un=ln[ln.length-1],this.defaultActions[Un]?At=this.defaultActions[Un]:((qn===null||typeof qn>"u")&&(qn=Fn()),At=Dt[Un]&&Dt[Un][qn]),typeof At>"u"||!At.length||!At[0]){var $o="";jo=[];for(fn in Dt[Un])this.terminals_[fn]&&fn>zr&&jo.push("'"+this.terminals_[fn]+"'");xi.showPosition?$o="Parse error on line "+(On+1)+`: +`+xi.showPosition()+` +Expecting `+jo.join(", ")+", got '"+(this.terminals_[qn]||qn)+"'":$o="Parse error on line "+(On+1)+": Unexpected "+(qn==yt?"end of input":"'"+(this.terminals_[qn]||qn)+"'"),this.parseError($o,{text:xi.match,token:this.terminals_[qn]||qn,line:xi.yylineno,loc:ao,expected:jo})}if(At[0]instanceof Array&&At.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Un+", token: "+qn);switch(At[0]){case 1:ln.push(qn),Pt.push(xi.yytext),Qe.push(xi.yylloc),ln.push(At[1]),qn=null,ht=xi.yyleng,kt=xi.yytext,On=xi.yylineno,ao=xi.yylloc;break;case 2:if(An=this.productions_[At[1]][1],on.$=Pt[Pt.length-An],on._$={first_line:Qe[Qe.length-(An||1)].first_line,last_line:Qe[Qe.length-1].last_line,first_column:Qe[Qe.length-(An||1)].first_column,last_column:Qe[Qe.length-1].last_column},Tr&&(on._$.range=[Qe[Qe.length-(An||1)].range[0],Qe[Qe.length-1].range[1]]),wt=this.performAction.apply(on,[kt,ht,On,Ma.yy,At[1],Pt,Qe].concat(ji)),typeof wt<"u")return wt;An&&(ln=ln.slice(0,-1*An*2),Pt=Pt.slice(0,-1*An),Qe=Qe.slice(0,-1*An)),ln.push(this.productions_[At[1]][0]),Pt.push(on.$),Qe.push(on._$),oo=Dt[ln[ln.length-2]][ln[ln.length-1]],ln.push(oo);break;case 3:return!0}}return!0}},Ne=function(){var _t={EOF:1,parseError:function(Gt,ln){if(this.yy.parser)this.yy.parser.parseError(Gt,ln);else throw new Error(Gt)},setInput:function(Et,Gt){return this.yy=Gt||this.yy||{},this._input=Et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Gt=Et.match(/(?:\r\n?|\n).*/g);return Gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Gt=Et.length,ln=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Gt),this.offset-=Gt;var xt=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),ln.length-1&&(this.yylineno-=ln.length-1);var Pt=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:ln?(ln.length===xt.length?this.yylloc.first_column:0)+xt[xt.length-ln.length].length-ln[0].length:this.yylloc.first_column-Gt},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-Gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Gt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+Gt+"^"},test_match:function(Et,Gt){var ln,xt,Pt;if(this.options.backtrack_lexer&&(Pt={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&&(Pt.yylloc.range=this.yylloc.range.slice(0))),xt=Et[0].match(/(?:\r\n?|\n).*/g),xt&&(this.yylineno+=xt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xt?xt[xt.length-1].length-xt[xt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],ln=this.performAction.call(this,this.yy,this,Gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ln)return ln;if(this._backtrack){for(var Qe in Pt)this[Qe]=Pt[Qe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Gt,ln,xt;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),Qe=0;QeGt[0].length)){if(Gt=ln,xt=Qe,this.options.backtrack_lexer){if(Et=this.test_match(ln,Pt[Qe]),Et!==!1)return Et;if(this._backtrack){Gt=!1;continue}else return!1}else if(!this.options.flex)break}return Gt?(Et=this.test_match(Gt,Pt[xt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Gt=this.next();return Gt||this.lex()},begin:function(Gt){this.conditionStack.push(Gt)},popState:function(){var Gt=this.conditionStack.length-1;return Gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Gt){return Gt=this.conditionStack.length-1-Math.abs(Gt||0),Gt>=0?this.conditionStack[Gt]:"INITIAL"},pushState:function(Gt){this.begin(Gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Gt,ln,xt,Pt){switch(xt){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return ln.yytext=ln.yytext.trim(),62}},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,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],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,50],inclusive:!0}}};return _t}();Ft.lexer=Ne;function gn(){this.yy={}}return gn.prototype=Ft,Ft.Parser=gn,new gn}();mve.parser=mve;const lrn=mve;let vve=[],V2={},VR={},F9={},UR={};const hrn={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>qt().req,addRequirement:(i,s)=>(VR[i]===void 0&&(VR[i]={name:i,type:s,id:V2.id,text:V2.text,risk:V2.risk,verifyMethod:V2.verifyMethod}),V2={},VR[i]),getRequirements:()=>VR,setNewReqId:i=>{V2!==void 0&&(V2.id=i)},setNewReqText:i=>{V2!==void 0&&(V2.text=i)},setNewReqRisk:i=>{V2!==void 0&&(V2.risk=i)},setNewReqVerifyMethod:i=>{V2!==void 0&&(V2.verifyMethod=i)},setAccTitle:Bg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addElement:i=>(UR[i]===void 0&&(UR[i]={name:i,type:F9.type,docRef:F9.docRef},Xe.info("Added new requirement: ",i)),F9={},UR[i]),getElements:()=>UR,setNewElementType:i=>{F9!==void 0&&(F9.type=i)},setNewElementDocRef:i=>{F9!==void 0&&(F9.docRef=i)},addRelationship:(i,s,u)=>{vve.push({type:i,src:s,dst:u})},getRelationships:()=>vve,clear:()=>{vve=[],V2={},VR={},F9={},UR={},Pg()}},frn=i=>` + + marker { + fill: ${i.relationColor}; + stroke: ${i.relationColor}; + } + + marker.cross { + stroke: ${i.lineColor}; + } + + svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + .reqBox { + fill: ${i.requirementBackground}; + fill-opacity: 1.0; + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${i.requirementTextColor}; + } + .reqLabelBox { + fill: ${i.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + .relationshipLine { + stroke: ${i.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${i.relationLabelColor}; + } + +`,wve={CONTAINS:"contains",ARROW:"arrow"},SGe={ReqMarkers:wve,insertLineEndings:(i,s)=>{let u=i.append("defs").append("marker").attr("id",wve.CONTAINS+"_line_ending").attr("refX",0).attr("refY",s.line_height/2).attr("markerWidth",s.line_height).attr("markerHeight",s.line_height).attr("orient","auto").append("g");u.append("circle").attr("cx",s.line_height/2).attr("cy",s.line_height/2).attr("r",s.line_height/2).attr("fill","none"),u.append("line").attr("x1",0).attr("x2",s.line_height).attr("y1",s.line_height/2).attr("y2",s.line_height/2).attr("stroke-width",1),u.append("line").attr("y1",0).attr("y2",s.line_height).attr("x1",s.line_height/2).attr("x2",s.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",wve.ARROW+"_line_ending").attr("refX",s.line_height).attr("refY",.5*s.line_height).attr("markerWidth",s.line_height).attr("markerHeight",s.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${s.line_height},${s.line_height/2} + M${s.line_height},${s.line_height/2} + L0,${s.line_height}`).attr("stroke-width",1)}};let Tf={},_Ge=0;const AGe=(i,s)=>i.insert("rect","#"+s).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Tf.rect_min_width+"px").attr("height",Tf.rect_min_height+"px"),LGe=(i,s,u)=>{let d=Tf.rect_min_width/2,p=i.append("text").attr("class","req reqLabel reqTitle").attr("id",s).attr("x",d).attr("y",Tf.rect_padding).attr("dominant-baseline","hanging"),v=0;u.forEach(_=>{v==0?p.append("tspan").attr("text-anchor","middle").attr("x",Tf.rect_min_width/2).attr("dy",0).text(_):p.append("tspan").attr("text-anchor","middle").attr("x",Tf.rect_min_width/2).attr("dy",Tf.line_height*.75).text(_),v++});let b=1.5*Tf.rect_padding,y=v*Tf.line_height*.75,T=b+y;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Tf.rect_min_width).attr("y1",T).attr("y2",T),{titleNode:p,y:T}},MGe=(i,s,u,d)=>{let p=i.append("text").attr("class","req reqLabel").attr("id",s).attr("x",Tf.rect_padding).attr("y",d).attr("dominant-baseline","hanging"),v=0;const b=30;let y=[];return u.forEach(T=>{let _=T.length;for(;_>b&&v<3;){let A=T.substring(0,b);T=T.substring(b,T.length),_=T.length,y[y.length]=A,v++}if(v==3){let A=y[y.length-1];y[y.length-1]=A.substring(0,A.length-4)+"..."}else y[y.length]=T;v=0}),y.forEach(T=>{p.append("tspan").attr("x",Tf.rect_padding).attr("dy",Tf.line_height).text(T)}),p},drn=(i,s,u,d)=>{const p=s.node().getTotalLength(),v=s.node().getPointAtLength(p*.5),b="rel"+_Ge;_Ge++;const T=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-T.width/2).attr("y",v.y-T.height/2).attr("width",T.width).attr("height",T.height).attr("fill","white").attr("fill-opacity","85%")},grn=function(i,s,u,d,p){const v=u.edge(WD(s.src),WD(s.dst)),b=k7().x(function(T){return T.x}).y(function(T){return T.y}),y=i.insert("path","#"+d).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");s.type==p.db.Relationships.CONTAINS?y.attr("marker-start","url("+ci.getUrl(Tf.arrowMarkerAbsolute)+"#"+s.type+"_line_ending)"):(y.attr("stroke-dasharray","10,7"),y.attr("marker-end","url("+ci.getUrl(Tf.arrowMarkerAbsolute)+"#"+SGe.ReqMarkers.ARROW+"_line_ending)")),drn(i,y,Tf,`<<${s.type}>>`)},prn=(i,s,u)=>{Object.keys(i).forEach(d=>{let p=i[d];d=WD(d),Xe.info("Added new requirement: ",d);const v=u.append("g").attr("id",d),b="req-"+d,y=AGe(v,b);let T=LGe(v,d+"_title",[`<<${p.type}>>`,`${p.name}`]);MGe(v,d+"_body",[`Id: ${p.id}`,`Text: ${p.text}`,`Risk: ${p.risk}`,`Verification: ${p.verifyMethod}`],T.y);const _=y.node().getBBox();s.setNode(d,{width:_.width,height:_.height,shape:"rect",id:d})})},brn=(i,s,u)=>{Object.keys(i).forEach(d=>{let p=i[d];const v=WD(d),b=u.append("g").attr("id",v),y="element-"+v,T=AGe(b,y);let _=LGe(b,y+"_title",["<>",`${d}`]);MGe(b,y+"_body",[`Type: ${p.type||"Not Specified"}`,`Doc Ref: ${p.docRef||"None"}`],_.y);const A=T.node().getBBox();s.setNode(v,{width:A.width,height:A.height,shape:"rect",id:v})})},mrn=(i,s)=>(i.forEach(function(u){let d=WD(u.src),p=WD(u.dst);s.setEdge(d,p,{relationship:u})}),i),vrn=function(i,s){s.nodes().forEach(function(u){u!==void 0&&s.node(u)!==void 0&&(i.select("#"+u),i.select("#"+u).attr("transform","translate("+(s.node(u).x-s.node(u).width/2)+","+(s.node(u).y-s.node(u).height/2)+" )"))})},WD=i=>i.replace(/\s/g,"").replace(/\./g,"_"),wrn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lrn,db:hrn,renderer:{draw:(i,s,u,d)=>{Tf=qt().requirement;const p=Tf.securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const y=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${s}']`);SGe.insertLineEndings(y,Tf);const T=new B0({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Tf.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=d.db.getRequirements(),A=d.db.getElements(),P=d.db.getRelationships();prn(_,T,y),brn(A,T,y),mrn(P,T),qD(T),vrn(y,T),P.forEach(function(ee){grn(y,ee,T,s,d)});const R=Tf.rect_padding,F=y.node().getBBox(),j=F.width+R*2,K=F.height+R*2;Ng(y,K,j,Tf.useMaxWidth),y.attr("viewBox",`${F.x-R} ${F.y-R} ${j} ${K}`)}},styles:frn}},Symbol.toStringTag,{value:"Module"}));var yve=function(){var i=function(xt,Pt,Qe,Dt){for(Qe=Qe||{},Dt=xt.length;Dt--;Qe[xt[Dt]]=Pt);return Qe},s=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,13],T=[1,14],_=[1,16],A=[1,17],P=[1,18],R=[1,24],F=[1,25],j=[1,26],K=[1,27],ee=[1,28],ie=[1,29],oe=[1,30],pe=[1,31],be=[1,32],ae=[1,33],ne=[1,34],se=[1,35],de=[1,36],X=[1,37],ge=[1,38],W=[1,39],xe=[1,41],U=[1,42],Fe=[1,43],Pe=[1,44],je=[1,45],Ie=[1,46],Se=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ce=[4,5,16,50,52,53],ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Ne=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],gn=[68,69,70],_t=[1,120],Et={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(Pt,Qe,Dt,kt,On,ht,zr){var yt=ht.length-1;switch(On){case 3:return kt.apply(ht[yt]),ht[yt];case 4:case 9:this.$=[];break;case 5:case 10:ht[yt-1].push(ht[yt]),this.$=ht[yt-1];break;case 6:case 7:case 11:case 12:this.$=ht[yt];break;case 8:case 13:this.$=[];break;case 15:ht[yt].type="createParticipant",this.$=ht[yt];break;case 16:ht[yt-1].unshift({type:"boxStart",boxData:kt.parseBoxData(ht[yt-2])}),ht[yt-1].push({type:"boxEnd",boxText:ht[yt-2]}),this.$=ht[yt-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[yt-2]),sequenceIndexStep:Number(ht[yt-1]),sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[yt-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:kt.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:kt.LINETYPE.ACTIVE_START,actor:ht[yt-1]};break;case 23:this.$={type:"activeEnd",signalType:kt.LINETYPE.ACTIVE_END,actor:ht[yt-1]};break;case 29:kt.setDiagramTitle(ht[yt].substring(6)),this.$=ht[yt].substring(6);break;case 30:kt.setDiagramTitle(ht[yt].substring(7)),this.$=ht[yt].substring(7);break;case 31:this.$=ht[yt].trim(),kt.setAccTitle(this.$);break;case 32:case 33:this.$=ht[yt].trim(),kt.setAccDescription(this.$);break;case 34:ht[yt-1].unshift({type:"loopStart",loopText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.LOOP_START}),ht[yt-1].push({type:"loopEnd",loopText:ht[yt-2],signalType:kt.LINETYPE.LOOP_END}),this.$=ht[yt-1];break;case 35:ht[yt-1].unshift({type:"rectStart",color:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.RECT_START}),ht[yt-1].push({type:"rectEnd",color:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.RECT_END}),this.$=ht[yt-1];break;case 36:ht[yt-1].unshift({type:"optStart",optText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.OPT_START}),ht[yt-1].push({type:"optEnd",optText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.OPT_END}),this.$=ht[yt-1];break;case 37:ht[yt-1].unshift({type:"altStart",altText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.ALT_START}),ht[yt-1].push({type:"altEnd",signalType:kt.LINETYPE.ALT_END}),this.$=ht[yt-1];break;case 38:ht[yt-1].unshift({type:"parStart",parText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.PAR_START}),ht[yt-1].push({type:"parEnd",signalType:kt.LINETYPE.PAR_END}),this.$=ht[yt-1];break;case 39:ht[yt-1].unshift({type:"parStart",parText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.PAR_OVER_START}),ht[yt-1].push({type:"parEnd",signalType:kt.LINETYPE.PAR_END}),this.$=ht[yt-1];break;case 40:ht[yt-1].unshift({type:"criticalStart",criticalText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.CRITICAL_START}),ht[yt-1].push({type:"criticalEnd",signalType:kt.LINETYPE.CRITICAL_END}),this.$=ht[yt-1];break;case 41:ht[yt-1].unshift({type:"breakStart",breakText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.BREAK_START}),ht[yt-1].push({type:"breakEnd",optText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.BREAK_END}),this.$=ht[yt-1];break;case 43:this.$=ht[yt-3].concat([{type:"option",optionText:kt.parseMessage(ht[yt-1]),signalType:kt.LINETYPE.CRITICAL_OPTION},ht[yt]]);break;case 45:this.$=ht[yt-3].concat([{type:"and",parText:kt.parseMessage(ht[yt-1]),signalType:kt.LINETYPE.PAR_AND},ht[yt]]);break;case 47:this.$=ht[yt-3].concat([{type:"else",altText:kt.parseMessage(ht[yt-1]),signalType:kt.LINETYPE.ALT_ELSE},ht[yt]]);break;case 48:ht[yt-3].draw="participant",ht[yt-3].type="addParticipant",ht[yt-3].description=kt.parseMessage(ht[yt-1]),this.$=ht[yt-3];break;case 49:ht[yt-1].draw="participant",ht[yt-1].type="addParticipant",this.$=ht[yt-1];break;case 50:ht[yt-3].draw="actor",ht[yt-3].type="addParticipant",ht[yt-3].description=kt.parseMessage(ht[yt-1]),this.$=ht[yt-3];break;case 51:ht[yt-1].draw="actor",ht[yt-1].type="addParticipant",this.$=ht[yt-1];break;case 52:ht[yt-1].type="destroyParticipant",this.$=ht[yt-1];break;case 53:this.$=[ht[yt-1],{type:"addNote",placement:ht[yt-2],actor:ht[yt-1].actor,text:ht[yt]}];break;case 54:ht[yt-2]=[].concat(ht[yt-1],ht[yt-1]).slice(0,2),ht[yt-2][0]=ht[yt-2][0].actor,ht[yt-2][1]=ht[yt-2][1].actor,this.$=[ht[yt-1],{type:"addNote",placement:kt.PLACEMENT.OVER,actor:ht[yt-2].slice(0,2),text:ht[yt]}];break;case 55:this.$=[ht[yt-1],{type:"addLinks",actor:ht[yt-1].actor,text:ht[yt]}];break;case 56:this.$=[ht[yt-1],{type:"addALink",actor:ht[yt-1].actor,text:ht[yt]}];break;case 57:this.$=[ht[yt-1],{type:"addProperties",actor:ht[yt-1].actor,text:ht[yt]}];break;case 58:this.$=[ht[yt-1],{type:"addDetails",actor:ht[yt-1].actor,text:ht[yt]}];break;case 61:this.$=[ht[yt-2],ht[yt]];break;case 62:this.$=ht[yt];break;case 63:this.$=kt.PLACEMENT.LEFTOF;break;case 64:this.$=kt.PLACEMENT.RIGHTOF;break;case 65:this.$=[ht[yt-4],ht[yt-1],{type:"addMessage",from:ht[yt-4].actor,to:ht[yt-1].actor,signalType:ht[yt-3],msg:ht[yt],activate:!0},{type:"activeStart",signalType:kt.LINETYPE.ACTIVE_START,actor:ht[yt-1]}];break;case 66:this.$=[ht[yt-4],ht[yt-1],{type:"addMessage",from:ht[yt-4].actor,to:ht[yt-1].actor,signalType:ht[yt-3],msg:ht[yt]},{type:"activeEnd",signalType:kt.LINETYPE.ACTIVE_END,actor:ht[yt-4]}];break;case 67:this.$=[ht[yt-3],ht[yt-1],{type:"addMessage",from:ht[yt-3].actor,to:ht[yt-1].actor,signalType:ht[yt-2],msg:ht[yt]}];break;case 68:this.$={type:"addParticipant",actor:ht[yt]};break;case 69:this.$=kt.LINETYPE.SOLID_OPEN;break;case 70:this.$=kt.LINETYPE.DOTTED_OPEN;break;case 71:this.$=kt.LINETYPE.SOLID;break;case 72:this.$=kt.LINETYPE.DOTTED;break;case 73:this.$=kt.LINETYPE.SOLID_CROSS;break;case 74:this.$=kt.LINETYPE.DOTTED_CROSS;break;case 75:this.$=kt.LINETYPE.SOLID_POINT;break;case 76:this.$=kt.LINETYPE.DOTTED_POINT;break;case 77:this.$=kt.parseMessage(ht[yt].trim().substring(1));break}},table:[{3:1,4:s,5:u,6:d},{1:[3]},{3:5,4:s,5:u,6:d},{3:6,4:s,5:u,6:d},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:y,14:T,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},i(Se,[2,5]),{9:47,12:12,13:y,14:T,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},i(Se,[2,7]),i(Se,[2,8]),i(Se,[2,14]),{12:48,50:X,52:ge,53:W},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Ie},{22:55,70:Ie},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Se,[2,29]),i(Se,[2,30]),{32:[1,61]},{34:[1,62]},i(Se,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Ie},{22:72,70:Ie},{22:73,70:Ie},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Ie},{22:88,70:Ie},{22:89,70:Ie},{22:90,70:Ie},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Se,[2,6]),i(Se,[2,15]),i(Ce,[2,9],{10:91}),i(Se,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Se,[2,21]),{5:[1,95]},{5:[1,96]},i(Se,[2,24]),i(Se,[2,25]),i(Se,[2,26]),i(Se,[2,27]),i(Se,[2,28]),i(Se,[2,31]),i(Se,[2,32]),i(ke,p,{7:97}),i(ke,p,{7:98}),i(ke,p,{7:99}),i(Ke,p,{40:100,7:101}),i(Ft,p,{42:102,7:103}),i(Ft,p,{7:103,42:104}),i(Ne,p,{45:105,7:106}),i(ke,p,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Ie},i(gn,[2,69]),i(gn,[2,70]),i(gn,[2,71]),i(gn,[2,72]),i(gn,[2,73]),i(gn,[2,74]),i(gn,[2,75]),i(gn,[2,76]),{22:116,70:Ie},{22:118,58:117,70:Ie},{70:[2,63]},{70:[2,64]},{56:119,79:_t},{56:121,79:_t},{56:122,79:_t},{56:123,79:_t},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:ge,53:W},{5:[1,129]},i(Se,[2,19]),i(Se,[2,20]),i(Se,[2,22]),i(Se,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,130],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,131],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,132],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,46],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,49:[1,134],50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,44],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,48:[1,136],50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,42],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,47:[1,139],50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,140],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{15:[1,141]},i(Se,[2,49]),{15:[1,142]},i(Se,[2,51]),i(Se,[2,52]),{22:143,70:Ie},{22:144,70:Ie},{56:145,79:_t},{56:146,79:_t},{56:147,79:_t},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Se,[2,16]),i(Ce,[2,10]),{12:149,50:X,52:ge,53:W},i(Ce,[2,12]),i(Ce,[2,13]),i(Se,[2,18]),i(Se,[2,34]),i(Se,[2,35]),i(Se,[2,36]),i(Se,[2,37]),{15:[1,150]},i(Se,[2,38]),{15:[1,151]},i(Se,[2,39]),i(Se,[2,40]),{15:[1,152]},i(Se,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:_t},{56:156,79:_t},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Ie},i(Ce,[2,11]),i(Ke,p,{7:101,40:158}),i(Ft,p,{7:103,42:159}),i(Ne,p,{7:106,45:160}),i(Se,[2,48]),i(Se,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(Pt,Qe){if(Qe.recoverable)this.trace(Pt);else{var Dt=new Error(Pt);throw Dt.hash=Qe,Dt}},parse:function(Pt){var Qe=this,Dt=[0],kt=[],On=[null],ht=[],zr=this.table,yt="",ji=0,xi=0,Ma=2,zs=1,ao=ht.slice.call(arguments,1),Tr=Object.create(this.lexer),Fn={yy:{}};for(var qn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,qn)&&(Fn.yy[qn]=this.yy[qn]);Tr.setInput(Pt,Fn.yy),Fn.yy.lexer=Tr,Fn.yy.parser=this,typeof Tr.yylloc>"u"&&(Tr.yylloc={});var Un=Tr.yylloc;ht.push(Un);var At=Tr.options&&Tr.options.ranges;typeof Fn.yy.parseError=="function"?this.parseError=Fn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function wt(){var da;return da=kt.pop()||Tr.lex()||zs,typeof da!="number"&&(da instanceof Array&&(kt=da,da=kt.pop()),da=Qe.symbols_[da]||da),da}for(var on,fn,An,oo,jo={},$o,Pa,wo,_s;;){if(fn=Dt[Dt.length-1],this.defaultActions[fn]?An=this.defaultActions[fn]:((on===null||typeof on>"u")&&(on=wt()),An=zr[fn]&&zr[fn][on]),typeof An>"u"||!An.length||!An[0]){var tl="";_s=[];for($o in zr[fn])this.terminals_[$o]&&$o>Ma&&_s.push("'"+this.terminals_[$o]+"'");Tr.showPosition?tl="Parse error on line "+(ji+1)+`: +`+Tr.showPosition()+` +Expecting `+_s.join(", ")+", got '"+(this.terminals_[on]||on)+"'":tl="Parse error on line "+(ji+1)+": Unexpected "+(on==zs?"end of input":"'"+(this.terminals_[on]||on)+"'"),this.parseError(tl,{text:Tr.match,token:this.terminals_[on]||on,line:Tr.yylineno,loc:Un,expected:_s})}if(An[0]instanceof Array&&An.length>1)throw new Error("Parse Error: multiple actions possible at state: "+fn+", token: "+on);switch(An[0]){case 1:Dt.push(on),On.push(Tr.yytext),ht.push(Tr.yylloc),Dt.push(An[1]),on=null,xi=Tr.yyleng,yt=Tr.yytext,ji=Tr.yylineno,Un=Tr.yylloc;break;case 2:if(Pa=this.productions_[An[1]][1],jo.$=On[On.length-Pa],jo._$={first_line:ht[ht.length-(Pa||1)].first_line,last_line:ht[ht.length-1].last_line,first_column:ht[ht.length-(Pa||1)].first_column,last_column:ht[ht.length-1].last_column},At&&(jo._$.range=[ht[ht.length-(Pa||1)].range[0],ht[ht.length-1].range[1]]),oo=this.performAction.apply(jo,[yt,xi,ji,Fn.yy,An[1],On,ht].concat(ao)),typeof oo<"u")return oo;Pa&&(Dt=Dt.slice(0,-1*Pa*2),On=On.slice(0,-1*Pa),ht=ht.slice(0,-1*Pa)),Dt.push(this.productions_[An[1]][0]),On.push(jo.$),ht.push(jo._$),wo=zr[Dt[Dt.length-2]][Dt[Dt.length-1]],Dt.push(wo);break;case 3:return!0}}return!0}},Gt=function(){var xt={EOF:1,parseError:function(Qe,Dt){if(this.yy.parser)this.yy.parser.parseError(Qe,Dt);else throw new Error(Qe)},setInput:function(Pt,Qe){return this.yy=Qe||this.yy||{},this._input=Pt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Pt=this._input[0];this.yytext+=Pt,this.yyleng++,this.offset++,this.match+=Pt,this.matched+=Pt;var Qe=Pt.match(/(?:\r\n?|\n).*/g);return Qe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Pt},unput:function(Pt){var Qe=Pt.length,Dt=Pt.split(/(?:\r\n?|\n)/g);this._input=Pt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Qe),this.offset-=Qe;var kt=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),Dt.length-1&&(this.yylineno-=Dt.length-1);var On=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:Dt?(Dt.length===kt.length?this.yylloc.first_column:0)+kt[kt.length-Dt.length].length-Dt[0].length:this.yylloc.first_column-Qe},this.options.ranges&&(this.yylloc.range=[On[0],On[0]+this.yyleng-Qe]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Pt){this.unput(this.match.slice(Pt))},pastInput:function(){var Pt=this.matched.substr(0,this.matched.length-this.match.length);return(Pt.length>20?"...":"")+Pt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Pt=this.match;return Pt.length<20&&(Pt+=this._input.substr(0,20-Pt.length)),(Pt.substr(0,20)+(Pt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Pt=this.pastInput(),Qe=new Array(Pt.length+1).join("-");return Pt+this.upcomingInput()+` +`+Qe+"^"},test_match:function(Pt,Qe){var Dt,kt,On;if(this.options.backtrack_lexer&&(On={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&&(On.yylloc.range=this.yylloc.range.slice(0))),kt=Pt[0].match(/(?:\r\n?|\n).*/g),kt&&(this.yylineno+=kt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:kt?kt[kt.length-1].length-kt[kt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Pt[0].length},this.yytext+=Pt[0],this.match+=Pt[0],this.matches=Pt,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(Pt[0].length),this.matched+=Pt[0],Dt=this.performAction.call(this,this.yy,this,Qe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Dt)return Dt;if(this._backtrack){for(var ht in On)this[ht]=On[ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Pt,Qe,Dt,kt;this._more||(this.yytext="",this.match="");for(var On=this._currentRules(),ht=0;htQe[0].length)){if(Qe=Dt,kt=ht,this.options.backtrack_lexer){if(Pt=this.test_match(Dt,On[ht]),Pt!==!1)return Pt;if(this._backtrack){Qe=!1;continue}else return!1}else if(!this.options.flex)break}return Qe?(Pt=this.test_match(Qe,On[kt]),Pt!==!1?Pt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Qe=this.next();return Qe||this.lex()},begin:function(Qe){this.conditionStack.push(Qe)},popState:function(){var Qe=this.conditionStack.length-1;return Qe>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Qe){return Qe=this.conditionStack.length-1-Math.abs(Qe||0),Qe>=0?this.conditionStack[Qe]:"INITIAL"},pushState:function(Qe){this.begin(Qe)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Qe,Dt,kt,On){switch(kt){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("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return Dt.yytext=Dt.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return Dt.yytext=Dt.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return xt}();Et.lexer=Gt;function ln(){this.yy={}}return ln.prototype=Et,Et.Parser=ln,new ln}();yve.parser=yve;const yrn=yve;class xrn{constructor(s){this.init=s,this.records=this.init()}reset(){this.records=this.init()}}const Ds=new xrn(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),krn=function(i){Ds.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&JC()||!!i.wrap,fill:i.color,actorKeys:[]}),Ds.records.currentBox=Ds.records.boxes.slice(-1)[0]},xve=function(i,s,u,d){let p=Ds.records.currentBox;const v=Ds.records.actors[i];if(v){if(Ds.records.currentBox&&v.box&&Ds.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+Ds.records.currentBox.name+"' at the same time.");if(p=v.box?v.box:Ds.records.currentBox,v.box=p,v&&s===v.name&&u==null)return}(u==null||u.text==null)&&(u={text:s,wrap:null,type:d}),(d==null||u.text==null)&&(u={text:s,wrap:null,type:d}),Ds.records.actors[i]={box:p,name:s,description:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,prevActor:Ds.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:d||"participant"},Ds.records.prevActor&&Ds.records.actors[Ds.records.prevActor]&&(Ds.records.actors[Ds.records.prevActor].nextActor=i),Ds.records.currentBox&&Ds.records.currentBox.actorKeys.push(i),Ds.records.prevActor=i},Ern=i=>{let s,u=0;for(s=0;s>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return Ds.records.messages.push({from:i,to:s,message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,type:d,activate:p}),!0},Crn=function(){return Ds.records.boxes.length>0},Srn=function(){return Ds.records.boxes.some(i=>i.name)},_rn=function(){return Ds.records.messages},Arn=function(){return Ds.records.boxes},Lrn=function(){return Ds.records.actors},Mrn=function(){return Ds.records.createdActors},Drn=function(){return Ds.records.destroyedActors},GR=function(i){return Ds.records.actors[i]},Irn=function(){return Object.keys(Ds.records.actors)},Orn=function(){Ds.records.sequenceNumbersEnabled=!0},Nrn=function(){Ds.records.sequenceNumbersEnabled=!1},Prn=()=>Ds.records.sequenceNumbersEnabled,Brn=function(i){Ds.records.wrapEnabled=i},JC=()=>Ds.records.wrapEnabled!==void 0?Ds.records.wrapEnabled:qt().sequence.wrap,Frn=function(){Ds.reset(),Pg()},Rrn=function(i){const s=i.trim(),u={text:s.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:s.match(/^:?wrap:/)!==null?!0:s.match(/^:?nowrap:/)!==null?!1:void 0};return Xe.debug("parseMessage:",u),u},jrn=function(i){const s=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let u=s!=null&&s[1]?s[1].trim():"transparent",d=s!=null&&s[2]?s[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",u)||(u="transparent",d=i.trim());else{const p=new Option().style;p.color=u,p.color!==u&&(u="transparent",d=i.trim())}return{color:u,text:d!==void 0?Yf(d.replace(/^:?(?:no)?wrap:/,""),qt()):void 0,wrap:d!==void 0?d.match(/^:?wrap:/)!==null?!0:d.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},KR={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},$rn={FILLED:0,OPEN:1},zrn={LEFTOF:0,RIGHTOF:1,OVER:2},DGe=function(i,s,u){const d={actor:i,placement:s,message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap},p=[].concat(i,i);Ds.records.notes.push(d),Ds.records.messages.push({from:p[0],to:p[1],message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,type:KR.NOTE,placement:s})},IGe=function(i,s){const u=GR(i);try{let d=Yf(s.text,qt());d=d.replace(/&/g,"&"),d=d.replace(/=/g,"=");const p=JSON.parse(d);kve(u,p)}catch(d){Xe.error("error while parsing actor link text",d)}},qrn=function(i,s){const u=GR(i);try{const b={};let y=Yf(s.text,qt());var d=y.indexOf("@");y=y.replace(/&/g,"&"),y=y.replace(/=/g,"=");var p=y.slice(0,d-1).trim(),v=y.slice(d+1).trim();b[p]=v,kve(u,b)}catch(b){Xe.error("error while parsing actor link text",b)}};function kve(i,s){if(i.links==null)i.links=s;else for(let u in s)i.links[u]=s[u]}const OGe=function(i,s){const u=GR(i);try{let d=Yf(s.text,qt());const p=JSON.parse(d);NGe(u,p)}catch(d){Xe.error("error while parsing actor properties text",d)}};function NGe(i,s){if(i.properties==null)i.properties=s;else for(let u in s)i.properties[u]=s[u]}function Hrn(){Ds.records.currentBox=void 0}const PGe=function(i,s){const u=GR(i),d=document.getElementById(s.text);try{const p=d.innerHTML,v=JSON.parse(p);v.properties&&NGe(u,v.properties),v.links&&kve(u,v.links)}catch(p){Xe.error("error while parsing actor details text",p)}},Vrn=function(i,s){if(i!==void 0&&i.properties!==void 0)return i.properties[s]},BGe=function(i){if(Array.isArray(i))i.forEach(function(s){BGe(s)});else switch(i.type){case"sequenceIndex":Ds.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":xve(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(Ds.records.actors[i.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");Ds.records.lastCreated=i.actor,xve(i.actor,i.actor,i.description,i.draw),Ds.records.createdActors[i.actor]=Ds.records.messages.length;break;case"destroyParticipant":Ds.records.lastDestroyed=i.actor,Ds.records.destroyedActors[i.actor]=Ds.records.messages.length;break;case"activeStart":Jf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Jf(i.actor,void 0,void 0,i.signalType);break;case"addNote":DGe(i.actor,i.placement,i.text);break;case"addLinks":IGe(i.actor,i.text);break;case"addALink":qrn(i.actor,i.text);break;case"addProperties":OGe(i.actor,i.text);break;case"addDetails":PGe(i.actor,i.text);break;case"addMessage":if(Ds.records.lastCreated){if(i.to!==Ds.records.lastCreated)throw new Error("The created participant "+Ds.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");Ds.records.lastCreated=void 0}else if(Ds.records.lastDestroyed){if(i.to!==Ds.records.lastDestroyed&&i.from!==Ds.records.lastDestroyed)throw new Error("The destroyed participant "+Ds.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Ds.records.lastDestroyed=void 0}Jf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":krn(i.boxData);break;case"boxEnd":Hrn();break;case"loopStart":Jf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Jf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"optStart":Jf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"altStart":Jf(void 0,void 0,i.altText,i.signalType);break;case"else":Jf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":Bg(i.text);break;case"parStart":Jf(void 0,void 0,i.parText,i.signalType);break;case"and":Jf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Jf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Jf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Jf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Jf(void 0,void 0,void 0,i.signalType);break}},FGe={addActor:xve,addMessage:Trn,addSignal:Jf,addLinks:IGe,addDetails:PGe,addProperties:OGe,autoWrap:JC,setWrap:Brn,enableSequenceNumbers:Orn,disableSequenceNumbers:Nrn,showSequenceNumbers:Prn,getMessages:_rn,getActors:Lrn,getCreatedActors:Mrn,getDestroyedActors:Drn,getActor:GR,getActorKeys:Irn,getActorProperty:Vrn,getAccTitle:Cp,getBoxes:Arn,getDiagramTitle:Ap,setDiagramTitle:cm,getConfig:()=>qt().sequence,clear:Frn,parseMessage:Rrn,parseBoxData:jrn,LINETYPE:KR,ARROWTYPE:$rn,PLACEMENT:zrn,addNote:DGe,setAccTitle:Bg,apply:BGe,setAccDescription:Sp,getAccDescription:_p,hasAtLeastOneBox:Crn,hasAtLeastOneBoxWithTitle:Srn},Urn=i=>`.actor { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + + text.actor > tspan { + fill: ${i.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${i.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${i.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${i.signalColor}; + } + + #arrowhead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .sequenceNumber { + fill: ${i.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${i.signalColor}; + } + + #crosshead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .messageText { + fill: ${i.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${i.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${i.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${i.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation1 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation2 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${i.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + .actor-man circle, line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + stroke-width: 2px; + } +`,ZC=18*2,RGe="actor-top",jGe="actor-bottom",Eve=function(i,s){return AQ(i,s)},Grn=function(i,s,u,d,p){if(s.links===void 0||s.links===null||Object.keys(s.links).length===0)return{height:0,width:0};const v=s.links,b=s.actorCnt,y=s.rectData;var T="none";p&&(T="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",T);var A="";y.class!==void 0&&(A=" "+y.class);let P=y.width>u?y.width:u;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+A),R.attr("x",y.x),R.attr("y",y.height),R.attr("fill",y.fill),R.attr("stroke",y.stroke),R.attr("width",P),R.attr("height",y.height),R.attr("rx",y.rx),R.attr("ry",y.ry),v!=null){var F=20;for(let ee in v){var j=_.append("a"),K=p9.sanitizeUrl(v[ee]);j.attr("xlink:href",K),j.attr("target","_blank"),uin(d)(ee,j,y.x+10,y.height+F,P,20,{class:"actor"},d),F+=30}}return R.attr("height",F),{height:y.height+F,width:P}},Krn=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},pJ=async function(i,s,u=null){let d=i.append("foreignObject");const p=await CC(s.text,Vh()),b=d.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(p).node().getBoundingClientRect();if(d.attr("height",Math.round(b.height)).attr("width",Math.round(b.width)),s.class==="noteText"){const y=i.node().firstChild;y.setAttribute("height",b.height+2*s.textMargin);const T=y.getBBox();d.attr("x",Math.round(T.x+T.width/2-b.width/2)).attr("y",Math.round(T.y+T.height/2-b.height/2))}else if(u){let{startx:y,stopx:T,starty:_}=u;if(y>T){const A=y;y=T,T=A}d.attr("x",Math.round(y+Math.abs(y-T)/2-b.width/2)),s.class==="loopText"?d.attr("y",Math.round(_)):d.attr("y",Math.round(_-b.height))}return[d]},YD=function(i,s){let u=0,d=0;const p=s.text.split(ci.lineBreakRegex),[v,b]=NC(s.fontSize);let y=[],T=0,_=()=>s.y;if(s.valign!==void 0&&s.textMargin!==void 0&&s.textMargin>0)switch(s.valign){case"top":case"start":_=()=>Math.round(s.y+s.textMargin);break;case"middle":case"center":_=()=>Math.round(s.y+(u+d+s.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(s.y+(u+d+2*s.textMargin)-s.textMargin);break}if(s.anchor!==void 0&&s.textMargin!==void 0&&s.width!==void 0)switch(s.anchor){case"left":case"start":s.x=Math.round(s.x+s.textMargin),s.anchor="start",s.dominantBaseline="middle",s.alignmentBaseline="middle";break;case"middle":case"center":s.x=Math.round(s.x+s.width/2),s.anchor="middle",s.dominantBaseline="middle",s.alignmentBaseline="middle";break;case"right":case"end":s.x=Math.round(s.x+s.width-s.textMargin),s.anchor="end",s.dominantBaseline="middle",s.alignmentBaseline="middle";break}for(let[A,P]of p.entries()){s.textMargin!==void 0&&s.textMargin===0&&v!==void 0&&(T=A*v);const R=i.append("text");R.attr("x",s.x),R.attr("y",_()),s.anchor!==void 0&&R.attr("text-anchor",s.anchor).attr("dominant-baseline",s.dominantBaseline).attr("alignment-baseline",s.alignmentBaseline),s.fontFamily!==void 0&&R.style("font-family",s.fontFamily),b!==void 0&&R.style("font-size",b),s.fontWeight!==void 0&&R.style("font-weight",s.fontWeight),s.fill!==void 0&&R.attr("fill",s.fill),s.class!==void 0&&R.attr("class",s.class),s.dy!==void 0?R.attr("dy",s.dy):T!==0&&R.attr("dy",T);const F=P||hje;if(s.tspan){const j=R.append("tspan");j.attr("x",s.x),s.fill!==void 0&&j.attr("fill",s.fill),j.text(F)}else R.text(F);s.valign!==void 0&&s.textMargin!==void 0&&s.textMargin>0&&(d+=(R._groups||R)[0][0].getBBox().height,u=d),y.push(R)}return y},$Ge=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");return d.attr("points",u(s.x,s.y,s.width,s.height,7)),d.attr("class","labelBox"),s.y=s.y+s.height/2,YD(i,s),d};let s5=-1;const zGe=(i,s,u,d)=>{i.select&&u.forEach(p=>{const v=s[p],b=i.select("#actor"+v.actorCnt);!d.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):d.mirrorActors&&b.attr("y2",v.stopy)})},Wrn=async function(i,s,u,d){const p=d?s.stopy:s.starty,v=s.x+s.width/2,b=p+5,y=i.append("g").lower();var T=y;d||(s5++,Object.keys(s.links||{}).length&&!u.forceMenus&&T.attr("onclick",Krn(`actor${s5}_popup`)).attr("cursor","pointer"),T.append("line").attr("id","actor"+s5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),T=y.append("g"),s.actorCnt=s5,s.links!=null&&T.attr("id","root-"+s5));const _=qC();var A="actor";s.properties!=null&&s.properties.class?A=s.properties.class:_.fill="#eaeaea",d?A+=` ${jGe}`:A+=` ${RGe}`,_.x=s.x,_.y=p,_.width=s.width,_.height=s.height,_.class=A,_.rx=3,_.ry=3,_.name=s.name;const P=Eve(T,_);if(s.rectData=_,s.properties!=null&&s.properties.icon){const F=s.properties.icon.trim();F.charAt(0)==="@"?rUt(T,_.x+_.width-20,_.y+10,F.substr(1)):nUt(T,_.x+_.width-20,_.y+10,F)}await Tve(u,Dv(s.description))(s.description,T,_.x,_.y,_.width,_.height,{class:"actor"},u);let R=s.height;if(P.node){const F=P.node().getBBox();s.height=F.height,R=F.height}return R},Yrn=async function(i,s,u,d){const p=d?s.stopy:s.starty,v=s.x+s.width/2,b=p+80;i.lower(),d||(s5++,i.append("line").attr("id","actor"+s5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),s.actorCnt=s5);const y=i.append("g");let T="actor-man";d?T+=` ${jGe}`:T+=` ${RGe}`,y.attr("class",T),y.attr("name",s.name);const _=qC();_.x=s.x,_.y=p,_.fill="#eaeaea",_.width=s.width,_.height=s.height,_.class="actor",_.rx=3,_.ry=3,y.append("line").attr("id","actor-man-torso"+s5).attr("x1",v).attr("y1",p+25).attr("x2",v).attr("y2",p+45),y.append("line").attr("id","actor-man-arms"+s5).attr("x1",v-ZC/2).attr("y1",p+33).attr("x2",v+ZC/2).attr("y2",p+33),y.append("line").attr("x1",v-ZC/2).attr("y1",p+60).attr("x2",v).attr("y2",p+45),y.append("line").attr("x1",v).attr("y1",p+45).attr("x2",v+ZC/2-2).attr("y2",p+60);const A=y.append("circle");A.attr("cx",s.x+s.width/2),A.attr("cy",p+10),A.attr("r",15),A.attr("width",s.width),A.attr("height",s.height);const P=y.node().getBBox();return s.height=P.height,await Tve(u,Dv(s.description))(s.description,y,_.x,_.y+35,_.width,_.height,{class:"actor"},u),s.height},Xrn=async function(i,s,u,d){switch(s.type){case"actor":return await Yrn(i,s,u,d);case"participant":return await Wrn(i,s,u,d)}},Qrn=async function(i,s,u){const p=i.append("g");qGe(p,s),s.name&&await Tve(u)(s.name,p,s.x,s.y+(s.textMaxHeight||0)/2,s.width,0,{class:"text"},u),p.lower()},Jrn=function(i){return i.append("g")},Zrn=function(i,s,u,d,p){const v=qC(),b=s.anchored;v.x=s.startx,v.y=s.starty,v.class="activation"+p%3,v.width=s.stopx-s.startx,v.height=u-s.starty,Eve(b,v)},ein=async function(i,s,u,d){const{boxMargin:p,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:y,messageFontFamily:T,messageFontSize:_,messageFontWeight:A}=d,P=i.append("g"),R=function(K,ee,ie,oe){return P.append("line").attr("x1",K).attr("y1",ee).attr("x2",ie).attr("y2",oe).attr("class","loopLine")};R(s.startx,s.starty,s.stopx,s.starty),R(s.stopx,s.starty,s.stopx,s.stopy),R(s.startx,s.stopy,s.stopx,s.stopy),R(s.startx,s.starty,s.startx,s.stopy),s.sections!==void 0&&s.sections.forEach(function(K){R(s.startx,K.y,s.stopx,K.y).style("stroke-dasharray","3, 3")});let F=zbe();F.text=u,F.x=s.startx,F.y=s.starty,F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.anchor="middle",F.valign="middle",F.tspan=!1,F.width=y||50,F.height=b||20,F.textMargin=v,F.class="labelText",$Ge(P,F),F=HGe(),F.text=s.title,F.x=s.startx+y/2+(s.stopx-s.startx)/2,F.y=s.starty+p+v,F.anchor="middle",F.valign="middle",F.textMargin=v,F.class="loopText",F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.wrap=!0;let j=Dv(F.text)?await pJ(P,F,s):YD(P,F);if(s.sectionTitles!==void 0){for(const[K,ee]of Object.entries(s.sectionTitles))if(ee.message){F.text=ee.message,F.x=s.startx+(s.stopx-s.startx)/2,F.y=s.sections[K].y+p+v,F.class="loopText",F.anchor="middle",F.valign="middle",F.tspan=!1,F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.wrap=s.wrap,Dv(F.text)?(s.starty=s.sections[K].y,await pJ(P,F,s)):YD(P,F);let ie=Math.round(j.map(oe=>(oe._groups||oe)[0][0].getBBox().height).reduce((oe,pe)=>oe+pe));s.sections[K].height+=ie-(p+v)}}return s.height=Math.round(s.stopy-s.starty),P},qGe=function(i,s){Tqe(i,s)},tin=function(i){i.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")},nin=function(i){i.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")},rin=function(i){i.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")},iin=function(i){i.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").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},sin=function(i){i.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")},ain=function(i){i.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)},oin=function(i){i.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")},HGe=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}},cin=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Tve=function(){function i(v,b,y,T,_,A,P){const R=b.append("text").attr("x",y+_/2).attr("y",T+A/2+5).style("text-anchor","middle").text(v);p(R,P)}function s(v,b,y,T,_,A,P,R){const{actorFontSize:F,actorFontFamily:j,actorFontWeight:K}=R,[ee,ie]=NC(F),oe=v.split(ci.lineBreakRegex);for(let pe=0;pei.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,s)=>i+s))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,s)=>i+s))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,s)=>i+s))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,UGe(qt())},updateVal:function(i,s,u,d){i[s]===void 0?i[s]=u:i[s]=d(u,i[s])},updateBounds:function(i,s,u,d){const p=this;let v=0;function b(y){return function(_){v++;const A=p.sequenceItems.length-v+1;p.updateVal(_,"starty",s-A*En.boxMargin,Math.min),p.updateVal(_,"stopy",d+A*En.boxMargin,Math.max),p.updateVal(ni.data,"startx",i-A*En.boxMargin,Math.min),p.updateVal(ni.data,"stopx",u+A*En.boxMargin,Math.max),y!=="activation"&&(p.updateVal(_,"startx",i-A*En.boxMargin,Math.min),p.updateVal(_,"stopx",u+A*En.boxMargin,Math.max),p.updateVal(ni.data,"starty",s-A*En.boxMargin,Math.min),p.updateVal(ni.data,"stopy",d+A*En.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,s,u,d){const p=ci.getMin(i,u),v=ci.getMax(i,u),b=ci.getMin(s,d),y=ci.getMax(s,d);this.updateVal(ni.data,"startx",p,Math.min),this.updateVal(ni.data,"starty",b,Math.min),this.updateVal(ni.data,"stopx",v,Math.max),this.updateVal(ni.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},newActivation:function(i,s,u){const d=u[i.from.actor],p=bJ(i.from.actor).length||0,v=d.x+d.width/2+(p-1)*En.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+En.activationWidth,stopy:void 0,actor:i.from.actor,anchored:Zf.anchorElement(s)})},endActivation:function(i){const s=this.activations.map(function(u){return u.actor}).lastIndexOf(i.from.actor);return this.activations.splice(s,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},s){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:s}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},s){this.sequenceItems.push(this.createLoop(i,s))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const s=this.sequenceItems.pop();s.sections=s.sections||[],s.sectionTitles=s.sectionTitles||[],s.sections.push({y:ni.getVerticalPos(),height:0}),s.sectionTitles.push(i),this.sequenceItems.push(s)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=ci.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},lin=async function(i,s){ni.bumpVerticalPos(En.boxMargin),s.height=En.boxMargin,s.starty=ni.getVerticalPos();const u=qC();u.x=s.startx,u.y=s.starty,u.width=s.width||En.width,u.class="note";const d=i.append("g"),p=Zf.drawRect(d,u),v=zbe();v.x=s.startx,v.y=s.starty,v.width=u.width,v.dy="1em",v.text=s.message,v.class="noteText",v.fontFamily=En.noteFontFamily,v.fontSize=En.noteFontSize,v.fontWeight=En.noteFontWeight,v.anchor=En.noteAlign,v.textMargin=En.noteMargin,v.valign="center";const b=Dv(v.text)?await pJ(d,v):YD(d,v),y=Math.round(b.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,_)=>T+_));p.attr("height",y+2*En.noteMargin),s.height+=y+2*En.noteMargin,ni.bumpVerticalPos(y+2*En.noteMargin),s.stopy=s.starty+y+2*En.noteMargin,s.stopx=s.startx+u.width,ni.insert(s.startx,s.starty,s.stopx,s.stopy),ni.models.addNote(s)},eS=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),XD=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Cve=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});async function hin(i,s){ni.bumpVerticalPos(10);const{startx:u,stopx:d,message:p}=s,v=ci.splitBreaks(p).length,b=Dv(p),y=b?await HF(p,qt()):Ao.calculateTextDimensions(p,eS(En));if(!b){const P=y.height/v;s.height+=P,ni.bumpVerticalPos(P)}let T,_=y.height-10;const A=y.width;if(u===d){T=ni.getVerticalPos()+_,En.rightAngles||(_+=En.boxMargin,T=ni.getVerticalPos()+_),_+=30;const P=ci.getMax(A/2,En.width/2);ni.insert(u-P,ni.getVerticalPos()-10+_,d+P,ni.getVerticalPos()+30+_)}else _+=En.boxMargin,T=ni.getVerticalPos()+_,ni.insert(u,T-10,d,T);return ni.bumpVerticalPos(_),s.height+=_,s.stopy=s.starty+s.height,ni.insert(s.fromBounds,s.starty,s.toBounds,s.stopy),T}const fin=async function(i,s,u,d){const{startx:p,stopx:v,starty:b,message:y,type:T,sequenceIndex:_,sequenceVisible:A}=s,P=Ao.calculateTextDimensions(y,eS(En)),R=zbe();R.x=p,R.y=b+10,R.width=v-p,R.class="messageText",R.dy="1em",R.text=y,R.fontFamily=En.messageFontFamily,R.fontSize=En.messageFontSize,R.fontWeight=En.messageFontWeight,R.anchor=En.messageAlign,R.valign="center",R.textMargin=En.wrapPadding,R.tspan=!1,Dv(R.text)?await pJ(i,R,{startx:p,stopx:v,starty:u}):YD(i,R);const F=P.width;let j;p===v?En.rightAngles?j=i.append("path").attr("d",`M ${p},${u} H ${p+ci.getMax(En.width/2,F/2)} V ${u+25} H ${p}`):j=i.append("path").attr("d","M "+p+","+u+" C "+(p+60)+","+(u-10)+" "+(p+60)+","+(u+30)+" "+p+","+(u+20)):(j=i.append("line"),j.attr("x1",p),j.attr("y1",u),j.attr("x2",v),j.attr("y2",u)),T===d.db.LINETYPE.DOTTED||T===d.db.LINETYPE.DOTTED_CROSS||T===d.db.LINETYPE.DOTTED_POINT||T===d.db.LINETYPE.DOTTED_OPEN?(j.style("stroke-dasharray","3, 3"),j.attr("class","messageLine1")):j.attr("class","messageLine0");let K="";En.arrowMarkerAbsolute&&(K=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,K=K.replace(/\(/g,"\\("),K=K.replace(/\)/g,"\\)")),j.attr("stroke-width",2),j.attr("stroke","none"),j.style("fill","none"),(T===d.db.LINETYPE.SOLID||T===d.db.LINETYPE.DOTTED)&&j.attr("marker-end","url("+K+"#arrowhead)"),(T===d.db.LINETYPE.SOLID_POINT||T===d.db.LINETYPE.DOTTED_POINT)&&j.attr("marker-end","url("+K+"#filled-head)"),(T===d.db.LINETYPE.SOLID_CROSS||T===d.db.LINETYPE.DOTTED_CROSS)&&j.attr("marker-end","url("+K+"#crosshead)"),(A||En.showSequenceNumbers)&&(j.attr("marker-start","url("+K+"#sequencenumber)"),i.append("text").attr("x",p).attr("y",u+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},din=async function(i,s,u,d,p,v,b){let y=0,T=0,_,A=0;for(const P of d){const R=s[P],F=R.box;_&&_!=F&&(b||ni.models.addBox(_),T+=En.boxMargin+_.margin),F&&F!=_&&(b||(F.x=y+T,F.y=p),T+=F.margin),R.width=R.width||En.width,R.height=ci.getMax(R.height||En.height,En.height),R.margin=R.margin||En.actorMargin,A=ci.getMax(A,R.height),u[R.name]&&(T+=R.width/2),R.x=y+T,R.starty=ni.getVerticalPos(),ni.insert(R.x,p,R.x+R.width,R.height),y+=R.width+T,R.box&&(R.box.width=y+F.margin-R.box.x),T=R.margin,_=R.box,ni.models.addActor(R)}_&&!b&&ni.models.addBox(_),ni.bumpVerticalPos(A)},Sve=async function(i,s,u,d){if(d){let p=0;ni.bumpVerticalPos(En.boxMargin*2);for(const v of u){const b=s[v];b.stopy||(b.stopy=ni.getVerticalPos());const y=await Zf.drawActor(i,b,En,!0);p=ci.getMax(p,y)}ni.bumpVerticalPos(p+En.boxMargin)}else for(const p of u){const v=s[p];await Zf.drawActor(i,v,En,!1)}},VGe=function(i,s,u,d){let p=0,v=0;for(const b of u){const y=s[b],T=min(y),_=Zf.drawPopup(i,y,T,En,En.forceMenus,d);_.height>p&&(p=_.height),_.width+y.x>v&&(v=_.width+y.x)}return{maxHeight:p,maxWidth:v}},UGe=function(i){id(En,i),i.fontFamily&&(En.actorFontFamily=En.noteFontFamily=En.messageFontFamily=i.fontFamily),i.fontSize&&(En.actorFontSize=En.noteFontSize=En.messageFontSize=i.fontSize),i.fontWeight&&(En.actorFontWeight=En.noteFontWeight=En.messageFontWeight=i.fontWeight)},bJ=function(i){return ni.activations.filter(function(s){return s.actor===i})},GGe=function(i,s){const u=s[i],d=bJ(i),p=d.reduce(function(b,y){return ci.getMin(b,y.startx)},u.x+u.width/2-1),v=d.reduce(function(b,y){return ci.getMax(b,y.stopx)},u.x+u.width/2+1);return[p,v]};function a5(i,s,u,d,p){ni.bumpVerticalPos(u);let v=d;if(s.id&&s.message&&i[s.id]){const b=i[s.id].width,y=eS(En);s.message=Ao.wrapLabel(`[${s.message}]`,b-2*En.wrapPadding,y),s.width=b,s.wrap=!0;const T=Ao.calculateTextDimensions(s.message,y),_=ci.getMax(T.height,En.labelBoxHeight);v=d+_,Xe.debug(`${_} - ${s.message}`)}p(s),ni.bumpVerticalPos(v)}function gin(i,s,u,d,p,v,b){function y(_,A){_.x{Se.add(Ce.from),Se.add(Ce.to)}),j=j.filter(Ce=>Se.has(Ce))}await din(_,A,P,j,0,K,!1);const be=await xin(K,A,pe,d);Zf.insertArrowHead(_),Zf.insertArrowCrossHead(_),Zf.insertArrowFilledHead(_),Zf.insertSequenceNumber(_);function ae(Se,Ce){const ke=ni.endActivation(Se);ke.starty+18>Ce&&(ke.starty=Ce-6,Ce+=12),Zf.drawActivation(_,ke,Ce,En,bJ(Se.from.actor).length),ni.insert(ke.startx,Ce-10,ke.stopx,Ce)}let ne=1,se=1;const de=[],X=[];let ge=0;for(const Se of K){let Ce,ke,Ke;switch(Se.type){case d.db.LINETYPE.NOTE:ni.resetVerticalPos(),ke=Se.noteModel,await lin(_,ke);break;case d.db.LINETYPE.ACTIVE_START:ni.newActivation(Se,_,A);break;case d.db.LINETYPE.ACTIVE_END:ae(Se,ni.getVerticalPos());break;case d.db.LINETYPE.LOOP_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.LOOP_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"loop",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.RECT_START:a5(be,Se,En.boxMargin,En.boxMargin,Ft=>ni.newLoop(void 0,Ft.message));break;case d.db.LINETYPE.RECT_END:Ce=ni.endLoop(),X.push(Ce),ni.models.addLoop(Ce),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos());break;case d.db.LINETYPE.OPT_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.OPT_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"opt",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.ALT_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.ALT_ELSE:a5(be,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.ALT_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"alt",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft)),ni.saveVerticalPos();break;case d.db.LINETYPE.PAR_AND:a5(be,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.PAR_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"par",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.AUTONUMBER:ne=Se.message.start||ne,se=Se.message.step||se,Se.message.visible?d.db.enableSequenceNumbers():d.db.disableSequenceNumbers();break;case d.db.LINETYPE.CRITICAL_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.CRITICAL_OPTION:a5(be,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.CRITICAL_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"critical",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.BREAK_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.BREAK_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"break",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;default:try{Ke=Se.msgModel,Ke.starty=ni.getVerticalPos(),Ke.sequenceIndex=ne,Ke.sequenceVisible=d.db.showSequenceNumbers();const Ft=await hin(_,Ke);gin(Se,Ke,Ft,ge,A,P,R),de.push({messageModel:Ke,lineStartY:Ft}),ni.models.addMessage(Ke)}catch(Ft){Xe.error("error while drawing message",Ft)}}[d.db.LINETYPE.SOLID_OPEN,d.db.LINETYPE.DOTTED_OPEN,d.db.LINETYPE.SOLID,d.db.LINETYPE.DOTTED,d.db.LINETYPE.SOLID_CROSS,d.db.LINETYPE.DOTTED_CROSS,d.db.LINETYPE.SOLID_POINT,d.db.LINETYPE.DOTTED_POINT].includes(Se.type)&&(ne=ne+se),ge++}Xe.debug("createdActors",P),Xe.debug("destroyedActors",R),await Sve(_,A,j,!1);for(const Se of de)await fin(_,Se.messageModel,Se.lineStartY,d);En.mirrorActors&&await Sve(_,A,j,!0),X.forEach(Se=>Zf.drawBackgroundRect(_,Se)),zGe(_,A,j,En);for(const Se of ni.models.boxes)Se.height=ni.getVerticalPos()-Se.y,ni.insert(Se.x,Se.y,Se.x+Se.width,Se.height),Se.startx=Se.x,Se.starty=Se.y,Se.stopx=Se.startx+Se.width,Se.stopy=Se.starty+Se.height,Se.stroke="rgb(0,0,0, 0.5)",await Zf.drawBox(_,Se,En);ie&&ni.bumpVerticalPos(En.boxMargin);const W=VGe(_,A,j,T),{bounds:xe}=ni.getBounds();let U=xe.stopy-xe.starty;U{const b=eS(En);let y=v.actorKeys.reduce((A,P)=>A+=i[P].width+(i[P].margin||0),0);y-=2*En.boxTextMargin,v.wrap&&(v.name=Ao.wrapLabel(v.name,y-2*En.wrapPadding,b));const T=Ao.calculateTextDimensions(v.name,b);p=ci.getMax(T.height,p);const _=ci.getMax(y,T.width+2*En.wrapPadding);if(v.margin=En.boxTextMargin,y<_){const A=(_-y)/2;v.margin+=A}}),u.forEach(v=>v.textMaxHeight=p),ci.getMax(d,En.height)}const win=async function(i,s,u){const d=s[i.from].x,p=s[i.to].x,v=i.wrap&&i.message;let b=Dv(i.message)?await HF(i.message,qt()):Ao.calculateTextDimensions(v?Ao.wrapLabel(i.message,En.width,XD(En)):i.message,XD(En));const y={width:v?En.width:ci.getMax(En.width,b.width+2*En.noteMargin),height:0,startx:s[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===u.db.PLACEMENT.RIGHTOF?(y.width=v?ci.getMax(En.width,b.width):ci.getMax(s[i.from].width/2+s[i.to].width/2,b.width+2*En.noteMargin),y.startx=d+(s[i.from].width+En.actorMargin)/2):i.placement===u.db.PLACEMENT.LEFTOF?(y.width=v?ci.getMax(En.width,b.width+2*En.noteMargin):ci.getMax(s[i.from].width/2+s[i.to].width/2,b.width+2*En.noteMargin),y.startx=d-y.width+(s[i.from].width-En.actorMargin)/2):i.to===i.from?(b=Ao.calculateTextDimensions(v?Ao.wrapLabel(i.message,ci.getMax(En.width,s[i.from].width),XD(En)):i.message,XD(En)),y.width=v?ci.getMax(En.width,s[i.from].width):ci.getMax(s[i.from].width,En.width,b.width+2*En.noteMargin),y.startx=d+(s[i.from].width-y.width)/2):(y.width=Math.abs(d+s[i.from].width/2-(p+s[i.to].width/2))+En.actorMargin,y.startx=d2,P=K=>y?-K:K;i.from===i.to?_=T:(i.activate&&!A&&(_+=P(En.activationWidth/2-1)),[u.db.LINETYPE.SOLID_OPEN,u.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=P(3)));const R=[d,p,v,b],F=Math.abs(T-_);i.wrap&&i.message&&(i.message=Ao.wrapLabel(i.message,ci.getMax(F+2*En.wrapPadding,En.width),eS(En)));const j=Ao.calculateTextDimensions(i.message,eS(En));return{width:ci.getMax(i.wrap?0:j.width+2*En.wrapPadding,F+2*En.wrapPadding,En.width),height:0,startx:T,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},xin=async function(i,s,u,d){const p={},v=[];let b,y,T;for(const _ of i){switch(_.id=Ao.random({length:10}),_.type){case d.db.LINETYPE.LOOP_START:case d.db.LINETYPE.ALT_START:case d.db.LINETYPE.OPT_START:case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:case d.db.LINETYPE.CRITICAL_START:case d.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case d.db.LINETYPE.ALT_ELSE:case d.db.LINETYPE.PAR_AND:case d.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),p[b.id]=b,p[_.id]=b,v.push(b));break;case d.db.LINETYPE.LOOP_END:case d.db.LINETYPE.ALT_END:case d.db.LINETYPE.OPT_END:case d.db.LINETYPE.PAR_END:case d.db.LINETYPE.CRITICAL_END:case d.db.LINETYPE.BREAK_END:b=v.pop(),p[b.id]=b;break;case d.db.LINETYPE.ACTIVE_START:{const P=s[_.from?_.from.actor:_.to.actor],R=bJ(_.from?_.from.actor:_.to.actor).length,F=P.x+P.width/2+(R-1)*En.activationWidth/2,j={startx:F,stopx:F+En.activationWidth,actor:_.from.actor,enabled:!0};ni.activations.push(j)}break;case d.db.LINETYPE.ACTIVE_END:{const P=ni.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete ni.activations.splice(P,1)[0]}break}_.placement!==void 0?(y=await win(_,s,d),_.noteModel=y,v.forEach(P=>{b=P,b.from=ci.getMin(b.from,y.startx),b.to=ci.getMax(b.to,y.startx+y.width),b.width=ci.getMax(b.width,Math.abs(b.from-b.to))-En.labelBoxWidth})):(T=yin(_,s,d),_.msgModel=T,T.startx&&T.stopx&&v.length>0&&v.forEach(P=>{if(b=P,T.startx===T.stopx){const R=s[_.from],F=s[_.to];b.from=ci.getMin(R.x-T.width/2,R.x-R.width/2,b.from),b.to=ci.getMax(F.x+T.width/2,F.x+R.width/2,b.to),b.width=ci.getMax(b.width,Math.abs(b.to-b.from))-En.labelBoxWidth}else b.from=ci.getMin(T.startx,b.from),b.to=ci.getMax(T.stopx,b.to),b.width=ci.getMax(b.width,T.width)-En.labelBoxWidth}))}return ni.activations=[],Xe.debug("Loop type widths:",p),p},kin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:yrn,db:FGe,renderer:{bounds:ni,drawActors:Sve,drawActorsPopup:VGe,setConf:UGe,draw:pin},styles:Urn,init:({wrap:i})=>{FGe.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var _ve=function(){var i=function(ao,Tr,Fn,qn){for(Fn=Fn||{},qn=ao.length;qn--;Fn[ao[qn]]=Tr);return Fn},s=[1,17],u=[1,18],d=[1,19],p=[1,39],v=[1,40],b=[1,25],y=[1,23],T=[1,24],_=[1,31],A=[1,32],P=[1,33],R=[1,34],F=[1,35],j=[1,36],K=[1,26],ee=[1,27],ie=[1,28],oe=[1,29],pe=[1,43],be=[1,30],ae=[1,42],ne=[1,44],se=[1,41],de=[1,45],X=[1,9],ge=[1,8,9],W=[1,56],xe=[1,57],U=[1,58],Fe=[1,59],Pe=[1,60],je=[1,61],Ie=[1,62],Se=[1,8,9,39],Ce=[1,74],ke=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Ke=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Ft=[13,74,80,95,97,98],Ne=[13,64,65,74,80,95,97,98],gn=[13,59,60,61,62,63,74,80,95,97,98],_t=[1,93],Et=[1,110],Gt=[1,108],ln=[1,102],xt=[1,103],Pt=[1,104],Qe=[1,105],Dt=[1,106],kt=[1,107],On=[1,109],ht=[1,8,9,37,39,42],zr=[1,8,9,21],yt=[1,8,9,78],ji=[1,8,9,21,73,74,78,80,81,82,83,84,85],xi={trace:function(){},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,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(Tr,Fn,qn,Un,At,wt,on){var fn=wt.length-1;switch(At){case 8:this.$=wt[fn-1];break;case 9:case 11:case 12:this.$=wt[fn];break;case 10:case 13:this.$=wt[fn-1]+wt[fn];break;case 14:case 15:this.$=wt[fn-1]+"~"+wt[fn]+"~";break;case 16:Un.addRelation(wt[fn]);break;case 17:wt[fn-1].title=Un.cleanupLabel(wt[fn]),Un.addRelation(wt[fn-1]);break;case 27:this.$=wt[fn].trim(),Un.setAccTitle(this.$);break;case 28:case 29:this.$=wt[fn].trim(),Un.setAccDescription(this.$);break;case 30:Un.addClassesToNamespace(wt[fn-3],wt[fn-1]);break;case 31:Un.addClassesToNamespace(wt[fn-4],wt[fn-1]);break;case 32:this.$=wt[fn],Un.addNamespace(wt[fn]);break;case 33:this.$=[wt[fn]];break;case 34:this.$=[wt[fn-1]];break;case 35:wt[fn].unshift(wt[fn-2]),this.$=wt[fn];break;case 37:Un.setCssClass(wt[fn-2],wt[fn]);break;case 38:Un.addMembers(wt[fn-3],wt[fn-1]);break;case 39:Un.setCssClass(wt[fn-5],wt[fn-3]),Un.addMembers(wt[fn-5],wt[fn-1]);break;case 40:this.$=wt[fn],Un.addClass(wt[fn]);break;case 41:this.$=wt[fn-1],Un.addClass(wt[fn-1]),Un.setClassLabel(wt[fn-1],wt[fn]);break;case 42:Un.addAnnotation(wt[fn],wt[fn-2]);break;case 43:this.$=[wt[fn]];break;case 44:wt[fn].push(wt[fn-1]),this.$=wt[fn];break;case 45:break;case 46:Un.addMember(wt[fn-1],Un.cleanupLabel(wt[fn]));break;case 47:break;case 48:break;case 49:this.$={id1:wt[fn-2],id2:wt[fn],relation:wt[fn-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:wt[fn-3],id2:wt[fn],relation:wt[fn-1],relationTitle1:wt[fn-2],relationTitle2:"none"};break;case 51:this.$={id1:wt[fn-3],id2:wt[fn],relation:wt[fn-2],relationTitle1:"none",relationTitle2:wt[fn-1]};break;case 52:this.$={id1:wt[fn-4],id2:wt[fn],relation:wt[fn-2],relationTitle1:wt[fn-3],relationTitle2:wt[fn-1]};break;case 53:Un.addNote(wt[fn],wt[fn-1]);break;case 54:Un.addNote(wt[fn]);break;case 55:Un.setDirection("TB");break;case 56:Un.setDirection("BT");break;case 57:Un.setDirection("RL");break;case 58:Un.setDirection("LR");break;case 59:this.$={type1:wt[fn-2],type2:wt[fn],lineType:wt[fn-1]};break;case 60:this.$={type1:"none",type2:wt[fn],lineType:wt[fn-1]};break;case 61:this.$={type1:wt[fn-1],type2:"none",lineType:wt[fn]};break;case 62:this.$={type1:"none",type2:"none",lineType:wt[fn]};break;case 63:this.$=Un.relationType.AGGREGATION;break;case 64:this.$=Un.relationType.EXTENSION;break;case 65:this.$=Un.relationType.COMPOSITION;break;case 66:this.$=Un.relationType.DEPENDENCY;break;case 67:this.$=Un.relationType.LOLLIPOP;break;case 68:this.$=Un.lineType.LINE;break;case 69:this.$=Un.lineType.DOTTED_LINE;break;case 70:case 76:this.$=wt[fn-2],Un.setClickEvent(wt[fn-1],wt[fn]);break;case 71:case 77:this.$=wt[fn-3],Un.setClickEvent(wt[fn-2],wt[fn-1]),Un.setTooltip(wt[fn-2],wt[fn]);break;case 72:this.$=wt[fn-2],Un.setLink(wt[fn-1],wt[fn]);break;case 73:this.$=wt[fn-3],Un.setLink(wt[fn-2],wt[fn-1],wt[fn]);break;case 74:this.$=wt[fn-3],Un.setLink(wt[fn-2],wt[fn-1]),Un.setTooltip(wt[fn-2],wt[fn]);break;case 75:this.$=wt[fn-4],Un.setLink(wt[fn-3],wt[fn-2],wt[fn]),Un.setTooltip(wt[fn-3],wt[fn-1]);break;case 78:this.$=wt[fn-3],Un.setClickEvent(wt[fn-2],wt[fn-1],wt[fn]);break;case 79:this.$=wt[fn-4],Un.setClickEvent(wt[fn-3],wt[fn-2],wt[fn-1]),Un.setTooltip(wt[fn-3],wt[fn]);break;case 80:this.$=wt[fn-3],Un.setLink(wt[fn-2],wt[fn]);break;case 81:this.$=wt[fn-4],Un.setLink(wt[fn-3],wt[fn-1],wt[fn]);break;case 82:this.$=wt[fn-4],Un.setLink(wt[fn-3],wt[fn-1]),Un.setTooltip(wt[fn-3],wt[fn]);break;case 83:this.$=wt[fn-5],Un.setLink(wt[fn-4],wt[fn-2],wt[fn]),Un.setTooltip(wt[fn-4],wt[fn-1]);break;case 84:this.$=wt[fn-2],Un.setCssStyle(wt[fn-1],wt[fn]);break;case 85:Un.setCssClass(wt[fn-1],wt[fn]);break;case 86:this.$=[wt[fn]];break;case 87:wt[fn-2].push(wt[fn]),this.$=wt[fn-2];break;case 89:this.$=wt[fn-1]+wt[fn];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:s,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:K,67:ee,69:ie,73:oe,74:pe,76:be,80:ae,95:ne,97:se,98:de},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(X,[2,5],{8:[1,46]}),{8:[1,47]},i(ge,[2,16],{21:[1,48]}),i(ge,[2,18]),i(ge,[2,19]),i(ge,[2,20]),i(ge,[2,21]),i(ge,[2,22]),i(ge,[2,23]),i(ge,[2,24]),i(ge,[2,25]),i(ge,[2,26]),{32:[1,49]},{34:[1,50]},i(ge,[2,29]),i(ge,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:W,60:xe,61:U,62:Fe,63:Pe,64:je,65:Ie}),{37:[1,63]},i(Se,[2,36],{37:[1,65],42:[1,64]}),i(ge,[2,47]),i(ge,[2,48]),{16:66,74:pe,80:ae,95:ne,97:se},{16:37,17:67,18:38,74:pe,80:ae,95:ne,97:se,98:de},{16:37,17:68,18:38,74:pe,80:ae,95:ne,97:se,98:de},{16:37,17:69,18:38,74:pe,80:ae,95:ne,97:se,98:de},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:pe,80:ae,95:ne,97:se,98:de},{13:Ce,51:73},i(ge,[2,55]),i(ge,[2,56]),i(ge,[2,57]),i(ge,[2,58]),i(ke,[2,11],{16:37,18:38,17:75,19:[1,76],74:pe,80:ae,95:ne,97:se,98:de}),i(ke,[2,12],{19:[1,77]}),{15:78,16:79,74:pe,80:ae,95:ne,97:se},{16:37,17:80,18:38,74:pe,80:ae,95:ne,97:se,98:de},i(Ke,[2,112]),i(Ke,[2,113]),i(Ke,[2,114]),i(Ke,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(X,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:s,33:u,35:d,40:p,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:K,67:ee,69:ie,73:oe,74:pe,76:be,80:ae,95:ne,97:se,98:de}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:s,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:K,67:ee,69:ie,73:oe,74:pe,76:be,80:ae,95:ne,97:se,98:de},i(ge,[2,17]),i(ge,[2,27]),i(ge,[2,28]),{13:[1,84],16:37,17:83,18:38,74:pe,80:ae,95:ne,97:se,98:de},{49:85,57:54,58:55,59:W,60:xe,61:U,62:Fe,63:Pe,64:je,65:Ie},i(ge,[2,46]),{58:86,64:je,65:Ie},i(Ft,[2,62],{57:87,59:W,60:xe,61:U,62:Fe,63:Pe}),i(Ne,[2,63]),i(Ne,[2,64]),i(Ne,[2,65]),i(Ne,[2,66]),i(Ne,[2,67]),i(gn,[2,68]),i(gn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:pe,80:ae,95:ne,97:se},{43:92,47:_t},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Et,73:Gt,74:ln,75:99,77:100,79:101,80:xt,81:Pt,82:Qe,83:Dt,84:kt,85:On},{74:[1,111]},{13:Ce,51:112},i(ge,[2,54]),i(ge,[2,117]),i(ke,[2,13]),i(ke,[2,14]),i(ke,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:pe,80:ae,95:ne,97:se},i(ht,[2,40],{11:114,12:[1,115]}),i(X,[2,7]),{9:[1,116]},i(zr,[2,49]),{16:37,17:117,18:38,74:pe,80:ae,95:ne,97:se,98:de},{13:[1,119],16:37,17:118,18:38,74:pe,80:ae,95:ne,97:se,98:de},i(Ft,[2,61],{57:120,59:W,60:xe,61:U,62:Fe,63:Pe}),i(Ft,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Se,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:_t},{16:37,17:127,18:38,74:pe,80:ae,95:ne,97:se,98:de},i(ge,[2,70],{13:[1,128]}),i(ge,[2,72],{13:[1,130],68:[1,129]}),i(ge,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(ge,[2,84],{78:[1,134]}),i(yt,[2,86],{79:135,21:Et,73:Gt,74:ln,80:xt,81:Pt,82:Qe,83:Dt,84:kt,85:On}),i(ji,[2,88]),i(ji,[2,90]),i(ji,[2,91]),i(ji,[2,92]),i(ji,[2,93]),i(ji,[2,94]),i(ji,[2,95]),i(ji,[2,96]),i(ji,[2,97]),i(ji,[2,98]),i(ge,[2,85]),i(ge,[2,53]),{37:[2,10]},i(ht,[2,41]),{13:[1,136]},{1:[2,4]},i(zr,[2,51]),i(zr,[2,50]),{16:37,17:137,18:38,74:pe,80:ae,95:ne,97:se,98:de},i(Ft,[2,59]),i(ge,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:_t},i(Se,[2,38]),{39:[2,44]},i(ge,[2,42]),i(ge,[2,71]),i(ge,[2,73]),i(ge,[2,74],{68:[1,141]}),i(ge,[2,77]),i(ge,[2,78],{13:[1,142]}),i(ge,[2,80],{13:[1,144],68:[1,143]}),{21:Et,73:Gt,74:ln,77:145,79:101,80:xt,81:Pt,82:Qe,83:Dt,84:kt,85:On},i(ji,[2,89]),{14:[1,146]},i(zr,[2,52]),i(ge,[2,31]),{39:[2,35]},{39:[1,147]},i(ge,[2,75]),i(ge,[2,79]),i(ge,[2,81]),i(ge,[2,82],{68:[1,148]}),i(yt,[2,87],{79:135,21:Et,73:Gt,74:ln,80:xt,81:Pt,82:Qe,83:Dt,84:kt,85:On}),i(ht,[2,8]),i(Se,[2,39]),i(ge,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(Tr,Fn){if(Fn.recoverable)this.trace(Tr);else{var qn=new Error(Tr);throw qn.hash=Fn,qn}},parse:function(Tr){var Fn=this,qn=[0],Un=[],At=[null],wt=[],on=this.table,fn="",An=0,oo=0,jo=2,$o=1,Pa=wt.slice.call(arguments,1),wo=Object.create(this.lexer),_s={yy:{}};for(var tl in this.yy)Object.prototype.hasOwnProperty.call(this.yy,tl)&&(_s.yy[tl]=this.yy[tl]);wo.setInput(Tr,_s.yy),_s.yy.lexer=wo,_s.yy.parser=this,typeof wo.yylloc>"u"&&(wo.yylloc={});var da=wo.yylloc;wt.push(da);var j0=wo.options&&wo.options.ranges;typeof _s.yy.parseError=="function"?this.parseError=_s.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pm(){var ga;return ga=Un.pop()||wo.lex()||$o,typeof ga!="number"&&(ga instanceof Array&&(Un=ga,ga=Un.pop()),ga=Fn.symbols_[ga]||ga),ga}for(var Ml,Xc,Bc,ja,Ou={},Sa,Po,Fc,xa;;){if(Xc=qn[qn.length-1],this.defaultActions[Xc]?Bc=this.defaultActions[Xc]:((Ml===null||typeof Ml>"u")&&(Ml=pm()),Bc=on[Xc]&&on[Xc][Ml]),typeof Bc>"u"||!Bc.length||!Bc[0]){var Ba="";xa=[];for(Sa in on[Xc])this.terminals_[Sa]&&Sa>jo&&xa.push("'"+this.terminals_[Sa]+"'");wo.showPosition?Ba="Parse error on line "+(An+1)+`: +`+wo.showPosition()+` +Expecting `+xa.join(", ")+", got '"+(this.terminals_[Ml]||Ml)+"'":Ba="Parse error on line "+(An+1)+": Unexpected "+(Ml==$o?"end of input":"'"+(this.terminals_[Ml]||Ml)+"'"),this.parseError(Ba,{text:wo.match,token:this.terminals_[Ml]||Ml,line:wo.yylineno,loc:da,expected:xa})}if(Bc[0]instanceof Array&&Bc.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Xc+", token: "+Ml);switch(Bc[0]){case 1:qn.push(Ml),At.push(wo.yytext),wt.push(wo.yylloc),qn.push(Bc[1]),Ml=null,oo=wo.yyleng,fn=wo.yytext,An=wo.yylineno,da=wo.yylloc;break;case 2:if(Po=this.productions_[Bc[1]][1],Ou.$=At[At.length-Po],Ou._$={first_line:wt[wt.length-(Po||1)].first_line,last_line:wt[wt.length-1].last_line,first_column:wt[wt.length-(Po||1)].first_column,last_column:wt[wt.length-1].last_column},j0&&(Ou._$.range=[wt[wt.length-(Po||1)].range[0],wt[wt.length-1].range[1]]),ja=this.performAction.apply(Ou,[fn,oo,An,_s.yy,Bc[1],At,wt].concat(Pa)),typeof ja<"u")return ja;Po&&(qn=qn.slice(0,-1*Po*2),At=At.slice(0,-1*Po),wt=wt.slice(0,-1*Po)),qn.push(this.productions_[Bc[1]][0]),At.push(Ou.$),wt.push(Ou._$),Fc=on[qn[qn.length-2]][qn[qn.length-1]],qn.push(Fc);break;case 3:return!0}}return!0}},Ma=function(){var ao={EOF:1,parseError:function(Fn,qn){if(this.yy.parser)this.yy.parser.parseError(Fn,qn);else throw new Error(Fn)},setInput:function(Tr,Fn){return this.yy=Fn||this.yy||{},this._input=Tr,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Tr=this._input[0];this.yytext+=Tr,this.yyleng++,this.offset++,this.match+=Tr,this.matched+=Tr;var Fn=Tr.match(/(?:\r\n?|\n).*/g);return Fn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tr},unput:function(Tr){var Fn=Tr.length,qn=Tr.split(/(?:\r\n?|\n)/g);this._input=Tr+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Fn),this.offset-=Fn;var Un=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),qn.length-1&&(this.yylineno-=qn.length-1);var At=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:qn?(qn.length===Un.length?this.yylloc.first_column:0)+Un[Un.length-qn.length].length-qn[0].length:this.yylloc.first_column-Fn},this.options.ranges&&(this.yylloc.range=[At[0],At[0]+this.yyleng-Fn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Tr){this.unput(this.match.slice(Tr))},pastInput:function(){var Tr=this.matched.substr(0,this.matched.length-this.match.length);return(Tr.length>20?"...":"")+Tr.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Tr=this.match;return Tr.length<20&&(Tr+=this._input.substr(0,20-Tr.length)),(Tr.substr(0,20)+(Tr.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Tr=this.pastInput(),Fn=new Array(Tr.length+1).join("-");return Tr+this.upcomingInput()+` +`+Fn+"^"},test_match:function(Tr,Fn){var qn,Un,At;if(this.options.backtrack_lexer&&(At={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&&(At.yylloc.range=this.yylloc.range.slice(0))),Un=Tr[0].match(/(?:\r\n?|\n).*/g),Un&&(this.yylineno+=Un.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Un?Un[Un.length-1].length-Un[Un.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tr[0].length},this.yytext+=Tr[0],this.match+=Tr[0],this.matches=Tr,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(Tr[0].length),this.matched+=Tr[0],qn=this.performAction.call(this,this.yy,this,Fn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),qn)return qn;if(this._backtrack){for(var wt in At)this[wt]=At[wt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tr,Fn,qn,Un;this._more||(this.yytext="",this.match="");for(var At=this._currentRules(),wt=0;wtFn[0].length)){if(Fn=qn,Un=wt,this.options.backtrack_lexer){if(Tr=this.test_match(qn,At[wt]),Tr!==!1)return Tr;if(this._backtrack){Fn=!1;continue}else return!1}else if(!this.options.flex)break}return Fn?(Tr=this.test_match(Fn,At[Un]),Tr!==!1?Tr:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Fn=this.next();return Fn||this.lex()},begin:function(Fn){this.conditionStack.push(Fn)},popState:function(){var Fn=this.conditionStack.length-1;return Fn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Fn){return Fn=this.conditionStack.length-1-Math.abs(Fn||0),Fn>=0?this.conditionStack[Fn]:"INITIAL"},pushState:function(Fn){this.begin(Fn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Fn,qn,Un,At){switch(Un){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 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 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},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)/,/^(?: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,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return ao}();xi.lexer=Ma;function zs(){this.yy={}}return zs.prototype=xi,xi.Parser=zs,new zs}();_ve.parser=_ve;const KGe=_ve,WGe=["#","+","~","-",""];class YGe{constructor(s,u){this.memberType=u,this.visibility="",this.classifier="";const d=Yf(s,qt());this.parseMember(d)}getDisplayDetails(){let s=this.visibility+qF(this.id);this.memberType==="method"&&(s+=`(${qF(this.parameters.trim())})`,this.returnType&&(s+=" : "+qF(this.returnType))),s=s.trim();const u=this.parseClassifier();return{displayText:s,cssStyle:u}}parseMember(s){let u="";if(this.memberType==="method"){const d=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,p=s.match(d);if(p){const v=p[1]?p[1].trim():"";if(WGe.includes(v)&&(this.visibility=v),this.id=p[2].trim(),this.parameters=p[3]?p[3].trim():"",u=p[4]?p[4].trim():"",this.returnType=p[5]?p[5].trim():"",u===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(u=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const d=s.length,p=s.substring(0,1),v=s.substring(d-1);WGe.includes(p)&&(this.visibility=p),v.match(/[$*]/)&&(u=v),this.id=s.substring(this.visibility===""?0:1,u===""?d:d-1)}this.classifier=u}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const mJ="classId-";let Ave=[],xh={},vJ=[],XGe=0,R9={},Lve=0,WR=[];const tS=i=>ci.sanitizeText(i,qt()),nS=function(i){const s=ci.sanitizeText(i,qt());let u="",d=s;if(s.indexOf("~")>0){const p=s.split("~");d=tS(p[0]),u=tS(p[1])}return{className:d,type:u}},Ein=function(i,s){const u=ci.sanitizeText(i,qt());s&&(s=tS(s));const{className:d}=nS(u);xh[d].label=s},wJ=function(i){const s=ci.sanitizeText(i,qt()),{className:u,type:d}=nS(s);if(Object.hasOwn(xh,u))return;const p=ci.sanitizeText(u,qt());xh[p]={id:p,type:d,label:p,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:mJ+p+"-"+XGe},XGe++},QGe=function(i){const s=ci.sanitizeText(i,qt());if(s in xh)return xh[s].domId;throw new Error("Class not found: "+s)},Tin=function(){Ave=[],xh={},vJ=[],WR=[],WR.push(ZGe),R9={},Lve=0,Pg()},Cin=function(i){return xh[i]},Sin=function(){return xh},_in=function(){return Ave},Ain=function(){return vJ},Lin=function(i){Xe.debug("Adding relation: "+JSON.stringify(i)),wJ(i.id1),wJ(i.id2),i.id1=nS(i.id1).className,i.id2=nS(i.id2).className,i.relationTitle1=ci.sanitizeText(i.relationTitle1.trim(),qt()),i.relationTitle2=ci.sanitizeText(i.relationTitle2.trim(),qt()),Ave.push(i)},Min=function(i,s){const u=nS(i).className;xh[u].annotations.push(s)},JGe=function(i,s){wJ(i);const u=nS(i).className,d=xh[u];if(typeof s=="string"){const p=s.trim();p.startsWith("<<")&&p.endsWith(">>")?d.annotations.push(tS(p.substring(2,p.length-2))):p.indexOf(")")>0?d.methods.push(new YGe(p,"method")):p&&d.members.push(new YGe(p,"attribute"))}},Din=function(i,s){Array.isArray(s)&&(s.reverse(),s.forEach(u=>JGe(i,u)))},Iin=function(i,s){const u={id:`note${vJ.length}`,class:s,text:i};vJ.push(u)},Oin=function(i){return i.startsWith(":")&&(i=i.substring(1)),tS(i.trim())},Mve=function(i,s){i.split(",").forEach(function(u){let d=u;u[0].match(/\d/)&&(d=mJ+d),xh[d]!==void 0&&xh[d].cssClasses.push(s)})},Nin=function(i,s){i.split(",").forEach(function(u){s!==void 0&&(xh[u].tooltip=tS(s))})},Pin=function(i,s){return s?R9[s].classes[i].tooltip:xh[i].tooltip},Bin=function(i,s,u){const d=qt();i.split(",").forEach(function(p){let v=p;p[0].match(/\d/)&&(v=mJ+v),xh[v]!==void 0&&(xh[v].link=Ao.formatUrl(s,d),d.securityLevel==="sandbox"?xh[v].linkTarget="_top":typeof u=="string"?xh[v].linkTarget=tS(u):xh[v].linkTarget="_blank")}),Mve(i,"clickable")},Fin=function(i,s,u){i.split(",").forEach(function(d){Rin(d,s,u),xh[d].haveCallback=!0}),Mve(i,"clickable")},Rin=function(i,s,u){const d=ci.sanitizeText(i,qt());if(qt().securityLevel!=="loose"||s===void 0)return;const v=d;if(xh[v]!==void 0){const b=QGe(v);let y=[];if(typeof u=="string"){y=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let T=0;T")),p.classed("hover",!0)}).on("mouseout",function(){s.transition().duration(500).style("opacity",0),Ir(this).classed("hover",!1)})};WR.push(ZGe);let eKe="TB";const yJ={setAccTitle:Bg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,getConfig:()=>qt().class,addClass:wJ,bindFunctions:jin,clear:Tin,getClass:Cin,getClasses:Sin,getNotes:Ain,addAnnotation:Min,addNote:Iin,getRelations:_in,addRelation:Lin,getDirection:()=>eKe,setDirection:i=>{eKe=i},addMember:JGe,addMembers:Din,cleanupLabel:Oin,lineType:$in,relationType:zin,setClickEvent:Fin,setCssClass:Mve,setLink:Bin,getTooltip:Pin,setTooltip:Nin,lookUpDomId:QGe,setDiagramTitle:cm,getDiagramTitle:Ap,setClassLabel:Ein,addNamespace:function(i){R9[i]===void 0&&(R9[i]={id:i,classes:{},children:{},domId:mJ+i+"-"+Lve},Lve++)},addClassesToNamespace:function(i,s){if(R9[i]!==void 0)for(const u of s){const{className:d}=nS(u);xh[d].parent=i,R9[i].classes[d]=xh[d]}},getNamespace:function(i){return R9[i]},getNamespaces:function(){return R9},setCssStyle:function(i,s){const u=xh[i];if(!(!s||!u))for(const d of s)d.includes(",")?u.styles.push(...d.split(",")):u.styles.push(d)}},tKe=i=>`g.classGroup text { + fill: ${i.nodeBorder||i.classText}; + stroke: none; + font-family: ${i.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${i.classText}; +} +.edgeLabel .label rect { + fill: ${i.mainBkg}; +} +.label text { + fill: ${i.classText}; +} +.edgeLabel .label span { + background: ${i.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.classGroup line { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${i.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${i.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`;let nKe=0;const qin=function(i,s,u,d,p){const v=function(oe){switch(oe){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};s.points=s.points.filter(oe=>!Number.isNaN(oe.y));const b=s.points,y=k7().x(function(oe){return oe.x}).y(function(oe){return oe.y}).curve(FF),T=i.append("path").attr("d",y(b)).attr("id","edge"+nKe).attr("class","relation");let _="";d.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),u.relation.lineType==1&&T.attr("class","relation dashed-line"),u.relation.lineType==10&&T.attr("class","relation dotted-line"),u.relation.type1!=="none"&&T.attr("marker-start","url("+_+"#"+v(u.relation.type1)+"Start)"),u.relation.type2!=="none"&&T.attr("marker-end","url("+_+"#"+v(u.relation.type2)+"End)");let A,P;const R=s.points.length;let F=Ao.calcLabelPosition(s.points);A=F.x,P=F.y;let j,K,ee,ie;if(R%2!==0&&R>1){let oe=Ao.calcCardinalityPosition(u.relation.type1!=="none",s.points,s.points[0]),pe=Ao.calcCardinalityPosition(u.relation.type2!=="none",s.points,s.points[R-1]);Xe.debug("cardinality_1_point "+JSON.stringify(oe)),Xe.debug("cardinality_2_point "+JSON.stringify(pe)),j=oe.x,K=oe.y,ee=pe.x,ie=pe.y}if(u.title!==void 0){const oe=i.append("g").attr("class","classLabel"),pe=oe.append("text").attr("class","label").attr("x",A).attr("y",P).attr("fill","red").attr("text-anchor","middle").text(u.title);window.label=pe;const be=pe.node().getBBox();oe.insert("rect",":first-child").attr("class","box").attr("x",be.x-d.padding/2).attr("y",be.y-d.padding/2).attr("width",be.width+d.padding).attr("height",be.height+d.padding)}Xe.info("Rendering relation "+JSON.stringify(u)),u.relationTitle1!==void 0&&u.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",j).attr("y",K).attr("fill","black").attr("font-size","6").text(u.relationTitle1),u.relationTitle2!==void 0&&u.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",ee).attr("y",ie).attr("fill","black").attr("font-size","6").text(u.relationTitle2),nKe++},Hin=function(i,s,u,d){Xe.debug("Rendering class ",s,u);const p=s.id,v={id:p,label:s.id,width:0,height:0},b=i.append("g").attr("id",d.db.lookUpDomId(p)).attr("class","classGroup");let y;s.link?y=b.append("svg:a").attr("xlink:href",s.link).attr("target",s.linkTarget).append("text").attr("y",u.textHeight+u.padding).attr("x",0):y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);let T=!0;s.annotations.forEach(function(pe){const be=y.append("tspan").text("«"+pe+"»");T||be.attr("dy",u.textHeight),T=!1});let _=rKe(s);const A=y.append("tspan").text(_).attr("class","title");T||A.attr("dy",u.textHeight);const P=y.node().getBBox().height;let R,F,j;if(s.members.length>0){R=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin/2).attr("y2",u.padding+P+u.dividerMargin/2);const pe=b.append("text").attr("x",u.padding).attr("y",P+u.dividerMargin+u.textHeight).attr("fill","white").attr("class","classText");T=!0,s.members.forEach(function(be){iKe(pe,be,T,u),T=!1}),F=pe.node().getBBox()}if(s.methods.length>0){j=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin+F.height).attr("y2",u.padding+P+u.dividerMargin+F.height);const pe=b.append("text").attr("x",u.padding).attr("y",P+2*u.dividerMargin+F.height+u.textHeight).attr("fill","white").attr("class","classText");T=!0,s.methods.forEach(function(be){iKe(pe,be,T,u),T=!1})}const K=b.node().getBBox();var ee=" ";s.cssClasses.length>0&&(ee=ee+s.cssClasses.join(" "));const oe=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",K.width+2*u.padding).attr("height",K.height+u.padding+.5*u.dividerMargin).attr("class",ee).node().getBBox().width;return y.node().childNodes.forEach(function(pe){pe.setAttribute("x",(oe-pe.getBBox().width)/2)}),s.tooltip&&y.insert("title").text(s.tooltip),R&&R.attr("x2",oe),j&&j.attr("x2",oe),v.width=oe,v.height=K.height+u.padding+.5*u.dividerMargin,v},rKe=function(i){let s=i.id;return i.type&&(s+="<"+qF(i.type)+">"),s},Vin=function(i,s,u,d){Xe.debug("Rendering note ",s,u);const p=s.id,v={id:p,text:s.text,width:0,height:0},b=i.append("g").attr("id",p).attr("class","classGroup");let y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);const T=JSON.parse(`"${s.text}"`).split(` +`);T.forEach(function(R){Xe.debug(`Adding line: ${R}`),y.append("tspan").text(R).attr("class","title").attr("dy",u.textHeight)});const _=b.node().getBBox(),P=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",_.width+2*u.padding).attr("height",_.height+T.length*u.textHeight+u.padding+.5*u.dividerMargin).node().getBBox().width;return y.node().childNodes.forEach(function(R){R.setAttribute("x",(P-R.getBBox().width)/2)}),v.width=P,v.height=_.height+T.length*u.textHeight+u.padding+.5*u.dividerMargin,v},iKe=function(i,s,u,d){const{displayText:p,cssStyle:v}=s.getDisplayDetails(),b=i.append("tspan").attr("x",d.padding).text(p);v!==""&&b.attr("style",s.cssStyle),u||b.attr("dy",d.textHeight)},Dve={getClassTitleString:rKe,drawClass:Hin,drawEdge:qin,drawNote:Vin};let xJ={};const kJ=20,YR=function(i){const s=Object.entries(xJ).find(u=>u[1].label===i);if(s)return s[0]},Uin=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},Gin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:KGe,db:yJ,renderer:{draw:function(i,s,u,d){const p=qt().class;xJ={},Xe.info("Rendering diagram "+i);const v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=y.select(`[id='${s}']`);Uin(T);const _=new B0({multigraph:!0});_.setGraph({isMultiGraph:!0}),_.setDefaultEdgeLabel(function(){return{}});const A=d.db.getClasses(),P=Object.keys(A);for(const oe of P){const pe=A[oe],be=Dve.drawClass(T,pe,p,d);xJ[be.id]=be,_.setNode(be.id,be),Xe.info("Org height: "+be.height)}d.db.getRelations().forEach(function(oe){Xe.info("tjoho"+YR(oe.id1)+YR(oe.id2)+JSON.stringify(oe)),_.setEdge(YR(oe.id1),YR(oe.id2),{relation:oe},oe.title||"DEFAULT")}),d.db.getNotes().forEach(function(oe){Xe.debug(`Adding note: ${JSON.stringify(oe)}`);const pe=Dve.drawNote(T,oe,p,d);xJ[pe.id]=pe,_.setNode(pe.id,pe),oe.class&&oe.class in A&&_.setEdge(oe.id,YR(oe.class),{relation:{id1:oe.id,id2:oe.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),qD(_),_.nodes().forEach(function(oe){oe!==void 0&&_.node(oe)!==void 0&&(Xe.debug("Node "+oe+": "+JSON.stringify(_.node(oe))),y.select("#"+(d.db.lookUpDomId(oe)||oe)).attr("transform","translate("+(_.node(oe).x-_.node(oe).width/2)+","+(_.node(oe).y-_.node(oe).height/2)+" )"))}),_.edges().forEach(function(oe){oe!==void 0&&_.edge(oe)!==void 0&&(Xe.debug("Edge "+oe.v+" -> "+oe.w+": "+JSON.stringify(_.edge(oe))),Dve.drawEdge(T,_.edge(oe),_.edge(oe).relation,p,d))});const j=T.node().getBBox(),K=j.width+kJ*2,ee=j.height+kJ*2;Ng(T,ee,K,p.useMaxWidth);const ie=`${j.x-kJ} ${j.y-kJ} ${K} ${ee}`;Xe.debug(`viewBox ${ie}`),T.attr("viewBox",ie)}},styles:tKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yJ.clear()}}},Symbol.toStringTag,{value:"Module"})),Ive=i=>ci.sanitizeText(i,qt());let Ove={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const Kin=function(i,s,u,d){const p=Object.keys(i);Xe.info("keys:",p),Xe.info(i),p.forEach(function(v){var _,A;const b=i[v],T={shape:"rect",id:b.id,domId:b.domId,labelText:Ive(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((_=qt().flowchart)==null?void 0:_.padding)??((A=qt().class)==null?void 0:A.padding)};s.setNode(b.id,T),sKe(b.classes,s,u,d,b.id),Xe.info("setNode",T)})},sKe=function(i,s,u,d,p){const v=Object.keys(i);Xe.info("keys:",v),Xe.info(i),v.filter(b=>i[b].parent==p).forEach(function(b){var j,K;const y=i[b],T=y.cssClasses.join(" "),_=om(y.styles),A=y.label??y.id,P=0,R="class_box",F={labelStyle:_.labelStyle,shape:R,labelText:Ive(A),classData:y,rx:P,ry:P,class:T,style:_.style,id:y.id,domId:y.domId,tooltip:d.db.getTooltip(y.id,p)||"",haveCallback:y.haveCallback,link:y.link,width:y.type==="group"?500:void 0,type:y.type,padding:((j=qt().flowchart)==null?void 0:j.padding)??((K=qt().class)==null?void 0:K.padding)};s.setNode(y.id,F),p&&s.setParent(y.id,p),Xe.info("setNode",F)})},Win=function(i,s,u,d){Xe.info(i),i.forEach(function(p,v){var K,ee;const b=p,y="",T={labelStyle:"",style:""},_=b.text,A=0,P="note",R={labelStyle:T.labelStyle,shape:P,labelText:Ive(_),noteData:b,rx:A,ry:A,class:y,style:T.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((K=qt().flowchart)==null?void 0:K.padding)??((ee=qt().class)==null?void 0:ee.padding)};if(s.setNode(b.id,R),Xe.info("setNode",R),!b.class||!(b.class in d))return;const F=u+v,j={id:`edgeNote${F}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Ov(Ove.curve,kp)};s.setEdge(b.id,b.class,j,F)})},Yin=function(i,s){const u=qt().flowchart;let d=0;i.forEach(function(p){var b;d++;const v={classes:"relation",pattern:p.relation.lineType==1?"dashed":"solid",id:`id_${p.id1}_${p.id2}_${d}`,arrowhead:p.type==="arrow_open"?"none":"normal",startLabelRight:p.relationTitle1==="none"?"":p.relationTitle1,endLabelLeft:p.relationTitle2==="none"?"":p.relationTitle2,arrowTypeStart:aKe(p.relation.type1),arrowTypeEnd:aKe(p.relation.type2),style:"fill:none",labelStyle:"",curve:Ov(u==null?void 0:u.curve,kp)};if(Xe.info(v,p),p.style!==void 0){const y=om(p.style);v.style=y.style,v.labelStyle=y.labelStyle}p.text=p.title,p.text===void 0?p.style!==void 0&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c",((b=qt().flowchart)==null?void 0:b.htmlLabels)??qt().htmlLabels?(v.labelType="html",v.label=''+p.text+""):(v.labelType="text",v.label=p.text.replace(ci.lineBreakRegex,` +`),p.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),s.setEdge(p.id1,p.id2,v,d)})},Xin=function(i){Ove={...Ove,...i}},Qin=async function(i,s,u,d){Xe.info("Drawing class - ",s);const p=qt().flowchart??qt().class,v=qt().securityLevel;Xe.info("config:",p);const b=(p==null?void 0:p.nodeSpacing)??50,y=(p==null?void 0:p.rankSpacing)??50,T=new B0({multigraph:!0,compound:!0}).setGraph({rankdir:d.db.getDirection(),nodesep:b,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),_=d.db.getNamespaces(),A=d.db.getClasses(),P=d.db.getRelations(),R=d.db.getNotes();Xe.info(P),Kin(_,T,s,d),sKe(A,T,s,d),Yin(P,T),Win(R,T,P.length+1,A);let F;v==="sandbox"&&(F=Ir("#i"+s));const j=Ir(v==="sandbox"?F.nodes()[0].contentDocument.body:"body"),K=j.select(`[id="${s}"]`),ee=j.select("#"+s+" g");if(await qme(ee,T,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",s),Ao.insertTitle(K,"classTitleText",(p==null?void 0:p.titleTopMargin)??5,d.db.getDiagramTitle()),y9(T,K,p==null?void 0:p.diagramPadding,p==null?void 0:p.useMaxWidth),!(p!=null&&p.htmlLabels)){const ie=v==="sandbox"?F.nodes()[0].contentDocument:document,oe=ie.querySelectorAll('[id="'+s+'"] .edgeLabel .label');for(const pe of oe){const be=pe.getBBox(),ae=ie.createElementNS("http://www.w3.org/2000/svg","rect");ae.setAttribute("rx",0),ae.setAttribute("ry",0),ae.setAttribute("width",be.width),ae.setAttribute("height",be.height),pe.insertBefore(ae,pe.firstChild)}}};function aKe(i){let s;switch(i){case 0:s="aggregation";break;case 1:s="extension";break;case 2:s="composition";break;case 3:s="dependency";break;case 4:s="lollipop";break;default:s="none"}return s}const Jin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:KGe,db:yJ,renderer:{setConf:Xin,draw:Qin},styles:tKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yJ.clear()}}},Symbol.toStringTag,{value:"Module"}));var Nve=function(){var i=function(Ie,Se,Ce,ke){for(Ce=Ce||{},ke=Ie.length;ke--;Ce[Ie[ke]]=Se);return Ce},s=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,15],T=[1,16],_=[1,17],A=[1,18],P=[1,30],R=[1,19],F=[1,20],j=[1,21],K=[1,22],ee=[1,23],ie=[1,25],oe=[1,26],pe=[1,27],be=[1,28],ae=[1,29],ne=[1,32],se=[1,33],de=[1,34],X=[1,35],ge=[1,31],W=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],xe=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],U=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Fe={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Se,Ce,ke,Ke,Ft,Ne,gn){var _t=Ne.length-1;switch(Ft){case 3:return Ke.setRootDoc(Ne[_t]),Ne[_t];case 4:this.$=[];break;case 5:Ne[_t]!="nl"&&(Ne[_t-1].push(Ne[_t]),this.$=Ne[_t-1]);break;case 6:case 7:this.$=Ne[_t];break;case 8:this.$="nl";break;case 11:this.$=Ne[_t];break;case 12:const xt=Ne[_t-1];xt.description=Ke.trimColon(Ne[_t]),this.$=xt;break;case 13:this.$={stmt:"relation",state1:Ne[_t-2],state2:Ne[_t]};break;case 14:const Pt=Ke.trimColon(Ne[_t]);this.$={stmt:"relation",state1:Ne[_t-3],state2:Ne[_t-1],description:Pt};break;case 18:this.$={stmt:"state",id:Ne[_t-3],type:"default",description:"",doc:Ne[_t-1]};break;case 19:var Et=Ne[_t],Gt=Ne[_t-2].trim();if(Ne[_t].match(":")){var ln=Ne[_t].split(":");Et=ln[0],Gt=[Gt,ln[1]]}this.$={stmt:"state",id:Et,type:"default",description:Gt};break;case 20:this.$={stmt:"state",id:Ne[_t-3],type:"default",description:Ne[_t-5],doc:Ne[_t-1]};break;case 21:this.$={stmt:"state",id:Ne[_t],type:"fork"};break;case 22:this.$={stmt:"state",id:Ne[_t],type:"join"};break;case 23:this.$={stmt:"state",id:Ne[_t],type:"choice"};break;case 24:this.$={stmt:"state",id:Ke.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Ne[_t-1].trim(),note:{position:Ne[_t-2].trim(),text:Ne[_t].trim()}};break;case 28:this.$=Ne[_t].trim(),Ke.setAccTitle(this.$);break;case 29:case 30:this.$=Ne[_t].trim(),Ke.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Ne[_t-1].trim(),classes:Ne[_t].trim()};break;case 33:this.$={stmt:"applyClass",id:Ne[_t-1].trim(),styleClass:Ne[_t].trim()};break;case 34:Ke.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ke.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ke.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ke.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Ne[_t].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Ne[_t-2].trim(),classes:[Ne[_t].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Ne[_t-2].trim(),classes:[Ne[_t].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:u,6:d},{1:[3]},{3:5,4:s,5:u,6:d},{3:6,4:s,5:u,6:d},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,21:A,23:P,24:R,25:F,26:j,27:K,28:ee,31:24,32:ie,34:oe,36:pe,37:be,41:ae,44:ne,45:se,46:de,47:X,50:ge},i(W,[2,5]),{9:36,10:12,11:13,12:14,15:y,16:T,18:_,21:A,23:P,24:R,25:F,26:j,27:K,28:ee,31:24,32:ie,34:oe,36:pe,37:be,41:ae,44:ne,45:se,46:de,47:X,50:ge},i(W,[2,7]),i(W,[2,8]),i(W,[2,9]),i(W,[2,10]),i(W,[2,11],{13:[1,37],14:[1,38]}),i(W,[2,15]),{17:[1,39]},i(W,[2,17],{19:[1,40]}),{22:[1,41]},i(W,[2,21]),i(W,[2,22]),i(W,[2,23]),i(W,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(W,[2,27]),{33:[1,46]},{35:[1,47]},i(W,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(xe,[2,40],{51:[1,51]}),i(xe,[2,41],{51:[1,52]}),i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,6]),i(W,[2,12]),{12:53,23:P,50:ge},i(W,[2,16]),i(U,p,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(W,[2,28]),i(W,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(W,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,20:[1,64],21:A,23:P,24:R,25:F,26:j,27:K,28:ee,31:24,32:ie,34:oe,36:pe,37:be,41:ae,44:ne,45:se,46:de,47:X,50:ge},i(W,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(W,[2,31]),i(W,[2,32]),i(W,[2,33]),i(xe,[2,42]),i(xe,[2,43]),i(W,[2,14]),i(W,[2,18]),i(U,p,{7:68}),i(W,[2,25]),i(W,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,20:[1,69],21:A,23:P,24:R,25:F,26:j,27:K,28:ee,31:24,32:ie,34:oe,36:pe,37:be,41:ae,44:ne,45:se,46:de,47:X,50:ge},i(W,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Se,Ce){if(Ce.recoverable)this.trace(Se);else{var ke=new Error(Se);throw ke.hash=Ce,ke}},parse:function(Se){var Ce=this,ke=[0],Ke=[],Ft=[null],Ne=[],gn=this.table,_t="",Et=0,Gt=0,ln=2,xt=1,Pt=Ne.slice.call(arguments,1),Qe=Object.create(this.lexer),Dt={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(Dt.yy[kt]=this.yy[kt]);Qe.setInput(Se,Dt.yy),Dt.yy.lexer=Qe,Dt.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var On=Qe.yylloc;Ne.push(On);var ht=Qe.options&&Qe.options.ranges;typeof Dt.yy.parseError=="function"?this.parseError=Dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zr(){var At;return At=Ke.pop()||Qe.lex()||xt,typeof At!="number"&&(At instanceof Array&&(Ke=At,At=Ke.pop()),At=Ce.symbols_[At]||At),At}for(var yt,ji,xi,Ma,zs={},ao,Tr,Fn,qn;;){if(ji=ke[ke.length-1],this.defaultActions[ji]?xi=this.defaultActions[ji]:((yt===null||typeof yt>"u")&&(yt=zr()),xi=gn[ji]&&gn[ji][yt]),typeof xi>"u"||!xi.length||!xi[0]){var Un="";qn=[];for(ao in gn[ji])this.terminals_[ao]&&ao>ln&&qn.push("'"+this.terminals_[ao]+"'");Qe.showPosition?Un="Parse error on line "+(Et+1)+`: +`+Qe.showPosition()+` +Expecting `+qn.join(", ")+", got '"+(this.terminals_[yt]||yt)+"'":Un="Parse error on line "+(Et+1)+": Unexpected "+(yt==xt?"end of input":"'"+(this.terminals_[yt]||yt)+"'"),this.parseError(Un,{text:Qe.match,token:this.terminals_[yt]||yt,line:Qe.yylineno,loc:On,expected:qn})}if(xi[0]instanceof Array&&xi.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ji+", token: "+yt);switch(xi[0]){case 1:ke.push(yt),Ft.push(Qe.yytext),Ne.push(Qe.yylloc),ke.push(xi[1]),yt=null,Gt=Qe.yyleng,_t=Qe.yytext,Et=Qe.yylineno,On=Qe.yylloc;break;case 2:if(Tr=this.productions_[xi[1]][1],zs.$=Ft[Ft.length-Tr],zs._$={first_line:Ne[Ne.length-(Tr||1)].first_line,last_line:Ne[Ne.length-1].last_line,first_column:Ne[Ne.length-(Tr||1)].first_column,last_column:Ne[Ne.length-1].last_column},ht&&(zs._$.range=[Ne[Ne.length-(Tr||1)].range[0],Ne[Ne.length-1].range[1]]),Ma=this.performAction.apply(zs,[_t,Gt,Et,Dt.yy,xi[1],Ft,Ne].concat(Pt)),typeof Ma<"u")return Ma;Tr&&(ke=ke.slice(0,-1*Tr*2),Ft=Ft.slice(0,-1*Tr),Ne=Ne.slice(0,-1*Tr)),ke.push(this.productions_[xi[1]][0]),Ft.push(zs.$),Ne.push(zs._$),Fn=gn[ke[ke.length-2]][ke[ke.length-1]],ke.push(Fn);break;case 3:return!0}}return!0}},Pe=function(){var Ie={EOF:1,parseError:function(Ce,ke){if(this.yy.parser)this.yy.parser.parseError(Ce,ke);else throw new Error(Ce)},setInput:function(Se,Ce){return this.yy=Ce||this.yy||{},this._input=Se,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Se=this._input[0];this.yytext+=Se,this.yyleng++,this.offset++,this.match+=Se,this.matched+=Se;var Ce=Se.match(/(?:\r\n?|\n).*/g);return Ce?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Se},unput:function(Se){var Ce=Se.length,ke=Se.split(/(?:\r\n?|\n)/g);this._input=Se+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ce),this.offset-=Ce;var Ke=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),ke.length-1&&(this.yylineno-=ke.length-1);var Ft=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:ke?(ke.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-ke.length].length-ke[0].length:this.yylloc.first_column-Ce},this.options.ranges&&(this.yylloc.range=[Ft[0],Ft[0]+this.yyleng-Ce]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Se){this.unput(this.match.slice(Se))},pastInput:function(){var Se=this.matched.substr(0,this.matched.length-this.match.length);return(Se.length>20?"...":"")+Se.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Se=this.match;return Se.length<20&&(Se+=this._input.substr(0,20-Se.length)),(Se.substr(0,20)+(Se.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Se=this.pastInput(),Ce=new Array(Se.length+1).join("-");return Se+this.upcomingInput()+` +`+Ce+"^"},test_match:function(Se,Ce){var ke,Ke,Ft;if(this.options.backtrack_lexer&&(Ft={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&&(Ft.yylloc.range=this.yylloc.range.slice(0))),Ke=Se[0].match(/(?:\r\n?|\n).*/g),Ke&&(this.yylineno+=Ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ke?Ke[Ke.length-1].length-Ke[Ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Se[0].length},this.yytext+=Se[0],this.match+=Se[0],this.matches=Se,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(Se[0].length),this.matched+=Se[0],ke=this.performAction.call(this,this.yy,this,Ce,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ke)return ke;if(this._backtrack){for(var Ne in Ft)this[Ne]=Ft[Ne];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Se,Ce,ke,Ke;this._more||(this.yytext="",this.match="");for(var Ft=this._currentRules(),Ne=0;NeCe[0].length)){if(Ce=ke,Ke=Ne,this.options.backtrack_lexer){if(Se=this.test_match(ke,Ft[Ne]),Se!==!1)return Se;if(this._backtrack){Ce=!1;continue}else return!1}else if(!this.options.flex)break}return Ce?(Se=this.test_match(Ce,Ft[Ke]),Se!==!1?Se:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ce=this.next();return Ce||this.lex()},begin:function(Ce){this.conditionStack.push(Ce)},popState:function(){var Ce=this.conditionStack.length-1;return Ce>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ce){return Ce=this.conditionStack.length-1-Math.abs(Ce||0),Ce>=0?this.conditionStack[Ce]:"INITIAL"},pushState:function(Ce){this.begin(Ce)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ce,ke,Ke,Ft){switch(Ke){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),ke.yytext=ke.yytext.substr(2).trim(),30;case 64:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return ke.yytext=ke.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/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:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Ie}();Fe.lexer=Pe;function je(){this.yy={}}return je.prototype=Fe,Fe.Parser=je,new je}();Nve.parser=Nve;const oKe=Nve,Zin="LR",esn="TB",EJ="state",Pve="relation",tsn="classDef",nsn="applyClass",XR="default",cKe="divider",Bve="[*]",uKe="start",lKe=Bve,hKe="end",fKe="color",dKe="fill",rsn="bgFill",isn=",";function gKe(){return{}}let pKe=Zin,TJ=[],QR=gKe();const bKe=()=>({relations:[],states:{},documents:{}});let CJ={root:bKe()},jg=CJ.root,JR=0,mKe=0;const ssn={LINE:0,DOTTED_LINE:1},asn={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},SJ=i=>JSON.parse(JSON.stringify(i)),osn=i=>{Xe.info("Setting root doc",i),TJ=i},csn=()=>TJ,_J=(i,s,u)=>{if(s.stmt===Pve)_J(i,s.state1,!0),_J(i,s.state2,!1);else if(s.stmt===EJ&&(s.id==="[*]"?(s.id=u?i.id+"_start":i.id+"_end",s.start=u):s.id=s.id.trim()),s.doc){const d=[];let p=[],v;for(v=0;v0&&p.length>0){const b={stmt:EJ,id:bje(),type:"divider",doc:SJ(p)};d.push(SJ(b)),s.doc=d}s.doc.forEach(b=>_J(s,b,!0))}},usn=()=>(_J({id:"root"},{id:"root",doc:TJ},!0),{id:"root",doc:TJ}),lsn=i=>{let s;i.doc?s=i.doc:s=i,Xe.info(s),vKe(!0),Xe.info("Extract",s),s.forEach(u=>{switch(u.stmt){case EJ:rS(u.id.trim(),u.type,u.doc,u.description,u.note,u.classes,u.styles,u.textStyles);break;case Pve:wKe(u.state1,u.state2,u.description);break;case tsn:yKe(u.id.trim(),u.classes);break;case nsn:$ve(u.id.trim(),u.styleClass);break}})},rS=function(i,s=XR,u=null,d=null,p=null,v=null,b=null,y=null){const T=i==null?void 0:i.trim();jg.states[T]===void 0?(Xe.info("Adding state ",T,d),jg.states[T]={id:T,descriptions:[],type:s,doc:u,note:p,classes:[],styles:[],textStyles:[]}):(jg.states[T].doc||(jg.states[T].doc=u),jg.states[T].type||(jg.states[T].type=s)),d&&(Xe.info("Setting state description",T,d),typeof d=="string"&&jve(T,d.trim()),typeof d=="object"&&d.forEach(_=>jve(T,_.trim()))),p&&(jg.states[T].note=p,jg.states[T].note.text=ci.sanitizeText(jg.states[T].note.text,qt())),v&&(Xe.info("Setting state classes",T,v),(typeof v=="string"?[v]:v).forEach(A=>$ve(T,A.trim()))),b&&(Xe.info("Setting state styles",T,b),(typeof b=="string"?[b]:b).forEach(A=>ysn(T,A.trim()))),y&&(Xe.info("Setting state styles",T,b),(typeof y=="string"?[y]:y).forEach(A=>xsn(T,A.trim())))},vKe=function(i){CJ={root:bKe()},jg=CJ.root,JR=0,QR=gKe(),i||Pg()},ZR=function(i){return jg.states[i]},hsn=function(){return jg.states},fsn=function(){Xe.info("Documents = ",CJ)},dsn=function(){return jg.relations};function Fve(i=""){let s=i;return i===Bve&&(JR++,s=`${uKe}${JR}`),s}function Rve(i="",s=XR){return i===Bve?uKe:s}function gsn(i=""){let s=i;return i===lKe&&(JR++,s=`${hKe}${JR}`),s}function psn(i="",s=XR){return i===lKe?hKe:s}function bsn(i,s,u){let d=Fve(i.id.trim()),p=Rve(i.id.trim(),i.type),v=Fve(s.id.trim()),b=Rve(s.id.trim(),s.type);rS(d,p,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),rS(v,b,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),jg.relations.push({id1:d,id2:v,relationTitle:ci.sanitizeText(u,qt())})}const wKe=function(i,s,u){if(typeof i=="object")bsn(i,s,u);else{const d=Fve(i.trim()),p=Rve(i),v=gsn(s.trim()),b=psn(s);rS(d,p),rS(v,b),jg.relations.push({id1:d,id2:v,title:ci.sanitizeText(u,qt())})}},jve=function(i,s){const u=jg.states[i],d=s.startsWith(":")?s.replace(":","").trim():s;u.descriptions.push(ci.sanitizeText(d,qt()))},msn=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},vsn=()=>(mKe++,"divider-id-"+mKe),yKe=function(i,s=""){QR[i]===void 0&&(QR[i]={id:i,styles:[],textStyles:[]});const u=QR[i];s!=null&&s.split(isn).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(fKe)){const b=p.replace(dKe,rsn).replace(fKe,dKe);u.textStyles.push(b)}u.styles.push(p)})},wsn=function(){return QR},$ve=function(i,s){i.split(",").forEach(function(u){let d=ZR(u);if(d===void 0){const p=u.trim();rS(p),d=ZR(p)}d.classes.push(s)})},ysn=function(i,s){const u=ZR(i);u!==void 0&&u.textStyles.push(s)},xsn=function(i,s){const u=ZR(i);u!==void 0&&u.textStyles.push(s)},G7={getConfig:()=>qt().state,addState:rS,clear:vKe,getState:ZR,getStates:hsn,getRelations:dsn,getClasses:wsn,getDirection:()=>pKe,addRelation:wKe,getDividerId:vsn,setDirection:i=>{pKe=i},cleanupLabel:msn,lineType:ssn,relationType:asn,logDocuments:fsn,getRootDoc:csn,setRootDoc:osn,getRootDocV2:usn,extract:lsn,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:Cp,setAccTitle:Bg,getAccDescription:_p,setAccDescription:Sp,addStyleClass:yKe,setCssClass:$ve,addDescription:jve,setDiagramTitle:cm,getDiagramTitle:Ap},xKe=i=>` +defs #statediagram-barbEnd { + fill: ${i.transitionColor}; + stroke: ${i.transitionColor}; + } +g.stateGroup text { + fill: ${i.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${i.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${i.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.stateGroup line { + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${i.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${i.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + + text { + fill: ${i.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${i.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${i.transitionLabelColor||i.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${i.transitionLabelColor||i.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${i.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node .fork-join { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node circle.state-end { + fill: ${i.innerEndBackground}; + stroke: ${i.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${i.compositeBackground||i.background}; + // stroke: ${i.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${i.stateBkg||i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${i.lineColor}; +} + +.statediagram-cluster rect { + fill: ${i.compositeTitleBackground}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${i.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${i.stateBorder||i.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${i.compositeBackground||i.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${i.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${i.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${i.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`,zve={},ksn=(i,s)=>{zve[i]=s},Esn=i=>zve[i],kKe=()=>Object.keys(zve),Tsn={get:Esn,set:ksn,keys:kKe,size:()=>kKe().length},Csn=i=>i.append("circle").attr("class","start-state").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit).attr("cy",qt().state.padding+qt().state.sizeUnit),Ssn=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",qt().state.textHeight).attr("class","divider").attr("x2",qt().state.textHeight*2).attr("y1",0).attr("y2",0),_sn=(i,s)=>{const u=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+2*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.id),d=u.node().getBBox();return i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",d.width+2*qt().state.padding).attr("height",d.height+2*qt().state.padding).attr("rx",qt().state.radius),u},Asn=(i,s)=>{const u=function(R,F,j){const K=R.append("tspan").attr("x",2*qt().state.padding).text(F);j||K.attr("dy",qt().state.textHeight)},p=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+1.3*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.descriptions[0]).node().getBBox(),v=p.height,b=i.append("text").attr("x",qt().state.padding).attr("y",v+qt().state.padding*.4+qt().state.dividerMargin+qt().state.textHeight).attr("class","state-description");let y=!0,T=!0;s.descriptions.forEach(function(R){y||(u(b,R,T),T=!1),y=!1});const _=i.append("line").attr("x1",qt().state.padding).attr("y1",qt().state.padding+v+qt().state.dividerMargin/2).attr("y2",qt().state.padding+v+qt().state.dividerMargin/2).attr("class","descr-divider"),A=b.node().getBBox(),P=Math.max(A.width,p.width);return _.attr("x2",P+3*qt().state.padding),i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",P+2*qt().state.padding).attr("height",A.height+v+2*qt().state.padding).attr("rx",qt().state.radius),i},Lsn=(i,s,u)=>{const d=qt().state.padding,p=2*qt().state.padding,v=i.node().getBBox(),b=v.width,y=v.x,T=i.append("text").attr("x",0).attr("y",qt().state.titleShift).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.id),A=T.node().getBBox().width+p;let P=Math.max(A,b);P===b&&(P=P+p);let R;const F=i.node().getBBox();s.doc,R=y-d,A>b&&(R=(b-P)/2+d),Math.abs(y-F.x)b&&(R=y-(A-b)/2);const j=1-qt().state.textHeight;return i.insert("rect",":first-child").attr("x",R).attr("y",j).attr("class",u?"alt-composit":"composit").attr("width",P).attr("height",F.height+qt().state.textHeight+qt().state.titleShift+1).attr("rx","0"),T.attr("x",R+d),A<=b&&T.attr("x",y+(P-p)/2-A/2+d),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",qt().state.textHeight*3).attr("rx",qt().state.radius),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",F.height+3+2*qt().state.textHeight).attr("rx",qt().state.radius),i},Msn=i=>(i.append("circle").attr("class","end-state-outer").attr("r",qt().state.sizeUnit+qt().state.miniPadding).attr("cx",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding).attr("cy",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit+2).attr("cy",qt().state.padding+qt().state.sizeUnit+2)),Dsn=(i,s)=>{let u=qt().state.forkWidth,d=qt().state.forkHeight;if(s.parentId){let p=u;u=d,d=p}return i.append("rect").style("stroke","black").style("fill","black").attr("width",u).attr("height",d).attr("x",qt().state.padding).attr("y",qt().state.padding)},Isn=(i,s,u,d)=>{let p=0;const v=d.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"
    ");b=b.replace(/\n/g,"
    ");const y=b.split(ci.lineBreakRegex);let T=1.25*qt().state.noteMargin;for(const _ of y){const A=_.trim();if(A.length>0){const P=v.append("tspan");if(P.text(A),T===0){const R=P.node().getBBox();T+=R.height}p+=T,P.attr("x",s+qt().state.noteMargin),P.attr("y",u+p+1.25*qt().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:p}},Osn=(i,s)=>{s.attr("class","state-note");const u=s.append("rect").attr("x",0).attr("y",qt().state.padding),d=s.append("g"),{textWidth:p,textHeight:v}=Isn(i,0,0,d);return u.attr("height",v+2*qt().state.noteMargin),u.attr("width",p+qt().state.noteMargin*2),u},EKe=function(i,s){const u=s.id,d={id:u,label:s.id,width:0,height:0},p=i.append("g").attr("id",u).attr("class","stateGroup");s.type==="start"&&Csn(p),s.type==="end"&&Msn(p),(s.type==="fork"||s.type==="join")&&Dsn(p,s),s.type==="note"&&Osn(s.note.text,p),s.type==="divider"&&Ssn(p),s.type==="default"&&s.descriptions.length===0&&_sn(p,s),s.type==="default"&&s.descriptions.length>0&&Asn(p,s);const v=p.node().getBBox();return d.width=v.width+2*qt().state.padding,d.height=v.height+2*qt().state.padding,Tsn.set(u,d),d};let TKe=0;const Nsn=function(i,s,u){const d=function(T){switch(T){case G7.relationType.AGGREGATION:return"aggregation";case G7.relationType.EXTENSION:return"extension";case G7.relationType.COMPOSITION:return"composition";case G7.relationType.DEPENDENCY:return"dependency"}};s.points=s.points.filter(T=>!Number.isNaN(T.y));const p=s.points,v=k7().x(function(T){return T.x}).y(function(T){return T.y}).curve(FF),b=i.append("path").attr("d",v(p)).attr("id","edge"+TKe).attr("class","transition");let y="";if(qt().state.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),b.attr("marker-end","url("+y+"#"+d(G7.relationType.DEPENDENCY)+"End)"),u.title!==void 0){const T=i.append("g").attr("class","stateLabel"),{x:_,y:A}=Ao.calcLabelPosition(s.points),P=ci.getRows(u.title);let R=0;const F=[];let j=0,K=0;for(let oe=0;oe<=P.length;oe++){const pe=T.append("text").attr("text-anchor","middle").text(P[oe]).attr("x",_).attr("y",A+R),be=pe.node().getBBox();j=Math.max(j,be.width),K=Math.min(K,be.x),Xe.info(be.x,_,A+R),R===0&&(R=pe.node().getBBox().height,Xe.info("Title height",R,A)),F.push(pe)}let ee=R*P.length;if(P.length>1){const oe=(P.length-1)*R*.5;F.forEach((pe,be)=>pe.attr("y",A+be*R-oe)),ee=R*P.length}const ie=T.node().getBBox();T.insert("rect",":first-child").attr("class","box").attr("x",_-j/2-qt().state.padding/2).attr("y",A-ee/2-qt().state.padding/2-3.5).attr("width",j+qt().state.padding).attr("height",ee+qt().state.padding),Xe.info(ie)}TKe++};let gm;const qve={},Psn=function(){},Bsn=function(i){i.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")},Fsn=function(i,s,u,d){gm=qt().state;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const b=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body"),y=p==="sandbox"?v.nodes()[0].contentDocument:document;Xe.debug("Rendering diagram "+i);const T=b.select(`[id='${s}']`);Bsn(T);const _=d.db.getRootDoc();CKe(_,T,void 0,!1,b,y,d);const A=gm.padding,P=T.node().getBBox(),R=P.width+A*2,F=P.height+A*2,j=R*1.75;Ng(T,F,j,gm.useMaxWidth),T.attr("viewBox",`${P.x-gm.padding} ${P.y-gm.padding} `+R+" "+F)},Rsn=i=>i?i.length*gm.fontSizeFactor:1,CKe=(i,s,u,d,p,v,b)=>{const y=new B0({compound:!0,multigraph:!0});let T,_=!0;for(T=0;T{const be=pe.parentElement;let ae=0,ne=0;be&&(be.parentElement&&(ae=be.parentElement.getBBox().width),ne=parseInt(be.getAttribute("data-x-shift"),10),Number.isNaN(ne)&&(ne=0)),pe.setAttribute("x1",0-ne+8),pe.setAttribute("x2",ae-ne-8)})):Xe.debug("No Node "+ie+": "+JSON.stringify(y.node(ie)))});let K=j.getBBox();y.edges().forEach(function(ie){ie!==void 0&&y.edge(ie)!==void 0&&(Xe.debug("Edge "+ie.v+" -> "+ie.w+": "+JSON.stringify(y.edge(ie))),Nsn(s,y.edge(ie),y.edge(ie).relation))}),K=j.getBBox();const ee={id:u||"root",label:u||"root",width:0,height:0};return ee.width=K.width+2*gm.padding,ee.height=K.height+2*gm.padding,Xe.debug("Doc rendered",ee,y),ee},jsn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:oKe,db:G7,renderer:{setConf:Psn,draw:Fsn},styles:xKe,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,G7.clear()}}},Symbol.toStringTag,{value:"Module"})),AJ="rect",Hve="rectWithTitle",$sn="start",zsn="end",qsn="divider",Hsn="roundedWithTitle",Vsn="note",Usn="noteGroup",QD="statediagram",Gsn=`${QD}-state`,SKe="transition",Ksn="note",Wsn=`${SKe} note-edge`,Ysn=`${QD}-${Ksn}`,Xsn=`${QD}-cluster`,Qsn=`${QD}-cluster-alt`,_Ke="parent",AKe="note",Jsn="state",Vve="----",Zsn=`${Vve}${AKe}`,LKe=`${Vve}${_Ke}`,MKe="fill:none",DKe="fill: #333",IKe="c",OKe="text",NKe="normal";let LJ={},j9=0;const ean=function(i){const s=Object.keys(i);for(const u of s)i[u]},tan=function(i,s){return s.db.extract(s.db.getRootDocV2()),s.db.getClasses()};function nan(i){return i==null?"":i.classes?i.classes.join(" "):""}function Uve(i="",s=0,u="",d=Vve){const p=u!==null&&u.length>0?`${d}${u}`:"";return`${Jsn}-${i}${p}-${s}`}const ej=(i,s,u,d,p,v)=>{const b=u.id,y=nan(d[b]);if(b!=="root"){let T=AJ;u.start===!0&&(T=$sn),u.start===!1&&(T=zsn),u.type!==XR&&(T=u.type),LJ[b]||(LJ[b]={id:b,shape:T,description:ci.sanitizeText(b,qt()),classes:`${y} ${Gsn}`});const _=LJ[b];u.description&&(Array.isArray(_.description)?(_.shape=Hve,_.description.push(u.description)):_.description.length>0?(_.shape=Hve,_.description===b?_.description=[u.description]:_.description=[_.description,u.description]):(_.shape=AJ,_.description=u.description),_.description=ci.sanitizeTextOrArray(_.description,qt())),_.description.length===1&&_.shape===Hve&&(_.shape=AJ),!_.type&&u.doc&&(Xe.info("Setting cluster for ",b,Gve(u)),_.type="group",_.dir=Gve(u),_.shape=u.type===cKe?qsn:Hsn,_.classes=_.classes+" "+Xsn+" "+(v?Qsn:""));const A={labelStyle:"",shape:_.shape,labelText:_.description,classes:_.classes,style:"",id:b,dir:_.dir,domId:Uve(b,j9),type:_.type,padding:15};if(A.centerLabel=!0,u.note){const P={labelStyle:"",shape:Vsn,labelText:u.note.text,classes:Ysn,style:"",id:b+Zsn+"-"+j9,domId:Uve(b,j9,AKe),type:_.type,padding:15},R={labelStyle:"",shape:Usn,labelText:u.note.text,classes:_.classes,style:"",id:b+LKe,domId:Uve(b,j9,_Ke),type:"group",padding:0};j9++;const F=b+LKe;i.setNode(F,R),i.setNode(P.id,P),i.setNode(b,A),i.setParent(b,F),i.setParent(P.id,F);let j=b,K=P.id;u.note.position==="left of"&&(j=P.id,K=b),i.setEdge(j,K,{arrowhead:"none",arrowType:"",style:MKe,labelStyle:"",classes:Wsn,arrowheadStyle:DKe,labelpos:IKe,labelType:OKe,thickness:NKe})}else i.setNode(b,A)}s&&s.id!=="root"&&(Xe.trace("Setting node ",b," to be child of its parent ",s.id),i.setParent(b,s.id)),u.doc&&(Xe.trace("Adding nodes children "),ran(i,u,u.doc,d,p,!v))},ran=(i,s,u,d,p,v)=>{Xe.trace("items",u),u.forEach(b=>{switch(b.stmt){case EJ:ej(i,s,b,d,p,v);break;case XR:ej(i,s,b,d,p,v);break;case Pve:{ej(i,s,b.state1,d,p,v),ej(i,s,b.state2,d,p,v);const y={id:"edge"+j9,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:MKe,labelStyle:"",label:ci.sanitizeText(b.description,qt()),arrowheadStyle:DKe,labelpos:IKe,labelType:OKe,thickness:NKe,classes:SKe};i.setEdge(b.state1.id,b.state2.id,y,j9),j9++}break}})},Gve=(i,s=esn)=>{let u=s;if(i.doc)for(let d=0;d{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,G7.clear()}}},Symbol.toStringTag,{value:"Module"}));var Kve=function(){var i=function(P,R,F,j){for(F=F||{},j=P.length;j--;F[P[j]]=R);return F},s=[6,8,10,11,12,14,16,17,18],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,14],T={trace:function(){},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:function(R,F,j,K,ee,ie,oe){var pe=ie.length-1;switch(ee){case 1:return ie[pe-1];case 2:this.$=[];break;case 3:ie[pe-1].push(ie[pe]),this.$=ie[pe-1];break;case 4:case 5:this.$=ie[pe];break;case 6:case 7:this.$=[];break;case 8:K.setDiagramTitle(ie[pe].substr(6)),this.$=ie[pe].substr(6);break;case 9:this.$=ie[pe].trim(),K.setAccTitle(this.$);break;case 10:case 11:this.$=ie[pe].trim(),K.setAccDescription(this.$);break;case 12:K.addSection(ie[pe].substr(8)),this.$=ie[pe].substr(8);break;case 13:K.addTask(ie[pe-1],ie[pe]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:y},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:15,11:u,12:d,14:p,16:v,17:b,18:y},i(s,[2,5]),i(s,[2,6]),i(s,[2,8]),{13:[1,16]},{15:[1,17]},i(s,[2,11]),i(s,[2,12]),{19:[1,18]},i(s,[2,4]),i(s,[2,9]),i(s,[2,10]),i(s,[2,13])],defaultActions:{},parseError:function(R,F){if(F.recoverable)this.trace(R);else{var j=new Error(R);throw j.hash=F,j}},parse:function(R){var F=this,j=[0],K=[],ee=[null],ie=[],oe=this.table,pe="",be=0,ae=0,ne=2,se=1,de=ie.slice.call(arguments,1),X=Object.create(this.lexer),ge={yy:{}};for(var W in this.yy)Object.prototype.hasOwnProperty.call(this.yy,W)&&(ge.yy[W]=this.yy[W]);X.setInput(R,ge.yy),ge.yy.lexer=X,ge.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var xe=X.yylloc;ie.push(xe);var U=X.options&&X.options.ranges;typeof ge.yy.parseError=="function"?this.parseError=ge.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fe(){var _t;return _t=K.pop()||X.lex()||se,typeof _t!="number"&&(_t instanceof Array&&(K=_t,_t=K.pop()),_t=F.symbols_[_t]||_t),_t}for(var Pe,je,Ie,Se,Ce={},ke,Ke,Ft,Ne;;){if(je=j[j.length-1],this.defaultActions[je]?Ie=this.defaultActions[je]:((Pe===null||typeof Pe>"u")&&(Pe=Fe()),Ie=oe[je]&&oe[je][Pe]),typeof Ie>"u"||!Ie.length||!Ie[0]){var gn="";Ne=[];for(ke in oe[je])this.terminals_[ke]&&ke>ne&&Ne.push("'"+this.terminals_[ke]+"'");X.showPosition?gn="Parse error on line "+(be+1)+`: +`+X.showPosition()+` +Expecting `+Ne.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":gn="Parse error on line "+(be+1)+": Unexpected "+(Pe==se?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(gn,{text:X.match,token:this.terminals_[Pe]||Pe,line:X.yylineno,loc:xe,expected:Ne})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+je+", token: "+Pe);switch(Ie[0]){case 1:j.push(Pe),ee.push(X.yytext),ie.push(X.yylloc),j.push(Ie[1]),Pe=null,ae=X.yyleng,pe=X.yytext,be=X.yylineno,xe=X.yylloc;break;case 2:if(Ke=this.productions_[Ie[1]][1],Ce.$=ee[ee.length-Ke],Ce._$={first_line:ie[ie.length-(Ke||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(Ke||1)].first_column,last_column:ie[ie.length-1].last_column},U&&(Ce._$.range=[ie[ie.length-(Ke||1)].range[0],ie[ie.length-1].range[1]]),Se=this.performAction.apply(Ce,[pe,ae,be,ge.yy,Ie[1],ee,ie].concat(de)),typeof Se<"u")return Se;Ke&&(j=j.slice(0,-1*Ke*2),ee=ee.slice(0,-1*Ke),ie=ie.slice(0,-1*Ke)),j.push(this.productions_[Ie[1]][0]),ee.push(Ce.$),ie.push(Ce._$),Ft=oe[j[j.length-2]][j[j.length-1]],j.push(Ft);break;case 3:return!0}}return!0}},_=function(){var P={EOF:1,parseError:function(F,j){if(this.yy.parser)this.yy.parser.parseError(F,j);else throw new Error(F)},setInput:function(R,F){return this.yy=F||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},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var F=R.match(/(?:\r\n?|\n).*/g);return F?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var F=R.length,j=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;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),j.length-1&&(this.yylineno-=j.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:j?(j.length===K.length?this.yylloc.first_column:0)+K[K.length-j.length].length-j[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var R=this.pastInput(),F=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+F+"^"},test_match:function(R,F){var j,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=R[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+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],j=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),j)return j;if(this._backtrack){for(var ie in ee)this[ie]=ee[ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,F,j,K;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),ie=0;ieF[0].length)){if(F=j,K=ie,this.options.backtrack_lexer){if(R=this.test_match(j,ee[ie]),R!==!1)return R;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(R=this.test_match(F,ee[K]),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})},lex:function(){var F=this.next();return F||this.lex()},begin:function(F){this.conditionStack.push(F)},popState:function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},pushState:function(F){this.begin(F)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(F,j,K,ee){switch(K){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;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},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 P}();T.lexer=_;function A(){this.yy={}}return A.prototype=T,T.Parser=A,new A}();Kve.parser=Kve;const san=Kve;let JD="";const Wve=[],tj=[],nj=[],aan=function(){Wve.length=0,tj.length=0,JD="",nj.length=0,Pg()},oan=function(i){JD=i,Wve.push(i)},can=function(){return Wve},uan=function(){let i=PKe();const s=100;let u=0;for(;!i&&u{u.people&&i.push(...u.people)}),[...new Set(i)].sort()},han=function(i,s){const u=s.substr(1).split(":");let d=0,p=[];u.length===1?(d=Number(u[0]),p=[]):(d=Number(u[0]),p=u[1].split(","));const v=p.map(y=>y.trim()),b={section:JD,type:JD,people:v,task:i,score:d};nj.push(b)},fan=function(i){const s={section:JD,type:JD,description:i,task:i,classes:[]};tj.push(s)},PKe=function(){const i=function(u){return nj[u].processed};let s=!0;for(const[u,d]of nj.entries())i(u),s=s&&d.processed;return s},BKe={getConfig:()=>qt().journey,clear:aan,setDiagramTitle:cm,getDiagramTitle:Ap,setAccTitle:Bg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addSection:oan,getSections:can,getTasks:uan,addTask:han,addTaskOrg:fan,getActors:function(){return lan()}},dan=i=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${i.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${i.textColor} + } + + .legend { + fill: ${i.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${i.textColor} + } + + .face { + ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${i.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${i.fillType0?`fill: ${i.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${i.fillType0?`fill: ${i.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${i.fillType0?`fill: ${i.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${i.fillType0?`fill: ${i.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${i.fillType0?`fill: ${i.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${i.fillType0?`fill: ${i.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${i.fillType0?`fill: ${i.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${i.fillType0?`fill: ${i.fillType7}`:""}; + } + + .actor-0 { + ${i.actor0?`fill: ${i.actor0}`:""}; + } + .actor-1 { + ${i.actor1?`fill: ${i.actor1}`:""}; + } + .actor-2 { + ${i.actor2?`fill: ${i.actor2}`:""}; + } + .actor-3 { + ${i.actor3?`fill: ${i.actor3}`:""}; + } + .actor-4 { + ${i.actor4?`fill: ${i.actor4}`:""}; + } + .actor-5 { + ${i.actor5?`fill: ${i.actor5}`:""}; + } +`,Yve=function(i,s){return AQ(i,s)},gan=function(i,s){const d=i.append("circle").attr("cx",s.cx).attr("cy",s.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",s.cx-15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",s.cx+15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(T){const _=lD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+2)+")")}function b(T){const _=lD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+7)+")")}function y(T){T.append("line").attr("class","mouth").attr("stroke",2).attr("x1",s.cx-5).attr("y1",s.cy+7).attr("x2",s.cx+5).attr("y2",s.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s.score>3?v(p):s.score<3?b(p):y(p),d},FKe=function(i,s){const u=i.append("circle");return u.attr("cx",s.cx),u.attr("cy",s.cy),u.attr("class","actor-"+s.pos),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("r",s.r),u.class!==void 0&&u.attr("class",u.class),s.title!==void 0&&u.append("title").text(s.title),u},RKe=function(i,s){return tUt(i,s)},pan=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(s.x,s.y,50,20,7)),d.attr("class","labelBox"),s.y=s.y+s.labelMargin,s.x=s.x+.5*s.labelMargin,RKe(i,s)},ban=function(i,s,u){const d=i.append("g"),p=qC();p.x=s.x,p.y=s.y,p.fill=s.fill,p.width=u.width*s.taskCount+u.diagramMarginX*(s.taskCount-1),p.height=u.height,p.class="journey-section section-type-"+s.num,p.rx=3,p.ry=3,Yve(d,p),$Ke(u)(s.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+s.num},u,s.colour)};let jKe=-1;const man=function(i,s,u){const d=s.x+u.width/2,p=i.append("g");jKe++;const v=300+5*30;p.append("line").attr("id","task"+jKe).attr("x1",d).attr("y1",s.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),gan(p,{cx:d,cy:300+(5-s.score)*30,score:s.score});const b=qC();b.x=s.x,b.y=s.y,b.fill=s.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+s.num,b.rx=3,b.ry=3,Yve(p,b);let y=s.x+14;s.people.forEach(T=>{const _=s.actors[T].color,A={cx:y,cy:s.y,r:7,fill:_,stroke:"#000",title:T,pos:s.actors[T].position};FKe(p,A),y+=10}),$Ke(u)(s.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,s.colour)},van=function(i,s){Tqe(i,s)},$Ke=function(){function i(p,v,b,y,T,_,A,P){const R=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function s(p,v,b,y,T,_,A,P,R){const{taskFontSize:F,taskFontFamily:j}=P,K=p.split(//gi);for(let ee=0;ee{const p=K7[d].color,v={cx:20,cy:u,r:7,fill:p,stroke:"#000",pos:K7[d].position};rj.drawCircle(i,v);const b={x:40,y:u+7,fill:"#666",text:d,textMargin:s.boxTextMargin|5};rj.drawText(i,b),u+=20})}const MJ=qt().journey,iS=MJ.leftMargin,xan=function(i,s,u,d){const p=qt().journey,v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body");qv.init();const T=y.select("#"+s);rj.initGraphics(T);const _=d.db.getTasks(),A=d.db.getDiagramTitle(),P=d.db.getActors();for(const ie in K7)delete K7[ie];let R=0;P.forEach(ie=>{K7[ie]={color:p.actorColours[R%p.actorColours.length],position:R},R++}),yan(T),qv.insert(0,0,iS,Object.keys(K7).length*50),kan(T,_,0);const F=qv.getBounds();A&&T.append("text").text(A).attr("x",iS).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const j=F.stopy-F.starty+2*p.diagramMarginY,K=iS+F.stopx+2*p.diagramMarginX;Ng(T,j,K,p.useMaxWidth),T.append("line").attr("x1",iS).attr("y1",p.height*4).attr("x2",K-iS-4).attr("y2",p.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const ee=A?70:0;T.attr("viewBox",`${F.startx} -25 ${K} ${j+ee}`),T.attr("preserveAspectRatio","xMinYMin meet"),T.attr("height",j+ee+25)},qv={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,s,u,d){i[s]===void 0?i[s]=u:i[s]=d(u,i[s])},updateBounds:function(i,s,u,d){const p=qt().journey,v=this;let b=0;function y(T){return function(A){b++;const P=v.sequenceItems.length-b+1;v.updateVal(A,"starty",s-P*p.boxMargin,Math.min),v.updateVal(A,"stopy",d+P*p.boxMargin,Math.max),v.updateVal(qv.data,"startx",i-P*p.boxMargin,Math.min),v.updateVal(qv.data,"stopx",u+P*p.boxMargin,Math.max),T!=="activation"&&(v.updateVal(A,"startx",i-P*p.boxMargin,Math.min),v.updateVal(A,"stopx",u+P*p.boxMargin,Math.max),v.updateVal(qv.data,"starty",s-P*p.boxMargin,Math.min),v.updateVal(qv.data,"stopy",d+P*p.boxMargin,Math.max))}}this.sequenceItems.forEach(y())},insert:function(i,s,u,d){const p=Math.min(i,u),v=Math.max(i,u),b=Math.min(s,d),y=Math.max(s,d);this.updateVal(qv.data,"startx",p,Math.min),this.updateVal(qv.data,"starty",b,Math.min),this.updateVal(qv.data,"stopx",v,Math.max),this.updateVal(qv.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Xve=MJ.sectionFills,zKe=MJ.sectionColours,kan=function(i,s,u){const d=qt().journey;let p="";const v=d.height*2+d.diagramMarginY,b=u+v;let y=0,T="#CCC",_="black",A=0;for(const[P,R]of s.entries()){if(p!==R.section){T=Xve[y%Xve.length],A=y%Xve.length,_=zKe[y%zKe.length];let j=0;const K=R.section;for(let ie=P;ie(K7[K]&&(j[K]=K7[K]),j),{});R.x=P*d.taskMargin+P*d.width+iS,R.y=b,R.width=d.diagramMarginX,R.height=d.diagramMarginY,R.colour=_,R.fill=T,R.num=A,R.actors=F,rj.drawTask(i,R,d),qv.insert(R.x,R.y,R.x+R.width+d.taskMargin,300+5*30)}},qKe={setConf:wan,draw:xan},Ean=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:san,db:BKe,renderer:qKe,styles:dan,init:i=>{qKe.setConf(i.journey),BKe.clear()}}},Symbol.toStringTag,{value:"Module"})),Tan=(i,s,u)=>{const{parentById:d}=u,p=new Set;let v=i;for(;v;){if(p.add(v),v===s)return v;v=d[v]}for(v=s;v;){if(p.has(v))return v;v=d[v]}return"root"};function DJ(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var HKe={exports:{}};(function(i,s){(function(u){i.exports=u()})(function(){return function(){function u(d,p,v){function b(_,A){if(!p[_]){if(!d[_]){var P=typeof DJ=="function"&&DJ;if(!A&&P)return P(_,!0);if(y)return y(_,!0);var R=new Error("Cannot find module '"+_+"'");throw R.code="MODULE_NOT_FOUND",R}var F=p[_]={exports:{}};d[_][0].call(F.exports,function(j){var K=d[_][1][j];return b(K||j)},F,F.exports,u,d,p,v)}return p[_].exports}for(var y=typeof DJ=="function"&&DJ,T=0;T0&&arguments[0]!==void 0?arguments[0]:{},R=P.defaultLayoutOptions,F=R===void 0?{}:R,j=P.algorithms,K=j===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:j,ee=P.workerFactory,ie=P.workerUrl;if(b(this,_),this.defaultLayoutOptions=F,this.initialized=!1,typeof ie>"u"&&typeof ee>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var oe=ee;typeof ie<"u"&&typeof ee>"u"&&(oe=function(ae){return new Worker(ae)});var pe=oe(ie);if(typeof pe.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new T(pe),this.worker.postMessage({cmd:"register",algorithms:K}).then(function(be){return A.initialized=!0}).catch(console.err)}return v(_,[{key:"layout",value:function(P){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},F=R.layoutOptions,j=F===void 0?this.defaultLayoutOptions:F,K=R.logging,ee=K===void 0?!1:K,ie=R.measureExecutionTime,oe=ie===void 0?!1:ie;return P?this.worker.postMessage({cmd:"layout",graph:P,layoutOptions:j,options:{logging:ee,measureExecutionTime:oe}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),_}();p.default=y;var T=function(){function _(A){var P=this;if(b(this,_),A===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=A,this.worker.onmessage=function(R){setTimeout(function(){P.receive(P,R)},0)}}return v(_,[{key:"postMessage",value:function(P){var R=this.id||0;this.id=R+1,P.id=R;var F=this;return new Promise(function(j,K){F.resolvers[R]=function(ee,ie){ee?(F.convertGwtStyleError(ee),K(ee)):j(ie)},F.worker.postMessage(P)})}},{key:"receive",value:function(P,R){var F=R.data,j=P.resolvers[F.id];j&&(delete P.resolvers[F.id],F.error?j(F.error):j(null,F.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(P){if(P){var R=P.__java$exception;R&&(R.cause&&R.cause.backingJsObject&&(P.cause=R.cause.backingJsObject,this.convertGwtStyleError(P.cause)),delete P.__java$exception)}}}]),_}()},{}],2:[function(u,d,p){(function(v){(function(){var b;typeof window<"u"?b=window:typeof v<"u"?b=v:typeof self<"u"&&(b=self);var y;function T(){}function _(){}function A(){}function P(){}function R(){}function F(){}function j(){}function K(){}function ee(){}function ie(){}function oe(){}function pe(){}function be(){}function ae(){}function ne(){}function se(){}function de(){}function X(){}function ge(){}function W(){}function xe(){}function U(){}function Fe(){}function Pe(){}function je(){}function Ie(){}function Se(){}function Ce(){}function ke(){}function Ke(){}function Ft(){}function Ne(){}function gn(){}function _t(){}function Et(){}function Gt(){}function ln(){}function xt(){}function Pt(){}function Qe(){}function Dt(){}function kt(){}function On(){}function ht(){}function zr(){}function yt(){}function ji(){}function xi(){}function Ma(){}function zs(){}function ao(){}function Tr(){}function Fn(){}function qn(){}function Un(){}function At(){}function wt(){}function on(){}function fn(){}function An(){}function oo(){}function jo(){}function $o(){}function Pa(){}function wo(){}function _s(){}function tl(){}function da(){}function j0(){}function pm(){}function Ml(){}function Xc(){}function Bc(){}function ja(){}function Ou(){}function Sa(){}function Po(){}function Fc(){}function xa(){}function Ba(){}function ga(){}function kh(){}function lu(){}function o5(){}function Wh(){}function od(){}function Gd(){}function cd(){}function Kd(){}function $g(){}function as(){}function wn(){}function Zr(){}function Zi(){}function nu(){}function vu(){}function Dl(){}function Yh(){}function w1(){}function $0(){}function Wi(){}function Bs(){}function Qa(){}function Bi(){}function Nu(){}function Ot(){}function W3(){}function Kt(){}function z0(){}function Bp(){}function Y3(){}function $9(){}function c5(){}function Eh(){}function zg(){}function bm(){}function z9(){}function mm(){}function u5(){}function y1(){}function ud(){}function ld(){}function q9(){}function Vv(){}function Y7(){}function G2(){}function X7(){}function l5(){}function X3(){}function Fp(){}function nI(){}function ch(){}function oS(){}function hu(){}function $J(){}function vm(){}function zJ(){}function oj(){}function qJ(){}function cj(){}function q0(){}function Q3(){}function cS(){}function uj(){}function K2(){}function J3(){}function HJ(){}function wm(){}function VJ(){}function UJ(){}function Q7(){}function uS(){}function lj(){}function H9(){}function GJ(){}function V9(){}function KJ(){}function WJ(){}function YJ(){}function XJ(){}function QJ(){}function JJ(){}function ZJ(){}function eZ(){}function tZ(){}function nZ(){}function rZ(){}function rI(){}function iZ(){}function sZ(){}function lS(){}function hj(){}function J7(){}function aZ(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hS(){}function iI(){}function fj(){}function h5(){}function f5(){}function hZ(){}function t0(){}function Z7(){}function fZ(){}function U9(){}function Wd(){}function dZ(){}function gZ(){}function pZ(){}function dj(){}function bZ(){}function fS(){}function dS(){}function gj(){}function sI(){}function e8(){}function mZ(){}function pj(){}function bj(){}function vZ(){}function wZ(){}function yZ(){}function xZ(){}function kZ(){}function EZ(){}function Yd(){}function Uv(){}function TZ(){}function gS(){}function pS(){}function CZ(){}function d5(){}function G9(){}function aI(){}function Z3(){}function K9(){}function SZ(){}function bS(){}function hd(){}function mj(){}function oI(){}function W9(){}function cI(){}function vj(){}function _Z(){}function uI(){}function AZ(){}function LZ(){}function wj(){}function t8(){}function yj(){}function n8(){}function MZ(){}function lI(){}function DZ(){}function IZ(){}function OZ(){}function NZ(){}function xj(){}function PZ(){}function BZ(){}function kj(){}function FZ(){}function RZ(){}function jZ(){}function $Z(){}function Ej(){}function zZ(){}function qZ(){}function Tj(){}function Cj(){}function Sj(){}function HZ(){}function VZ(){}function Y9(){}function r8(){}function mS(){}function UZ(){}function hI(){}function vS(){}function fI(){}function _j(){}function Aj(){}function GZ(){}function KZ(){}function WZ(){}function Lj(){}function Mj(){}function YZ(){}function XZ(){}function QZ(){}function JZ(){}function ZZ(){}function Dj(){}function eee(){}function tee(){}function nee(){}function ree(){}function Ij(){}function wS(){}function iee(){}function see(){}function Oj(){}function aee(){}function oee(){}function cee(){}function uee(){}function lee(){}function hee(){}function Nj(){}function fee(){}function Pj(){}function dee(){}function gee(){}function pee(){}function yS(){}function bee(){}function xS(){}function mee(){}function Bj(){}function Fj(){}function Rj(){}function jj(){}function Gv(){}function $j(){}function zj(){}function qj(){}function Hj(){}function vee(){}function i8(){}function dI(){}function g5(){}function wee(){}function yee(){}function kS(){}function Vj(){}function xee(){}function kee(){}function Eee(){}function Tee(){}function Cee(){}function See(){}function _ee(){}function Aee(){}function Lee(){}function Mee(){}function ES(){}function Uj(){}function Dee(){}function Iee(){}function Oee(){}function Nee(){}function Pee(){}function Gj(){}function Kj(){}function Bee(){}function Wj(){}function Yj(){}function Fee(){}function Ree(){}function jee(){}function $ee(){}function zee(){}function qee(){}function Hee(){}function Vee(){}function gI(){}function Uee(){}function X9(){}function Xj(){}function Gee(){}function Kee(){}function Wee(){}function Yee(){}function Xee(){}function Qee(){}function Jee(){}function Zee(){}function ete(){}function tte(){}function nte(){}function rte(){}function ite(){}function ste(){}function ate(){}function s8(){}function Qj(){}function ote(){}function cte(){}function ute(){}function Jj(){}function lte(){}function TS(){}function hte(){}function fte(){}function dte(){}function gte(){}function pte(){}function bte(){}function mte(){}function vte(){}function wte(){}function yte(){}function a8(){}function xte(){}function kte(){}function Ete(){}function Tte(){}function Cte(){}function Ste(){}function _te(){}function Ate(){}function CS(){}function Lte(){}function Mte(){}function Dte(){}function Ite(){}function Ote(){}function Nte(){}function Pte(){}function Bte(){}function o8(){}function Zj(){}function Fte(){}function pI(){}function Rte(){}function jte(){}function $te(){}function zte(){}function qte(){}function Hte(){}function Vte(){}function e$(){}function Ute(){}function t$(){}function Gte(){}function n$(){}function r$(){}function i$(){}function Kte(){}function Wte(){}function s$(){}function Yte(){}function a$(){}function Xte(){}function Qte(){}function bI(){}function Jte(){}function Zte(){}function ene(){}function tne(){}function nne(){}function o$(){}function rne(){}function ine(){}function sne(){}function pwe(){}function ane(){}function one(){}function cne(){}function une(){}function lne(){}function hne(){}function fne(){}function dne(){}function gne(){}function pne(){}function bne(){}function mne(){}function vne(){}function wne(){}function yne(){}function xne(){}function fu(){}function kne(){}function SS(){}function Rc(){}function Pu(){}function hs(){}function mI(){}function Ene(){}function Tne(){}function Cne(){}function c8(){}function ym(){}function Q9(){}function Sne(){}function vI(){}function _ne(){}function Ane(){}function Lne(){}function c$(){}function Mne(){}function Dne(){}function wI(){}function Ine(){}function uh(){}function gl(){}function u$(){}function One(){}function Nne(){}function ey(){}function p5(){}function ty(){}function Rp(){}function u8(){}function yI(){}function l$(){}function h$(){}function Pne(){}function x1(){}function f$(){}function ny(){}function J9(){}function xI(){}function l8(){}function W2(){}function d$(){}function g$(){}function p$(){}function Bne(){}function h8(){}function ry(){}function jp(){}function Y2(){}function b5(){}function Z9(){}function _S(){}function kI(){}function Fne(){}function Rne(){}function b$(){}function m$(){}function Ut(){}function ek(){}function v$(){}function w$(){}function jne(){}function tk(){}function nk(){}function y$(){}function $ne(){}function zne(){}function qne(){}function Hne(){}function Vne(){}function Une(){}function EI(){}function Gne(){}function Kne(){}function x$(){}function AS(){}function Wne(){}function TI(){}function rk(){}function ik(){}function sk(){}function k$(){}function Yne(){}function E$(){}function T$(){}function Xne(){}function LS(){}function X2(){}function C$(){}function S$(){}function MS(){}function Qne(){}function m5(){}function _$(){}function CI(){}function Qc(){}function SI(){}function _I(){}function DS(){}function Jne(){}function Zne(){}function IS(){}function ere(){}function OS(){}function NS(){}function H0(){}function AI(){}function LI(){}function f8(){}function tre(){}function nre(){}function rre(){}function ire(){}function Xd(){}function PS(){}function d8(){}function k1(){}function A$(){}function L$(){}function M$(){}function D$(){}function I$(){}function O$(){}function V0(){}function nl(){}function sre(){}function are(){}function ore(){}function rl(){}function BS(){}function N$(){}function P$(){}function g8(){}function cre(){}function ak(){}function ure(){}function B$(){}function lre(){}function hre(){}function FS(){}function F$(){}function MI(){}function RS(){}function fre(){}function dre(){}function DI(){}function jS(){}function E1(){}function ok(){}function gre(){}function ck(){}function II(){}function xm(){}function $S(){}function OI(){}function U0(){}function zS(){}function T1(){}function C1(){}function pre(){}function bre(){}function v5(){}function uk(){}function lk(){}function qS(){}function mre(){}function vre(){}function p8(){}function R$(){}function j$(){}function wre(){}function $$(){}function yre(){}function z$(){}function NI(){}function xre(){}function HS(){}function kre(){}function Ere(){}function Tre(){}function Cre(){}function Sre(){}function q$(){}function _re(){}function Are(){}function Lre(){}function H$(){}function Mre(){}function Dre(){}function VS(){}function Ire(){}function Ore(){}function Nre(){}function Pre(){}function Bre(){}function Fre(){}function V$(){}function Rre(){}function U$(){}function jre(){}function PI(){}function $re(){}function G$(){}function zre(){}function K$(){}function qre(){}function W$(){}function Y$(){}function X$(){}function BI(){}function w5(){}function US(){}function S1(){}function Q$(){}function hk(){}function FI(){}function J$(){}function km(){}function Z$(){}function GS(){o_()}function Hre(){iO()}function ez(){dU()}function tz(){Lce()}function nz(){IA()}function KS(){Xxe()}function WS(){b0()}function rz(){axe()}function iz(){VN()}function b8(){sO()}function Kv(){OO()}function fk(){het()}function sz(){lx()}function Vre(){$ut()}function az(){s7e()}function m8(){Aot()}function RI(){a7e()}function oz(){mlt()}function Ure(){_ot()}function cz(){TE()}function YS(){eft()}function XS(){Zht()}function jI(){Ect()}function Gre(){tft()}function Kre(){Cb()}function Wre(){eq()}function Yre(){Yke()}function Xre(){Nt()}function Qre(){nft()}function Jre(){Lft()}function Zre(){Lot()}function eie(){egt()}function tie(){Mot()}function nie(){gmt()}function rie(){_9e()}function iie(){tp()}function sie(){p1t()}function v8(){Hc()}function aie(){jot()}function dk(){ux()}function Cf(){uke()}function oie(){Sb()}function gk(){lke()}function QS(){z1()}function cie(){YN()}function uie(){tle()}function lie(){lue()}function Sf(){pit()}function hie(){ZH()}function fie(){wU()}function uz(){pi()}function die(){PV()}function lz(){B8e()}function hz(){lce()}function fz(){zU()}function dz(){xke()}function n0(e){nr(e)}function gz(e){this.a=e}function JS(e){this.a=e}function pz(e){this.a=e}function bz(e){this.a=e}function gie(e){this.a=e}function pie(e){this.a=e}function mz(e){this.a=e}function bie(e){this.a=e}function vz(e){this.a=e}function Q2(e){this.a=e}function mie(e){this.a=e}function vie(e){this.a=e}function $I(e){this.a=e}function wie(e){this.a=e}function yie(e){this.a=e}function pk(e){this.a=e}function J2(e){this.a=e}function wz(e){this.a=e}function bk(e){this.a=e}function y5(e){this.a=e}function zI(e){this.a=e}function w8(e){this.a=e}function qI(e){this.b=e}function qg(e){this.c=e}function xie(e){this.a=e}function iy(e){this.a=e}function yz(e){this.a=e}function xz(e){this.a=e}function HI(e){this.a=e}function VI(e){this.a=e}function kz(e){this.a=e}function y8(e){this.a=e}function mk(e){this.a=e}function kie(e){this.a=e}function Ez(e){this.a=e}function Tz(e){this.a=e}function Cz(e){this.a=e}function Sz(e){this.a=e}function jc(e){this.a=e}function vk(e){this.a=e}function wk(e){this.a=e}function $p(){this.a=[]}function Eie(e,t){e.a=t}function Tie(e,t){e.a=t}function Cie(e,t){e.b=t}function Sie(e,t){e.b=t}function _ie(e,t){e.b=t}function _z(e,t){e.j=t}function bwe(e,t){e.g=t}function Az(e,t){e.i=t}function Aie(e,t){e.c=t}function x8(e,t){e.c=t}function mwe(e,t){e.d=t}function k8(e,t){e.d=t}function x(e,t){e.k=t}function m(e,t){e.c=t}function k(e,t){e.c=t}function S(e,t){e.a=t}function M(e,t){e.a=t}function O(e,t){e.f=t}function N(e,t){e.a=t}function $(e,t){e.b=t}function H(e,t){e.d=t}function q(e,t){e.i=t}function Y(e,t){e.o=t}function Z(e,t){e.r=t}function ce(e,t){e.a=t}function ve(e,t){e.b=t}function me(e,t){e.e=t}function Le(e,t){e.f=t}function _e(e,t){e.g=t}function Ee(e,t){e.e=t}function Be(e,t){e.f=t}function Re(e,t){e.f=t}function Ve(e,t){e.a=t}function ct(e,t){e.b=t}function st(e,t){e.n=t}function Ye(e,t){e.a=t}function mt(e,t){e.c=t}function Je(e,t){e.c=t}function Lt(e,t){e.c=t}function Mt(e,t){e.a=t}function ut(e,t){e.a=t}function Wt(e,t){e.d=t}function Tt(e,t){e.d=t}function _n(e,t){e.e=t}function hn(e,t){e.e=t}function Yt(e,t){e.g=t}function Dn(e,t){e.f=t}function ir(e,t){e.j=t}function vr(e,t){e.a=t}function Nn(e,t){e.a=t}function pr(e,t){e.b=t}function Er(e){e.b=e.a}function Mr(e){e.c=e.d.d}function Cr(e){this.a=e}function Or(e){this.a=e}function Wn(e){this.a=e}function br(e){this.a=e}function Sr(e){this.a=e}function Nr(e){this.a=e}function Si(e){this.a=e}function ys(e){this.a=e}function pa(e){this.a=e}function Mi(e){this.a=e}function gi(e){this.a=e}function fs(e){this.a=e}function Fs(e){this.a=e}function xs(e){this.a=e}function Rs(e){this.b=e}function yo(e){this.b=e}function $a(e){this.b=e}function Da(e){this.a=e}function Bo(e){this.a=e}function tr(e){this.c=e}function G(e){this.c=e}function Jn(e){this.c=e}function kr(e){this.d=e}function lr(e){this.a=e}function Vt(e){this.a=e}function Hs(e){this.a=e}function wr(e){this.a=e}function Es(e){this.a=e}function go(e){this.a=e}function $c(e){this.a=e}function za(e){this.a=e}function Sc(e){this.a=e}function ba(e){this.a=e}function xo(e){this.a=e}function lh(e){this.a=e}function Wl(e){this.a=e}function Z2(e){this.a=e}function eb(e){this.a=e}function G0(e){this.a=e}function zp(e){this.a=e}function fd(e){this.a=e}function Wv(e){this.a=e}function sy(e){this.a=e}function E8(e){this.a=e}function x5(e){this.a=e}function T8(e){this.a=e}function ZS(e){this.a=e}function k5(e){this.a=e}function Qd(e){this.a=e}function _1(e){this.a=e}function Jd(e){this.a=e}function Yv(e){this.a=e}function Em(e){this.a=e}function Lz(e){this.a=e}function Lie(e){this.a=e}function Mie(e){this.a=e}function e_(e){this.a=e}function Die(e){this.a=e}function Iie(e){this.a=e}function E5(e){this.a=e}function Mz(e){this.a=e}function yk(e){this.a=e}function UI(e){this.a=e}function t_(e){this.a=e}function Dz(e){this.a=e}function Iz(e){this.a=e}function Oie(e){this.a=e}function qp(e){this.a=e}function n_(e){this.a=e}function GI(e){this.a=e}function Tm(e){this.a=e}function Zd(e){this.e=e}function T5(e){this.a=e}function jWe(e){this.a=e}function C8(e){this.a=e}function vwe(e){this.a=e}function $We(e){this.a=e}function zWe(e){this.a=e}function qWe(e){this.a=e}function HWe(e){this.a=e}function VWe(e){this.a=e}function UWe(e){this.a=e}function GWe(e){this.a=e}function KWe(e){this.a=e}function WWe(e){this.a=e}function YWe(e){this.a=e}function XWe(e){this.a=e}function wwe(e){this.a=e}function QWe(e){this.a=e}function JWe(e){this.a=e}function ZWe(e){this.a=e}function eYe(e){this.a=e}function tYe(e){this.a=e}function nYe(e){this.a=e}function rYe(e){this.a=e}function iYe(e){this.a=e}function sYe(e){this.a=e}function aYe(e){this.a=e}function oYe(e){this.a=e}function cYe(e){this.a=e}function uYe(e){this.a=e}function lYe(e){this.a=e}function hYe(e){this.a=e}function fYe(e){this.a=e}function dYe(e){this.a=e}function gYe(e){this.a=e}function pYe(e){this.a=e}function bYe(e){this.a=e}function mYe(e){this.a=e}function vYe(e){this.a=e}function wYe(e){this.a=e}function yYe(e){this.a=e}function xYe(e){this.a=e}function kYe(e){this.a=e}function EYe(e){this.a=e}function TYe(e){this.a=e}function CYe(e){this.a=e}function SYe(e){this.a=e}function _Ye(e){this.a=e}function AYe(e){this.a=e}function LYe(e){this.a=e}function MYe(e){this.a=e}function DYe(e){this.a=e}function IYe(e){this.a=e}function OYe(e){this.a=e}function NYe(e){this.a=e}function PYe(e){this.c=e}function BYe(e){this.b=e}function FYe(e){this.a=e}function RYe(e){this.a=e}function jYe(e){this.a=e}function $Ye(e){this.a=e}function zYe(e){this.a=e}function qYe(e){this.a=e}function HYe(e){this.a=e}function VYe(e){this.a=e}function UYe(e){this.a=e}function GYe(e){this.a=e}function KYe(e){this.a=e}function WYe(e){this.a=e}function YYe(e){this.a=e}function XYe(e){this.a=e}function QYe(e){this.a=e}function JYe(e){this.a=e}function ZYe(e){this.a=e}function eXe(e){this.a=e}function tXe(e){this.a=e}function nXe(e){this.a=e}function rXe(e){this.a=e}function iXe(e){this.a=e}function sXe(e){this.a=e}function aXe(e){this.a=e}function oXe(e){this.a=e}function cXe(e){this.a=e}function uXe(e){this.a=e}function Hg(e){this.a=e}function C5(e){this.a=e}function lXe(e){this.a=e}function hXe(e){this.a=e}function fXe(e){this.a=e}function dXe(e){this.a=e}function gXe(e){this.a=e}function pXe(e){this.a=e}function bXe(e){this.a=e}function mXe(e){this.a=e}function vXe(e){this.a=e}function wXe(e){this.a=e}function yXe(e){this.a=e}function xXe(e){this.a=e}function kXe(e){this.a=e}function EXe(e){this.a=e}function TXe(e){this.a=e}function CXe(e){this.a=e}function SXe(e){this.a=e}function _Xe(e){this.a=e}function AXe(e){this.a=e}function LXe(e){this.a=e}function MXe(e){this.a=e}function DXe(e){this.a=e}function IXe(e){this.a=e}function OXe(e){this.a=e}function NXe(e){this.a=e}function PXe(e){this.a=e}function Oz(e){this.a=e}function BXe(e){this.f=e}function FXe(e){this.a=e}function RXe(e){this.a=e}function jXe(e){this.a=e}function $Xe(e){this.a=e}function zXe(e){this.a=e}function qXe(e){this.a=e}function HXe(e){this.a=e}function VXe(e){this.a=e}function UXe(e){this.a=e}function GXe(e){this.a=e}function KXe(e){this.a=e}function WXe(e){this.a=e}function YXe(e){this.a=e}function XXe(e){this.a=e}function QXe(e){this.a=e}function JXe(e){this.a=e}function ZXe(e){this.a=e}function eQe(e){this.a=e}function tQe(e){this.a=e}function nQe(e){this.a=e}function rQe(e){this.a=e}function iQe(e){this.a=e}function sQe(e){this.a=e}function aQe(e){this.a=e}function oQe(e){this.a=e}function cQe(e){this.a=e}function uQe(e){this.a=e}function lQe(e){this.a=e}function Nie(e){this.a=e}function ywe(e){this.a=e}function Ui(e){this.b=e}function hQe(e){this.a=e}function fQe(e){this.a=e}function dQe(e){this.a=e}function gQe(e){this.a=e}function pQe(e){this.a=e}function bQe(e){this.a=e}function mQe(e){this.a=e}function vQe(e){this.b=e}function wQe(e){this.a=e}function KI(e){this.a=e}function yQe(e){this.a=e}function xQe(e){this.a=e}function xwe(e){this.c=e}function Nz(e){this.e=e}function Pz(e){this.a=e}function Bz(e){this.a=e}function Pie(e){this.a=e}function kQe(e){this.d=e}function EQe(e){this.a=e}function kwe(e){this.a=e}function Ewe(e){this.a=e}function Xv(e){this.e=e}function Dcn(){this.a=0}function Pr(){Nl(this)}function bt(){Yse(this)}function Bie(){cat(this)}function TQe(){}function Qv(){this.c=LPe}function CQe(e,t){e.b+=t}function Icn(e,t){t.Wb(e)}function Ocn(e){return e.a}function Ncn(e){return e.a}function Pcn(e){return e.a}function Bcn(e){return e.a}function Fcn(e){return e.a}function ue(e){return e.e}function Rcn(){return null}function jcn(){return null}function $cn(){c3e(),wIn()}function zcn(e){e.b.Of(e.e)}function SQe(e){e.b=new nse}function r_(e,t){e.b=t-e.b}function i_(e,t){e.a=t-e.a}function $n(e,t){e.push(t)}function _Qe(e,t){e.sort(t)}function AQe(e,t){t.jd(e.a)}function qcn(e,t){la(t,e)}function Hcn(e,t,n){e.Yd(n,t)}function WI(e,t){e.e=t,t.b=e}function Twe(e){wd(),this.a=e}function LQe(e){wd(),this.a=e}function MQe(e){wd(),this.a=e}function Fie(e){ww(),this.a=e}function DQe(e){Xk(),S0e.le(e)}function Cwe(){Cwe=U,new Pr}function Cm(){Jnt.call(this)}function Swe(){Jnt.call(this)}function _we(){Cm.call(this)}function Rie(){Cm.call(this)}function IQe(){Cm.call(this)}function YI(){Cm.call(this)}function pl(){Cm.call(this)}function S8(){Cm.call(this)}function Qr(){Cm.call(this)}function Xh(){Cm.call(this)}function OQe(){Cm.call(this)}function _c(){Cm.call(this)}function NQe(){Cm.call(this)}function PQe(){this.a=this}function Fz(){this.Bb|=256}function BQe(){this.b=new Utt}function ay(e,t){e.length=t}function Rz(e,t){vt(e.a,t)}function Vcn(e,t){Jxe(e.c,t)}function Ucn(e,t){na(e.b,t)}function Gcn(e,t){oU(e.a,t)}function Kcn(e,t){Fce(e.a,t)}function xk(e,t){Ni(e.e,t)}function _8(e){EU(e.c,e.b)}function Wcn(e,t){e.kc().Nb(t)}function Awe(e){this.a=$4n(e)}function Ks(){this.a=new Pr}function FQe(){this.a=new Pr}function Lwe(){this.a=new net}function jz(){this.a=new bt}function jie(){this.a=new bt}function Mwe(){this.a=new bt}function _f(){this.a=new pm}function Sm(){this.a=new Nut}function Dwe(){this.a=new bm}function Iwe(){this.a=new Sot}function Owe(){this.a=new Rrt}function RQe(){this.a=new bt}function jQe(){this.a=new bt}function $Qe(){this.a=new bt}function Nwe(){this.a=new bt}function zQe(){this.d=new bt}function qQe(){this.a=new Got}function HQe(){this.a=new Ks}function VQe(){this.a=new Pr}function UQe(){this.b=new Pr}function GQe(){this.b=new bt}function Pwe(){this.e=new bt}function KQe(){this.a=new Kre}function WQe(){this.d=new bt}function YQe(){Qat.call(this)}function XQe(){Qat.call(this)}function QQe(){bt.call(this)}function Bwe(){_we.call(this)}function Fwe(){jz.call(this)}function JQe(){Vq.call(this)}function ZQe(){Nwe.call(this)}function s_(){TQe.call(this)}function $ie(){s_.call(this)}function A8(){TQe.call(this)}function Rwe(){A8.call(this)}function eJe(){qwe.call(this)}function tJe(){qwe.call(this)}function nJe(){qwe.call(this)}function rJe(){Hwe.call(this)}function a_(){Wne.call(this)}function jwe(){Wne.call(this)}function bl(){os.call(this)}function iJe(){wJe.call(this)}function sJe(){wJe.call(this)}function aJe(){Pr.call(this)}function oJe(){Pr.call(this)}function cJe(){Pr.call(this)}function zie(){sft.call(this)}function uJe(){Ks.call(this)}function lJe(){Fz.call(this)}function qie(){kye.call(this)}function $we(){Pr.call(this)}function Hie(){kye.call(this)}function Vie(){Pr.call(this)}function hJe(){Pr.call(this)}function zwe(){m5.call(this)}function fJe(){zwe.call(this)}function dJe(){m5.call(this)}function gJe(){J$.call(this)}function qwe(){this.a=new Ks}function pJe(){this.a=new Pr}function bJe(){this.a=new bt}function Hwe(){this.a=new Pr}function L8(){this.a=new os}function mJe(){this.j=new bt}function vJe(){this.a=new bZe}function wJe(){this.a=new Qne}function Vwe(){this.a=new hs}function o_(){o_=U,v0e=new _}function Uie(){Uie=U,w0e=new xJe}function Gie(){Gie=U,y0e=new yJe}function yJe(){pk.call(this,"")}function xJe(){pk.call(this,"")}function kJe(e){Aht.call(this,e)}function EJe(e){Aht.call(this,e)}function Uwe(e){vz.call(this,e)}function Gwe(e){UZe.call(this,e)}function Ycn(e){UZe.call(this,e)}function Xcn(e){Gwe.call(this,e)}function Qcn(e){Gwe.call(this,e)}function Jcn(e){Gwe.call(this,e)}function TJe(e){Toe.call(this,e)}function CJe(e){Toe.call(this,e)}function SJe(e){ait.call(this,e)}function _Je(e){p3e.call(this,e)}function c_(e){Xz.call(this,e)}function Kwe(e){Xz.call(this,e)}function AJe(e){Xz.call(this,e)}function Wwe(e){y9n.call(this,e)}function Ywe(e){Wwe.call(this,e)}function Ac(e){_st.call(this,e)}function LJe(e){Ac.call(this,e)}function M8(){wk.call(this,{})}function MJe(){MJe=U,d6t=new W}function $z(){$z=U,E0e=new Ant}function DJe(){DJe=U,USe=new T}function Xwe(){Xwe=U,GSe=new ae}function zz(){zz=U,NL=new de}function Kie(e){Ok(),this.a=e}function Wie(e){E7e(),this.a=e}function Jv(e){Iae(),this.f=e}function Yie(e){Iae(),this.f=e}function IJe(e){git(),this.a=e}function OJe(e){e.b=null,e.c=0}function Zcn(e,t){e.e=t,gbt(e,t)}function eun(e,t){e.a=t,okn(e)}function Xie(e,t,n){e.a[t.g]=n}function tun(e,t,n){k8n(n,e,t)}function nun(e,t){Qfn(t.i,e.n)}function NJe(e,t){xyn(e).Cd(t)}function run(e,t){e.a.ec().Mc(t)}function PJe(e,t){return e.g-t.g}function iun(e,t){return e*e/t}function Rt(e){return nr(e),e}function ze(e){return nr(e),e}function XI(e){return nr(e),e}function sun(e){return new vk(e)}function aun(e){return new yy(e)}function Qwe(e){return nr(e),e}function oun(e){return nr(e),e}function qz(e){Ac.call(this,e)}function tc(e){Ac.call(this,e)}function BJe(e){Ac.call(this,e)}function Qie(e){_st.call(this,e)}function kk(e){Ac.call(this,e)}function Yn(e){Ac.call(this,e)}function nc(e){Ac.call(this,e)}function FJe(e){Ac.call(this,e)}function D8(e){Ac.call(this,e)}function Hp(e){Ac.call(this,e)}function Vp(e){Ac.call(this,e)}function I8(e){Ac.call(this,e)}function dd(e){Ac.call(this,e)}function Jie(e){Ac.call(this,e)}function ri(e){Ac.call(this,e)}function Il(e){nr(e),this.a=e}function Jwe(e){return Um(e),e}function u_(e){l5e(e,e.length)}function l_(e){return e.b==e.c}function oy(e){return!!e&&e.b}function cun(e){return!!e&&e.k}function uun(e){return!!e&&e.j}function lun(e,t,n){e.c.Ef(t,n)}function RJe(e,t){e.be(t),t.ae(e)}function O8(e){wd(),this.a=Xr(e)}function Zie(){this.a=ei(Xr(Co))}function jJe(){throw ue(new Qr)}function hun(){throw ue(new Qr)}function Zwe(){throw ue(new Qr)}function $Je(){throw ue(new Qr)}function fun(){throw ue(new Qr)}function dun(){throw ue(new Qr)}function Hz(){Hz=U,Xk()}function Up(){Nr.call(this,"")}function h_(){Nr.call(this,"")}function tb(){Nr.call(this,"")}function S5(){Nr.call(this,"")}function e3e(e){tc.call(this,e)}function t3e(e){tc.call(this,e)}function gd(e){Yn.call(this,e)}function Ek(e){$a.call(this,e)}function zJe(e){Ek.call(this,e)}function ese(e){jq.call(this,e)}function tse(e){Nye.call(this,e,0)}function nse(){G5e.call(this,12,3)}function le(e,t){return yot(e,t)}function Vz(e,t){return joe(e,t)}function gun(e,t){return e.a-t.a}function pun(e,t){return e.a-t.a}function bun(e,t){return e.a-t.a}function mun(e,t){return t in e.a}function qJe(e){return e.a?e.b:0}function vun(e){return e.a?e.b:0}function wun(e,t,n){t.Cd(e.a[n])}function yun(e,t,n){t.Pe(e.a[n])}function xun(e,t){e.b=new Eo(t)}function kun(e,t){return e.b=t,e}function HJe(e,t){return e.c=t,e}function VJe(e,t){return e.f=t,e}function Eun(e,t){return e.g=t,e}function n3e(e,t){return e.a=t,e}function r3e(e,t){return e.f=t,e}function Tun(e,t){return e.k=t,e}function i3e(e,t){return e.a=t,e}function Cun(e,t){return e.e=t,e}function s3e(e,t){return e.e=t,e}function Sun(e,t){return e.f=t,e}function _un(e,t){e.b=!0,e.d=t}function Aun(e,t){return e.b-t.b}function Lun(e,t){return e.g-t.g}function Mun(e,t){return e?0:t-1}function UJe(e,t){return e?0:t-1}function Dun(e,t){return e?t-1:0}function Iun(e,t){return e.s-t.s}function Oun(e,t){return t.rg(e)}function Zv(e,t){return e.b=t,e}function Uz(e,t){return e.a=t,e}function ew(e,t){return e.c=t,e}function tw(e,t){return e.d=t,e}function nw(e,t){return e.e=t,e}function a3e(e,t){return e.f=t,e}function f_(e,t){return e.a=t,e}function Tk(e,t){return e.b=t,e}function Ck(e,t){return e.c=t,e}function Qt(e,t){return e.c=t,e}function yn(e,t){return e.b=t,e}function Jt(e,t){return e.d=t,e}function Zt(e,t){return e.e=t,e}function Nun(e,t){return e.f=t,e}function en(e,t){return e.g=t,e}function tn(e,t){return e.a=t,e}function nn(e,t){return e.i=t,e}function rn(e,t){return e.j=t,e}function Pun(e,t){Cb(),Mc(t,e)}function Bun(e,t,n){Jdn(e.a,t,n)}function Gz(e){dae.call(this,e)}function GJe(e){t5n.call(this,e)}function KJe(e){Aat.call(this,e)}function o3e(e){Aat.call(this,e)}function nb(e){Lw.call(this,e)}function WJe(e){noe.call(this,e)}function YJe(e){noe.call(this,e)}function XJe(){bye.call(this,"")}function qa(){this.a=0,this.b=0}function QJe(){this.b=0,this.a=0}function JJe(e,t){e.b=0,My(e,t)}function ZJe(e,t){return e.k=t,e}function Fun(e,t){return e.j=t,e}function Run(e,t){e.c=t,e.b=!0}function eZe(){eZe=U,S6t=Y8n()}function rb(){rb=U,w_t=a8n()}function tZe(){tZe=U,La=vxn()}function c3e(){c3e=U,Qb=hE()}function Sk(){Sk=U,APe=o8n()}function nZe(){nZe=U,rAt=c8n()}function u3e(){u3e=U,tu=ikn()}function K0(e){return e.e&&e.e()}function rZe(e){return e.l|e.m<<22}function iZe(e,t){return e.c._b(t)}function sZe(e,t){return i1t(e.b,t)}function rse(e){return e?e.d:null}function jun(e){return e?e.g:null}function $un(e){return e?e.i:null}function _m(e){return Gg(e),e.o}function _5(e,t){return e.a+=t,e}function ise(e,t){return e.a+=t,e}function Gp(e,t){return e.a+=t,e}function rw(e,t){return e.a+=t,e}function l3e(e,t){for(;e.Bd(t););}function Kz(e){this.a=new N8(e)}function aZe(){throw ue(new Qr)}function oZe(){throw ue(new Qr)}function cZe(){throw ue(new Qr)}function uZe(){throw ue(new Qr)}function lZe(){throw ue(new Qr)}function hZe(){throw ue(new Qr)}function Kp(e){this.a=new Pae(e)}function fZe(){this.a=new UA(EIe)}function dZe(){this.b=new UA(qDe)}function gZe(){this.a=new UA(KIe)}function pZe(){this.b=new UA(pge)}function bZe(){this.b=new UA(pge)}function Wz(e){this.a=0,this.b=e}function h3e(e){Gvt(),IIn(this,e)}function _k(e){return fb(e),e.a}function QI(e){return e.b!=e.d.c}function f3e(e,t){return e.d[t.p]}function mZe(e,t){return YCn(e,t)}function d3e(e,t,n){e.splice(t,n)}function A5(e,t){for(;e.Re(t););}function vZe(e){e.c?Ibt(e):Obt(e)}function wZe(){throw ue(new Qr)}function yZe(){throw ue(new Qr)}function xZe(){throw ue(new Qr)}function kZe(){throw ue(new Qr)}function EZe(){throw ue(new Qr)}function TZe(){throw ue(new Qr)}function CZe(){throw ue(new Qr)}function SZe(){throw ue(new Qr)}function _Ze(){throw ue(new Qr)}function AZe(){throw ue(new Qr)}function zun(){throw ue(new _c)}function qun(){throw ue(new _c)}function JI(e){this.a=new LZe(e)}function LZe(e){Gwn(this,e,T9n())}function ZI(e){return!e||oat(e)}function eO(e){return nd[e]!=-1}function Hun(){aK!=0&&(aK=0),oK=-1}function MZe(){m0e==null&&(m0e=[])}function tO(e,t){q5.call(this,e,t)}function Ak(e,t){tO.call(this,e,t)}function DZe(e,t){this.a=e,this.b=t}function IZe(e,t){this.a=e,this.b=t}function OZe(e,t){this.a=e,this.b=t}function NZe(e,t){this.a=e,this.b=t}function PZe(e,t){this.a=e,this.b=t}function BZe(e,t){this.a=e,this.b=t}function FZe(e,t){this.a=e,this.b=t}function Lk(e,t){this.e=e,this.d=t}function g3e(e,t){this.b=e,this.c=t}function RZe(e,t){this.b=e,this.a=t}function jZe(e,t){this.b=e,this.a=t}function $Ze(e,t){this.b=e,this.a=t}function zZe(e,t){this.b=e,this.a=t}function qZe(e,t){this.a=e,this.b=t}function sse(e,t){this.a=e,this.b=t}function HZe(e,t){this.a=e,this.f=t}function iw(e,t){this.g=e,this.i=t}function Ur(e,t){this.f=e,this.g=t}function VZe(e,t){this.b=e,this.c=t}function UZe(e){Tye(e.dc()),this.c=e}function Vun(e,t){this.a=e,this.b=t}function GZe(e,t){this.a=e,this.b=t}function KZe(e){this.a=l(Xr(e),15)}function p3e(e){this.a=l(Xr(e),15)}function WZe(e){this.a=l(Xr(e),85)}function Yz(e){this.b=l(Xr(e),85)}function Xz(e){this.b=l(Xr(e),51)}function Qz(){this.q=new b.Date}function ase(e,t){this.a=e,this.b=t}function YZe(e,t){return Hu(e.b,t)}function nO(e,t){return e.b.Hc(t)}function XZe(e,t){return e.b.Ic(t)}function QZe(e,t){return e.b.Qc(t)}function JZe(e,t){return e.b.Hc(t)}function ZZe(e,t){return e.c.uc(t)}function eet(e,t){return Pi(e.c,t)}function W0(e,t){return e.a._b(t)}function tet(e,t){return e>t&&t0}function fse(e,t){return iu(e,t)<0}function vet(e,t){return Aae(e.a,t)}function uln(e,t){xot.call(this,e,t)}function k3e(e){Kae(),ait.call(this,e)}function E3e(e,t){gst(e,e.length,t)}function aO(e,t){qst(e,e.length,t)}function y_(e,t){return e.a.get(t)}function wet(e,t){return Hu(e.e,t)}function T3e(e){return nr(e),!1}function C3e(e){this.a=l(Xr(e),229)}function aq(e){kn.call(this,e,21)}function oq(e,t){Ur.call(this,e,t)}function dse(e,t){Ur.call(this,e,t)}function yet(e,t){this.b=e,this.a=t}function cq(e,t){this.d=e,this.e=t}function xet(e,t){this.a=e,this.b=t}function ket(e,t){this.a=e,this.b=t}function Eet(e,t){this.a=e,this.b=t}function Tet(e,t){this.a=e,this.b=t}function B8(e,t){this.a=e,this.b=t}function Cet(e,t){this.b=e,this.a=t}function S3e(e,t){this.b=e,this.a=t}function _3e(e,t){Ur.call(this,e,t)}function A3e(e,t){Ur.call(this,e,t)}function L5(e,t){Ur.call(this,e,t)}function gse(e,t){Ur.call(this,e,t)}function pse(e,t){Ur.call(this,e,t)}function bse(e,t){Ur.call(this,e,t)}function uq(e,t){Ur.call(this,e,t)}function L3e(e,t){this.b=e,this.a=t}function lq(e,t){Ur.call(this,e,t)}function M3e(e,t){this.b=e,this.a=t}function hq(e,t){Ur.call(this,e,t)}function _et(e,t){this.b=e,this.a=t}function D3e(e,t){Ur.call(this,e,t)}function mse(e,t){Ur.call(this,e,t)}function oO(e,t){Ur.call(this,e,t)}function x_(e,t,n){e.splice(t,0,n)}function lln(e,t,n){e.Mb(n)&&t.Cd(n)}function hln(e,t,n){t.Pe(e.a.Ye(n))}function fln(e,t,n){t.Dd(e.a.Ze(n))}function dln(e,t,n){t.Cd(e.a.Kb(n))}function gln(e,t){return vl(e.c,t)}function pln(e,t){return vl(e.e,t)}function fq(e,t){Ur.call(this,e,t)}function dq(e,t){Ur.call(this,e,t)}function k_(e,t){Ur.call(this,e,t)}function I3e(e,t){Ur.call(this,e,t)}function Ws(e,t){Ur.call(this,e,t)}function gq(e,t){Ur.call(this,e,t)}function Aet(e,t){this.a=e,this.b=t}function Let(e,t){this.a=e,this.b=t}function Met(e,t){this.a=e,this.b=t}function Det(e,t){this.a=e,this.b=t}function Iet(e,t){this.a=e,this.b=t}function Oet(e,t){this.a=e,this.b=t}function Net(e,t){this.b=e,this.a=t}function Pet(e,t){this.b=e,this.a=t}function O3e(e,t){this.b=e,this.a=t}function Ik(e,t){this.c=e,this.d=t}function Bet(e,t){this.e=e,this.d=t}function Fet(e,t){this.a=e,this.b=t}function Ret(e,t){this.a=e,this.b=t}function jet(e,t){this.a=e,this.b=t}function $et(e,t){this.b=e,this.a=t}function zet(e,t){this.b=t,this.c=e}function pq(e,t){Ur.call(this,e,t)}function cO(e,t){Ur.call(this,e,t)}function vse(e,t){Ur.call(this,e,t)}function N3e(e,t){Ur.call(this,e,t)}function E_(e,t){Ur.call(this,e,t)}function wse(e,t){Ur.call(this,e,t)}function yse(e,t){Ur.call(this,e,t)}function uO(e,t){Ur.call(this,e,t)}function P3e(e,t){Ur.call(this,e,t)}function xse(e,t){Ur.call(this,e,t)}function T_(e,t){Ur.call(this,e,t)}function B3e(e,t){Ur.call(this,e,t)}function C_(e,t){Ur.call(this,e,t)}function S_(e,t){Ur.call(this,e,t)}function uy(e,t){Ur.call(this,e,t)}function kse(e,t){Ur.call(this,e,t)}function Ese(e,t){Ur.call(this,e,t)}function F3e(e,t){Ur.call(this,e,t)}function lO(e,t){Ur.call(this,e,t)}function M5(e,t){Ur.call(this,e,t)}function Tse(e,t){Ur.call(this,e,t)}function bq(e,t){Ur.call(this,e,t)}function hO(e,t){Ur.call(this,e,t)}function ly(e,t){Ur.call(this,e,t)}function mq(e,t){Ur.call(this,e,t)}function R3e(e,t){Ur.call(this,e,t)}function Cse(e,t){Ur.call(this,e,t)}function Sse(e,t){Ur.call(this,e,t)}function _se(e,t){Ur.call(this,e,t)}function Ase(e,t){Ur.call(this,e,t)}function Lse(e,t){Ur.call(this,e,t)}function Mse(e,t){Ur.call(this,e,t)}function Dse(e,t){Ur.call(this,e,t)}function qet(e,t){this.b=e,this.a=t}function j3e(e,t){Ur.call(this,e,t)}function Het(e,t){this.a=e,this.b=t}function Vet(e,t){this.a=e,this.b=t}function Uet(e,t){this.a=e,this.b=t}function $3e(e,t){Ur.call(this,e,t)}function z3e(e,t){Ur.call(this,e,t)}function Get(e,t){this.a=e,this.b=t}function bln(e,t){return jk(),t!=e}function fO(e){return mr(e.a),e.b}function Ise(e){return EEn(e,e.c),e}function Ket(){return eZe(),new S6t}function Wet(){Yq(),this.a=new i4e}function Yet(){IU(),this.a=new Ks}function Xet(){foe(),this.b=new Ks}function Qet(e,t){this.b=e,this.d=t}function Jet(e,t){this.a=e,this.b=t}function Zet(e,t){this.a=e,this.b=t}function ett(e,t){this.a=e,this.b=t}function ttt(e,t){this.b=e,this.a=t}function q3e(e,t){Ur.call(this,e,t)}function H3e(e,t){Ur.call(this,e,t)}function vq(e,t){Ur.call(this,e,t)}function ow(e,t){Ur.call(this,e,t)}function Ose(e,t){Ur.call(this,e,t)}function wq(e,t){Ur.call(this,e,t)}function V3e(e,t){Ur.call(this,e,t)}function U3e(e,t){Ur.call(this,e,t)}function dO(e,t){Ur.call(this,e,t)}function G3e(e,t){Ur.call(this,e,t)}function Nse(e,t){Ur.call(this,e,t)}function yq(e,t){Ur.call(this,e,t)}function Pse(e,t){Ur.call(this,e,t)}function Bse(e,t){Ur.call(this,e,t)}function Fse(e,t){Ur.call(this,e,t)}function Rse(e,t){Ur.call(this,e,t)}function K3e(e,t){Ur.call(this,e,t)}function jse(e,t){Ur.call(this,e,t)}function W3e(e,t){Ur.call(this,e,t)}function gO(e,t){Ur.call(this,e,t)}function $se(e,t){Ur.call(this,e,t)}function Y3e(e,t){Ur.call(this,e,t)}function pO(e,t){Ur.call(this,e,t)}function X3e(e,t){Ur.call(this,e,t)}function ntt(e,t){this.b=e,this.a=t}function rtt(e,t){this.b=e,this.a=t}function itt(e,t){this.b=e,this.a=t}function stt(e,t){this.b=e,this.a=t}function Q3e(e,t){this.a=e,this.b=t}function att(e,t){this.a=e,this.b=t}function ott(e,t){this.a=e,this.b=t}function lt(e,t){this.a=e,this.b=t}function __(e,t){Ur.call(this,e,t)}function bO(e,t){Ur.call(this,e,t)}function F8(e,t){Ur.call(this,e,t)}function A_(e,t){Ur.call(this,e,t)}function mO(e,t){Ur.call(this,e,t)}function zse(e,t){Ur.call(this,e,t)}function xq(e,t){Ur.call(this,e,t)}function L_(e,t){Ur.call(this,e,t)}function qse(e,t){Ur.call(this,e,t)}function kq(e,t){Ur.call(this,e,t)}function D5(e,t){Ur.call(this,e,t)}function vO(e,t){Ur.call(this,e,t)}function M_(e,t){Ur.call(this,e,t)}function D_(e,t){Ur.call(this,e,t)}function wO(e,t){Ur.call(this,e,t)}function Eq(e,t){Ur.call(this,e,t)}function I5(e,t){Ur.call(this,e,t)}function Hse(e,t){Ur.call(this,e,t)}function ctt(e,t){Ur.call(this,e,t)}function Tq(e,t){Ur.call(this,e,t)}function utt(e,t){this.a=e,this.b=t}function ltt(e,t){this.a=e,this.b=t}function htt(e,t){this.a=e,this.b=t}function ftt(e,t){this.a=e,this.b=t}function dtt(e,t){this.a=e,this.b=t}function gtt(e,t){this.a=e,this.b=t}function ca(e,t){this.a=e,this.b=t}function ptt(e,t){this.a=e,this.b=t}function btt(e,t){this.a=e,this.b=t}function mtt(e,t){this.a=e,this.b=t}function vtt(e,t){this.a=e,this.b=t}function wtt(e,t){this.a=e,this.b=t}function ytt(e,t){this.a=e,this.b=t}function xtt(e,t){this.b=e,this.a=t}function ktt(e,t){this.b=e,this.a=t}function Ett(e,t){this.b=e,this.a=t}function Ttt(e,t){this.b=e,this.a=t}function Ctt(e,t){this.a=e,this.b=t}function Stt(e,t){this.a=e,this.b=t}function Cq(e,t){Ur.call(this,e,t)}function _tt(e,t){this.a=e,this.b=t}function Att(e,t){this.a=e,this.b=t}function R8(e,t){Ur.call(this,e,t)}function Ltt(e,t){this.f=e,this.c=t}function J3e(e,t){return vl(e.g,t)}function mln(e,t){return vl(t.b,e)}function Mtt(e,t){return Kce(e.a,t)}function vln(e,t){return-e.b.af(t)}function wln(e,t){e&&ki(lF,e,t)}function Z3e(e,t){e.i=null,xV(e,t)}function yln(e,t,n){xgt(t,jue(e,n))}function xln(e,t,n){xgt(t,jue(e,n))}function kln(e,t){XTn(e.a,l(t,58))}function Dtt(e,t){Gvn(e.a,l(t,12))}function Sq(e,t){this.a=e,this.b=t}function Itt(e,t){this.a=e,this.b=t}function Ott(e,t){this.a=e,this.b=t}function Ntt(e,t){this.a=e,this.b=t}function Ptt(e,t){this.a=e,this.b=t}function Btt(e,t){this.d=e,this.b=t}function Ftt(e,t){this.e=e,this.a=t}function yO(e,t){this.b=e,this.c=t}function eye(e,t){this.i=e,this.g=t}function tye(e,t){this.d=e,this.e=t}function Eln(e,t){own(new or(e),t)}function _q(e){return FN(e.c,e.b)}function hc(e){return e?e.md():null}function qe(e){return e??null}function Ia(e){return typeof e===Ile}function hy(e){return typeof e===Cx}function fy(e){return typeof e===Qke}function cw(e,t){return iu(e,t)==0}function Aq(e,t){return iu(e,t)>=0}function I_(e,t){return iu(e,t)!=0}function Lq(e,t){return T3n(e.Kc(),t)}function ab(e,t){return e.Rd().Xb(t)}function Rtt(e){return Ql(e),e.d.gc()}function Mq(e){return V_(e==null),e}function O_(e,t){return e.a+=""+t,e}function Xo(e,t){return e.a+=""+t,e}function N_(e,t){return e.a+=""+t,e}function wu(e,t){return e.a+=""+t,e}function hi(e,t){return e.a+=""+t,e}function nye(e,t){return e.a+=""+t,e}function Tln(e){return""+(nr(e),e)}function jtt(e){Nl(this),bA(this,e)}function $tt(){U5e(),Q4e.call(this)}function ztt(e,t){n5e.call(this,e,t)}function qtt(e,t){n5e.call(this,e,t)}function Dq(e,t){n5e.call(this,e,t)}function ko(e,t){Cs(e,t,e.c.b,e.c)}function O5(e,t){Cs(e,t,e.a,e.a.a)}function rye(e){return Sn(e,0),null}function Htt(){this.b=0,this.a=!1}function Vtt(){this.b=0,this.a=!1}function Utt(){this.b=new N8(Ay(12))}function Gtt(){Gtt=U,y7t=Kr(eue())}function Ktt(){Ktt=U,q8t=Kr(rbt())}function Wtt(){Wtt=U,hTt=Kr(Bft())}function iye(){iye=U,Cwe(),KSe=new Pr}function Y0(e){return e.a=0,e.b=0,e}function Ytt(e,t){return e.a=t.g+1,e}function Vse(e,t){my.call(this,e,t)}function pn(e,t){vs.call(this,e,t)}function N5(e,t){eye.call(this,e,t)}function Xtt(e,t){TO.call(this,e,t)}function Use(e,t){mE.call(this,e,t)}function wi(e,t){iq(),ki(kY,e,t)}function Qtt(e,t){e.q.setTime(Fm(t))}function Cln(e){b.clearTimeout(e)}function Sln(e){return Xr(e),new P_(e)}function Jtt(e,t){return qe(e)===qe(t)}function Ztt(e,t){return e.a.a.a.cc(t)}function Gse(e,t){return tf(e.a,0,t)}function sye(e){return Lgn(l(e,74))}function j8(e){return ua((nr(e),e))}function _ln(e){return ua((nr(e),e))}function ent(e){return qu(e.l,e.m,e.h)}function aye(e,t){return ru(e.a,t.a)}function Aln(e,t){return $st(e.a,t.a)}function Lln(e,t){return Yi(e.a,t.a)}function pd(e,t){return e.indexOf(t)}function Mln(e,t){return e.j[t.p]==2}function uw(e,t){return e==t?0:e?1:-1}function Iq(e){return e<10?"0"+e:""+e}function wc(e){return typeof e===Qke}function Dln(e){return e==s3||e==o4}function Iln(e){return e==s3||e==a4}function tnt(e,t){return ru(e.g,t.g)}function oye(e){return gc(e.b.b,e,0)}function nnt(){sH.call(this,0,0,0,0)}function bd(){wr.call(this,new e2)}function cye(e,t){nE(e,0,e.length,t)}function Oln(e,t){return vt(e.a,t),t}function Nln(e,t){return u0(),t.a+=e}function Pln(e,t){return u0(),t.a+=e}function Bln(e,t){return u0(),t.c+=e}function Fln(e,t){return vt(e.c,t),e}function uye(e,t){return Dh(e.a,t),e}function rnt(e){this.a=Ket(),this.b=e}function int(e){this.a=Ket(),this.b=e}function Eo(e){this.a=e.a,this.b=e.b}function P_(e){this.a=e,GS.call(this)}function snt(e){this.a=e,GS.call(this)}function $8(){ef.call(this,0,0,0,0)}function Oq(e){return Dh(new Xs,e)}function ant(e){return EH(l(e,123))}function hh(e){return e.vh()&&e.wh()}function P5(e){return e!=Z1&&e!=Wb}function Ug(e){return e==uc||e==vc}function B5(e){return e==wf||e==Q1}function ont(e){return e==G6||e==U6}function Rln(e,t){return ru(e.g,t.g)}function cnt(e,t){return new mE(t,e)}function jln(e,t){return new mE(t,e)}function lye(e){return adn(e.b.Kc(),e.a)}function Kse(e,t){CE(e,t),lE(e,e.D)}function Wse(e,t,n){dV(e,t),fV(e,n)}function F5(e,t,n){Dw(e,t),Mw(e,n)}function Qh(e,t,n){Uu(e,t),Gu(e,n)}function xO(e,t,n){aE(e,t),cE(e,n)}function kO(e,t,n){oE(e,t),uE(e,n)}function unt(e,t,n){Gye.call(this,e,t,n)}function hye(e){Ltt.call(this,e,!0)}function lnt(){oq.call(this,"Tail",3)}function hnt(){oq.call(this,"Head",1)}function ob(e){Cd(),y3n.call(this,e)}function lw(e){sH.call(this,e,e,e,e)}function Yse(e){e.c=We(wa,Rn,1,0,5,1)}function fye(e){return e.b&&gle(e),e.a}function dye(e){return e.b&&gle(e),e.c}function $ln(e,t){G1||(e.b=t)}function zln(e,t){return e[e.length]=t}function qln(e,t){return e[e.length]=t}function Hln(e,t){return Ly(t,M1(e))}function Vln(e,t){return Ly(t,M1(e))}function Uln(e,t){return vV(Uae(e.d),t)}function Gln(e,t){return vV(Uae(e.g),t)}function Kln(e,t){return vV(Uae(e.j),t)}function Ha(e,t){vs.call(this,e.b,t)}function Wln(e,t){qr(du(e.a),Iot(t))}function Yln(e,t){qr(Xl(e.a),Oot(t))}function Xln(e,t,n){Qh(n,n.i+e,n.j+t)}function fnt(e,t,n){Ts(e.c[t.g],t.g,n)}function Qln(e,t,n){l(e.c,71).Gi(t,n)}function Xse(e,t,n){return Ts(e,t,n),n}function dnt(e){Vu(e.Sf(),new Mie(e))}function R5(e){return e!=null?es(e):0}function Jln(e){return e==null?0:es(e)}function B_(e){Di(),Xv.call(this,e)}function gnt(e){this.a=e,_4e.call(this,e)}function A1(){A1=U,b.Math.log(2)}function Jh(){Jh=U,Sg=(bet(),C_t)}function pnt(){pnt=U,Mde=new LA(Vge)}function Jr(){Jr=U,new bnt,new bt}function bnt(){new Pr,new Pr,new Pr}function Zln(){throw ue(new Hp(Q5t))}function ehn(){throw ue(new Hp(Q5t))}function thn(){throw ue(new Hp(J5t))}function nhn(){throw ue(new Hp(J5t))}function Qse(e){this.a=e,Yz.call(this,e)}function Jse(e){this.a=e,Yz.call(this,e)}function mnt(e,t){ww(),this.a=e,this.b=t}function rhn(e,t){Xr(t),V5(e).Jc(new ie)}function Vs(e,t){Lae(e.c,e.c.length,t)}function Lc(e){return e.at?1:0}function pye(e,t){return iu(e,t)>0?e:t}function qu(e,t,n){return{l:e,m:t,h:n}}function ihn(e,t){e.a!=null&&Dtt(t,e.a)}function shn(e){po(e,null),Fa(e,null)}function ahn(e,t,n){return ki(e.g,n,t)}function j5(e,t,n){return R8e(t,n,e.c)}function ohn(e,t,n){return ki(e.k,n,t)}function chn(e,t,n){return KMn(e,t,n),n}function uhn(e,t){return Sh(),t.n.b+=e}function wnt(e){R5e.call(this),this.b=e}function bye(e){r4e.call(this),this.a=e}function ynt(){oq.call(this,"Range",2)}function Nq(e){this.b=e,this.a=new bt}function xnt(e){this.b=new Nu,this.a=e}function knt(e){e.a=new _t,e.c=new _t}function Ent(e){e.a=new Pr,e.d=new Pr}function Tnt(e){doe(e,null),goe(e,null)}function Cnt(e,t){return YMn(e.a,t,null)}function lhn(e,t){return ki(e.a,t.a,t)}function Ja(e){return new lt(e.a,e.b)}function mye(e){return new lt(e.c,e.d)}function hhn(e){return new lt(e.c,e.d)}function F_(e,t){return oMn(e.c,e.b,t)}function De(e,t){return e!=null&&iue(e,t)}function Zse(e,t){return eyn(e.Kc(),t)!=-1}function Pq(e){return e.Ob()?e.Pb():null}function fhn(e){this.b=(Cn(),new tr(e))}function vye(e){this.a=e,Pr.call(this)}function Snt(){TO.call(this,null,null)}function _nt(){qq.call(this,null,null)}function Ant(){Ur.call(this,"INSTANCE",0)}function Lnt(){mxe(),this.a=new UA(gAe)}function Mnt(e){return If(e,0,e.length)}function dhn(e,t){return new Wnt(e.Kc(),t)}function wye(e,t){return e.a.Bc(t)!=null}function Dnt(e,t){$r(e),e.Gc(l(t,15))}function ghn(e,t,n){e.c.bd(t,l(n,136))}function phn(e,t,n){e.c.Ui(t,l(n,136))}function Int(e,t){e.c&&($4e(t),iot(t))}function bhn(e,t){e.q.setHours(t),XA(e,t)}function mhn(e,t){dw(t,e.a.a.a,e.a.a.b)}function vhn(e,t,n,r){Ts(e.a[t.g],n.g,r)}function eae(e,t,n){return e.a[t.g][n.g]}function whn(e,t){return e.e[t.c.p][t.p]}function yhn(e,t){return e.c[t.c.p][t.p]}function L1(e,t){return e.a[t.c.p][t.p]}function xhn(e,t){return e.j[t.p]=ITn(t)}function tae(e,t){return e.a.Bc(t)!=null}function khn(e,t){return ze(Ge(t.a))<=e}function Ehn(e,t){return ze(Ge(t.a))>=e}function Thn(e,t){return E6e(e.f,t.Pg())}function z8(e,t){return e.a*t.a+e.b*t.b}function Chn(e,t){return e.a0?t/(e*e):t*100}function Xhn(e,t){return e>0?t*t/e:t*t*100}function dy(e,t){return l(B1(e.a,t),34)}function Qhn(e,t){return Cb(),xn(e,t.e,t)}function Jhn(e,t,n){return tq(),n.Mg(e,t)}function Zhn(e){return tp(),e.e.a+e.f.a/2}function efn(e,t,n){return tp(),n.e.a-e*t}function tfn(e){return tp(),e.e.b+e.f.b/2}function nfn(e,t,n){return tp(),n.e.b-e*t}function crt(e){e.d=new srt(e),e.e=new Pr}function urt(){this.a=new Cw,this.b=new Cw}function lrt(e){this.c=e,this.a=1,this.b=1}function hrt(e){Mle(),SQe(this),this.Ff(e)}function rfn(e,t,n){ZH(),e.pf(t)&&n.Cd(e)}function ifn(e,t,n){return vt(t,k1t(e,n))}function dw(e,t,n){return e.a+=t,e.b+=n,e}function sfn(e,t,n){return e.a*=t,e.b*=n,e}function Fye(e,t){return e.a=t.a,e.b=t.b,e}function Hq(e){return e.a=-e.a,e.b=-e.b,e}function z_(e,t,n){return e.a-=t,e.b-=n,e}function frt(e){os.call(this),fA(this,e)}function drt(){Ur.call(this,"GROW_TREE",0)}function grt(){Ur.call(this,"POLYOMINO",0)}function dh(e,t,n){xl.call(this,e,t,n,2)}function afn(e,t,n){_A(du(e.a),t,Iot(n))}function prt(e,t){w_(),TO.call(this,e,t)}function Rye(e,t){Wp(),qq.call(this,e,t)}function brt(e,t){Wp(),Rye.call(this,e,t)}function mrt(e,t){Wp(),qq.call(this,e,t)}function ofn(e,t){return e.c.Fc(l(t,136))}function cfn(e,t,n){_A(Xl(e.a),t,Oot(n))}function vrt(e){this.c=e,Uu(e,0),Gu(e,0)}function oae(e,t){Jh(),cH.call(this,e,t)}function wrt(e,t){Jh(),oae.call(this,e,t)}function jye(e,t){Jh(),oae.call(this,e,t)}function $ye(e,t){Jh(),cH.call(this,e,t)}function yrt(e,t){Jh(),jye.call(this,e,t)}function xrt(e,t){Jh(),$ye.call(this,e,t)}function krt(e,t){Jh(),cH.call(this,e,t)}function ufn(e,t,n){return t.zl(e.e,e.c,n)}function lfn(e,t,n){return t.Al(e.e,e.c,n)}function zye(e,t,n){return VU(lN(e,t),n)}function cae(e,t){return yb(e.e,l(t,54))}function hfn(e){return e==null?null:BDn(e)}function ffn(e){return e==null?null:L9n(e)}function dfn(e){return e==null?null:xc(e)}function gfn(e){return e==null?null:xc(e)}function Bt(e){return V_(e==null||hy(e)),e}function Ge(e){return V_(e==null||fy(e)),e}function ei(e){return V_(e==null||Ia(e)),e}function Gg(e){e.o==null&&oTn(e)}function qye(e){if(!e)throw ue(new YI)}function pfn(e){if(!e)throw ue(new Rie)}function mr(e){if(!e)throw ue(new _c)}function gy(e){if(!e)throw ue(new pl)}function Ert(e){if(!e)throw ue(new Xh)}function Fk(){Fk=U,fF=new iJe,new sJe}function H5(){H5=U,Y6=new Ui("root")}function Hye(){sft.call(this),this.Bb|=Io}function bfn(e,t){this.d=e,Mr(this),this.b=t}function Vye(e,t){Poe.call(this,e),this.a=t}function Uye(e,t){Poe.call(this,e),this.a=t}function Gye(e,t,n){YH.call(this,e,t,n,null)}function Trt(e,t,n){YH.call(this,e,t,n,null)}function _O(e,t){this.c=e,Lk.call(this,e,t)}function q_(e,t){this.a=e,_O.call(this,e,t)}function Kye(e){this.q=new b.Date(Fm(e))}function Crt(e){return e>8?0:e+1}function Srt(e,t){G1||vt(e.a,t)}function mfn(e,t){return sO(),bE(t.d.i,e)}function vfn(e,t){return lx(),new nmt(t,e)}function wfn(e,t,n){return e.Ne(t,n)<=0?n:t}function yfn(e,t,n){return e.Ne(t,n)<=0?t:n}function xfn(e,t){return l(B1(e.b,t),143)}function kfn(e,t){return l(B1(e.c,t),233)}function uae(e){return l(jt(e.a,e.b),294)}function _rt(e){return new lt(e.c,e.d+e.a)}function Art(e){return nr(e),e?1231:1237}function Lrt(e){return Sh(),ont(l(e,203))}function py(){py=U,q_e=un((mh(),Cv))}function Efn(e,t){t.a?_En(e,t):tae(e.a,t.b)}function AO(e,t,n){++e.j,e.tj(),Noe(e,t,n)}function Mrt(e,t,n){++e.j,e.qj(t,e.Zi(t,n))}function Drt(e,t,n){var r;r=e.fd(t),r.Rb(n)}function Wye(e,t,n){return n=Nh(e,t,6,n),n}function Yye(e,t,n){return n=Nh(e,t,3,n),n}function Xye(e,t,n){return n=Nh(e,t,9,n),n}function vd(e,t){return UO(t,yEe),e.f=t,e}function Qye(e,t){return(t&Ii)%e.d.length}function Irt(e,t,n){return Mke(e.c,e.b,t,n)}function Ort(e,t){this.c=e,Lw.call(this,t)}function Nrt(e,t){this.a=e,vQe.call(this,t)}function LO(e,t){this.a=e,vQe.call(this,t)}function vs(e,t){Ui.call(this,e),this.a=t}function Jye(e,t){xwe.call(this,e),this.a=t}function lae(e,t){xwe.call(this,e),this.a=t}function Tfn(e){I8e.call(this,0,0),this.f=e}function Prt(e,t,n){return e.a+=If(t,0,n),e}function MO(e){return!e.a&&(e.a=new ge),e.a}function Zye(e,t){var n;return n=e.e,e.e=t,n}function e4e(e,t){var n;return n=t,!!e.Fe(n)}function Cfn(e,t){return Hn(),e==t?0:e?1:-1}function by(e,t){e.a.bd(e.b,t),++e.b,e.c=-1}function DO(e){e.b?DO(e.b):e.f.c.zc(e.e,e.d)}function Brt(e){Nl(e.e),e.d.b=e.d,e.d.a=e.d}function Sfn(e,t,n){Am(),Eie(e,t.Ve(e.a,n))}function t4e(e,t,n){return Q8(e,l(t,22),n)}function c0(e,t){return Vz(new Array(t),e)}function _fn(e){return Yr(ub(e,32))^Yr(e)}function hae(e){return String.fromCharCode(e)}function Afn(e){return e==null?null:e.message}function Lfn(e,t,n){return e.apply(t,n)}function Mfn(e,t){var n;n=e[lhe],n.call(e,t)}function Dfn(e,t){var n;n=e[lhe],n.call(e,t)}function Ifn(e,t){return sO(),!bE(t.d.i,e)}function n4e(e,t,n,r){sH.call(this,e,t,n,r)}function Frt(){Vq.call(this),this.a=new qa}function r4e(){this.n=new qa,this.o=new qa}function Rrt(){this.b=new qa,this.c=new bt}function jrt(){this.a=new bt,this.b=new bt}function $rt(){this.a=new bm,this.b=new BQe}function i4e(){this.b=new e2,this.a=new e2}function zrt(){this.b=new Ks,this.a=new Ks}function qrt(){this.b=new Pr,this.a=new Pr}function Hrt(){this.b=new dZe,this.a=new CS}function Vrt(){this.a=new Wre,this.b=new Aee}function Urt(){this.a=new bt,this.d=new bt}function Vq(){this.n=new A8,this.i=new $8}function Grt(e){this.a=(Mh(e,Yy),new Bu(e))}function Krt(e){this.a=(Mh(e,Yy),new Bu(e))}function Ofn(e){return e<100?null:new nb(e)}function Nfn(e,t){return e.n.a=(nr(t),t+10)}function Pfn(e,t){return e.n.a=(nr(t),t+10)}function Bfn(e,t){return t==e||jE(_U(t),e)}function Wrt(e,t){return ki(e.a,t,"")==null}function Ffn(e,t){var n;return n=t.qi(e.a),n}function Oi(e,t){return e.a+=t.a,e.b+=t.b,e}function ma(e,t){return e.a-=t.a,e.b-=t.b,e}function Rfn(e){return ay(e.j.c,0),e.a=-1,e}function s4e(e,t,n){return n=Nh(e,t,11,n),n}function jfn(e,t,n){n!=null&&wV(t,pue(e,n))}function $fn(e,t,n){n!=null&&yV(t,pue(e,n))}function V8(e,t,n,r){nt.call(this,e,t,n,r)}function a4e(e,t,n,r){nt.call(this,e,t,n,r)}function Yrt(e,t,n,r){a4e.call(this,e,t,n,r)}function Xrt(e,t,n,r){pH.call(this,e,t,n,r)}function fae(e,t,n,r){pH.call(this,e,t,n,r)}function o4e(e,t,n,r){pH.call(this,e,t,n,r)}function Qrt(e,t,n,r){fae.call(this,e,t,n,r)}function c4e(e,t,n,r){fae.call(this,e,t,n,r)}function Ln(e,t,n,r){o4e.call(this,e,t,n,r)}function Jrt(e,t,n,r){c4e.call(this,e,t,n,r)}function Zrt(e,t,n,r){a5e.call(this,e,t,n,r)}function my(e,t){tc.call(this,CL+e+av+t)}function u4e(e,t){return e.jk().wi().ri(e,t)}function l4e(e,t){return e.jk().wi().ti(e,t)}function eit(e,t){return nr(e),qe(e)===qe(t)}function vn(e,t){return nr(e),qe(e)===qe(t)}function zfn(e,t){return e.b.Bd(new ket(e,t))}function qfn(e,t){return e.b.Bd(new Eet(e,t))}function tit(e,t){return e.b.Bd(new Tet(e,t))}function Hfn(e,t){return e.e=l(e.d.Kb(t),159)}function h4e(e,t,n){return e.lastIndexOf(t,n)}function Vfn(e,t,n){return Yi(e[t.a],e[n.a])}function Ufn(e,t){return rt(t,(Nt(),TB),e)}function Gfn(e,t){return ru(t.a.d.p,e.a.d.p)}function Kfn(e,t){return ru(e.a.d.p,t.a.d.p)}function Wfn(e,t){return Yi(e.c-e.s,t.c-t.s)}function Yfn(e,t){return Yi(e.b.e.a,t.b.e.a)}function Xfn(e,t){return Yi(e.c.e.a,t.c.e.a)}function nit(e){return e.c?gc(e.c.a,e,0):-1}function U8(e){return e==Tv||e==Tg||e==Mu}function f4e(e,t){this.c=e,jae.call(this,e,t)}function rit(e,t,n){this.a=e,Nye.call(this,t,n)}function iit(e){this.c=e,Dq.call(this,EP,0)}function sit(e,t,n){this.c=t,this.b=n,this.a=e}function IO(e){jk(),this.d=e,this.a=new z5}function ait(e){wd(),this.a=(Cn(),new Ek(e))}function Qfn(e,t){Ug(e.f)?ZEn(e,t):Mxn(e,t)}function oit(e,t){ldn.call(this,e,e.length,t)}function Jfn(e,t){G1||t&&(e.d=t)}function cit(e,t){return De(t,15)&&Bbt(e.c,t)}function Zfn(e,t,n){return l(e.c,71).Wk(t,n)}function Uq(e,t,n){return l(e.c,71).Xk(t,n)}function e0n(e,t,n){return ufn(e,l(t,343),n)}function d4e(e,t,n){return lfn(e,l(t,343),n)}function t0n(e,t,n){return Lgt(e,l(t,343),n)}function uit(e,t,n){return Hxn(e,l(t,343),n)}function H_(e,t){return t==null?null:Oy(e.b,t)}function g4e(e){return fy(e)?(nr(e),e):e.ue()}function Gq(e){return!isNaN(e)&&!isFinite(e)}function dae(e){knt(this),Ch(this),Ka(this,e)}function Ol(e){Yse(this),M4e(this.c,0,e.Pc())}function Zh(e,t,n){this.a=e,this.b=t,this.c=n}function lit(e,t,n){this.a=e,this.b=t,this.c=n}function hit(e,t,n){this.d=e,this.b=n,this.a=t}function fit(e){this.a=e,Vg(),Zc(Date.now())}function dit(e){ph(e.a),L6e(e.c,e.b),e.b=null}function gae(){gae=U,p_e=new Et,_6t=new Gt}function git(){git=U,M_t=We(wa,Rn,1,0,5,1)}function pit(){pit=U,W_t=We(wa,Rn,1,0,5,1)}function p4e(){p4e=U,Y_t=We(wa,Rn,1,0,5,1)}function wd(){wd=U,new Twe((Cn(),Cn(),_o))}function n0n(e){return rE(),Gr((xlt(),M6t),e)}function r0n(e){return Fl(),Gr((hlt(),B6t),e)}function i0n(e){return ZV(),Gr((Xct(),q6t),e)}function s0n(e){return aV(),Gr((Qct(),H6t),e)}function a0n(e){return PU(),Gr((Xft(),V6t),e)}function o0n(e){return t1(),Gr((ult(),K6t),e)}function c0n(e){return Bl(),Gr((clt(),Y6t),e)}function u0n(e){return ol(),Gr((llt(),Q6t),e)}function l0n(e){return YU(),Gr((Gtt(),y7t),e)}function h0n(e){return Pw(),Gr((Elt(),k7t),e)}function f0n(e){return bx(),Gr((Clt(),T7t),e)}function d0n(e){return NA(),Gr((Tlt(),_7t),e)}function g0n(e){return Zz(),Gr((kct(),A7t),e)}function p0n(e){return oV(),Gr((Jct(),U7t),e)}function b0n(e){return lA(),Gr((flt(),m8t),e)}function m0n(e){return uo(),Gr((aht(),x8t),e)}function v0n(e){return wE(),Gr((_lt(),S8t),e)}function w0n(e){return Km(),Gr((Slt(),I8t),e)}function b4e(e,t){if(!e)throw ue(new Yn(t))}function Rk(e){if(!e)throw ue(new nc(Jke))}function pae(e,t){if(e!=t)throw ue(new Xh)}function bit(e,t,n){this.a=e,this.b=t,this.c=n}function m4e(e,t,n){this.a=e,this.b=t,this.c=n}function mit(e,t,n){this.a=e,this.b=t,this.c=n}function Kq(e,t,n){this.b=e,this.a=t,this.c=n}function v4e(e,t,n){this.b=e,this.c=t,this.a=n}function w4e(e,t,n){this.a=e,this.b=t,this.c=n}function Wq(e,t,n){this.e=t,this.b=e,this.d=n}function vit(e,t,n){this.b=e,this.a=t,this.c=n}function y0n(e,t,n){return Am(),e.a.Yd(t,n),t}function bae(e){var t;return t=new Ml,t.e=e,t}function y4e(e){var t;return t=new zQe,t.b=e,t}function OO(){OO=U,CK=new pZ,SK=new dj}function Yq(){Yq=U,K8t=new SZ,G8t=new bS}function u0(){u0=U,J8t=new iee,Z8t=new see}function x0n(e){return Ow(),Gr((Hut(),uxt),e)}function k0n(e){return vo(),Gr((Ktt(),q8t),e)}function E0n(e){return IV(),Gr((Llt(),U8t),e)}function T0n(e){return R1(),Gr((Alt(),nxt),e)}function C0n(e){return Ry(),Gr((oht(),ixt),e)}function S0n(e){return OU(),Gr((Pft(),lxt),e)}function _0n(e){return yx(),Gr((Iht(),hxt),e)}function A0n(e){return JH(),Gr((sut(),fxt),e)}function L0n(e){return dA(),Gr((zut(),dxt),e)}function M0n(e){return pV(),Gr((qut(),gxt),e)}function D0n(e){return l2(),Gr((cht(),pxt),e)}function I0n(e){return pN(),Gr((tut(),bxt),e)}function O0n(e){return zE(),Gr((Pht(),kxt),e)}function N0n(e){return Ho(),Gr((f0t(),Ext),e)}function P0n(e){return vE(),Gr((Uut(),Txt),e)}function B0n(e){return ep(),Gr((Gut(),Sxt),e)}function F0n(e){return zH(),Gr((eut(),_xt),e)}function R0n(e){return WN(),Gr((Nht(),xxt),e)}function j0n(e){return Vm(),Gr((Vut(),vxt),e)}function $0n(e){return yU(),Gr((Oht(),wxt),e)}function z0n(e){return cN(),Gr((nut(),yxt),e)}function q0n(e){return hf(),Gr((lht(),Axt),e)}function H0n(e){return p2(),Gr((Kft(),Jkt),e)}function V0n(e){return EA(),Gr((Kut(),Zkt),e)}function U0n(e){return By(),Gr((Mlt(),eEt),e)}function G0n(e){return OA(),Gr((uht(),tEt),e)}function K0n(e){return Nf(),Gr((d0t(),nEt),e)}function W0n(e){return Ed(),Gr((Dlt(),rEt),e)}function Y0n(e){return dN(),Gr((rut(),iEt),e)}function X0n(e){return qo(),Gr((Xut(),aEt),e)}function Q0n(e){return LV(),Gr((Wut(),oEt),e)}function J0n(e){return yA(),Gr((Yut(),cEt),e)}function Z0n(e){return SE(),Gr((Qut(),uEt),e)}function e1n(e){return gV(),Gr((Jut(),lEt),e)}function t1n(e){return OV(),Gr((Zut(),hEt),e)}function n1n(e){return Iw(),Gr((olt(),_Et),e)}function r1n(e){return oA(),Gr((iut(),IEt),e)}function i1n(e){return xd(),Gr((cut(),jEt),e)}function s1n(e){return D1(),Gr((uut(),zEt),e)}function a1n(e){return J0(),Gr((lut(),nTt),e)}function o1n(e){return Sw(),Gr((hut(),uTt),e)}function c1n(e){return wx(),Gr((Rlt(),lTt),e)}function u1n(e){return WA(),Gr((Wtt(),hTt),e)}function l1n(e){return xA(),Gr((elt(),fTt),e)}function h1n(e){return kA(),Gr((Flt(),PTt),e)}function f1n(e){return RH(),Gr((aut(),BTt),e)}function d1n(e){return kV(),Gr((out(),zTt),e)}function g1n(e){return bU(),Gr((hht(),HTt),e)}function p1n(e){return LN(),Gr((tlt(),UTt),e)}function b1n(e){return eV(),Gr((fut(),VTt),e)}function m1n(e){return uU(),Gr((Blt(),hCt),e)}function v1n(e){return AV(),Gr((nlt(),fCt),e)}function w1n(e){return WV(),Gr((rlt(),dCt),e)}function y1n(e){return sU(),Gr((ilt(),pCt),e)}function x1n(e){return qV(),Gr((slt(),vCt),e)}function k1n(e){return GH(),Gr((dut(),jCt),e)}function E1n(e){return dE(),Gr((Zct(),z8t),e)}function T1n(e){return Zn(),Gr((Bht(),B8t),e)}function C1n(e){return tV(),Gr((alt(),$Ct),e)}function S1n(e){return fce(),Gr((gut(),zCt),e)}function _1n(e){return VA(),Gr((fht(),HCt),e)}function A1n(e){return nq(),Gr((Mct(),UCt),e)}function L1n(e){return PN(),Gr((glt(),VCt),e)}function M1n(e){return rq(),Gr((Dct(),KCt),e)}function D1n(e){return rN(),Gr((put(),WCt),e)}function I1n(e){return XN(),Gr((dht(),YCt),e)}function O1n(e){return b_(),Gr((Ict(),hSt),e)}function N1n(e){return CN(),Gr((but(),fSt),e)}function P1n(e){return r1(),Gr((pht(),vSt),e)}function B1n(e){return g2(),Gr((Oft(),ySt),e)}function F1n(e){return og(),Gr((Fht(),xSt),e)}function R1n(e){return Ym(),Gr((Rht(),_St),e)}function j1n(e){return Js(),Gr((ght(),GSt),e)}function $1n(e){return F1(),Gr((plt(),KSt),e)}function z1n(e){return ip(),Gr((jlt(),WSt),e)}function q1n(e){return vU(),Gr((jht(),YSt),e)}function H1n(e){return rp(),Gr((dlt(),QSt),e)}function V1n(e){return Ih(),Gr(($lt(),ZSt),e)}function U1n(e){return qy(),Gr((Yft(),e_t),e)}function G1n(e){return t6(),Gr((bht(),t_t),e)}function K1n(e){return Ra(),Gr(($ht(),n_t),e)}function W1n(e){return Rl(),Gr((zht(),r_t),e)}function Y1n(e){return Ct(),Gr((mht(),i_t),e)}function X1n(e){return mh(),Gr((zlt(),u_t),e)}function Q1n(e){return Zl(),Gr((Wft(),l_t),e)}function J1n(e){return dx(),Gr((blt(),h_t),e)}function Z1n(e,t){return nr(e),e+(nr(t),t)}function edn(e){return mae(),Gr((mut(),f_t),e)}function tdn(e){return VV(),Gr((qlt(),d_t),e)}function ndn(e){return NV(),Gr((Hlt(),b_t),e)}function jk(){jk=U,$De=(Ct(),er),DW=ar}function mae(){mae=U,rPe=new Wit,iPe=new Ost}function rdn(e){return!e.e&&(e.e=new bt),e.e}function vae(e,t){this.c=e,this.a=t,this.b=t-e}function wit(e,t,n){this.a=e,this.b=t,this.c=n}function wae(e,t,n){this.a=e,this.b=t,this.c=n}function x4e(e,t,n){this.a=e,this.b=t,this.c=n}function k4e(e,t,n){this.a=e,this.b=t,this.c=n}function yit(e,t,n){this.a=e,this.b=t,this.c=n}function xit(e,t,n){this.a=e,this.b=t,this.c=n}function Xp(e,t,n){this.e=e,this.a=t,this.c=n}function kit(e,t,n){Jh(),$5e.call(this,e,t,n)}function yae(e,t,n){Jh(),E5e.call(this,e,t,n)}function E4e(e,t,n){Jh(),E5e.call(this,e,t,n)}function T4e(e,t,n){Jh(),E5e.call(this,e,t,n)}function Eit(e,t,n){Jh(),yae.call(this,e,t,n)}function C4e(e,t,n){Jh(),yae.call(this,e,t,n)}function Tit(e,t,n){Jh(),C4e.call(this,e,t,n)}function Cit(e,t,n){Jh(),E4e.call(this,e,t,n)}function Sit(e,t,n){Jh(),T4e.call(this,e,t,n)}function xae(e){sH.call(this,e.d,e.c,e.a,e.b)}function S4e(e){sH.call(this,e.d,e.c,e.a,e.b)}function _4e(e){this.d=e,Mr(this),this.b=ngn(e.d)}function idn(e){return HE(),Gr((Nft(),L_t),e)}function NO(e,t){return Xr(e),Xr(t),new IZe(e,t)}function G8(e,t){return Xr(e),Xr(t),new jit(e,t)}function sdn(e,t){return Xr(e),Xr(t),new $it(e,t)}function adn(e,t){return Xr(e),Xr(t),new zZe(e,t)}function kae(e){return mr(e.b!=0),af(e,e.a.a)}function odn(e){return mr(e.b!=0),af(e,e.c.b)}function cdn(e){return!e.c&&(e.c=new Xd),e.c}function $k(e){var t;return t=new bt,Goe(t,e),t}function udn(e){var t;return t=new Ks,Goe(t,e),t}function _it(e){var t;return t=new Lwe,sce(t,e),t}function PO(e){var t;return t=new os,sce(t,e),t}function l(e,t){return V_(e==null||iue(e,t)),e}function ldn(e,t,n){Sst.call(this,t,n),this.a=e}function Ait(e,t){this.c=e,this.b=t,this.a=!1}function Lit(){this.a=";,;",this.b="",this.c=""}function Mit(e,t,n){this.b=e,ztt.call(this,t,n)}function A4e(e,t,n){this.c=e,cq.call(this,t,n)}function L4e(e,t,n){Ik.call(this,e,t),this.b=n}function M4e(e,t,n){k9e(n,0,e,t,n.length,!1)}function tg(e,t,n,r,a){e.b=t,e.c=n,e.d=r,e.a=a}function D4e(e,t,n,r,a){e.d=t,e.c=n,e.a=r,e.b=a}function hdn(e,t){t&&(e.b=t,e.a=(fb(t),t.a))}function BO(e,t){if(!e)throw ue(new Yn(t))}function K8(e,t){if(!e)throw ue(new nc(t))}function I4e(e,t){if(!e)throw ue(new BJe(t))}function fdn(e,t){return eq(),ru(e.d.p,t.d.p)}function ddn(e,t){return tp(),Yi(e.e.b,t.e.b)}function gdn(e,t){return tp(),Yi(e.e.a,t.e.a)}function pdn(e,t){return ru(Uit(e.d),Uit(t.d))}function Xq(e,t){return t&&yH(e,t.d)?t:null}function bdn(e,t){return t==(Ct(),er)?e.c:e.d}function O4e(e){return mb(pgn(wc(e)?Mf(e):e))}function mdn(e){return new lt(e.c+e.b,e.d+e.a)}function Dit(e){return e!=null&&!Hce(e,$M,zM)}function vdn(e,t){return(u1t(e)<<4|u1t(t))&Zs}function Iit(e,t,n,r,a){e.c=t,e.d=n,e.b=r,e.a=a}function N4e(e){var t,n;t=e.b,n=e.c,e.b=n,e.c=t}function P4e(e){var t,n;n=e.d,t=e.a,e.d=t,e.a=n}function wdn(e,t){var n;return n=e.c,d7e(e,t),n}function B4e(e,t){return t<0?e.g=-1:e.g=t,e}function Qq(e,t){return _wn(e),e.a*=t,e.b*=t,e}function Oit(e,t,n){_ht.call(this,t,n),this.d=e}function FO(e,t,n){tye.call(this,e,t),this.c=n}function Jq(e,t,n){tye.call(this,e,t),this.c=n}function F4e(e){p4e(),m5.call(this),this.ci(e)}function Nit(){eE(),$gn.call(this,(ib(),Gf))}function Pit(e){return Di(),new ng(0,e)}function Bit(){Bit=U,spe=(Cn(),new Da(c0e))}function Zq(){Zq=U,new W8e((Gie(),y0e),(Uie(),w0e))}function Fit(){Fit=U,t_e=We(ro,dt,17,256,0,1)}function Rit(){this.b=ze(Ge(It((b0(),Z0e))))}function Eae(e){this.b=e,this.a=Mm(this.b.a).Od()}function jit(e,t){this.b=e,this.a=t,GS.call(this)}function $it(e,t){this.a=e,this.b=t,GS.call(this)}function zit(e,t,n){this.a=e,N5.call(this,t,n)}function qit(e,t,n){this.a=e,N5.call(this,t,n)}function zk(e,t,n){var r;r=new yy(n),e1(e,t,r)}function R4e(e,t,n){var r;return r=e[t],e[t]=n,r}function eH(e){var t;return t=e.slice(),joe(t,e)}function tH(e){var t;return t=e.n,e.a.b+t.d+t.a}function Hit(e){var t;return t=e.n,e.e.b+t.d+t.a}function j4e(e){var t;return t=e.n,e.e.a+t.b+t.c}function $4e(e){e.a.b=e.b,e.b.a=e.a,e.a=e.b=null}function ui(e,t){return Cs(e,t,e.c.b,e.c),!0}function ydn(e){return e.a?e.a:Qae(e)}function xdn(e){return tx(),cg(e)==ds(Eb(e))}function kdn(e){return tx(),Eb(e)==ds(cg(e))}function gw(e,t){return RA(e,new Ik(t.a,t.b))}function Edn(e,t){return kH(),fue(e,t),new hat(e,t)}function Tdn(e,t){return e.c=t)throw ue(new Bwe)}function vy(e,t){return ON(e,(nr(t),new xo(t)))}function Y8(e,t){return ON(e,(nr(t),new lh(t)))}function Ast(e,t,n){return XIn(e,l(t,12),l(n,12))}function Lst(e){return kl(),l(e,12).g.c.length!=0}function Mst(e){return kl(),l(e,12).e.c.length!=0}function cgn(e,t){return lx(),Yi(t.a.o.a,e.a.o.a)}function ugn(e,t){t.Bb&eu&&!e.a.o&&(e.a.o=t)}function lgn(e,t){t.Ug("General 'Rotator",1),TDn(e)}function hgn(e,t,n){t.qf(n,ze(Ge(cr(e.b,n)))*e.a)}function Dst(e,t,n){return h6(),gE(e,t)&&gE(e,n)}function W_(e){return Rl(),!e.Hc(vp)&&!e.Hc(Yb)}function fgn(e){return e.e?_6e(e.e):null}function Y_(e){return wc(e)?""+e:Pbt(e)}function s5e(e){var t;for(t=e;t.f;)t=t.f;return t}function dgn(e,t,n){return Ts(t,0,U4e(t[0],n[0])),t}function Qp(e,t,n,r){var a;a=e.i,a.i=t,a.a=n,a.b=r}function nt(e,t,n,r){Ys.call(this,e,t,n),this.b=r}function _a(e,t,n,r,a){Foe.call(this,e,t,n,r,a,-1)}function X_(e,t,n,r,a){sN.call(this,e,t,n,r,a,-1)}function pH(e,t,n,r){FO.call(this,e,t,n),this.b=r}function Ist(e){Ltt.call(this,e,!1),this.a=!1}function Ost(){ctt.call(this,"LOOKAHEAD_LAYOUT",1)}function Nst(e){this.b=e,q8.call(this,e),jnt(this)}function Pst(e){this.b=e,CO.call(this,e),$nt(this)}function wy(e,t,n){this.a=e,V8.call(this,t,n,5,6)}function a5e(e,t,n,r){this.b=e,Ys.call(this,t,n,r)}function Bst(e,t){this.b=e,qg.call(this,e.b),this.a=t}function Fst(e){this.a=ydt(e.a),this.b=new Ol(e.b)}function o5e(e,t){ww(),Vun.call(this,e,RV(new Il(t)))}function bH(e,t){return Di(),new k5e(e,t,0)}function Bae(e,t){return Di(),new k5e(6,e,t)}function Za(e,t){for(nr(t);e.Ob();)t.Cd(e.Pb())}function Hu(e,t){return Ia(t)?soe(e,t):!!zo(e.f,t)}function Fae(e,t){return t.Vh()?yb(e.b,l(t,54)):t}function ggn(e,t){return vn(e.substr(0,t.length),t)}function rg(e){return new hr(new Aye(e.a.length,e.a))}function mH(e){return new lt(e.c+e.b/2,e.d+e.a/2)}function pgn(e){return qu(~e.l&eh,~e.m&eh,~e.h&hp)}function Rae(e){return typeof e===wP||typeof e===Ole}function Nl(e){e.f=new rnt(e),e.i=new int(e),++e.g}function Rst(e){if(!e)throw ue(new _c);return e.d}function X8(e){var t;return t=wA(e),mr(t!=null),t}function bgn(e){var t;return t=I4n(e),mr(t!=null),t}function Hk(e,t){var n;return n=e.a.gc(),k6e(t,n),n-t}function na(e,t){var n;return n=e.a.zc(t,e),n==null}function jO(e,t){return e.a.zc(t,(Hn(),Pb))==null}function c5e(e){return new bn(null,xgn(e,e.length))}function u5e(e,t,n){return svt(e,l(t,42),l(n,176))}function Q8(e,t,n){return d0(e.a,t),R4e(e.b,t.g,n)}function mgn(e,t,n){qk(n,e.a.c.length),rf(e.a,n,t)}function He(e,t,n,r){B0t(t,n,e.length),vgn(e,t,n,r)}function vgn(e,t,n,r){var a;for(a=t;a0?b.Math.log(e/t):-100}function $st(e,t){return iu(e,t)<0?-1:iu(e,t)>0?1:0}function $O(e,t){Dnt(e,De(t,160)?t:l(t,2036).Rl())}function d5e(e,t){if(e==null)throw ue(new D8(t))}function xgn(e,t){return Ewn(t,e.length),new Kit(e,t)}function g5e(e,t){return t?Ka(e,t):!1}function kgn(){return $z(),he(le(a6t,1),it,549,0,[E0e])}function J_(e){return e.e==0?e:new Im(-e.e,e.d,e.a)}function Egn(e,t){return Yi(e.c.c+e.c.b,t.c.c+t.c.b)}function zO(e,t){Cs(e.d,t,e.b.b,e.b),++e.a,e.c=null}function zst(e,t){return e.c?zst(e.c,t):vt(e.b,t),e}function Tgn(e,t,n){var r;return r=_y(e,t),xoe(e,t,n),r}function qst(e,t,n){var r;for(r=0;r=e.g}function Ts(e,t,n){return pfn(n==null||lAn(e,n)),e[t]=n}function w5e(e,t){return Xn(t,e.length+1),e.substr(t)}function Wae(e,t){for(nr(t);e.c=e?new b3e:Kwn(e-1)}function eo(e){return!e.a&&e.c?e.c.b:e.a}function T5e(e){return De(e,616)?e:new oot(e)}function fb(e){e.c?fb(e.c):(xb(e),e.d=!0)}function tA(e){e.c?e.c.$e():(e.d=!0,hCn(e))}function cat(e){e.b=!1,e.c=!1,e.d=!1,e.a=!1}function uat(e){var t,n;return t=e.c.i.c,n=e.d.i.c,t==n}function Hgn(e,t){var n;n=e.Ih(t),n>=0?e.ki(n):d9e(e,t)}function lat(e,t){e.c<0||e.b.b0;)e=e<<1|(e<0?1:0);return e}function vat(e,t){var n;return n=new yu(e),$n(t.c,n),n}function wat(e,t){e.u.Hc((Rl(),vp))&&Wkn(e,t),fvn(e,t)}function Jc(e,t){return qe(e)===qe(t)||e!=null&&Pi(e,t)}function Qo(e,t){return Aae(e.a,t)?e.b[l(t,22).g]:null}function npn(){return Zz(),he(le(U_e,1),it,489,0,[G0e])}function rpn(){return nq(),he(le(wOe,1),it,490,0,[bge])}function ipn(){return rq(),he(le(GCt,1),it,558,0,[mge])}function spn(){return b_(),he(le($Oe,1),it,539,0,[qB])}function EH(e){return!e.n&&(e.n=new nt(ec,e,1,7)),e.n}function Xae(e){return!e.c&&(e.c=new nt(Hl,e,9,9)),e.c}function A5e(e){return!e.c&&(e.c=new Ln(_r,e,5,8)),e.c}function apn(e){return!e.b&&(e.b=new Ln(_r,e,4,7)),e.b}function qO(e){return e.j.c.length=0,M5e(e.c),Rfn(e.a),e}function Wk(e){return e.e==ET&&hn(e,e6n(e.g,e.b)),e.e}function HO(e){return e.f==ET&&Dn(e,U7n(e.g,e.b)),e.f}function Ei(e,t,n,r){return qft(e,t,n,!1),jV(e,r),e}function yat(e,t){this.b=e,jae.call(this,e,t),jnt(this)}function xat(e,t){this.b=e,f4e.call(this,e,t),$nt(this)}function nA(e){this.d=e,this.a=this.d.b,this.b=this.d.c}function L5e(e,t){this.b=e,this.c=t,this.a=new P8(this.b)}function co(e,t){return Xn(t,e.length),e.charCodeAt(t)}function opn(e,t){b8e(e,ze(np(t,"x")),ze(np(t,"y")))}function cpn(e,t){b8e(e,ze(np(t,"x")),ze(np(t,"y")))}function Fi(e,t){return xb(e),new bn(e,new $6e(t,e.a))}function fc(e,t){return xb(e),new bn(e,new C6e(t,e.a))}function xy(e,t){return xb(e),new Vye(e,new Mut(t,e.a))}function TH(e,t){return xb(e),new Uye(e,new Dut(t,e.a))}function upn(e,t){return new Uat(l(Xr(e),50),l(Xr(t),50))}function lpn(e,t){return Yi(e.d.c+e.d.b/2,t.d.c+t.d.b/2)}function kat(e,t,n){n.a?Gu(e,t.b-e.f/2):Uu(e,t.a-e.g/2)}function hpn(e,t){return Yi(e.g.c+e.g.b/2,t.g.c+t.g.b/2)}function fpn(e,t){return w3e(),Yi((nr(e),e),(nr(t),t))}function dpn(e){return e!=null&&nO(EY,e.toLowerCase())}function M5e(e){var t;for(t=e.Kc();t.Ob();)t.Pb(),t.Qb()}function V5(e){var t;return t=e.b,!t&&(e.b=t=new mie(e)),t}function Qae(e){var t;return t=Qwn(e),t||null}function Eat(e,t){var n,r;return n=e/t,r=ua(n),n>r&&++r,r}function gpn(e,t,n){var r;r=l(e.d.Kb(n),159),r&&r.Nb(t)}function ppn(e,t,n){mLn(e.a,n),W3n(n),REn(e.b,n),RLn(t,n)}function CH(e,t,n,r){this.a=e,this.c=t,this.b=n,this.d=r}function D5e(e,t,n,r){this.c=e,this.b=t,this.a=n,this.d=r}function Tat(e,t,n,r){this.c=e,this.b=t,this.d=n,this.a=r}function ef(e,t,n,r){this.c=e,this.d=t,this.b=n,this.a=r}function Cat(e,t,n,r){this.a=e,this.d=t,this.c=n,this.b=r}function Jae(e,t,n,r){this.a=e,this.e=t,this.d=n,this.c=r}function Sat(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function Zae(e,t,n){this.a=iEe,this.d=e,this.b=t,this.c=n}function Z8(e,t,n,r){Ur.call(this,e,t),this.a=n,this.b=r}function _at(e,t){this.d=(nr(e),e),this.a=16449,this.c=t}function Aat(e){this.a=new bt,this.e=We(Vr,dt,53,e,0,2)}function bpn(e){e.Ug("No crossing minimization",1),e.Vg()}function Lat(){Ac.call(this,"There is no more element.")}function Mat(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function Dat(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function Om(e,t,n,r){this.e=e,this.a=t,this.c=n,this.d=r}function Iat(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function Oat(e,t,n,r){Jh(),Iut.call(this,t,n,r),this.a=e}function Nat(e,t,n,r){Jh(),Iut.call(this,t,n,r),this.a=e}function eoe(e,t,n){var r,a;return r=Vke(e),a=t.ti(n,r),a}function Kg(e){var t,n;return n=(t=new Qv,t),sE(n,e),n}function toe(e){var t,n;return n=(t=new Qv,t),Kxe(n,e),n}function mpn(e,t){var n;return n=cr(e.f,t),S7e(t,n),null}function Pat(e){return!e.b&&(e.b=new nt(js,e,12,3)),e.b}function Bat(e){return V_(e==null||Rae(e)&&e.Tm!==xe),e}function SH(e){return e.n&&(e.e!==Fwt&&e.je(),e.j=null),e}function Yk(e){if(Ql(e.d),e.d.d!=e.c)throw ue(new Xh)}function I5e(e){return mr(e.b0&&ggt(this)}function Fat(e,t){this.a=e,bfn.call(this,e,l(e.d,15).fd(t))}function vpn(e,t){return Yi(wl(e)*gh(e),wl(t)*gh(t))}function wpn(e,t){return Yi(wl(e)*gh(e),wl(t)*gh(t))}function ypn(e){return qw(e)&&Rt(Bt(at(e,(Nt(),gv))))}function xpn(e,t){return xn(e,l(Q(t,(Nt(),HT)),17),t)}function kpn(e,t){return l(Q(e,(ft(),Wx)),15).Fc(t),t}function O5e(e,t){return e.b=t.b,e.c=t.c,e.d=t.d,e.a=t.a,e}function Rat(e,t,n,r){this.b=e,this.c=r,Dq.call(this,t,n)}function Epn(e,t,n){e.i=0,e.e=0,t!=n&&x0t(e,t,n)}function Tpn(e,t,n){e.i=0,e.e=0,t!=n&&k0t(e,t,n)}function Cpn(e,t,n){return p_(),J4n(l(cr(e.e,t),529),n)}function ex(e){var t;return t=e.f,t||(e.f=new Lk(e,e.c))}function jat(e,t){return e6(e.j,t.s,t.c)+e6(t.e,e.s,e.c)}function $at(e,t){e.e&&!e.e.a&&(CQe(e.e,t),$at(e.e,t))}function zat(e,t){e.d&&!e.d.a&&(CQe(e.d,t),zat(e.d,t))}function Spn(e,t){return-Yi(wl(e)*gh(e),wl(t)*gh(t))}function _pn(e){return l(e.ld(),149).Pg()+":"+xc(e.md())}function qat(){Nue(this,new fz),this.wb=(lb(),Vn),Sk()}function Hat(e){this.b=new bt,ra(this.b,this.b),this.a=e}function N5e(e,t){new os,this.a=new bl,this.b=e,this.c=t}function Ew(){Ew=U,d_e=new Ke,D0e=new Ke,g_e=new Ft}function Cn(){Cn=U,_o=new je,mg=new Se,hK=new Ce}function P5e(){P5e=U,j6t=new wo,z6t=new X4e,$6t=new _s}function tx(){tx=U,wK=new bt,X0e=new Pr,Y0e=new bt}function _H(e,t){if(e==null)throw ue(new D8(t));return e}function AH(e){return!e.a&&(e.a=new nt(Ai,e,10,11)),e.a}function qi(e){return!e.q&&(e.q=new nt(Uf,e,11,10)),e.q}function tt(e){return!e.s&&(e.s=new nt(dl,e,21,17)),e.s}function Apn(e){return Xr(e),Mdt(new hr(dr(e.a.Kc(),new j)))}function Lpn(e,t){return bh(e),bh(t),PJe(l(e,22),l(t,22))}function Nm(e,t,n){var r,a;r=g4e(n),a=new vk(r),e1(e,t,a)}function roe(e,t,n,r,a,o){sN.call(this,e,t,n,r,a,o?-2:-1)}function Vat(e,t,n,r){tye.call(this,t,n),this.b=e,this.a=r}function Uat(e,t){Xcn.call(this,new Pae(e)),this.a=e,this.b=t}function B5e(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function Mpn(e){u0();var t;t=l(e.g,10),t.n.a=e.d.c+t.d.b}function Xk(){Xk=U;var e,t;t=!F5n(),e=new se,S0e=t?new ne:e}function ioe(e){return Cn(),De(e,59)?new ese(e):new jq(e)}function LH(e){return De(e,16)?new U_(l(e,16)):udn(e.Kc())}function Dpn(e){return new qnt(e,e.e.Rd().gc()*e.c.Rd().gc())}function Ipn(e){return new Hnt(e,e.e.Rd().gc()*e.c.Rd().gc())}function F5e(e){return e&&e.hashCode?e.hashCode():fw(e)}function soe(e,t){return t==null?!!zo(e.f,null):Wdn(e.i,t)}function Opn(e,t){var n;return n=wye(e.a,t),n&&(t.d=null),n}function Gat(e,t,n){return e.f?e.f.ef(t,n):!1}function VO(e,t,n,r){Ts(e.c[t.g],n.g,r),Ts(e.c[n.g],t.g,r)}function aoe(e,t,n,r){Ts(e.c[t.g],t.g,n),Ts(e.b[t.g],t.g,r)}function Npn(e,t,n){return ze(Ge(n.a))<=e&&ze(Ge(n.b))>=t}function Kat(e,t){this.g=e,this.d=he(le(wg,1),m2,10,0,[t])}function Wat(e){this.c=e,this.b=new Kp(l(Xr(new tl),50))}function Yat(e){this.c=e,this.b=new Kp(l(Xr(new l5),50))}function Xat(e){this.b=e,this.a=new Kp(l(Xr(new Bi),50))}function Qat(){this.b=new Ks,this.d=new os,this.e=new Fwe}function R5e(){this.c=new qa,this.d=new qa,this.e=new qa}function Tw(){this.a=new bl,this.b=(Mh(3,Yy),new Bu(3))}function Jp(e,t){this.e=e,this.a=wa,this.b=Qbt(t),this.c=t}function MH(e){this.c=e.c,this.d=e.d,this.b=e.b,this.a=e.a}function Jat(e,t,n,r,a,o){this.a=e,Joe.call(this,t,n,r,a,o)}function Zat(e,t,n,r,a,o){this.a=e,Joe.call(this,t,n,r,a,o)}function db(e,t,n,r,a,o,f){return new Eoe(e.e,t,n,r,a,o,f)}function Ppn(e,t,n){return n>=0&&vn(e.substr(n,t.length),t)}function eot(e,t){return De(t,149)&&vn(e.b,l(t,149).Pg())}function Bpn(e,t){return e.a?t.Gh().Kc():l(t.Gh(),71).Ii()}function tot(e,t){var n;return n=e.b.Qc(t),Yct(n,e.b.gc()),n}function UO(e,t){if(e==null)throw ue(new D8(t));return e}function dc(e){return e.u||(Yl(e),e.u=new Nrt(e,e)),e.u}function ooe(e){this.a=(Cn(),De(e,59)?new ese(e):new jq(e))}function sl(e){var t;return t=l(Kn(e,16),29),t||e.ii()}function DH(e,t){var n;return n=_m(e.Rm),t==null?n:n+": "+t}function tf(e,t,n){return Ga(t,n,e.length),e.substr(t,n-t)}function not(e,t){Vq.call(this),Y6e(this),this.a=e,this.c=t}function Fpn(e){e&&DH(e,e.ie())}function Rpn(e){Hz(),b.setTimeout(function(){throw e},0)}function jpn(){return ZV(),he(le(k_e,1),it,436,0,[j0e,x_e])}function $pn(){return aV(),he(le(T_e,1),it,435,0,[E_e,$0e])}function zpn(){return oV(),he(le(J_e,1),it,432,0,[Q0e,yK])}function qpn(){return dE(),he(le($8t,1),it,517,0,[dB,h1e])}function Hpn(){return zH(),he(le(PLe,1),it,429,0,[z1e,NLe])}function Vpn(){return pN(),he(le(wLe,1),it,428,0,[XK,vLe])}function Upn(){return JH(),he(le(hLe,1),it,431,0,[lLe,S1e])}function Gpn(){return dN(),he(le(_De,1),it,430,0,[kde,Ede])}function Kpn(){return oA(),he(le(DEt,1),it,531,0,[uM,cM])}function Wpn(){return kV(),he(le(EIe,1),it,501,0,[$W,X6])}function Ypn(){return xd(),he(le(REt,1),it,523,0,[w3,T2])}function Xpn(){return D1(),he(le($Et,1),it,522,0,[wv,Y1])}function Qpn(){return J0(),he(le(tTt,1),it,528,0,[E4,qb])}function Jpn(){return cN(),he(le(kLe,1),it,488,0,[xLe,JK])}function Zpn(){return GH(),he(le(fOe,1),it,491,0,[dge,hOe])}function e2n(){return fce(),he(le(vOe,1),it,492,0,[bOe,mOe])}function t2n(){return RH(),he(le(kIe,1),it,433,0,[Ude,xIe])}function n2n(){return eV(),he(le(CIe,1),it,434,0,[TIe,Qde])}function r2n(){return Sw(),he(le(cTt,1),it,465,0,[Hb,K6])}function i2n(){return rN(),he(le(yOe,1),it,438,0,[vge,QW])}function s2n(){return CN(),he(le(qOe,1),it,437,0,[ZW,zOe])}function a2n(){return mae(),he(le(gY,1),it,347,0,[rPe,iPe])}function IH(e,t,n,r){return n>=0?e.Uh(t,n,r):e.Ch(null,n,r)}function GO(e){return e.b.b==0?e.a.sf():kae(e.b)}function o2n(e){if(e.p!=5)throw ue(new pl);return Yr(e.f)}function c2n(e){if(e.p!=5)throw ue(new pl);return Yr(e.k)}function j5e(e){return qe(e.a)===qe((lce(),npe))&&aMn(e),e.a}function u2n(e,t){e.b=t,e.c>0&&e.b>0&&(e.g=aH(e.c,e.b,e.a))}function l2n(e,t){e.c=t,e.c>0&&e.b>0&&(e.g=aH(e.c,e.b,e.a))}function rot(e,t){ce(this,new lt(e.a,e.b)),ve(this,PO(t))}function Cw(){Qcn.call(this,new N8(Ay(12))),Tye(!0),this.a=2}function coe(e,t,n){Di(),Xv.call(this,e),this.b=t,this.a=n}function $5e(e,t,n){Jh(),Nz.call(this,t),this.a=e,this.b=n}function iot(e){var t;t=e.c.d.b,e.b=t,e.a=e.c.d,t.a=e.c.d.b=e}function h2n(e){return e.b==0?null:(mr(e.b!=0),af(e,e.a.a))}function xu(e,t){return t==null?hc(zo(e.f,null)):y_(e.i,t)}function sot(e,t,n,r,a){return new Bue(e,(rE(),P0e),t,n,r,a)}function OH(e,t){return Gct(t),Pwn(e,We(Vr,di,28,t,15,1),t)}function NH(e,t){return _H(e,"set1"),_H(t,"set2"),new GZe(e,t)}function f2n(e,t){var n=C0e[e.charCodeAt(0)];return n??e}function aot(e,t){var n,r;return n=t,r=new xt,Ovt(e,n,r),r.d}function uoe(e,t,n,r){var a;a=new Frt,t.a[n.g]=a,Q8(e.b,r,a)}function d2n(e,t){var n;return n=Iwn(e.f,t),Oi(Hq(n),e.f.d)}function KO(e){var t;Hwn(e.a),dnt(e.a),t=new e_(e.a),S8e(t)}function g2n(e,t){zbt(e,!0),Vu(e.e.Rf(),new v4e(e,!0,t))}function p2n(e,t){return tx(),e==ds(cg(t))||e==ds(Eb(t))}function b2n(e,t){return tp(),l(Q(t,(Hc(),$d)),17).a==e}function ua(e){return Math.max(Math.min(e,Ii),-2147483648)|0}function oot(e){this.a=l(Xr(e),277),this.b=(Cn(),new Dye(e))}function cot(e,t,n){this.i=new bt,this.b=e,this.g=t,this.a=n}function z5e(e,t,n){this.a=new bt,this.e=e,this.f=t,this.c=n}function PH(e,t,n){this.c=new bt,this.e=e,this.f=t,this.b=n}function uot(e){Vq.call(this),Y6e(this),this.a=e,this.c=!0}function m2n(e){function t(){}return t.prototype=e||{},new t}function v2n(e){if(e.Ae())return null;var t=e.n;return sK[t]}function WO(e){return e.Db>>16!=3?null:l(e.Cb,27)}function M1(e){return e.Db>>16!=9?null:l(e.Cb,27)}function lot(e){return e.Db>>16!=6?null:l(e.Cb,74)}function Sw(){Sw=U,Hb=new H3e(Mx,0),K6=new H3e(Dx,1)}function xd(){xd=U,w3=new $3e(Dx,0),T2=new $3e(Mx,1)}function D1(){D1=U,wv=new z3e(whe,0),Y1=new z3e("UP",1)}function hot(){hot=U,o6t=Kr(($z(),he(le(a6t,1),it,549,0,[E0e])))}function fot(e){var t;return t=new Kz(Ay(e.length)),j7e(t,e),t}function dot(e,t){return e.b+=t.b,e.c+=t.c,e.d+=t.d,e.a+=t.a,e}function w2n(e,t){return Zft(e,t)?(Yht(e),!0):!1}function Wg(e,t){if(t==null)throw ue(new S8);return j5n(e,t)}function YO(e,t){var n;n=e.q.getHours(),e.q.setDate(t),XA(e,n)}function q5e(e,t,n){var r;r=e.Ih(t),r>=0?e.bi(r,n):$9e(e,t,n)}function got(e,t){var n;return n=e.Ih(t),n>=0?e.Wh(n):que(e,t)}function pot(e,t){var n;for(Xr(t),n=e.a;n;n=n.c)t.Yd(n.g,n.i)}function loe(e,t,n){var r;r=w0t(e,t,n),e.b=new TV(r.c.length)}function U5(e,t,n){BH(),e&&ki(Zge,e,t),e&&ki(lF,e,n)}function y2n(e,t){return Yq(),Hn(),l(t.a,17).a0}function H5e(e){var t;return t=e.d,t=e.bj(e.f),qr(e,t),t.Ob()}function bot(e,t){var n;return n=new K4e(t),zgt(n,e),new Ol(n)}function E2n(e){if(e.p!=0)throw ue(new pl);return I_(e.f,0)}function T2n(e){if(e.p!=0)throw ue(new pl);return I_(e.k,0)}function mot(e){return e.Db>>16!=7?null:l(e.Cb,241)}function Qk(e){return e.Db>>16!=6?null:l(e.Cb,241)}function vot(e){return e.Db>>16!=7?null:l(e.Cb,167)}function ds(e){return e.Db>>16!=11?null:l(e.Cb,27)}function ky(e){return e.Db>>16!=17?null:l(e.Cb,29)}function wot(e){return e.Db>>16!=3?null:l(e.Cb,155)}function V5e(e){var t;return xb(e),t=new Ks,Fi(e,new k5(t))}function yot(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.ve(t))}function C2n(e,t){var n;n=e.q.getHours(),e.q.setMonth(t),XA(e,n)}function xot(e,t){Fq(this),this.f=t,this.g=e,SH(this),this.je()}function kot(e,t){this.a=e,this.c=Ja(this.a),this.b=new MH(t)}function Eot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ol(n))}function Tot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ol(n))}function Cot(e){this.a=e,this.b=We(AEt,dt,2043,e.e.length,0,2)}function Sot(){this.a=new bd,this.e=new Ks,this.g=0,this.i=0}function BH(){BH=U,Zge=new Pr,lF=new Pr,wln(C6t,new LS)}function _ot(){_ot=U,fEt=yl(new Xs,(uo(),mc),(vo(),gB))}function U5e(){U5e=U,dEt=yl(new Xs,(uo(),mc),(vo(),gB))}function Aot(){Aot=U,pEt=yl(new Xs,(uo(),mc),(vo(),gB))}function Lot(){Lot=U,OEt=fi(new Xs,(uo(),mc),(vo(),zL))}function Sh(){Sh=U,BEt=fi(new Xs,(uo(),mc),(vo(),zL))}function Mot(){Mot=U,FEt=fi(new Xs,(uo(),mc),(vo(),zL))}function foe(){foe=U,qEt=fi(new Xs,(uo(),mc),(vo(),zL))}function rA(e,t,n,r,a,o){return new Zg(e.e,t,e.Lj(),n,r,a,o)}function rc(e,t,n){return t==null?ju(e.f,null,n):Bw(e.i,t,n)}function po(e,t){e.c&&al(e.c.g,e),e.c=t,e.c&&vt(e.c.g,e)}function Va(e,t){e.c&&al(e.c.a,e),e.c=t,e.c&&vt(e.c.a,e)}function Mc(e,t){e.i&&al(e.i.j,e),e.i=t,e.i&&vt(e.i.j,e)}function Fa(e,t){e.d&&al(e.d.e,e),e.d=t,e.d&&vt(e.d.e,e)}function doe(e,t){e.a&&al(e.a.k,e),e.a=t,e.a&&vt(e.a.k,e)}function goe(e,t){e.b&&al(e.b.f,e),e.b=t,e.b&&vt(e.b.f,e)}function Dot(e,t){Fgn(e,e.b,e.c),l(e.b.b,68),t&&l(t.b,68).b}function S2n(e,t){return Yi(l(e.c,65).c.e.b,l(t.c,65).c.e.b)}function _2n(e,t){return Yi(l(e.c,65).c.e.a,l(t.c,65).c.e.a)}function A2n(e){return Mce(),Hn(),l(e.a,86).d.e!=0}function FH(e,t){De(e.Cb,184)&&(l(e.Cb,184).tb=null),Fu(e,t)}function poe(e,t){De(e.Cb,90)&&zy(Yl(l(e.Cb,90)),4),Fu(e,t)}function L2n(e,t){m8e(e,t),De(e.Cb,90)&&zy(Yl(l(e.Cb,90)),2)}function M2n(e,t){var n,r;n=t.c,r=n!=null,r&&J8(e,new yy(t.c))}function Iot(e){var t,n;return n=(Sk(),t=new Qv,t),sE(n,e),n}function Oot(e){var t,n;return n=(Sk(),t=new Qv,t),sE(n,e),n}function Not(e){for(var t;;)if(t=e.Pb(),!e.Ob())return t}function D2n(e,t,n){return vt(e.a,(kH(),fue(t,n),new iw(t,n))),e}function ku(e,t){return Fo(),Voe(t)?new nH(t,e):new yO(t,e)}function XO(e){return Cd(),iu(e,0)>=0?kb(e):J_(kb(r2(e)))}function I2n(e){var t;return t=l(eH(e.b),9),new Zh(e.a,t,e.c)}function Pot(e,t){var n;return n=l(Oy(ex(e.a),t),16),n?n.gc():0}function Bot(e,t,n){var r;o1t(t,n,e.c.length),r=n-t,d3e(e.c,t,r)}function Zp(e,t,n){o1t(t,n,e.gc()),this.c=e,this.a=t,this.b=n-t}function nx(e){this.c=new os,this.b=e.b,this.d=e.c,this.a=e.a}function boe(e){this.a=b.Math.cos(e),this.b=b.Math.sin(e)}function Pm(e,t,n,r){this.c=e,this.d=r,doe(this,t),goe(this,n)}function G5e(e,t){Ycn.call(this,new N8(Ay(e))),Mh(t,Dwt),this.a=t}function Fot(e,t,n){return new Bue(e,(rE(),N0e),null,!1,t,n)}function Rot(e,t,n){return new Bue(e,(rE(),B0e),t,n,null,!1)}function O2n(){return Fl(),he(le(oc,1),it,108,0,[y_e,Ec,i4])}function N2n(){return ol(),he(le(X6t,1),it,472,0,[a1,Fb,w0])}function P2n(){return Bl(),he(le(W6t,1),it,471,0,[Fd,Bb,v0])}function B2n(){return t1(),he(le(s4,1),it,237,0,[Gc,$u,Kc])}function F2n(){return lA(),he(le(dAe,1),it,391,0,[t1e,e1e,n1e])}function R2n(){return Ow(),he(le(m1e,1),it,372,0,[o3,Rb,a3])}function j2n(){return dA(),he(le(dLe,1),it,322,0,[HL,mB,fLe])}function $2n(){return pV(),he(le(pLe,1),it,351,0,[gLe,YK,_1e])}function z2n(){return Vm(),he(le(mxt,1),it,460,0,[M1e,FT,P6])}function q2n(){return vE(),he(le($1e,1),it,299,0,[R1e,j1e,vB])}function H2n(){return ep(),he(le(Cxt,1),it,311,0,[wB,F6,Ux])}function V2n(){return EA(),he(le(mDe,1),it,390,0,[pde,bDe,SW])}function U2n(){return qo(),he(le(sEt,1),it,463,0,[sM,$l,zu])}function G2n(){return LV(),he(le(MDe,1),it,387,0,[ADe,Tde,LDe])}function K2n(){return yA(),he(le(DDe,1),it,349,0,[Sde,Cde,MB])}function W2n(){return SE(),he(le(ODe,1),it,350,0,[_de,IDe,aM])}function Y2n(){return gV(),he(le(BDe,1),it,352,0,[PDe,Ade,NDe])}function X2n(){return OV(),he(le(FDe,1),it,388,0,[Lde,XT,k4])}function Q2n(){return Iw(),he(le(SEt,1),it,464,0,[DB,oM,MW])}function I1(e){return Ic(he(le(Ea,1),dt,8,0,[e.i.n,e.n,e.a]))}function J2n(){return xA(),he(le(eIe,1),it,392,0,[ZDe,Ide,OB])}function jot(){jot=U,FTt=yl(new Xs,(wx(),hM),(WA(),VDe))}function RH(){RH=U,Ude=new V3e("DFS",0),xIe=new V3e("BFS",1)}function $ot(e,t,n){var r;r=new hte,r.b=t,r.a=n,++t.b,vt(e.d,r)}function Z2n(e,t,n){var r;r=new Eo(n.d),Oi(r,e),b8e(t,r.a,r.b)}function ebn(e,t){Ont(e,Yr(va(bw(t,24),ZU)),Yr(va(t,ZU)))}function Ey(e,t){if(e<0||e>t)throw ue(new tc(dEe+e+gEe+t))}function Sn(e,t){if(e<0||e>=t)throw ue(new tc(dEe+e+gEe+t))}function Xn(e,t){if(e<0||e>=t)throw ue(new e3e(dEe+e+gEe+t))}function kn(e,t){this.b=(nr(e),e),this.a=t&Xy?t:t|64|_d}function K5e(e){var t;return xb(e),t=(Ew(),Ew(),D0e),lV(e,t)}function tbn(e,t,n){var r;return r=ZA(e,t,!1),r.b<=t&&r.a<=n}function nbn(){return tV(),he(le(pOe,1),it,439,0,[gge,gOe,dOe])}function rbn(){return qV(),he(le(XIe,1),it,394,0,[YIe,uge,WIe])}function ibn(){return WV(),he(le(KIe,1),it,445,0,[RB,VW,rge])}function sbn(){return sU(),he(le(gCt,1),it,456,0,[ige,age,sge])}function abn(){return LN(),he(le(AIe,1),it,393,0,[zW,SIe,_Ie])}function obn(){return AV(),he(le(GIe,1),it,300,0,[nge,UIe,VIe])}function cbn(){return rp(),he(le(YNe,1),it,346,0,[oY,A2,DM])}function ubn(){return PN(),he(le(pge,1),it,444,0,[WW,YW,XW])}function lbn(){return F1(),he(le(FNe,1),it,278,0,[nC,_4,rC])}function hbn(){return dx(),he(le(nPe,1),it,280,0,[tPe,L4,dY])}function _w(e){return Xr(e),De(e,16)?new Ol(l(e,16)):$k(e.Kc())}function W5e(e,t){return e&&e.equals?e.equals(t):qe(e)===qe(t)}function va(e,t){return mb(rgn(wc(e)?Mf(e):e,wc(t)?Mf(t):t))}function Q0(e,t){return mb(ign(wc(e)?Mf(e):e,wc(t)?Mf(t):t))}function moe(e,t){return mb(sgn(wc(e)?Mf(e):e,wc(t)?Mf(t):t))}function fbn(e,t){var n;return n=(nr(e),e).g,qye(!!n),nr(t),n(t)}function zot(e,t){var n,r;return r=Hk(e,t),n=e.a.fd(r),new VZe(e,n)}function dbn(e){return e.Db>>16!=6?null:l(Uue(e),241)}function gbn(e){if(e.p!=2)throw ue(new pl);return Yr(e.f)&Zs}function pbn(e){if(e.p!=2)throw ue(new pl);return Yr(e.k)&Zs}function re(e){return mr(e.ar?1:0}function Uot(e,t){var n,r;return n=$oe(t),r=n,l(cr(e.c,r),17).a}function voe(e,t,n){var r;r=e.d[t.p],e.d[t.p]=e.d[n.p],e.d[n.p]=r}function Sbn(e,t,n){var r;e.n&&t&&n&&(r=new Kne,vt(e.e,r))}function woe(e,t){if(na(e.a,t),t.d)throw ue(new Ac(e3t));t.d=e}function Q5e(e,t){this.a=new bt,this.d=new bt,this.f=e,this.c=t}function Got(){this.c=new Lnt,this.a=new Put,this.b=new UQe,uet()}function Kot(){hx(),this.b=new Pr,this.a=new Pr,this.c=new bt}function Wot(e,t,n){this.d=e,this.j=t,this.e=n,this.o=-1,this.p=3}function Yot(e,t,n){this.d=e,this.k=t,this.f=n,this.o=-1,this.p=5}function Xot(e,t,n,r,a,o){Q6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function Qot(e,t,n,r,a,o){J6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function Jot(e,t,n,r,a,o){p6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function Zot(e,t,n,r,a,o){t7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function ect(e,t,n,r,a,o){b6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function tct(e,t,n,r,a,o){Z6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function nct(e,t,n,r,a,o){e7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function rct(e,t,n,r,a,o){m6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function ict(e,t,n,r){Nz.call(this,n),this.b=e,this.c=t,this.d=r}function sct(e,t){this.f=e,this.a=(eE(),SY),this.c=SY,this.b=t}function act(e,t){this.g=e,this.d=(eE(),_Y),this.a=_Y,this.b=t}function J5e(e,t){!e.c&&(e.c=new Ls(e,0)),HU(e.c,(Gi(),HM),t)}function _bn(e,t){return uTn(e,t,De(t,102)&&(l(t,19).Bb&Io)!=0)}function Abn(e,t){return $st(Zc(e.q.getTime()),Zc(t.q.getTime()))}function oct(e){return Cae(e.e.Rd().gc()*e.c.Rd().gc(),16,new pie(e))}function Lbn(e){return!!e.u&&du(e.u.a).i!=0&&!(e.n&&cue(e.n))}function Mbn(e){return!!e.a&&Xl(e.a.a).i!=0&&!(e.b&&uue(e.b))}function Z5e(e,t){return t==0?!!e.o&&e.o.f!=0:nue(e,t)}function Dbn(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Hc(n)}function cct(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Mc(n)}function uct(e,t){var n;return n=1-t,e.a[n]=EV(e.a[n],n),EV(e,t)}function lct(e,t){var n,r;return r=va(e,Vo),n=l0(t,32),Q0(n,r)}function hct(e,t,n){var r;r=(Xr(e),new Ol(e)),O7n(new Eot(r,t,n))}function QO(e,t,n){var r;r=(Xr(e),new Ol(e)),N7n(new Tot(r,t,n))}function zc(e,t,n,r,a,o){return qft(e,t,n,o),c8e(e,r),u8e(e,a),e}function fct(e,t,n,r){return e.a+=""+tf(t==null?ul:xc(t),n,r),e}function Ua(e,t){this.a=e,kr.call(this,e),Ey(t,e.gc()),this.b=t}function dct(e){this.a=We(wa,Rn,1,P7e(b.Math.max(8,e))<<1,5,1)}function JO(e){return l(j1(e,We(wg,m2,10,e.c.length,0,1)),199)}function kd(e){return l(j1(e,We(u1e,Bhe,18,e.c.length,0,1)),483)}function gct(e){return e.a?e.e.length==0?e.a.a:e.a.a+(""+e.e):e.c}function iA(e){for(;e.d>0&&e.a[--e.d]==0;);e.a[e.d++]==0&&(e.e=0)}function pct(e){return mr(e.b.b!=e.d.a),e.c=e.b=e.b.b,--e.a,e.c.c}function Ibn(e,t,n){e.a=t,e.c=n,e.b.a.$b(),Ch(e.d),ay(e.e.a.c,0)}function bct(e,t){var n;e.e=new Vwe,n=Hy(t),Vs(n,e.c),Mbt(e,n,0)}function Qs(e,t,n,r){var a;a=new J9,a.a=t,a.b=n,a.c=r,ui(e.a,a)}function gt(e,t,n,r){var a;a=new J9,a.a=t,a.b=n,a.c=r,ui(e.b,a)}function mct(e,t,n){if(e<0||tn)throw ue(new tc(U9n(e,t,n)))}function ZO(e,t){if(e<0||e>=t)throw ue(new tc(kkn(e,t)));return e}function Obn(e){if(!("stack"in e))try{throw e}catch{}return e}function G5(e){return p_(),De(e.g,10)?l(e.g,10):null}function Nbn(e){return V5(e).dc()?!1:(rhn(e,new oe),!0)}function Fm(e){var t;return wc(e)?(t=e,t==-0?0:t):Yvn(e)}function vct(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function wct(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function yct(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function e6e(e){var t;return fb(e),t=new Ne,A5(e.a,new x5(t)),t}function t6e(){var e,t,n;return t=(n=(e=new Qv,e),n),vt(RPe,t),t}function jH(e){var t;return fb(e),t=new gn,A5(e.a,new T8(t)),t}function Pbn(e,t){return e.a<=e.b?(t.Dd(e.a++),!0):!1}function xct(e){oce.call(this,e,(rE(),O0e),null,!1,null,!1)}function kct(){kct=U,A7t=Kr((Zz(),he(le(U_e,1),it,489,0,[G0e])))}function Ect(){Ect=U,jDe=pat(pt(1),pt(4)),RDe=pat(pt(1),pt(2))}function Bbn(e,t){return new wae(t,z_(Ja(t.e),e,e),(Hn(),!0))}function $H(e){return new Bu((Mh(e,Fle),cV(bo(bo(5,e),e/10|0))))}function Fbn(e){return Cae(e.e.Rd().gc()*e.c.Rd().gc(),273,new gie(e))}function Tct(e){return l(j1(e,We(F8t,I3t,12,e.c.length,0,1)),2042)}function Rbn(e){return Sh(),!Do(e)&&!(!Do(e)&&e.c.i.c==e.d.i.c)}function jbn(e,t){return ux(),l(Q(t,(Hc(),W6)),17).a>=e.gc()}function sA(e,t){xIn(t,e),N4e(e.d),N4e(l(Q(e,(Nt(),wW)),214))}function yoe(e,t){kIn(t,e),P4e(e.d),P4e(l(Q(e,(Nt(),wW)),214))}function $bn(e,t,n){e.d&&al(e.d.e,e),e.d=t,e.d&&pw(e.d.e,n,e)}function zbn(e,t,n){return n.f.c.length>0?u5e(e.a,t,n):u5e(e.b,t,n)}function qbn(e,t,n){var r;r=s6n();try{return Lfn(e,t,n)}finally{Nmn(r)}}function Aw(e,t){var n,r;return n=Wg(e,t),r=null,n&&(r=n.pe()),r}function aA(e,t){var n,r;return n=Wg(e,t),r=null,n&&(r=n.se()),r}function Jk(e,t){var n,r;return n=_y(e,t),r=null,n&&(r=n.se()),r}function Yg(e,t){var n,r;return n=Wg(e,t),r=null,n&&(r=e9e(n)),r}function Hbn(e,t,n){var r;return r=NE(n),RU(e.g,r,t),RU(e.i,t,n),t}function n6e(e,t,n){this.d=new OYe(this),this.e=e,this.i=t,this.f=n}function Cct(e,t,n,r){this.e=null,this.c=e,this.d=t,this.a=n,this.b=r}function Sct(e,t,n,r){Ent(this),this.c=e,this.e=t,this.f=n,this.b=r}function r6e(e,t,n,r){this.d=e,this.n=t,this.g=n,this.o=r,this.p=-1}function _ct(e,t,n,r){return De(n,59)?new rrt(e,t,n,r):new r5e(e,t,n,r)}function Zk(e){return De(e,16)?l(e,16).dc():!e.Kc().Ob()}function Act(e){if(e.e.g!=e.b)throw ue(new Xh);return!!e.c&&e.d>0}function Br(e){return mr(e.b!=e.d.c),e.c=e.b,e.b=e.b.a,++e.a,e.c.c}function i6e(e,t){nr(t),Ts(e.a,e.c,t),e.c=e.c+1&e.a.length-1,Xdt(e)}function gb(e,t){nr(t),e.b=e.b-1&e.a.length-1,Ts(e.a,e.b,t),Xdt(e)}function Lct(e){var t;t=e.Gh(),this.a=De(t,71)?l(t,71).Ii():t.Kc()}function Vbn(e){return new kn(Lwn(l(e.a.md(),16).gc(),e.a.ld()),16)}function Mct(){Mct=U,UCt=Kr((nq(),he(le(wOe,1),it,490,0,[bge])))}function Dct(){Dct=U,KCt=Kr((rq(),he(le(GCt,1),it,558,0,[mge])))}function Ict(){Ict=U,hSt=Kr((b_(),he(le($Oe,1),it,539,0,[qB])))}function Ubn(){return Km(),he(le(mAe,1),it,389,0,[c4,bAe,o1e,c1e])}function Gbn(){return rE(),he(le(fK,1),it,304,0,[O0e,N0e,P0e,B0e])}function Kbn(){return bx(),he(le(E7t,1),it,332,0,[aB,sB,oB,cB])}function Wbn(){return NA(),he(le(S7t,1),it,406,0,[uB,bK,mK,lB])}function Ybn(){return Pw(),he(le(x7t,1),it,417,0,[iB,rB,V0e,U0e])}function Xbn(){return wE(),he(le(C8t,1),it,416,0,[s3,o4,a4,M6])}function Qbn(){return R1(),he(le(txt,1),it,421,0,[Vx,MT,DT,b1e])}function Jbn(){return IV(),he(le(V8t,1),it,371,0,[p1e,HK,VK,pB])}function Zbn(){return By(),he(le(mde,1),it,203,0,[_W,bde,G6,U6])}function emn(){return Ed(),he(le(SDe,1),it,284,0,[E2,CDe,yde,xde])}function tmn(e){var t;return e.j==(Ct(),Dr)&&(t=v2t(e),vl(t,ar))}function nmn(e,t){var n;n=t.a,po(n,t.c.d),Fa(n,t.d.d),Dy(n.a,e.n)}function s6e(e,t){var n;return n=l(B1(e.b,t),67),!n&&(n=new os),n}function ix(e){return p_(),De(e.g,154)?l(e.g,154):null}function rmn(e){e.a=null,e.e=null,ay(e.b.c,0),ay(e.f.c,0),e.c=null}function zH(){zH=U,z1e=new F3e(cT,0),NLe=new F3e("TOP_LEFT",1)}function oA(){oA=U,uM=new j3e("UPPER",0),cM=new j3e("LOWER",1)}function imn(e,t){return z8(new lt(t.e.a+t.f.a/2,t.e.b+t.f.b/2),e)}function Oct(e,t){return l(fh(vy(l($i(e.k,t),15).Oc(),I6)),113)}function Nct(e,t){return l(fh(Y8(l($i(e.k,t),15).Oc(),I6)),113)}function smn(){return wx(),he(le(qDe,1),it,405,0,[NW,lM,hM,fM])}function amn(){return kA(),he(le(yIe,1),it,353,0,[Vde,jW,Hde,qde])}function omn(){return uU(),he(le(HIe,1),it,354,0,[tge,zIe,qIe,$Ie])}function cmn(){return mh(),he(le(BM,1),it,386,0,[iF,Cv,rF,A4])}function umn(){return Ih(),he(le(JSt,1),it,291,0,[eF,kg,Gb,ZB])}function lmn(){return ip(),he(le(Vge,1),it,223,0,[Hge,JB,iC,s9])}function hmn(){return VV(),he(le(cPe,1),it,320,0,[Kge,sPe,oPe,aPe])}function fmn(){return NV(),he(le(p_t,1),it,415,0,[Wge,lPe,uPe,hPe])}function dmn(e){return BH(),Hu(Zge,e)?l(cr(Zge,e),341).Qg():null}function nf(e,t,n){return t<0?que(e,n):l(n,69).wk().Bk(e,e.hi(),t)}function gmn(e,t,n){var r;return r=NE(n),RU(e.j,r,t),ki(e.k,t,n),t}function pmn(e,t,n){var r;return r=NE(n),RU(e.d,r,t),ki(e.e,t,n),t}function Pct(e){var t,n;return t=(rb(),n=new TI,n),e&&AU(t,e),t}function a6e(e){var t;return t=e.aj(e.i),e.i>0&&pu(e.g,0,t,0,e.i),t}function Bct(e,t){var n;for(n=e.j.c.length;n>24}function mmn(e){if(e.p!=1)throw ue(new pl);return Yr(e.k)<<24>>24}function vmn(e){if(e.p!=7)throw ue(new pl);return Yr(e.k)<<16>>16}function wmn(e){if(e.p!=7)throw ue(new pl);return Yr(e.f)<<16>>16}function K5(e,t){return t.e==0||e.e==0?BL:(GE(),Que(e,t))}function jct(e,t){return qe(t)===qe(e)?"(this Map)":t==null?ul:xc(t)}function ymn(e,t,n){return Nae(Ge(hc(zo(e.f,t))),Ge(hc(zo(e.f,n))))}function xmn(e,t,n){var r;r=l(cr(e.g,n),60),vt(e.a.c,new ca(t,r))}function $ct(e,t,n){e.i=0,e.e=0,t!=n&&(k0t(e,t,n),x0t(e,t,n))}function kmn(e,t,n,r,a){var o;o=ETn(a,n,r),vt(t,pkn(a,o)),a9n(e,a,t)}function o6e(e,t,n,r,a){this.i=e,this.a=t,this.e=n,this.j=r,this.f=a}function zct(e,t){R5e.call(this),this.a=e,this.b=t,vt(this.a.b,this)}function qct(e){this.b=new Pr,this.c=new Pr,this.d=new Pr,this.a=e}function Hct(e,t){var n;return n=new S5,e.Gd(n),n.a+="..",t.Hd(n),n.a}function Vct(e,t){var n;for(n=t;n;)dw(e,n.i,n.j),n=ds(n);return e}function Uct(e,t,n){var r;return r=NE(n),ki(e.b,r,t),ki(e.c,t,n),t}function Xg(e){var t;for(t=0;e.Ob();)e.Pb(),t=bo(t,1);return cV(t)}function sg(e,t){Fo();var n;return n=l(e,69).vk(),k9n(n,t),n.xl(t)}function Emn(e,t,n){if(n){var r=n.oe();e.a[t]=r(n)}else delete e.a[t]}function c6e(e,t){var n;n=e.q.getHours(),e.q.setFullYear(t+Lb),XA(e,n)}function Tmn(e,t){return l(t==null?hc(zo(e.f,null)):y_(e.i,t),288)}function u6e(e,t){return e==(Zn(),Ps)&&t==Ps?4:e==Ps||t==Ps?8:32}function qH(e,t,n){return $U(e,t,n,De(t,102)&&(l(t,19).Bb&Io)!=0)}function Cmn(e,t,n){return XE(e,t,n,De(t,102)&&(l(t,19).Bb&Io)!=0)}function Smn(e,t,n){return bTn(e,t,n,De(t,102)&&(l(t,19).Bb&Io)!=0)}function l6e(e){e.b!=e.c&&(e.a=We(wa,Rn,1,8,5,1),e.b=0,e.c=0)}function cA(e){return mr(e.a=0&&e.a[n]===t[n];n--);return n<0}function HH(e){var t;return e?new K4e(e):(t=new bd,sce(t,e),t)}function Omn(e,t){var n,r;r=!1;do n=h0t(e,t),r=r|n;while(n);return r}function Nmn(e){e&&awn((Xwe(),GSe)),--aK,e&&oK!=-1&&(Cln(oK),oK=-1)}function VH(e){Rxe(),Ont(this,Yr(va(bw(e,24),ZU)),Yr(va(e,ZU)))}function Xct(){Xct=U,q6t=Kr((ZV(),he(le(k_e,1),it,436,0,[j0e,x_e])))}function Qct(){Qct=U,H6t=Kr((aV(),he(le(T_e,1),it,435,0,[E_e,$0e])))}function Jct(){Jct=U,U7t=Kr((oV(),he(le(J_e,1),it,432,0,[Q0e,yK])))}function Zct(){Zct=U,z8t=Kr((dE(),he(le($8t,1),it,517,0,[dB,h1e])))}function eut(){eut=U,_xt=Kr((zH(),he(le(PLe,1),it,429,0,[z1e,NLe])))}function tut(){tut=U,bxt=Kr((pN(),he(le(wLe,1),it,428,0,[XK,vLe])))}function nut(){nut=U,yxt=Kr((cN(),he(le(kLe,1),it,488,0,[xLe,JK])))}function rut(){rut=U,iEt=Kr((dN(),he(le(_De,1),it,430,0,[kde,Ede])))}function iut(){iut=U,IEt=Kr((oA(),he(le(DEt,1),it,531,0,[uM,cM])))}function sut(){sut=U,fxt=Kr((JH(),he(le(hLe,1),it,431,0,[lLe,S1e])))}function aut(){aut=U,BTt=Kr((RH(),he(le(kIe,1),it,433,0,[Ude,xIe])))}function out(){out=U,zTt=Kr((kV(),he(le(EIe,1),it,501,0,[$W,X6])))}function cut(){cut=U,jEt=Kr((xd(),he(le(REt,1),it,523,0,[w3,T2])))}function uut(){uut=U,zEt=Kr((D1(),he(le($Et,1),it,522,0,[wv,Y1])))}function lut(){lut=U,nTt=Kr((J0(),he(le(tTt,1),it,528,0,[E4,qb])))}function hut(){hut=U,uTt=Kr((Sw(),he(le(cTt,1),it,465,0,[Hb,K6])))}function fut(){fut=U,VTt=Kr((eV(),he(le(CIe,1),it,434,0,[TIe,Qde])))}function dut(){dut=U,jCt=Kr((GH(),he(le(fOe,1),it,491,0,[dge,hOe])))}function gut(){gut=U,zCt=Kr((fce(),he(le(vOe,1),it,492,0,[bOe,mOe])))}function put(){put=U,WCt=Kr((rN(),he(le(yOe,1),it,438,0,[vge,QW])))}function but(){but=U,fSt=Kr((CN(),he(le(qOe,1),it,437,0,[ZW,zOe])))}function mut(){mut=U,f_t=Kr((mae(),he(le(gY,1),it,347,0,[rPe,iPe])))}function Pmn(){return Js(),he(le(LM,1),it,88,0,[J1,vc,uc,Q1,wf])}function Bmn(){return Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])}function Fmn(e,t,n){return l(t==null?ju(e.f,null,n):Bw(e.i,t,n),288)}function Rmn(e){return(e.k==(Zn(),Ps)||e.k==Us)&&ns(e,(ft(),KL))}function Coe(e){return e.c&&e.d?X5e(e.c)+"->"+X5e(e.d):"e_"+fw(e)}function to(e,t){var n,r;for(nr(t),r=e.Kc();r.Ob();)n=r.Pb(),t.Cd(n)}function jmn(e,t){var n;n=new M8,Nm(n,"x",t.a),Nm(n,"y",t.b),J8(e,n)}function $mn(e,t){var n;n=new M8,Nm(n,"x",t.a),Nm(n,"y",t.b),J8(e,n)}function vut(e,t){var n;for(n=t;n;)dw(e,-n.i,-n.j),n=ds(n);return e}function f6e(e,t){var n,r;for(n=t,r=0;n>0;)r+=e.a[n],n-=n&-n;return r}function rf(e,t,n){var r;return r=(Sn(t,e.c.length),e.c[t]),e.c[t]=n,r}function d6e(e,t,n){e.a.c.length=0,hMn(e,t,n),e.a.c.length==0||j_n(e,t)}function eN(e){e.i=0,aO(e.b,null),aO(e.c,null),e.a=null,e.e=null,++e.g}function UH(){UH=U,G1=!0,I6t=!1,O6t=!1,P6t=!1,N6t=!1}function Soe(e){UH(),!G1&&(this.c=e,this.e=!0,this.a=new bt)}function wut(e,t){this.c=0,this.b=t,qtt.call(this,e,17493),this.a=this.c}function yut(e){kwt(),SQe(this),this.a=new os,G7e(this,e),ui(this.a,e)}function xut(){Yse(this),this.b=new lt(gs,gs),this.a=new lt(ia,ia)}function GH(){GH=U,dge=new K3e(HEe,0),hOe=new K3e("TARGET_WIDTH",1)}function W5(e,t){return(xb(e),_k(new bn(e,new $6e(t,e.a)))).Bd(zx)}function zmn(){return uo(),he(le(gAe,1),it,367,0,[y0,vg,bu,_u,mc])}function qmn(){return Ry(),he(le(rxt,1),it,375,0,[bB,KK,WK,GK,UK])}function Hmn(){return l2(),he(le(mLe,1),it,348,0,[A1e,bLe,L1e,BT,PT])}function Vmn(){return OA(),he(le(wDe,1),it,323,0,[vDe,vde,wde,rM,iM])}function Umn(){return hf(),he(le(WLe,1),it,171,0,[EB,YL,$b,XL,d4])}function Gmn(){return bU(),he(le(qTt,1),it,368,0,[Yde,Gde,Xde,Kde,Wde])}function Kmn(){return VA(),he(le(qCt,1),it,373,0,[Q6,e9,xM,yM,zB])}function Wmn(){return XN(),he(le(TOe,1),it,324,0,[xOe,wge,EOe,yge,kOe])}function Ymn(){return r1(),he(le(xg,1),it,170,0,[Pn,ha,zd,yv,S2])}function Xmn(){return t6(),he(le(OM,1),it,256,0,[Kb,tF,XNe,IM,QNe])}function Qmn(e){return Hz(),function(){return qbn(e,this,arguments)}}function Do(e){return!e.c||!e.d?!1:!!e.c.i&&e.c.i==e.d.i}function g6e(e,t){return De(t,143)?vn(e.c,l(t,143).c):!1}function Yl(e){return e.t||(e.t=new bQe(e),_A(new IJe(e),0,e.t)),e.t}function kut(e){this.b=e,or.call(this,e),this.a=l(Kn(this.b.a,4),129)}function Eut(e){this.b=e,H8.call(this,e),this.a=l(Kn(this.b.a,4),129)}function h0(e,t,n,r,a){Out.call(this,t,r,a),this.c=e,this.b=n}function p6e(e,t,n,r,a){Wot.call(this,t,r,a),this.c=e,this.a=n}function b6e(e,t,n,r,a){Yot.call(this,t,r,a),this.c=e,this.a=n}function m6e(e,t,n,r,a){Out.call(this,t,r,a),this.c=e,this.a=n}function _oe(e,t){var n;return n=l(B1(e.d,t),23),n||l(B1(e.e,t),23)}function Tut(e,t){var n,r;return n=t.ld(),r=e.Fe(n),!!r&&Jc(r.e,t.md())}function Cut(e,t){var n;return n=t.ld(),new iw(n,e.e.pc(n,l(t.md(),16)))}function Jmn(e,t){var n;return n=e.a.get(t),n??We(wa,Rn,1,0,5,1)}function Sut(e){var t;return t=e.length,vn(sr.substr(sr.length-t,t),e)}function xr(e){if(jr(e))return e.c=e.a,e.a.Pb();throw ue(new _c)}function v6e(e,t){return t==0||e.e==0?e:t>0?pbt(e,t):j1t(e,-t)}function sx(e,t){return t==0||e.e==0?e:t>0?j1t(e,t):pbt(e,-t)}function w6e(e){uln.call(this,e==null?ul:xc(e),De(e,82)?l(e,82):null)}function _ut(e){var t;return e.c||(t=e.r,De(t,90)&&(e.c=l(t,29))),e.c}function Aoe(e){var t;return t=new Tw,pc(t,e),rt(t,(Nt(),cc),null),t}function Aut(e){var t,n;return t=e.c.i,n=e.d.i,t.k==(Zn(),Us)&&n.k==Us}function Loe(e){var t,n,r;return t=e&eh,n=e>>22&eh,r=e<0?hp:0,qu(t,n,r)}function Zmn(e){var t,n,r,a;for(n=e,r=0,a=n.length;r=0?e.Lh(r,n,!0):Hw(e,t,n)}function tvn(e,t,n){return Yi(z8(BE(e),Ja(t.b)),z8(BE(e),Ja(n.b)))}function nvn(e,t,n){return Yi(z8(BE(e),Ja(t.e)),z8(BE(e),Ja(n.e)))}function rvn(e,t){return b.Math.min(pb(t.a,e.d.d.c),pb(t.b,e.d.d.c))}function tN(e,t){e._i(e.i+1),R_(e,e.i,e.Zi(e.i,t)),e.Mi(e.i++,t),e.Ni()}function uA(e){var t,n;++e.j,t=e.g,n=e.i,e.g=null,e.i=0,e.Oi(n,t),e.Ni()}function Lut(e,t,n){var r;r=new vye(e.a),bA(r,e.a.a),ju(r.f,t,n),e.a.a=r}function y6e(e,t,n,r){var a;for(a=0;at)throw ue(new tc(u9e(e,t,"index")));return e}function t2(e,t){var n;return n=(Sn(t,e.c.length),e.c[t]),d3e(e.c,t,1),n}function E6e(e,t){var n,r;return n=(nr(e),e),r=(nr(t),t),n==r?0:nt.p?-1:0}function Fut(e){var t;return e.a||(t=e.r,De(t,156)&&(e.a=l(t,156))),e.a}function uvn(e,t,n){var r;return++e.e,--e.f,r=l(e.d[t].gd(n),136),r.md()}function lvn(e){var t,n;return t=e.ld(),n=l(e.md(),16),NO(n.Nc(),new bie(t))}function Rut(e,t){return Hu(e.a,t)?(ax(e.a,t),!0):!1}function ox(e,t,n){return ZO(t,e.e.Rd().gc()),ZO(n,e.c.Rd().gc()),e.a[t][n]}function WH(e,t,n){this.a=e,this.b=t,this.c=n,vt(e.t,this),vt(t.i,this)}function YH(e,t,n,r){this.f=e,this.e=t,this.d=n,this.b=r,this.c=r?r.d:null}function nN(){this.b=new os,this.a=new os,this.b=new os,this.a=new os}function eE(){eE=U;var e,t;SY=(Sk(),t=new Fz,t),_Y=(e=new zie,e)}function hvn(e){var t;return xb(e),t=new Mit(e,e.a.e,e.a.d|4),new Vye(e,t)}function jut(e){var t;for(fb(e),t=0;e.a.Bd(new An);)t=bo(t,1);return t}function XH(e,t){return nr(t),e.c=0,"Initial capacity must not be negative")}function QH(){QH=U,kM=new Ui("org.eclipse.elk.labels.labelManager")}function $ut(){$ut=U,sLe=new vs("separateLayerConnections",(IV(),p1e))}function J0(){J0=U,E4=new q3e("REGULAR",0),qb=new q3e("CRITICAL",1)}function rN(){rN=U,vge=new Y3e("FIXED",0),QW=new Y3e("CENTER_NODE",1)}function JH(){JH=U,lLe=new N3e("QUADRATIC",0),S1e=new N3e("SCANLINE",1)}function zut(){zut=U,dxt=Kr((dA(),he(le(dLe,1),it,322,0,[HL,mB,fLe])))}function qut(){qut=U,gxt=Kr((pV(),he(le(pLe,1),it,351,0,[gLe,YK,_1e])))}function Hut(){Hut=U,uxt=Kr((Ow(),he(le(m1e,1),it,372,0,[o3,Rb,a3])))}function Vut(){Vut=U,vxt=Kr((Vm(),he(le(mxt,1),it,460,0,[M1e,FT,P6])))}function Uut(){Uut=U,Txt=Kr((vE(),he(le($1e,1),it,299,0,[R1e,j1e,vB])))}function Gut(){Gut=U,Sxt=Kr((ep(),he(le(Cxt,1),it,311,0,[wB,F6,Ux])))}function Kut(){Kut=U,Zkt=Kr((EA(),he(le(mDe,1),it,390,0,[pde,bDe,SW])))}function Wut(){Wut=U,oEt=Kr((LV(),he(le(MDe,1),it,387,0,[ADe,Tde,LDe])))}function Yut(){Yut=U,cEt=Kr((yA(),he(le(DDe,1),it,349,0,[Sde,Cde,MB])))}function Xut(){Xut=U,aEt=Kr((qo(),he(le(sEt,1),it,463,0,[sM,$l,zu])))}function Qut(){Qut=U,uEt=Kr((SE(),he(le(ODe,1),it,350,0,[_de,IDe,aM])))}function Jut(){Jut=U,lEt=Kr((gV(),he(le(BDe,1),it,352,0,[PDe,Ade,NDe])))}function Zut(){Zut=U,hEt=Kr((OV(),he(le(FDe,1),it,388,0,[Lde,XT,k4])))}function elt(){elt=U,fTt=Kr((xA(),he(le(eIe,1),it,392,0,[ZDe,Ide,OB])))}function tlt(){tlt=U,UTt=Kr((LN(),he(le(AIe,1),it,393,0,[zW,SIe,_Ie])))}function nlt(){nlt=U,fCt=Kr((AV(),he(le(GIe,1),it,300,0,[nge,UIe,VIe])))}function rlt(){rlt=U,dCt=Kr((WV(),he(le(KIe,1),it,445,0,[RB,VW,rge])))}function ilt(){ilt=U,pCt=Kr((sU(),he(le(gCt,1),it,456,0,[ige,age,sge])))}function slt(){slt=U,vCt=Kr((qV(),he(le(XIe,1),it,394,0,[YIe,uge,WIe])))}function alt(){alt=U,$Ct=Kr((tV(),he(le(pOe,1),it,439,0,[gge,gOe,dOe])))}function olt(){olt=U,_Et=Kr((Iw(),he(le(SEt,1),it,464,0,[DB,oM,MW])))}function clt(){clt=U,Y6t=Kr((Bl(),he(le(W6t,1),it,471,0,[Fd,Bb,v0])))}function ult(){ult=U,K6t=Kr((t1(),he(le(s4,1),it,237,0,[Gc,$u,Kc])))}function llt(){llt=U,Q6t=Kr((ol(),he(le(X6t,1),it,472,0,[a1,Fb,w0])))}function hlt(){hlt=U,B6t=Kr((Fl(),he(le(oc,1),it,108,0,[y_e,Ec,i4])))}function flt(){flt=U,m8t=Kr((lA(),he(le(dAe,1),it,391,0,[t1e,e1e,n1e])))}function dlt(){dlt=U,QSt=Kr((rp(),he(le(YNe,1),it,346,0,[oY,A2,DM])))}function glt(){glt=U,VCt=Kr((PN(),he(le(pge,1),it,444,0,[WW,YW,XW])))}function plt(){plt=U,KSt=Kr((F1(),he(le(FNe,1),it,278,0,[nC,_4,rC])))}function blt(){blt=U,h_t=Kr((dx(),he(le(nPe,1),it,280,0,[tPe,L4,dY])))}function P1(e,t){return!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),Kce(e.o,t)}function fvn(e,t){var n;e.C&&(n=l(Qo(e.b,t),127).n,n.d=e.C.d,n.a=e.C.a)}function A6e(e){var t,n,r,a;a=e.d,t=e.a,n=e.b,r=e.c,e.d=n,e.a=r,e.b=a,e.c=t}function dvn(e){return!e.g&&(e.g=new MS),!e.g.b&&(e.g.b=new fQe(e)),e.g.b}function iN(e){return!e.g&&(e.g=new MS),!e.g.c&&(e.g.c=new pQe(e)),e.g.c}function gvn(e){return!e.g&&(e.g=new MS),!e.g.d&&(e.g.d=new dQe(e)),e.g.d}function pvn(e){return!e.g&&(e.g=new MS),!e.g.a&&(e.g.a=new gQe(e)),e.g.a}function bvn(e,t,n,r){return n&&(r=n.Rh(t,ms(n.Dh(),e.c.uk()),null,r)),r}function mvn(e,t,n,r){return n&&(r=n.Th(t,ms(n.Dh(),e.c.uk()),null,r)),r}function Ooe(e,t,n,r){var a;return a=We(Vr,di,28,t+1,15,1),xAn(a,e,t,n,r),a}function We(e,t,n,r,a,o){var f;return f=zdt(a,r),a!=10&&he(le(e,o),t,n,a,f),f}function vvn(e,t,n){var r,a;for(a=new mE(t,e),r=0;rn||t=0?e.Lh(n,!0,!0):Hw(e,t,!0)}function Pvn(e,t,n){var r;return r=w0t(e,t,n),e.b=new TV(r.c.length),Q9e(e,r)}function Bvn(e){if(e.b<=0)throw ue(new _c);return--e.b,e.a-=e.c.c,pt(e.a)}function Fvn(e){var t;if(!e.a)throw ue(new Lat);return t=e.a,e.a=ds(e.a),t}function Rvn(e){for(;!e.a;)if(!tit(e.c,new ZS(e)))return!1;return!0}function cx(e){var t;return Xr(e),De(e,204)?(t=l(e,204),t):new w8(e)}function jvn(e){ZH(),l(e.of((pi(),S4)),181).Fc((Rl(),nF)),e.qf($ge,null)}function ZH(){ZH=U,pSt=new l$,mSt=new h$,bSt=_yn((pi(),$ge),pSt,Ub,mSt)}function eV(){eV=U,TIe=new G3e("LEAF_NUMBER",0),Qde=new G3e("NODE_SIZE",1)}function Roe(e){e.a=We(Vr,di,28,e.b+1,15,1),e.c=We(Vr,di,28,e.b,15,1),e.d=0}function $vn(e,t){e.a.Ne(t.d,e.b)>0&&(vt(e.c,new L4e(t.c,t.d,e.d)),e.b=t.d)}function R6e(e,t){if(e.g==null||t>=e.i)throw ue(new Vse(t,e.i));return e.g[t]}function ylt(e,t,n){if(EE(e,n),n!=null&&!e.fk(n))throw ue(new Rie);return n}function joe(e,t){return gN(t)!=10&&he(bh(t),t.Sm,t.__elementTypeId$,gN(t),e),e}function nE(e,t,n,r){var a;r=(Ew(),r||d_e),a=e.slice(t,n),l9e(a,e,t,n,-t,r)}function sf(e,t,n,r,a){return t<0?Hw(e,n,r):l(n,69).wk().yk(e,e.hi(),t,r,a)}function zvn(e,t){return Yi(ze(Ge(Q(e,(ft(),l3)))),ze(Ge(Q(t,l3))))}function xlt(){xlt=U,M6t=Kr((rE(),he(le(fK,1),it,304,0,[O0e,N0e,P0e,B0e])))}function rE(){rE=U,O0e=new oq("All",0),N0e=new hnt,P0e=new ynt,B0e=new lnt}function Bl(){Bl=U,Fd=new pse(Mx,0),Bb=new pse(cT,1),v0=new pse(Dx,2)}function klt(){klt=U,zU(),GPe=gs,vAt=ia,KPe=new pa(gs),wAt=new pa(ia)}function Elt(){Elt=U,k7t=Kr((Pw(),he(le(x7t,1),it,417,0,[iB,rB,V0e,U0e])))}function Tlt(){Tlt=U,_7t=Kr((NA(),he(le(S7t,1),it,406,0,[uB,bK,mK,lB])))}function Clt(){Clt=U,T7t=Kr((bx(),he(le(E7t,1),it,332,0,[aB,sB,oB,cB])))}function Slt(){Slt=U,I8t=Kr((Km(),he(le(mAe,1),it,389,0,[c4,bAe,o1e,c1e])))}function _lt(){_lt=U,S8t=Kr((wE(),he(le(C8t,1),it,416,0,[s3,o4,a4,M6])))}function Alt(){Alt=U,nxt=Kr((R1(),he(le(txt,1),it,421,0,[Vx,MT,DT,b1e])))}function Llt(){Llt=U,U8t=Kr((IV(),he(le(V8t,1),it,371,0,[p1e,HK,VK,pB])))}function Mlt(){Mlt=U,eEt=Kr((By(),he(le(mde,1),it,203,0,[_W,bde,G6,U6])))}function Dlt(){Dlt=U,rEt=Kr((Ed(),he(le(SDe,1),it,284,0,[E2,CDe,yde,xde])))}function cN(){cN=U,xLe=new B3e(Id,0),JK=new B3e("IMPROVE_STRAIGHTNESS",1)}function Ilt(e,t){var n,r;return r=t/e.c.Rd().gc()|0,n=t%e.c.Rd().gc(),ox(e,r,n)}function Olt(e){var t;if(e.nl())for(t=e.i-1;t>=0;--t)Oe(e,t);return a6e(e)}function j6e(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[0];)n=t;return n}function Nlt(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[1];)n=t;return n}function qvn(e){return De(e,180)?""+l(e,180).a:e==null?null:xc(e)}function Hvn(e){return De(e,180)?""+l(e,180).a:e==null?null:xc(e)}function Plt(e,t){if(t.a)throw ue(new Ac(e3t));na(e.a,t),t.a=e,!e.j&&(e.j=t)}function $6e(e,t){Dq.call(this,t.zd(),t.yd()&-16449),nr(e),this.a=e,this.c=t}function Vvn(e,t){return new wae(t,dw(Ja(t.e),t.f.a+e,t.f.b+e),(Hn(),!1))}function Uvn(e,t){return jk(),vt(e,new ca(t,pt(t.e.c.length+t.g.c.length)))}function Gvn(e,t){return jk(),vt(e,new ca(t,pt(t.e.c.length+t.g.c.length)))}function Blt(){Blt=U,hCt=Kr((uU(),he(le(HIe,1),it,354,0,[tge,zIe,qIe,$Ie])))}function Flt(){Flt=U,PTt=Kr((kA(),he(le(yIe,1),it,353,0,[Vde,jW,Hde,qde])))}function Rlt(){Rlt=U,lTt=Kr((wx(),he(le(qDe,1),it,405,0,[NW,lM,hM,fM])))}function jlt(){jlt=U,WSt=Kr((ip(),he(le(Vge,1),it,223,0,[Hge,JB,iC,s9])))}function $lt(){$lt=U,ZSt=Kr((Ih(),he(le(JSt,1),it,291,0,[eF,kg,Gb,ZB])))}function zlt(){zlt=U,u_t=Kr((mh(),he(le(BM,1),it,386,0,[iF,Cv,rF,A4])))}function qlt(){qlt=U,d_t=Kr((VV(),he(le(cPe,1),it,320,0,[Kge,sPe,oPe,aPe])))}function Hlt(){Hlt=U,b_t=Kr((NV(),he(le(p_t,1),it,415,0,[Wge,lPe,uPe,hPe])))}function tV(){tV=U,gge=new jse(vyt,0),gOe=new jse(cCe,1),dOe=new jse(Id,2)}function Sy(e,t,n,r,a){return nr(e),nr(t),nr(n),nr(r),nr(a),new h5e(e,t,r)}function Vlt(e,t){var n;return n=l(ax(e.e,t),400),n?($4e(n),n.e):null}function al(e,t){var n;return n=gc(e,t,0),n==-1?!1:(t2(e,n),!0)}function Ult(e,t,n){var r;return fb(e),r=new on,r.a=t,e.a.Nb(new Cet(r,n)),r.a}function Kvn(e){var t;return fb(e),t=We(Na,Zo,28,0,15,1),A5(e.a,new E8(t)),t}function z6e(e){var t;if(!tce(e))throw ue(new _c);return e.e=1,t=e.d,e.d=null,t}function r2(e){var t;return wc(e)&&(t=0-e,!isNaN(t))?t:mb(xE(e))}function gc(e,t,n){for(;n=0?rU(e,n,!0,!0):Hw(e,t,!0)}function H6e(e){var t;return t=jm(Kn(e,32)),t==null&&(Ku(e),t=jm(Kn(e,32))),t}function V6e(e){var t;return e.Oh()||(t=yr(e.Dh())-e.ji(),e.$h().Mk(t)),e.zh()}function Qlt(e,t){H_e=new Ot,C7t=t,RL=e,l(RL.b,68),D6e(RL,H_e,null),fvt(RL)}function lA(){lA=U,t1e=new mse("XY",0),e1e=new mse("X",1),n1e=new mse("Y",2)}function ol(){ol=U,a1=new bse("TOP",0),Fb=new bse(cT,1),w0=new bse(xEe,2)}function ep(){ep=U,wB=new Ese(Id,0),F6=new Ese("TOP",1),Ux=new Ese(xEe,2)}function dN(){dN=U,kde=new R3e("INPUT_ORDER",0),Ede=new R3e("PORT_DEGREE",1)}function iE(){iE=U,WSe=qu(eh,eh,524287),g6t=qu(0,0,SP),YSe=Loe(1),Loe(2),XSe=Loe(0)}function Voe(e){var t;return e.d!=e.r&&(t=Of(e),e.e=!!t&&t.lk()==g5t,e.d=t),e.e}function Uoe(e,t,n){var r;return r=e.g[t],R_(e,t,e.Zi(t,n)),e.Ri(t,n,r),e.Ni(),r}function sV(e,t){var n;return n=e.dd(t),n>=0?(e.gd(n),!0):!1}function Goe(e,t){var n;for(Xr(e),Xr(t),n=!1;t.Ob();)n=n|e.Fc(t.Pb());return n}function B1(e,t){var n;return n=l(cr(e.e,t),400),n?(Int(e,n),n.e):null}function Jlt(e){var t,n;return t=e/60|0,n=e%60,n==0?""+t:""+t+":"+(""+n)}function _y(e,t){var n=e.a[t],r=(vce(),_0e)[typeof n];return r?r(n):Z7e(typeof n)}function Dc(e,t){var n,r;return xb(e),r=new C6e(t,e.a),n=new iit(r),new bn(e,n)}function Koe(e){var t;return t=e.b.c.length==0?null:jt(e.b,0),t!=null&&rce(e,0),t}function Qvn(e,t){var n,r,a;a=t.c.i,n=l(cr(e.f,a),60),r=n.d.c-n.e.c,k7e(t.a,r,0)}function U6e(e,t){var n;for(++e.d,++e.c[t],n=t+1;n=0;)++t[0]}function Jvn(e,t){Uu(e,t==null||Gq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function Zvn(e,t){Gu(e,t==null||Gq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function ewn(e,t){Dw(e,t==null||Gq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function twn(e,t){Mw(e,t==null||Gq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function nwn(e,t,n){return z8(new lt(n.e.a+n.f.a/2,n.e.b+n.f.b/2),e)==(nr(t),t)}function rwn(e,t){return De(t,102)&&l(t,19).Bb&Io?new Use(t,e):new mE(t,e)}function iwn(e,t){return De(t,102)&&l(t,19).Bb&Io?new Use(t,e):new mE(t,e)}function gN(e){return e.__elementTypeCategory$==null?10:e.__elementTypeCategory$}function tht(e,t){return t==(gae(),gae(),_6t)?e.toLocaleLowerCase():e.toLowerCase()}function nht(e){if(!e.e)throw ue(new _c);return e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function G6e(e){if(!e.c)throw ue(new _c);return e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function rht(e){var t;for(++e.a,t=e.c.a.length;e.ae.a[r]&&(r=n);return r}function iht(e){var t;return t=l(Q(e,(ft(),c3)),313),t?t.a==e:!1}function sht(e){var t;return t=l(Q(e,(ft(),c3)),313),t?t.i==e:!1}function aht(){aht=U,x8t=Kr((uo(),he(le(gAe,1),it,367,0,[y0,vg,bu,_u,mc])))}function oht(){oht=U,ixt=Kr((Ry(),he(le(rxt,1),it,375,0,[bB,KK,WK,GK,UK])))}function cht(){cht=U,pxt=Kr((l2(),he(le(mLe,1),it,348,0,[A1e,bLe,L1e,BT,PT])))}function uht(){uht=U,tEt=Kr((OA(),he(le(wDe,1),it,323,0,[vDe,vde,wde,rM,iM])))}function lht(){lht=U,Axt=Kr((hf(),he(le(WLe,1),it,171,0,[EB,YL,$b,XL,d4])))}function hht(){hht=U,HTt=Kr((bU(),he(le(qTt,1),it,368,0,[Yde,Gde,Xde,Kde,Wde])))}function fht(){fht=U,HCt=Kr((VA(),he(le(qCt,1),it,373,0,[Q6,e9,xM,yM,zB])))}function dht(){dht=U,YCt=Kr((XN(),he(le(TOe,1),it,324,0,[xOe,wge,EOe,yge,kOe])))}function ght(){ght=U,GSt=Kr((Js(),he(le(LM,1),it,88,0,[J1,vc,uc,Q1,wf])))}function pht(){pht=U,vSt=Kr((r1(),he(le(xg,1),it,170,0,[Pn,ha,zd,yv,S2])))}function bht(){bht=U,t_t=Kr((t6(),he(le(OM,1),it,256,0,[Kb,tF,XNe,IM,QNe])))}function mht(){mht=U,i_t=Kr((Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])))}function aV(){aV=U,E_e=new A3e("BY_SIZE",0),$0e=new A3e("BY_SIZE_AND_SHAPE",1)}function oV(){oV=U,Q0e=new D3e("EADES",0),yK=new D3e("FRUCHTERMAN_REINGOLD",1)}function pN(){pN=U,XK=new P3e("READING_DIRECTION",0),vLe=new P3e("ROTATION",1)}function hA(){hA=U,L8t=new nI,M8t=new $J,_8t=new vm,A8t=new hu,D8t=new zJ}function vht(e){this.b=new bt,this.a=new bt,this.c=new bt,this.d=new bt,this.e=e}function wht(e){this.g=e,this.f=new bt,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function yht(e,t,n){Vq.call(this),Y6e(this),this.a=e,this.c=n,this.b=t.d,this.f=t.e}function lwn(e,t,n){var r,a;for(a=new G(n);a.a=0&&t0?t-1:t,ZJe(Fun(Vht(B4e(new L8,n),e.n),e.j),e.k)}function sc(e){var t,n;n=(t=new qie,t),qr((!e.q&&(e.q=new nt(Uf,e,11,10)),e.q),n)}function K6e(e){return(e.i&2?"interface ":e.i&1?"":"class ")+(Gg(e),e.o)}function cV(e){return iu(e,Ii)>0?Ii:iu(e,lo)<0?lo:Yr(e)}function Ay(e){return e<3?(Mh(e,Pwt),e+1):e=-.01&&e.a<=H1&&(e.a=0),e.b>=-.01&&e.b<=H1&&(e.b=0),e}function Y5(e){h6();var t,n;for(n=hCe,t=0;tn&&(n=e[t]);return n}function Tht(e,t){var n;if(n=oP(e.Dh(),t),!n)throw ue(new Yn(Ob+t+$fe));return n}function Ly(e,t){var n;for(n=e;ds(n);)if(n=ds(n),n==t)return!0;return!1}function xwn(e,t){var n,r,a;for(r=t.a.ld(),n=l(t.a.md(),16).gc(),a=0;ae||e>t)throw ue(new t3e("fromIndex: 0, toIndex: "+e+uEe+t))}function Lw(e){if(e<0)throw ue(new Yn("Illegal Capacity: "+e));this.g=this.aj(e)}function W6e(e,t){return A1(),f0(Ab),b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)}function Xoe(e,t){var n,r,a,o;for(r=e.d,a=0,o=r.length;a0&&(e.a/=t,e.b/=t),e}function Ah(e){var t;return e.w?e.w:(t=dbn(e),t&&!t.Vh()&&(e.w=t),t)}function sE(e,t){var n,r;r=e.a,n=m4n(e,t,null),r!=t&&!e.e&&(n=ZE(e,t,n)),n&&n.oj()}function Lht(e,t,n){var r,a;r=t;do a=ze(e.p[r.p])+n,e.p[r.p]=a,r=e.a[r.p];while(r!=t)}function Mht(e,t,n){var r=function(){return e.apply(r,arguments)};return t.apply(r,n),r}function Awn(e){var t;return e==null?null:(t=l(e,195),$xn(t,t.length))}function Oe(e,t){if(e.g==null||t>=e.i)throw ue(new Vse(t,e.i));return e.Wi(t,e.g[t])}function Lwn(e,t){Cn();var n,r;for(r=new bt,n=0;n=14&&t<=16))),e}function Gr(e,t){var n;return nr(t),n=e[":"+t],BO(!!n,"Enum constant undefined: "+t),n}function Fr(e,t,n,r,a,o){var f;return f=Gae(e,t),Uht(n,f),f.i=a?8:0,f.f=r,f.e=a,f.g=o,f}function Q6e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=1,this.c=e,this.a=n}function J6e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=2,this.c=e,this.a=n}function Z6e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=6,this.c=e,this.a=n}function e7e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=7,this.c=e,this.a=n}function t7e(e,t,n,r,a){this.d=t,this.j=r,this.e=a,this.o=-1,this.p=4,this.c=e,this.a=n}function Ght(e,t){var n,r,a,o;for(r=t,a=0,o=r.length;a=0))throw ue(new Yn("tolerance ("+e+") must be >= 0"));return e}function Wht(e,t){var n;return De(t,44)?e.c.Mc(t):(n=Kce(e,t),YV(e,t),n)}function Jo(e,t,n){return Gm(e,t),Fu(e,n),i2(e,0),My(e,1),u2(e,!0),c2(e,!0),e}function mN(e,t){var n;if(n=e.gc(),t<0||t>n)throw ue(new my(t,n));return new f4e(e,t)}function bV(e,t){e.b=b.Math.max(e.b,t.d),e.e+=t.r+(e.a.c.length==0?0:e.c),vt(e.a,t)}function Yht(e){gy(e.c>=0),H5n(e.d,e.c)<0&&(e.a=e.a-1&e.d.a.length-1,e.b=e.d.c),e.c=-1}function mV(e){var t,n;for(n=e.c.Cc().Kc();n.Ob();)t=l(n.Pb(),16),t.$b();e.c.$b(),e.d=0}function jwn(e){var t,n,r,a;for(n=e.a,r=0,a=n.length;r=0}function c7e(e,t){e.r>0&&e.c0&&e.g!=0&&c7e(e.i,t/e.r*e.i.d))}function u7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,1,n,e.c))}function Zoe(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,4,n,e.c))}function fE(e,t){var n;n=e.k,e.k=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,2,n,e.k))}function ece(e,t){var n;n=e.D,e.D=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,2,n,e.D))}function wV(e,t){var n;n=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,8,n,e.f))}function yV(e,t){var n;n=e.i,e.i=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,7,n,e.i))}function l7e(e,t){var n;n=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,8,n,e.a))}function h7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,0,n,e.b))}function f7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,0,n,e.b))}function d7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,1,n,e.c))}function g7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,1,n,e.d))}function Gwn(e,t,n){var r;e.b=t,e.a=n,r=(e.a&512)==512?new gJe:new J$,e.c=aSn(r,e.b,e.a)}function oft(e,t){return up(e.e,t)?(Fo(),Voe(t)?new nH(t,e):new yO(t,e)):new Ptt(t,e)}function Kwn(e){var t,n;return 0>e?new b3e:(t=e+1,n=new wut(t,e),new Uye(null,n))}function Wwn(e,t){Cn();var n;return n=new N8(1),Ia(e)?rc(n,e,t):ju(n.f,e,t),new tr(n)}function Ywn(e,t){var n,r;return n=e.c,r=t.e[e.p],r>0?l(jt(n.a,r-1),10):null}function Xwn(e,t){var n,r;return n=e.o+e.p,r=t.o+t.p,nt?(t<<=1,t>0?t:rL):t}function tce(e){switch(Cye(e.e!=3),e.e){case 2:return!1;case 0:return!0}return svn(e)}function uft(e,t){var n;return De(t,8)?(n=l(t,8),e.a==n.a&&e.b==n.b):!1}function Jwn(e,t){var n;n=new Ot,l(t.b,68),l(t.b,68),l(t.b,68),Vu(t.a,new k4e(e,n,t))}function lft(e,t){var n,r;for(r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),GN(e,n.ld(),n.md())}function p7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,11,n,e.d))}function xV(e,t){var n;n=e.j,e.j=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,13,n,e.j))}function b7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,21,n,e.b))}function Zwn(e,t){(UH(),G1?null:t.c).length==0&&Srt(t,new Dt),rc(e.a,G1?null:t.c,t)}function e3n(e,t){t.Ug("Hierarchical port constraint processing",1),v6n(e),RIn(e),t.Vg()}function Ow(){Ow=U,o3=new vse("START",0),Rb=new vse("MIDDLE",1),a3=new vse("END",2)}function kV(){kV=U,$W=new U3e("P1_NODE_PLACEMENT",0),X6=new U3e("P2_EDGE_ROUTING",1)}function bb(){bb=U,Hx=new Ui(NEe),EK=new Ui(C3t),$L=new Ui(S3t),hB=new Ui(_3t)}function Nw(e){var t;return pae(e.f.g,e.d),mr(e.b),e.c=e.a,t=l(e.a.Pb(),44),e.b=L7e(e),t}function m7e(e){var t;return e.b==null?(Wp(),Wp(),dF):(t=e.ul()?e.tl():e.sl(),t)}function hft(e,t){var n;return n=t==null?-1:gc(e.b,t,0),n<0?!1:(rce(e,n),!0)}function d0(e,t){var n;return nr(t),n=t.g,e.b[n]?!1:(Ts(e.b,n,t),++e.c,!0)}function EV(e,t){var n,r;return n=1-t,r=e.a[n],e.a[n]=r.a[t],r.a[t]=e,e.b=!0,r.b=!1,r}function t3n(e,t){var n,r;for(r=t.Kc();r.Ob();)n=l(r.Pb(),272),e.b=!0,na(e.e,n),n.b=e}function n3n(e,t){var n,r;return n=l(Q(e,(Nt(),w4)),8),r=l(Q(t,w4),8),Yi(n.b,r.b)}function nce(e,t,n){var r,a,o;return o=t>>5,a=t&31,r=va(ub(e.n[n][o],Yr(l0(a,1))),3),r}function fft(e,t,n){var r,a,o;for(o=e.a.length-1,a=e.b,r=0;r0?1:0:(!e.c&&(e.c=XO(Zc(e.f))),e.c).e}function xft(e,t){t?e.B==null&&(e.B=e.D,e.D=null):e.B!=null&&(e.D=e.B,e.B=null)}function a3n(e,t){return wE(),e==s3&&t==o4||e==o4&&t==s3||e==M6&&t==a4||e==a4&&t==M6}function o3n(e,t){return wE(),e==s3&&t==a4||e==s3&&t==M6||e==o4&&t==M6||e==o4&&t==a4}function kft(e,t){return A1(),f0(H1),b.Math.abs(0-t)<=H1||t==0||isNaN(0)&&isNaN(t)?0:e/t}function Eft(e,t){return ze(Ge(fh(ON(fc(new bn(null,new kn(e.c.b,16)),new AYe(e)),t))))}function x7e(e,t){return ze(Ge(fh(ON(fc(new bn(null,new kn(e.c.b,16)),new _Ye(e)),t))))}function c3n(){return Ho(),he(le(F1e,1),it,259,0,[eW,vf,UL,tW,$T,B6,GL,RT,jT,nW])}function u3n(){return Nf(),he(le(TDe,1),it,243,0,[AW,AB,LB,xDe,kDe,yDe,EDe,LW,v3,x4])}function l3n(e,t){var n;t.Ug("General Compactor",1),n=p5n(l(at(e,(Sb(),Zde)),393)),n.Cg(e)}function h3n(e,t){var n,r;return n=l(at(e,(Sb(),qW)),17),r=l(at(t,qW),17),ru(n.a,r.a)}function k7e(e,t,n){var r,a;for(a=Rr(e,0);a.b!=a.d.c;)r=l(Br(a),8),r.a+=t,r.b+=n;return e}function gA(e,t,n){var r;for(r=e.b[n&e.f];r;r=r.b)if(n==r.a&&yd(t,r.g))return r;return null}function pA(e,t,n){var r;for(r=e.c[n&e.f];r;r=r.d)if(n==r.f&&yd(t,r.i))return r;return null}function f3n(e,t,n){var r,a,o;for(r=0,a=0;a>>31;r!=0&&(e[n]=r)}function oce(e,t,n,r,a,o){var f;this.c=e,f=new bt,txe(e,f,t,e.b,n,r,a,o),this.a=new Ua(f,0)}function Tft(){this.c=new Wz(0),this.b=new Wz(lCe),this.d=new Wz(hyt),this.a=new Wz(Lhe)}function of(e,t,n,r,a,o,f){Ur.call(this,e,t),this.d=n,this.e=r,this.c=a,this.b=o,this.a=O1(f)}function Os(e,t,n,r,a,o,f,g,w,E,C,L,B){return Lpt(e,t,n,r,a,o,f,g,w,E,C,L,B),$ce(e,!1),e}function d3n(e){return e.b.c.i.k==(Zn(),Us)?l(Q(e.b.c.i,(ft(),zi)),12):e.b.c}function Cft(e){return e.b.d.i.k==(Zn(),Us)?l(Q(e.b.d.i,(ft(),zi)),12):e.b.d}function g3n(e){var t;return t=jH(e),cw(t.a,0)?(Jz(),Jz(),A6t):(Jz(),new art(t.b))}function cce(e){var t;return t=e6e(e),cw(t.a,0)?(cy(),cy(),I0e):(cy(),new sae(t.b))}function uce(e){var t;return t=e6e(e),cw(t.a,0)?(cy(),cy(),I0e):(cy(),new sae(t.c))}function Sft(e){switch(e.g){case 2:return Ct(),er;case 4:return Ct(),ar;default:return e}}function _ft(e){switch(e.g){case 1:return Ct(),Dr;case 3:return Ct(),Qn;default:return e}}function Aft(e){switch(e.g){case 0:return new Mne;case 1:return new Dne;default:return null}}function lx(){lx=U,g1e=new vs("edgelabelcenterednessanalysis.includelabel",(Hn(),Pb))}function E7e(){E7e=U,CEt=Td(Ytt(fi(fi(new Xs,(uo(),bu),(vo(),PK)),_u,MK),mc),NK)}function Lft(){Lft=U,LEt=Td(Ytt(fi(fi(new Xs,(uo(),bu),(vo(),PK)),_u,MK),mc),NK)}function lce(){lce=U,qM=new uJe,npe=he(le(dl,1),S6,179,0,[]),X_t=he(le(Uf,1),LSe,62,0,[])}function dE(){dE=U,dB=new I3e("TO_INTERNAL_LTR",0),h1e=new I3e("TO_INPUT_DIRECTION",1)}function kl(){kl=U,EAe=new K2,xAe=new J3,kAe=new HJ,yAe=new wm,TAe=new VJ,CAe=new UJ}function p3n(e,t){t.Ug(q3t,1),S8e(Zun(new e_((g_(),new Jae(e,!1,!1,new cS))))),t.Vg()}function b3n(e,t,n){n.Ug("DFS Treeifying phase",1),O5n(e,t),DCn(e,t),e.a=null,e.b=null,n.Vg()}function vN(e,t){return Hn(),Ia(e)?E6e(e,ei(t)):fy(e)?Nae(e,Ge(t)):hy(e)?agn(e,Bt(t)):e.Fd(t)}function bA(e,t){var n,r;for(nr(t),r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),e.zc(n.ld(),n.md())}function m3n(e,t,n){var r;for(r=n.Kc();r.Ob();)if(!qH(e,t,r.Pb()))return!1;return!0}function v3n(e,t,n,r,a){var o;return n&&(o=ms(t.Dh(),e.c),a=n.Rh(t,-1-(o==-1?r:o),null,a)),a}function w3n(e,t,n,r,a){var o;return n&&(o=ms(t.Dh(),e.c),a=n.Th(t,-1-(o==-1?r:o),null,a)),a}function Mft(e){var t;if(e.b==-2){if(e.e==0)t=-1;else for(t=0;e.a[t]==0;t++);e.b=t}return e.b}function y3n(e){if(nr(e),e.length==0)throw ue(new gd("Zero length BigInteger"));S_n(this,e)}function T7e(e){this.i=e.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),e.Qc(this.g))}function Dft(e,t,n){this.g=e,this.d=t,this.e=n,this.a=new bt,Ikn(this),Cn(),Vs(this.a,null)}function C7e(e,t){t.q=e,e.d=b.Math.max(e.d,t.r),e.b+=t.d+(e.a.c.length==0?0:e.c),vt(e.a,t)}function gE(e,t){var n,r,a,o;return a=e.c,n=e.c+e.b,o=e.d,r=e.d+e.a,t.a>a&&t.ao&&t.ba?n=a:Xn(t,n+1),e.a=tf(e.a,0,t)+(""+r)+w5e(e.a,n)}function $ft(e,t){e.a=bo(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d=bo(e.d,t)}function _3n(e,t){return t1||e.Ob())return++e.a,e.g=0,t=e.i,e.Ob(),t;throw ue(new _c)}function Vft(e){switch(e.a.g){case 1:return new Yet;case 3:return new Ydt;default:return new nie}}function _7e(e,t){switch(t){case 1:return!!e.n&&e.n.i!=0;case 2:return e.k!=null}return Z5e(e,t)}function Zc(e){return _P>22),a=e.h+t.h+(r>>22),qu(n&eh,r&eh,a&hp)}function Jft(e,t){var n,r,a;return n=e.l-t.l,r=e.m-t.m+(n>>22),a=e.h-t.h+(r>>22),qu(n&eh,r&eh,a&hp)}function W3n(e){var t,n;for(zDn(e),n=new G(e.d);n.ar)throw ue(new my(t,r));return e.Si()&&(n=bot(e,n)),e.Ei(t,n)}function yE(e,t,n,r,a){var o,f;for(f=n;f<=a;f++)for(o=t;o<=r;o++)r6(e,o,f)||FU(e,o,f,!0,!1)}function cyn(e){h6();var t,n,r;for(n=We(Ea,dt,8,2,0,1),r=0,t=0;t<2;t++)r+=.5,n[t]=t7n(r,e);return n}function xE(e){var t,n,r;return t=~e.l+1&eh,n=~e.m+(t==0?1:0)&eh,r=~e.h+(t==0&&n==0?1:0)&hp,qu(t,n,r)}function P7e(e){var t;if(e<0)return lo;if(e==0)return 0;for(t=rL;!(t&e);t>>=1);return t}function mce(e,t,n){return e>=128?!1:e<64?I_(va(l0(1,e),n),0):I_(va(l0(1,e-64),t),0)}function _N(e,t,n){return n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),ki(e.q,t,n)),e}function rt(e,t,n){return n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),ki(e.q,t,n)),e}function u0t(e){var t,n;return n=new KH,pc(n,e),rt(n,(bb(),Hx),e),t=new Pr,FAn(e,n,t),hDn(e,n,t),n}function l0t(e){var t,n;return t=e.t-e.k[e.o.p]*e.d+e.j[e.o.p]>e.f,n=e.u+e.e[e.o.p]*e.d>e.f*e.s*e.d,t||n}function h0t(e,t){var n,r,a,o;for(n=!1,r=e.a[t].length,o=0;o=0,"Negative initial capacity"),BO(t>=0,"Non-positive load factor"),Nl(this)}function lyn(e,t,n,r,a){var o,f;if(f=e.length,o=n.length,t<0||r<0||a<0||t+a>f||r+a>o)throw ue(new _we)}function j7e(e,t){Cn();var n,r,a,o,f;for(f=!1,r=t,a=0,o=r.length;a1||t>=0&&e.b<3)}function yce(e){var t,n,r;t=~e.l+1&eh,n=~e.m+(t==0?1:0)&eh,r=~e.h+(t==0&&n==0?1:0)&hp,e.l=t,e.m=n,e.h=r}function q7e(e){Cn();var t,n,r;for(r=1,n=e.Kc();n.Ob();)t=n.Pb(),r=31*r+(t!=null?es(t):0),r=r|0;return r}function pyn(e,t,n,r,a){var o;return o=D9e(e,t),n&&yce(o),a&&(e=c7n(e,t),r?Nb=xE(e):Nb=qu(e.l,e.m,e.h)),o}function x0t(e,t,n){e.g=Rue(e,t,(Ct(),ar),e.b),e.d=Rue(e,n,ar,e.b),!(e.g.c==0||e.d.c==0)&&Jgt(e)}function k0t(e,t,n){e.g=Rue(e,t,(Ct(),er),e.j),e.d=Rue(e,n,er,e.j),!(e.g.c==0||e.d.c==0)&&Jgt(e)}function H7e(e,t){switch(t){case 7:return!!e.e&&e.e.i!=0;case 8:return!!e.d&&e.d.i!=0}return _8e(e,t)}function byn(e,t){switch(t.g){case 0:De(e.b,641)||(e.b=new jft);break;case 1:De(e.b,642)||(e.b=new Rit)}}function E0t(e){switch(e.g){case 0:return new One;default:throw ue(new Yn(FG+(e.f!=null?e.f:""+e.g)))}}function T0t(e){switch(e.g){case 0:return new gl;default:throw ue(new Yn(FG+(e.f!=null?e.f:""+e.g)))}}function myn(e,t,n){return!_k(Fi(new bn(null,new kn(e.c,16)),new Wl(new ltt(t,n)))).Bd((Am(),zx))}function C0t(e,t){return z8(BE(l(Q(t,(Hc(),y3)),88)),new lt(e.c.e.a-e.b.e.a,e.c.e.b-e.b.e.b))<=0}function vyn(e,t){for(;e.g==null&&!e.c?H5e(e):e.g==null||e.i!=0&&l(e.g[e.i-1],51).Ob();)kln(t,CU(e))}function Um(e){var t,n;for(n=new G(e.a.b);n.ar?1:0}function xyn(e){return vt(e.c,(hx(),gSt)),W6e(e.a,ze(Ge(It((Gce(),TW)))))?new Hne:new OXe(e)}function kyn(e){for(;!e.d||!e.d.Ob();)if(e.b&&!l_(e.b))e.d=l(X8(e.b),51);else return null;return e.d}function U7e(e){switch(e.g){case 1:return hyt;default:case 2:return 0;case 3:return Lhe;case 4:return lCe}}function Eyn(){Di();var e;return cpe||(e=Hhn(_b("M",!0)),e=oH(_b("M",!1),e),cpe=e,cpe)}function NV(){NV=U,Wge=new Cq("ELK",0),lPe=new Cq("JSON",1),uPe=new Cq("DOT",2),hPe=new Cq("SVG",3)}function yA(){yA=U,Sde=new _se("STACKED",0),Cde=new _se("REVERSE_STACKED",1),MB=new _se("SEQUENCED",2)}function xA(){xA=U,ZDe=new Ose(Id,0),Ide=new Ose("MIDDLE_TO_MIDDLE",1),OB=new Ose("AVOID_OVERLAP",2)}function TE(){TE=U,oLe=new MZ,cLe=new lI,X8t=new yj,Y8t=new DZ,W8t=new n8,aLe=(nr(W8t),new ke)}function PV(){PV=U,WNe=new lw(15),XSt=new Ha((pi(),_2),WNe),MM=n9,VNe=LSt,UNe=kv,KNe=i7,GNe=C4}function Q5(e,t){var n,r,a,o,f;for(r=t,a=0,o=r.length;a=e.b.c.length||(K7e(e,2*t+1),n=2*t+2,n0&&(t.Cd(n),n.i&&C4n(n))}function W7e(e,t,n){var r;for(r=n-1;r>=0&&e[r]===t[r];r--);return r<0?0:fse(va(e[r],Vo),va(t[r],Vo))?-1:1}function A0t(e,t,n){var r,a;this.g=e,this.c=t,this.a=this,this.d=this,a=cft(n),r=We(c6t,TP,227,a,0,1),this.b=r}function Cce(e,t,n,r,a){var o,f;for(f=n;f<=a;f++)for(o=t;o<=r;o++)if(r6(e,o,f))return!0;return!1}function Lyn(e,t){var n,r;for(r=e.Zb().Cc().Kc();r.Ob();)if(n=l(r.Pb(),16),n.Hc(t))return!0;return!1}function L0t(e,t,n){var r,a,o,f;for(nr(n),f=!1,o=e.fd(t),a=n.Kc();a.Ob();)r=a.Pb(),o.Rb(r),f=!0;return f}function Sce(e,t){var n,r;return r=l(Kn(e.a,4),129),n=We(epe,r0e,424,t,0,1),r!=null&&pu(r,0,n,0,r.length),n}function M0t(e,t){var n;return n=new ele((e.f&256)!=0,e.i,e.a,e.d,(e.f&16)!=0,e.j,e.g,t),e.e!=null||(n.c=e),n}function Myn(e,t){var n;return e===t?!0:De(t,85)?(n=l(t,85),Qxe(Mm(e),n.vc())):!1}function D0t(e,t,n){var r,a;for(a=n.Kc();a.Ob();)if(r=l(a.Pb(),44),e.Be(t,r.md()))return!0;return!1}function I0t(e,t,n){return e.d[t.p][n.p]||(O6n(e,t,n),e.d[t.p][n.p]=!0,e.d[n.p][t.p]=!0),e.a[t.p][n.p]}function Dyn(e,t){var n;return!e||e==t||!ns(t,(ft(),u3))?!1:(n=l(Q(t,(ft(),u3)),10),n!=e)}function _ce(e){switch(e.i){case 2:return!0;case 1:return!1;case-1:++e.c;default:return e.$l()}}function O0t(e){switch(e.i){case-2:return!0;case-1:return!1;case 1:--e.c;default:return e._l()}}function N0t(e){xot.call(this,"The given string does not match the expected format for individual spacings.",e)}function Iyn(e,t){var n;t.Ug("Min Size Preprocessing",1),n=a9e(e),Hi(e,(ug(),mM),n.a),Hi(e,UW,n.b),t.Vg()}function Oyn(e){var t,n,r;for(t=0,r=We(Ea,dt,8,e.b,0,1),n=Rr(e,0);n.b!=n.d.c;)r[t++]=l(Br(n),8);return r}function Ace(e,t,n){var r,a,o;for(r=new os,o=Rr(n,0);o.b!=o.d.c;)a=l(Br(o),8),ui(r,new Eo(a));L0t(e,t,r)}function Nyn(e,t){var n;return n=bo(e,t),fse(moe(e,t),0)|Aq(moe(e,n),0)?n:bo(EP,moe(ub(n,63),1))}function Pyn(e,t){var n,r;return n=l(e.d.Bc(t),16),n?(r=e.e.hc(),r.Gc(n),e.e.d-=n.gc(),n.$b(),r):null}function P0t(e){var t;if(t=e.a.c.length,t>0)return qk(t-1,e.a.c.length),t2(e.a,t-1);throw ue(new OQe)}function B0t(e,t,n){if(e>t)throw ue(new Yn(eG+e+Qwt+t));if(e<0||t>n)throw ue(new t3e(eG+e+fEe+t+uEe+n))}function CE(e,t){e.D==null&&e.B!=null&&(e.D=e.B,e.B=null),ece(e,t==null?null:(nr(t),t)),e.C&&e.hl(null)}function Byn(e,t){var n;n=It((Gce(),TW))!=null&&t.Sg()!=null?ze(Ge(t.Sg()))/ze(Ge(It(TW))):1,ki(e.b,t,n)}function Y7e(e,t){var n,r;if(r=e.c[t],r!=0)for(e.c[t]=0,e.d-=r,n=t+1;nMG?e-n>MG:n-e>MG}function K0t(e,t){var n;for(n=0;na&&(Egt(t.q,a),r=n!=t.q.d)),r}function W0t(e,t){var n,r,a,o,f,g,w,E;return w=t.i,E=t.j,r=e.f,a=r.i,o=r.j,f=w-a,g=E-o,n=b.Math.sqrt(f*f+g*g),n}function t8e(e,t){var n,r;return r=XV(e),r||(n=(kle(),P2t(t)),r=new kQe(n),qr(r.El(),e)),r}function DN(e,t){var n,r;return n=l(e.c.Bc(t),16),n?(r=e.hc(),r.Gc(n),e.d-=n.gc(),n.$b(),e.mc(r)):e.jc()}function Kyn(e,t){var n,r;for(r=Jl(e.d,1)!=0,n=!0;n;)n=!1,n=t.c.mg(t.e,r),n=n|cP(e,t,r,!1),r=!r;w7e(e)}function Y0t(e,t,n,r){var a,o;e.a=t,o=r?0:1,e.f=(a=new cpt(e.c,e.a,n,o),new $bt(n,e.a,a,e.e,e.b,e.c==(Iw(),oM)))}function FV(e){var t;return mr(e.a!=e.b),t=e.d.a[e.a],Ert(e.b==e.d.c&&t!=null),e.c=e.a,e.a=e.a+1&e.d.a.length-1,t}function X0t(e){var t;if(e.c!=0)return e.c;for(t=0;t=e.c.b:e.a<=e.c.b))throw ue(new _c);return t=e.a,e.a+=e.c.c,++e.b,pt(t)}function Oce(e){var t;return t=new bye(e.a),pc(t,e),rt(t,(ft(),zi),e),t.o.a=e.g,t.o.b=e.f,t.n.a=e.i,t.n.b=e.j,t}function Nce(e){return(Ct(),hl).Hc(e.j)?ze(Ge(Q(e,(ft(),zT)))):Ic(he(le(Ea,1),dt,8,0,[e.i.n,e.n,e.a])).b}function Yyn(e){var t;return t=Oq(TEt),l(Q(e,(ft(),Lu)),21).Hc((Ho(),$T))&&fi(t,(uo(),bu),(vo(),RK)),t}function Xyn(e){var t,n,r,a;for(a=new Ks,r=new G(e);r.a=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(a*=n,r-=1);return t<0?1/a:a}function t4n(e,t){var n,r,a;for(a=1,n=e,r=t>=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(a*=n,r-=1);return t<0?1/a:a}function yb(e,t){var n,r,a,o;return o=(a=e?XV(e):null,Dpt((r=t,a&&a.Gl(),r))),o==t&&(n=XV(e),n&&n.Gl()),o}function Q0t(e,t,n){var r,a;return a=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,0,a,t),n?n.nj(r):n=r),n}function J0t(e,t,n){var r,a;return a=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,3,a,t),n?n.nj(r):n=r),n}function r8e(e,t,n){var r,a;return a=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,1,a,t),n?n.nj(r):n=r),n}function Z0t(e){var t,n;if(e!=null)for(n=0;n=r||t-129&&e<128?(Fit(),t=e+128,n=t_e[t],!n&&(n=t_e[t]=new Cr(e)),n):new Cr(e)}function _E(e){var t,n;return e>-129&&e<128?(est(),t=e+128,n=s_e[t],!n&&(n=s_e[t]=new Wn(e)),n):new Wn(e)}function n1t(e,t){var n;e.a.c.length>0&&(n=l(jt(e.a,e.a.c.length-1),579),G7e(n,t))||vt(e.a,new yut(t))}function o4n(e){u0();var t,n;t=e.d.c-e.e.c,n=l(e.g,154),Vu(n.b,new pYe(t)),Vu(n.c,new bYe(t)),to(n.i,new mYe(t))}function r1t(e){var t;return t=new tb,t.a+="VerticalSegment ",wu(t,e.e),t.a+=" ",hi(t,Eye(new Zie,new G(e.k))),t.a}function Pce(e,t){var n,r,a;for(n=0,a=Oc(e,t).Kc();a.Ob();)r=l(a.Pb(),12),n+=Q(r,(ft(),jl))!=null?1:0;return n}function e6(e,t,n){var r,a,o;for(r=0,o=Rr(e,0);o.b!=o.d.c&&(a=ze(Ge(Br(o))),!(a>n));)a>=t&&++r;return r}function i1t(e,t){Xr(e);try{return e._b(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function s8e(e,t){Xr(e);try{return e.Hc(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function c4n(e,t){Xr(e);try{return e.Mc(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function Oy(e,t){Xr(e);try{return e.xc(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return null;throw ue(n)}}function u4n(e,t){Xr(e);try{return e.Bc(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return null;throw ue(n)}}function TA(e,t){switch(t.g){case 2:case 1:return Oc(e,t);case 3:case 4:return lf(Oc(e,t))}return Cn(),Cn(),_o}function CA(e){var t;return e.Db&64?g0(e):(t=new Af(g0(e)),t.a+=" (name: ",Xo(t,e.zb),t.a+=")",t.a)}function l4n(e){var t;return t=l(B1(e.c.c,""),233),t||(t=new nx(Ck(Tk(new ny,""),"Other")),h2(e.c.c,"",t)),t}function a8e(e,t,n){var r,a;return a=e.sb,e.sb=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,a,t),n?n.nj(r):n=r),n}function o8e(e,t,n){var r,a;return a=e.r,e.r=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,8,a,e.r),n?n.nj(r):n=r),n}function h4n(e,t,n){var r,a;return r=new Zg(e.e,4,13,(a=t.c,a||(Tn(),td)),null,f2(e,t),!1),n?n.nj(r):n=r,n}function f4n(e,t,n){var r,a;return r=new Zg(e.e,3,13,null,(a=t.c,a||(Tn(),td)),f2(e,t),!1),n?n.nj(r):n=r,n}function o2(e,t){var n,r;return n=l(t,691),r=n.el(),!r&&n.fl(r=De(t,90)?new Btt(e,l(t,29)):new sct(e,l(t,156))),r}function IN(e,t,n){var r;e._i(e.i+1),r=e.Zi(t,n),t!=e.i&&pu(e.g,t,e.g,t+1,e.i-t),Ts(e.g,t,r),++e.i,e.Mi(t,n),e.Ni()}function d4n(e,t){var n;return t.a&&(n=t.a.a.length,e.a?hi(e.a,e.b):e.a=new Th(e.d),fct(e.a,t.a,t.d.length,n)),e}function g4n(e,t){var n;e.c=t,e.a=w5n(t),e.a<54&&(e.f=(n=t.d>1?lct(t.a[0],t.a[1]):lct(t.a[0],0),Fm(t.e>0?n:r2(n))))}function ON(e,t){var n;return n=new on,e.a.Bd(n)?(Ok(),new Kie(nr(Ult(e,n.a,t)))):(fb(e),Ok(),Ok(),b_e)}function s1t(e,t){var n;e.c.length!=0&&(n=l(j1(e,We(wg,m2,10,e.c.length,0,1)),199),cye(n,new U9),Jpt(n,t))}function a1t(e,t){var n;e.c.length!=0&&(n=l(j1(e,We(wg,m2,10,e.c.length,0,1)),199),cye(n,new Wd),Jpt(n,t))}function Pi(e,t){return Ia(e)?vn(e,t):fy(e)?eit(e,t):hy(e)?(nr(e),qe(e)===qe(t)):t5e(e)?e.Fb(t):W4e(e)?Jtt(e,t):W5e(e,t)}function cf(e,t,n){if(t<0)d9e(e,n);else{if(!n.rk())throw ue(new Yn(Ob+n.xe()+kL));l(n,69).wk().Ek(e,e.hi(),t)}}function o1t(e,t,n){if(e<0||t>n)throw ue(new tc(eG+e+fEe+t+", size: "+n));if(e>t)throw ue(new Yn(eG+e+Qwt+t))}function c1t(e){var t;return e.Db&64?g0(e):(t=new Af(g0(e)),t.a+=" (source: ",Xo(t,e.d),t.a+=")",t.a)}function u1t(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e>=48&&e<=57?e-48:0}function p4n(e){YU();var t,n,r,a;for(n=eue(),r=0,a=n.length;r=0?kb(e):J_(kb(r2(e))))}function f1t(e,t,n,r,a,o){this.e=new bt,this.f=(qo(),sM),vt(this.e,e),this.d=t,this.a=n,this.b=r,this.f=a,this.c=o}function v4n(e,t,n){e.n=Lm(nm,[dt,ahe],[376,28],14,[n,ua(b.Math.ceil(t/32))],2),e.o=t,e.p=n,e.j=t-1>>1,e.k=n-1>>1}function d1t(e){return e-=e>>1&1431655765,e=(e>>2&858993459)+(e&858993459),e=(e>>4)+e&252645135,e+=e>>8,e+=e>>16,e&63}function g1t(e,t){var n,r;for(r=new or(e);r.e!=r.i.gc();)if(n=l(gr(r),142),qe(t)===qe(n))return!0;return!1}function w4n(e,t,n){var r,a,o;return o=(a=VE(e.b,t),a),o&&(r=l(VU(lN(e,o),""),29),r)?P9e(e,r,t,n):null}function Bce(e,t,n){var r,a,o;return o=(a=VE(e.b,t),a),o&&(r=l(VU(lN(e,o),""),29),r)?B9e(e,r,t,n):null}function y4n(e,t){var n;if(n=X5(e.i,t),n==null)throw ue(new dd("Node did not exist in input."));return S7e(t,n),null}function x4n(e,t){var n;if(n=oP(e,t),De(n,331))return l(n,35);throw ue(new Yn(Ob+t+"' is not a valid attribute"))}function _A(e,t,n){var r;if(r=e.gc(),t>r)throw ue(new my(t,r));if(e.Si()&&e.Hc(n))throw ue(new Yn(WP));e.Gi(t,n)}function k4n(e,t){t.Ug("Sort end labels",1),Is(Fi(Dc(new bn(null,new kn(e.b,16)),new hj),new J7),new aZ),t.Vg()}function Js(){Js=U,J1=new mO(cL,0),vc=new mO(Dx,1),uc=new mO(Mx,2),Q1=new mO(whe,3),wf=new mO("UP",4)}function PN(){PN=U,WW=new $se("P1_STRUCTURE",0),YW=new $se("P2_PROCESSING_ORDER",1),XW=new $se("P3_EXECUTION",2)}function p1t(){p1t=U,jTt=Td(Td(v_(Td(Td(v_(fi(new Xs,(wx(),lM),(WA(),Dde)),hM),YDe),QDe),fM),UDe),JDe)}function E4n(e){switch(l(Q(e,(ft(),hv)),311).g){case 1:rt(e,hv,(ep(),Ux));break;case 2:rt(e,hv,(ep(),F6))}}function T4n(e){switch(e){case 0:return new nJe;case 1:return new eJe;case 2:return new tJe;default:throw ue(new YI)}}function b1t(e){switch(e.g){case 2:return vc;case 1:return uc;case 4:return Q1;case 3:return wf;default:return J1}}function h8e(e,t){switch(e.b.g){case 0:case 1:return t;case 2:case 3:return new ef(t.d,0,t.a,t.b);default:return null}}function f8e(e){switch(e.g){case 1:return er;case 2:return Qn;case 3:return ar;case 4:return Dr;default:return Pc}}function BN(e){switch(e.g){case 1:return Dr;case 2:return er;case 3:return Qn;case 4:return ar;default:return Pc}}function $V(e){switch(e.g){case 1:return ar;case 2:return Dr;case 3:return er;case 4:return Qn;default:return Pc}}function d8e(e,t,n,r){switch(t){case 1:return!e.n&&(e.n=new nt(ec,e,1,7)),e.n;case 2:return e.k}return sxe(e,t,n,r)}function AA(e,t,n){var r,a;return e.Pj()?(a=e.Qj(),r=Hue(e,t,n),e.Jj(e.Ij(7,pt(n),r,t,a)),r):Hue(e,t,n)}function Fce(e,t){var n,r,a;e.d==null?(++e.e,--e.f):(a=t.ld(),n=t.Bi(),r=(n&Ii)%e.d.length,uvn(e,r,j2t(e,r,n,a)))}function AE(e,t){var n;n=(e.Bb&m0)!=0,t?e.Bb|=m0:e.Bb&=-1025,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,10,n,t))}function LE(e,t){var n;n=(e.Bb&Xy)!=0,t?e.Bb|=Xy:e.Bb&=-4097,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,12,n,t))}function ME(e,t){var n;n=(e.Bb&Sl)!=0,t?e.Bb|=Sl:e.Bb&=-8193,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,15,n,t))}function DE(e,t){var n;n=(e.Bb&r4)!=0,t?e.Bb|=r4:e.Bb&=-2049,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,11,n,t))}function C4n(e){var t;e.g&&(t=e.c.kg()?e.f:e.a,Y9e(t.a,e.o,!0),Y9e(t.a,e.o,!1),rt(e.o,(Nt(),Ms),(Ra(),Tv)))}function S4n(e){var t;if(!e.a)throw ue(new nc("Cannot offset an unassigned cut."));t=e.c-e.b,e.b+=t,zat(e,t),$at(e,t)}function _4n(e,t){var n;if(n=cr(e.k,t),n==null)throw ue(new dd("Port did not exist in input."));return S7e(t,n),null}function A4n(e){var t,n;for(n=B2t(Ah(e)).Kc();n.Ob();)if(t=ei(n.Pb()),YA(e,t))return Lmn((met(),R_t),t);return null}function m1t(e){var t,n;for(n=e.p.a.ec().Kc();n.Ob();)if(t=l(n.Pb(),218),t.f&&e.b[t.c]<-1e-10)return t;return null}function L4n(e){var t,n;for(n=hb(new tb,91),t=!0;e.Ob();)t||(n.a+=Co),t=!1,wu(n,e.Pb());return(n.a+="]",n).a}function M4n(e){var t,n,r;for(t=new bt,r=new G(e.b);r.at?1:e==t?e==0?Yi(1/e,1/t):0:isNaN(e)?isNaN(t)?0:1:-1}function I4n(e){var t;return t=e.a[e.c-1&e.a.length-1],t==null?null:(e.c=e.c-1&e.a.length-1,Ts(e.a,e.c,null),t)}function O4n(e){var t,n,r;for(r=0,n=e.length,t=0;t=1?vc:Q1):n}function F4n(e){switch(l(Q(e,(Nt(),bp)),223).g){case 1:return new Tee;case 3:return new Lee;default:return new Eee}}function xb(e){if(e.c)xb(e.c);else if(e.d)throw ue(new nc("Stream already terminated, can't be modified or used"))}function Bw(e,t,n){var r;return r=e.a.get(t),e.a.set(t,n===void 0?null:n),r===void 0?(++e.c,++e.b.g):++e.d,r}function R4n(e,t,n){var r,a;for(a=e.a.ec().Kc();a.Ob();)if(r=l(a.Pb(),10),EN(n,l(jt(t,r.p),16)))return r;return null}function p8e(e,t,n){var r;return r=0,t&&(B5(e.a)?r+=t.f.a/2:r+=t.f.b/2),n&&(B5(e.a)?r+=n.f.a/2:r+=n.f.b/2),r}function j4n(e,t,n){var r;r=n,!r&&(r=B4e(new L8,0)),r.Ug(L3t,2),kdt(e.b,t,r.eh(1)),eMn(e,t,r.eh(1)),rIn(t,r.eh(1)),r.Vg()}function b8e(e,t,n){var r,a;return r=(rb(),a=new AS,a),dV(r,t),fV(r,n),e&&qr((!e.a&&(e.a=new Ys(qh,e,5)),e.a),r),r}function jce(e){var t;return e.Db&64?g0(e):(t=new Af(g0(e)),t.a+=" (identifier: ",Xo(t,e.k),t.a+=")",t.a)}function $ce(e,t){var n;n=(e.Bb&eu)!=0,t?e.Bb|=eu:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,18,n,t))}function m8e(e,t){var n;n=(e.Bb&eu)!=0,t?e.Bb|=eu:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,18,n,t))}function IE(e,t){var n;n=(e.Bb&_d)!=0,t?e.Bb|=_d:e.Bb&=-16385,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,16,n,t))}function v8e(e,t){var n;n=(e.Bb&Io)!=0,t?e.Bb|=Io:e.Bb&=-65537,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,20,n,t))}function w8e(e){var t;return t=We(kf,Ad,28,2,15,1),e-=Io,t[0]=(e>>10)+AP&Zs,t[1]=(e&1023)+56320&Zs,If(t,0,t.length)}function $4n(e){var t;return t=jy(e),t>34028234663852886e22?gs:t<-34028234663852886e22?ia:t}function bo(e,t){var n;return wc(e)&&wc(t)&&(n=e+t,_P"+Bm(t.c):"e_"+es(t),e.b&&e.c?Bm(e.b)+"->"+Bm(e.c):"e_"+es(e))}function H4n(e,t){return vn(t.b&&t.c?Bm(t.b)+"->"+Bm(t.c):"e_"+es(t),e.b&&e.c?Bm(e.b)+"->"+Bm(e.c):"e_"+es(e))}function Fw(e,t){return A1(),f0(Ab),b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)?0:et?1:uw(isNaN(e),isNaN(t))}function ip(){ip=U,Hge=new xq(cL,0),JB=new xq("POLYLINE",1),iC=new xq("ORTHOGONAL",2),s9=new xq("SPLINES",3)}function qV(){qV=U,YIe=new Rse("ASPECT_RATIO_DRIVEN",0),uge=new Rse("MAX_SCALE_DRIVEN",1),WIe=new Rse("AREA_DRIVEN",2)}function V4n(e,t,n){var r;try{dyn(e,t,n)}catch(a){throw a=bs(a),De(a,606)?(r=a,ue(new w6e(r))):ue(a)}return t}function U4n(e){var t,n,r;for(n=0,r=e.length;nt&&r.Ne(e[o-1],e[o])>0;--o)f=e[o],Ts(e,o,e[o-1]),Ts(e,o-1,f)}function sn(e,t){var n,r,a,o,f;if(n=t.f,h2(e.c.d,n,t),t.g!=null)for(a=t.g,o=0,f=a.length;ot){pct(n);break}}zO(n,t)}function Y4n(e,t){var n,r,a;r=G5(t),a=ze(Ge(Py(r,(Nt(),x0)))),n=b.Math.max(0,a/2-.5),FA(t,n,1),vt(e,new Net(t,n))}function X4n(e,t,n){var r;n.Ug("Straight Line Edge Routing",1),n.dh(t,yCe),r=l(at(t,(H5(),Y6)),27),rvt(e,r),n.dh(t,OG)}function y8e(e,t){e.n.c.length==0&&vt(e.n,new PH(e.s,e.t,e.i)),vt(e.b,t),exe(l(jt(e.n,e.n.c.length-1),209),t),jmt(e,t)}function LA(e){var t;this.a=(t=l(e.e&&e.e(),9),new Zh(t,l(c0(t,t.length),9),0)),this.b=We(wa,Rn,1,this.a.a.length,5,1)}function xc(e){var t;return Array.isArray(e)&&e.Tm===xe?_m(bh(e))+"@"+(t=es(e)>>>0,t.toString(16)):e.toString()}function Q4n(e,t){return e.h==SP&&e.m==0&&e.l==0?(t&&(Nb=qu(0,0,0)),ent((iE(),YSe))):(t&&(Nb=qu(e.l,e.m,e.h)),qu(0,0,0))}function J4n(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function x1t(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function x8e(e,t,n,r){switch(t){case 3:return e.f;case 4:return e.g;case 5:return e.i;case 6:return e.j}return d8e(e,t,n,r)}function HV(e,t){if(t==e.d)return e.e;if(t==e.e)return e.d;throw ue(new Yn("Node "+t+" not part of edge "+e))}function Z4n(e,t){var n;if(n=oP(e.Dh(),t),De(n,102))return l(n,19);throw ue(new Yn(Ob+t+"' is not a valid reference"))}function uf(e,t,n,r){if(t<0)$9e(e,n,r);else{if(!n.rk())throw ue(new Yn(Ob+n.xe()+kL));l(n,69).wk().Ck(e,e.hi(),t,r)}}function Ql(e){var t;if(e.b){if(Ql(e.b),e.b.d!=e.c)throw ue(new Xh)}else e.d.dc()&&(t=l(e.f.c.xc(e.e),16),t&&(e.d=t))}function e5n(e){py();var t,n,r,a;for(t=e.o.b,r=l(l($i(e.r,(Ct(),Dr)),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a=n.e,a.b+=t}function t5n(e){var t,n,r;for(this.a=new bd,r=new G(e);r.a=a)return t.c+n;return t.c+t.b.gc()}function r5n(e,t){Fk();var n,r,a,o;for(r=Olt(e),a=t,nE(r,0,r.length,a),n=0;n0&&(r+=a,++n);return n>1&&(r+=e.d*(n-1)),r}function s5n(e){var t,n,r,a,o;return o=jxe(e),n=ZI(e.c),r=!n,r&&(a=new $p,e1(o,"knownLayouters",a),t=new uQe(a),to(e.c,t)),o}function T8e(e){var t,n,r;for(r=new Up,r.a+="[",t=0,n=e.gc();t0&&(Xn(t-1,e.length),e.charCodeAt(t-1)==58)&&!Hce(e,$M,zM))}function C8e(e,t){var n;return qe(e)===qe(t)?!0:De(t,92)?(n=l(t,92),e.e==n.e&&e.d==n.d&&Imn(e,n.a)):!1}function gx(e){switch(Ct(),e.g){case 4:return Qn;case 1:return ar;case 3:return Dr;case 2:return er;default:return Pc}}function u5n(e){var t,n;if(e.b)return e.b;for(n=G1?null:e.d;n;){if(t=G1?null:n.b,t)return t;n=G1?null:n.d}return Dk(),w_e}function S8e(e){var t,n,r;for(r=ze(Ge(e.a.of((pi(),iY)))),n=new G(e.a.Sf());n.a>5,t=e&31,r=We(Vr,di,28,n+1,15,1),r[n]=1<3;)a*=10,--o;e=(e+(a>>1))/a|0}return r.i=e,!0}function ms(e,t){var n,r,a;if(n=(e.i==null&&Sd(e),e.i),r=t.Lj(),r!=-1){for(a=n.length;r=0;--r)for(t=n[r],a=0;a>1,this.k=t-1>>1}function T5n(e){ZH(),l(e.of((pi(),Ub)),181).Hc((Zl(),hY))&&(l(e.of(S4),181).Fc((Rl(),a9)),l(e.of(Ub),181).Mc(hY))}function A1t(e){var t,n;t=e.d==(yx(),IT),n=Lxe(e),t&&!n||!t&&n?rt(e.a,(Nt(),Rd),(og(),VB)):rt(e.a,(Nt(),Rd),(og(),HB))}function Gce(){Gce=U,tq(),TW=(Nt(),m3),Qkt=O1(he(le(Cge,1),oCe,149,0,[SB,x0,H6,b3,y4,cde,GT,KT,ude,tM,q6,vv,V6]))}function C5n(e,t){var n;return n=l(yc(e,Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),n.Qc(Yit(n.gc()))}function L1t(e,t){var n,r;if(r=new ba(e.a.ad(t,!0)),r.a.gc()<=1)throw ue(new S8);return n=r.a.ec().Kc(),n.Pb(),l(n.Pb(),40)}function S5n(e,t,n){var r,a;return r=ze(e.p[t.i.p])+ze(e.d[t.i.p])+t.n.b+t.a.b,a=ze(e.p[n.i.p])+ze(e.d[n.i.p])+n.n.b+n.a.b,a-r}function O8e(e,t){var n;return e.i>0&&(t.lengthe.i&&Ts(t,e.i,null),t}function UV(e){var t;return e.Db&64?CA(e):(t=new Af(CA(e)),t.a+=" (instanceClassName: ",Xo(t,e.D),t.a+=")",t.a)}function GV(e){var t,n,r,a;for(a=0,n=0,r=e.length;n0?(e._j(),r=t==null?0:es(t),a=(r&Ii)%e.d.length,n=j2t(e,a,r,t),n!=-1):!1}function M1t(e,t){var n,r;e.a=bo(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d+=t,n=t-e.f,r=e.e+n,e.f=r-e.e-n,e.e=r}function N8e(e,t){switch(t){case 3:Mw(e,0);return;case 4:Dw(e,0);return;case 5:Uu(e,0);return;case 6:Gu(e,0);return}i8e(e,t)}function Rw(e,t){switch(t.g){case 1:return G8(e.j,(kl(),xAe));case 2:return G8(e.j,(kl(),EAe));default:return Cn(),Cn(),_o}}function P8e(e){ww();var t;switch(t=e.Pc(),t.length){case 0:return x0e;case 1:return new Sae(Xr(t[0]));default:return new ooe(U4n(t))}}function D1t(e,t){e.Xj();try{e.d.bd(e.e++,t),e.f=e.d.j,e.g=-1}catch(n){throw n=bs(n),De(n,77)?ue(new Xh):ue(n)}}function Wce(){Wce=U,ipe=new NS,MPe=new H0,DPe=new AI,IPe=new LI,OPe=new f8,NPe=new tre,PPe=new nre,BPe=new rre,FPe=new ire}function KV(e,t){iye();var n,r;return n=MO((zz(),zz(),NL)),r=null,t==n&&(r=l(xu(KSe,e),624)),r||(r=new Xst(e),t==n&&rc(KSe,e,r)),r}function I1t(e){By();var t;return(e.q?e.q:(Cn(),Cn(),mg))._b((Nt(),g3))?t=l(Q(e,g3),203):t=l(Q(eo(e),eM),203),t}function Py(e,t){var n,r;return r=null,ns(e,(Nt(),kW))&&(n=l(Q(e,kW),96),n.pf(t)&&(r=n.of(t))),r==null&&(r=Q(eo(e),t)),r}function O1t(e,t){var n,r,a;return De(t,44)?(n=l(t,44),r=n.ld(),a=Oy(e.Rc(),r),yd(a,n.md())&&(a!=null||e.Rc()._b(r))):!1}function n1(e,t){var n,r,a;return e.f>0&&(e._j(),r=t==null?0:es(t),a=(r&Ii)%e.d.length,n=y9e(e,a,r,t),n)?n.md():null}function Ru(e,t,n){var r,a,o;return e.Pj()?(r=e.i,o=e.Qj(),IN(e,r,t),a=e.Ij(3,null,t,r,o),n?n.nj(a):n=a):IN(e,e.i,t),n}function A5n(e,t,n){var r,a;return r=new Zg(e.e,4,10,(a=t.c,De(a,90)?l(a,29):(Tn(),Kf)),null,f2(e,t),!1),n?n.nj(r):n=r,n}function L5n(e,t,n){var r,a;return r=new Zg(e.e,3,10,null,(a=t.c,De(a,90)?l(a,29):(Tn(),Kf)),f2(e,t),!1),n?n.nj(r):n=r,n}function N1t(e){py();var t;return t=new Eo(l(e.e.of((pi(),i7)),8)),e.B.Hc((Zl(),aC))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function kb(e){Cd();var t,n;return n=Yr(e),t=Yr(ub(e,32)),t!=0?new qot(n,t):n>10||n<0?new Qg(1,n):y6t[n]}function RN(e,t){var n;return wc(e)&&wc(t)&&(n=e%t,_P=0?o=o.a[1]:(a=o,o=o.a[0])}return a}function $N(e,t,n){var r,a,o;for(a=null,o=e.b;o;){if(r=e.a.Ne(t,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(a=o,o=o.a[1])}return a}function P5n(e,t,n,r){var a,o,f;return a=!1,RMn(e.f,n,r)&&(r6n(e.f,e.a[t][n],e.a[t][r]),o=e.a[t],f=o[r],o[r]=o[n],o[n]=f,a=!0),a}function R1t(e,t,n){var r,a,o,f;for(a=l(cr(e.b,n),183),r=0,f=new G(t.j);f.a>5,t&=31,a=e.d+n+(t==0?0:1),r=We(Vr,di,28,a,15,1),Oxn(r,e.a,n,t),o=new Im(e.e,a,r),iA(o),o}function B5n(e,t){var n,r,a;for(r=new hr(dr(qs(e).a.Kc(),new j));jr(r);)if(n=l(xr(r),18),a=n.d.i,a.c==t)return!1;return!0}function R8e(e,t,n){var r,a,o,f,g;return f=e.k,g=t.k,r=n[f.g][g.g],a=Ge(Py(e,r)),o=Ge(Py(t,r)),b.Math.max((nr(a),a),(nr(o),o))}function F5n(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function R5n(e,t){return A1(),A1(),f0(Ab),(b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)?0:et?1:uw(isNaN(e),isNaN(t)))>0}function j8e(e,t){return A1(),A1(),f0(Ab),(b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)?0:et?1:uw(isNaN(e),isNaN(t)))<0}function $1t(e,t){return A1(),A1(),f0(Ab),(b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)?0:et?1:uw(isNaN(e),isNaN(t)))<=0}function Xce(e,t){for(var n=0;!t[n]||t[n]=="";)n++;for(var r=t[n++];n0&&this.b>0&&(this.g=aH(this.c,this.b,this.a))}function j5n(e,t){var n=e.a,r;t=String(t),n.hasOwnProperty(t)&&(r=n[t]);var a=(vce(),_0e)[typeof r],o=a?a(r):Z7e(typeof r);return o}function NE(e){var t,n,r;if(r=null,t=Pd in e.a,n=!t,n)throw ue(new dd("Every element must have an id."));return r=xx(Wg(e,Pd)),r}function jw(e){var t,n;for(n=fpt(e),t=null;e.c==2;)Li(e),t||(t=(Di(),Di(),new B_(2)),Qm(t,n),n=t),n.Jm(fpt(e));return n}function YV(e,t){var n,r,a;return e._j(),r=t==null?0:es(t),a=(r&Ii)%e.d.length,n=y9e(e,a,r,t),n?(Wht(e,n),n.md()):null}function K1t(e,t){return e.e>t.e?1:e.et.d?e.e:e.d=48&&e<48+b.Math.min(10,10)?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function $5n(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw ue(new Yn("Input edge is not connected to the input port."))}function z5n(e){if(QV(wT,e))return Hn(),ST;if(QV(Ffe,e))return Hn(),Pb;throw ue(new Yn("Expecting true or false"))}function q8e(e){switch(typeof e){case Ile:return s2(e);case Qke:return j8(e);case Cx:return Art(e);default:return e==null?0:fw(e)}}function Td(e,t){if(e.a<0)throw ue(new nc("Did not call before(...) or after(...) before calling add(...)."));return Bye(e,e.a,t),e}function H8e(e){return BH(),De(e,162)?l(cr(lF,C6t),295).Rg(e):Hu(lF,bh(e))?l(cr(lF,bh(e)),295).Rg(e):null}function Ku(e){var t,n;return e.Db&32||(n=(t=l(Kn(e,16),29),yr(t||e.ii())-yr(e.ii())),n!=0&&px(e,32,We(wa,Rn,1,n,5,1))),e}function px(e,t,n){var r;e.Db&t?n==null?TEn(e,t):(r=mue(e,t),r==-1?e.Eb=n:Ts(jm(e.Eb),r,n)):n!=null&&KCn(e,t,n)}function q5n(e,t,n,r){var a,o;t.c.length!=0&&(a=FTn(n,r),o=Rkn(t),Is(lV(new bn(null,new kn(o,1)),new a8),new Cat(e,n,a,r)))}function H5n(e,t){var n,r,a,o;return r=e.a.length-1,n=t-e.b&r,o=e.c-t&r,a=e.c-e.b&r,Ert(n=o?(zyn(e,t),-1):($yn(e,t),1)}function XV(e){var t,n,r;if(r=e.Jh(),!r)for(t=0,n=e.Ph();n;n=n.Ph()){if(++t>ohe)return n.Qh();if(r=n.Jh(),r||n==e)break}return r}function Y1t(e,t){var n;return qe(t)===qe(e)?!0:!De(t,21)||(n=l(t,21),n.gc()!=e.gc())?!1:e.Ic(n)}function V5n(e,t){return e.et.e?1:e.ft.f?1:es(e)-es(t)}function QV(e,t){return nr(e),t==null?!1:vn(e,t)?!0:e.length==t.length&&vn(e.toLowerCase(),t.toLowerCase())}function ap(e){var t,n;return iu(e,-129)>0&&iu(e,128)<0?(Zit(),t=Yr(e)+128,n=n_e[t],!n&&(n=n_e[t]=new Or(e)),n):new Or(e)}function Km(){Km=U,c4=new dq(Id,0),bAe=new dq("INSIDE_PORT_SIDE_GROUPS",1),o1e=new dq("GROUP_MODEL_ORDER",2),c1e=new dq($Ee,3)}function U5n(e){var t;return e.b||Run(e,(t=Ffn(e.e,e.a),!t||!vn(Ffe,n1((!t.b&&(t.b=new dh((Tn(),No),Yc,t)),t.b),"qualified")))),e.c}function G5n(e,t){var n,r;for(n=(Xn(t,e.length),e.charCodeAt(t)),r=t+1;r2e3&&(l6t=e,oK=b.setTimeout(Hun,10))),aK++==0?(swn((Xwe(),GSe)),!0):!1}function a6n(e,t,n){var r;(I6t?(u5n(e),!0):O6t||P6t?(Dk(),!0):N6t&&(Dk(),!1))&&(r=new fit(t),r.b=n,g9n(e,r))}function Jce(e,t){var n;n=!e.A.Hc((mh(),Cv))||e.q==(Ra(),Mu),e.u.Hc((Rl(),vp))?n?YDn(e,t):Vvt(e,t):e.u.Hc(Yb)&&(n?pDn(e,t):swt(e,t))}function tdt(e){var t;qe(at(e,(pi(),n7)))===qe((rp(),oY))&&(ds(e)?(t=l(at(ds(e),n7),346),Hi(e,n7,t)):Hi(e,n7,DM))}function o6n(e){var t,n;return ns(e.d.i,(Nt(),HT))?(t=l(Q(e.c.i,HT),17),n=l(Q(e.d.i,HT),17),ru(t.a,n.a)>0):!1}function ndt(e,t,n){return new ef(b.Math.min(e.a,t.a)-n/2,b.Math.min(e.b,t.b)-n/2,b.Math.abs(e.a-t.a)+n,b.Math.abs(e.b-t.b)+n)}function rdt(e){var t;this.d=new bt,this.j=new qa,this.g=new qa,t=e.g.b,this.f=l(Q(eo(t),(Nt(),Rh)),88),this.e=ze(Ge(tU(t,y4)))}function idt(e){this.d=new bt,this.e=new e2,this.c=We(Vr,di,28,(Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])).length,15,1),this.b=e}function G8e(e,t,n){var r;switch(r=n[e.g][t],e.g){case 1:case 3:return new lt(0,r);case 2:case 4:return new lt(r,0);default:return null}}function sdt(e,t,n){var r,a;a=l(GO(t.f),205);try{a.rf(e,n),lat(t.f,a)}catch(o){throw o=bs(o),De(o,103)?(r=o,ue(r)):ue(o)}}function adt(e,t,n){var r,a,o,f,g,w;return r=null,g=Fke(hE(),t),o=null,g&&(a=null,w=Pke(g,n),f=null,w!=null&&(f=e.qf(g,w)),a=f,o=a),r=o,r}function Zce(e,t,n,r){var a;if(a=e.length,t>=a)return a;for(t=t>0?t:0;tr&&Ts(t,r,null),t}function odt(e,t){var n,r;for(r=e.a.length,t.lengthr&&Ts(t,r,null),t}function PE(e,t){var n,r;if(++e.j,t!=null&&(n=(r=e.a.Cb,De(r,99)?l(r,99).th():null),fEn(t,n))){px(e.a,4,n);return}px(e.a,4,l(t,129))}function c6n(e){var t;if(e==null)return null;if(t=dTn(Tu(e,!0)),t==null)throw ue(new Jie("Invalid hexBinary value: '"+e+"'"));return t}function JV(e,t,n){var r;t.a.length>0&&(vt(e.b,new Ait(t.a,n)),r=t.a.length,0r&&(t.a+=Mnt(We(kf,Ad,28,-r,15,1))))}function cdt(e,t,n){var r,a,o;if(!n[t.d])for(n[t.d]=!0,a=new G(Z5(t));a.a=e.b>>1)for(r=e.c,n=e.b;n>t;--n)r=r.b;else for(r=e.a.a,n=0;n=0?e.Wh(a):que(e,r)):n<0?que(e,r):l(r,69).wk().Bk(e,e.hi(),n)}function fdt(e){var t,n,r;for(r=(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),e.o),n=r.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),44),t.md();return iN(r)}function It(e){var t;if(De(e.a,4)){if(t=H8e(e.a),t==null)throw ue(new nc(Nyt+e.b+"'. "+Oyt+(Gg(hF),hF.k)+JCe));return t}else return e.a}function b6n(e,t){var n,r;if(e.j.length!=t.j.length)return!1;for(n=0,r=e.j.length;n=64&&t<128&&(a=Q0(a,l0(1,t-64)));return a}function tU(e,t){var n,r;return r=null,ns(e,(pi(),r9))&&(n=l(Q(e,r9),96),n.pf(t)&&(r=n.of(t))),r==null&&eo(e)&&(r=Q(eo(e),t)),r}function m6n(e,t){var n;return n=l(Q(e,(Nt(),cc)),75),Zse(t,O8t)?n?Ch(n):(n=new bl,rt(e,cc,n)):n&&rt(e,cc,null),n}function IA(){IA=U,X_e=(pi(),_Ne),W0e=oNe,I7t=Z6,Y_e=_2,B7t=(dU(),A_e),P7t=S_e,F7t=M_e,N7t=C_e,O7t=(Lce(),G_e),K0e=L7t,W_e=M7t,vK=D7t}function nU(e){switch(w3e(),this.c=new bt,this.d=e,e.g){case 0:case 2:this.a=_5e(pAe),this.b=gs;break;case 3:case 1:this.a=pAe,this.b=ia}}function v6n(e){var t;U8(l(Q(e,(Nt(),Ms)),101))&&(t=e.b,e2t((Sn(0,t.c.length),l(t.c[0],30))),e2t(l(jt(t,t.c.length-1),30)))}function w6n(e,t){t.Ug("Self-Loop post-processing",1),Is(Fi(Fi(Dc(new bn(null,new kn(e.b,16)),new RZ),new jZ),new $Z),new Ej),t.Vg()}function ddt(e,t,n){var r,a;if(e.c)Uu(e.c,e.c.i+t),Gu(e.c,e.c.j+n);else for(a=new G(e.b);a.a=0&&(n.d=e.t);break;case 3:e.t>=0&&(n.a=e.t)}e.C&&(n.b=e.C.b,n.c=e.C.c)}function OA(){OA=U,vDe=new hO(cCe,0),vde=new hO($he,1),wde=new hO("LINEAR_SEGMENTS",2),rM=new hO("BRANDES_KOEPF",3),iM=new hO(cyt,4)}function NA(){NA=U,uB=new hq(nG,0),bK=new hq(yhe,1),mK=new hq(xhe,2),lB=new hq(khe,3),uB.a=!1,bK.a=!0,mK.a=!1,lB.a=!0}function bx(){bx=U,aB=new lq(nG,0),sB=new lq(yhe,1),oB=new lq(xhe,2),cB=new lq(khe,3),aB.a=!1,sB.a=!0,oB.a=!1,cB.a=!0}function mx(e,t,n,r){var a;return n>=0?e.Sh(t,n,r):(e.Ph()&&(r=(a=e.Fh(),a>=0?e.Ah(r):e.Ph().Th(e,-1-a,null,r))),e.Ch(t,n,r))}function K8e(e,t){switch(t){case 7:!e.e&&(e.e=new Ln(js,e,7,4)),$r(e.e);return;case 8:!e.d&&(e.d=new Ln(js,e,8,5)),$r(e.d);return}N8e(e,t)}function Hi(e,t,n){return n==null?(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),YV(e.o,t)):(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),GN(e.o,t,n)),e}function mdt(e,t){Cn();var n,r,a,o;for(n=e,o=t,De(e,21)&&!De(t,21)&&(n=t,o=e),a=n.Kc();a.Ob();)if(r=a.Pb(),o.Hc(r))return!1;return!0}function T6n(e,t,n,r){if(t.an.b)return!0}return!1}function iue(e,t){return Ia(e)?!!r6t[t]:e.Sm?!!e.Sm[t]:fy(e)?!!n6t[t]:hy(e)?!!t6t[t]:!1}function C6n(e){var t;t=e.a;do t=l(xr(new hr(dr(ka(t).a.Kc(),new j))),18).c.i,t.k==(Zn(),Aa)&&e.b.Fc(t);while(t.k==(Zn(),Aa));e.b=lf(e.b)}function vdt(e,t){var n,r,a;for(a=e,r=new hr(dr(ka(t).a.Kc(),new j));jr(r);)n=l(xr(r),18),n.c.i.c&&(a=b.Math.max(a,n.c.i.c.p));return a}function S6n(e,t){var n,r,a;for(a=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a+=n.d.d+n.b.Mf().b+n.d.a,r.Ob()&&(a+=e.w);return a}function _6n(e,t){var n,r,a;for(a=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a+=n.d.b+n.b.Mf().a+n.d.c,r.Ob()&&(a+=e.w);return a}function wdt(e){var t,n,r,a;if(r=0,a=Hy(e),a.c.length==0)return 1;for(n=new G(a);n.a=0?e.Lh(f,n,!0):Hw(e,o,n)):l(o,69).wk().yk(e,e.hi(),a,n,r)}function D6n(e,t,n,r){var a,o;o=t.pf((pi(),r7))?l(t.of(r7),21):e.j,a=p4n(o),a!=(YU(),H0e)&&(n&&!$8e(a)||Jxe(gTn(e,a,r),t))}function I6n(e){switch(e.g){case 1:return Pw(),iB;case 3:return Pw(),rB;case 2:return Pw(),U0e;case 4:return Pw(),V0e;default:return null}}function O6n(e,t,n){if(e.e)switch(e.b){case 1:Epn(e.c,t,n);break;case 0:Tpn(e.c,t,n)}else $ct(e.c,t,n);e.a[t.p][n.p]=e.c.i,e.a[n.p][t.p]=e.c.e}function ydt(e){var t,n;if(e==null)return null;for(n=We(wg,dt,199,e.length,0,2),t=0;t=0)return a;if(e.ol()){for(r=0;r=a)throw ue(new my(t,a));if(e.Si()&&(r=e.dd(n),r>=0&&r!=t))throw ue(new Yn(WP));return e.Xi(t,n)}function W8e(e,t){if(this.a=l(Xr(e),253),this.b=l(Xr(t),253),e.Ed(t)>0||e==(Uie(),w0e)||t==(Gie(),y0e))throw ue(new Yn("Invalid range: "+Hct(e,t)))}function xdt(e){var t,n;for(this.b=new bt,this.c=e,this.a=!1,n=new G(e.a);n.a0),(t&-t)==t)return ua(t*Jl(e,31)*4656612873077393e-25);do n=Jl(e,31),r=n%t;while(n-r+(t-1)<0);return ua(r)}function j6n(e,t,n){switch(n.g){case 1:e.a=t.a/2,e.b=0;break;case 2:e.a=t.a,e.b=t.b/2;break;case 3:e.a=t.a/2,e.b=t.b;break;case 4:e.a=0,e.b=t.b/2}}function zN(e,t,n,r){var a,o;for(a=t;a1&&(o=P6n(e,t)),o}function Tdt(e){var t;return t=ze(Ge(at(e,(pi(),QB))))*b.Math.sqrt((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a).i),new lt(t,t/ze(Ge(at(e,sY))))}function aue(e){var t;return e.f&&e.f.Vh()&&(t=l(e.f,54),e.f=l(yb(e,t),84),e.f!=t&&e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,9,8,t,e.f))),e.f}function oue(e){var t;return e.i&&e.i.Vh()&&(t=l(e.i,54),e.i=l(yb(e,t),84),e.i!=t&&e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,9,7,t,e.i))),e.i}function Ro(e){var t;return e.b&&e.b.Db&64&&(t=e.b,e.b=l(yb(e,t),19),e.b!=t&&e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,9,21,t,e.b))),e.b}function oU(e,t){var n,r,a;e.d==null?(++e.e,++e.f):(r=t.Bi(),cCn(e,e.f+1),a=(r&Ii)%e.d.length,n=e.d[a],!n&&(n=e.d[a]=e.dk()),n.Fc(t),++e.f)}function Q8e(e,t,n){var r;return t.tk()?!1:t.Ik()!=-2?(r=t.ik(),r==null?n==null:Pi(r,n)):t.qk()==e.e.Dh()&&n==null}function cU(){var e;Mh(16,Pwt),e=cft(16),this.b=We(k0e,TP,303,e,0,1),this.c=We(k0e,TP,303,e,0,1),this.a=null,this.e=null,this.i=0,this.f=e-1,this.g=0}function op(e){r4e.call(this),this.k=(Zn(),Ps),this.j=(Mh(6,Yy),new Bu(6)),this.b=(Mh(2,Yy),new Bu(2)),this.d=new $ie,this.f=new Rwe,this.a=e}function z6n(e){var t,n;e.c.length<=1||(t=Abt(e,(Ct(),Dr)),ppt(e,l(t.a,17).a,l(t.b,17).a),n=Abt(e,er),ppt(e,l(n.a,17).a,l(n.b,17).a))}function q6n(e,t,n){var r,a;for(a=e.a.b,r=a.c.length;r102?-1:e<=57?e-48:e<65?-1:e<=70?e-65+10:e<97?-1:e-97+10}function fue(e,t){if(e==null)throw ue(new D8("null key in entry: null="+t));if(t==null)throw ue(new D8("null value in entry: "+e+"=null"))}function U6n(e,t){for(var n,r;e.Ob();)if(!t.Ob()||(n=e.Pb(),r=t.Pb(),!(qe(n)===qe(r)||n!=null&&Pi(n,r))))return!1;return!t.Ob()}function _dt(e,t){var n;return n=he(le(Na,1),Zo,28,15,[Dce(e.a[0],t),Dce(e.a[1],t),Dce(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Adt(e,t){var n;return n=he(le(Na,1),Zo,28,15,[BV(e.a[0],t),BV(e.a[1],t),BV(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Z8e(e,t,n){U8(l(Q(t,(Nt(),Ms)),101))||(d6e(e,t,d2(t,n)),d6e(e,t,d2(t,(Ct(),Dr))),d6e(e,t,d2(t,Qn)),Cn(),Vs(t.j,new IYe(e)))}function Ldt(e){var t,n;for(e.c||lMn(e),n=new bl,t=new G(e.a),re(t);t.a0&&(Xn(0,t.length),t.charCodeAt(0)==43)?(Xn(1,t.length+1),t.substr(1)):t))}function s7n(e){var t;return e==null?null:new ob((t=Tu(e,!0),t.length>0&&(Xn(0,t.length),t.charCodeAt(0)==43)?(Xn(1,t.length+1),t.substr(1)):t))}function txe(e,t,n,r,a,o,f,g){var w,E;r&&(w=r.a[0],w&&txe(e,t,n,w,a,o,f,g),xue(e,n,r.d,a,o,f,g)&&t.Fc(r),E=r.a[1],E&&txe(e,t,n,E,a,o,f,g))}function r6(e,t,n){try{return cw(nce(e,t,n),1)}catch(r){throw r=bs(r),De(r,333)?ue(new tc(Ehe+e.o+"*"+e.p+The+t+Co+n+Che)):ue(r)}}function Ndt(e,t,n){try{return cw(nce(e,t,n),0)}catch(r){throw r=bs(r),De(r,333)?ue(new tc(Ehe+e.o+"*"+e.p+The+t+Co+n+Che)):ue(r)}}function Pdt(e,t,n){try{return cw(nce(e,t,n),2)}catch(r){throw r=bs(r),De(r,333)?ue(new tc(Ehe+e.o+"*"+e.p+The+t+Co+n+Che)):ue(r)}}function Bdt(e,t){if(e.g==-1)throw ue(new pl);e.Xj();try{e.d.hd(e.g,t),e.f=e.d.j}catch(n){throw n=bs(n),De(n,77)?ue(new Xh):ue(n)}}function a7n(e){var t,n,r,a,o;for(r=new G(e.b);r.ao&&Ts(t,o,null),t}function o7n(e,t){var n,r;if(r=e.gc(),t==null){for(n=0;n0&&(w+=a),E[C]=f,f+=g*(w+r)}function Rdt(e){var t,n,r;for(r=e.f,e.n=We(Na,Zo,28,r,15,1),e.d=We(Na,Zo,28,r,15,1),t=0;t0?e.c:0),++a;e.b=r,e.d=o}function Hdt(e,t){var n;return n=he(le(Na,1),Zo,28,15,[X8e(e,(t1(),Gc),t),X8e(e,$u,t),X8e(e,Kc,t)]),e.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function p7n(e,t,n){var r;try{FU(e,t+e.j,n+e.k,!1,!0)}catch(a){throw a=bs(a),De(a,77)?(r=a,ue(new tc(r.g+iG+t+Co+n+")."))):ue(a)}}function b7n(e,t,n){var r;try{FU(e,t+e.j,n+e.k,!0,!1)}catch(a){throw a=bs(a),De(a,77)?(r=a,ue(new tc(r.g+iG+t+Co+n+")."))):ue(a)}}function Vdt(e){var t;ns(e,(Nt(),d3))&&(t=l(Q(e,d3),21),t.Hc((qy(),E0))?(t.Mc(E0),t.Fc(T0)):t.Hc(T0)&&(t.Mc(T0),t.Fc(E0)))}function Udt(e){var t;ns(e,(Nt(),d3))&&(t=l(Q(e,d3),21),t.Hc((qy(),S0))?(t.Mc(S0),t.Fc(qf)):t.Hc(qf)&&(t.Mc(qf),t.Fc(S0)))}function vue(e,t,n,r){var a,o,f,g;return e.a==null&&v9n(e,t),f=t.b.j.c.length,o=n.d.p,g=r.d.p,a=g-1,a<0&&(a=f-1),o<=a?e.a[a]-e.a[o]:e.a[f-1]-e.a[o]+e.a[a]}function m7n(e){var t,n;if(!e.b)for(e.b=$H(l(e.f,27).kh().i),n=new or(l(e.f,27).kh());n.e!=n.i.gc();)t=l(gr(n),135),vt(e.b,new Yie(t));return e.b}function v7n(e){var t,n;if(!e.e)for(e.e=$H(Xae(l(e.f,27)).i),n=new or(Xae(l(e.f,27)));n.e!=n.i.gc();)t=l(gr(n),123),vt(e.e,new BXe(t));return e.e}function Gdt(e){var t,n;if(!e.a)for(e.a=$H(AH(l(e.f,27)).i),n=new or(AH(l(e.f,27)));n.e!=n.i.gc();)t=l(gr(n),27),vt(e.a,new rae(e,t));return e.a}function zw(e){var t;if(!e.C&&(e.D!=null||e.B!=null))if(t=sDn(e),t)e.hl(t);else try{e.hl(null)}catch(n){if(n=bs(n),!De(n,63))throw ue(n)}return e.C}function w7n(e){switch(e.q.g){case 5:bgt(e,(Ct(),Qn)),bgt(e,Dr);break;case 4:vvt(e,(Ct(),Qn)),vvt(e,Dr);break;default:xpt(e,(Ct(),Qn)),xpt(e,Dr)}}function y7n(e){switch(e.q.g){case 5:mgt(e,(Ct(),ar)),mgt(e,er);break;case 4:wvt(e,(Ct(),ar)),wvt(e,er);break;default:kpt(e,(Ct(),ar)),kpt(e,er)}}function i6(e,t){var n,r,a;for(a=new qa,r=e.Kc();r.Ob();)n=l(r.Pb(),36),KE(n,a.a,0),a.a+=n.f.a+t,a.b=b.Math.max(a.b,n.f.b);return a.b>0&&(a.b+=t),a}function hU(e,t){var n,r,a;for(a=new qa,r=e.Kc();r.Ob();)n=l(r.Pb(),36),KE(n,0,a.b),a.b+=n.f.b+t,a.a=b.Math.max(a.a,n.f.a);return a.a>0&&(a.a+=t),a}function Kdt(e){var t,n,r;for(r=Ii,n=new G(e.a);n.a>16==6?e.Cb.Th(e,5,u1,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function x7n(e){Xk();var t=e.e;if(t&&t.stack){var n=t.stack,r=t+` +`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(` +`)}return[]}function k7n(e){var t;return t=(Qht(),p6t),t[e>>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[e&15]<<28}function Xdt(e){var t,n,r;e.b==e.c&&(r=e.a.length,n=P7e(b.Math.max(8,r))<<1,e.b!=0?(t=c0(e.a,n),fft(e,t,r),e.a=t,e.b=0):ay(e.a,n),e.c=r)}function E7n(e,t){var n;return n=e.b,n.pf((pi(),rh))?n.ag()==(Ct(),er)?-n.Mf().a-ze(Ge(n.of(rh))):t+ze(Ge(n.of(rh))):n.ag()==(Ct(),er)?-n.Mf().a:t}function HN(e){var t;return e.b.c.length!=0&&l(jt(e.b,0),72).a?l(jt(e.b,0),72).a:(t=Qae(e),t??""+(e.c?gc(e.c.a,e,0):-1))}function fU(e){var t;return e.f.c.length!=0&&l(jt(e.f,0),72).a?l(jt(e.f,0),72).a:(t=Qae(e),t??""+(e.i?gc(e.i.j,e,0):-1))}function T7n(e,t){var n,r;if(t<0||t>=e.gc())return null;for(n=t;n0?e.c:0),a=b.Math.max(a,t.d),++r;e.e=o,e.b=a}function S7n(e){var t,n;if(!e.b)for(e.b=$H(l(e.f,123).kh().i),n=new or(l(e.f,123).kh());n.e!=n.i.gc();)t=l(gr(n),135),vt(e.b,new Yie(t));return e.b}function _7n(e,t){var n,r,a;if(t.dc())return Fk(),Fk(),fF;for(n=new Ort(e,t.gc()),a=new or(e);a.e!=a.i.gc();)r=gr(a),t.Hc(r)&&qr(n,r);return n}function sxe(e,t,n,r){return t==0?r?(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),e.o):(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),iN(e.o)):rU(e,t,n,r)}function yue(e){var t,n;if(e.rb)for(t=0,n=e.rb.i;t>22),a+=r>>22,a<0)?!1:(e.l=n&eh,e.m=r&eh,e.h=a&hp,!0)}function xue(e,t,n,r,a,o,f){var g,w;return!(t.Te()&&(w=e.a.Ne(n,r),w<0||!a&&w==0)||t.Ue()&&(g=e.a.Ne(n,o),g>0||!f&&g==0))}function D7n(e,t){TE();var n;if(n=e.j.g-t.j.g,n!=0)return 0;switch(e.j.g){case 2:return zce(t,cLe)-zce(e,cLe);case 4:return zce(e,oLe)-zce(t,oLe)}return 0}function I7n(e){switch(e.g){case 0:return D1e;case 1:return I1e;case 2:return O1e;case 3:return N1e;case 4:return QK;case 5:return P1e;default:return null}}function ac(e,t,n){var r,a;return r=(a=new Hie,Gm(a,t),Fu(a,n),qr((!e.c&&(e.c=new nt(k3,e,12,10)),e.c),a),a),i2(r,0),My(r,1),u2(r,!0),c2(r,!0),r}function vx(e,t){var n,r;if(t>=e.i)throw ue(new Vse(t,e.i));return++e.j,n=e.g[t],r=e.i-t-1,r>0&&pu(e.g,t+1,e.g,t,r),Ts(e.g,--e.i,null),e.Qi(t,n),e.Ni(),n}function Qdt(e,t){var n,r;return e.Db>>16==17?e.Cb.Th(e,21,Vf,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function O7n(e){var t,n,r,a;for(Cn(),Vs(e.c,e.a),a=new G(e.c);a.an.a.c.length))throw ue(new Yn("index must be >= 0 and <= layer node count"));e.c&&al(e.c.a,e),e.c=n,n&&pw(n.a,t,e)}function ngt(e,t){var n,r,a;for(r=new hr(dr(sp(e).a.Kc(),new j));jr(r);)return n=l(xr(r),18),a=l(t.Kb(n),10),new JS(Xr(a.n.b+a.o.b/2));return o_(),o_(),v0e}function rgt(e,t){this.c=new Pr,this.a=e,this.b=t,this.d=l(Q(e,(ft(),$6)),312),qe(Q(e,(Nt(),GMe)))===qe((cN(),JK))?this.e=new XQe:this.e=new YQe}function BA(e,t){var n,r;return r=null,e.pf((pi(),r9))&&(n=l(e.of(r9),96),n.pf(t)&&(r=n.of(t))),r==null&&e.Tf()&&(r=e.Tf().of(t)),r==null&&(r=It(t)),r}function kue(e,t){var n,r;n=e.fd(t);try{return r=n.Pb(),n.Qb(),r}catch(a){throw a=bs(a),De(a,112)?ue(new tc("Can't remove element "+t)):ue(a)}}function z7n(e,t){var n,r,a;if(r=new Qz,a=new R7e(r.q.getFullYear()-Lb,r.q.getMonth(),r.q.getDate()),n=JAn(e,t,a),n==0||n0?t:0),++n;return new lt(r,a)}function lxe(e,t){var n,r;return e.Db>>16==6?e.Cb.Th(e,6,js,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),pY)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function hxe(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,1,oF,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),dPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function fxe(e,t){var n,r;return e.Db>>16==9?e.Cb.Th(e,9,Ai,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),pPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function agt(e,t){var n,r;return e.Db>>16==5?e.Cb.Th(e,9,TY,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),D2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function ogt(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,6,u1,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),O2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function dxe(e,t){var n,r;return e.Db>>16==3?e.Cb.Th(e,0,uF,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),M2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function cgt(){this.a=new T$,this.g=new cU,this.j=new cU,this.b=new Pr,this.d=new cU,this.i=new cU,this.k=new Pr,this.c=new Pr,this.e=new Pr,this.f=new Pr}function V7n(e,t,n){var r,a,o;for(n<0&&(n=0),o=e.i,a=n;aohe)return FE(e,r);if(r==e)return!0}}return!1}function G7n(e){switch(zq(),e.q.g){case 5:Vpt(e,(Ct(),Qn)),Vpt(e,Dr);break;case 4:U2t(e,(Ct(),Qn)),U2t(e,Dr);break;default:Wvt(e,(Ct(),Qn)),Wvt(e,Dr)}}function K7n(e){switch(zq(),e.q.g){case 5:u2t(e,(Ct(),ar)),u2t(e,er);break;case 4:gdt(e,(Ct(),ar)),gdt(e,er);break;default:Yvt(e,(Ct(),ar)),Yvt(e,er)}}function W7n(e){var t,n;t=l(Q(e,(b0(),e8t)),17),t?(n=t.a,n==0?rt(e,(bb(),EK),new Uce):rt(e,(bb(),EK),new VH(n))):rt(e,(bb(),EK),new VH(1))}function Y7n(e,t){var n;switch(n=e.i,t.g){case 1:return-(e.n.b+e.o.b);case 2:return e.n.a-n.o.a;case 3:return e.n.b-n.o.b;case 4:return-(e.n.a+e.o.a)}return 0}function X7n(e,t){switch(e.g){case 0:return t==(hf(),$b)?HK:VK;case 1:return t==(hf(),$b)?HK:pB;case 2:return t==(hf(),$b)?pB:VK;default:return pB}}function UN(e,t){var n,r,a;for(al(e.a,t),e.e-=t.r+(e.a.c.length==0?0:e.c),a=xCe,r=new G(e.a);r.a>16==3?e.Cb.Th(e,12,Ai,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),fPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function pxe(e,t){var n,r;return e.Db>>16==11?e.Cb.Th(e,10,Ai,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),gPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function ugt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,11,Vf,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),I2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function lgt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,12,Uf,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),N4)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Of(e){var t;return!(e.Bb&1)&&e.r&&e.r.Vh()&&(t=l(e.r,54),e.r=l(yb(e,t),142),e.r!=t&&e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,9,8,t,e.r))),e.r}function Eue(e,t,n){var r;return r=he(le(Na,1),Zo,28,15,[zxe(e,(t1(),Gc),t,n),zxe(e,$u,t,n),zxe(e,Kc,t,n)]),e.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function Q7n(e,t){var n,r,a;if(a=x6n(e,t),a.c.length!=0)for(Vs(a,new pS),n=a.c.length,r=0;r>19,E=t.h>>19,w!=E?E-w:(a=e.h,g=t.h,a!=g?a-g:(r=e.m,f=t.m,r!=f?r-f:(n=e.l,o=t.l,n-o)))}function dU(){dU=U,D_e=(PU(),z0e),M_e=new pn(pEe,D_e),L_e=(aV(),$0e),A_e=new pn(bEe,L_e),__e=(ZV(),j0e),S_e=new pn(mEe,__e),C_e=new pn(vEe,(Hn(),!0))}function FA(e,t,n){var r,a;r=t*n,De(e.g,154)?(a=ix(e),a.f.d?a.f.a||(e.d.a+=r+H1):(e.d.d-=r+H1,e.d.a+=r+H1)):De(e.g,10)&&(e.d.d-=r,e.d.a+=2*r)}function hgt(e,t,n){var r,a,o,f,g;for(a=e[n.g],g=new G(t.d);g.a0?e.b:0),++n;t.b=r,t.e=a}function fgt(e){var t,n,r;if(r=e.b,tet(e.i,r.length)){for(n=r.length*2,e.b=We(k0e,TP,303,n,0,1),e.c=We(k0e,TP,303,n,0,1),e.f=n-1,e.i=0,t=e.a;t;t=t.c)eP(e,t,t);++e.g}}function i8n(e,t,n,r){var a,o,f,g;for(a=0;af&&(g=f/r),a>o&&(w=o/a),md(e,b.Math.min(g,w)),e}function a8n(){zU();var e,t;try{if(t=l(Sxe((ib(),Gf),xT),2113),t)return t}catch(n){if(n=bs(n),De(n,103))e=n,p5e((Jr(),e));else throw ue(n)}return new ik}function o8n(){zU();var e,t;try{if(t=l(Sxe((ib(),Gf),Ff),2040),t)return t}catch(n){if(n=bs(n),De(n,103))e=n,p5e((Jr(),e));else throw ue(n)}return new d8}function c8n(){klt();var e,t;try{if(t=l(Sxe((ib(),Gf),cv),2122),t)return t}catch(n){if(n=bs(n),De(n,103))e=n,p5e((Jr(),e));else throw ue(n)}return new uk}function u8n(e,t,n){var r,a;return a=e.e,e.e=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,a,t),n?n.nj(r):n=r),a!=t&&(t?n=ZE(e,SU(e,t),n):n=ZE(e,e.a,n)),n}function dgt(){Qz.call(this),this.e=-1,this.a=!1,this.p=lo,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=lo}function l8n(e,t){var n,r,a;if(r=e.b.d.d,e.a||(r+=e.b.d.a),a=t.b.d.d,t.a||(a+=t.b.d.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function h8n(e,t){var n,r,a;if(r=e.b.b.d,e.a||(r+=e.b.b.a),a=t.b.b.d,t.a||(a+=t.b.b.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function f8n(e,t){var n,r,a;if(r=e.b.g.d,e.a||(r+=e.b.g.a),a=t.b.g.d,t.a||(a+=t.b.g.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function mxe(){mxe=U,v8t=yl(fi(fi(fi(new Xs,(uo(),_u),(vo(),KAe)),_u,WAe),mc,YAe),mc,BAe),y8t=fi(fi(new Xs,_u,LAe),_u,FAe),w8t=yl(new Xs,mc,jAe)}function d8n(e){var t,n,r,a,o;for(t=l(Q(e,(ft(),KL)),85),o=e.n,r=t.Cc().Kc();r.Ob();)n=l(r.Pb(),314),a=n.i,a.c+=o.a,a.d+=o.b,n.c?Ibt(n):Obt(n);rt(e,KL,null)}function g8n(e,t,n){var r,a;switch(a=e.b,r=a.d,t.g){case 1:return-r.d-n;case 2:return a.o.a+r.c+n;case 3:return a.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function p8n(e,t,n){var r,a;for(n.Ug("Interactive node placement",1),e.a=l(Q(t,(ft(),$6)),312),a=new G(t.b);a.a0&&(f=(o&Ii)%e.d.length,a=y9e(e,f,o,t),a)?(g=a.nd(n),g):(r=e.ck(o,t,n),e.c.Fc(r),null)}function yxe(e,t){var n,r,a,o;switch(o2(e,t).Kl()){case 3:case 2:{for(n=d6(t),a=0,o=n.i;a=0;r--)if(vn(e[r].d,t)||vn(e[r].d,n)){e.length>=r+1&&e.splice(0,r+1);break}return e}function KN(e,t){var n;return wc(e)&&wc(t)&&(n=e/t,_P0&&(e.b+=2,e.a+=r):(e.b+=1,e.a+=b.Math.min(r,a))}function ygt(e){var t;t=l(Q(l(ff(e.b,0),40),(Hc(),gIe)),107),rt(e,(Qi(),QT),new lt(0,0)),hmt(new nN,e,t.b+t.c-ze(Ge(Q(e,Bde))),t.d+t.a-ze(Ge(Q(e,Fde))))}function xgt(e,t){var n,r;if(r=!1,Ia(t)&&(r=!0,J8(e,new yy(ei(t)))),r||De(t,242)&&(r=!0,J8(e,(n=g4e(l(t,242)),new vk(n)))),!r)throw ue(new Qie(mSe))}function I8n(e,t,n,r){var a,o,f;return a=new Zg(e.e,1,10,(f=t.c,De(f,90)?l(f,29):(Tn(),Kf)),(o=n.c,De(o,90)?l(o,29):(Tn(),Kf)),f2(e,t),!1),r?r.nj(a):r=a,r}function Exe(e){var t,n;switch(l(Q(eo(e),(Nt(),jMe)),429).g){case 0:return t=e.n,n=e.o,new lt(t.a+n.a/2,t.b+n.b/2);case 1:return new Eo(e.n);default:return null}}function WN(){WN=U,ZK=new C_(Id,0),TLe=new C_("LEFTUP",1),SLe=new C_("RIGHTUP",2),ELe=new C_("LEFTDOWN",3),CLe=new C_("RIGHTDOWN",4),B1e=new C_("BALANCED",5)}function O8n(e,t,n){var r,a,o;if(r=Yi(e.a[t.p],e.a[n.p]),r==0){if(a=l(Q(t,(ft(),Wx)),15),o=l(Q(n,Wx),15),a.Hc(n))return-1;if(o.Hc(t))return 1}return r}function N8n(e){switch(e.g){case 1:return new vne;case 2:return new wne;case 3:return new mne;case 0:return null;default:throw ue(new Yn(Efe+(e.f!=null?e.f:""+e.g)))}}function Txe(e,t,n){switch(t){case 1:!e.n&&(e.n=new nt(ec,e,1,7)),$r(e.n),!e.n&&(e.n=new nt(ec,e,1,7)),As(e.n,l(n,16));return;case 2:fE(e,ei(n));return}V7e(e,t,n)}function Cxe(e,t,n){switch(t){case 3:Mw(e,ze(Ge(n)));return;case 4:Dw(e,ze(Ge(n)));return;case 5:Uu(e,ze(Ge(n)));return;case 6:Gu(e,ze(Ge(n)));return}Txe(e,t,n)}function gU(e,t,n){var r,a,o;o=(r=new Hie,r),a=$1(o,t,null),a&&a.oj(),Fu(o,n),qr((!e.c&&(e.c=new nt(k3,e,12,10)),e.c),o),i2(o,0),My(o,1),u2(o,!0),c2(o,!0)}function Sxe(e,t){var n,r,a;return n=y_(e.i,t),De(n,241)?(a=l(n,241),a.zi()==null,a.wi()):De(n,507)?(r=l(n,2037),a=r.b,a):null}function P8n(e,t,n,r){var a,o;return Xr(t),Xr(n),o=l(H_(e.d,t),17),Wlt(!!o,"Row %s not in %s",t,e.e),a=l(H_(e.b,n),17),Wlt(!!a,"Column %s not in %s",n,e.c),s0t(e,o.a,a.a,r)}function kgt(e,t,n,r,a,o,f){var g,w,E,C,L;if(C=a[o],E=o==f-1,g=E?r:0,L=zdt(g,C),r!=10&&he(le(e,f-o),t[o],n[o],g,L),!E)for(++o,w=0;w1||g==-1?(o=l(w,15),a.Wb(v5n(e,o))):a.Wb(cle(e,l(w,58)))))}function q8n(e,t,n,r){MZe();var a=m0e;function o(){for(var f=0;f0)return!1;return!0}function U8n(e){var t,n,r,a,o;for(r=new qm(new Sr(e.b).a);r.b;)n=Nw(r),t=l(n.ld(),10),o=l(l(n.md(),42).a,10),a=l(l(n.md(),42).b,8),Oi(Y0(t.n),Oi(Ja(o.n),a))}function G8n(e){switch(l(Q(e.b,(Nt(),IMe)),387).g){case 1:Is(fc(Dc(new bn(null,new kn(e.d,16)),new dI),new g5),new wee);break;case 2:zSn(e);break;case 0:wkn(e)}}function K8n(e,t,n){var r,a,o;for(r=n,!r&&(r=new L8),r.Ug("Layout",e.a.c.length),o=new G(e.a);o.awfe)return n;a>-1e-6&&++n}return n}function Axe(e,t){var n;t!=e.b?(n=null,e.b&&(n=IH(e.b,e,-4,n)),t&&(n=mx(t,e,-4,n)),n=J0t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,3,t,t))}function Cgt(e,t){var n;t!=e.f?(n=null,e.f&&(n=IH(e.f,e,-1,n)),t&&(n=mx(t,e,-1,n)),n=Q0t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,0,t,t))}function Q8n(e,t,n,r){var a,o,f,g;return hh(e.e)&&(a=t.Lk(),g=t.md(),o=n.md(),f=db(e,1,a,g,o,a.Jk()?XE(e,a,o,De(a,102)&&(l(a,19).Bb&Io)!=0):-1,!0),r?r.nj(f):r=f),r}function Sgt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new Up,t=n.Kc();t.Ob();)Xo(r,(Gi(),ei(t.Pb()))),r.a+=" ";return Gse(r,r.a.length-1)}function _gt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new Up,t=n.Kc();t.Ob();)Xo(r,(Gi(),ei(t.Pb()))),r.a+=" ";return Gse(r,r.a.length-1)}function J8n(e,t,n){var r,a;return r=e.c[t.c.p][t.p],a=e.c[n.c.p][n.p],r.a!=null&&a.a!=null?Nae(r.a,a.a):r.a!=null?-1:a.a!=null?1:0}function Z8n(e,t,n){return n.Ug("Tree layout",1),qO(e.b),X0(e.b,(wx(),NW),NW),X0(e.b,lM,lM),X0(e.b,hM,hM),X0(e.b,fM,fM),e.a=bP(e.b,t),K8n(e,t,n.eh(1)),n.Vg(),t}function exn(e,t){var n,r,a,o,f,g;if(t)for(o=t.a.length,n=new Dm(o),g=(n.b-n.a)*n.c<0?(sb(),tm):new cb(n);g.Ob();)f=l(g.Pb(),17),a=Jk(t,f.a),r=new GXe(e),cpn(r.a,a)}function txn(e,t){var n,r,a,o,f,g;if(t)for(o=t.a.length,n=new Dm(o),g=(n.b-n.a)*n.c<0?(sb(),tm):new cb(n);g.Ob();)f=l(g.Pb(),17),a=Jk(t,f.a),r=new FXe(e),opn(r.a,a)}function nxn(e){var t;if(e!=null&&e.length>0&&co(e,e.length-1)==33)try{return t=P2t(tf(e,0,e.length-1)),t.e==null}catch(n){if(n=bs(n),!De(n,33))throw ue(n)}return!1}function rxn(e,t,n){var r,a,o;switch(r=eo(t),a=zV(r),o=new gu,Mc(o,t),n.g){case 1:la(o,BN(gx(a)));break;case 2:la(o,gx(a))}return rt(o,(Nt(),m4),Ge(Q(e,m4))),o}function Lxe(e){var t,n;return t=l(xr(new hr(dr(ka(e.a).a.Kc(),new j))),18),n=l(xr(new hr(dr(qs(e.a).a.Kc(),new j))),18),Rt(Bt(Q(t,(ft(),W1))))||Rt(Bt(Q(n,W1)))}function Ry(){Ry=U,bB=new cO("ONE_SIDE",0),KK=new cO("TWO_SIDES_CORNER",1),WK=new cO("TWO_SIDES_OPPOSING",2),GK=new cO("THREE_SIDES",3),UK=new cO("FOUR_SIDES",4)}function Agt(e,t){var n,r,a,o;for(o=new bt,a=0,r=t.Kc();r.Ob();){for(n=pt(l(r.Pb(),17).a+a);n.a=e.f)break;$n(o.c,n)}return o}function ixn(e,t){var n,r,a,o,f;for(o=new G(t.a);o.a0&&Jdt(this,this.c-1,(Ct(),ar)),this.c0&&e[0].length>0&&(this.c=Rt(Bt(Q(eo(e[0][0]),(ft(),zLe))))),this.a=We(kEt,dt,2117,e.length,0,2),this.b=We(EEt,dt,2118,e.length,0,2),this.d=new G0t}function uxn(e){return e.c.length==0?!1:(Sn(0,e.c.length),l(e.c[0],18)).c.i.k==(Zn(),Aa)?!0:W5(fc(new bn(null,new kn(e,16)),new Wee),new Yee)}function Dgt(e,t){var n,r,a,o,f,g,w;for(g=Hy(t),o=t.f,w=t.g,f=b.Math.sqrt(o*o+w*w),a=0,r=new G(g);r.a=0?(n=KN(e,JU),r=RN(e,JU)):(t=ub(e,1),n=KN(t,5e8),r=RN(t,5e8),r=bo(l0(r,1),va(e,1))),Q0(l0(r,32),va(n,Vo))}function Ngt(e,t,n){var r,a;switch(r=(mr(t.b!=0),l(af(t,t.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=e.f;break;case 3:r.a=0;break;default:r.a=e.g}return a=Rr(t,0),zO(a,r),t}function Pgt(e,t,n,r){var a,o,f,g,w;switch(w=e.b,o=t.d,f=o.j,g=G8e(f,w.d[f.g],n),a=Oi(Ja(o.n),o.a),o.j.g){case 1:case 3:g.a+=a.a;break;case 2:case 4:g.b+=a.b}Cs(r,g,r.c.b,r.c)}function xxn(e,t,n){var r,a,o,f;for(f=gc(e.e,t,0),o=new Pwe,o.b=n,r=new Ua(e.e,f);r.b1;t>>=1)t&1&&(r=K5(r,n)),n.d==1?n=K5(n,n):n=new Q1t(mmt(n.a,n.d,We(Vr,di,28,n.d<<1,15,1)));return r=K5(r,n),r}function Rxe(){Rxe=U;var e,t,n,r;for(m_e=We(Na,Zo,28,25,15,1),v_e=We(Na,Zo,28,33,15,1),r=152587890625e-16,t=32;t>=0;t--)v_e[t]=r,r*=.5;for(n=1,e=24;e>=0;e--)m_e[e]=n,n*=.5}function _xn(e){var t,n;if(Rt(Bt(at(e,(Nt(),b4))))){for(n=new hr(dr(cp(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),74),qw(t)&&Rt(Bt(at(t,gv))))return!0}return!1}function Bgt(e,t){var n,r,a;na(e.f,t)&&(t.b=e,r=t.c,gc(e.j,r,0)!=-1||vt(e.j,r),a=t.d,gc(e.j,a,0)!=-1||vt(e.j,a),n=t.a.b,n.c.length!=0&&(!e.i&&(e.i=new rdt(e)),I3n(e.i,n)))}function Axn(e){var t,n,r,a,o;return n=e.c.d,r=n.j,a=e.d.d,o=a.j,r==o?n.p=0&&vn(e.substr(t,3),"GMT")||t>=0&&vn(e.substr(t,3),"UTC"))&&(n[0]=t+3),mke(e,n,r)}function Mxn(e,t){var n,r,a,o,f;for(o=e.g.a,f=e.g.b,r=new G(e.d);r.an;o--)e[o]|=t[o-n-1]>>>f,e[o-1]=t[o-n-1]<0&&pu(e.g,t,e.g,t+r,g),f=n.Kc(),e.i+=r,a=0;a>4&15,o=e[r]&15,f[a++]=bPe[n],f[a++]=bPe[o];return If(f,0,f.length)}function cl(e){var t,n;return e>=Io?(t=AP+(e-Io>>10&1023)&Zs,n=56320+(e-Io&1023)&Zs,String.fromCharCode(t)+(""+String.fromCharCode(n))):String.fromCharCode(e&Zs)}function zxn(e,t){py();var n,r,a,o;return a=l(l($i(e.r,t),21),87),a.gc()>=2?(r=l(a.Kc().Pb(),117),n=e.u.Hc((Rl(),PM)),o=e.u.Hc(a9),!r.a&&!n&&(a.gc()==2||o)):!1}function jgt(e,t,n,r,a){var o,f,g;for(o=Tbt(e,t,n,r,a),g=!1;!o;)TU(e,a,!0),g=!0,o=Tbt(e,t,n,r,a);g&&TU(e,a,!1),f=bce(a),f.c.length!=0&&(e.d&&e.d.Gg(f),jgt(e,a,n,r,f))}function vU(){vU=U,Uge=new L_(Id,0),$Ne=new L_("DIRECTED",1),qNe=new L_("UNDIRECTED",2),RNe=new L_("ASSOCIATION",3),zNe=new L_("GENERALIZATION",4),jNe=new L_("DEPENDENCY",5)}function qxn(e,t){var n;if(!M1(e))throw ue(new nc(t4t));switch(n=M1(e),t.g){case 1:return-(e.j+e.f);case 2:return e.i-n.g;case 3:return e.j-n.f;case 4:return-(e.i+e.g)}return 0}function Hxn(e,t,n){var r,a,o;return r=t.Lk(),o=t.md(),a=r.Jk()?db(e,4,r,o,null,XE(e,r,o,De(r,102)&&(l(r,19).Bb&Io)!=0),!0):db(e,r.tk()?2:1,r,o,r.ik(),-1,!0),n?n.nj(a):n=a,n}function $E(e,t){var n,r;for(nr(t),r=e.b.c.length,vt(e.b,t);r>0;){if(n=r,r=(r-1)/2|0,e.a.Ne(jt(e.b,r),t)<=0)return rf(e.b,n,t),!0;rf(e.b,n,jt(e.b,r))}return rf(e.b,r,t),!0}function zxe(e,t,n,r){var a,o;if(a=0,n)a=BV(e.a[n.g][t.g],r);else for(o=0;o=g)}function $gt(e){switch(e.g){case 0:return new Sne;case 1:return new _ne;default:throw ue(new Yn("No implementation is available for the width approximator "+(e.f!=null?e.f:""+e.g)))}}function qxe(e,t,n,r){var a;if(a=!1,Ia(r)&&(a=!0,zk(t,n,ei(r))),a||hy(r)&&(a=!0,qxe(e,t,n,r)),a||De(r,242)&&(a=!0,Nm(t,n,l(r,242))),!a)throw ue(new Qie(mSe))}function Uxn(e,t){var n,r,a;if(n=t.qi(e.a),n&&(a=n1((!n.b&&(n.b=new dh((Tn(),No),Yc,n)),n.b),Bf),a!=null)){for(r=1;r<(El(),$Pe).length;++r)if(vn($Pe[r],a))return r}return 0}function Gxn(e,t){var n,r,a;if(n=t.qi(e.a),n&&(a=n1((!n.b&&(n.b=new dh((Tn(),No),Yc,n)),n.b),Bf),a!=null)){for(r=1;r<(El(),zPe).length;++r)if(vn(zPe[r],a))return r}return 0}function zgt(e,t){var n,r,a,o;if(nr(t),o=e.a.gc(),o0?1:0;o.a[a]!=n;)o=o.a[a],a=e.a.Ne(n.d,o.d)>0?1:0;o.a[a]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function Yxn(e){var t,n,r,a;for(t=new bt,n=We(ih,pg,28,e.a.c.length,16,1),l5e(n,n.length),a=new G(e.a);a.a0&&dmt((Sn(0,n.c.length),l(n.c[0],30)),e),n.c.length>1&&dmt(l(jt(n,n.c.length-1),30),e),t.Vg()}function Qxn(e){Rl();var t,n;return t=rs(vp,he(le(cY,1),it,279,0,[Yb])),!(yN(NH(t,e))>1||(n=rs(PM,he(le(cY,1),it,279,0,[NM,a9])),yN(NH(n,e))>1))}function Vxe(e,t){var n;n=xu((ib(),Gf),e),De(n,507)?rc(Gf,e,new Ott(this,t)):rc(Gf,e,this),Nue(this,t),t==(Sk(),APe)?(this.wb=l(this,2038),l(t,2040)):this.wb=(lb(),Vn)}function Jxn(e){var t,n,r;if(e==null)return null;for(t=null,n=0;n=b2?"error":r>=900?"warn":r>=800?"info":"log"),eat(n,e.a),e.b&&G9e(t,n,e.b,"Exception: ",!0))}function Q(e,t){var n,r;return r=(!e.q&&(e.q=new Pr),cr(e.q,t)),r??(n=t.Sg(),De(n,4)&&(n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),ki(e.q,t,n))),n)}function uo(){uo=U,y0=new oO("P1_CYCLE_BREAKING",0),vg=new oO("P2_LAYERING",1),bu=new oO("P3_NODE_ORDERING",2),_u=new oO("P4_NODE_PLACEMENT",3),mc=new oO("P5_EDGE_ROUTING",4)}function Zxn(e,t){hA();var n;if(e.c==t.c){if(e.b==t.b||a3n(e.b,t.b)){if(n=Dln(e.b)?1:-1,e.a&&!t.a)return n;if(!e.a&&t.a)return-n}return ru(e.b.g,t.b.g)}else return Yi(e.c,t.c)}function Ggt(e,t){var n,r,a;if(Gxe(e,t))return!0;for(r=new G(t);r.a=a||t<0)throw ue(new tc(Qfe+t+av+a));if(n>=a||n<0)throw ue(new tc(Jfe+n+av+a));return t!=n?r=(o=e.Cj(n),e.qj(t,o),o):r=e.xj(n),r}function Ygt(e){var t,n,r;if(r=e,e)for(t=0,n=e.Eh();n;n=n.Eh()){if(++t>ohe)return Ygt(n);if(r=n,n==e)throw ue(new nc("There is a cycle in the containment hierarchy of "+e))}return r}function Tb(e){var t,n,r;for(r=new Hm(Co,"[","]"),n=e.Kc();n.Ob();)t=n.Pb(),Jg(r,qe(t)===qe(e)?"(this Collection)":t==null?ul:xc(t));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function Gxe(e,t){var n,r;if(r=!1,t.gc()<2)return!1;for(n=0;n1&&(e.j.b+=e.e)):(e.j.a+=n.a,e.j.b=b.Math.max(e.j.b,n.b),e.d.c.length>1&&(e.j.a+=e.e))}function Cb(){Cb=U,axt=he(le(Oo,1),au,64,0,[(Ct(),Qn),ar,Dr]),sxt=he(le(Oo,1),au,64,0,[ar,Dr,er]),oxt=he(le(Oo,1),au,64,0,[Dr,er,Qn]),cxt=he(le(Oo,1),au,64,0,[er,Qn,ar])}function t9n(e,t,n,r){var a,o,f,g,w,E,C;if(f=e.c.d,g=e.d.d,f.j!=g.j)for(C=e.b,a=f.j,w=null;a!=g.j;)w=t==0?$V(a):f8e(a),o=G8e(a,C.d[a.g],n),E=G8e(w,C.d[w.g],n),ui(r,Oi(o,E)),a=w}function n9n(e,t,n,r){var a,o,f,g,w;return f=Zdt(e.a,t,n),g=l(f.a,17).a,o=l(f.b,17).a,r&&(w=l(Q(t,(ft(),jl)),10),a=l(Q(n,jl),10),w&&a&&($ct(e.b,w,a),g+=e.b.i,o+=e.b.e)),g>o}function Qgt(e){var t,n,r,a,o,f,g,w,E;for(this.a=ydt(e),this.b=new bt,n=e,r=0,a=n.length;ruae(e.d).c?(e.i+=e.g.c,Yce(e.d)):uae(e.d).c>uae(e.g).c?(e.e+=e.d.c,Yce(e.g)):(e.i+=cst(e.g),e.e+=cst(e.d),Yce(e.g),Yce(e.d))}function a9n(e,t,n){var r,a,o,f;for(o=t.q,f=t.r,new Pm((J0(),qb),t,o,1),new Pm(qb,o,f,1),a=new G(n);a.ag&&(w=g/r),a>o&&(E=o/a),f=b.Math.min(w,E),e.a+=f*(t.a-e.a),e.b+=f*(t.b-e.b)}function l9n(e,t,n,r,a){var o,f;for(f=!1,o=l(jt(n.b,0),27);jAn(e,t,o,r,a)&&(f=!0,$8n(n,o),n.b.c.length!=0);)o=l(jt(n.b,0),27);return n.b.c.length==0&&UN(n.j,n),f&&lU(t.q),f}function h9n(e,t){h6();var n,r,a,o;if(t.b<2)return!1;for(o=Rr(t,0),n=l(Br(o),8),r=n;o.b!=o.d.c;){if(a=l(Br(o),8),Xue(e,r,a))return!0;r=a}return!!Xue(e,r,n)}function Wxe(e,t,n,r){var a,o;return n==0?(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),Uq(e.o,t,r)):(o=l(Mn((a=l(Kn(e,16),29),a||e.ii()),n),69),o.wk().Ak(e,Ku(e),n-yr(e.ii()),t,r))}function Nue(e,t){var n;t!=e.sb?(n=null,e.sb&&(n=l(e.sb,54).Th(e,1,RM,n)),t&&(n=l(t,54).Rh(e,1,RM,n)),n=a8e(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,4,t,t))}function f9n(e,t){var n,r,a,o;if(t)a=np(t,"x"),n=new HXe(e),aE(n.a,(nr(a),a)),o=np(t,"y"),r=new VXe(e),cE(r.a,(nr(o),o));else throw ue(new dd("All edge sections need an end point."))}function d9n(e,t){var n,r,a,o;if(t)a=np(t,"x"),n=new $Xe(e),oE(n.a,(nr(a),a)),o=np(t,"y"),r=new zXe(e),uE(r.a,(nr(o),o));else throw ue(new dd("All edge sections need a start point."))}function g9n(e,t){var n,r,a,o,f,g,w;for(r=_0t(e),o=0,g=r.length;o>22-t,a=e.h<>22-t):t<44?(n=0,r=e.l<>44-t):(n=0,r=0,a=e.l<e)throw ue(new Yn("k must be smaller than n"));return t==0||t==e?1:e==0?0:xxe(e)/(xxe(t)*xxe(e-t))}function Yxe(e,t){var n,r,a,o;for(n=new hye(e);n.g==null&&!n.c?H5e(n):n.g==null||n.i!=0&&l(n.g[n.i-1],51).Ob();)if(o=l(CU(n),58),De(o,167))for(r=l(o,167),a=0;a>4],t[n*2+1]=LY[o&15];return If(t,0,t.length)}function M9n(e){kH();var t,n,r;switch(r=e.c.length,r){case 0:return i6t;case 1:return t=l(Rpt(new G(e)),44),Edn(t.ld(),t.md());default:return n=l(j1(e,We(uv,XU,44,e.c.length,0,1)),173),new Wwe(n)}}function D9n(e){var t,n,r,a,o,f;for(t=new z5,n=new z5,gb(t,e),gb(n,e);n.b!=n.c;)for(a=l(X8(n),36),f=new G(a.a);f.a0&&lP(e,n,t),a):wEn(e,t,n)}function Sb(){Sb=U,uCt=(pi(),n9),lCt=Ev,sCt=kv,aCt=i7,oCt=Ub,iCt=r7,NIe=YB,cCt=S4,Jde=(uke(),KTt),Zde=WTt,BIe=JTt,ege=tCt,FIe=ZTt,RIe=eCt,PIe=YTt,qW=XTt,HW=QTt,FB=nCt,jIe=rCt,OIe=GTt}function spt(e,t){var n,r,a,o,f;if(e.e<=t||tbn(e,e.g,t))return e.g;for(o=e.r,r=e.g,f=e.r,a=(o-r)/2+r;r+11&&(e.e.b+=e.a)):(e.e.a+=n.a,e.e.b=b.Math.max(e.e.b,n.b),e.d.c.length>1&&(e.e.a+=e.a))}function B9n(e){var t,n,r,a;switch(a=e.i,t=a.b,r=a.j,n=a.g,a.a.g){case 0:n.a=(e.g.b.o.a-r.a)/2;break;case 1:n.a=t.d.n.a+t.d.a.a;break;case 2:n.a=t.d.n.a+t.d.a.a-r.a;break;case 3:n.b=t.d.n.b+t.d.a.b}}function F9n(e,t,n){var r,a,o;for(a=new hr(dr(sp(n).a.Kc(),new j));jr(a);)r=l(xr(a),18),!Do(r)&&!(!Do(r)&&r.c.i.c==r.d.i.c)&&(o=Y2t(e,r,n,new QQe),o.c.length>1&&$n(t.c,o))}function opt(e,t,n,r,a){if(rr&&(e.a=r),e.ba&&(e.b=a),e}function R9n(e){if(De(e,143))return pCn(l(e,143));if(De(e,233))return s5n(l(e,233));if(De(e,23))return b9n(l(e,23));throw ue(new Yn(vSe+Tb(new Il(he(le(wa,1),Rn,1,5,[e])))))}function j9n(e,t,n,r,a){var o,f,g;for(o=!0,f=0;f>>a|n[f+r+1]<>>a,++f}return o}function Zxe(e,t,n,r){var a,o,f;if(t.k==(Zn(),Aa)){for(o=new hr(dr(ka(t).a.Kc(),new j));jr(o);)if(a=l(xr(o),18),f=a.c.i.k,f==Aa&&e.c.a[a.c.i.c.p]==r&&e.c.a[t.c.p]==n)return!0}return!1}function $9n(e,t){var n,r,a,o;return t&=63,n=e.h&hp,t<22?(o=n>>>t,a=e.m>>t|n<<22-t,r=e.l>>t|e.m<<22-t):t<44?(o=0,a=n>>>t-22,r=e.m>>t-22|e.h<<44-t):(o=0,a=0,r=n>>>t-44),qu(r&eh,a&eh,o&hp)}function cpt(e,t,n,r){var a;this.b=r,this.e=e==(Iw(),oM),a=t[n],this.d=Lm(ih,[dt,pg],[183,28],16,[a.length,a.length],2),this.a=Lm(Vr,[dt,di],[53,28],15,[a.length,a.length],2),this.c=new Nxe(t,n)}function z9n(e){var t,n,r;for(e.k=new G5e((Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])).length,e.j.c.length),r=new G(e.j);r.a=n)return qE(e,t,r.p),!0;return!1}function o6(e,t,n,r){var a,o,f,g,w,E;for(f=n.length,o=0,a=-1,E=tht((Xn(t,e.length+1),e.substr(t)),(gae(),p_e)),g=0;go&&ggn(E,tht(n[g],p_e))&&(a=g,o=w);return a>=0&&(r[0]=t+o),a}function lpt(e){var t;return e.Db&64?Pue(e):(t=new Th(oSe),!e.a||hi(hi((t.a+=' "',t),e.a),'"'),hi(rw(hi(rw(hi(rw(hi(rw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function hpt(e,t,n){var r,a,o,f,g;for(g=Wu(e.e.Dh(),t),a=l(e.g,124),r=0,f=0;fn?u9e(e,n,"start index"):t<0||t>n?u9e(t,n,"end index"):KA("end index (%s) must not be less than start index (%s)",he(le(wa,1),Rn,1,5,[pt(t),pt(e)]))}function dpt(e,t){var n,r,a,o;for(r=0,a=e.length;r0&&gpt(e,o,n));t.p=0}function Xt(e){var t;this.c=new os,this.f=e.e,this.e=e.d,this.i=e.g,this.d=e.c,this.b=e.b,this.k=e.j,this.a=e.a,e.i?this.j=e.i:this.j=(t=l(K0(xg),9),new Zh(t,l(c0(t,t.length),9),0)),this.g=e.f}function K9n(e){var t,n,r,a;for(t=hb(hi(new Th("Predicates."),"and"),40),n=!0,a=new kr(e);a.b0?g[f-1]:We(wg,m2,10,0,0,1),a=g[f],E=f=0?e.ki(a):d9e(e,r);else throw ue(new Yn(Ob+r.xe()+kL));else throw ue(new Yn(f4t+t+d4t));else cf(e,n,r)}function e9e(e){var t,n;if(n=null,t=!1,De(e,211)&&(t=!0,n=l(e,211).a),t||De(e,263)&&(t=!0,n=""+l(e,263).a),t||De(e,493)&&(t=!0,n=""+l(e,493).a),!t)throw ue(new Qie(mSe));return n}function t9e(e,t,n){var r,a,o,f,g,w;for(w=Wu(e.e.Dh(),t),r=0,g=e.i,a=l(e.g,124),f=0;f=e.d.b.c.length&&(t=new yu(e.d),t.p=r.p-1,vt(e.d.b,t),n=new yu(e.d),n.p=r.p,vt(e.d.b,n)),Va(r,l(jt(e.d.b,r.p),30))}function i9e(e,t,n){var r,a,o;if(!e.b[t.g]){for(e.b[t.g]=!0,r=n,!r&&(r=new nN),ui(r.b,t),o=e.a[t.g].Kc();o.Ob();)a=l(o.Pb(),65),a.b!=t&&i9e(e,a.b,r),a.c!=t&&i9e(e,a.c,r),ui(r.a,a);return r}return null}function Q9n(e){switch(e.g){case 0:case 1:case 2:return Ct(),Qn;case 3:case 4:case 5:return Ct(),Dr;case 6:case 7:case 8:return Ct(),er;case 9:case 10:case 11:return Ct(),ar;default:return Ct(),Pc}}function J9n(e,t){var n;return e.c.length==0?!1:(n=I1t((Sn(0,e.c.length),l(e.c[0],18)).c.i),Sh(),n==(By(),G6)||n==U6?!0:W5(fc(new bn(null,new kn(e,16)),new Xee),new XYe(t)))}function jue(e,t){if(De(t,207))return Gln(e,l(t,27));if(De(t,193))return Kln(e,l(t,123));if(De(t,452))return Uln(e,l(t,166));throw ue(new Yn(vSe+Tb(new Il(he(le(wa,1),Rn,1,5,[t])))))}function ypt(e,t,n){var r,a;if(this.f=e,r=l(cr(e.b,t),260),a=r?r.a:0,k6e(n,a),n>=(a/2|0))for(this.e=r?r.c:null,this.d=a;n++0;)G6e(this);this.b=t,this.a=null}function Z9n(e,t){var n,r;t.a?OCn(e,t):(n=l(cse(e.b,t.b),60),n&&n==e.a[t.b.f]&&n.a&&n.a!=t.b.a&&n.c.Fc(t.b),r=l(ose(e.b,t.b),60),r&&e.a[r.f]==t.b&&r.a&&r.a!=t.b.a&&t.b.c.Fc(r),tae(e.b,t.b))}function xpt(e,t){var n,r;if(n=l(Qo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.b=0,n.n.c=0;return}n.n.b=e.C.b,n.n.c=e.C.c,e.A.Hc((mh(),Cv))&&Kbt(e,t),r=_6n(e,t),Jue(e,t)==(t6(),Kb)&&(r+=2*e.w),n.a.a=r}function kpt(e,t){var n,r;if(n=l(Qo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.d=0,n.n.a=0;return}n.n.d=e.C.d,n.n.a=e.C.a,e.A.Hc((mh(),Cv))&&Wbt(e,t),r=S6n(e,t),Jue(e,t)==(t6(),Kb)&&(r+=2*e.w),n.a.b=r}function ekn(e,t){var n,r,a,o;for(o=new bt,r=new G(t);r.ar&&(Xn(t-1,e.length),e.charCodeAt(t-1)<=32);)--t;return r>0||tn.a&&(r.Hc((Ym(),EM))?a=(t.a-n.a)/2:r.Hc(TM)&&(a=t.a-n.a)),t.b>n.b&&(r.Hc((Ym(),SM))?o=(t.b-n.b)/2:r.Hc(CM)&&(o=t.b-n.b)),Hxe(e,a,o)}function Lpt(e,t,n,r,a,o,f,g,w,E,C,L,B){De(e.Cb,90)&&zy(Yl(l(e.Cb,90)),4),Fu(e,n),e.f=f,LE(e,g),DE(e,w),AE(e,E),ME(e,C),u2(e,L),IE(e,B),c2(e,!0),i2(e,a),e.Zk(o),Gm(e,t),r!=null&&(e.i=null,xV(e,r))}function u9e(e,t,n){if(e<0)return KA(Swt,he(le(wa,1),Rn,1,5,[n,pt(e)]));if(t<0)throw ue(new Yn(_wt+t));return KA("%s (%s) must not be greater than size (%s)",he(le(wa,1),Rn,1,5,[n,pt(e),pt(t)]))}function l9e(e,t,n,r,a,o){var f,g,w,E;if(f=r-n,f<7){W4n(t,n,r,o);return}if(w=n+a,g=r+a,E=w+(g-w>>1),l9e(t,e,w,E,-a,o),l9e(t,e,E,g,-a,o),o.Ne(e[E-1],e[E])<=0){for(;n=0?e.bi(o,n):$9e(e,a,n);else throw ue(new Yn(Ob+a.xe()+kL));else throw ue(new Yn(f4t+t+d4t));else uf(e,r,a,n)}function Mpt(e){var t,n;if(e.f){for(;e.n>0;){if(t=l(e.k.Xb(e.n-1),76),n=t.Lk(),De(n,102)&&l(n,19).Bb&eu&&(!e.e||n.pk()!=oC||n.Lj()!=0)&&t.md()!=null)return!0;--e.n}return!1}else return e.n>0}function Dpt(e){var t,n,r,a;if(n=l(e,54)._h(),n)try{if(r=null,t=VE((ib(),Gf),bmt(a5n(n))),t&&(a=t.ai(),a&&(r=a.Fl(oun(n.e)))),r&&r!=e)return Dpt(r)}catch(o){if(o=bs(o),!De(o,63))throw ue(o)}return e}function bkn(e,t,n){var r,a,o;n.Ug("Remove overlaps",1),n.dh(t,yCe),r=l(at(t,(H5(),Y6)),27),e.f=r,e.a=sue(l(at(t,(Sb(),FB)),300)),a=Ge(at(t,(pi(),Ev))),_e(e,(nr(a),a)),o=Hy(r),Rvt(e,t,o,n),n.dh(t,OG)}function mkn(e){var t,n,r;if(Rt(Bt(at(e,(pi(),KB))))){for(r=new bt,n=new hr(dr(cp(e).a.Kc(),new j));jr(n);)t=l(xr(n),74),qw(t)&&Rt(Bt(at(t,Oge)))&&$n(r.c,t);return r}else return Cn(),Cn(),_o}function Ipt(e){if(!e)return MJe(),d6t;var t=e.valueOf?e.valueOf():e;if(t!==e){var n=_0e[typeof t];return n?n(t):Z7e(typeof t)}else return e instanceof Array||e instanceof b.Array?new Sz(e):new wk(e)}function Opt(e,t,n){var r,a,o;switch(o=e.o,r=l(Qo(e.p,n),252),a=r.i,a.b=nP(r),a.a=tP(r),a.b=b.Math.max(a.b,o.a),a.b>o.a&&!t&&(a.b=o.a),a.c=-(a.b-o.a)/2,n.g){case 1:a.d=-a.a;break;case 3:a.d=o.b}hle(r),fle(r)}function Npt(e,t,n){var r,a,o;switch(o=e.o,r=l(Qo(e.p,n),252),a=r.i,a.b=nP(r),a.a=tP(r),a.a=b.Math.max(a.a,o.b),a.a>o.b&&!t&&(a.a=o.b),a.d=-(a.a-o.b)/2,n.g){case 4:a.c=-a.b;break;case 2:a.c=o.a}hle(r),fle(r)}function vkn(e,t){var n,r,a,o,f;if(!t.dc()){if(a=l(t.Xb(0),131),t.gc()==1){hbt(e,a,a,1,0,t);return}for(n=1;n0)try{a=Oh(t,lo,Ii)}catch(o){throw o=bs(o),De(o,130)?(r=o,ue(new nV(r))):ue(o)}return n=(!e.a&&(e.a=new Pie(e)),e.a),a=0?l(Oe(n,a),58):null}function kkn(e,t){if(e<0)return KA(Swt,he(le(wa,1),Rn,1,5,["index",pt(e)]));if(t<0)throw ue(new Yn(_wt+t));return KA("%s (%s) must be less than size (%s)",he(le(wa,1),Rn,1,5,["index",pt(e),pt(t)]))}function Ekn(e){var t,n,r,a,o;if(e==null)return ul;for(o=new Hm(Co,"[","]"),n=e,r=0,a=n.length;r=0?e.Lh(n,!0,!0):Hw(e,a,!0),160)),l(r,220).Zl(t);else throw ue(new Yn(Ob+t.xe()+kL))}function g9e(e){var t,n;return e>-0x800000000000&&e<0x800000000000?e==0?0:(t=e<0,t&&(e=-e),n=ua(b.Math.floor(b.Math.log(e)/.6931471805599453)),(!t||e!=b.Math.pow(2,n))&&++n,n):Qft(Zc(e))}function Rkn(e){var t,n,r,a,o,f,g;for(o=new bd,n=new G(e);n.a2&&g.e.b+g.j.b<=2&&(a=g,r=f),o.a.zc(a,o),a.q=r);return o}function jkn(e,t,n){n.Ug("Eades radial",1),n.dh(t,OG),e.d=l(at(t,(H5(),Y6)),27),e.c=ze(Ge(at(t,(Sb(),HW)))),e.e=sue(l(at(t,FB),300)),e.a=g5n(l(at(t,jIe),434)),e.b=N8n(l(at(t,PIe),354)),b8n(e),n.dh(t,OG)}function $kn(e,t){if(t.Ug("Target Width Setter",1),P1(e,(z1(),fge)))Hi(e,(ug(),T4),Ge(at(e,fge)));else throw ue(new Vp("A target width has to be set if the TargetWidthWidthApproximator should be used."));t.Vg()}function jpt(e,t){var n,r,a;return r=new op(e),pc(r,t),rt(r,(ft(),aW),t),rt(r,(Nt(),Ms),(Ra(),Mu)),rt(r,Rd,(og(),tY)),x(r,(Zn(),Us)),n=new gu,Mc(n,r),la(n,(Ct(),er)),a=new gu,Mc(a,r),la(a,ar),r}function $pt(e){switch(e.g){case 0:return new Wie((Iw(),DB));case 1:return new Qre;case 2:return new Jre;default:throw ue(new Yn("No implementation is available for the crossing minimizer "+(e.f!=null?e.f:""+e.g)))}}function zpt(e,t){var n,r,a,o,f;for(e.c[t.p]=!0,vt(e.a,t),f=new G(t.j);f.a=o)f.$b();else for(a=f.Kc(),r=0;r0?Zwe():f<0&&Upt(e,t,-f),!0):!1}function tP(e){var t,n,r,a,o,f,g;if(g=0,e.b==0){for(f=_dt(e,!0),t=0,r=f,a=0,o=r.length;a0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}else g=qJe(cce(xy(Fi(c5e(e.a),new ja),new Ou)));return g>0?g+e.n.d+e.n.a:0}function nP(e){var t,n,r,a,o,f,g;if(g=0,e.b==0)g=qJe(cce(xy(Fi(c5e(e.a),new Xc),new Bc)));else{for(f=Adt(e,!0),t=0,r=f,a=0,o=r.length;a0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}return g>0?g+e.n.b+e.n.c:0}function Kkn(e){var t,n;if(e.c.length!=2)throw ue(new nc("Order only allowed for two paths."));t=(Sn(0,e.c.length),l(e.c[0],18)),n=(Sn(1,e.c.length),l(e.c[1],18)),t.d.i!=n.c.i&&(e.c.length=0,$n(e.c,n),$n(e.c,t))}function Gpt(e,t,n){var r;for(F5(n,t.g,t.f),Qh(n,t.i,t.j),r=0;r<(!t.a&&(t.a=new nt(Ai,t,10,11)),t.a).i;r++)Gpt(e,l(Oe((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a),r),27),l(Oe((!n.a&&(n.a=new nt(Ai,n,10,11)),n.a),r),27))}function Wkn(e,t){var n,r,a,o;for(o=l(Qo(e.b,t),127),n=o.a,a=l(l($i(e.r,t),21),87).Kc();a.Ob();)r=l(a.Pb(),117),r.c&&(n.a=b.Math.max(n.a,j4e(r.c)));if(n.a>0)switch(t.g){case 2:o.n.c=e.s;break;case 4:o.n.b=e.s}}function Ykn(e,t){var n,r,a;return n=l(Q(t,(b0(),qx)),17).a-l(Q(e,qx),17).a,n==0?(r=ma(Ja(l(Q(e,(bb(),hB)),8)),l(Q(e,$L),8)),a=ma(Ja(l(Q(t,hB),8)),l(Q(t,$L),8)),Yi(r.a*r.b,a.a*a.b)):n}function Xkn(e,t){var n,r,a;return n=l(Q(t,(Hc(),RW)),17).a-l(Q(e,RW),17).a,n==0?(r=ma(Ja(l(Q(e,(Qi(),NB)),8)),l(Q(e,QT),8)),a=ma(Ja(l(Q(t,NB),8)),l(Q(t,QT),8)),Yi(r.a*r.b,a.a*a.b)):n}function Kpt(e){var t,n;return n=new tb,n.a+="e_",t=H3n(e),t!=null&&(n.a+=""+t),e.c&&e.d&&(hi((n.a+=" ",n),fU(e.c)),hi(wu((n.a+="[",n),e.c.i),"]"),hi((n.a+=Phe,n),fU(e.d)),hi(wu((n.a+="[",n),e.d.i),"]")),n.a}function Wpt(e){switch(e.g){case 0:return new aie;case 1:return new dk;case 2:return new sie;case 3:return new iie;default:throw ue(new Yn("No implementation is available for the layout phase "+(e.f!=null?e.f:""+e.g)))}}function m9e(e,t,n,r,a){var o;switch(o=0,a.g){case 1:o=b.Math.max(0,t.b+e.b-(n.b+r));break;case 3:o=b.Math.max(0,-e.b-r);break;case 2:o=b.Math.max(0,-e.a-r);break;case 4:o=b.Math.max(0,t.a+e.a-(n.a+r))}return o}function Qkn(e,t,n){var r,a,o,f,g;if(n)for(a=n.a.length,r=new Dm(a),g=(r.b-r.a)*r.c<0?(sb(),tm):new cb(r);g.Ob();)f=l(g.Pb(),17),o=Jk(n,f.a),hSe in o.a||Yfe in o.a?h_n(e,o,t):MIn(e,o,t),Lhn(l(cr(e.b,NE(o)),74))}function v9e(e){var t,n;switch(e.b){case-1:return!0;case 0:return n=e.t,n>1||n==-1?(e.b=-1,!0):(t=Of(e),t&&(Fo(),t.lk()==g5t)?(e.b=-1,!0):(e.b=1,!1));default:case 1:return!1}}function w9e(e,t){var n,r,a,o;if(Li(e),e.c!=0||e.a!=123)throw ue(new ri(ai((Jr(),B4t))));if(o=t==112,r=e.d,n=Nk(e.i,125,r),n<0)throw ue(new ri(ai((Jr(),F4t))));return a=tf(e.i,r,n),e.d=n+1,vlt(a,o,(e.e&512)==512)}function Ypt(e){var t,n,r,a,o,f,g;if(r=e.a.c.length,r>0)for(f=e.c.d,g=e.d.d,a=md(ma(new lt(g.a,g.b),f),1/(r+1)),o=new lt(f.a,f.b),n=new G(e.a);n.a=0&&r=0?e.Lh(n,!0,!0):Hw(e,a,!0),160)),l(r,220).Wl(t);throw ue(new Yn(Ob+t.xe()+$fe))}function tEn(){x3e();var e;return J_t?l(VE((ib(),Gf),Ff),2038):(wi(uv,new OI),XMn(),e=l(De(xu((ib(),Gf),Ff),560)?xu(Gf,Ff):new fat,560),J_t=!0,QIn(e),iOn(e),ki((y3e(),_Pe),e,new k1),rc(Gf,Ff,e),e)}function nEn(e,t){var n,r,a,o;e.j=-1,hh(e.e)?(n=e.i,o=e.i!=0,tN(e,t),r=new Zg(e.e,3,e.c,null,t,n,o),a=t.zl(e.e,e.c,null),a=Lgt(e,t,a),a?(a.nj(r),a.oj()):Ni(e.e,r)):(tN(e,t),a=t.zl(e.e,e.c,null),a&&a.oj())}function kU(e,t){var n,r,a;if(a=0,r=t[0],r>=e.length)return-1;for(n=(Xn(r,e.length),e.charCodeAt(r));n>=48&&n<=57&&(a=a*10+(n-48),++r,!(r>=e.length));)n=(Xn(r,e.length),e.charCodeAt(r));return r>t[0]?t[0]=r:a=-1,a}function rEn(e){var t,n,r,a,o;return a=l(e.a,17).a,o=l(e.b,17).a,n=a,r=o,t=b.Math.max(b.Math.abs(a),b.Math.abs(o)),a<=0&&a==o?(n=0,r=o-1):a==-t&&o!=t?(n=o,r=a,o>=0&&++n):(n=-o,r=a),new ca(pt(n),pt(r))}function iEn(e,t,n,r){var a,o,f,g,w,E;for(a=0;a=0&&E>=0&&w=e.i)throw ue(new tc(Qfe+t+av+e.i));if(n>=e.i)throw ue(new tc(Jfe+n+av+e.i));return r=e.g[n],t!=n&&(t>16),t=r>>16&16,n=16-t,e=e>>t,r=e-256,t=r>>16&8,n+=t,e<<=t,r=e-Xy,t=r>>16&4,n+=t,e<<=t,r=e-_d,t=r>>16&2,n+=t,e<<=t,r=e>>14,t=r&~(r>>1),n+2-t)}function aEn(e){tx();var t,n,r,a;for(wK=new bt,X0e=new Pr,Y0e=new bt,t=(!e.a&&(e.a=new nt(Ai,e,10,11)),e.a),XDn(t),a=new or(t);a.e!=a.i.gc();)r=l(gr(a),27),gc(wK,r,0)==-1&&(n=new bt,vt(Y0e,n),Z1t(r,n));return Y0e}function oEn(e,t,n){var r,a,o,f;e.a=n.b.d,De(t,326)?(a=l6(l(t,74),!1,!1),o=QN(a),r=new t_(e),to(o,r),dP(o,a),t.of((pi(),x3))!=null&&to(l(t.of(x3),75),r)):(f=l(t,422),f.rh(f.nh()+e.a.a),f.sh(f.oh()+e.a.b))}function cEn(e,t){var n,r,a;for(a=new bt,r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),n.c.g==e.g&&qe(Q(n.b,(Hc(),$d)))!==qe(Q(n.c,$d))&&!W5(new bn(null,new kn(a,16)),new cXe(n))&&$n(a.c,n);return Vs(a,new Mte),a}function Qpt(e,t,n){var r,a,o,f;return De(t,153)&&De(n,153)?(o=l(t,153),f=l(n,153),e.a[o.a][f.a]+e.a[f.a][o.a]):De(t,250)&&De(n,250)&&(r=l(t,250),a=l(n,250),r.a==a.a)?l(Q(a.a,(b0(),qx)),17).a:0}function Jpt(e,t){var n,r,a,o,f,g,w,E;for(E=ze(Ge(Q(t,(Nt(),tM)))),w=e[0].n.a+e[0].o.a+e[0].d.c+E,g=1;g=0?n:(g=eA(ma(new lt(f.c+f.b/2,f.d+f.a/2),new lt(o.c+o.b/2,o.d+o.a/2))),-(Tmt(o,f)-1)*g)}function lEn(e,t,n){var r;Is(new bn(null,(!n.a&&(n.a=new nt(cs,n,6,6)),new kn(n.a,16))),new dtt(e,t)),Is(new bn(null,(!n.n&&(n.n=new nt(ec,n,1,7)),new kn(n.n,16))),new gtt(e,t)),r=l(at(n,(pi(),x3)),75),r&&k7e(r,e,t)}function Hw(e,t,n){var r,a,o;if(o=g6((El(),io),e.Dh(),t),o)return Fo(),l(o,69).xk()||(o=rx(ic(io,o))),a=(r=e.Ih(o),l(r>=0?e.Lh(r,!0,!0):Hw(e,o,!0),160)),l(a,220).Sl(t,n);throw ue(new Yn(Ob+t.xe()+$fe))}function y9e(e,t,n,r){var a,o,f,g,w;if(a=e.d[t],a){if(o=a.g,w=a.i,r!=null){for(g=0;g=n&&(r=t,E=(w.c+w.a)/2,f=E-n,w.c<=E-n&&(a=new vae(w.c,f),pw(e,r++,a)),g=E+n,g<=w.a&&(o=new vae(g,w.a),Ey(r,e.c.length),x_(e.c,r,o)))}function t2t(e,t,n){var r,a,o,f,g,w;if(!t.dc()){for(a=new os,w=t.Kc();w.Ob();)for(g=l(w.Pb(),40),ki(e.a,pt(g.g),pt(n)),f=(r=Rr(new Hg(g).a.d,0),new C5(r));QI(f.a);)o=l(Br(f.a),65).c,Cs(a,o,a.c.b,a.c);t2t(e,a,n+1)}}function x9e(e){var t;if(!e.c&&e.g==null)e.d=e.bj(e.f),qr(e,e.d),t=e.d;else{if(e.g==null)return!0;if(e.i==0)return!1;t=l(e.g[e.i-1],51)}return t==e.b&&null.Vm>=null.Um()?(CU(e),x9e(e)):t.Ob()}function n2t(e){if(this.a=e,e.c.i.k==(Zn(),Us))this.c=e.c,this.d=l(Q(e.c.i,(ft(),Wc)),64);else if(e.d.i.k==Us)this.c=e.d,this.d=l(Q(e.d.i,(ft(),Wc)),64);else throw ue(new Yn("Edge "+e+" is not an external edge."))}function r2t(e,t){var n,r,a;a=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,3,a,e.b)),t?t!=e&&(Fu(e,t.zb),Qoe(e,t.d),n=(r=t.c,r??t.zb),Zoe(e,n==null||vn(n,t.zb)?null:n)):(Fu(e,null),Qoe(e,0),Zoe(e,null))}function i2t(e,t){var n;this.e=(ww(),Xr(e),ww(),P8e(e)),this.c=(Xr(t),P8e(t)),Tye(this.e.Rd().dc()==this.c.Rd().dc()),this.d=w1t(this.e),this.b=w1t(this.c),n=Lm(wa,[dt,Rn],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=n,jwn(this)}function s2t(e){!C0e&&(C0e=cIn());var t=e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){return f2n(n)});return'"'+t+'"'}function k9e(e,t,n,r,a,o){var f,g,w,E,C;if(a!=0)for(qe(e)===qe(n)&&(e=e.slice(t,t+a),t=0),w=n,g=t,E=t+a;g=f)throw ue(new my(t,f));return a=n[t],f==1?r=null:(r=We(epe,r0e,424,f-1,0,1),pu(n,0,r,0,t),o=f-t-1,o>0&&pu(n,t+1,r,t,o)),PE(e,r),Apt(e,t,a),a}function o2t(e){var t,n;if(e.f){for(;e.n0?o=gx(n):o=BN(gx(n))),Hi(t,VT,o)}function mEn(e,t){var n;t.Ug("Partition preprocessing",1),n=l(yc(Fi(Dc(Fi(new bn(null,new kn(e.a,16)),new AZ),new LZ),new wj),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),Is(n.Oc(),new t8),t.Vg()}function vEn(e,t){var n,r,a,o,f;for(f=e.j,t.a!=t.b&&Vs(f,new kS),a=f.c.length/2|0,r=0;r0&&lP(e,n,t),o):r.a!=null?(lP(e,t,n),-1):a.a!=null?(lP(e,n,t),1):0}function yEn(e,t){var n,r,a,o,f;for(a=t.b.b,e.a=We(mf,Qy,15,a,0,1),e.b=We(ih,pg,28,a,16,1),f=Rr(t.b,0);f.b!=f.d.c;)o=l(Br(f),40),e.a[o.g]=new os;for(r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),e.a[n.b.g].Fc(n),e.a[n.c.g].Fc(n)}function h2t(e,t){var n,r,a,o;e.Pj()?(n=e.Ej(),o=e.Qj(),++e.j,e.qj(n,e.Zi(n,t)),r=e.Ij(3,null,t,n,o),e.Mj()?(a=e.Nj(t,null),a?(a.nj(r),a.oj()):e.Jj(r)):e.Jj(r)):(tat(e,t),e.Mj()&&(a=e.Nj(t,null),a&&a.oj()))}function E9e(e,t,n){var r,a,o;e.Pj()?(o=e.Qj(),IN(e,t,n),r=e.Ij(3,null,n,t,o),e.Mj()?(a=e.Nj(n,null),e.Tj()&&(a=e.Uj(n,a)),a?(a.nj(r),a.oj()):e.Jj(r)):e.Jj(r)):(IN(e,t,n),e.Mj()&&(a=e.Nj(n,null),a&&a.oj()))}function EU(e,t){var n,r,a,o,f;for(f=Wu(e.e.Dh(),t),a=new X2,n=l(e.g,124),o=e.i;--o>=0;)r=n[o],f.am(r.Lk())&&qr(a,r);!awt(e,a)&&hh(e.e)&&xk(e,t.Jk()?db(e,6,t,(Cn(),_o),null,-1,!1):db(e,t.tk()?2:1,t,null,null,-1,!1))}function xEn(e,t){var n,r,a,o,f;return e.a==(zE(),VL)?!0:(o=t.a.c,n=t.a.c+t.a.b,!(t.j&&(r=t.A,f=r.c.c.a-r.o.a/2,a=o-(r.n.a+r.o.a),a>f)||t.q&&(r=t.C,f=r.c.c.a-r.o.a/2,a=r.n.a-n,a>f)))}function f2t(e){foe();var t,n,r,a,o,f,g;for(n=new e2,a=new G(e.e.b);a.a1?e.e*=ze(e.a):e.f/=ze(e.a),Hyn(e),Y5n(e),GSn(e),rt(e.b,(IA(),vK),e.g)}function b2t(e,t,n){var r,a,o,f,g,w;for(r=0,w=n,t||(r=n*(e.c.length-1),w*=-1),o=new G(e);o.a=0?e.Ah(null):e.Ph().Th(e,-1-t,null,null)),e.Bh(l(a,54),n),r&&r.oj(),e.vh()&&e.wh()&&n>-1&&Ni(e,new _a(e,9,n,o,a)),a):o}function S9e(e,t){var n,r,a,o,f;for(o=e.b.Ce(t),r=(n=e.a.get(o),n??We(wa,Rn,1,0,5,1)),f=0;f>5,a>=e.d)return e.e<0;if(n=e.a[a],t=1<<(t&31),e.e<0){if(r=Mft(e),a>16)),15).dd(o),g0&&(!(Ug(e.a.c)&&t.n.d)&&!(B5(e.a.c)&&t.n.b)&&(t.g.d+=b.Math.max(0,r/2-.5)),!(Ug(e.a.c)&&t.n.a)&&!(B5(e.a.c)&&t.n.c)&&(t.g.a-=r-1))}function C2t(e){var t,n,r,a,o;if(a=new bt,o=ymt(e,a),t=l(Q(e,(ft(),jl)),10),t)for(r=new G(t.j);r.a>t,o=e.m>>t|n<<22-t,a=e.l>>t|e.m<<22-t):t<44?(f=r?hp:0,o=n>>t-22,a=e.m>>t-22|n<<44-t):(f=r?hp:0,o=r?eh:0,a=n>>t-44),qu(a&eh,o&eh,f&hp)}function Gue(e){var t,n,r,a,o,f;for(this.c=new bt,this.d=e,r=gs,a=gs,t=ia,n=ia,f=Rr(e,0);f.b!=f.d.c;)o=l(Br(f),8),r=b.Math.min(r,o.a),a=b.Math.min(a,o.b),t=b.Math.max(t,o.a),n=b.Math.max(n,o.b);this.a=new ef(r,a,t-r,n-a)}function _2t(e,t){var n,r,a,o,f,g;for(o=new G(e.b);o.a0&&De(t,44)&&(e.a._j(),E=l(t,44),w=E.ld(),o=w==null?0:es(w),f=Qye(e.a,o),n=e.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g=2)for(n=a.Kc(),t=Ge(n.Pb());n.Ob();)o=t,t=Ge(n.Pb()),r=b.Math.min(r,(nr(t),t-(nr(o),o)));return r}function HEn(e,t){var n,r,a;for(a=new bt,r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),n.b.g==e.g&&!vn(n.b.c,DG)&&qe(Q(n.b,(Hc(),$d)))!==qe(Q(n.c,$d))&&!W5(new bn(null,new kn(a,16)),new uXe(n))&&$n(a.c,n);return Vs(a,new Nte),a}function VEn(e,t){var n,r,a;if(qe(t)===qe(Xr(e)))return!0;if(!De(t,15)||(r=l(t,15),a=e.gc(),a!=r.gc()))return!1;if(De(r,59)){for(n=0;n0&&(a=n),f=new G(e.f.e);f.a0?(t-=1,n-=1):r>=0&&a<0?(t+=1,n+=1):r>0&&a>=0?(t-=1,n+=1):(t+=1,n-=1),new ca(pt(t),pt(n))}function iTn(e,t){return e.ct.c?1:e.bt.b?1:e.a!=t.a?es(e.a)-es(t.a):e.d==(oA(),uM)&&t.d==cM?-1:e.d==cM&&t.d==uM?1:0}function N2t(e,t){var n,r,a,o,f;return o=t.a,o.c.i==t.b?f=o.d:f=o.c,o.c.i==t.b?r=o.c:r=o.d,a=S5n(e.a,f,r),a>0&&a0):a<0&&-a0):!1}function sTn(e,t,n,r){var a,o,f,g,w,E,C,L;for(a=(t-e.d)/e.c.c.length,o=0,e.a+=n,e.d=t,L=new G(e.c);L.a>24;return f}function oTn(e){if(e.ze()){var t=e.c;t.Ae()?e.o="["+t.n:t.ze()?e.o="["+t.xe():e.o="[L"+t.xe()+";",e.b=t.we()+"[]",e.k=t.ye()+"[]";return}var n=e.j,r=e.d;r=r.split("/"),e.o=Xce(".",[n,Xce("$",r)]),e.b=Xce(".",[n,Xce(".",r)]),e.k=r[r.length-1]}function cTn(e,t){var n,r,a,o,f;for(f=null,o=new G(e.e.a);o.a=0;t-=2)for(n=0;n<=t;n+=2)(e.b[n]>e.b[n+2]||e.b[n]===e.b[n+2]&&e.b[n+1]>e.b[n+3])&&(r=e.b[n+2],e.b[n+2]=e.b[n],e.b[n]=r,r=e.b[n+3],e.b[n+3]=e.b[n+1],e.b[n+1]=r);e.c=!0}}function hTn(e,t){var n,r,a,o,f,g,w,E,C;for(E=-1,C=0,f=e,g=0,w=f.length;g0&&++C;++E}return C}function g0(e){var t,n;return n=new Th(_m(e.Rm)),n.a+="@",hi(n,(t=es(e)>>>0,t.toString(16))),e.Vh()?(n.a+=" (eProxyURI: ",wu(n,e._h()),e.Kh()&&(n.a+=" eClass: ",wu(n,e.Kh())),n.a+=")"):e.Kh()&&(n.a+=" (eClass: ",wu(n,e.Kh()),n.a+=")"),n.a}function HA(e){var t,n,r,a;if(e.e)throw ue(new nc((Gg(R0e),phe+R0e.k+bhe)));for(e.d==(Js(),J1)&&UU(e,uc),n=new G(e.a.a);n.a>24}return n}function gTn(e,t,n){var r,a,o;if(a=l(Qo(e.i,t),314),!a)if(a=new yht(e.d,t,n),Q8(e.i,t,a),$8e(t))vhn(e.a,t.c,t.b,a);else switch(o=Q9n(t),r=l(Qo(e.p,o),252),o.g){case 1:case 3:a.j=!0,Xie(r,t.b,a);break;case 4:case 2:a.k=!0,Xie(r,t.c,a)}return a}function pTn(e,t){var n,r,a,o,f,g,w,E,C;for(w=eg(e.c-e.b&e.a.length-1),E=null,C=null,o=new nA(e);o.a!=o.b;)a=l(FV(o),10),n=(g=l(Q(a,(ft(),o1)),12),g?g.i:null),r=(f=l(Q(a,$f),12),f?f.i:null),(E!=n||C!=r)&&(m2t(w,t),E=n,C=r),$n(w.c,a);m2t(w,t)}function bTn(e,t,n,r){var a,o,f,g,w,E;if(g=new X2,w=Wu(e.e.Dh(),t),a=l(e.g,124),Fo(),l(t,69).xk())for(f=0;f=0)return a;for(o=1,g=new G(t.j);g.a=0)return a;for(o=1,g=new G(t.j);g.a0&&t.Ne((Sn(a-1,e.c.length),l(e.c[a-1],10)),o)>0;)rf(e,a,(Sn(a-1,e.c.length),l(e.c[a-1],10))),--a;Sn(a,e.c.length),e.c[a]=o}n.a=new Pr,n.b=new Pr}function mTn(e,t,n){var r,a,o,f,g,w,E,C;for(C=(r=l(t.e&&t.e(),9),new Zh(r,l(c0(r,r.length),9),0)),w=Gy(n,"[\\[\\]\\s,]+"),o=w,f=0,g=o.length;f=0?(t||(t=new h_,r>0&&Xo(t,(Ga(0,r,e.length),e.substr(0,r)))),t.a+="\\",Uk(t,n&Zs)):t&&Uk(t,n&Zs);return t?t.a:e}function wTn(e){var t,n,r;for(n=new G(e.a.a.b);n.a0&&(!(Ug(e.a.c)&&t.n.d)&&!(B5(e.a.c)&&t.n.b)&&(t.g.d-=b.Math.max(0,r/2-.5)),!(Ug(e.a.c)&&t.n.a)&&!(B5(e.a.c)&&t.n.c)&&(t.g.a+=b.Math.max(0,r-1)))}function H2t(e,t,n){var r,a;if((e.c-e.b&e.a.length-1)==2)t==(Ct(),Qn)||t==ar?(uV(l(wA(e),15),(Ih(),kg)),uV(l(wA(e),15),Gb)):(uV(l(wA(e),15),(Ih(),Gb)),uV(l(wA(e),15),kg));else for(a=new nA(e);a.a!=a.b;)r=l(FV(a),15),uV(r,n)}function yTn(e,t){var n,r,a,o,f,g,w;for(a=$k(new ywe(e)),g=new Ua(a,a.c.length),o=$k(new ywe(t)),w=new Ua(o,o.c.length),f=null;g.b>0&&w.b>0&&(n=(mr(g.b>0),l(g.a.Xb(g.c=--g.b),27)),r=(mr(w.b>0),l(w.a.Xb(w.c=--w.b),27)),n==r);)f=n;return f}function V2t(e,t,n){var r,a,o,f;Uot(e,t)>Uot(e,n)?(r=Oc(n,(Ct(),ar)),e.d=r.dc()?0:Tae(l(r.Xb(0),12)),f=Oc(t,er),e.b=f.dc()?0:Tae(l(f.Xb(0),12))):(a=Oc(n,(Ct(),er)),e.d=a.dc()?0:Tae(l(a.Xb(0),12)),o=Oc(t,ar),e.b=o.dc()?0:Tae(l(o.Xb(0),12)))}function U2t(e,t){var n,r,a,o;for(n=e.o.a,o=l(l($i(e.r,t),21),87).Kc();o.Ob();)a=l(o.Pb(),117),a.e.a=n*ze(Ge(a.b.of(pK))),a.e.b=(r=a.b,r.pf((pi(),rh))?r.ag()==(Ct(),Qn)?-r.Mf().b-ze(Ge(r.of(rh))):ze(Ge(r.of(rh))):r.ag()==(Ct(),Qn)?-r.Mf().b:0)}function xTn(e,t){var n,r,a,o;for(t.Ug("Self-Loop pre-processing",1),r=new G(e.a);r.ae.c));f++)a.a>=e.s&&(o<0&&(o=f),g=f);return w=(e.s+e.c)/2,o>=0&&(r=u_n(e,t,o,g),w=oln((Sn(r,t.c.length),l(t.c[r],339))),gEn(t,r,n)),w}function Wr(e,t,n){var r,a,o,f,g,w,E;for(f=(o=new CI,o),g7e(f,(nr(t),t)),E=(!f.b&&(f.b=new dh((Tn(),No),Yc,f)),f.b),w=1;w0&&sMn(this,a)}function F9e(e,t,n,r,a,o){var f,g,w;if(!a[t.a]){for(a[t.a]=!0,f=r,!f&&(f=new KH),vt(f.e,t),w=o[t.a].Kc();w.Ob();)g=l(w.Pb(),290),!(g.d==n||g.c==n)&&(g.c!=t&&F9e(e,g.c,t,f,a,o),g.d!=t&&F9e(e,g.d,t,f,a,o),vt(f.c,g),ra(f.d,g.b));return f}return null}function TTn(e){var t,n,r,a,o,f,g;for(t=0,a=new G(e.e);a.a=2}function CTn(e,t,n,r,a){var o,f,g,w,E,C;for(o=e.c.d.j,f=l(ff(n,0),8),C=1;C1||(t=rs(E0,he(le(Ko,1),it,95,0,[mp,T0])),yN(NH(t,e))>1)||(r=rs(S0,he(le(Ko,1),it,95,0,[Eg,qf])),yN(NH(r,e))>1))}function R9e(e,t,n){var r,a,o;for(o=new G(e.t);o.a0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&ui(t,r.b));for(a=new G(e.i);a.a0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&ui(n,r.a))}function CU(e){var t,n,r,a,o;if(e.g==null&&(e.d=e.bj(e.f),qr(e,e.d),e.c))return o=e.f,o;if(t=l(e.g[e.i-1],51),a=t.Pb(),e.e=t,n=e.bj(a),n.Ob())e.d=n,qr(e,n);else for(e.d=null;!t.Ob()&&(Ts(e.g,--e.i,null),e.i!=0);)r=l(e.g[e.i-1],51),t=r;return a}function _Tn(e,t){var n,r,a,o,f,g;if(r=t,a=r.Lk(),up(e.e,a)){if(a.Si()&&qH(e,a,r.md()))return!1}else for(g=Wu(e.e.Dh(),a),n=l(e.g,124),o=0;o1||n>1)return 2;return t+n==1?2:0}function Jl(e,t){var n,r,a,o,f,g;return o=e.a*hhe+e.b*1502,g=e.b*hhe+11,n=b.Math.floor(g*MP),o+=n,g-=n*cEe,o%=cEe,e.a=o,e.b=g,t<=24?b.Math.floor(e.a*m_e[t]):(a=e.a*(1<=2147483648&&(r-=4294967296),r)}function X2t(e,t,n){var r,a,o,f,g,w,E;for(o=new bt,E=new os,f=new os,YAn(e,E,f,t),_Mn(e,E,f,t,n),w=new G(e);w.ar.b.g&&$n(o.c,r);return o}function OTn(e,t,n){var r,a,o,f,g,w;for(g=e.c,f=(n.q?n.q:(Cn(),Cn(),mg)).vc().Kc();f.Ob();)o=l(f.Pb(),44),r=!_k(Fi(new bn(null,new kn(g,16)),new Wl(new att(t,o)))).Bd((Am(),zx)),r&&(w=o.md(),De(w,4)&&(a=H8e(w),a!=null&&(w=a)),t.qf(l(o.ld(),149),w))}function NTn(e,t,n){var r,a;if(qO(e.b),X0(e.b,(PN(),WW),(b_(),qB)),X0(e.b,YW,t.g),X0(e.b,XW,t.a),e.a=bP(e.b,t),n.Ug("Compaction by shrinking a tree",e.a.c.length),t.i.c.length>1)for(a=new G(e.a);a.a=0?e.Lh(r,!0,!0):Hw(e,o,!0),160)),l(a,220).Xl(t,n)}else throw ue(new Yn(Ob+t.xe()+kL))}function SU(e,t){var n,r,a,o,f;if(t){for(o=De(e.Cb,90)||De(e.Cb,102),f=!o&&De(e.Cb,331),r=new or((!t.a&&(t.a=new G_(t,Wo,t)),t.a));r.e!=r.i.gc();)if(n=l(gr(r),89),a=jU(n),o?De(a,90):f?De(a,156):a)return a;return o?(Tn(),Kf):(Tn(),td)}else return null}function PTn(e,t){var n,r,a,o;for(t.Ug("Resize child graph to fit parent.",1),r=new G(e.b);r.a=2*t&&vt(n,new vae(f[r-1]+t,f[r]-t));return n}function RTn(e,t,n){var r,a,o,f,g,w,E,C;if(n)for(o=n.a.length,r=new Dm(o),g=(r.b-r.a)*r.c<0?(sb(),tm):new cb(r);g.Ob();)f=l(g.Pb(),17),a=Jk(n,f.a),a&&(w=gmn(e,(E=(rb(),C=new jwe,C),t&&z9e(E,t),E),a),fE(w,Yg(a,Pd)),mU(a,w),h9e(a,w),wce(e,a,w))}function _U(e){var t,n,r,a,o,f;if(!e.j){if(f=new IS,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(dc(e));r.e!=r.i.gc();)n=l(gr(r),29),a=_U(n),As(f,a),qr(f,n);t.a.Bc(e)!=null}Iy(f),e.j=new N5((l(Oe(tt((lb(),Vn).o),11),19),f.i),f.g),Yl(e).b&=-33}return e.j}function jTn(e){var t,n,r,a;if(e==null)return null;if(r=Tu(e,!0),a=eB.length,vn(r.substr(r.length-a,a),eB)){if(n=r.length,n==4){if(t=(Xn(0,r.length),r.charCodeAt(0)),t==43)return KPe;if(t==45)return wAt}else if(n==3)return KPe}return new Awe(r)}function $Tn(e){var t,n,r;return n=e.l,n&n-1||(r=e.m,r&r-1)||(t=e.h,t&t-1)||t==0&&r==0&&n==0?-1:t==0&&r==0&&n!=0?i7e(n):t==0&&r!=0&&n==0?i7e(r)+22:t!=0&&r==0&&n==0?i7e(t)+44:-1}function u6(e,t){var n,r,a,o,f;for(a=t.a&e.f,o=null,r=e.b[a];;r=r.b){if(r==t){o?o.b=t.b:e.b[a]=t.b;break}o=r}for(f=t.f&e.f,o=null,n=e.c[f];;n=n.d){if(n==t){o?o.d=t.d:e.c[f]=t.d;break}o=n}t.e?t.e.c=t.c:e.a=t.c,t.c?t.c.e=t.e:e.e=t.e,--e.i,++e.g}function zTn(e,t){var n;t.d?t.d.b=t.b:e.a=t.b,t.b?t.b.d=t.d:e.e=t.d,!t.e&&!t.c?(n=l(Lf(l(ax(e.b,t.a),260)),260),n.a=0,++e.c):(n=l(Lf(l(cr(e.b,t.a),260)),260),--n.a,t.e?t.e.c=t.c:n.b=l(Lf(t.c),511),t.c?t.c.e=t.e:n.c=l(Lf(t.e),511)),--e.d}function qTn(e){var t,n,r,a,o,f,g,w,E,C;for(n=e.o,t=e.p,f=Ii,a=lo,g=Ii,o=lo,E=0;E0),o.a.Xb(o.c=--o.b),by(o,a),mr(o.b3&&ag(e,0,t-3))}function VTn(e){var t,n,r,a;return qe(Q(e,(Nt(),p4)))===qe((rp(),A2))?!e.e&&qe(Q(e,TB))!==qe((vE(),vB)):(r=l(Q(e,Z1e),299),a=Rt(Bt(Q(e,ede)))||qe(Q(e,JL))===qe((dA(),mB)),t=l(Q(e,SMe),17).a,n=e.a.c.length,!a&&r!=(vE(),vB)&&(t==0||t>n))}function UTn(e){var t,n;for(n=0;n0);n++);if(n>0&&n0);t++);return t>0&&n>16!=6&&t){if(FE(e,t))throw ue(new Yn(EL+d2t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?lxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,6,r)),r=Wye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,6,t,t))}function AU(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(FE(e,t))throw ue(new Yn(EL+evt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?gxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,12,r)),r=Yye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,3,t,t))}function z9e(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=9&&t){if(FE(e,t))throw ue(new Yn(EL+Jbt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?fxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,9,r)),r=Xye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,9,t,t))}function UE(e){var t,n,r,a,o;if(r=Of(e),o=e.j,o==null&&r)return e.Jk()?null:r.ik();if(De(r,156)){if(n=r.jk(),n&&(a=n.wi(),a!=e.i)){if(t=l(r,156),t.nk())try{e.g=a.ti(t,o)}catch(f){if(f=bs(f),De(f,82))e.g=null;else throw ue(f)}e.i=a}return e.g}return null}function ebt(e){var t;return t=new bt,vt(t,new B8(new lt(e.c,e.d),new lt(e.c+e.b,e.d))),vt(t,new B8(new lt(e.c,e.d),new lt(e.c,e.d+e.a))),vt(t,new B8(new lt(e.c+e.b,e.d+e.a),new lt(e.c+e.b,e.d))),vt(t,new B8(new lt(e.c+e.b,e.d+e.a),new lt(e.c,e.d+e.a))),t}function GTn(e){var t,n,r;if(e==null)return ul;try{return xc(e)}catch(a){if(a=bs(a),De(a,103))return t=a,r=_m(bh(e))+"@"+(n=(Vg(),q8e(e)>>>0),n.toString(16)),a6n(U3n(),(Dk(),"Exception during lenientFormat for "+r),t),"<"+r+" threw "+_m(t.Rm)+">";throw ue(a)}}function KTn(e,t,n){var r,a,o;for(o=t.a.ec().Kc();o.Ob();)a=l(o.Pb(),74),r=l(cr(e.b,a),272),!r&&(ds(cg(a))==ds(Eb(a))?NCn(e,a,n):cg(a)==ds(Eb(a))?cr(e.c,a)==null&&cr(e.b,Eb(a))!=null&&Ivt(e,a,n,!1):cr(e.d,a)==null&&cr(e.b,cg(a))!=null&&Ivt(e,a,n,!0))}function WTn(e,t){var n,r,a,o,f,g,w;for(a=e.Kc();a.Ob();)for(r=l(a.Pb(),10),g=new gu,Mc(g,r),la(g,(Ct(),ar)),rt(g,(ft(),oW),(Hn(),!0)),f=t.Kc();f.Ob();)o=l(f.Pb(),10),w=new gu,Mc(w,o),la(w,er),rt(w,oW,!0),n=new Tw,rt(n,oW,!0),po(n,g),Fa(n,w)}function YTn(e,t,n,r){var a,o,f,g;a=R1t(e,t,n),o=R1t(e,n,t),f=l(cr(e.c,t),118),g=l(cr(e.c,n),118),a1)for(t=hw((n=new Sm,++e.b,n),e.d),g=Rr(o,0);g.b!=g.d.c;)f=l(Br(g),125),p0(s0(i0(a0(r0(new _f,1),0),t),f))}function JTn(e,t,n){var r,a,o,f,g;for(n.Ug("Breaking Point Removing",1),e.a=l(Q(t,(Nt(),bp)),223),o=new G(t.b);o.a>16!=11&&t){if(FE(e,t))throw ue(new Yn(EL+oke(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?pxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,10,r)),r=s4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,11,t,t))}function ZTn(e){var t,n,r,a;for(r=new qm(new Sr(e.b).a);r.b;)n=Nw(r),a=l(n.ld(),12),t=l(n.md(),10),rt(t,(ft(),zi),a),rt(a,jl,t),rt(a,xB,(Hn(),!0)),la(a,l(Q(t,Wc),64)),Q(t,Wc),rt(a.i,(Nt(),Ms),(Ra(),sC)),l(Q(eo(a.i),Lu),21).Fc((Ho(),$T))}function eCn(e,t,n){var r,a,o,f,g,w;if(o=0,f=0,e.c)for(w=new G(e.d.i.j);w.ao.a?-1:a.aw){for(C=e.d,e.d=We(vPe,_Se,66,2*w+4,0,1),o=0;o=9223372036854776e3?(iE(),WSe):(a=!1,e<0&&(a=!0,e=-e),r=0,e>=Zm&&(r=ua(e/Zm),e-=r*Zm),n=0,e>=Lx&&(n=ua(e/Lx),e-=n*Lx),t=ua(e),o=qu(t,n,r),a&&yce(o),o)}function hCn(e){var t,n,r,a,o;if(o=new bt,Vu(e.b,new Jd(o)),e.b.c.length=0,o.c.length!=0){for(t=(Sn(0,o.c.length),l(o.c[0],82)),n=1,r=o.c.length;n=-t&&r==t?new ca(pt(n-1),pt(r)):new ca(pt(n),pt(r-1))}function rbt(){return vo(),he(le(EOn,1),it,81,0,[PAe,IAe,D6,f1e,eLe,DK,zK,l4,JAe,HAe,XAe,u4,ZAe,$Ae,tLe,SAe,PK,d1e,LK,RK,rLe,FK,_Ae,QAe,iLe,jK,nLe,MK,FAe,WAe,KAe,qK,MAe,AK,OK,LAe,LT,UAe,zAe,YAe,zL,OAe,DAe,GAe,qAe,NK,$K,AAe,BK,VAe,IK,RAe,BAe,gB,_K,jAe,NAe])}function gCn(e,t,n){e.d=0,e.b=0,t.k==(Zn(),Au)&&n.k==Au&&l(Q(t,(ft(),zi)),10)==l(Q(n,zi),10)&&($oe(t).j==(Ct(),Qn)?V2t(e,t,n):V2t(e,n,t)),t.k==Au&&n.k==Aa?$oe(t).j==(Ct(),Qn)?e.d=1:e.b=1:n.k==Au&&t.k==Aa&&($oe(n).j==(Ct(),Qn)?e.b=1:e.d=1),J6n(e,t,n)}function pCn(e){var t,n,r,a,o,f,g,w,E,C,L;return L=jxe(e),t=e.a,w=t!=null,w&&zk(L,"category",e.a),a=ZI(new br(e.d)),f=!a,f&&(E=new $p,e1(L,"knownOptions",E),n=new oQe(E),to(new br(e.d),n)),o=ZI(e.g),g=!o,g&&(C=new $p,e1(L,"supportedFeatures",C),r=new cQe(C),to(e.g,r)),L}function bCn(e){var t,n,r,a,o,f,g,w,E;for(r=!1,t=336,n=0,o=new Grt(e.length),g=e,w=0,E=g.length;w>16!=7&&t){if(FE(e,t))throw ue(new Yn(EL+lpt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?hxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,1,oF,r)),r=J4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,7,t,t))}function ibt(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(FE(e,t))throw ue(new Yn(EL+c1t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?dxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,0,uF,r)),r=Z4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,3,t,t))}function Que(e,t){GE();var n,r,a,o,f,g,w,E,C;return t.d>e.d&&(g=e,e=t,t=g),t.d<63?iSn(e,t):(f=(e.d&-2)<<4,E=v6e(e,f),C=v6e(t,f),r=mle(e,sx(E,f)),a=mle(t,sx(C,f)),w=Que(E,C),n=Que(r,a),o=Que(mle(E,r),mle(a,C)),o=Tle(Tle(o,w),n),o=sx(o,f),w=sx(w,f<<1),Tle(Tle(w,o),n))}function p2(){p2=U,gde=new M5(cyt,0),fDe=new M5("LONGEST_PATH",1),dDe=new M5("LONGEST_PATH_SOURCE",2),dde=new M5("COFFMAN_GRAHAM",3),hDe=new M5($he,4),gDe=new M5("STRETCH_WIDTH",5),CW=new M5("MIN_WIDTH",6),WT=new M5("BF_MODEL_ORDER",7),YT=new M5("DF_MODEL_ORDER",8)}function vCn(e,t,n){var r,a,o,f,g;for(f=TA(e,n),g=We(wg,m2,10,t.length,0,1),r=0,o=f.Kc();o.Ob();)a=l(o.Pb(),12),Rt(Bt(Q(a,(ft(),xB))))&&(g[r++]=l(Q(a,jl),10));if(r=0;o+=n?1:-1)f=f|t.c.lg(w,o,n,r&&!Rt(Bt(Q(t.j,(ft(),jb))))&&!Rt(Bt(Q(t.j,(ft(),j6))))),f=f|t.q.ug(w,o,n),f=f|Ubt(e,w[o],n,r);return na(e.c,t),f}function DU(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=Tct(e.j),L=0,B=C.length;L1&&(e.a=!0),Qdn(l(n.b,68),Oi(Ja(l(t.b,68).c),md(ma(Ja(l(n.b,68).a),l(t.b,68).a),a))),Dot(e,t),sbt(e,n)}function abt(e){var t,n,r,a,o,f,g;for(o=new G(e.a.a);o.a0&&o>0?f.p=t++:r>0?f.p=n++:o>0?f.p=a++:f.p=n++}Cn(),Vs(e.j,new W9)}function ECn(e){var t,n;n=null,t=l(jt(e.g,0),18);do{if(n=t.d.i,ns(n,(ft(),$f)))return l(Q(n,$f),12).i;if(n.k!=(Zn(),Ps)&&jr(new hr(dr(qs(n).a.Kc(),new j))))t=l(xr(new hr(dr(qs(n).a.Kc(),new j))),18);else if(n.k!=Ps)return null}while(n&&n.k!=(Zn(),Ps));return n}function TCn(e,t){var n,r,a,o,f,g,w,E,C;for(g=t.j,f=t.g,w=l(jt(g,g.c.length-1),113),C=(Sn(0,g.c.length),l(g.c[0],113)),E=vue(e,f,w,C),o=1;oE&&(w=n,C=a,E=r);t.a=C,t.c=w}function CCn(e,t,n){var r,a,o,f,g,w,E;for(E=new Kp(new UYe(e)),f=he(le(F8t,1),I3t,12,0,[t,n]),g=0,w=f.length;gw-e.b&&gw-e.a&&g0?o.a?(g=o.b.Mf().a,n>g&&(a=(n-g)/2,o.d.b=a,o.d.c=a)):o.d.c=e.s+n:W_(e.u)&&(r=$xe(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.Mf().a&&(o.d.c=r.c+r.b-o.b.Mf().a))}function qCn(e,t){var n,r,a,o,f;f=new bt,n=t;do o=l(cr(e.b,n),131),o.B=n.c,o.D=n.d,$n(f.c,o),n=l(cr(e.k,n),18);while(n);return r=(Sn(0,f.c.length),l(f.c[0],131)),r.j=!0,r.A=l(r.d.a.ec().Kc().Pb(),18).c.i,a=l(jt(f,f.c.length-1),131),a.q=!0,a.C=l(a.d.a.ec().Kc().Pb(),18).d.i,f}function HCn(e){var t,n;if(t=l(e.a,17).a,n=l(e.b,17).a,t>=0){if(t==n)return new ca(pt(-t-1),pt(-t-1));if(t==-n)return new ca(pt(-t),pt(n+1))}return b.Math.abs(t)>b.Math.abs(n)?t<0?new ca(pt(-t),pt(n)):new ca(pt(-t),pt(n+1)):new ca(pt(t+1),pt(n))}function VCn(e){var t,n;n=l(Q(e,(Nt(),Qu)),171),t=l(Q(e,(ft(),hv)),311),n==(hf(),$b)?(rt(e,Qu,EB),rt(e,hv,(ep(),F6))):n==d4?(rt(e,Qu,EB),rt(e,hv,(ep(),Ux))):t==(ep(),F6)?(rt(e,Qu,$b),rt(e,hv,wB)):t==Ux&&(rt(e,Qu,d4),rt(e,hv,wB))}function IU(){IU=U,IB=new pte,XEt=fi(new Xs,(uo(),bu),(vo(),LK)),ZEt=yl(fi(new Xs,bu,FK),mc,BK),eTt=Td(Td(v_(yl(fi(new Xs,y0,zK),mc,$K),_u),jK),qK),QEt=yl(fi(fi(fi(new Xs,vg,DK),_u,OK),_u,LT),mc,IK),JEt=yl(fi(fi(new Xs,_u,LT),_u,AK),mc,_K)}function GA(){GA=U,rTt=fi(yl(new Xs,(uo(),mc),(vo(),RAe)),bu,LK),oTt=Td(Td(v_(yl(fi(new Xs,y0,zK),mc,$K),_u),jK),qK),iTt=yl(fi(fi(fi(new Xs,vg,DK),_u,OK),_u,LT),mc,IK),aTt=fi(fi(new Xs,bu,FK),mc,BK),sTt=yl(fi(fi(new Xs,_u,LT),_u,AK),mc,_K)}function UCn(e,t,n,r,a){var o,f;(!Do(t)&&t.c.i.c==t.d.i.c||!uft(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])),n))&&!Do(t)&&(t.c==a?Pk(t.a,0,new Eo(n)):ui(t.a,new Eo(n)),r&&!W0(e.a,n)&&(f=l(Q(t,(Nt(),cc)),75),f||(f=new bl,rt(t,cc,f)),o=new Eo(n),Cs(f,o,f.c.b,f.c),na(e.a,o)))}function ubt(e,t){var n,r,a,o;for(o=Yr(mo(fg,ig(Yr(mo(t==null?0:es(t),dg)),15))),n=o&e.b.length-1,a=null,r=e.b[n];r;a=r,r=r.a)if(r.d==o&&yd(r.i,t))return a?a.a=r.a:e.b[n]=r.a,RJe(l(Lf(r.c),604),l(Lf(r.f),604)),WI(l(Lf(r.b),227),l(Lf(r.e),227)),--e.f,++e.e,!0;return!1}function GCn(e){var t,n;for(n=new hr(dr(ka(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),18),t.c.i.k!=(Zn(),cu))throw ue(new Vp(jhe+HN(e)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function KCn(e,t,n){var r,a,o,f,g,w,E;if(a=d1t(e.Db&254),a==0)e.Eb=n;else{if(a==1)g=We(wa,Rn,1,2,5,1),o=mue(e,t),o==0?(g[0]=n,g[1]=e.Eb):(g[0]=e.Eb,g[1]=n);else for(g=We(wa,Rn,1,a+1,5,1),f=jm(e.Eb),r=2,w=0,E=0;r<=128;r<<=1)r==t?g[E++]=n:e.Db&r&&(g[E++]=f[w++]);e.Eb=g}e.Db|=t}function lbt(e,t,n){var r,a,o,f;for(this.b=new bt,a=0,r=0,f=new G(e);f.a0&&(o=l(jt(this.b,0),176),a+=o.o,r+=o.p),a*=2,r*=2,t>1?a=ua(b.Math.ceil(a*t)):r=ua(b.Math.ceil(r/t)),this.a=new I8e(a,r)}function hbt(e,t,n,r,a,o){var f,g,w,E,C,L,B,z,V,J,te,fe;for(C=r,t.j&&t.o?(z=l(cr(e.f,t.A),60),J=z.d.c+z.d.b,--C):J=t.a.c+t.a.b,L=a,n.q&&n.o?(z=l(cr(e.f,n.C),60),E=z.d.c,++L):E=n.a.c,te=E-J,w=b.Math.max(2,L-C),g=te/w,V=J+g,B=C;B=0;f+=a?1:-1){for(g=t[f],w=r==(Ct(),ar)?a?Oc(g,r):lf(Oc(g,r)):a?lf(Oc(g,r)):Oc(g,r),o&&(e.c[g.p]=w.gc()),L=w.Kc();L.Ob();)C=l(L.Pb(),12),e.d[C.p]=E++;ra(n,w)}}function dbt(e,t,n){var r,a,o,f,g,w,E,C;for(o=ze(Ge(e.b.Kc().Pb())),E=ze(Ge(V3n(t.b))),r=md(Ja(e.a),E-n),a=md(Ja(t.a),n-o),C=Oi(r,a),md(C,1/(E-o)),this.a=C,this.b=new bt,g=!0,f=e.b.Kc(),f.Pb();f.Ob();)w=ze(Ge(f.Pb())),g&&w-n>wfe&&(this.b.Fc(n),g=!1),this.b.Fc(w);g&&this.b.Fc(n)}function WCn(e){var t,n,r,a;if(f_n(e,e.n),e.d.c.length>0){for(u_(e.c);L9e(e,l(re(new G(e.e.a)),125))>5,t&=31,r>=e.d)return e.e<0?(Cd(),w6t):(Cd(),BL);if(o=e.d-r,a=We(Vr,di,28,o+1,15,1),j9n(a,o,e.a,r,t),e.e<0){for(n=0;n0&&e.a[n]<<32-t){for(n=0;n=0?!1:(n=g6((El(),io),a,t),n?(r=n.Ik(),(r>1||r==-1)&&kw(ic(io,n))!=3):!0)):!1}function JCn(e,t,n,r){var a,o,f,g,w;return g=bc(l(Oe((!t.b&&(t.b=new Ln(_r,t,4,7)),t.b),0),84)),w=bc(l(Oe((!t.c&&(t.c=new Ln(_r,t,5,8)),t.c),0),84)),ds(g)==ds(w)||Ly(w,g)?null:(f=WO(t),f==n?r:(o=l(cr(e.a,f),10),o&&(a=o.e,a)?a:null))}function ZCn(e,t,n){var r,a,o,f,g;for(n.Ug("Longest path to source layering",1),e.a=t,g=e.a.a,e.b=We(Vr,di,28,g.c.length,15,1),r=0,f=new G(g);f.a0&&(n[0]+=e.d,f-=n[0]),n[2]>0&&(n[2]+=e.d,f-=n[2]),o=b.Math.max(0,f),n[1]=b.Math.max(n[1],f),y6e(e,$u,a.c+r.b+n[0]-(n[1]-f)/2,n),t==$u&&(e.c.b=o,e.c.c=a.c+r.b+(o-f)/2)}function Ebt(){this.c=We(Na,Zo,28,(Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])).length,15,1),this.b=We(Na,Zo,28,he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er]).length,15,1),this.a=We(Na,Zo,28,he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er]).length,15,1),E3e(this.c,gs),E3e(this.b,ia),E3e(this.a,ia)}function Eu(e,t,n){var r,a,o,f;if(t<=n?(a=t,o=n):(a=n,o=t),r=0,e.b==null)e.b=We(Vr,di,28,2,15,1),e.b[0]=a,e.b[1]=o,e.c=!0;else{if(r=e.b.length,e.b[r-1]+1==a){e.b[r-1]=o;return}f=We(Vr,di,28,r+2,15,1),pu(e.b,0,f,0,r),e.b=f,e.b[r-1]>=a&&(e.c=!1,e.a=!1),e.b[r++]=a,e.b[r]=o,e.c||c6(e)}}function sSn(e,t,n){var r,a,o,f,g,w,E;for(E=t.d,e.a=new Bu(E.c.length),e.c=new Pr,g=new G(E);g.a=0?e.Lh(E,!1,!0):Hw(e,n,!1),61));e:for(o=L.Kc();o.Ob();){for(a=l(o.Pb(),58),C=0;C1;)Vy(a,a.i-1);return r}function Cbt(e,t){var n,r,a,o,f,g,w;for(n=new z5,o=new G(e.b);o.ae.d[f.p]&&(n+=f6e(e.b,o),gb(e.a,pt(o)));for(;!l_(e.a);)U6e(e.b,l(X8(e.a),17).a)}return n}function hSn(e){var t,n,r,a,o,f,g,w,E;for(e.a=new i4e,E=0,a=0,r=new G(e.i.b);r.ag.d&&(C=g.d+g.a+E));n.c.d=C,t.a.zc(n,t),w=b.Math.max(w,n.c.d+n.c.a)}return w}function Ho(){Ho=U,eW=new uy("COMMENTS",0),vf=new uy("EXTERNAL_PORTS",1),UL=new uy("HYPEREDGES",2),tW=new uy("HYPERNODES",3),$T=new uy("NON_FREE_PORTS",4),B6=new uy("NORTH_SOUTH_PORTS",5),GL=new uy(X3t,6),RT=new uy("CENTER_LABELS",7),jT=new uy("END_LABELS",8),nW=new uy("PARTITIONS",9)}function dSn(e,t,n,r,a){return r<0?(r=o6(e,a,he(le(zt,1),dt,2,6,[$le,zle,qle,Hle,_x,Vle,Ule,Gle,Kle,Wle,Yle,Xle]),t),r<0&&(r=o6(e,a,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function gSn(e,t,n,r,a){return r<0?(r=o6(e,a,he(le(zt,1),dt,2,6,[$le,zle,qle,Hle,_x,Vle,Ule,Gle,Kle,Wle,Yle,Xle]),t),r<0&&(r=o6(e,a,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function pSn(e,t,n,r,a,o){var f,g,w,E;if(g=32,r<0){if(t[0]>=e.length||(g=co(e,t[0]),g!=43&&g!=45)||(++t[0],r=kU(e,t),r<0))return!1;g==45&&(r=-r)}return g==32&&t[0]-n==2&&a.b==2&&(w=new Qz,E=w.q.getFullYear()-Lb+Lb-80,f=E%100,o.a=r==f,r+=(E/100|0)*100+(r=0?kb(e):J_(kb(r2(e)))),FL[t]=Aq(l0(e,t),0)?kb(l0(e,t)):J_(kb(r2(l0(e,t)))),e=mo(e,5);for(;t=E&&(w=r);w&&(C=b.Math.max(C,w.a.o.a)),C>B&&(L=E,B=C)}return L}function xSn(e){var t,n,r,a,o,f,g;for(o=new Kp(l(Xr(new Wh),50)),g=ia,n=new G(e.d);n.akyt?Vs(w,e.b):r<=kyt&&r>Eyt?Vs(w,e.d):r<=Eyt&&r>Tyt?Vs(w,e.c):r<=Tyt&&Vs(w,e.a),o=Mbt(e,w,o);return a}function Dbt(e,t,n,r){var a,o,f,g,w,E;for(a=(r.c+r.a)/2,Ch(t.j),ui(t.j,a),Ch(n.e),ui(n.e,a),E=new QJe,g=new G(e.f);g.a1,g&&(r=new lt(a,n.b),ui(t.a,r)),fA(t.a,he(le(Ea,1),dt,8,0,[B,L]))}function J9e(e,t,n){var r,a;for(t=48;n--)GM[n]=n-48<<24>>24;for(r=70;r>=65;r--)GM[r]=r-65+10<<24>>24;for(a=102;a>=97;a--)GM[a]=a-97+10<<24>>24;for(o=0;o<10;o++)LY[o]=48+o&Zs;for(e=10;e<=15;e++)LY[e]=65+e-10&Zs}function CSn(e,t){t.Ug("Process graph bounds",1),rt(e,(Qi(),Bde),fO(uce(xy(new bn(null,new kn(e.b,16)),new zte)))),rt(e,Fde,fO(uce(xy(new bn(null,new kn(e.b,16)),new qte)))),rt(e,rIe,fO(cce(xy(new bn(null,new kn(e.b,16)),new Hte)))),rt(e,iIe,fO(cce(xy(new bn(null,new kn(e.b,16)),new Vte)))),t.Vg()}function SSn(e){var t,n,r,a,o;a=l(Q(e,(Nt(),bv)),21),o=l(Q(e,xW),21),n=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),t=new Eo(n),a.Hc((mh(),A4))&&(r=l(Q(e,qT),8),o.Hc((Zl(),aC))&&(r.a<=0&&(r.a=20),r.b<=0&&(r.b=20)),t.a=b.Math.max(n.a,r.a),t.b=b.Math.max(n.b,r.b)),Rt(Bt(Q(e,ade)))||nLn(e,n,t)}function _Sn(e,t){var n,r,a,o;for(o=Oc(t,(Ct(),Dr)).Kc();o.Ob();)r=l(o.Pb(),12),n=l(Q(r,(ft(),jl)),10),n&&p0(s0(i0(a0(r0(new _f,0),.1),e.i[t.p].d),e.i[n.p].a));for(a=Oc(t,Qn).Kc();a.Ob();)r=l(a.Pb(),12),n=l(Q(r,(ft(),jl)),10),n&&p0(s0(i0(a0(r0(new _f,0),.1),e.i[n.p].d),e.i[t.p].a))}function Zue(e){var t,n,r,a,o,f;if(!e.c){if(f=new Qc,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(du(e));r.e!=r.i.gc();)n=l(gr(r),89),a=jU(n),De(a,90)&&As(f,Zue(l(a,29))),qr(f,n);t.a.Bc(e)!=null,t.a.gc()==0}k5n(f),Iy(f),e.c=new N5((l(Oe(tt((lb(),Vn).o),15),19),f.i),f.g),Yl(e).b&=-33}return e.c}function eke(e){var t;if(e.c!=10)throw ue(new ri(ai((Jr(),VG))));switch(t=e.a,t){case 110:t=10;break;case 114:t=13;break;case 116:t=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw ue(new ri(ai((Jr(),bf))))}return t}function Pbt(e){var t,n,r,a,o;if(e.l==0&&e.m==0&&e.h==0)return"0";if(e.h==SP&&e.m==0&&e.l==0)return"-9223372036854775808";if(e.h>>19)return"-"+Pbt(xE(e));for(n=e,r="";!(n.l==0&&n.m==0&&n.h==0);){if(a=Loe(JU),n=Nke(n,a,!0),t=""+rZe(Nb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-t.length;o>0;o--)t="0"+t;r=t+r}return r}function ASn(e){var t,n,r,a,o,f,g;for(t=!1,n=0,a=new G(e.d.b);a.a=e.a||!Bxe(t,n))return-1;if(Zk(l(r.Kb(t),20)))return 1;for(a=0,f=l(r.Kb(t),20).Kc();f.Ob();)if(o=l(f.Pb(),18),w=o.c.i==t?o.d.i:o.c.i,g=tke(e,w,n,r),g==-1||(a=b.Math.max(a,g),a>e.c-1))return-1;return a+1}function Bbt(e,t){var n,r,a,o,f,g;if(qe(t)===qe(e))return!0;if(!De(t,15)||(r=l(t,15),g=e.gc(),r.gc()!=g))return!1;if(f=r.Kc(),e.Yi()){for(n=0;n0){if(e._j(),t!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return e-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return e-65+10<<24>>24;default:throw ue(new gd("Invalid hexadecimal"))}}function PU(){PU=U,j_e=new L5("SPIRAL",0),P_e=new L5("LINE_BY_LINE",1),B_e=new L5("MANHATTAN",2),N_e=new L5("JITTER",3),z0e=new L5("QUADRANTS_LINE_BY_LINE",4),R_e=new L5("QUADRANTS_MANHATTAN",5),F_e=new L5("QUADRANTS_JITTER",6),O_e=new L5("COMBINE_LINE_BY_LINE_MANHATTAN",7),I_e=new L5("COMBINE_JITTER_MANHATTAN",8)}function Rbt(e,t,n,r){var a,o,f,g,w,E;for(w=Tue(e,n),E=Tue(t,n),a=!1;w&&E&&(r||C7n(w,E,n));)f=Tue(w,n),g=Tue(E,n),uN(t),uN(e),o=w.c,Cle(w,!1),Cle(E,!1),n?(Fy(t,E.p,o),t.p=E.p,Fy(e,w.p+1,o),e.p=w.p):(Fy(e,w.p,o),e.p=w.p,Fy(t,E.p+1,o),t.p=E.p),Va(w,null),Va(E,null),w=f,E=g,a=!0;return a}function jbt(e){switch(e.g){case 0:return new Gre;case 1:return new XS;case 3:return new fet;case 4:return new zee;case 5:return new zrt;case 6:return new jI;case 2:return new YS;case 7:return new az;case 8:return new RI;default:throw ue(new Yn("No implementation is available for the layerer "+(e.f!=null?e.f:""+e.g)))}}function NSn(e,t,n,r){var a,o,f,g,w;for(a=!1,o=!1,g=new G(r.j);g.a=t.length)throw ue(new tc("Greedy SwitchDecider: Free layer not in graph."));this.c=t[e],this.e=new IO(r),ice(this.e,this.c,(Ct(),er)),this.i=new IO(r),ice(this.i,this.c,ar),this.f=new ist(this.c),this.a=!o&&a.i&&!a.s&&this.c[0].k==(Zn(),Us),this.a&&W9n(this,e,t.length)}function zbt(e,t){var n,r,a,o,f,g;o=!e.B.Hc((Zl(),sF)),f=e.B.Hc(Gge),e.a=new _1t(f,o,e.c),e.n&&O5e(e.a.n,e.n),Xie(e.g,(t1(),$u),e.a),t||(r=new DA(1,o,e.c),r.n.a=e.k,Q8(e.p,(Ct(),Qn),r),a=new DA(1,o,e.c),a.n.d=e.k,Q8(e.p,Dr,a),g=new DA(0,o,e.c),g.n.c=e.k,Q8(e.p,er,g),n=new DA(0,o,e.c),n.n.b=e.k,Q8(e.p,ar,n))}function BSn(e){var t,n,r;switch(t=l(Q(e.d,(Nt(),bp)),223),t.g){case 2:n=TIn(e);break;case 3:n=(r=new bt,Is(Fi(fc(Dc(Dc(new bn(null,new kn(e.d.b,16)),new dee),new gee),new pee),new wS),new xYe(r)),r);break;default:throw ue(new nc("Compaction not supported for "+t+" edges."))}GLn(e,n),to(new br(e.g),new wYe(e))}function FSn(e,t){var n,r,a,o,f,g,w;if(t.Ug("Process directions",1),n=l(Q(e,(Hc(),y3)),88),n!=(Js(),Q1))for(a=Rr(e.b,0);a.b!=a.d.c;){switch(r=l(Br(a),40),g=l(Q(r,(Qi(),PB)),17).a,w=l(Q(r,BB),17).a,n.g){case 4:w*=-1;break;case 1:o=g,g=w,w=o;break;case 2:f=g,g=-w,w=f}rt(r,PB,pt(g)),rt(r,BB,pt(w))}t.Vg()}function RSn(e,t){var n;return n=new Bs,t&&pc(n,l(cr(e.a,oF),96)),De(t,422)&&pc(n,l(cr(e.a,cF),96)),De(t,366)?(pc(n,l(cr(e.a,ec),96)),n):(De(t,84)&&pc(n,l(cr(e.a,_r),96)),De(t,207)?(pc(n,l(cr(e.a,Ai),96)),n):De(t,193)?(pc(n,l(cr(e.a,Hl),96)),n):(De(t,326)&&pc(n,l(cr(e.a,js),96)),n))}function jSn(e){var t,n,r,a,o,f,g,w;for(w=new xut,g=new G(e.a);g.a0&&t=0)return!1;if(t.p=n.b,vt(n.e,t),a==(Zn(),Aa)||a==Au){for(f=new G(t.j);f.ae.d[g.p]&&(n+=f6e(e.b,o),gb(e.a,pt(o)))):++f;for(n+=e.b.d*f;!l_(e.a);)U6e(e.b,l(X8(e.a),17).a)}return n}function Qbt(e){var t,n,r,a,o,f;return o=0,t=Of(e),t.kk()&&(o|=4),e.Bb&Sl&&(o|=2),De(e,102)?(n=l(e,19),a=Ro(n),n.Bb&eu&&(o|=32),a&&(yr(ky(a)),o|=8,f=a.t,(f>1||f==-1)&&(o|=16),a.Bb&eu&&(o|=64)),n.Bb&Io&&(o|=r4),o|=m0):De(t,469)?o|=512:(r=t.kk(),r&&r.i&1&&(o|=256)),e.Bb&512&&(o|=128),o}function QSn(e,t){var n;return e.f==spe?(n=kw(ic((El(),io),t)),e.e?n==4&&t!=(kx(),u9)&&t!=(kx(),c9)&&t!=(kx(),ape)&&t!=(kx(),ope):n==2):e.d&&(e.d.Hc(t)||e.d.Hc(rx(ic((El(),io),t)))||e.d.Hc(g6((El(),io),e.b,t)))?!0:e.f&&q9e((El(),e.f),HO(ic(io,t)))?(n=kw(ic(io,t)),e.e?n==4:n==2):!1}function JSn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;for(B=-1,z=0,E=e,C=0,L=E.length;C0&&++z;++B}return z}function ZSn(e,t,n,r){var a,o,f,g,w,E,C,L;return f=l(at(n,(pi(),n9)),8),w=f.a,C=f.b+e,a=b.Math.atan2(C,w),a<0&&(a+=iv),a+=t,a>iv&&(a-=iv),g=l(at(r,n9),8),E=g.a,L=g.b+e,o=b.Math.atan2(L,E),o<0&&(o+=iv),o+=t,o>iv&&(o-=iv),A1(),f0(1e-10),b.Math.abs(a-o)<=1e-10||a==o||isNaN(a)&&isNaN(o)?0:ao?1:uw(isNaN(a),isNaN(o))}function nle(e){var t,n,r,a,o,f,g;for(g=new Pr,r=new G(e.a.b);r.a=e.o)throw ue(new Bwe);g=t>>5,f=t&31,o=l0(1,Yr(l0(f,1))),a?e.n[n][g]=Q0(e.n[n][g],o):e.n[n][g]=va(e.n[n][g],O4e(o)),o=l0(o,1),r?e.n[n][g]=Q0(e.n[n][g],o):e.n[n][g]=va(e.n[n][g],O4e(o))}catch(w){throw w=bs(w),De(w,333)?ue(new tc(Ehe+e.o+"*"+e.p+The+t+Co+n+Che)):ue(w)}}function n_n(e,t,n,r){var a,o,f,g,w,E,C,L,B;for(B=new Kp(new VYe(e)),g=he(le(wg,1),m2,10,0,[t,n]),w=0,E=g.length;w0&&(r=(!e.n&&(e.n=new nt(ec,e,1,7)),l(Oe(e.n,0),135)).a,!r||hi(hi((t.a+=' "',t),r),'"'))),hi(rw(hi(rw(hi(rw(hi(rw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function Jbt(e){var t,n,r;return e.Db&64?Pue(e):(t=new Th(uSe),n=e.k,n?hi(hi((t.a+=' "',t),n),'"'):(!e.n&&(e.n=new nt(ec,e,1,7)),e.n.i>0&&(r=(!e.n&&(e.n=new nt(ec,e,1,7)),l(Oe(e.n,0),135)).a,!r||hi(hi((t.a+=' "',t),r),'"'))),hi(rw(hi(rw(hi(rw(hi(rw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function s_n(e,t){var n,r,a,o,f;for(t==(yA(),Cde)&&JN(l($i(e.a,(Ry(),bB)),15)),a=l($i(e.a,(Ry(),bB)),15).Kc();a.Ob();)switch(r=l(a.Pb(),105),n=l(jt(r.j,0),113).d.j,o=new Ol(r.j),Vs(o,new Rj),t.g){case 2:Lue(e,o,n,(Ow(),Rb),1);break;case 1:case 0:f=UTn(o),Lue(e,new Zp(o,0,f),n,(Ow(),Rb),0),Lue(e,new Zp(o,f,o.c.length),n,Rb,1)}}function ile(e,t){var n,r,a,o,f,g,w;if(t==null||t.length==0)return null;if(a=l(xu(e.a,t),143),!a){for(r=(g=new gi(e.b).a.vc().Kc(),new fs(g));r.a.Ob();)if(n=(o=l(r.a.Pb(),44),l(o.md(),143)),f=n.c,w=t.length,vn(f.substr(f.length-w,w),t)&&(t.length==f.length||co(f,f.length-t.length-1)==46)){if(a)return null;a=n}a&&rc(e.a,t,a)}return a}function a_n(e,t){var n,r,a,o;return n=new as,r=l(yc(fc(new bn(null,new kn(e.f,16)),n),Sy(new yt,new ji,new qn,new Un,he(le(oc,1),it,108,0,[(Fl(),i4),Ec]))),21),a=r.gc(),r=l(yc(fc(new bn(null,new kn(t.f,16)),n),Sy(new yt,new ji,new qn,new Un,he(le(oc,1),it,108,0,[i4,Ec]))),21),o=r.gc(),aa.p?(la(o,Dr),o.d&&(g=o.o.b,t=o.a.b,o.a.b=g-t)):o.j==Dr&&a.p>e.p&&(la(o,Qn),o.d&&(g=o.o.b,t=o.a.b,o.a.b=-(g-t)));break}return a}function uP(e,t,n,r,a){var o,f,g,w,E,C,L;if(!(De(t,207)||De(t,366)||De(t,193)))throw ue(new Yn("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return f=e.a/2,w=t.i+r-f,C=t.j+a-f,E=w+t.g+e.a,L=C+t.f+e.a,o=new bl,ui(o,new lt(w,C)),ui(o,new lt(w,L)),ui(o,new lt(E,L)),ui(o,new lt(E,C)),g=new Gue(o),pc(g,t),n&&ki(e.b,t,g),g}function KE(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(o=new lt(t,n),C=new G(e.a);C.a1,g&&(r=new lt(a,n.b),ui(t.a,r)),fA(t.a,he(le(Ea,1),dt,8,0,[B,L]))}function Nf(){Nf=U,AW=new ly(Id,0),AB=new ly("NIKOLOV",1),LB=new ly("NIKOLOV_PIXEL",2),xDe=new ly("NIKOLOV_IMPROVED",3),kDe=new ly("NIKOLOV_IMPROVED_PIXEL",4),yDe=new ly("DUMMYNODE_PERCENTAGE",5),EDe=new ly("NODECOUNT_PERCENTAGE",6),LW=new ly("NO_BOUNDARY",7),v3=new ly("MODEL_ORDER_LEFT_TO_RIGHT",8),x4=new ly("MODEL_ORDER_RIGHT_TO_LEFT",9)}function b_n(e){var t,n,r,a,o;for(r=e.length,t=new h_,o=0;o=40,f&&mAn(e),SLn(e),WCn(e),n=m1t(e),r=0;n&&r0&&ui(e.f,o)):(e.c[f]-=E+1,e.c[f]<=0&&e.a[f]>0&&ui(e.e,o))))}function hmt(e,t,n,r){var a,o,f,g,w,E,C;for(w=new lt(n,r),ma(w,l(Q(t,(Qi(),QT)),8)),C=Rr(t.b,0);C.b!=C.d.c;)E=l(Br(C),40),Oi(E.e,w),ui(e.b,E);for(g=l(yc(V5e(new bn(null,new kn(t.a,16))),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15).Kc();g.Ob();){for(f=l(g.Pb(),65),o=Rr(f.a,0);o.b!=o.d.c;)a=l(Br(o),8),a.a+=w.a,a.b+=w.b;ui(e.a,f)}}function bke(e,t){var n,r,a,o;if(0<(De(e,16)?l(e,16).gc():Xg(e.Kc()))){if(a=t,1=0&&wo*2?(C=new hV(L),E=wl(f)/gh(f),w=Lle(C,t,new A8,n,r,a,E),Oi(Y0(C.e),w),L.c.length=0,o=0,$n(L.c,C),$n(L.c,f),o=wl(C)*gh(C)+wl(f)*gh(f)):($n(L.c,f),o+=wl(f)*gh(f));return L}function dmt(e,t){var n,r,a,o,f,g;if(g=l(Q(t,(Nt(),Ms)),101),g==(Ra(),Tg)||g==Mu)for(a=new lt(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a).b,f=new G(e.a);f.an?t:n;E<=L;++E)E==n?g=r++:(o=a[E],C=V.am(o.Lk()),E==t&&(w=E==L&&!C?r-1:r),C&&++r);return B=l(AA(e,t,n),76),g!=w&&xk(e,new sN(e.e,7,f,pt(g),z.md(),w)),B}}else return l(Hue(e,t,n),76);return l(AA(e,t,n),76)}function B_n(e,t){var n,r,a,o,f,g,w;for(t.Ug("Port order processing",1),w=l(Q(e,(Nt(),ZMe)),430),r=new G(e.b);r.a=0&&(g=M7n(e,f),!(g&&(E<22?w.l|=1<>>1,f.m=C>>>1|(L&1)<<21,f.l=B>>>1|(C&1)<<21,--E;return n&&yce(w),o&&(r?(Nb=xE(e),a&&(Nb=Jft(Nb,(iE(),YSe)))):Nb=qu(e.l,e.m,e.h)),w}function j_n(e,t){var n,r,a,o,f,g,w,E,C,L;for(E=e.e[t.c.p][t.p]+1,w=t.c.a.c.length+1,g=new G(e.a);g.a0&&(Xn(0,e.length),e.charCodeAt(0)==45||(Xn(0,e.length),e.charCodeAt(0)==43))?1:0,r=f;rn)throw ue(new gd(Yw+e+'"'));return g}function $_n(e){var t,n,r,a,o,f,g;for(f=new os,o=new G(e.a);o.a1)&&t==1&&l(e.a[e.b],10).k==(Zn(),cu)?Tx(l(e.a[e.b],10),(Ih(),kg)):r&&(!n||(e.c-e.b&e.a.length-1)>1)&&t==1&&l(e.a[e.c-1&e.a.length-1],10).k==(Zn(),cu)?Tx(l(e.a[e.c-1&e.a.length-1],10),(Ih(),Gb)):(e.c-e.b&e.a.length-1)==2?(Tx(l(wA(e),10),(Ih(),kg)),Tx(l(wA(e),10),Gb)):pTn(e,a),l6e(e)}function H_n(e,t,n){var r,a,o,f,g;for(o=0,a=new or((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a));a.e!=a.i.gc();)r=l(gr(a),27),f="",(!r.n&&(r.n=new nt(ec,r,1,7)),r.n).i==0||(f=l(Oe((!r.n&&(r.n=new nt(ec,r,1,7)),r.n),0),135).a),g=new xce(o++,t,f),pc(g,r),rt(g,(Qi(),gM),r),g.e.b=r.j+r.f/2,g.f.a=b.Math.max(r.g,1),g.e.a=r.i+r.g/2,g.f.b=b.Math.max(r.f,1),ui(t.b,g),ju(n.f,r,g)}function V_n(e){var t,n,r,a,o;r=l(Q(e,(ft(),zi)),27),o=l(at(r,(Nt(),bv)),181).Hc((mh(),Cv)),e.e||(a=l(Q(e,Lu),21),t=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),a.Hc((Ho(),vf))?(Hi(r,Ms,(Ra(),Mu)),Gw(r,t.a,t.b,!1,!0)):Rt(Bt(at(r,ade)))||Gw(r,t.a,t.b,!0,!0)),o?Hi(r,bv,un(Cv)):Hi(r,bv,(n=l(K0(BM),9),new Zh(n,l(c0(n,n.length),9),0)))}function mke(e,t,n){var r,a,o,f;if(t[0]>=e.length)return n.o=0,!0;switch(co(e,t[0])){case 43:a=1;break;case 45:a=-1;break;default:return n.o=0,!0}if(++t[0],o=t[0],f=kU(e,t),f==0&&t[0]==o)return!1;if(t[0]g&&(g=a,C.c.length=0),a==g&&vt(C,new ca(n.c.i,n)));Cn(),Vs(C,e.c),pw(e.b,w.p,C)}}function W_n(e,t){var n,r,a,o,f,g,w,E,C;for(f=new G(t.b);f.ag&&(g=a,C.c.length=0),a==g&&vt(C,new ca(n.d.i,n)));Cn(),Vs(C,e.c),pw(e.f,w.p,C)}}function Y_n(e,t){var n,r,a,o,f,g,w,E;if(E=Bt(Q(t,(Hc(),MTt))),E==null||(nr(E),E)){for(yEn(e,t),a=new bt,w=Rr(t.b,0);w.b!=w.d.c;)f=l(Br(w),40),n=i9e(e,f,null),n&&(pc(n,t),$n(a.c,n));if(e.a=null,e.b=null,a.c.length>1)for(r=new G(a);r.a=0&&g!=n&&(o=new _a(e,1,g,f,null),r?r.nj(o):r=o),n>=0&&(o=new _a(e,1,n,g==n?f:null,t),r?r.nj(o):r=o)),r}function bmt(e){var t,n,r;if(e.b==null){if(r=new Up,e.i!=null&&(Xo(r,e.i),r.a+=":"),e.f&256){for(e.f&256&&e.a!=null&&(dpn(e.i)||(r.a+="//"),Xo(r,e.a)),e.d!=null&&(r.a+="/",Xo(r,e.d)),e.f&16&&(r.a+="/"),t=0,n=e.j.length;tB?!1:(L=(w=ZA(r,B,!1),w.a),C+g+L<=t.b&&(aN(n,o-n.s),n.c=!0,aN(r,o-n.s),qN(r,n.s,n.t+n.d+g),r.k=!0,C7e(n.q,r),z=!0,a&&(bV(t,r),r.j=t,e.c.length>f&&(UN((Sn(f,e.c.length),l(e.c[f],186)),r),(Sn(f,e.c.length),l(e.c[f],186)).a.c.length==0&&t2(e,f)))),z)}function nAn(e,t){var n,r,a,o,f,g;if(t.Ug("Partition midprocessing",1),a=new Cw,Is(Fi(new bn(null,new kn(e.a,16)),new vj),new cYe(a)),a.d!=0){for(g=l(yc(K5e((o=a.i,new bn(null,(o||(a.i=new q5(a,a.c))).Nc()))),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),r=g.Kc(),n=l(r.Pb(),17);r.Ob();)f=l(r.Pb(),17),WTn(l($i(a,n),21),l($i(a,f),21)),n=f;t.Vg()}}function wmt(e,t,n){var r,a,o,f,g,w,E,C;if(t.p==0){for(t.p=1,f=n,f||(a=new bt,o=(r=l(K0(Oo),9),new Zh(r,l(c0(r,r.length),9),0)),f=new ca(a,o)),l(f.a,15).Fc(t),t.k==(Zn(),Us)&&l(f.b,21).Fc(l(Q(t,(ft(),Wc)),64)),w=new G(t.j);w.a0){if(a=l(e.Ab.g,2033),t==null){for(o=0;on.s&&gf)return Ct(),ar;break;case 4:case 3:if(C<0)return Ct(),Qn;if(C+n>o)return Ct(),Dr}return w=(E+g/2)/f,r=(C+n/2)/o,w+r<=1&&w-r<=0?(Ct(),er):w+r>=1&&w-r>=0?(Ct(),ar):r<.5?(Ct(),Qn):(Ct(),Dr)}function oAn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(n=!1,C=ze(Ge(Q(t,(Nt(),m3)))),V=Ab*C,a=new G(t.b);a.aw+V&&(J=L.g+B.g,B.a=(B.g*B.a+L.g*L.a)/J,B.g=J,L.f=B,n=!0)),o=g,L=B;return n}function Emt(e,t,n,r,a,o,f){var g,w,E,C,L,B;for(B=new $8,E=t.Kc();E.Ob();)for(g=l(E.Pb(),853),L=new G(g.Rf());L.a0?g.a?(E=g.b.Mf().b,a>E&&(e.v||g.c.d.c.length==1?(f=(a-E)/2,g.d.d=f,g.d.a=f):(n=l(jt(g.c.d,0),187).Mf().b,r=(n-E)/2,g.d.d=b.Math.max(0,r),g.d.a=a-r-E))):g.d.a=e.t+a:W_(e.u)&&(o=$xe(g.b),o.d<0&&(g.d.d=-o.d),o.d+o.a>g.b.Mf().b&&(g.d.a=o.d+o.a-g.b.Mf().b))}function b0(){b0=U,qx=new Ha((pi(),XB),pt(1)),kK=new Ha(Ev,80),n8t=new Ha(ANe,5),G7t=new Ha(Z6,lT),e8t=new Ha(zge,pt(1)),t8t=new Ha(qge,(Hn(),!0)),nAe=new lw(50),J7t=new Ha(_2,nAe),Z_e=WB,rAe=_M,K7t=new Ha(Dge,!1),tAe=YB,X7t=C4,Q7t=Ub,Y7t=kv,W7t=r7,Z7t=S4,eAe=(Xxe(),j7t),Z0e=H7t,xK=R7t,J0e=$7t,iAe=q7t,s8t=AM,a8t=aY,i8t=QB,r8t=sY,sAe=(dx(),L4),new Ha(i9,sAe)}function lAn(e,t){var n;switch(gN(e)){case 6:return Ia(t);case 7:return fy(t);case 8:return hy(t);case 3:return Array.isArray(t)&&(n=gN(t),!(n>=14&&n<=16));case 11:return t!=null&&typeof t===Ole;case 12:return t!=null&&(typeof t===wP||typeof t==Ole);case 0:return iue(t,e.__elementTypeId$);case 2:return Rae(t)&&t.Tm!==xe;case 1:return Rae(t)&&t.Tm!==xe||iue(t,e.__elementTypeId$);default:return!0}}function Tmt(e,t){var n,r,a,o;return r=b.Math.min(b.Math.abs(e.c-(t.c+t.b)),b.Math.abs(e.c+e.b-t.c)),o=b.Math.min(b.Math.abs(e.d-(t.d+t.a)),b.Math.abs(e.d+e.a-t.d)),n=b.Math.abs(e.c+e.b/2-(t.c+t.b/2)),n>e.b/2+t.b/2||(a=b.Math.abs(e.d+e.a/2-(t.d+t.a/2)),a>e.a/2+t.a/2)?1:n==0&&a==0?0:n==0?o/a+1:a==0?r/n+1:b.Math.min(r/n,o/a)+1}function hAn(e,t){var n,r,a,o,f,g,w;for(o=0,g=0,w=0,a=new G(e.f.e);a.a0&&e.d!=(lA(),n1e)&&(g+=f*(r.d.a+e.a[t.a][r.a]*(t.d.a-r.d.a)/n)),n>0&&e.d!=(lA(),e1e)&&(w+=f*(r.d.b+e.a[t.a][r.a]*(t.d.b-r.d.b)/n)));switch(e.d.g){case 1:return new lt(g/o,t.d.b);case 2:return new lt(t.d.a,w/o);default:return new lt(g/o,w/o)}}function Cmt(e){var t,n,r,a,o,f;for(n=(!e.a&&(e.a=new Ys(qh,e,5)),e.a).i+2,f=new Bu(n),vt(f,new lt(e.j,e.k)),Is(new bn(null,(!e.a&&(e.a=new Ys(qh,e,5)),new kn(e.a,16))),new NXe(f)),vt(f,new lt(e.b,e.c)),t=1;t0&&(SN(w,!1,(Js(),uc)),SN(w,!0,vc)),Vu(t.g,new jet(e,n)),ki(e.g,t,n)}function Amt(){Amt=U;var e;for(r_e=he(le(Vr,1),di,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),A0e=We(Vr,di,28,37,15,1),b6t=he(le(Vr,1),di,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),i_e=We(nm,ahe,28,37,14,1),e=2;e<=36;e++)A0e[e]=ua(b.Math.pow(e,r_e[e])),i_e[e]=KN(EP,A0e[e])}function fAn(e){var t;if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i!=1)throw ue(new Yn(n4t+(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i));return t=new bl,TN(l(Oe((!e.b&&(e.b=new Ln(_r,e,4,7)),e.b),0),84))&&Ka(t,bwt(e,TN(l(Oe((!e.b&&(e.b=new Ln(_r,e,4,7)),e.b),0),84)),!1)),TN(l(Oe((!e.c&&(e.c=new Ln(_r,e,5,8)),e.c),0),84))&&Ka(t,bwt(e,TN(l(Oe((!e.c&&(e.c=new Ln(_r,e,5,8)),e.c),0),84)),!0)),t}function Lmt(e,t){var n,r,a,o,f;for(t.d?a=e.a.c==(xd(),w3)?ka(t.b):qs(t.b):a=e.a.c==(xd(),T2)?ka(t.b):qs(t.b),o=!1,r=new hr(dr(a.a.Kc(),new j));jr(r);)if(n=l(xr(r),18),f=Rt(e.a.f[e.a.g[t.b.p].p]),!(!f&&!Do(n)&&n.c.i.c==n.d.i.c)&&!(Rt(e.a.n[e.a.g[t.b.p].p])||Rt(e.a.n[e.a.g[t.b.p].p]))&&(o=!0,W0(e.b,e.a.g[f7n(n,t.b).p])))return t.c=!0,t.a=n,t;return t.c=o,t.a=null,t}function wke(e,t,n){var r,a,o,f,g,w,E;if(r=n.gc(),r==0)return!1;if(e.Pj())if(w=e.Qj(),A8e(e,t,n),f=r==1?e.Ij(3,null,n.Kc().Pb(),t,w):e.Ij(5,null,n,t,w),e.Mj()){for(g=r<100?null:new nb(r),o=t+r,a=t;a0){for(f=0;f>16==-15&&e.Cb.Yh()&&qoe(new Foe(e.Cb,9,13,n,e.c,f2(Xl(l(e.Cb,62)),e))):De(e.Cb,90)&&e.Db>>16==-23&&e.Cb.Yh()&&(t=e.c,De(t,90)||(t=(Tn(),Kf)),De(n,90)||(n=(Tn(),Kf)),qoe(new Foe(e.Cb,9,10,n,t,f2(du(l(e.Cb,29)),e)))))),e.c}function pAn(e,t,n){var r,a,o,f,g,w,E,C,L;for(n.Ug("Hyperedge merging",1),jEn(e,t),w=new Ua(t.b,0);w.b0,g=HV(t,o),Iye(n?g.b:g.g,t),Z5(g).c.length==1&&Cs(r,g,r.c.b,r.c),a=new ca(o,t),gb(e.o,a),al(e.e.a,o))}function Bmt(e,t){var n,r,a,o,f,g,w;return r=b.Math.abs(mH(e.b).a-mH(t.b).a),g=b.Math.abs(mH(e.b).b-mH(t.b).b),a=0,w=0,n=1,f=1,r>e.b.b/2+t.b.b/2&&(a=b.Math.min(b.Math.abs(e.b.c-(t.b.c+t.b.b)),b.Math.abs(e.b.c+e.b.b-t.b.c)),n=1-a/r),g>e.b.a/2+t.b.a/2&&(w=b.Math.min(b.Math.abs(e.b.d-(t.b.d+t.b.a)),b.Math.abs(e.b.d+e.b.a-t.b.d)),f=1-w/g),o=b.Math.min(n,f),(1-o)*b.Math.sqrt(r*r+g*g)}function vAn(e){var t,n,r,a;for(Ale(e,e.e,e.f,(Sw(),Hb),!0,e.c,e.i),Ale(e,e.e,e.f,Hb,!1,e.c,e.i),Ale(e,e.e,e.f,K6,!0,e.c,e.i),Ale(e,e.e,e.f,K6,!1,e.c,e.i),gAn(e,e.c,e.e,e.f,e.i),r=new Ua(e.i,0);r.b=65;n--)nd[n]=n-65<<24>>24;for(r=122;r>=97;r--)nd[r]=r-97+26<<24>>24;for(a=57;a>=48;a--)nd[a]=a-48+52<<24>>24;for(nd[43]=62,nd[47]=63,o=0;o<=25;o++)N2[o]=65+o&Zs;for(f=26,w=0;f<=51;++f,w++)N2[f]=97+w&Zs;for(e=52,g=0;e<=61;++e,g++)N2[e]=48+g&Zs;N2[62]=43,N2[63]=47}function Fmt(e,t){var n,r,a,o,f,g;return a=y7e(e),g=y7e(t),a==g?e.e==t.e&&e.a<54&&t.a<54?e.ft.f?1:0:(r=e.e-t.e,n=(e.d>0?e.d:b.Math.floor((e.a-1)*Vwt)+1)-(t.d>0?t.d:b.Math.floor((t.a-1)*Vwt)+1),n>r+1?a:n0&&(f=K5(f,Wmt(r))),K1t(o,f))):aE&&(B=0,z+=w+t,w=0),KE(f,B,z),n=b.Math.max(n,B+C.a),w=b.Math.max(w,C.b),B+=C.a+t;return new lt(n+t,z+w+t)}function Eke(e,t){var n,r,a,o,f,g,w;if(!M1(e))throw ue(new nc(t4t));if(r=M1(e),o=r.g,a=r.f,o<=0&&a<=0)return Ct(),Pc;switch(g=e.i,w=e.j,t.g){case 2:case 1:if(g<0)return Ct(),er;if(g+e.g>o)return Ct(),ar;break;case 4:case 3:if(w<0)return Ct(),Qn;if(w+e.f>a)return Ct(),Dr}return f=(g+e.g/2)/o,n=(w+e.f/2)/a,f+n<=1&&f-n<=0?(Ct(),er):f+n>=1&&f-n>=0?(Ct(),ar):n<.5?(Ct(),Qn):(Ct(),Dr)}function xAn(e,t,n,r,a){var o,f;if(o=bo(va(t[0],Vo),va(r[0],Vo)),e[0]=Yr(o),o=bw(o,32),n>=a){for(f=1;f0&&(a.b[f++]=0,a.b[f++]=o.b[0]-1),t=1;t0&&(H(w,w.d-a.d),a.c==(J0(),qb)&&N(w,w.a-a.d),w.d<=0&&w.i>0&&Cs(t,w,t.c.b,t.c)));for(o=new G(e.f);o.a0&&(q(g,g.i-a.d),a.c==(J0(),qb)&&$(g,g.b-a.d),g.i<=0&&g.d>0&&Cs(n,g,n.c.b,n.c)))}function TAn(e,t,n,r,a){var o,f,g,w,E,C,L,B,z;for(Cn(),Vs(e,new tk),f=PO(e),z=new bt,B=new bt,g=null,w=0;f.b!=0;)o=l(f.b==0?null:(mr(f.b!=0),af(f,f.a.a)),163),!g||wl(g)*gh(g)/21&&(w>wl(g)*gh(g)/2||f.b==0)&&(L=new hV(B),C=wl(g)/gh(g),E=Lle(L,t,new A8,n,r,a,C),Oi(Y0(L.e),E),g=L,$n(z.c,L),w=0,B.c.length=0));return ra(z,B),z}function pu(e,t,n,r,a){Vg();var o,f,g,w,E,C,L;if(d5e(e,"src"),d5e(n,"dest"),L=bh(e),w=bh(n),I4e((L.i&4)!=0,"srcType is not an array"),I4e((w.i&4)!=0,"destType is not an array"),C=L.c,f=w.c,I4e(C.i&1?C==f:(f.i&1)==0,"Array types don't match"),lyn(e,t,n,r,a),!(C.i&1)&&L!=w)if(E=jm(e),o=jm(n),qe(e)===qe(n)&&tr;)Ts(o,g,E[--t]);else for(g=r+a;r0),r.a.Xb(r.c=--r.b),L>B+w&&ph(r);for(f=new G(z);f.a0),r.a.Xb(r.c=--r.b)}}function SAn(){Di();var e,t,n,r,a,o;if(upe)return upe;for(e=new _h(4),Ky(e,_b(p0e,!0)),nL(e,_b("M",!0)),nL(e,_b("C",!0)),o=new _h(4),r=0;r<11;r++)Eu(o,r,r);return t=new _h(4),Ky(t,_b("M",!0)),Eu(t,4448,4607),Eu(t,65438,65439),a=new B_(2),Qm(a,e),Qm(a,WM),n=new B_(2),n.Jm(oH(o,_b("L",!0))),n.Jm(t),n=new Ty(3,n),n=new f5e(a,n),upe=n,upe}function Gy(e,t){var n,r,a,o,f,g,w,E;for(n=new RegExp(t,"g"),w=We(zt,dt,2,0,6,1),r=0,E=e,o=null;;)if(g=n.exec(E),g==null||E==""){w[r]=E;break}else f=g.index,w[r]=(Ga(0,f,E.length),E.substr(0,f)),E=tf(E,f+g[0].length,E.length),n.lastIndex=0,o==E&&(w[r]=(Ga(0,1,E.length),E.substr(0,1)),E=(Xn(1,E.length+1),E.substr(1))),o=E,++r;if(e.length>0){for(a=w.length;a>0&&w[a-1]=="";)--a;a0&&(L-=r[0]+e.c,r[0]+=e.c),r[2]>0&&(L-=r[2]+e.c),r[1]=b.Math.max(r[1],L),hH(e.a[1],n.c+t.b+r[0]-(r[1]-L)/2,r[1]);for(o=e.a,g=0,E=o.length;g0?(e.n.c.length-1)*e.i:0,r=new G(e.n);r.a1)for(r=Rr(a,0);r.b!=r.d.c;)for(n=l(Br(r),235),o=0,w=new G(n.e);w.a0&&(t[0]+=e.c,L-=t[0]),t[2]>0&&(L-=t[2]+e.c),t[1]=b.Math.max(t[1],L),fH(e.a[1],r.d+n.d+t[0]-(t[1]-L)/2,t[1]);else for(V=r.d+n.d,z=r.a-n.d-n.a,f=e.a,w=0,C=f.length;w0||Fw(a.b.d,e.b.d+e.b.a)==0&&r.b<0||Fw(a.b.d+a.b.a,e.b.d)==0&&r.b>0){g=0;break}}else g=b.Math.min(g,Bpt(e,a,r));g=b.Math.min(g,zmt(e,o,g,r))}return g}function dP(e,t){var n,r,a,o,f,g,w;if(e.b<2)throw ue(new Yn("The vector chain must contain at least a source and a target point."));for(a=(mr(e.b!=0),l(e.a.a.c,8)),kO(t,a.a,a.b),w=new q8((!t.a&&(t.a=new Ys(qh,t,5)),t.a)),f=Rr(e,1);f.a=0&&o!=n))throw ue(new Yn(WP));for(a=0,w=0;wze(L1(f.g,f.d[0]).a)?(mr(w.b>0),w.a.Xb(w.c=--w.b),by(w,f),a=!0):g.e&&g.e.gc()>0&&(o=(!g.e&&(g.e=new bt),g.e).Mc(t),E=(!g.e&&(g.e=new bt),g.e).Mc(n),(o||E)&&((!g.e&&(g.e=new bt),g.e).Fc(f),++f.c));a||$n(r.c,f)}function OAn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;return L=e.a.i+e.a.g/2,B=e.a.i+e.a.g/2,V=t.i+t.g/2,te=t.j+t.f/2,g=new lt(V,te),E=l(at(t,(pi(),n9)),8),E.a=E.a+L,E.b=E.b+B,o=(g.b-E.b)/(g.a-E.a),r=g.b-o*g.a,J=n.i+n.g/2,fe=n.j+n.f/2,w=new lt(J,fe),C=l(at(n,n9),8),C.a=C.a+L,C.b=C.b+B,f=(w.b-C.b)/(w.a-C.a),a=w.b-f*w.a,z=(r-a)/(f-o),E.a>>0,"0"+t.toString(16)),r="\\x"+tf(n,n.length-2,n.length)):e>=Io?(n=(t=e>>>0,"0"+t.toString(16)),r="\\v"+tf(n,n.length-6,n.length)):r=""+String.fromCharCode(e&Zs)}return r}function Umt(e){var t,n,r;if(P5(l(Q(e,(Nt(),Ms)),101)))for(n=new G(e.j);n.a=t.o&&n.f<=t.f||t.a*.5<=n.f&&t.a*1.5>=n.f){if(f=l(jt(t.n,t.n.c.length-1),209),f.e+f.d+n.g+a<=r&&(o=l(jt(t.n,t.n.c.length-1),209),o.f-e.f+n.f<=e.b||e.a.c.length==1))return y8e(t,n),!0;if(t.s+n.g<=r&&(t.t+t.d+n.f+a<=e.b||e.a.c.length==1))return vt(t.b,n),g=l(jt(t.n,t.n.c.length-1),209),vt(t.n,new PH(t.s,g.f+g.a+t.i,t.i)),exe(l(jt(t.n,t.n.c.length-1),209),n),jmt(t,n),!0}return!1}function Kmt(e,t,n){var r,a,o,f;return e.Pj()?(a=null,o=e.Qj(),r=e.Ij(1,f=Uoe(e,t,n),n,t,o),e.Mj()&&!(e.Yi()&&f!=null?Pi(f,n):qe(f)===qe(n))?(f!=null&&(a=e.Oj(f,a)),a=e.Nj(n,a),e.Tj()&&(a=e.Wj(f,n,a)),a?(a.nj(r),a.oj()):e.Jj(r)):(e.Tj()&&(a=e.Wj(f,n,a)),a?(a.nj(r),a.oj()):e.Jj(r)),f):(f=Uoe(e,t,n),e.Mj()&&!(e.Yi()&&f!=null?Pi(f,n):qe(f)===qe(n))&&(a=null,f!=null&&(a=e.Oj(f,null)),a=e.Nj(n,a),a&&a.oj()),f)}function $An(e,t){var n,r,a,o,f;if(t.Ug("Path-Like Graph Wrapping",1),e.b.c.length==0){t.Vg();return}if(a=new M9e(e),f=(a.i==null&&(a.i=x7e(a,new Gj)),ze(a.i)*a.f),n=f/(a.i==null&&(a.i=x7e(a,new Gj)),ze(a.i)),a.b>n){t.Vg();return}switch(l(Q(e,(Nt(),hde)),351).g){case 2:o=new Wj;break;case 0:o=new ES;break;default:o=new Yj}if(r=o.og(e,a),!o.pg())switch(l(Q(e,EW),352).g){case 2:r=Fpt(a,r);break;case 1:r=Agt(a,r)}BLn(e,a,r),t.Vg()}function XA(e,t){var n,r,a,o,f,g,w,E;t%=24,e.q.getHours()!=t&&(r=new b.Date(e.q.getTime()),r.setDate(r.getDate()+1),g=e.q.getTimezoneOffset()-r.getTimezoneOffset(),g>0&&(w=g/60|0,E=g%60,a=e.q.getDate(),n=e.q.getHours(),n+w>=24&&++a,o=new b.Date(e.q.getFullYear(),e.q.getMonth(),a,t+w,e.q.getMinutes()+E,e.q.getSeconds(),e.q.getMilliseconds()),e.q.setTime(o.getTime()))),f=e.q.getTime(),e.q.setTime(f+36e5),e.q.getHours()!=t&&e.q.setTime(f)}function zAn(e,t){var n,r,a,o;if(ebn(e.d,e.e),e.c.a.$b(),ze(Ge(Q(t.j,(Nt(),hW))))!=0||ze(Ge(Q(t.j,hW)))!=0)for(n=y6,qe(Q(t.j,yg))!==qe((Ed(),E2))&&rt(t.j,(ft(),jb),(Hn(),!0)),o=l(Q(t.j,nM),17).a,a=0;aa&&++E,vt(f,(Sn(g+E,t.c.length),l(t.c[g+E],17))),w+=(Sn(g+E,t.c.length),l(t.c[g+E],17)).a-r,++n;n=te&&e.e[w.p]>V*e.b||Me>=n*te)&&($n(B.c,g),g=new bt,Ka(f,o),o.a.$b(),E-=C,z=b.Math.max(z,E*e.b+J),E+=Me,Te=Me,Me=0,C=0,J=0);return new ca(z,B)}function dle(e){var t,n,r,a,o,f,g;if(!e.d){if(g=new Jne,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(dc(e));r.e!=r.i.gc();)n=l(gr(r),29),As(g,dle(n));t.a.Bc(e)!=null,t.a.gc()==0}for(f=g.i,a=(!e.q&&(e.q=new nt(Uf,e,11,10)),new or(e.q));a.e!=a.i.gc();++f)l(gr(a),411);As(g,(!e.q&&(e.q=new nt(Uf,e,11,10)),e.q)),Iy(g),e.d=new N5((l(Oe(tt((lb(),Vn).o),9),19),g.i),g.g),e.e=l(g.g,688),e.e==null&&(e.e=X_t),Yl(e).b&=-17}return e.d}function XE(e,t,n,r){var a,o,f,g,w,E;if(E=Wu(e.e.Dh(),t),w=0,a=l(e.g,124),Fo(),l(t,69).xk()){for(f=0;f1||V==-1)if(L=l(J,71),B=l(C,71),L.dc())B.$b();else for(f=!!Ro(t),o=0,g=e.a?L.Kc():L.Ii();g.Ob();)E=l(g.Pb(),58),a=l(B1(e,E),58),a?(f?(w=B.dd(a),w==-1?B.Gi(o,a):o!=w&&B.Ui(o,a)):B.Gi(o,a),++o):e.b&&!f&&(B.Gi(o,E),++o);else J==null?C.Wb(null):(a=B1(e,J),a==null?e.b&&!Ro(t)&&C.Wb(J):C.Wb(a))}function GAn(e,t){var n,r,a,o,f,g,w,E;for(n=new gZ,a=new hr(dr(ka(t).a.Kc(),new j));jr(a);)if(r=l(xr(a),18),!Do(r)&&(g=r.c.i,Bxe(g,SK))){if(E=tke(e,g,SK,CK),E==-1)continue;n.b=b.Math.max(n.b,E),!n.a&&(n.a=new bt),vt(n.a,g)}for(f=new hr(dr(qs(t).a.Kc(),new j));jr(f);)if(o=l(xr(f),18),!Do(o)&&(w=o.d.i,Bxe(w,CK))){if(E=tke(e,w,CK,SK),E==-1)continue;n.d=b.Math.max(n.d,E),!n.c&&(n.c=new bt),vt(n.c,w)}return n}function KAn(e,t,n,r){var a,o,f,g,w,E,C;if(n.d.i!=t.i){for(a=new op(e),x(a,(Zn(),Aa)),rt(a,(ft(),zi),n),rt(a,(Nt(),Ms),(Ra(),Mu)),$n(r.c,a),f=new gu,Mc(f,a),la(f,(Ct(),er)),g=new gu,Mc(g,a),la(g,ar),C=n.d,Fa(n,f),o=new Tw,pc(o,n),rt(o,cc,null),po(o,g),Fa(o,C),E=new Ua(n.b,0);E.b1e6)throw ue(new qz("power of ten too big"));if(e<=Ii)return sx(iP($x[1],t),t);for(r=iP($x[1],Ii),a=r,n=Zc(e-Ii),t=ua(e%Ii);iu(n,Ii)>0;)a=K5(a,r),n=Df(n,Ii);for(a=K5(a,iP($x[1],t)),a=sx(a,Ii),n=Zc(e-Ii);iu(n,Ii)>0;)a=sx(a,Ii),n=Df(n,Ii);return a=sx(a,t),a}function Ymt(e){var t,n,r,a,o,f,g,w,E,C;for(w=new G(e.a);w.aE&&r>E)C=g,E=ze(t.p[g.p])+ze(t.d[g.p])+g.o.b+g.d.a;else{a=!1,n._g()&&n.bh("bk node placement breaks on "+g+" which should have been after "+C);break}if(!a)break}return n._g()&&n.bh(t+" is feasible: "+a),a}function _ke(e,t,n,r){var a,o,f,g,w,E,C,L,B;if(o=new op(e),x(o,(Zn(),Au)),rt(o,(Nt(),Ms),(Ra(),Mu)),a=0,t){for(f=new gu,rt(f,(ft(),zi),t),rt(o,zi,t.i),la(f,(Ct(),er)),Mc(f,o),B=kd(t.e),E=B,C=0,L=E.length;C0){if(a<0&&C.a&&(a=w,o=E[0],r=0),a>=0){if(g=C.b,w==a&&(g-=r++,g==0))return 0;if(!Zvt(t,E,C,g,f)){w=a-1,E[0]=o;continue}}else if(a=-1,!Zvt(t,E,C,0,f))return 0}else{if(a=-1,co(C.c,0)==32){if(L=E[0],eht(t,E),E[0]>L)continue}else if(Ppn(t,C.c,E[0])){E[0]+=C.c.length;continue}return 0}return FDn(f,n)?E[0]:0}function ZAn(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=new gH(new Dz(n)),g=We(ih,pg,28,e.f.e.c.length,16,1),l5e(g,g.length),n[t.a]=0,E=new G(e.f.e);E.a=0&&!r6(e,C,L);)--L;a[C]=L}for(z=0;z=0&&!r6(e,g,V);)--g;o[V]=g}for(w=0;wt[B]&&Br[w]&&FU(e,w,B,!1,!0)}function Ake(e){var t,n,r,a,o,f,g,w;n=Rt(Bt(Q(e,(b0(),K7t)))),o=e.a.c.d,g=e.a.d.d,n?(f=md(ma(new lt(g.a,g.b),o),.5),w=md(Ja(e.e),.5),t=ma(Oi(new lt(o.a,o.b),f),w),Fye(e.d,t)):(a=ze(Ge(Q(e.a,n8t))),r=e.d,o.a>=g.a?o.b>=g.b?(r.a=g.a+(o.a-g.a)/2+a,r.b=g.b+(o.b-g.b)/2-a-e.e.b):(r.a=g.a+(o.a-g.a)/2+a,r.b=o.b+(g.b-o.b)/2+a):o.b>=g.b?(r.a=o.a+(g.a-o.a)/2+a,r.b=g.b+(o.b-g.b)/2+a):(r.a=o.a+(g.a-o.a)/2+a,r.b=o.b+(g.b-o.b)/2-a-e.e.b))}function JA(e){var t,n,r,a,o,f,g,w;if(!e.f){if(w=new _I,g=new _I,t=qM,f=t.a.zc(e,t),f==null){for(o=new or(dc(e));o.e!=o.i.gc();)a=l(gr(o),29),As(w,JA(a));t.a.Bc(e)!=null,t.a.gc()==0}for(r=(!e.s&&(e.s=new nt(dl,e,21,17)),new or(e.s));r.e!=r.i.gc();)n=l(gr(r),179),De(n,102)&&qr(g,l(n,19));Iy(g),e.r=new zit(e,(l(Oe(tt((lb(),Vn).o),6),19),g.i),g.g),As(w,e.r),Iy(w),e.f=new N5((l(Oe(tt(Vn.o),5),19),w.i),w.g),Yl(e).b&=-3}return e.f}function Qmt(e){sw(e,new Xm(nw(Zv(tw(ew(new x1,nv),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new z0))),gt(e,nv,_he,It(X_e)),gt(e,nv,Ahe,It(W0e)),gt(e,nv,Ox,It(I7t)),gt(e,nv,Xw,It(Y_e)),gt(e,nv,bEe,It(B7t)),gt(e,nv,mEe,It(P7t)),gt(e,nv,pEe,It(F7t)),gt(e,nv,vEe,It(N7t)),gt(e,nv,CEe,It(O7t)),gt(e,nv,SEe,It(K0e)),gt(e,nv,_Ee,It(W_e)),gt(e,nv,AEe,It(vK))}function zU(){zU=U,bPe=he(le(kf,1),Ad,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),S_t=new RegExp(`[ +\r\f]+`);try{jM=he(le(POn,1),Rn,2114,0,[new KI((iye(),KV("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",MO((zz(),zz(),NL))))),new KI(KV("yyyy-MM-dd'T'HH:mm:ss'.'SSS",MO(NL))),new KI(KV("yyyy-MM-dd'T'HH:mm:ss",MO(NL))),new KI(KV("yyyy-MM-dd'T'HH:mm",MO(NL))),new KI(KV("yyyy-MM-dd",MO(NL)))])}catch(e){if(e=bs(e),!De(e,82))throw ue(e)}}function tLn(e,t){var n,r,a,o;if(a=Jl(e.d,1)!=0,r=cke(e,t),r==0&&Rt(Bt(Q(t.j,(ft(),jb)))))return 0;!Rt(Bt(Q(t.j,(ft(),jb))))&&!Rt(Bt(Q(t.j,j6)))||qe(Q(t.j,(Nt(),yg)))===qe((Ed(),E2))?t.c.mg(t.e,a):a=Rt(Bt(Q(t.j,jb))),cP(e,t,a,!0),Rt(Bt(Q(t.j,j6)))&&rt(t.j,j6,(Hn(),!1)),Rt(Bt(Q(t.j,jb)))&&(rt(t.j,jb,(Hn(),!1)),rt(t.j,j6,!0)),n=cke(e,t);do{if(w7e(e),n==0)return 0;a=!a,o=n,cP(e,t,a,!1),n=cke(e,t)}while(o>n);return o}function Jmt(e,t){var n,r,a,o;if(a=Jl(e.d,1)!=0,r=xU(e,t),r==0&&Rt(Bt(Q(t.j,(ft(),jb)))))return 0;!Rt(Bt(Q(t.j,(ft(),jb))))&&!Rt(Bt(Q(t.j,j6)))||qe(Q(t.j,(Nt(),yg)))===qe((Ed(),E2))?t.c.mg(t.e,a):a=Rt(Bt(Q(t.j,jb))),cP(e,t,a,!0),Rt(Bt(Q(t.j,j6)))&&rt(t.j,j6,(Hn(),!1)),Rt(Bt(Q(t.j,jb)))&&(rt(t.j,jb,(Hn(),!1)),rt(t.j,j6,!0)),n=xU(e,t);do{if(w7e(e),n==0)return 0;a=!a,o=n,cP(e,t,a,!1),n=xU(e,t)}while(o>n);return o}function Lke(e,t,n,r){var a,o,f,g,w,E,C,L,B;return w=ma(new lt(n.a,n.b),e),E=w.a*t.b-w.b*t.a,C=t.a*r.b-t.b*r.a,L=(w.a*r.b-w.b*r.a)/C,B=E/C,C==0?E==0?(a=Oi(new lt(n.a,n.b),md(new lt(r.a,r.b),.5)),o=pb(e,a),f=pb(Oi(new lt(e.a,e.b),t),a),g=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o=0&&L<=1&&B>=0&&B<=1?Oi(new lt(e.a,e.b),md(new lt(t.a,t.b),L)):null}function nLn(e,t,n){var r,a,o,f,g;if(r=l(Q(e,(Nt(),J1e)),21),n.a>t.a&&(r.Hc((Ym(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(TM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((Ym(),SM))?e.c.b+=(n.b-t.b)/2:r.Hc(CM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),Lu)),21).Hc((Ho(),vf))&&(n.a>t.a||n.b>t.b))for(g=new G(e.a);g.at.a&&(r.Hc((Ym(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(TM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((Ym(),SM))?e.c.b+=(n.b-t.b)/2:r.Hc(CM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),Lu)),21).Hc((Ho(),vf))&&(n.a>t.a||n.b>t.b))for(f=new G(e.a);f.a0?e.i:0)>t&&w>0&&(o=0,f+=w+e.i,a=b.Math.max(a,B),r+=w+e.i,w=0,B=0,n&&(++L,vt(e.n,new PH(e.s,f,e.i))),g=0),B+=E.g+(g>0?e.i:0),w=b.Math.max(w,E.f),n&&exe(l(jt(e.n,L),209),E),o+=E.g+(g>0?e.i:0),++g;return a=b.Math.max(a,B),r+=w,n&&(e.r=a,e.d=r,ixe(e.j)),new ef(e.s,e.t,a,r)}function gle(e){var t,n,r,a,o,f,g,w,E,C,L,B;for(e.b=!1,L=gs,w=ia,B=gs,E=ia,r=e.e.a.ec().Kc();r.Ob();)for(n=l(r.Pb(),272),a=n.a,L=b.Math.min(L,a.c),w=b.Math.max(w,a.c+a.b),B=b.Math.min(B,a.d),E=b.Math.max(E,a.d+a.a),f=new G(n.c);f.ae.o.a&&(C=(w-e.o.a)/2,g.b=b.Math.max(g.b,C),g.c=b.Math.max(g.c,C))}}function aLn(e){var t,n,r,a,o,f,g,w;for(o=new Kot,Fln(o,(hx(),dSt)),r=(a=ace(e,We(zt,dt,2,0,6,1)),new kr(new Il(new ase(e,a).b)));r.bg?1:-1:W7e(e.a,t.a,o),a==-1)L=-w,C=f==w?Doe(t.a,g,e.a,o):Ooe(t.a,g,e.a,o);else if(L=f,f==w){if(a==0)return Cd(),BL;C=Doe(e.a,o,t.a,g)}else C=Ooe(e.a,o,t.a,g);return E=new Im(L,C.length,C),iA(E),E}function oLn(e,t){var n,r,a,o;if(o=Pmt(t),!t.c&&(t.c=new nt(Hl,t,9,9)),Is(new bn(null,(!t.c&&(t.c=new nt(Hl,t,9,9)),new kn(t.c,16))),new $We(o)),a=l(Q(o,(ft(),Lu)),21),ZMn(t,a),a.Hc((Ho(),vf)))for(r=new or((!t.c&&(t.c=new nt(Hl,t,9,9)),t.c));r.e!=r.i.gc();)n=l(gr(r),123),ADn(e,t,o,n);return l(at(t,(Nt(),bv)),181).gc()!=0&&_bt(t,o),Rt(Bt(Q(o,XMe)))&&a.Fc(nW),ns(o,CB)&&NJe(new D8e(ze(Ge(Q(o,CB)))),o),qe(at(t,p4))===qe((rp(),A2))?JIn(e,t,o):BIn(e,t,o),o}function cLn(e){var t,n,r,a,o,f,g,w;for(a=new G(e.b);a.a0?tf(n.a,0,o-1):""):(Ga(0,o-1,e.length),e.substr(0,o-1)):n?n.a:e}function uLn(e,t){var n,r,a,o,f,g,w;for(t.Ug("Sort By Input Model "+Q(e,(Nt(),yg)),1),a=0,r=new G(e.b);r.a=e.b.length?(o[a++]=f.b[r++],o[a++]=f.b[r++]):r>=f.b.length?(o[a++]=e.b[n++],o[a++]=e.b[n++]):f.b[r]0?e.i:0)),++t;for(g8e(e.n,w),e.d=n,e.r=r,e.g=0,e.f=0,e.e=0,e.o=gs,e.p=gs,o=new G(e.b);o.a0&&(a=(!e.n&&(e.n=new nt(ec,e,1,7)),l(Oe(e.n,0),135)).a,!a||hi(hi((t.a+=' "',t),a),'"'))),n=(!e.b&&(e.b=new Ln(_r,e,4,7)),!(e.b.i<=1&&(!e.c&&(e.c=new Ln(_r,e,5,8)),e.c.i<=1))),n?t.a+=" [":t.a+=" ",hi(t,Eye(new Zie,new or(e.b))),n&&(t.a+="]"),t.a+=Phe,n&&(t.a+="["),hi(t,Eye(new Zie,new or(e.c))),n&&(t.a+="]"),t.a)}function hLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn;for(Ze=e.c,ot=t.c,n=gc(Ze.a,e,0),r=gc(ot.a,t,0),Me=l(Rw(e,(qo(),$l)).Kc().Pb(),12),an=l(Rw(e,zu).Kc().Pb(),12),$e=l(Rw(t,$l).Kc().Pb(),12),Bn=l(Rw(t,zu).Kc().Pb(),12),fe=kd(Me.e),St=kd(an.g),Te=kd($e.e),cn=kd(Bn.g),Fy(e,r,ot),f=Te,C=0,V=f.length;CC?new Pm((J0(),E4),n,t,E-C):E>0&&C>0&&(new Pm((J0(),E4),t,n,0),new Pm(E4,n,t,0))),f)}function gLn(e,t,n){var r,a,o;for(e.a=new bt,o=Rr(t.b,0);o.b!=o.d.c;){for(a=l(Br(o),40);l(Q(a,(Hc(),$d)),17).a>e.a.c.length-1;)vt(e.a,new ca(y6,hCe));r=l(Q(a,$d),17).a,n==(Js(),uc)||n==vc?(a.e.aze(Ge(l(jt(e.a,r),42).b))&&ct(l(jt(e.a,r),42),a.e.a+a.f.a)):(a.e.bze(Ge(l(jt(e.a,r),42).b))&&ct(l(jt(e.a,r),42),a.e.b+a.f.b))}}function tvt(e,t,n,r){var a,o,f,g,w,E,C;if(o=zV(r),g=Rt(Bt(Q(r,(Nt(),VMe)))),(g||Rt(Bt(Q(e,bW))))&&!P5(l(Q(e,Ms),101)))a=gx(o),w=vke(e,n,n==(qo(),zu)?a:BN(a));else switch(w=new gu,Mc(w,e),t?(C=w.n,C.a=t.a-e.n.a,C.b=t.b-e.n.b,opt(C,0,0,e.o.a,e.o.b),la(w,kmt(w,o))):(a=gx(o),la(w,n==(qo(),zu)?a:BN(a))),f=l(Q(r,(ft(),Lu)),21),E=w.j,o.g){case 2:case 1:(E==(Ct(),Qn)||E==Dr)&&f.Fc((Ho(),B6));break;case 4:case 3:(E==(Ct(),ar)||E==er)&&f.Fc((Ho(),B6))}return w}function nvt(e,t){var n,r,a,o,f,g;for(f=new qm(new Sr(e.f.b).a);f.b;){if(o=Nw(f),a=l(o.ld(),602),t==1){if(a.Af()!=(Js(),wf)&&a.Af()!=Q1)continue}else if(a.Af()!=(Js(),uc)&&a.Af()!=vc)continue;switch(r=l(l(o.md(),42).b,86),g=l(l(o.md(),42).a,194),n=g.c,a.Af().g){case 2:r.g.c=e.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=e.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function pLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(g=We(Vr,di,28,t.b.c.length,15,1),E=We(l1e,it,273,t.b.c.length,0,1),w=We(wg,m2,10,t.b.c.length,0,1),L=e.a,B=0,z=L.length;B0&&w[r]&&(V=j5(e.b,w[r],a)),J=b.Math.max(J,a.c.c.b+V);for(o=new G(C.e);o.a1)throw ue(new Yn(ZP));w||(o=sg(t,r.Kc().Pb()),f.Fc(o))}return N7e(e,t9e(e,t,n),f)}function HU(e,t,n){var r,a,o,f,g,w,E,C;if(up(e.e,t))w=(Fo(),l(t,69).xk()?new nH(t,e):new yO(t,e)),EU(w.c,w.b),F_(w,l(n,16));else{for(C=Wu(e.e.Dh(),t),r=l(e.g,124),f=0;f"}w!=null&&(t.a+=""+w)}else e.e?(g=e.e.zb,g!=null&&(t.a+=""+g)):(t.a+="?",e.b?(t.a+=" super ",wle(e.b,t)):e.f&&(t.a+=" extends ",wle(e.f,t)))}function xLn(e){e.b=null,e.a=null,e.o=null,e.q=null,e.v=null,e.w=null,e.B=null,e.p=null,e.Q=null,e.R=null,e.S=null,e.T=null,e.U=null,e.V=null,e.W=null,e.bb=null,e.eb=null,e.ab=null,e.H=null,e.db=null,e.c=null,e.d=null,e.f=null,e.n=null,e.r=null,e.s=null,e.u=null,e.G=null,e.J=null,e.e=null,e.j=null,e.i=null,e.g=null,e.k=null,e.t=null,e.F=null,e.I=null,e.L=null,e.M=null,e.O=null,e.P=null,e.$=null,e.N=null,e.Z=null,e.cb=null,e.K=null,e.D=null,e.A=null,e.C=null,e._=null,e.fb=null,e.X=null,e.Y=null,e.gb=!1,e.hb=!1}function kLn(e){var t,n,r,a;if(r=Dle((!e.c&&(e.c=XO(Zc(e.f))),e.c),0),e.e==0||e.a==0&&e.f!=-1&&e.e<0)return r;if(t=y7e(e)<0?1:0,n=e.e,a=(r.length+1+b.Math.abs(ua(e.e)),new S5),t==1&&(a.a+="-"),e.e>0)if(n-=r.length-t,n>=0){for(a.a+="0.";n>lv.length;n-=lv.length)Qit(a,lv);Prt(a,lv,ua(n)),hi(a,(Xn(t,r.length+1),r.substr(t)))}else n=t-n,hi(a,tf(r,t,ua(n))),a.a+=".",hi(a,w5e(r,ua(n)));else{for(hi(a,(Xn(t,r.length+1),r.substr(t)));n<-lv.length;n+=lv.length)Qit(a,lv);Prt(a,lv,ua(-n))}return a.a}function yle(e){var t,n,r,a,o,f,g,w,E;return!(e.k!=(Zn(),Ps)||e.j.c.length<=1||(o=l(Q(e,(Nt(),Ms)),101),o==(Ra(),Mu))||(a=(By(),(e.q?e.q:(Cn(),Cn(),mg))._b(g3)?r=l(Q(e,g3),203):r=l(Q(eo(e),eM),203),r),a==_W)||!(a==G6||a==U6)&&(f=ze(Ge(Py(e,tM))),t=l(Q(e,_B),140),!t&&(t=new n4e(f,f,f,f)),E=Oc(e,(Ct(),er)),w=t.d+t.a+(E.gc()-1)*f,w>e.o.b||(n=Oc(e,ar),g=t.d+t.a+(n.gc()-1)*f,g>e.o.b)))}function ELn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;t.Ug("Orthogonal edge routing",1),E=ze(Ge(Q(e,(Nt(),V6)))),n=ze(Ge(Q(e,q6))),r=ze(Ge(Q(e,vv))),B=new Hae(0,n),te=0,f=new Ua(e.b,0),g=null,C=null,w=null,L=null;do C=f.b0?(z=(V-1)*n,g&&(z+=r),C&&(z+=r),zt||Rt(Bt(at(w,(z1(),$B)))))&&(a=0,o+=C.b+n,$n(L.c,C),C=new Q5e(o,n),r=new kce(0,C.f,C,n),bV(C,r),a=0),r.b.c.length==0||!Rt(Bt(at(ds(w),(z1(),hge))))&&(w.f>=r.o&&w.f<=r.f||r.a*.5<=w.f&&r.a*1.5>=w.f)?y8e(r,w):(f=new kce(r.s+r.r+n,C.f,C,n),bV(C,f),y8e(f,w)),a=w.i+w.g;return $n(L.c,C),L}function eL(e){var t,n,r,a;if(!(e.b==null||e.b.length<=2)&&!e.a){for(t=0,a=0;a=e.b[a+1])a+=2;else if(n0)for(r=new Ol(l($i(e.a,o),21)),Cn(),Vs(r,new GI(t)),a=new Ua(o.b,0);a.b0&&r>=-6?r>=0?EO(o,n-ua(e.e),String.fromCharCode(46)):(hce(o,t-1,t-1,"0."),EO(o,t+1,If(lv,0,-ua(r)-1))):(n-t>=1&&(EO(o,t,String.fromCharCode(46)),++n),EO(o,n,String.fromCharCode(69)),r>0&&EO(o,++n,String.fromCharCode(43)),EO(o,++n,""+Y_(Zc(r)))),e.g=o.a,e.g))}function OLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St;r=ze(Ge(Q(t,(Nt(),KMe)))),Ze=l(Q(t,nM),17).a,B=4,a=3,ot=20/Ze,z=!1,w=0,f=Ii;do{for(o=w!=1,L=w!=0,St=0,te=e.a,Te=0,$e=te.length;Te<$e;++Te)V=te[Te],V.f=null,yDn(e,V,o,L,r),St+=b.Math.abs(V.a);do g=oAn(e,t);while(g);for(J=e.a,fe=0,Me=J.length;feZe)?(w=2,f=Ii):w==0?(w=1,f=St):(w=0,f=St)):(z=St>=f||f-St0?1:uw(isNaN(r),isNaN(0)))>=0^(f0(Nd),(b.Math.abs(g)<=Nd||g==0||isNaN(g)&&isNaN(0)?0:g<0?-1:g>0?1:uw(isNaN(g),isNaN(0)))>=0)?b.Math.max(g,r):(f0(Nd),(b.Math.abs(r)<=Nd||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:uw(isNaN(r),isNaN(0)))>0?b.Math.sqrt(g*g+r*r):-b.Math.sqrt(g*g+r*r))}function Qm(e,t){var n,r,a,o,f,g;if(t){if(!e.a&&(e.a=new jz),e.e==2){Rz(e.a,t);return}if(t.e==1){for(a=0;a=Io?Xo(n,w8e(r)):Uk(n,r&Zs),f=new coe(10,null,0),mgn(e.a,f,g-1)):(n=(f.Mm().length+o,new h_),Xo(n,f.Mm())),t.e==0?(r=t.Km(),r>=Io?Xo(n,w8e(r)):Uk(n,r&Zs)):Xo(n,t.Mm()),l(f,530).b=n.a}}function BLn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(!n.dc()){for(g=0,B=0,r=n.Kc(),V=l(r.Pb(),17).a;g1&&(w=E.Hg(w,e.a,g));return w.c.length==1?l(jt(w,w.c.length-1),238):w.c.length==2?CLn((Sn(0,w.c.length),l(w.c[0],238)),(Sn(1,w.c.length),l(w.c[1],238)),f,o):null}function $Ln(e,t,n){var r,a,o,f,g,w,E;for(n.Ug("Find roots",1),e.a.c.length=0,a=Rr(t.b,0);a.b!=a.d.c;)r=l(Br(a),40),r.b.b==0&&(rt(r,(Qi(),Vb),(Hn(),!0)),vt(e.a,r));switch(e.a.c.length){case 0:o=new xce(0,t,"DUMMY_ROOT"),rt(o,(Qi(),Vb),(Hn(),!0)),rt(o,Nde,!0),ui(t.b,o);break;case 1:break;default:for(f=new xce(0,t,DG),w=new G(e.a);w.a=b.Math.abs(r.b)?(r.b=0,o.d+o.a>f.d&&o.df.c&&o.c0){if(t=new eye(e.i,e.g),n=e.i,o=n<100?null:new nb(n),e.Tj())for(r=0;r0){for(g=e.g,E=e.i,uA(e),o=E<100?null:new nb(E),r=0;r>13|(e.m&15)<<9,a=e.m>>4&8191,o=e.m>>17|(e.h&255)<<5,f=(e.h&1048320)>>8,g=t.l&8191,w=t.l>>13|(t.m&15)<<9,E=t.m>>4&8191,C=t.m>>17|(t.h&255)<<5,L=(t.h&1048320)>>8,cn=n*g,an=r*g,Bn=a*g,jn=o*g,ur=f*g,w!=0&&(an+=n*w,Bn+=r*w,jn+=a*w,ur+=o*w),E!=0&&(Bn+=n*E,jn+=r*E,ur+=a*E),C!=0&&(jn+=n*C,ur+=r*C),L!=0&&(ur+=n*L),z=cn&eh,V=(an&511)<<13,B=z+V,te=cn>>22,fe=an>>9,Te=(Bn&262143)<<4,Me=(jn&31)<<17,J=te+fe+Te+Me,Ze=Bn>>18,ot=jn>>5,St=(ur&4095)<<8,$e=Ze+ot+St,J+=B>>22,B&=eh,$e+=J>>22,J&=eh,$e&=hp,qu(B,J,$e)}function dvt(e){var t,n,r,a,o,f,g;if(g=l(jt(e.j,0),12),g.g.c.length!=0&&g.e.c.length!=0)throw ue(new nc("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(g.g.c.length!=0){for(o=gs,n=new G(g.g);n.a4)if(e.fk(t)){if(e.al()){if(a=l(t,54),r=a.Eh(),w=r==e.e&&(e.ml()?a.yh(a.Fh(),e.il())==e.jl():-1-a.Fh()==e.Lj()),e.nl()&&!w&&!r&&a.Jh()){for(o=0;o0&&gpt(e,g,L);for(a=new G(L);a.ae.d[f.p]&&(n+=f6e(e.b,o)*l(w.b,17).a,gb(e.a,pt(o)));for(;!l_(e.a);)U6e(e.b,l(X8(e.a),17).a)}return n}function ULn(e,t){var n,r,a,o,f,g,w,E,C,L;if(C=l(Q(e,(ft(),Wc)),64),r=l(jt(e.j,0),12),C==(Ct(),Qn)?la(r,Dr):C==Dr&&la(r,Qn),l(Q(t,(Nt(),bv)),181).Hc((mh(),Cv))){if(w=ze(Ge(Q(e,GT))),E=ze(Ge(Q(e,KT))),f=ze(Ge(Q(e,y4))),g=l(Q(t,v4),21),g.Hc((Rl(),vp)))for(n=E,L=e.o.a/2-r.n.a,o=new G(r.f);o.a0&&(E=e.n.a/o);break;case 2:case 4:a=e.i.o.b,a>0&&(E=e.n.b/a)}rt(e,(ft(),l3),E)}if(w=e.o,f=e.a,r)f.a=r.a,f.b=r.b,e.d=!0;else if(t!=Z1&&t!=Wb&&g!=Pc)switch(g.g){case 1:f.a=w.a/2;break;case 2:f.a=w.a,f.b=w.b/2;break;case 3:f.a=w.a/2,f.b=w.b;break;case 4:f.b=w.b/2}else f.a=w.a/2,f.b=w.b/2}function tL(e){var t,n,r,a,o,f,g,w,E,C;if(e.Pj())if(C=e.Ej(),w=e.Qj(),C>0)if(t=new T7e(e.pj()),n=C,o=n<100?null:new nb(n),AO(e,n,t.g),a=n==1?e.Ij(4,Oe(t,0),null,0,w):e.Ij(6,t,null,-1,w),e.Mj()){for(r=new or(t);r.e!=r.i.gc();)o=e.Oj(gr(r),o);o?(o.nj(a),o.oj()):e.Jj(a)}else o?(o.nj(a),o.oj()):e.Jj(a);else AO(e,e.Ej(),e.Fj()),e.Jj(e.Ij(6,(Cn(),_o),null,-1,w));else if(e.Mj())if(C=e.Ej(),C>0){for(g=e.Fj(),E=C,AO(e,C,g),o=E<100?null:new nb(E),r=0;r1&&wl(f)*gh(f)/2>g[0]){for(o=0;og[o];)++o;V=new Zp(J,0,o+1),L=new hV(V),C=wl(f)/gh(f),w=Lle(L,t,new A8,n,r,a,C),Oi(Y0(L.e),w),K8($E(B,L),aT),z=new Zp(J,o+1,J.c.length),cxe(B,z),J.c.length=0,E=0,gst(g,g.length,0)}else te=B.b.c.length==0?null:jt(B.b,0),te!=null&&rce(B,0),E>0&&(g[E]=g[E-1]),g[E]+=wl(f)*gh(f),++E,$n(J.c,f);return J}function QLn(e,t){var n,r,a,o;n=t.b,o=new Ol(n.j),a=0,r=n.j,r.c.length=0,mw(l(zm(e.b,(Ct(),Qn),(Ow(),o3)),15),n),a=zN(o,a,new Gv,r),mw(l(zm(e.b,Qn,Rb),15),n),a=zN(o,a,new bee,r),mw(l(zm(e.b,Qn,a3),15),n),mw(l(zm(e.b,ar,o3),15),n),mw(l(zm(e.b,ar,Rb),15),n),a=zN(o,a,new $j,r),mw(l(zm(e.b,ar,a3),15),n),mw(l(zm(e.b,Dr,o3),15),n),a=zN(o,a,new zj,r),mw(l(zm(e.b,Dr,Rb),15),n),a=zN(o,a,new qj,r),mw(l(zm(e.b,Dr,a3),15),n),mw(l(zm(e.b,er,o3),15),n),a=zN(o,a,new Bj,r),mw(l(zm(e.b,er,Rb),15),n),mw(l(zm(e.b,er,a3),15),n)}function JLn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z;for(g=new G(t);g.a.5?fe-=f*2*(V-.5):V<.5&&(fe+=o*2*(.5-V)),a=g.d.b,fete.a-J-C&&(fe=te.a-J-C),g.n.a=t+fe}}function nMn(e){var t,n,r,a,o;if(r=l(Q(e,(Nt(),Qu)),171),r==(hf(),$b)){for(n=new hr(dr(ka(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),18),!Aut(t))throw ue(new Vp(jhe+HN(e)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==d4){for(o=new hr(dr(qs(e).a.Kc(),new j));jr(o);)if(a=l(xr(o),18),!Aut(a))throw ue(new Vp(jhe+HN(e)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function bP(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;if(e.e&&e.c.c>19&&(t=xE(t),w=!w),f=$Tn(t),o=!1,a=!1,r=!1,e.h==SP&&e.m==0&&e.l==0)if(a=!0,o=!0,f==-1)e=ent((iE(),WSe)),r=!0,w=!w;else return g=D9e(e,f),w&&yce(g),n&&(Nb=qu(0,0,0)),g;else e.h>>19&&(o=!0,e=xE(e),r=!0,w=!w);return f!=-1?pyn(e,f,w,o,n):bxe(e,t)<0?(n&&(o?Nb=xE(e):Nb=qu(e.l,e.m,e.h)),qu(0,0,0)):R_n(r?e:qu(e.l,e.m,e.h),t,w,o,a,n)}function Tle(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;if(f=e.e,w=t.e,f==0)return t;if(w==0)return e;if(o=e.d,g=t.d,o+g==2)return n=va(e.a[0],Vo),r=va(t.a[0],Vo),f==w?(C=bo(n,r),V=Yr(C),z=Yr(ub(C,32)),z==0?new Qg(f,V):new Im(f,2,he(le(Vr,1),di,28,15,[V,z]))):(Cd(),Aq(f<0?Df(r,n):Df(n,r),0)?kb(f<0?Df(r,n):Df(n,r)):J_(kb(r2(f<0?Df(r,n):Df(n,r)))));if(f==w)B=f,L=o>=g?Ooe(e.a,o,t.a,g):Ooe(t.a,g,e.a,o);else{if(a=o!=g?o>g?1:-1:W7e(e.a,t.a,o),a==0)return Cd(),BL;a==1?(B=f,L=Doe(e.a,o,t.a,g)):(B=w,L=Doe(t.a,g,e.a,o))}return E=new Im(B,L.length,L),iA(E),E}function iMn(e,t){var n,r,a,o,f,g,w;if(!(e.g>t.f||t.g>e.f)){for(n=0,r=0,f=e.w.a.ec().Kc();f.Ob();)a=l(f.Pb(),12),Ice(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,t.g,t.f)&&++n;for(g=e.r.a.ec().Kc();g.Ob();)a=l(g.Pb(),12),Ice(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,t.g,t.f)&&--n;for(w=t.w.a.ec().Kc();w.Ob();)a=l(w.Pb(),12),Ice(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,e.g,e.f)&&++r;for(o=t.r.a.ec().Kc();o.Ob();)a=l(o.Pb(),12),Ice(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,e.g,e.f)&&--r;n=0)return n;switch(kw(ic(e,n))){case 2:{if(vn("",o2(e,n.qk()).xe())){if(w=HO(ic(e,n)),g=Wk(ic(e,n)),C=P9e(e,t,w,g),C)return C;for(a=hke(e,t),f=0,L=a.gc();f1)throw ue(new Yn(ZP));for(C=Wu(e.e.Dh(),t),r=l(e.g,124),f=0;f1,E=new N1(B.b);Lc(E.a)||Lc(E.b);)w=l(Lc(E.a)?re(E.a):re(E.b),18),L=w.c==B?w.d:w.c,b.Math.abs(Ic(he(le(Ea,1),dt,8,0,[L.i.n,L.n,L.a])).b-f.b)>1&&UCn(e,w,f,o,B)}}function lMn(e){var t,n,r,a,o,f;if(a=new Ua(e.e,0),r=new Ua(e.a,0),e.d)for(n=0;nwfe;){for(o=t,f=0;b.Math.abs(t-o)0),a.a.Xb(a.c=--a.b),CAn(e,e.b-f,o,r,a),mr(a.b0),r.a.Xb(r.c=--r.b)}if(!e.d)for(n=0;n0?(e.f[C.p]=z/(C.e.c.length+C.g.c.length),e.c=b.Math.min(e.c,e.f[C.p]),e.b=b.Math.max(e.b,e.f[C.p])):g&&(e.f[C.p]=z)}}function fMn(e){e.b=null,e.bb=null,e.fb=null,e.qb=null,e.a=null,e.c=null,e.d=null,e.e=null,e.f=null,e.n=null,e.M=null,e.L=null,e.Q=null,e.R=null,e.K=null,e.db=null,e.eb=null,e.g=null,e.i=null,e.j=null,e.k=null,e.gb=null,e.o=null,e.p=null,e.q=null,e.r=null,e.$=null,e.ib=null,e.S=null,e.T=null,e.t=null,e.s=null,e.u=null,e.v=null,e.w=null,e.B=null,e.A=null,e.C=null,e.D=null,e.F=null,e.G=null,e.H=null,e.I=null,e.J=null,e.P=null,e.Z=null,e.U=null,e.V=null,e.W=null,e.X=null,e.Y=null,e._=null,e.ab=null,e.cb=null,e.hb=null,e.nb=null,e.lb=null,e.mb=null,e.ob=null,e.pb=null,e.jb=null,e.kb=null,e.N=!1,e.O=!1}function dMn(e,t,n){var r,a,o,f;for(n.Ug("Graph transformation ("+e.a+")",1),f=_w(t.a),o=new G(t.b);o.a=g.b.c)&&(g.b=t),(!g.c||t.c<=g.c.c)&&(g.d=g.c,g.c=t),(!g.e||t.d>=g.e.d)&&(g.e=t),(!g.f||t.d<=g.f.d)&&(g.f=t);return r=new nU((wE(),s3)),QO(e,M8t,new Il(he(le(fB,1),Rn,382,0,[r]))),f=new nU(o4),QO(e,L8t,new Il(he(le(fB,1),Rn,382,0,[f]))),a=new nU(a4),QO(e,A8t,new Il(he(le(fB,1),Rn,382,0,[a]))),o=new nU(M6),QO(e,_8t,new Il(he(le(fB,1),Rn,382,0,[o]))),Yue(r.c,s3),Yue(a.c,a4),Yue(o.c,M6),Yue(f.c,o4),g.a.c.length=0,ra(g.a,r.c),ra(g.a,lf(a.c)),ra(g.a,o.c),ra(g.a,lf(f.c)),g}function bMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;for(t.Ug(Ayt,1),z=ze(Ge(at(e,(ug(),T4)))),f=ze(Ge(at(e,(z1(),wM)))),g=l(at(e,vM),107),v7e((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a)),C=uvt((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a),z,f),!e.a&&(e.a=new nt(Ai,e,10,11)),E=new G(C);E.a0&&(e.a=w+(z-1)*o,t.c.b+=e.a,t.f.b+=e.a)),V.a.gc()!=0&&(B=new Hae(1,o),z=Rke(B,t,V,J,t.f.b+w-t.c.b),z>0&&(t.f.b+=w+(z-1)*o))}function bvt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(C=ze(Ge(Q(e,(Nt(),b3)))),r=ze(Ge(Q(e,rDe))),B=new EI,rt(B,b3,C+r),E=t,fe=E.d,J=E.c.i,Te=E.d.i,te=oye(J.c),Me=oye(Te.c),a=new bt,L=te;L<=Me;L++)g=new op(e),x(g,(Zn(),Aa)),rt(g,(ft(),zi),E),rt(g,Ms,(Ra(),Mu)),rt(g,kW,B),z=l(jt(e.b,L),30),L==te?Fy(g,z.a.c.length-n,z):Va(g,z),$e=ze(Ge(Q(E,x2))),$e<0&&($e=0,rt(E,x2,$e)),g.o.b=$e,V=b.Math.floor($e/2),f=new gu,la(f,(Ct(),er)),Mc(f,g),f.n.b=V,w=new gu,la(w,ar),Mc(w,g),w.n.b=V,Fa(E,f),o=new Tw,pc(o,E),rt(o,cc,null),po(o,w),Fa(o,fe),s8n(g,E,o),$n(a.c,o),E=o;return a}function Cle(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(w=l(d2(e,(Ct(),er)).Kc().Pb(),12).e,z=l(d2(e,ar).Kc().Pb(),12).g,g=w.c.length,Me=I1(l(jt(e.j,0),12));g-- >0;){for(J=(Sn(0,w.c.length),l(w.c[0],18)),a=(Sn(0,z.c.length),l(z.c[0],18)),Te=a.d.e,o=gc(Te,a,0),$bn(J,a.d,o),po(a,null),Fa(a,null),V=J.a,t&&ui(V,new Eo(Me)),r=Rr(a.a,0);r.b!=r.d.c;)n=l(Br(r),8),ui(V,new Eo(n));for(fe=J.b,B=new G(a.b);B.af)&&na(e.b,l(te.b,18));++g}o=f}}}function Pke(e,t){var n;if(t==null||vn(t,ul)||t.length==0&&e.k!=(g2(),t9))return null;switch(e.k.g){case 1:return QV(t,wT)?(Hn(),ST):QV(t,Ffe)?(Hn(),Pb):null;case 2:try{return pt(Oh(t,lo,Ii))}catch(r){if(r=bs(r),De(r,130))return null;throw ue(r)}case 4:try{return jy(t)}catch(r){if(r=bs(r),De(r,130))return null;throw ue(r)}case 3:return t;case 5:return F0t(e),Xpt(e,t);case 6:return F0t(e),mTn(e,e.a,t);case 7:try{return n=AEn(e),n.cg(t),n}catch(r){if(r=bs(r),De(r,33))return null;throw ue(r)}default:throw ue(new nc("Invalid type set for this layout option."))}}function Bke(e){var t;switch(e.d){case 1:{if(e.Sj())return e.o!=-2;break}case 2:{if(e.Sj())return e.o==-2;break}case 3:case 5:case 4:case 6:case 7:return e.o>-2;default:return!1}switch(t=e.Rj(),e.p){case 0:return t!=null&&Rt(Bt(t))!=I_(e.k,0);case 1:return t!=null&&l(t,222).a!=Yr(e.k)<<24>>24;case 2:return t!=null&&l(t,180).a!=(Yr(e.k)&Zs);case 6:return t!=null&&I_(l(t,168).a,e.k);case 5:return t!=null&&l(t,17).a!=Yr(e.k);case 7:return t!=null&&l(t,191).a!=Yr(e.k)<<16>>16;case 3:return t!=null&&ze(Ge(t))!=e.j;case 4:return t!=null&&l(t,161).a!=e.j;default:return t==null?e.n!=null:!Pi(t,e.n)}}function mP(e,t,n){var r,a,o,f;return e.ol()&&e.nl()&&(f=Fae(e,l(n,58)),qe(f)!==qe(n))?(e.xj(t),e.Dj(t,ylt(e,t,f)),e.al()&&(o=(a=l(n,54),e.ml()?e.kl()?a.Th(e.b,Ro(l(Mn(sl(e.b),e.Lj()),19)).n,l(Mn(sl(e.b),e.Lj()).Hk(),29).kk(),null):a.Th(e.b,ms(a.Dh(),Ro(l(Mn(sl(e.b),e.Lj()),19))),null,null):a.Th(e.b,-1-e.Lj(),null,null)),!l(f,54).Ph()&&(o=(r=l(f,54),e.ml()?e.kl()?r.Rh(e.b,Ro(l(Mn(sl(e.b),e.Lj()),19)).n,l(Mn(sl(e.b),e.Lj()).Hk(),29).kk(),o):r.Rh(e.b,ms(r.Dh(),Ro(l(Mn(sl(e.b),e.Lj()),19))),null,o):r.Rh(e.b,-1-e.Lj(),null,o))),o&&o.oj()),hh(e.b)&&e.Jj(e.Ij(9,n,f,t,!1)),f):n}function mvt(e){var t,n,r,a,o,f,g,w,E,C;for(r=new bt,f=new G(e.e.a);f.a0&&(f=b.Math.max(f,kft(e.C.b+r.d.b,a))),C=r,L=a,B=o;e.C&&e.C.c>0&&(z=B+e.C.c,E&&(z+=C.d.c),f=b.Math.max(f,(A1(),f0(H1),b.Math.abs(L-1)<=H1||L==1||isNaN(L)&&isNaN(1)?0:z/(1-L)))),n.n.b=0,n.a.a=f}function wvt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z;if(n=l(Qo(e.b,t),127),w=l(l($i(e.r,t),21),87),w.dc()){n.n.d=0,n.n.a=0;return}for(E=e.u.Hc((Rl(),vp)),f=0,e.A.Hc((mh(),Cv))&&Wbt(e,t),g=w.Kc(),C=null,B=0,L=0;g.Ob();)r=l(g.Pb(),117),o=ze(Ge(r.b.of((zq(),pK)))),a=r.b.Mf().b,C?(z=L+C.d.a+e.w+r.d.d,f=b.Math.max(f,(A1(),f0(H1),b.Math.abs(B-o)<=H1||B==o||isNaN(B)&&isNaN(o)?0:z/(o-B)))):e.C&&e.C.d>0&&(f=b.Math.max(f,kft(e.C.d+r.d.d,o))),C=r,B=o,L=a;e.C&&e.C.a>0&&(z=L+e.C.a,E&&(z+=C.d.a),f=b.Math.max(f,(A1(),f0(H1),b.Math.abs(B-1)<=H1||B==1||isNaN(B)&&isNaN(1)?0:z/(1-B)))),n.n.d=0,n.a.b=f}function wMn(e,t,n,r,a,o,f,g){var w,E,C,L,B,z,V,J,te,fe;if(V=!1,E=H9e(n.q,t.f+t.b-n.q.f),z=r.f>t.b&&g,fe=a-(n.q.e+E-f),L=(w=ZA(r,fe,!1),w.a),z&&L>r.f)return!1;if(z){for(B=0,te=new G(t.d);te.a=(Sn(o,e.c.length),l(e.c[o],186)).e,!z&&L>t.b&&!C)?!1:((C||z||L<=t.b)&&(C&&L>t.b?(n.d=L,aN(n,spt(n,L))):(Egt(n.q,E),n.c=!0),aN(r,a-(n.s+n.r)),qN(r,n.q.e+n.q.d,t.f),bV(t,r),e.c.length>o&&(UN((Sn(o,e.c.length),l(e.c[o],186)),r),(Sn(o,e.c.length),l(e.c[o],186)).a.c.length==0&&t2(e,o)),V=!0),V)}function yvt(e,t,n){var r,a,o,f,g,w;for(this.g=e,g=t.d.length,w=n.d.length,this.d=We(wg,m2,10,g+w,0,1),f=0;f0?Xoe(this,this.f/this.a):L1(t.g,t.d[0]).a!=null&&L1(n.g,n.d[0]).a!=null?Xoe(this,(ze(L1(t.g,t.d[0]).a)+ze(L1(n.g,n.d[0]).a))/2):L1(t.g,t.d[0]).a!=null?Xoe(this,L1(t.g,t.d[0]).a):L1(n.g,n.d[0]).a!=null&&Xoe(this,L1(n.g,n.d[0]).a)}function yMn(e,t){var n,r,a,o,f,g,w,E,C,L;for(e.a=new Zst(nyn(LM)),r=new G(t.a);r.a=1&&(te-f>0&&L>=0?(w.n.a+=J,w.n.b+=o*f):te-f<0&&C>=0&&(w.n.a+=J*te,w.n.b+=o));e.o.a=t.a,e.o.b=t.b,rt(e,(Nt(),bv),(mh(),r=l(K0(BM),9),new Zh(r,l(c0(r,r.length),9),0)))}function EMn(e,t,n,r,a,o){var f;if(!(t==null||!Hce(t,TPe,CPe)))throw ue(new Yn("invalid scheme: "+t));if(!e&&!(n!=null&&pd(n,cl(35))==-1&&n.length>0&&(Xn(0,n.length),n.charCodeAt(0)!=47)))throw ue(new Yn("invalid opaquePart: "+n));if(e&&!(t!=null&&nO(EY,t.toLowerCase()))&&!(n==null||!Hce(n,$M,zM)))throw ue(new Yn(n5t+n));if(e&&t!=null&&nO(EY,t.toLowerCase())&&!nxn(n))throw ue(new Yn(n5t+n));if(!c5n(r))throw ue(new Yn("invalid device: "+r));if(!Gyn(a))throw f=a==null?"invalid segments: null":"invalid segment: "+qyn(a),ue(new Yn(f));if(!(o==null||pd(o,cl(35))==-1))throw ue(new Yn("invalid query: "+o))}function TMn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;if(n.Ug("Network simplex layering",1),e.b=t,fe=l(Q(t,(Nt(),nM)),17).a*4,te=e.b.a,te.c.length<1){n.Vg();return}for(o=k_n(e,te),J=null,a=Rr(o,0);a.b!=a.d.c;){for(r=l(Br(a),15),g=fe*ua(b.Math.sqrt(r.gc())),f=F_n(r),ole(n3e(Tun(r3e(bae(f),g),J),!0),n.eh(1)),B=e.b.b,V=new G(f.a);V.a1)for(J=We(Vr,di,28,e.b.b.c.length,15,1),L=0,E=new G(e.b.b);E.a0){JV(e,n,0),n.a+=String.fromCharCode(r),a=G5n(t,o),JV(e,n,a),o+=a-1;continue}r==39?o+10&&V.a<=0){w.c.length=0,$n(w.c,V);break}z=V.i-V.d,z>=g&&(z>g&&(w.c.length=0,g=z),$n(w.c,V))}w.c.length!=0&&(f=l(jt(w,aU(a,w.c.length)),118),Me.a.Bc(f)!=null,f.g=C++,Tke(f,t,n,r),w.c.length=0)}for(te=e.c.length+1,B=new G(e);B.aia||t.o==wv&&C=g&&a<=w)g<=a&&o<=w?(n[C++]=a,n[C++]=o,r+=2):g<=a?(n[C++]=a,n[C++]=w,e.b[r]=w+1,f+=2):o<=w?(n[C++]=g,n[C++]=o,r+=2):(n[C++]=g,n[C++]=w,e.b[r]=w+1);else if(wAb)&&g<10);s3e(e.c,new Y7),Tvt(e),wgn(e.c),gMn(e.f)}function OMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(n=l(Q(e,(Nt(),Ms)),101),f=e.f,o=e.d,g=f.a+o.b+o.c,w=0-o.d-e.c.b,C=f.b+o.d+o.a-e.c.b,E=new bt,L=new bt,a=new G(t);a.a=2){for(w=Rr(n,0),f=l(Br(w),8),g=l(Br(w),8);g.a0&&SN(E,!0,(Js(),vc)),g.k==(Zn(),Us)&&cat(E),ki(e.f,g,t)}}function BMn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(a=l(Q(e,(Qi(),gM)),27),E=Ii,C=Ii,g=lo,w=lo,Me=Rr(e.b,0);Me.b!=Me.d.c;)fe=l(Br(Me),40),z=fe.e,V=fe.f,E=b.Math.min(E,z.a-V.a/2),C=b.Math.min(C,z.b-V.b/2),g=b.Math.max(g,z.a+V.a/2),w=b.Math.max(w,z.b+V.b/2);for(B=l(at(a,(Hc(),gIe)),107),Te=Rr(e.b,0);Te.b!=Te.d.c;)fe=l(Br(Te),40),L=Q(fe,gM),De(L,207)&&(o=l(L,27),Qh(o,fe.e.a,fe.e.b),aP(o,fe));for(te=Rr(e.a,0);te.b!=te.d.c;)J=l(Br(te),65),r=l(Q(J,gM),74),r&&(t=J.a,n=l6(r,!0,!0),dP(t,n));$e=g-E+(B.b+B.c),f=w-C+(B.d+B.a),Rt(Bt(at(a,(pi(),C4))))||Gw(a,$e,f,!1,!1),Hi(a,t7,$e-(B.b+B.c)),Hi(a,e7,f-(B.d+B.a))}function Svt(e,t){var n,r,a,o,f,g,w,E,C,L;for(w=!0,a=0,E=e.g[t.p],C=t.o.b+e.o,n=e.d[t.p][2],rf(e.b,E,pt(l(jt(e.b,E),17).a-1+n)),rf(e.c,E,ze(Ge(jt(e.c,E)))-C+n*e.f),++E,E>=e.j?(++e.j,vt(e.b,pt(1)),vt(e.c,C)):(r=e.d[t.p][1],rf(e.b,E,pt(l(jt(e.b,E),17).a+1-r)),rf(e.c,E,ze(Ge(jt(e.c,E)))+C-r*e.f)),(e.r==(Nf(),AB)&&(l(jt(e.b,E),17).a>e.k||l(jt(e.b,E-1),17).a>e.k)||e.r==LB&&(ze(Ge(jt(e.c,E)))>e.n||ze(Ge(jt(e.c,E-1)))>e.n))&&(w=!1),f=new hr(dr(ka(t).a.Kc(),new j));jr(f);)o=l(xr(f),18),g=o.c.i,e.g[g.p]==E&&(L=Svt(e,g),a=a+l(L.a,17).a,w=w&&Rt(Bt(L.b)));return e.g[t.p]=E,a=a+e.d[t.p][0],new ca(pt(a),(Hn(),!!w))}function _vt(e,t){var n,r,a,o,f;n=ze(Ge(Q(t,(Nt(),x0)))),n<2&&rt(t,x0,2),r=l(Q(t,Rh),88),r==(Js(),J1)&&rt(t,Rh,zV(t)),a=l(Q(t,Vkt),17),a.a==0?rt(t,(ft(),Xx),new Uce):rt(t,(ft(),Xx),new VH(a.a)),o=Bt(Q(t,ZL)),o==null&&rt(t,ZL,(Hn(),qe(Q(t,bp))===qe((ip(),iC)))),Is(new bn(null,new kn(t.a,16)),new qp(e)),Is(Dc(new bn(null,new kn(t.b,16)),new u5),new n_(e)),f=new xvt(t),rt(t,(ft(),$6),f),qO(e.a),X0(e.a,(uo(),y0),l(Q(t,dv),188)),X0(e.a,vg,l(Q(t,pv),188)),X0(e.a,bu,l(Q(t,JL),188)),X0(e.a,_u,l(Q(t,yW),188)),X0(e.a,mc,B3n(l(Q(t,bp),223))),uye(e.a,DIn(t)),rt(t,K1e,bP(e.a,t))}function Rke(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe;for(L=new Pr,f=new bt,Spt(e,n,e.d.Ag(),f,L),Spt(e,r,e.d.Bg(),f,L),e.b=.2*(J=D2t(Dc(new bn(null,new kn(f,16)),new Tte)),te=D2t(Dc(new bn(null,new kn(f,16)),new Cte)),b.Math.min(J,te)),o=0,g=0;g=2&&(fe=X2t(f,!0,B),!e.e&&(e.e=new sXe(e)),q5n(e.e,fe,f,e.b)),Ogt(f,B),qMn(f),z=-1,C=new G(f);C.ag)}function Avt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(E=gs,C=gs,g=ia,w=ia,B=new G(t.i);B.a-1){for(a=Rr(g,0);a.b!=a.d.c;)r=l(Br(a),131),r.v=f;for(;g.b!=0;)for(r=l(kue(g,0),131),n=new G(r.i);n.a-1){for(o=new G(g);o.a0)&&(Y(w,b.Math.min(w.o,a.o-1)),q(w,w.i-1),w.i==0&&$n(g.c,w))}}function Mvt(e,t,n,r,a){var o,f,g,w;return w=gs,f=!1,g=Lke(e,ma(new lt(t.a,t.b),e),Oi(new lt(n.a,n.b),a),ma(new lt(r.a,r.b),n)),o=!!g&&!(b.Math.abs(g.a-e.a)<=Zw&&b.Math.abs(g.b-e.b)<=Zw||b.Math.abs(g.a-t.a)<=Zw&&b.Math.abs(g.b-t.b)<=Zw),g=Lke(e,ma(new lt(t.a,t.b),e),n,a),g&&((b.Math.abs(g.a-e.a)<=Zw&&b.Math.abs(g.b-e.b)<=Zw)==(b.Math.abs(g.a-t.a)<=Zw&&b.Math.abs(g.b-t.b)<=Zw)||o?w=b.Math.min(w,eA(ma(g,n))):f=!0),g=Lke(e,ma(new lt(t.a,t.b),e),r,a),g&&(f||(b.Math.abs(g.a-e.a)<=Zw&&b.Math.abs(g.b-e.b)<=Zw)==(b.Math.abs(g.a-t.a)<=Zw&&b.Math.abs(g.b-t.b)<=Zw)||o)&&(w=b.Math.min(w,eA(ma(g,r)))),w}function Dvt(e){sw(e,new Xm(Uz(nw(Zv(tw(ew(new x1,Mb),A3t),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new y1),Yu))),gt(e,Mb,hL,It(lAe)),gt(e,Mb,cG,(Hn(),!0)),gt(e,Mb,x6,It(d8t)),gt(e,Mb,Px,It(g8t)),gt(e,Mb,Nx,It(p8t)),gt(e,Mb,fT,It(f8t)),gt(e,Mb,fL,It(fAe)),gt(e,Mb,dT,It(b8t)),gt(e,Mb,PEe,It(uAe)),gt(e,Mb,FEe,It(oAe)),gt(e,Mb,REe,It(cAe)),gt(e,Mb,jEe,It(hAe)),gt(e,Mb,BEe,It(TK))}function HMn(e){var t,n,r,a,o,f,g,w;for(t=null,r=new G(e);r.a0&&n.c==0&&(!t&&(t=new bt),$n(t.c,n));if(t)for(;t.c.length!=0;){if(n=l(t2(t,0),239),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new bt),new G(n.b));o.agc(e,n,0))return new ca(a,n)}else if(ze(L1(a.g,a.d[0]).a)>ze(L1(n.g,n.d[0]).a))return new ca(a,n)}for(g=(!n.e&&(n.e=new bt),n.e).Kc();g.Ob();)f=l(g.Pb(),239),w=(!f.b&&(f.b=new bt),f.b),Ey(0,w.c.length),x_(w.c,0,n),f.c==w.c.length&&$n(t.c,f)}return null}function VMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;for(t.Ug("Interactive crossing minimization",1),f=0,o=new G(e.b);o.a0&&(n+=w.n.a+w.o.a/2,++L),V=new G(w.j);V.a0&&(n/=L),fe=We(Na,Zo,28,r.a.c.length,15,1),g=0,E=new G(r.a);E.a=g&&a<=w)g<=a&&o<=w?r+=2:g<=a?(e.b[r]=w+1,f+=2):o<=w?(n[C++]=a,n[C++]=g-1,r+=2):(n[C++]=a,n[C++]=g-1,e.b[r]=w+1,f+=2);else if(w2?(C=new bt,ra(C,new Zp(fe,1,fe.b)),o=vwt(C,Me+e.a),Te=new Gue(o),pc(Te,t),$n(n.c,Te)):r?Te=l(cr(e.b,cg(t)),272):Te=l(cr(e.b,Eb(t)),272),w=cg(t),r&&(w=Eb(t)),f=H9n(te,w),E=Me+e.a,f.a?(E+=b.Math.abs(te.b-L.b),J=new lt(L.a,(L.b+te.b)/2)):(E+=b.Math.abs(te.a-L.a),J=new lt((L.a+te.a)/2,L.b)),r?ki(e.d,t,new nxe(Te,f,J,E)):ki(e.c,t,new nxe(Te,f,J,E)),ki(e.b,t,Te),V=(!t.n&&(t.n=new nt(ec,t,1,7)),t.n),z=new or(V);z.e!=z.i.gc();)B=l(gr(z),135),a=uP(e,B,!0,0,0),$n(n.c,a)}function UMn(e){var t,n,r,a,o,f,g;if(!e.A.dc()){if(e.A.Hc((mh(),iF))&&(l(Qo(e.b,(Ct(),Qn)),127).k=!0,l(Qo(e.b,Dr),127).k=!0,t=e.q!=(Ra(),Tg)&&e.q!=Mu,_z(l(Qo(e.b,ar),127),t),_z(l(Qo(e.b,er),127),t),_z(e.g,t),e.A.Hc(Cv)&&(l(Qo(e.b,Qn),127).j=!0,l(Qo(e.b,Dr),127).j=!0,l(Qo(e.b,ar),127).k=!0,l(Qo(e.b,er),127).k=!0,e.g.k=!0)),e.A.Hc(rF))for(e.a.j=!0,e.a.k=!0,e.g.j=!0,e.g.k=!0,g=e.B.Hc((Zl(),FM)),a=eue(),o=0,f=a.length;o0),l(C.a.Xb(C.c=--C.b),18));o!=r&&C.b>0;)e.a[o.p]=!0,e.a[r.p]=!0,o=(mr(C.b>0),l(C.a.Xb(C.c=--C.b),18));C.b>0&&ph(C)}}function Ovt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z;if(!e.b)return!1;for(f=null,B=null,w=new Boe(null,null),a=1,w.a[1]=e.b,L=w;L.a[a];)E=a,g=B,B=L,L=L.a[a],r=e.a.Ne(t,L.d),a=r<0?0:1,r==0&&(!n.c||Jc(L.e,n.d))&&(f=L),!(L&&L.b)&&!oy(L.a[a])&&(oy(L.a[1-a])?B=B.a[E]=EV(L,a):oy(L.a[1-a])||(z=B.a[1-E],z&&(!oy(z.a[1-E])&&!oy(z.a[E])?(B.b=!1,z.b=!0,L.b=!0):(o=g.a[1]==B?1:0,oy(z.a[E])?g.a[o]=uct(B,E):oy(z.a[1-E])&&(g.a[o]=EV(B,E)),L.b=g.a[o].b=!0,g.a[o].a[0].b=!1,g.a[o].a[1].b=!1))));return f&&(n.b=!0,n.d=f.e,L!=f&&(C=new Boe(L.d,L.e),Wxn(e,w,f,C),B==f&&(B=C)),B.a[B.a[1]==L?1:0]=L.a[L.a[0]?0:1],--e.c),e.b=w.a[1],e.b&&(e.b.b=!1),n.b}function WMn(e){var t,n,r,a,o,f,g,w,E,C,L,B;for(a=new G(e.a.a.b);a.a0?a-=864e5:a+=864e5,w=new Kye(bo(Zc(t.q.getTime()),a))),C=new S5,E=e.a.length,o=0;o=97&&r<=122||r>=65&&r<=90){for(f=o+1;f=E)throw ue(new Yn("Missing trailing '"));f+1=14&&C<=16))?t.a._b(r)?(n.a?hi(n.a,n.b):n.a=new Th(n.d),N_(n.a,"[...]")):(g=jm(r),E=new U_(t),Jg(n,Pvt(g,E))):De(r,183)?Jg(n,Skn(l(r,183))):De(r,195)?Jg(n,hxn(l(r,195))):De(r,201)?Jg(n,x9n(l(r,201))):De(r,2111)?Jg(n,fxn(l(r,2111))):De(r,53)?Jg(n,Ckn(l(r,53))):De(r,376)?Jg(n,Hkn(l(r,376))):De(r,846)?Jg(n,Tkn(l(r,846))):De(r,109)&&Jg(n,Ekn(l(r,109))):Jg(n,r==null?ul:xc(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function JE(e,t){var n,r,a,o;o=e.F,t==null?(e.F=null,CE(e,null)):(e.F=(nr(t),t),r=pd(t,cl(60)),r!=-1?(a=(Ga(0,r,t.length),t.substr(0,r)),pd(t,cl(46))==-1&&!vn(a,Cx)&&!vn(a,SL)&&!vn(a,GG)&&!vn(a,_L)&&!vn(a,AL)&&!vn(a,LL)&&!vn(a,ML)&&!vn(a,DL)&&(a=p5t),n=Rq(t,cl(62)),n!=-1&&(a+=""+(Xn(n+1,t.length+1),t.substr(n+1))),CE(e,a)):(a=t,pd(t,cl(46))==-1&&(r=pd(t,cl(91)),r!=-1&&(a=(Ga(0,r,t.length),t.substr(0,r))),!vn(a,Cx)&&!vn(a,SL)&&!vn(a,GG)&&!vn(a,_L)&&!vn(a,AL)&&!vn(a,LL)&&!vn(a,ML)&&!vn(a,DL)?(a=p5t,r!=-1&&(a+=""+(Xn(r,t.length+1),t.substr(r)))):a=t),CE(e,a),a==t&&(e.F=e.D))),e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,5,o,t))}function Bvt(e,t){var n,r,a,o,f,g,w,E,C,L;if(w=t.length-1,g=(Xn(w,t.length),t.charCodeAt(w)),g==93){if(f=pd(t,cl(91)),f>=0)return a=Z4n(e,(Ga(1,f,t.length),t.substr(1,f-1))),C=(Ga(f+1,w,t.length),t.substr(f+1,w-(f+1))),CIn(e,C,a)}else{if(n=-1,ZSe==null&&(ZSe=new RegExp("\\d")),ZSe.test(String.fromCharCode(g))&&(n=h4e(t,cl(46),w-1),n>=0)){r=l(Moe(e,Tht(e,(Ga(1,n,t.length),t.substr(1,n-1))),!1),61),E=0;try{E=Oh((Xn(n+1,t.length+1),t.substr(n+1)),lo,Ii)}catch(B){throw B=bs(B),De(B,130)?(o=B,ue(new nV(o))):ue(B)}if(E>16==-10?n=l(e.Cb,292).Yk(t,n):e.Db>>16==-15&&(!t&&(t=(Tn(),td)),!E&&(E=(Tn(),td)),e.Cb.Yh()&&(w=new Zg(e.Cb,1,13,E,t,f2(Xl(l(e.Cb,62)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,90))e.Db>>16==-23&&(De(t,90)||(t=(Tn(),Kf)),De(E,90)||(E=(Tn(),Kf)),e.Cb.Yh()&&(w=new Zg(e.Cb,1,10,E,t,f2(du(l(e.Cb,29)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,457))for(g=l(e.Cb,850),f=(!g.b&&(g.b=new Pz(new Vie)),g.b),o=(r=new qm(new Sr(f.a).a),new Bz(r));o.a.b;)a=l(Nw(o.a).ld(),89),n=ZE(a,SU(a,g),n)}return n}function ZMn(e,t){var n,r,a,o,f,g,w,E,C,L,B;for(f=Rt(Bt(at(e,(Nt(),b4)))),B=l(at(e,v4),21),w=!1,E=!1,L=new or((!e.c&&(e.c=new nt(Hl,e,9,9)),e.c));L.e!=L.i.gc()&&(!w||!E);){for(o=l(gr(L),123),g=0,a=rg(Lh(he(le(Fh,1),Rn,20,0,[(!o.d&&(o.d=new Ln(js,o,8,5)),o.d),(!o.e&&(o.e=new Ln(js,o,7,4)),o.e)])));jr(a)&&(r=l(xr(a),74),C=f&&qw(r)&&Rt(Bt(at(r,gv))),n=gvt((!r.b&&(r.b=new Ln(_r,r,4,7)),r.b),o)?e==ds(bc(l(Oe((!r.c&&(r.c=new Ln(_r,r,5,8)),r.c),0),84))):e==ds(bc(l(Oe((!r.b&&(r.b=new Ln(_r,r,4,7)),r.b),0),84))),!((C||n)&&(++g,g>1))););(g>0||B.Hc((Rl(),vp))&&(!o.n&&(o.n=new nt(ec,o,1,7)),o.n).i>0)&&(w=!0),g>1&&(E=!0)}w&&t.Fc((Ho(),vf)),E&&t.Fc((Ho(),UL))}function Fvt(e){var t,n,r,a,o,f,g,w,E,C,L,B;if(B=l(at(e,(pi(),kv)),21),B.dc())return null;if(g=0,f=0,B.Hc((mh(),iF))){for(C=l(at(e,_M),101),r=2,n=2,a=2,o=2,t=ds(e)?l(at(ds(e),xv),88):l(at(e,xv),88),E=new or((!e.c&&(e.c=new nt(Hl,e,9,9)),e.c));E.e!=E.i.gc();)if(w=l(gr(E),123),L=l(at(w,s7),64),L==(Ct(),Pc)&&(L=Eke(w,t),Hi(w,s7,L)),C==(Ra(),Mu))switch(L.g){case 1:r=b.Math.max(r,w.i+w.g);break;case 2:n=b.Math.max(n,w.j+w.f);break;case 3:a=b.Math.max(a,w.i+w.g);break;case 4:o=b.Math.max(o,w.j+w.f)}else switch(L.g){case 1:r+=w.g+2;break;case 2:n+=w.f+2;break;case 3:a+=w.g+2;break;case 4:o+=w.f+2}g=b.Math.max(r,a),f=b.Math.max(n,o)}return Gw(e,g,f,!0,!0)}function Sle(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(Te=l(yc(lV(Fi(new bn(null,new kn(t.d,16)),new CYe(n)),new SYe(n)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),L=Ii,C=lo,w=new G(t.b.j);w.a0,E?E&&(B=fe.p,f?++B:--B,L=l(jt(fe.c.a,B),10),r=o0t(L),z=!(Xue(r,ot,n[0])||Dst(r,ot,n[0]))):z=!0),V=!1,Ze=t.D.i,Ze&&Ze.c&&g.e&&(C=f&&Ze.p>0||!f&&Ze.p=0){for(w=null,g=new Ua(C.a,E+1);g.bf?1:uw(isNaN(0),isNaN(f)))<0&&(f0(Nd),(b.Math.abs(f-1)<=Nd||f==1||isNaN(f)&&isNaN(1)?0:f<1?-1:f>1?1:uw(isNaN(f),isNaN(1)))<0)&&(f0(Nd),(b.Math.abs(0-g)<=Nd||g==0||isNaN(0)&&isNaN(g)?0:0g?1:uw(isNaN(0),isNaN(g)))<0)&&(f0(Nd),(b.Math.abs(g-1)<=Nd||g==1||isNaN(g)&&isNaN(1)?0:g<1?-1:g>1?1:uw(isNaN(g),isNaN(1)))<0)),o)}function sDn(e){var t,n,r,a;if(n=e.D!=null?e.D:e.B,t=pd(n,cl(91)),t!=-1){r=(Ga(0,t,n.length),n.substr(0,t)),a=new Up;do a.a+="[";while((t=Nk(n,91,++t))!=-1);vn(r,Cx)?a.a+="Z":vn(r,SL)?a.a+="B":vn(r,GG)?a.a+="C":vn(r,_L)?a.a+="D":vn(r,AL)?a.a+="F":vn(r,LL)?a.a+="I":vn(r,ML)?a.a+="J":vn(r,DL)?a.a+="S":(a.a+="L",a.a+=""+r,a.a+=";");try{return null}catch(o){if(o=bs(o),!De(o,63))throw ue(o)}}else if(pd(n,cl(46))==-1){if(vn(n,Cx))return ih;if(vn(n,SL))return Al;if(vn(n,GG))return kf;if(vn(n,_L))return Na;if(vn(n,AL))return B4;if(vn(n,LL))return Vr;if(vn(n,ML))return nm;if(vn(n,DL))return h7}return null}function aDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St;for(e.e=t,g=aEn(t),ot=new bt,r=new G(g);r.a=0&&J=E.c.c.length?C=u6e((Zn(),Ps),Aa):C=u6e((Zn(),Aa),Aa),C*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(C-o)),f=n.b.g,n.b.g=b.Math.max(f,f+(C-f)),a=t}}function lDn(e){var t,n,r,a;for(Is(Fi(new bn(null,new kn(e.a.b,16)),new Oj),new aee),U8n(e),Is(Fi(new bn(null,new kn(e.a.b,16)),new oee),new cee),e.c==(ip(),s9)&&(Is(Fi(Dc(new bn(null,new kn(new br(e.f),1)),new uee),new lee),new vYe(e)),Is(Fi(fc(Dc(Dc(new bn(null,new kn(e.d.b,16)),new hee),new Nj),new fee),new Pj),new yYe(e))),a=new lt(gs,gs),t=new lt(ia,ia),r=new G(e.a.b);r.a0&&(t.a+=Co),GU(l(gr(g),167),t);for(t.a+=Phe,w=new q8((!r.c&&(r.c=new Ln(_r,r,5,8)),r.c));w.e!=w.i.gc();)w.e>0&&(t.a+=Co),GU(l(gr(w),167),t);t.a+=")"}}function hDn(e,t,n){var r,a,o,f,g,w,E,C;for(w=new or((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a));w.e!=w.i.gc();)for(g=l(gr(w),27),a=new hr(dr(cp(g).a.Kc(),new j));jr(a);){if(r=l(xr(a),74),!r.b&&(r.b=new Ln(_r,r,4,7)),!(r.b.i<=1&&(!r.c&&(r.c=new Ln(_r,r,5,8)),r.c.i<=1)))throw ue(new I8("Graph must not contain hyperedges."));if(!qA(r)&&g!=bc(l(Oe((!r.c&&(r.c=new Ln(_r,r,5,8)),r.c),0),84)))for(E=new jrt,pc(E,r),rt(E,(bb(),Hx),r),Aie(E,l(hc(zo(n.f,g)),153)),k8(E,l(cr(n,bc(l(Oe((!r.c&&(r.c=new Ln(_r,r,5,8)),r.c),0),84))),153)),vt(t.c,E),f=new or((!r.n&&(r.n=new nt(ec,r,1,7)),r.n));f.e!=f.i.gc();)o=l(gr(f),135),C=new zct(E,o.a),pc(C,o),rt(C,Hx,o),C.e.a=b.Math.max(o.g,1),C.e.b=b.Math.max(o.f,1),Ake(C),vt(t.d,C)}}function fDn(e,t,n){var r,a,o,f,g,w,E,C,L,B;switch(n.Ug("Node promotion heuristic",1),e.i=t,e.r=l(Q(t,(Nt(),zb)),243),e.r!=(Nf(),v3)&&e.r!=x4?jDn(e):hSn(e),C=l(Q(e.i,HMe),17).a,o=new hd,e.r.g){case 2:case 1:QE(e,o);break;case 3:for(e.r=LW,QE(e,o),w=0,g=new G(e.b);g.ae.k&&(e.r=AB,QE(e,o));break;case 4:for(e.r=LW,QE(e,o),E=0,a=new G(e.c);a.ae.n&&(e.r=LB,QE(e,o));break;case 6:B=ua(b.Math.ceil(e.g.length*C/100)),QE(e,new aYe(B));break;case 5:L=ua(b.Math.ceil(e.e*C/100)),QE(e,new oYe(L));break;case 8:xwt(e,!0);break;case 9:xwt(e,!1);break;default:QE(e,o)}e.r!=v3&&e.r!=x4?PCn(e,t):t_n(e,t),n.Vg()}function dDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(L=e.b,C=new Ua(L,0),by(C,new yu(e)),Te=!1,f=1;C.b0&&(B.d+=C.n.d,B.d+=C.d),B.a>0&&(B.a+=C.n.a,B.a+=C.d),B.b>0&&(B.b+=C.n.b,B.b+=C.d),B.c>0&&(B.c+=C.n.c,B.c+=C.d),B}function jvt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V;for(B=n.d,L=n.c,o=new lt(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),f=o.b,E=new G(e.a);E.a0&&(e.c[t.c.p][t.p].d+=Jl(e.i,24)*MP*.07000000029802322-.03500000014901161,e.c[t.c.p][t.p].a=e.c[t.c.p][t.p].d/e.c[t.c.p][t.p].b)}}function bDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;for(V=new G(e);V.ar.d,r.d=b.Math.max(r.d,t),g&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+a);break;case 3:n=t>r.a,r.a=b.Math.max(r.a,t),g&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+a);break;case 2:n=t>r.c,r.c=b.Math.max(r.c,t),g&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+a);break;case 4:n=t>r.b,r.b=b.Math.max(r.b,t),g&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+a)}}}function zvt(e,t){var n,r,a,o,f,g,w,E,C;return E="",t.length==0?e.ne(iEe,Rle,-1,-1):(C=$y(t),vn(C.substr(0,3),"at ")&&(C=(Xn(3,C.length+1),C.substr(3))),C=C.replace(/\[.*?\]/g,""),f=C.indexOf("("),f==-1?(f=C.indexOf("@"),f==-1?(E=C,C=""):(E=$y((Xn(f+1,C.length+1),C.substr(f+1))),C=$y((Ga(0,f,C.length),C.substr(0,f))))):(n=C.indexOf(")",f),E=(Ga(f+1,n,C.length),C.substr(f+1,n-(f+1))),C=$y((Ga(0,f,C.length),C.substr(0,f)))),f=pd(C,cl(46)),f!=-1&&(C=(Xn(f+1,C.length+1),C.substr(f+1))),(C.length==0||vn(C,"Anonymous function"))&&(C=Rle),g=Rq(E,cl(58)),a=h4e(E,cl(58),g-1),w=-1,r=-1,o=iEe,g!=-1&&a!=-1&&(o=(Ga(0,a,E.length),E.substr(0,a)),w=irt((Ga(a+1,g,E.length),E.substr(a+1,g-(a+1)))),r=irt((Xn(g+1,E.length+1),E.substr(g+1)))),e.ne(o,C,w,r))}function wDn(e){var t,n,r,a,o,f,g,w,E,C,L;for(E=new G(e);E.a0||C.j==er&&C.e.c.length-C.g.c.length<0)){t=!1;break}for(a=new G(C.g);a.a=E&&Ze>=te&&(B+=V.n.b+J.n.b+J.a.b-$e,++g));if(n)for(f=new G(Te.e);f.a=E&&Ze>=te&&(B+=V.n.b+J.n.b+J.a.b-$e,++g))}g>0&&(ot+=B/g,++z)}z>0?(t.a=a*ot/z,t.g=z):(t.a=0,t.g=0)}function xDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St;for(o=e.f.b,B=o.a,C=o.b,V=e.e.g,z=e.e.f,F5(e.e,o.a,o.b),ot=B/V,St=C/z,E=new or(EH(e.e));E.e!=E.i.gc();)w=l(gr(E),135),Uu(w,w.i*ot),Gu(w,w.j*St);for(Te=new or(Xae(e.e));Te.e!=Te.i.gc();)fe=l(gr(Te),123),$e=fe.i,Ze=fe.j,$e>0&&Uu(fe,$e*ot),Ze>0&&Gu(fe,Ze*St);for(mA(e.b,new zg),t=new bt,g=new qm(new Sr(e.c).a);g.b;)f=Nw(g),r=l(f.ld(),74),n=l(f.md(),407).a,a=l6(r,!1,!1),L=Ngt(cg(r),QN(a),n),dP(L,a),Me=Kgt(r),Me&&gc(t,Me,0)==-1&&($n(t.c,Me),kat(Me,(mr(L.b!=0),l(L.a.a.c,8)),n));for(te=new qm(new Sr(e.d).a);te.b;)J=Nw(te),r=l(J.ld(),74),n=l(J.md(),407).a,a=l6(r,!1,!1),L=Ngt(Eb(r),AN(QN(a)),n),L=AN(L),dP(L,a),Me=Wgt(r),Me&&gc(t,Me,0)==-1&&($n(t.c,Me),kat(Me,(mr(L.b!=0),l(L.c.b.c,8)),n))}function qvt(e,t,n,r){var a,o,f,g,w;return g=new zke(t),fCn(g,r),a=!0,e&&e.pf((pi(),xv))&&(o=l(e.of((pi(),xv)),88),a=o==(Js(),J1)||o==uc||o==vc),zbt(g,!1),Vu(g.e.Rf(),new v4e(g,!1,a)),uoe(g,g.f,(t1(),Gc),(Ct(),Qn)),uoe(g,g.f,Kc,Dr),uoe(g,g.g,Gc,er),uoe(g,g.g,Kc,ar),bdt(g,Qn),bdt(g,Dr),wat(g,ar),wat(g,er),py(),f=g.A.Hc((mh(),A4))&&g.B.Hc((Zl(),aF))?N1t(g):null,f&&xun(g.a,f),vDn(g),w7n(g),y7n(g),UMn(g),w_n(g),G7n(g),Jce(g,Qn),Jce(g,Dr),XSn(g),wLn(g),n&&(e5n(g),K7n(g),Jce(g,ar),Jce(g,er),w=g.B.Hc((Zl(),FM)),Opt(g,w,Qn),Opt(g,w,Dr),Npt(g,w,ar),Npt(g,w,er),Is(new bn(null,new kn(new gi(g.i),0)),new Fc),Is(Fi(new bn(null,b5e(g.r).a.oc()),new xa),new Ba),oxn(g),g.e.Pf(g.o),Is(new bn(null,b5e(g.r).a.oc()),new ga)),g.o}function kDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(E=gs,r=new G(e.a.b);r.a1)for(z=new Ike(V,Me,r),to(Me,new Jet(e,z)),$n(f.c,z),L=Me.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),al(o,C.b);if(g.a.gc()>1)for(z=new Ike(V,g,r),to(g,new Zet(e,z)),$n(f.c,z),L=g.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),al(o,C.b)}}function SDn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;if(J=e.n,te=e.o,B=e.d,L=ze(Ge(Py(e,(Nt(),ode)))),t){for(C=L*(t.gc()-1),z=0,w=t.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b-B.d+z,r=te.a/(t.gc()+1),a=r,g=t.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o-f.o.b,fe+=f.o.a+L,E=Q2t(f),E.n.a=f.o.a/2-E.a.a,E.n.b=f.o.b,V=l(Q(f,(ft(),rW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=a-V.a.a,V.n.b=0,Mc(V,e)),a+=r}if(n){for(C=L*(n.gc()-1),z=0,w=n.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b+te.b+B.a-z,r=te.a/(n.gc()+1),a=r,g=n.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o,fe+=f.o.a+L,E=Q2t(f),E.n.a=f.o.a/2-E.a.a,E.n.b=0,V=l(Q(f,(ft(),rW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=a-V.a.a,V.n.b=te.b,Mc(V,e)),a+=r}}function _Dn(e,t){var n,r,a,o,f,g;if(l(Q(t,(ft(),Lu)),21).Hc((Ho(),vf))){for(g=new G(t.a);g.a=0&&f0&&(l(Qo(e.b,t),127).a.b=n)}function IDn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J;if(B=ze(Ge(Q(e,(Nt(),GT)))),z=ze(Ge(Q(e,KT))),L=ze(Ge(Q(e,y4))),g=e.o,o=l(jt(e.j,0),12),f=o.n,J=Y9n(o,L),!!J){if(t.Hc((Rl(),vp)))switch(l(Q(e,(ft(),Wc)),64).g){case 1:J.c=(g.a-J.b)/2-f.a,J.d=z;break;case 3:J.c=(g.a-J.b)/2-f.a,J.d=-z-J.a;break;case 2:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=-B-J.b;break;case 4:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=B}else if(t.Hc(Yb))switch(l(Q(e,(ft(),Wc)),64).g){case 1:case 3:J.c=f.a+B;break;case 2:case 4:n&&!o.c?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=f.b+z}for(a=J.d,E=new G(o.f);E.a=t.length)return{done:!0};var a=t[r++];return{value:[a,n.get(a)],done:!1}}}},LSn()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(t){return this.obj[":"+t]},e.prototype.set=function(t,n){this.obj[":"+t]=n},e.prototype[lhe]=function(t){delete this.obj[":"+t]},e.prototype.keys=function(){var t=[];for(var n in this.obj)n.charCodeAt(0)==58&&t.push(n.substring(1));return t}),e}function Qi(){Qi=U,gM=new Ui(NEe),new vs("DEPTH",pt(0)),Pde=new vs("FAN",pt(0)),nIe=new vs(gyt,pt(0)),Vb=new vs("ROOT",(Hn(),!1)),Rde=new vs("LEFTNEIGHBOR",null),dTt=new vs("RIGHTNEIGHBOR",null),BW=new vs("LEFTSIBLING",null),jde=new vs("RIGHTSIBLING",null),Nde=new vs("DUMMY",!1),new vs("LEVEL",pt(0)),sIe=new vs("REMOVABLE_EDGES",new os),PB=new vs("XCOOR",pt(0)),BB=new vs("YCOOR",pt(0)),FW=new vs("LEVELHEIGHT",0),c1=new vs("LEVELMIN",0),k0=new vs("LEVELMAX",0),Bde=new vs("GRAPH_XMIN",0),Fde=new vs("GRAPH_YMIN",0),rIe=new vs("GRAPH_XMAX",0),iIe=new vs("GRAPH_YMAX",0),tIe=new vs("COMPACT_LEVEL_ASCENSION",!1),Ode=new vs("COMPACT_CONSTRAINTS",new bt),dM=new vs("ID",""),pM=new vs("POSITION",pt(0)),C2=new vs("PRELIM",0),JT=new vs("MODIFIER",0),QT=new Ui(S3t),NB=new Ui(_3t)}function BDn(e){kke();var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(e==null)return null;if(L=e.length*8,L==0)return"";for(g=L%24,z=L/24|0,B=g!=0?z+1:z,o=null,o=We(kf,Ad,28,B*4,15,1),E=0,C=0,t=0,n=0,r=0,f=0,a=0,w=0;w>24,E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,te=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[f++]=N2[V],o[f++]=N2[J|E<<4],o[f++]=N2[C<<2|te],o[f++]=N2[r&63];return g==8?(t=e[a],E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,o[f++]=N2[V],o[f++]=N2[E<<4],o[f++]=61,o[f++]=61):g==16&&(t=e[a],n=e[a+1],C=(n&15)<<24>>24,E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[f++]=N2[V],o[f++]=N2[J|E<<4],o[f++]=N2[C<<2],o[f++]=61),If(o,0,o.length)}function FDn(e,t){var n,r,a,o,f,g,w;if(e.e==0&&e.p>0&&(e.p=-(e.p-1)),e.p>lo&&c6e(t,e.p-Lb),f=t.q.getDate(),YO(t,1),e.k>=0&&C2n(t,e.k),e.c>=0?YO(t,e.c):e.k>=0?(w=new R7e(t.q.getFullYear()-Lb,t.q.getMonth(),35),r=35-w.q.getDate(),YO(t,b.Math.min(r,f))):YO(t,f),e.f<0&&(e.f=t.q.getHours()),e.b>0&&e.f<12&&(e.f+=12),bhn(t,e.f==24&&e.g?0:e.f),e.j>=0&&ovn(t,e.j),e.n>=0&&wvn(t,e.n),e.i>=0&&Qtt(t,bo(mo(KN(Zc(t.q.getTime()),b2),b2),e.i)),e.a&&(a=new Qz,c6e(a,a.q.getFullYear()-Lb-80),fse(Zc(t.q.getTime()),Zc(a.q.getTime()))&&c6e(t,a.q.getFullYear()-Lb+100)),e.d>=0){if(e.c==-1)n=(7+e.d-t.q.getDay())%7,n>3&&(n-=7),g=t.q.getMonth(),YO(t,t.q.getDate()+n),t.q.getMonth()!=g&&YO(t,t.q.getDate()+(n>0?-7:7));else if(t.q.getDay()!=e.d)return!1}return e.o>lo&&(o=t.q.getTimezoneOffset(),Qtt(t,bo(Zc(t.q.getTime()),(e.o-o)*60*b2))),!0}function Kvt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;if(a=Q(t,(ft(),zi)),!!De(a,207)){for(V=l(a,27),J=t.e,B=new Eo(t.c),o=t.d,B.a+=o.b,B.b+=o.d,$e=l(at(V,(Nt(),xW)),181),vl($e,(Zl(),uY))&&(z=l(at(V,WMe),107),Tie(z,o.a),mwe(z,o.d),Cie(z,o.b),x8(z,o.c)),n=new bt,C=new G(t.a);C.ar.c.length-1;)vt(r,new ca(y6,hCe));n=l(Q(a,$d),17).a,Ug(l(Q(e,y3),88))?(a.e.aze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),a.e.a+a.f.a)):(a.e.bze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),a.e.b+a.f.b))}for(o=Rr(e.b,0);o.b!=o.d.c;)a=l(Br(o),40),n=l(Q(a,(Hc(),$d)),17).a,rt(a,(Qi(),c1),Ge((Sn(n,r.c.length),l(r.c[n],42)).a)),rt(a,k0,Ge((Sn(n,r.c.length),l(r.c[n],42)).b));t.Vg()}function jDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(e.o=ze(Ge(Q(e.i,(Nt(),m3)))),e.f=ze(Ge(Q(e.i,vv))),e.j=e.i.b.c.length,g=e.j-1,B=0,e.k=0,e.n=0,e.b=O1(We(ro,dt,17,e.j,0,1)),e.c=O1(We(ta,dt,345,e.j,7,1)),f=new G(e.i.b);f.a0&&vt(e.q,C),vt(e.p,C);t-=r,z=w+t,E+=t*e.f,rf(e.b,g,pt(z)),rf(e.c,g,E),e.k=b.Math.max(e.k,z),e.n=b.Math.max(e.n,E),e.e+=t,t+=J}}function Ct(){Ct=U;var e;Pc=new wO(cL,0),Qn=new wO(nG,1),ar=new wO(yhe,2),Dr=new wO(xhe,3),er=new wO(khe,4),ed=(Cn(),new Ek((e=l(K0(Oo),9),new Zh(e,l(c0(e,e.length),9),0)))),_0=a2(rs(Qn,he(le(Oo,1),au,64,0,[]))),yf=a2(rs(ar,he(le(Oo,1),au,64,0,[]))),$h=a2(rs(Dr,he(le(Oo,1),au,64,0,[]))),Hf=a2(rs(er,he(le(Oo,1),au,64,0,[]))),hl=a2(rs(Qn,he(le(Oo,1),au,64,0,[Dr]))),Ju=a2(rs(ar,he(le(Oo,1),au,64,0,[er]))),A0=a2(rs(Qn,he(le(Oo,1),au,64,0,[er]))),zl=a2(rs(Qn,he(le(Oo,1),au,64,0,[ar]))),zh=a2(rs(Dr,he(le(Oo,1),au,64,0,[er]))),xf=a2(rs(ar,he(le(Oo,1),au,64,0,[Dr]))),ql=a2(rs(Qn,he(le(Oo,1),au,64,0,[ar,er]))),ll=a2(rs(ar,he(le(Oo,1),au,64,0,[Dr,er]))),fl=a2(rs(Qn,he(le(Oo,1),au,64,0,[Dr,er]))),_l=a2(rs(Qn,he(le(Oo,1),au,64,0,[ar,Dr]))),Du=a2(rs(Qn,he(le(Oo,1),au,64,0,[ar,Dr,er])))}function $Dn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St;for(t.Ug(K3t,1),J=new bt,ot=new bt,E=new G(e.b);E.a0&&(Me-=z),Oke(f,Me),C=0,B=new G(f.a);B.a0),g.a.Xb(g.c=--g.b)),w=.4*r*C,!o&&g.b0&&(w=(Xn(0,t.length),t.charCodeAt(0)),w!=64)){if(w==37&&(L=t.lastIndexOf("%"),E=!1,L!=0&&(L==B-1||(E=(Xn(L+1,t.length),t.charCodeAt(L+1)==46))))){if(f=(Ga(1,L,t.length),t.substr(1,L-1)),Me=vn("%",f)?null:Vke(f),r=0,E)try{r=Oh((Xn(L+2,t.length+1),t.substr(L+2)),lo,Ii)}catch($e){throw $e=bs($e),De($e,130)?(g=$e,ue(new nV(g))):ue($e)}for(te=m7e(e.Gh());te.Ob();)if(V=MV(te),De(V,519)&&(a=l(V,598),Te=a.d,(Me==null?Te==null:vn(Me,Te))&&r--==0))return a;return null}if(C=t.lastIndexOf("."),z=C==-1?t:(Ga(0,C,t.length),t.substr(0,C)),n=0,C!=-1)try{n=Oh((Xn(C+1,t.length+1),t.substr(C+1)),lo,Ii)}catch($e){if($e=bs($e),De($e,130))z=t;else throw ue($e)}for(z=vn("%",z)?null:Vke(z),J=m7e(e.Gh());J.Ob();)if(V=MV(J),De(V,197)&&(o=l(V,197),fe=o.xe(),(z==null?fe==null:vn(z,fe))&&n--==0))return o;return null}return Bvt(e,t)}function WDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(C=new Pr,w=new Cw,r=new G(e.a.a.b);r.at.d.c){if(z=e.c[t.a.d],te=e.c[L.a.d],z==te)continue;p0(s0(i0(a0(r0(new _f,1),100),z),te))}}}}}function YDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot;if(B=l(l($i(e.r,t),21),87),t==(Ct(),ar)||t==er){Vvt(e,t);return}for(o=t==Qn?(Pw(),rB):(Pw(),iB),$e=t==Qn?(ol(),a1):(ol(),w0),n=l(Qo(e.b,t),127),r=n.i,a=r.c+Y5(he(le(Na,1),Zo,28,15,[n.n.b,e.C.b,e.k])),fe=r.c+r.b-Y5(he(le(Na,1),Zo,28,15,[n.n.c,e.C.c,e.k])),f=i3e(y4e(o),e.t),Te=t==Qn?ia:gs,L=B.Kc();L.Ob();)E=l(L.Pb(),117),!(!E.c||E.c.d.c.length<=0)&&(te=E.b.Mf(),J=E.e,z=E.c,V=z.i,V.b=(w=z.n,z.e.a+w.b+w.c),V.a=(g=z.n,z.e.b+g.d+g.a),UO($e,yEe),z.f=$e,Z0(z,(Bl(),v0)),V.c=J.a-(V.b-te.a)/2,Ze=b.Math.min(a,J.a),ot=b.Math.max(fe,J.a+te.a),V.cot&&(V.c=ot-V.b),vt(f.d,new Dae(V,h8e(f,V))),Te=t==Qn?b.Math.max(Te,J.b+E.b.Mf().b):b.Math.min(Te,J.b));for(Te+=t==Qn?e.t:-e.t,Me=M8e((f.e=Te,f)),Me>0&&(l(Qo(e.b,t),127).a.b=Me),C=B.Kc();C.Ob();)E=l(C.Pb(),117),!(!E.c||E.c.d.c.length<=0)&&(V=E.c.i,V.c-=E.e.a,V.d-=E.e.b)}function XDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;for(t=new Pr,w=new or(e);w.e!=w.i.gc();){for(g=l(gr(w),27),n=new Ks,ki(X0e,g,n),z=new Bp,a=l(yc(new bn(null,new vw(new hr(dr(sP(g).a.Kc(),new j)))),dst(z,Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)])))),85),Kht(n,l(a.xc((Hn(),!0)),16),new Y3),r=l(yc(Fi(l(a.xc(!1),15).Lc(),new $9),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),f=r.Kc();f.Ob();)o=l(f.Pb(),74),B=Kgt(o),B&&(E=l(hc(zo(t.f,B)),21),E||(E=bbt(B),ju(t.f,B,E)),Ka(n,E));for(a=l(yc(new bn(null,new vw(new hr(dr(cp(g).a.Kc(),new j)))),dst(z,Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec])))),85),Kht(n,l(a.xc(!0),16),new c5),r=l(yc(Fi(l(a.xc(!1),15).Lc(),new Eh),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),L=r.Kc();L.Ob();)C=l(L.Pb(),74),B=Wgt(C),B&&(E=l(hc(zo(t.f,B)),21),E||(E=bbt(B),ju(t.f,B,E)),Ka(n,E))}}function QDn(e,t){ble();var n,r,a,o,f,g,w,E,C,L,B,z,V,J;if(w=iu(e,0)<0,w&&(e=r2(e)),iu(e,0)==0)switch(t){case 0:return"0";case 1:return sT;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return z=new tb,t<0?z.a+="0E+":z.a+="0E",z.a+=t==lo?"2147483648":""+-t,z.a}C=18,L=We(kf,Ad,28,C+1,15,1),n=C,J=e;do E=J,J=KN(J,10),L[--n]=Yr(bo(48,Df(E,mo(J,10))))&Zs;while(iu(J,0)!=0);if(a=Df(Df(Df(C,n),t),1),t==0)return w&&(L[--n]=45),If(L,n,C-n);if(t>0&&iu(a,-6)>=0){if(iu(a,0)>=0){for(o=n+Yr(a),g=C-1;g>=o;g--)L[g+1]=L[g];return L[++o]=46,w&&(L[--n]=45),If(L,n,C-n+1)}for(f=2;fse(f,bo(r2(a),1));f++)L[--n]=48;return L[--n]=46,L[--n]=48,w&&(L[--n]=45),If(L,n,C-n)}return V=n+1,r=C,B=new S5,w&&(B.a+="-"),r-V>=1?(hb(B,L[n]),B.a+=".",B.a+=If(L,n+1,C-n-1)):B.a+=If(L,n,C-n),B.a+="E",iu(a,0)>0&&(B.a+="+"),B.a+=""+Y_(a),B.a}function Gw(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot;if(te=new lt(e.g,e.f),J=a9e(e),J.a=b.Math.max(J.a,t),J.b=b.Math.max(J.b,n),ot=J.a/te.a,C=J.b/te.b,$e=J.a-te.a,w=J.b-te.b,r)for(f=ds(e)?l(at(ds(e),(pi(),xv)),88):l(at(e,(pi(),xv)),88),g=qe(at(e,(pi(),_M)))===qe((Ra(),Mu)),Te=new or((!e.c&&(e.c=new nt(Hl,e,9,9)),e.c));Te.e!=Te.i.gc();)switch(fe=l(gr(Te),123),Me=l(at(fe,s7),64),Me==(Ct(),Pc)&&(Me=Eke(fe,f),Hi(fe,s7,Me)),Me.g){case 1:g||Uu(fe,fe.i*ot);break;case 2:Uu(fe,fe.i+$e),g||Gu(fe,fe.j*C);break;case 3:g||Uu(fe,fe.i*ot),Gu(fe,fe.j+w);break;case 4:g||Gu(fe,fe.j*C)}if(F5(e,J.a,J.b),a)for(B=new or((!e.n&&(e.n=new nt(ec,e,1,7)),e.n));B.e!=B.i.gc();)L=l(gr(B),135),z=L.i+L.g/2,V=L.j+L.f/2,Ze=z/te.a,E=V/te.b,Ze+E>=1&&(Ze-E>0&&V>=0?(Uu(L,L.i+$e),Gu(L,L.j+w*E)):Ze-E<0&&z>=0&&(Uu(L,L.i+$e*Ze),Gu(L,L.j+w)));return Hi(e,(pi(),kv),(mh(),o=l(K0(BM),9),new Zh(o,l(c0(o,o.length),9),0))),new lt(ot,C)}function Qvt(e){sw(e,new Xm(Uz(nw(Zv(tw(ew(new x1,gf),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new fu),gf))),gt(e,gf,_G,It(uCt)),gt(e,gf,Jy,It(lCt)),gt(e,gf,x6,It(sCt)),gt(e,gf,Px,It(aCt)),gt(e,gf,Nx,It(oCt)),gt(e,gf,fT,It(iCt)),gt(e,gf,fL,It(NIe)),gt(e,gf,dT,It(cCt)),gt(e,gf,Cfe,It(Jde)),gt(e,gf,Tfe,It(Zde)),gt(e,gf,NG,It(BIe)),gt(e,gf,Sfe,It(ege)),gt(e,gf,_fe,It(FIe)),gt(e,gf,MCe,It(RIe)),gt(e,gf,LCe,It(PIe)),gt(e,gf,CCe,It(qW)),gt(e,gf,SCe,It(HW)),gt(e,gf,_Ce,It(FB)),gt(e,gf,ACe,It(jIe)),gt(e,gf,TCe,It(OIe))}function KU(e){var t,n,r,a,o,f,g,w,E,C,L;if(e==null)throw ue(new gd(ul));if(E=e,o=e.length,w=!1,o>0&&(t=(Xn(0,e.length),e.charCodeAt(0)),(t==45||t==43)&&(e=(Xn(1,e.length+1),e.substr(1)),--o,w=t==45)),o==0)throw ue(new gd(Yw+E+'"'));for(;e.length>0&&(Xn(0,e.length),e.charCodeAt(0)==48);)e=(Xn(1,e.length+1),e.substr(1)),--o;if(o>(Amt(),b6t)[10])throw ue(new gd(Yw+E+'"'));for(a=0;a0&&(L=-parseInt((Ga(0,r,e.length),e.substr(0,r)),10),e=(Xn(r,e.length+1),e.substr(r)),o-=r,n=!1);o>=f;){if(r=parseInt((Ga(0,f,e.length),e.substr(0,f)),10),e=(Xn(f,e.length+1),e.substr(f)),o-=f,n)n=!1;else{if(iu(L,g)<0)throw ue(new gd(Yw+E+'"'));L=mo(L,C)}L=Df(L,r)}if(iu(L,0)>0)throw ue(new gd(Yw+E+'"'));if(!w&&(L=r2(L),iu(L,0)<0))throw ue(new gd(Yw+E+'"'));return L}function Vke(e){kle();var t,n,r,a,o,f,g,w;if(e==null)return null;if(a=pd(e,cl(37)),a<0)return e;for(w=new Th((Ga(0,a,e.length),e.substr(0,a))),t=We(Al,C6,28,4,15,1),g=0,r=0,f=e.length;aa+2&&mce((Xn(a+1,e.length),e.charCodeAt(a+1)),kPe,EPe)&&mce((Xn(a+2,e.length),e.charCodeAt(a+2)),kPe,EPe))if(n=vdn((Xn(a+1,e.length),e.charCodeAt(a+1)),(Xn(a+2,e.length),e.charCodeAt(a+2))),a+=2,r>0?(n&192)==128?t[g++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(t[g++]=n<<24>>24,r=2):(n&240)==224?(t[g++]=n<<24>>24,r=3):(n&248)==240&&(t[g++]=n<<24>>24,r=4)),r>0){if(g==r){switch(g){case 2:{hb(w,((t[0]&31)<<6|t[1]&63)&Zs);break}case 3:{hb(w,((t[0]&15)<<12|(t[1]&63)<<6|t[2]&63)&Zs);break}}g=0,r=0}}else{for(o=0;o=2){if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i==0)n=(rb(),a=new rk,a),qr((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),n);else if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i>1)for(B=new q8((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));B.e!=B.i.gc();)jA(B);dP(t,l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166))}if(L)for(r=new or((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));r.e!=r.i.gc();)for(n=l(gr(r),166),E=new or((!n.a&&(n.a=new Ys(qh,n,5)),n.a));E.e!=E.i.gc();)w=l(gr(E),377),g.a=b.Math.max(g.a,w.a),g.b=b.Math.max(g.b,w.b);for(f=new or((!e.n&&(e.n=new nt(ec,e,1,7)),e.n));f.e!=f.i.gc();)o=l(gr(f),135),C=l(at(o,MM),8),C&&Qh(o,C.a,C.b),L&&(g.a=b.Math.max(g.a,o.i+o.g),g.b=b.Math.max(g.b,o.j+o.f));return g}function Zvt(e,t,n,r,a){var o,f,g;if(eht(e,t),f=t[0],o=co(n.c,0),g=-1,z7e(n))if(r>0){if(f+r>e.length)return!1;g=kU((Ga(0,f+r,e.length),e.substr(0,f+r)),t)}else g=kU(e,t);switch(o){case 71:return g=o6(e,f,he(le(zt,1),dt,2,6,[Rwt,jwt]),t),a.e=g,!0;case 77:return dSn(e,t,a,g,f);case 76:return gSn(e,t,a,g,f);case 69:return skn(e,t,f,a);case 99:return akn(e,t,f,a);case 97:return g=o6(e,f,he(le(zt,1),dt,2,6,["AM","PM"]),t),a.b=g,!0;case 121:return pSn(e,t,f,g,n,a);case 100:return g<=0?!1:(a.c=g,!0);case 83:return g<0?!1:x5n(g,f,t[0],a);case 104:g==12&&(g=0);case 75:case 72:return g<0?!1:(a.f=g,a.g=!1,!0);case 107:return g<0?!1:(a.f=g,a.g=!0,!0);case 109:return g<0?!1:(a.j=g,!0);case 115:return g<0?!1:(a.n=g,!0);case 90:if(fcn[w]&&(te=w),L=new G(e.a.b);L.a1;){if(a=aCn(t),L=o.g,V=l(at(t,vM),107),J=ze(Ge(at(t,KW))),(!t.a&&(t.a=new nt(Ai,t,10,11)),t.a).i>1&&ze(Ge(at(t,(ug(),cge))))!=gs&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))1&&ze(Ge(at(t,(ug(),oge))))!=gs&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))>J&&Hi(a,(ug(),T4),b.Math.max(ze(Ge(at(t,mM))),ze(Ge(at(a,T4)))-ze(Ge(at(t,oge))))),z=new Q3e(r,C),w=wwt(z,a,B),E=w.g,E>=L&&E==E){for(f=0;f<(!a.a&&(a.a=new nt(Ai,a,10,11)),a.a).i;f++)Gpt(e,l(Oe((!a.a&&(a.a=new nt(Ai,a,10,11)),a.a),f),27),l(Oe((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a),f),27));Sht(t,z),l2n(o,w.c),u2n(o,w.b)}--g}Hi(t,(ug(),ZT),o.b),Hi(t,Zx,o.c),n.Vg()}function tIn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(t.Ug("Interactive node layering",1),n=new bt,B=new G(e.a);B.a=g){mr(Te.b>0),Te.a.Xb(Te.c=--Te.b);break}else te.a>w&&(r?(ra(r.b,te.b),r.a=b.Math.max(r.a,te.a),ph(Te)):(vt(te.b,C),te.c=b.Math.min(te.c,w),te.a=b.Math.max(te.a,g),r=te));r||(r=new GQe,r.c=w,r.a=g,by(Te,r),vt(r.b,C))}for(f=e.b,E=0,fe=new G(n);fe.az&&(o&&(ko(ot,B),ko(cn,pt(E.b-1))),oi=n.b,ws+=B+t,B=0,C=b.Math.max(C,n.b+n.c+ur)),Uu(g,oi),Gu(g,ws),C=b.Math.max(C,oi+ur+n.c),B=b.Math.max(B,L),oi+=ur+t;if(C=b.Math.max(C,r),jn=ws+B+n.a,jnDd,an=b.Math.abs(B.b-V.b)>Dd,(!n&&cn&&an||n&&(cn||an))&&ui(te.a,$e)),Ka(te.a,r),r.b==0?B=$e:B=(mr(r.b!=0),l(r.c.b.c,8)),z3n(z,L,J),Cft(a)==St&&(eo(St.i)!=a.a&&(J=new qa,n9e(J,eo(St.i),Te)),rt(te,Y1e,J)),E9n(z,te,Te),C.a.zc(z,C);po(te,Ze),Fa(te,St)}for(E=C.a.ec().Kc();E.Ob();)w=l(E.Pb(),18),po(w,null),Fa(w,null);t.Vg()}function iIn(e,t){var n,r,a,o,f,g,w,E,C,L,B;for(a=l(Q(e,(Hc(),y3)),88),C=a==(Js(),uc)||a==vc?Q1:vc,n=l(yc(Fi(new bn(null,new kn(e.b,16)),new pI),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),w=l(yc(fc(n.Oc(),new dXe(t)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),w.Gc(l(yc(fc(n.Oc(),new gXe(t)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),16)),w.jd(new pXe(C)),B=new Kp(new bXe(a)),r=new Pr,g=w.Kc();g.Ob();)f=l(g.Pb(),240),E=l(f.a,40),Rt(Bt(f.c))?(B.a.zc(E,(Hn(),Pb))==null,new ba(B.a.Zc(E,!1)).a.gc()>0&&ki(r,E,l(new ba(B.a.Zc(E,!1)).a.Vc(),40)),new ba(B.a.ad(E,!0)).a.gc()>1&&ki(r,L1t(B,E),E)):(new ba(B.a.Zc(E,!1)).a.gc()>0&&(o=l(new ba(B.a.Zc(E,!1)).a.Vc(),40),qe(o)===qe(hc(zo(r.f,E)))&&l(Q(E,(Qi(),Ode)),15).Fc(o)),new ba(B.a.ad(E,!0)).a.gc()>1&&(L=L1t(B,E),qe(hc(zo(r.f,L)))===qe(E)&&l(Q(L,(Qi(),Ode)),15).Fc(E)),B.a.Bc(E)!=null)}function ewt(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;if(e.gc()==1)return l(e.Xb(0),235);if(e.gc()<=0)return new KH;for(a=e.Kc();a.Ob();){for(n=l(a.Pb(),235),V=0,C=Ii,L=Ii,w=lo,E=lo,z=new G(n.e);z.ag&&(Me=0,$e+=f+fe,f=0),D_n(J,n,Me,$e),t=b.Math.max(t,Me+te.a),f=b.Math.max(f,te.b),Me+=te.a+fe;return J}function sIn(e){kke();var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(e==null||(o=iV(e),V=O4n(o),V%4!=0))return null;if(J=V/4|0,J==0)return We(Al,C6,28,0,15,1);for(L=null,t=0,n=0,r=0,a=0,f=0,g=0,w=0,E=0,z=0,B=0,C=0,L=We(Al,C6,28,J*3,15,1);z>4)<<24>>24,L[B++]=((n&15)<<4|r>>2&15)<<24>>24,L[B++]=(r<<6|a)<<24>>24}return!eO(f=o[C++])||!eO(g=o[C++])?null:(t=nd[f],n=nd[g],w=o[C++],E=o[C++],nd[w]==-1||nd[E]==-1?w==61&&E==61?n&15?null:(te=We(Al,C6,28,z*3+1,15,1),pu(L,0,te,0,z*3),te[B]=(t<<2|n>>4)<<24>>24,te):w!=61&&E==61?(r=nd[w],r&3?null:(te=We(Al,C6,28,z*3+2,15,1),pu(L,0,te,0,z*3),te[B++]=(t<<2|n>>4)<<24>>24,te[B]=((n&15)<<4|r>>2&15)<<24>>24,te)):null:(r=nd[w],a=nd[E],L[B++]=(t<<2|n>>4)<<24>>24,L[B++]=((n&15)<<4|r>>2&15)<<24>>24,L[B++]=(r<<6|a)<<24>>24,L))}function aIn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze;for(t.Ug(K3t,1),V=l(Q(e,(Nt(),bp)),223),a=new G(e.b);a.a=2){for(J=!0,B=new G(o.j),n=l(re(B),12),z=null;B.a0)if(r=L.gc(),E=ua(b.Math.floor((r+1)/2))-1,a=ua(b.Math.ceil((r+1)/2))-1,t.o==Y1)for(C=a;C>=E;C--)t.a[$e.p]==$e&&(J=l(L.Xb(C),42),V=l(J.a,10),!W0(n,J.b)&&z>e.b.e[V.p]&&(t.a[V.p]=$e,t.g[$e.p]=t.g[V.p],t.a[$e.p]=t.g[$e.p],t.f[t.g[$e.p].p]=(Hn(),!!(Rt(t.f[t.g[$e.p].p])&$e.k==(Zn(),Aa))),z=e.b.e[V.p]));else for(C=E;C<=a;C++)t.a[$e.p]==$e&&(fe=l(L.Xb(C),42),te=l(fe.a,10),!W0(n,fe.b)&&z0&&(a=l(jt(te.c.a,ot-1),10),f=e.i[a.p],cn=b.Math.ceil(j5(e.n,a,te)),o=Ze.a.e-te.d.d-(f.a.e+a.o.b+a.d.a)-cn),E=gs,ot0&&St.a.e.e-St.a.a-(St.b.e.e-St.b.a)<0,V=Me.a.e.e-Me.a.a-(Me.b.e.e-Me.b.a)<0&&St.a.e.e-St.a.a-(St.b.e.e-St.b.a)>0,z=Me.a.e.e+Me.b.aSt.b.e.e+St.a.a,$e=0,!J&&!V&&(B?o+L>0?$e=L:E-r>0&&($e=r):z&&(o+g>0?$e=g:E-Te>0&&($e=Te))),Ze.a.e+=$e,Ze.b&&(Ze.d.e+=$e),!1))}function nwt(e,t,n){var r,a,o,f,g,w,E,C,L,B;if(r=new ef(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),a=new $8,e.c)for(f=new G(t.Rf());f.aE&&(r.a+=Mnt(We(kf,Ad,28,-E,15,1))),r.a+="Is",pd(w,cl(32))>=0)for(a=0;a=r.o.b/2}else Te=!L;Te?(fe=l(Q(r,(ft(),Qx)),15),fe?B?o=fe:(a=l(Q(r,Gx),15),a?fe.gc()<=a.gc()?o=fe:o=a:(o=new bt,rt(r,Gx,o))):(o=new bt,rt(r,Qx,o))):(a=l(Q(r,(ft(),Gx)),15),a?L?o=a:(fe=l(Q(r,Qx),15),fe?a.gc()<=fe.gc()?o=a:o=fe:(o=new bt,rt(r,Qx,o))):(o=new bt,rt(r,Gx,o))),o.Fc(e),rt(e,(ft(),rW),n),t.d==n?(Fa(t,null),n.e.c.length+n.g.c.length==0&&Mc(n,null),Tyn(n)):(po(t,null),n.e.c.length+n.g.c.length==0&&Mc(n,null)),Ch(t.a)}function lIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi,ws;for(n.Ug("MinWidth layering",1),z=t.b,St=t.a,ws=l(Q(t,(Nt(),zMe)),17).a,g=l(Q(t,qMe),17).a,e.b=ze(Ge(Q(t,x0))),e.d=gs,$e=new G(St);$e.a<$e.c.c.length;)Te=l(re($e),10),Te.k==(Zn(),Ps)&&(Bn=Te.o.b,e.d=b.Math.min(e.d,Bn));for(e.d=b.Math.max(1,e.d),cn=St.c.length,e.c=We(Vr,di,28,cn,15,1),e.f=We(Vr,di,28,cn,15,1),e.e=We(Na,Zo,28,cn,15,1),E=0,e.a=0,Ze=new G(St);Ze.a0?(E=0,te&&(E+=g),E+=(an-1)*f,Me&&(E+=g),cn&&Me&&(E=b.Math.max(E,MCn(Me,f,Te,St))),E=e.a&&(r=GAn(e,Te),C=b.Math.max(C,r.b),$e=b.Math.max($e,r.d),vt(g,new ca(Te,r)));for(cn=new bt,E=0;E0),te.a.Xb(te.c=--te.b),an=new yu(e.b),by(te,an),mr(te.b0){for(B=C<100?null:new nb(C),E=new T7e(t),V=E.g,fe=We(Vr,di,28,C,15,1),r=0,$e=new Lw(C),a=0;a=0;)if(z!=null?Pi(z,V[w]):qe(z)===qe(V[w])){fe.length<=r&&(te=fe,fe=We(Vr,di,28,2*fe.length,15,1),pu(te,0,fe,0,r)),fe[r++]=a,qr($e,V[w]);break e}if(z=z,qe(z)===qe(g))break}}if(E=$e,V=$e.g,C=r,r>fe.length&&(te=fe,fe=We(Vr,di,28,r,15,1),pu(te,0,fe,0,r)),r>0){for(Me=!0,o=0;o=0;)vx(e,fe[f]);if(r!=C){for(a=C;--a>=r;)vx(E,a);te=fe,fe=We(Vr,di,28,r,15,1),pu(te,0,fe,0,r)}t=E}}}else for(t=_7n(e,t),a=e.i;--a>=0;)t.Hc(e.g[a])&&(vx(e,a),Me=!0);if(Me){if(fe!=null){for(n=t.gc(),L=n==1?rA(e,4,t.Kc().Pb(),null,fe[0],J):rA(e,6,t,fe,fe[0],J),B=n<100?null:new nb(n),a=t.Kc();a.Ob();)z=a.Pb(),B=d4e(e,l(z,76),B);B?(B.nj(L),B.oj()):Ni(e.e,L)}else{for(B=Ofn(t.gc()),a=t.Kc();a.Ob();)z=a.Pb(),B=d4e(e,l(z,76),B);B&&B.oj()}return!0}else return!1}function dIn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(n=new xdt(t),n.a||q_n(t),E=jSn(t),w=new Cw,te=new Ebt,J=new G(t.a);J.a0||n.o==Y1&&a=n}function pIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur;for(Me=t,Te=new Cw,$e=new Cw,C=Aw(Me,fSe),r=new Mat(e,n,Te,$e),P9n(r.a,r.b,r.c,r.d,C),w=(St=Te.i,St||(Te.i=new q5(Te,Te.c))),an=w.Kc();an.Ob();)for(cn=l(an.Pb(),166),a=l($i(Te,cn),21),J=a.Kc();J.Ob();)if(V=J.Pb(),Ze=l(X5(e.d,V),166),Ze)g=(!cn.e&&(cn.e=new Ln(cs,cn,10,9)),cn.e),qr(g,Ze);else throw f=Yg(Me,Pd),B=y4t+V+x4t+f,z=B+kT,ue(new dd(z));for(E=(ot=$e.i,ot||($e.i=new q5($e,$e.c))),jn=E.Kc();jn.Ob();)for(Bn=l(jn.Pb(),166),o=l($i($e,Bn),21),fe=o.Kc();fe.Ob();)if(te=fe.Pb(),Ze=l(X5(e.d,te),166),Ze)L=(!Bn.g&&(Bn.g=new Ln(cs,Bn,9,10)),Bn.g),qr(L,Ze);else throw f=Yg(Me,Pd),B=y4t+te+x4t+f,z=B+kT,ue(new dd(z));!n.b&&(n.b=new Ln(_r,n,4,7)),n.b.i!=0&&(!n.c&&(n.c=new Ln(_r,n,5,8)),n.c.i!=0)&&(!n.b&&(n.b=new Ln(_r,n,4,7)),n.b.i<=1&&(!n.c&&(n.c=new Ln(_r,n,5,8)),n.c.i<=1))&&(!n.a&&(n.a=new nt(cs,n,6,6)),n.a).i==1&&(ur=l(Oe((!n.a&&(n.a=new nt(cs,n,6,6)),n.a),0),166),!aue(ur)&&!oue(ur)&&(wV(ur,l(Oe((!n.b&&(n.b=new Ln(_r,n,4,7)),n.b),0),84)),yV(ur,l(Oe((!n.c&&(n.c=new Ln(_r,n,5,8)),n.c),0),84))))}function bIn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn;for(Me=e.a,$e=0,Ze=Me.length;$e0?(L=l(jt(B.c.a,f-1),10),cn=j5(e.b,B,L),te=B.n.b-B.d.d-(L.n.b+L.o.b+L.d.a+cn)):te=B.n.b-B.d.d,E=b.Math.min(te,E),f1&&(f=b.Math.min(f,b.Math.abs(l(ff(g.a,1),8).b-C.b)))));else for(J=new G(t.j);J.aa&&(o=B.a-a,f=Ii,r.c.length=0,a=B.a),B.a>=a&&($n(r.c,g),g.a.b>1&&(f=b.Math.min(f,b.Math.abs(l(ff(g.a,g.a.b-2),8).b-B.b)))));if(r.c.length!=0&&o>t.o.a/2&&f>t.o.b/2){for(z=new gu,Mc(z,t),la(z,(Ct(),Qn)),z.n.a=t.o.a/2,fe=new gu,Mc(fe,t),la(fe,Dr),fe.n.a=t.o.a/2,fe.n.b=t.o.b,w=new G(r);w.a=E.b?po(g,fe):po(g,z)):(E=l(odn(g.a),8),te=g.a.b==0?I1(g.c):l(o0(g.a),8),te.b>=E.b?Fa(g,fe):Fa(g,z)),L=l(Q(g,(Nt(),cc)),75),L&&Ny(L,E,!0);t.n.a=a-t.o.a/2}}function vIn(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(g=Rr(e.b,0);g.b!=g.d.c;)if(f=l(Br(g),40),!vn(f.c,DG))for(E=HEn(f,e),t==(Js(),uc)||t==vc?Vs(E,new ene):Vs(E,new tne),w=E.c.length,r=0;r=0?z=gx(g):z=BN(gx(g)),e.qf(VT,z)),E=new qa,B=!1,e.pf(p3)?(Fye(E,l(e.of(p3),8)),B=!0):Ahn(E,f.a/2,f.b/2),z.g){case 4:rt(C,Qu,(hf(),$b)),rt(C,sW,(Vm(),P6)),C.o.b=f.b,J<0&&(C.o.a=-J),la(L,(Ct(),ar)),B||(E.a=f.a),E.a-=f.a;break;case 2:rt(C,Qu,(hf(),d4)),rt(C,sW,(Vm(),FT)),C.o.b=f.b,J<0&&(C.o.a=-J),la(L,(Ct(),er)),B||(E.a=0);break;case 1:rt(C,hv,(ep(),F6)),C.o.a=f.a,J<0&&(C.o.b=-J),la(L,(Ct(),Dr)),B||(E.b=f.b),E.b-=f.b;break;case 3:rt(C,hv,(ep(),Ux)),C.o.a=f.a,J<0&&(C.o.b=-J),la(L,(Ct(),Qn)),B||(E.b=0)}if(Fye(L.n,E),rt(C,p3,E),t==Tv||t==Tg||t==Mu){if(V=0,t==Tv&&e.pf(k2))switch(z.g){case 1:case 2:V=l(e.of(k2),17).a;break;case 3:case 4:V=-l(e.of(k2),17).a}else switch(z.g){case 4:case 2:V=o.b,t==Tg&&(V/=a.b);break;case 1:case 3:V=o.a,t==Tg&&(V/=a.a)}rt(C,l3,V)}return rt(C,Wc,z),C}function wIn(){c3e();function e(r){var a=this;this.dispatch=function(o){var f=o.data;switch(f.cmd){case"algorithms":var g=L8e((Cn(),new $a(new gi(Qb.b))));r.postMessage({id:f.id,data:g});break;case"categories":var w=L8e((Cn(),new $a(new gi(Qb.c))));r.postMessage({id:f.id,data:w});break;case"options":var E=L8e((Cn(),new $a(new gi(Qb.d))));r.postMessage({id:f.id,data:E});break;case"register":kMn(f.algorithms),r.postMessage({id:f.id});break;case"layout":QAn(f.graph,f.layoutOptions||{},f.options||{}),r.postMessage({id:f.id,data:f.graph});break}},this.saveDispatch=function(o){try{a.dispatch(o)}catch(f){r.postMessage({id:o.data.id,error:f})}}}function t(r){var a=this;this.dispatcher=new e({postMessage:function(o){a.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){a.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===ghe&&typeof self!==ghe){var n=new e(self);self.onmessage=n.saveDispatch}else typeof d!==ghe&&d.exports&&(Object.defineProperty(p,"__esModule",{value:!0}),d.exports={default:t,Worker:t})}function cwt(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=new op(n),pc(C,t),rt(C,(ft(),zi),t),C.o.a=t.g,C.o.b=t.f,C.n.a=t.i,C.n.b=t.j,vt(n.a,C),ki(e.a,t,C),((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a).i!=0||Rt(Bt(at(t,(Nt(),b4)))))&&rt(C,FLe,(Hn(),!0)),E=l(Q(n,Lu),21),L=l(Q(C,(Nt(),Ms)),101),L==(Ra(),Wb)?rt(C,Ms,Z1):L!=Z1&&E.Fc((Ho(),$T)),B=0,r=l(Q(n,Rh),88),w=new or((!t.c&&(t.c=new nt(Hl,t,9,9)),t.c));w.e!=w.i.gc();)g=l(gr(w),123),a=ds(t),(qe(at(a,yg))!==qe((Ed(),E2))||qe(at(a,dv))===qe((l2(),BT))||qe(at(a,dv))===qe((l2(),PT))||Rt(Bt(at(a,f3)))||qe(at(a,g4))!==qe((Km(),c4))||qe(at(a,zb))===qe((Nf(),v3))||qe(at(a,zb))===qe((Nf(),x4))||qe(at(a,pv))===qe((p2(),WT))||qe(at(a,pv))===qe((p2(),YT)))&&!Rt(Bt(at(t,fW)))&&Hi(g,Ki,pt(B++)),Rt(Bt(at(g,mv)))||LDn(e,g,C,E,r,L);for(f=new or((!t.n&&(t.n=new nt(ec,t,1,7)),t.n));f.e!=f.i.gc();)o=l(gr(f),135),!Rt(Bt(at(o,mv)))&&o.a&&vt(C.b,Oce(o));return Rt(Bt(Q(C,QL)))&&E.Fc((Ho(),eW)),Rt(Bt(Q(C,bW)))&&(E.Fc((Ho(),tW)),E.Fc(UL),rt(C,Ms,Z1)),C}function Lle(e,t,n,r,a,o,f){var g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi,ws;for(J=0,Bn=0,E=new G(e.b);E.aJ&&(o&&(ko(ot,z),ko(cn,pt(C.b-1)),vt(e.d,V),g.c.length=0),oi=n.b,ws+=z+t,z=0,L=b.Math.max(L,n.b+n.c+ur)),$n(g.c,w),ddt(w,oi,ws),L=b.Math.max(L,oi+ur+n.c),z=b.Math.max(z,B),oi+=ur+t,V=w;if(ra(e.a,g),vt(e.d,l(jt(g,g.c.length-1),163)),L=b.Math.max(L,r),jn=ws+z+n.a,jna.d.d+a.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))),r.b!=r.d.c&&(t=n);C&&(o=l(cr(e.f,f.d.i),60),t.bo.d.d+o.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))}for(g=new hr(dr(ka(z).a.Kc(),new j));jr(g);)f=l(xr(g),18),f.a.b!=0&&(t=l(o0(f.a),8),f.d.j==(Ct(),Qn)&&(te=new QA(t,new lt(t.a,a.d.d),a,f),te.f.a=!0,te.a=f.d,$n(J.c,te)),f.d.j==Dr&&(te=new QA(t,new lt(t.a,a.d.d+a.d.a),a,f),te.f.d=!0,te.a=f.d,$n(J.c,te)))}return J}function CIn(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(w=new bt,L=t.length,f=$7e(n),E=0;E=V&&(Te>V&&(z.c.length=0,V=Te),$n(z.c,f));z.c.length!=0&&(B=l(jt(z,aU(t,z.c.length)),131),jn.a.Bc(B)!=null,B.s=J++,R9e(B,an,ot),z.c.length=0)}for($e=e.c.length+1,g=new G(e);g.aBn.s&&(ph(n),al(Bn.i,r),r.c>0&&(r.a=Bn,vt(Bn.t,r),r.b=St,vt(St.i,r)))}function uwt(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn;for(J=new Bu(t.b),$e=new Bu(t.b),B=new Bu(t.b),cn=new Bu(t.b),te=new Bu(t.b),St=Rr(t,0);St.b!=St.d.c;)for(Ze=l(Br(St),12),g=new G(Ze.g);g.a0,fe=Ze.g.c.length>0,E&&fe?$n(B.c,Ze):E?$n(J.c,Ze):fe&&$n($e.c,Ze);for(V=new G(J);V.aTe.nh()-E.b&&(B=Te.nh()-E.b),z>Te.oh()-E.d&&(z=Te.oh()-E.d),C0){for(Me=Rr(e.f,0);Me.b!=Me.d.c;)Te=l(Br(Me),10),Te.p+=B-e.e;r9e(e),Ch(e.f),J9e(e,r,z)}else{for(ui(e.f,z),z.p=r,e.e=b.Math.max(e.e,r),o=new hr(dr(ka(z).a.Kc(),new j));jr(o);)a=l(xr(o),18),!a.c.i.c&&a.c.i.k==(Zn(),cu)&&(ui(e.f,a.c.i),a.c.i.p=r-1);e.c=r}else r9e(e),Ch(e.f),r=0,jr(new hr(dr(ka(z).a.Kc(),new j)))?(B=0,B=vdt(B,z),r=B+2,J9e(e,r,z)):(ui(e.f,z),z.p=0,e.e=b.Math.max(e.e,0),e.b=l(jt(e.d.b,0),30),e.c=0);for(e.f.b==0||r9e(e),e.d.a.c.length=0,fe=new bt,E=new G(e.d.b);E.a=48&&t<=57){for(r=t-48;a=48&&t<=57;)if(r=r*10+t-48,r<0)throw ue(new ri(ai((Jr(),CSe))))}else throw ue(new ri(ai((Jr(),K4t))));if(n=r,t==44){if(a>=e.j)throw ue(new ri(ai((Jr(),Y4t))));if((t=co(e.i,a++))>=48&&t<=57){for(n=t-48;a=48&&t<=57;)if(n=n*10+t-48,n<0)throw ue(new ri(ai((Jr(),CSe))));if(r>n)throw ue(new ri(ai((Jr(),X4t))))}else n=-1}if(t!=125)throw ue(new ri(ai((Jr(),W4t))));e.bm(a)?(o=(Di(),Di(),new Ty(9,o)),e.d=a+1):(o=(Di(),Di(),new Ty(3,o)),e.d=a),o.Om(r),o.Nm(n),Li(e)}}return o}function DIn(e){var t,n,r,a,o;switch(n=l(Q(e,(ft(),Lu)),21),t=Oq(v8t),a=l(Q(e,(Nt(),p4)),346),a==(rp(),A2)&&Dh(t,w8t),Rt(Bt(Q(e,ide)))?fi(t,(uo(),y0),(vo(),d1e)):fi(t,(uo(),bu),(vo(),d1e)),Q(e,(QH(),kM))!=null&&Dh(t,y8t),(Rt(Bt(Q(e,RMe)))||Rt(Bt(Q(e,NMe))))&&yl(t,(uo(),mc),(vo(),OAe)),l(Q(e,Rh),88).g){case 2:case 3:case 4:yl(fi(t,(uo(),y0),(vo(),PAe)),mc,NAe)}switch(n.Hc((Ho(),eW))&&yl(fi(fi(t,(uo(),y0),(vo(),IAe)),_u,MAe),mc,DAe),qe(Q(e,zb))!==qe((Nf(),AW))&&fi(t,(uo(),bu),(vo(),XAe)),n.Hc(nW)&&(fi(t,(uo(),y0),(vo(),eLe)),fi(t,vg,JAe),fi(t,bu,ZAe)),qe(Q(e,lW))!==qe((zE(),VL))&&qe(Q(e,bp))!==qe((ip(),JB))&&yl(t,(uo(),mc),(vo(),VAe)),Rt(Bt(Q(e,BMe)))&&fi(t,(uo(),bu),(vo(),HAe)),Rt(Bt(Q(e,ede)))&&fi(t,(uo(),bu),(vo(),tLe)),VTn(e)&&(qe(Q(e,p4))===qe(A2)?r=l(Q(e,TB),299):r=l(Q(e,Z1e),299),o=r==(vE(),R1e)?(vo(),QAe):(vo(),iLe),fi(t,(uo(),_u),o)),l(Q(e,lDe),388).g){case 1:fi(t,(uo(),_u),(vo(),nLe));break;case 2:yl(fi(fi(t,(uo(),bu),(vo(),SAe)),_u,_Ae),mc,AAe)}return qe(Q(e,yg))!==qe((Ed(),E2))&&fi(t,(uo(),bu),(vo(),rLe)),t}function dwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;if(Hu(e.a,t)){if(W0(l(cr(e.a,t),49),n))return 1}else ki(e.a,t,new Ks);if(Hu(e.a,n)){if(W0(l(cr(e.a,n),49),t))return-1}else ki(e.a,n,new Ks);if(Hu(e.e,t)){if(W0(l(cr(e.e,t),49),n))return-1}else ki(e.e,t,new Ks);if(Hu(e.e,n)){if(W0(l(cr(e.a,n),49),t))return 1}else ki(e.e,n,new Ks);if(e.c==(Ed(),yde)||!ns(t,(ft(),Ki))||!ns(n,(ft(),Ki))){for(L=null,E=new G(t.j);E.af?WE(e,t,n):WE(e,n,t),af?1:0}return r=l(Q(t,(ft(),Ki)),17).a,o=l(Q(n,Ki),17).a,r>o?WE(e,t,n):WE(e,n,t),ro?1:0}function Kw(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(n==null)return null;if(e.a!=t.jk())throw ue(new Yn(yT+t.xe()+t3));if(De(t,469)){if(te=kSn(l(t,685),n),!te)throw ue(new Yn(zfe+n+"' is not a valid enumerator of '"+t.xe()+"'"));return te}switch(o2((El(),io),t).Nl()){case 2:{n=Tu(n,!1);break}case 3:{n=Tu(n,!0);break}}if(r=o2(io,t).Jl(),r)return r.jk().wi().ti(r,n);if(B=o2(io,t).Ll(),B){for(te=new bt,E=Tce(n),C=0,L=E.length;C1)for(V=new q8((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));V.e!=V.i.gc();)jA(V);for(f=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),te=oi,oi>Ze+$e?te=Ze+$e:oiot+J?fe=ot+J:wsZe-$e&&teot-J&&feoi+ur?cn=oi+ur:Zews+St?an=ws+St:otoi-ur&&cnws-St&&ann&&(B=n-1),z=P2+Jl(t,24)*MP*L-L/2,z<0?z=1:z>r&&(z=r-1),a=(rb(),w=new AS,w),dV(a,B),fV(a,z),qr((!f.a&&(f.a=new Ys(qh,f,5)),f.a),a)}function gwt(e){sw(e,new Xm(nw(Zv(tw(ew(new x1,th),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new c8))),gt(e,th,Ox,1.3),gt(e,th,hT,(Hn(),!1)),gt(e,th,Xw,iOe),gt(e,th,Jy,15),gt(e,th,SG,It(DCt)),gt(e,th,x6,It(NCt)),gt(e,th,Px,It(BCt)),gt(e,th,Nx,It(FCt)),gt(e,th,fT,It(OCt)),gt(e,th,fL,It(lge)),gt(e,th,dT,It(RCt)),gt(e,th,jCe,It(cOe)),gt(e,th,$Ce,It(oOe)),gt(e,th,RCe,It(fge)),gt(e,th,FCe,It(uOe)),gt(e,th,zCe,It(rOe)),gt(e,th,qCe,It(hge)),gt(e,th,HCe,It(nOe)),gt(e,th,VCe,It(aOe)),gt(e,th,hL,It(tOe)),gt(e,th,AG,It(ICt)),gt(e,th,PCe,It(jB)),gt(e,th,NCe,It(eOe)),gt(e,th,BCe,It($B)),gt(e,th,OCe,It(sOe))}function Dle(e,t){ble();var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi;if(cn=e.e,V=e.d,a=e.a,cn==0)switch(t){case 0:return"0";case 1:return sT;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return ot=new tb,t<0?ot.a+="0E+":ot.a+="0E",ot.a+=-t,ot.a}if(Me=V*10+1+7,$e=We(kf,Ad,28,Me+1,15,1),n=Me,V==1)if(g=a[0],g<0){oi=va(g,Vo);do J=oi,oi=KN(oi,10),$e[--n]=48+Yr(Df(J,mo(oi,10)))&Zs;while(iu(oi,0)!=0)}else{oi=g;do J=oi,oi=oi/10|0,$e[--n]=48+(J-oi*10)&Zs;while(oi!=0)}else{Bn=We(Vr,di,28,V,15,1),ur=V,pu(a,0,Bn,0,ur);e:for(;;){for(St=0,E=ur-1;E>=0;E--)jn=bo(l0(St,32),va(Bn[E],Vo)),fe=yxn(jn),Bn[E]=Yr(fe),St=Yr(bw(fe,32));Te=Yr(St),te=n;do $e[--n]=48+Te%10&Zs;while((Te=Te/10|0)!=0&&n!=0);for(r=9-te+n,w=0;w0;w++)$e[--n]=48;for(L=ur-1;Bn[L]==0;L--)if(L==0)break e;ur=L+1}for(;$e[n]==48;)++n}if(z=cn<0,f=Me-n-t-1,t==0)return z&&($e[--n]=45),If($e,n,Me-n);if(t>0&&f>=-6){if(f>=0){for(C=n+f,B=Me-1;B>=C;B--)$e[B+1]=$e[B];return $e[++C]=46,z&&($e[--n]=45),If($e,n,Me-n+1)}for(L=2;L<-f+1;L++)$e[--n]=48;return $e[--n]=46,$e[--n]=48,z&&($e[--n]=45),If($e,n,Me-n)}return an=n+1,o=Me,Ze=new S5,z&&(Ze.a+="-"),o-an>=1?(hb(Ze,$e[n]),Ze.a+=".",Ze.a+=If($e,n+1,Me-n-1)):Ze.a+=If($e,n,Me-n),Ze.a+="E",f>0&&(Ze.a+="+"),Ze.a+=""+f,Ze.a}function pwt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot;switch(e.c=t,e.g=new Pr,n=(aw(),new Jv(e.c)),r=new e_(n),S8e(r),Me=ei(at(e.c,(YN(),AOe))),w=l(at(e.c,kge),324),Ze=l(at(e.c,Ege),437),f=l(at(e.c,COe),490),$e=l(at(e.c,xge),438),e.j=ze(Ge(at(e.c,JCt))),g=e.a,w.g){case 0:g=e.a;break;case 1:g=e.b;break;case 2:g=e.i;break;case 3:g=e.e;break;case 4:g=e.f;break;default:throw ue(new Yn(FG+(w.f!=null?w.f:""+w.g)))}if(e.d=new cot(g,Ze,f),rt(e.d,(pE(),jL),Bt(at(e.c,XCt))),e.d.c=Rt(Bt(at(e.c,SOe))),AH(e.c).i==0)return e.d;for(L=new or(AH(e.c));L.e!=L.i.gc();){for(C=l(gr(L),27),z=C.g/2,B=C.f/2,ot=new lt(C.i+z,C.j+B);Hu(e.g,ot);)dw(ot,(b.Math.random()-.5)*Dd,(b.Math.random()-.5)*Dd);J=l(at(C,(pi(),tC)),140),te=new kot(ot,new ef(ot.a-z-e.j/2-J.b,ot.b-B-e.j/2-J.d,C.g+e.j+(J.b+J.c),C.f+e.j+(J.d+J.a))),vt(e.d.i,te),ki(e.g,ot,new ca(te,C))}switch($e.g){case 0:if(Me==null)e.d.d=l(jt(e.d.i,0),68);else for(Te=new G(e.d.i);Te.a0?ur+1:1);for(f=new G(ot.g);f.a0?ur+1:1)}e.c[E]==0?ui(e.e,J):e.a[E]==0&&ui(e.f,J),++E}for(V=-1,z=1,L=new bt,e.d=l(Q(t,(ft(),Xx)),234);Hh>0;){for(;e.e.b!=0;)ws=l(kae(e.e),10),e.b[ws.p]=V--,pke(e,ws),--Hh;for(;e.f.b!=0;)Vl=l(kae(e.f),10),e.b[Vl.p]=z++,pke(e,Vl),--Hh;if(Hh>0){for(B=lo,Te=new G(Me);Te.a=B&&($e>B&&(L.c.length=0,B=$e),$n(L.c,J)));C=e.sg(L),e.b[C.p]=z++,pke(e,C),--Hh}}for(oi=Me.c.length+1,E=0;Ee.b[lc]&&(Uw(r,!0),rt(t,yB,(Hn(),!0)));e.a=null,e.c=null,e.b=null,Ch(e.f),Ch(e.e),n.Vg()}function bwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot;for(Ze=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),C=new bl,$e=new Pr,ot=Cmt(Ze),ju($e.f,Ze,ot),B=new Pr,r=new os,V=rg(Lh(he(le(Fh,1),Rn,20,0,[(!t.d&&(t.d=new Ln(js,t,8,5)),t.d),(!t.e&&(t.e=new Ln(js,t,7,4)),t.e)])));jr(V);){if(z=l(xr(V),74),(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i!=1)throw ue(new Yn(n4t+(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i));z!=e&&(te=l(Oe((!z.a&&(z.a=new nt(cs,z,6,6)),z.a),0),166),Cs(r,te,r.c.b,r.c),J=l(hc(zo($e.f,te)),13),J||(J=Cmt(te),ju($e.f,te,J)),L=n?ma(new Eo(l(jt(ot,ot.c.length-1),8)),l(jt(J,J.c.length-1),8)):ma(new Eo((Sn(0,ot.c.length),l(ot.c[0],8))),(Sn(0,J.c.length),l(J.c[0],8))),ju(B.f,te,L))}if(r.b!=0)for(fe=l(jt(ot,n?ot.c.length-1:0),8),E=1;E1&&Cs(C,fe,C.c.b,C.c),Yoe(a)));fe=Te}return C}function mwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn;for(n.Ug(myt,1),Bn=l(yc(Fi(new bn(null,new kn(t,16)),new one),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),C=l(yc(Fi(new bn(null,new kn(t,16)),new vXe(t)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),V=l(yc(Fi(new bn(null,new kn(t,16)),new mXe(t)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),J=We(PW,IG,40,t.gc(),0,1),f=0;f=0&&an=0&&!J[z]){J[z]=a,C.gd(g),--g;break}if(z=an-B,z=0&&!J[z]){J[z]=a,C.gd(g),--g;break}}for(V.jd(new cne),w=J.length-1;w>=0;w--)!J[w]&&!V.dc()&&(J[w]=l(V.Xb(0),40),V.gd(0));for(E=0;E=0;w--)ui(n,(Sn(w,f.c.length),l(f.c[w],8)));return n}function wwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(Me=ze(Ge(at(t,(ug(),T4)))),z=ze(Ge(at(t,mM))),B=ze(Ge(at(t,UW))),v7e((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a)),fe=uvt((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a),Me,e.b),te=0;teB&&UN((Sn(B,t.c.length),l(t.c[B],186)),C),C=null;t.c.length>B&&(Sn(B,t.c.length),l(t.c[B],186)).a.c.length==0;)al(t,(Sn(B,t.c.length),t.c[B]));if(!C){--f;continue}if(!Rt(Bt(l(jt(C.b,0),27).of((z1(),$B))))&&tAn(t,V,o,C,te,n,B,r)){J=!0;continue}if(te){if(z=V.b,L=C.f,!Rt(Bt(l(jt(C.b,0),27).of($B)))&&wMn(t,V,o,C,n,B,r,a)){if(J=!0,z=e.j){e.a=-1,e.c=1;return}if(t=co(e.i,e.d++),e.a=t,e.b==1){switch(t){case 92:if(r=10,e.d>=e.j)throw ue(new ri(ai((Jr(),VG))));e.a=co(e.i,e.d++);break;case 45:(e.e&512)==512&&e.d=e.j||co(e.i,e.d)!=63)break;if(++e.d>=e.j)throw ue(new ri(ai((Jr(),e0e))));switch(t=co(e.i,e.d++),t){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(e.d>=e.j)throw ue(new ri(ai((Jr(),e0e))));if(t=co(e.i,e.d++),t==61)r=16;else if(t==33)r=17;else throw ue(new ri(ai((Jr(),L4t))));break;case 35:for(;e.d=e.j)throw ue(new ri(ai((Jr(),VG))));e.a=co(e.i,e.d++);break;default:r=0}e.c=r}function zIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(n.Ug("Process compaction",1),!!Rt(Bt(Q(t,(Hc(),uIe))))){for(a=l(Q(t,y3),88),z=ze(Ge(Q(t,zde))),gLn(e,t,a),iIn(t,z/2/2),V=t.b,$m(V,new lXe(a)),E=Rr(V,0);E.b!=E.d.c;)if(w=l(Br(E),40),!Rt(Bt(Q(w,(Qi(),Vb))))){if(r=$Sn(w,a),J=PAn(w,t),L=0,B=0,r)switch(te=r.e,a.g){case 2:L=te.a-z-w.f.a,J.e.a-z-w.f.aL&&(L=J.e.a+J.f.a+z),B=L+w.f.a;break;case 4:L=te.b-z-w.f.b,J.e.b-z-w.f.bL&&(L=J.e.b+J.f.b+z),B=L+w.f.b}else if(J)switch(a.g){case 2:L=J.e.a-z-w.f.a,B=L+w.f.a;break;case 1:L=J.e.a+J.f.a+z,B=L+w.f.a;break;case 4:L=J.e.b-z-w.f.b,B=L+w.f.b;break;case 3:L=J.e.b+J.f.b+z,B=L+w.f.b}qe(Q(t,$de))===qe((xA(),OB))?(o=L,f=B,g=kE(Fi(new bn(null,new kn(e.a,16)),new ttt(o,f))),g.a!=null?a==(Js(),uc)||a==vc?w.e.a=L:w.e.b=L:(a==(Js(),uc)||a==wf?g=kE(Fi(Dht(new bn(null,new kn(e.a,16))),new hXe(o))):g=kE(Fi(Dht(new bn(null,new kn(e.a,16))),new fXe(o))),g.a!=null&&(a==uc||a==vc?w.e.a=ze(Ge((mr(g.a!=null),l(g.a,42)).a)):w.e.b=ze(Ge((mr(g.a!=null),l(g.a,42)).a)))),g.a!=null&&(C=gc(e.a,(mr(g.a!=null),g.a),0),C>0&&C!=l(Q(w,$d),17).a&&(rt(w,tIe,(Hn(),!0)),rt(w,$d,pt(C))))):a==(Js(),uc)||a==vc?w.e.a=L:w.e.b=L}n.Vg()}}function ywt(e){var t,n,r,a,o,f,g,w,E;for(e.b=1,Li(e),t=null,e.c==0&&e.a==94?(Li(e),t=(Di(),Di(),new _h(4)),Eu(t,0,TT),g=new _h(4)):g=(Di(),Di(),new _h(4)),a=!0;(E=e.c)!=1;){if(E==0&&e.a==93&&!a){t&&(nL(t,g),g=t);break}if(n=e.a,r=!1,E==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:Ky(g,YE(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(Ky(g,YE(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(w=w9e(e,n),!w)throw ue(new ri(ai((Jr(),t0e))));Ky(g,w),r=!0;break;default:n=eke(e)}else if(E==24&&!a){if(t&&(nL(t,g),g=t),o=ywt(e),nL(g,o),e.c!=0||e.a!=93)throw ue(new ri(ai((Jr(),j4t))));break}if(Li(e),!r){if(E==0){if(n==91)throw ue(new ri(ai((Jr(),ESe))));if(n==93)throw ue(new ri(ai((Jr(),TSe))));if(n==45&&!a&&e.a!=93)throw ue(new ri(ai((Jr(),n0e))))}if(e.c!=0||e.a!=45||n==45&&a)Eu(g,n,n);else{if(Li(e),(E=e.c)==1)throw ue(new ri(ai((Jr(),UG))));if(E==0&&e.a==93)Eu(g,n,n),Eu(g,45,45);else{if(E==0&&e.a==93||E==24)throw ue(new ri(ai((Jr(),n0e))));if(f=e.a,E==0){if(f==91)throw ue(new ri(ai((Jr(),ESe))));if(f==93)throw ue(new ri(ai((Jr(),TSe))));if(f==45)throw ue(new ri(ai((Jr(),n0e))))}else E==10&&(f=eke(e));if(Li(e),n>f)throw ue(new ri(ai((Jr(),q4t))));Eu(g,n,f)}}}a=!1}if(e.c==1)throw ue(new ri(ai((Jr(),UG))));return c6(g),eL(g),e.b=0,Li(e),g}function qIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze;if(n.Ug("Coffman-Graham Layering",1),t.a.c.length==0){n.Vg();return}for(Ze=l(Q(t,(Nt(),$Me)),17).a,w=0,f=0,B=new G(t.a);B.a=Ze||!B5n(fe,r))&&(r=vat(t,C)),Va(fe,r),o=new hr(dr(ka(fe).a.Kc(),new j));jr(o);)a=l(xr(o),18),!e.a[a.p]&&(J=a.c.i,--e.e[J.p],e.e[J.p]==0&&K8($E(z,J),aT));for(E=C.c.length-1;E>=0;--E)vt(t.b,(Sn(E,C.c.length),l(C.c[E],30)));t.a.c.length=0,n.Vg()}function xwt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;$e=!1;do for($e=!1,o=t?new br(e.a.b).a.gc()-2:1;t?o>=0:ol(Q(te,Ki),17).a)&&(Me=!1);if(Me){for(w=t?o+1:o-1,g=s6e(e.a,pt(w)),f=!1,Te=!0,r=!1,C=Rr(g,0);C.b!=C.d.c;)E=l(Br(C),10),ns(E,Ki)?E.p!=L.p&&(f=f|(t?l(Q(E,Ki),17).al(Q(L,Ki),17).a),Te=!1):!f&&Te&&E.k==(Zn(),cu)&&(r=!0,t?B=l(xr(new hr(dr(ka(E).a.Kc(),new j))),18).c.i:B=l(xr(new hr(dr(qs(E).a.Kc(),new j))),18).d.i,B==L&&(t?n=l(xr(new hr(dr(qs(E).a.Kc(),new j))),18).d.i:n=l(xr(new hr(dr(ka(E).a.Kc(),new j))),18).c.i,(t?l(dy(e.a,n),17).a-l(dy(e.a,B),17).a:l(dy(e.a,B),17).a-l(dy(e.a,n),17).a)<=2&&(Te=!1)));if(r&&Te&&(t?n=l(xr(new hr(dr(qs(L).a.Kc(),new j))),18).d.i:n=l(xr(new hr(dr(ka(L).a.Kc(),new j))),18).c.i,(t?l(dy(e.a,n),17).a-l(dy(e.a,L),17).a:l(dy(e.a,L),17).a-l(dy(e.a,n),17).a)<=2&&n.k==(Zn(),Ps)&&(Te=!1)),f||Te){for(J=J2t(e,L,t);J.a.gc()!=0;)V=l(J.a.ec().Kc().Pb(),10),J.a.Bc(V)!=null,Ka(J,J2t(e,V,t));--z,$e=!0}}}while($e)}function HIn(e){Wr(e.c,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#decimal"])),Wr(e.d,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#integer"])),Wr(e.e,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#boolean"])),Wr(e.f,li,he(le(zt,1),dt,2,6,[ho,"EBoolean",_i,"EBoolean:Object"])),Wr(e.i,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#byte"])),Wr(e.g,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Wr(e.j,li,he(le(zt,1),dt,2,6,[ho,"EByte",_i,"EByte:Object"])),Wr(e.n,li,he(le(zt,1),dt,2,6,[ho,"EChar",_i,"EChar:Object"])),Wr(e.t,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#double"])),Wr(e.u,li,he(le(zt,1),dt,2,6,[ho,"EDouble",_i,"EDouble:Object"])),Wr(e.F,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#float"])),Wr(e.G,li,he(le(zt,1),dt,2,6,[ho,"EFloat",_i,"EFloat:Object"])),Wr(e.I,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#int"])),Wr(e.J,li,he(le(zt,1),dt,2,6,[ho,"EInt",_i,"EInt:Object"])),Wr(e.N,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#long"])),Wr(e.O,li,he(le(zt,1),dt,2,6,[ho,"ELong",_i,"ELong:Object"])),Wr(e.Z,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#short"])),Wr(e.$,li,he(le(zt,1),dt,2,6,[ho,"EShort",_i,"EShort:Object"])),Wr(e._,li,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#string"]))}function VIn(e,t,n,r,a,o,f){var g,w,E,C,L,B,z,V;return B=l(r.a,17).a,z=l(r.b,17).a,L=e.b,V=e.c,g=0,C=0,t==(Js(),uc)||t==vc?(C=fO(h1t(xy(fc(new bn(null,new kn(n.b,16)),new lne),new Yte))),L.e.b+L.f.b/2>C?(E=++z,g=ze(Ge(fh(vy(fc(new bn(null,new kn(n.b,16)),new itt(a,E)),new a$))))):(w=++B,g=ze(Ge(fh(Y8(fc(new bn(null,new kn(n.b,16)),new stt(a,w)),new Xte)))))):(C=fO(h1t(xy(fc(new bn(null,new kn(n.b,16)),new Zte),new s$))),L.e.a+L.f.a/2>C?(E=++z,g=ze(Ge(fh(vy(fc(new bn(null,new kn(n.b,16)),new ntt(a,E)),new Qte))))):(w=++B,g=ze(Ge(fh(Y8(fc(new bn(null,new kn(n.b,16)),new rtt(a,w)),new bI)))))),t==uc?(ko(e.a,new lt(ze(Ge(Q(L,(Qi(),c1))))-a,g)),ko(e.a,new lt(V.e.a+V.f.a+a+o,g)),ko(e.a,new lt(V.e.a+V.f.a+a+o,V.e.b+V.f.b/2)),ko(e.a,new lt(V.e.a+V.f.a,V.e.b+V.f.b/2))):t==vc?(ko(e.a,new lt(ze(Ge(Q(L,(Qi(),k0))))+a,L.e.b+L.f.b/2)),ko(e.a,new lt(L.e.a+L.f.a+a,g)),ko(e.a,new lt(V.e.a-a-o,g)),ko(e.a,new lt(V.e.a-a-o,V.e.b+V.f.b/2)),ko(e.a,new lt(V.e.a,V.e.b+V.f.b/2))):t==wf?(ko(e.a,new lt(g,ze(Ge(Q(L,(Qi(),c1))))-a)),ko(e.a,new lt(g,V.e.b+V.f.b+a+o)),ko(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+a+o)),ko(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+a))):(e.a.b==0||(l(o0(e.a),8).b=ze(Ge(Q(L,(Qi(),k0))))+a*l(f.b,17).a),ko(e.a,new lt(g,ze(Ge(Q(L,(Qi(),k0))))+a*l(f.b,17).a)),ko(e.a,new lt(g,V.e.b-a*l(f.a,17).a-o))),new ca(pt(B),pt(z))}function UIn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;if(f=!0,L=null,r=null,a=null,t=!1,z=P_t,E=null,o=null,g=0,w=Zce(e,g,TPe,CPe),w=0&&vn(e.substr(g,2),"//")?(g+=2,w=Zce(e,g,$M,zM),r=(Ga(g,w,e.length),e.substr(g,w-g)),g=w):L!=null&&(g==e.length||(Xn(g,e.length),e.charCodeAt(g)!=47))&&(f=!1,w=Lye(e,cl(35),g),w==-1&&(w=e.length),r=(Ga(g,w,e.length),e.substr(g,w-g)),g=w);if(!n&&g0&&co(C,C.length-1)==58&&(a=C,g=w)),gWue(o))&&(L=o);for(!L&&(L=(Sn(0,te.c.length),l(te.c[0],185))),J=new G(t.b);J.aL&&(jn=0,ur+=C+St,C=0),hmt(Ze,f,jn,ur),t=b.Math.max(t,jn+ot.a),C=b.Math.max(C,ot.b),jn+=ot.a+St;for($e=new Pr,n=new Pr,an=new G(e);an.a=-1900?1:0,n>=4?hi(e,he(le(zt,1),dt,2,6,[Rwt,jwt])[g]):hi(e,he(le(zt,1),dt,2,6,["BC","AD"])[g]);break;case 121:h6n(e,n,r);break;case 77:M_n(e,n,r);break;case 107:w=a.q.getHours(),w==0?ag(e,24,n):ag(e,w,n);break;case 83:HTn(e,n,a);break;case 69:C=r.q.getDay(),n==5?hi(e,he(le(zt,1),dt,2,6,["S","M","T","W","T","F","S"])[C]):n==4?hi(e,he(le(zt,1),dt,2,6,[Qle,Jle,Zle,ehe,the,nhe,rhe])[C]):hi(e,he(le(zt,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[C]);break;case 97:a.q.getHours()>=12&&a.q.getHours()<24?hi(e,he(le(zt,1),dt,2,6,["AM","PM"])[1]):hi(e,he(le(zt,1),dt,2,6,["AM","PM"])[0]);break;case 104:L=a.q.getHours()%12,L==0?ag(e,12,n):ag(e,L,n);break;case 75:B=a.q.getHours()%12,ag(e,B,n);break;case 72:z=a.q.getHours(),ag(e,z,n);break;case 99:V=r.q.getDay(),n==5?hi(e,he(le(zt,1),dt,2,6,["S","M","T","W","T","F","S"])[V]):n==4?hi(e,he(le(zt,1),dt,2,6,[Qle,Jle,Zle,ehe,the,nhe,rhe])[V]):n==3?hi(e,he(le(zt,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[V]):ag(e,V,1);break;case 76:J=r.q.getMonth(),n==5?hi(e,he(le(zt,1),dt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[J]):n==4?hi(e,he(le(zt,1),dt,2,6,[$le,zle,qle,Hle,_x,Vle,Ule,Gle,Kle,Wle,Yle,Xle])[J]):n==3?hi(e,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[J]):ag(e,J+1,n);break;case 81:te=r.q.getMonth()/3|0,n<4?hi(e,he(le(zt,1),dt,2,6,["Q1","Q2","Q3","Q4"])[te]):hi(e,he(le(zt,1),dt,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[te]);break;case 100:fe=r.q.getDate(),ag(e,fe,n);break;case 109:E=a.q.getMinutes(),ag(e,E,n);break;case 115:f=a.q.getSeconds(),ag(e,f,n);break;case 122:n<4?hi(e,o.c[0]):hi(e,o.c[1]);break;case 118:hi(e,o.b);break;case 90:n<3?hi(e,Bkn(o)):n==3?hi(e,zkn(o)):hi(e,qkn(o.a));break;default:return!1}return!0}function Wke(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi;if(emt(t),w=l(Oe((!t.b&&(t.b=new Ln(_r,t,4,7)),t.b),0),84),C=l(Oe((!t.c&&(t.c=new Ln(_r,t,5,8)),t.c),0),84),g=bc(w),E=bc(C),f=(!t.a&&(t.a=new nt(cs,t,6,6)),t.a).i==0?null:l(Oe((!t.a&&(t.a=new nt(cs,t,6,6)),t.a),0),166),St=l(cr(e.a,g),10),jn=l(cr(e.a,E),10),cn=null,ur=null,De(w,193)&&(ot=l(cr(e.a,w),305),De(ot,12)?cn=l(ot,12):De(ot,10)&&(St=l(ot,10),cn=l(jt(St.j,0),12))),De(C,193)&&(Bn=l(cr(e.a,C),305),De(Bn,12)?ur=l(Bn,12):De(Bn,10)&&(jn=l(Bn,10),ur=l(jt(jn.j,0),12))),!St||!jn)throw ue(new I8("The source or the target of edge "+t+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(J=new Tw,pc(J,t),rt(J,(ft(),zi),t),rt(J,(Nt(),cc),null),z=l(Q(r,Lu),21),St==jn&&z.Fc((Ho(),GL)),cn||(Ze=(qo(),zu),an=null,f&&P5(l(Q(St,Ms),101))&&(an=new lt(f.j,f.k),Vct(an,WO(t)),vut(an,n),Ly(E,g)&&(Ze=$l,Oi(an,St.n))),cn=tvt(St,an,Ze,r)),ur||(Ze=(qo(),$l),oi=null,f&&P5(l(Q(jn,Ms),101))&&(oi=new lt(f.b,f.c),Vct(oi,WO(t)),vut(oi,n)),ur=tvt(jn,oi,Ze,eo(jn))),po(J,cn),Fa(J,ur),(cn.e.c.length>1||cn.g.c.length>1||ur.e.c.length>1||ur.g.c.length>1)&&z.Fc((Ho(),UL)),B=new or((!t.n&&(t.n=new nt(ec,t,1,7)),t.n));B.e!=B.i.gc();)if(L=l(gr(B),135),!Rt(Bt(at(L,mv)))&&L.a)switch(te=Oce(L),vt(J.b,te),l(Q(te,jd),278).g){case 1:case 2:z.Fc((Ho(),jT));break;case 0:z.Fc((Ho(),RT)),rt(te,jd,(F1(),nC))}if(o=l(Q(r,JL),322),fe=l(Q(r,yW),323),a=o==(dA(),mB)||fe==(OA(),vde),f&&(!f.a&&(f.a=new Ys(qh,f,5)),f.a).i!=0&&a){for(Te=QN(f),V=new bl,$e=Rr(Te,0);$e.b!=$e.d.c;)Me=l(Br($e),8),ui(V,new Eo(Me));rt(J,qLe,V)}return J}function YIn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi,ws;for(an=0,Bn=0,St=new Pr,Ze=l(fh(vy(fc(new bn(null,new kn(e.b,16)),new Jte),new sne)),17).a+1,cn=We(Vr,di,28,Ze,15,1),te=We(Vr,di,28,Ze,15,1),J=0;J1)for(g=ur+1;gE.b.e.b*(1-fe)+E.c.e.b*fe));V++);if(ot.gc()>0&&(oi=E.a.b==0?Ja(E.b.e):l(o0(E.a),8),Me=Oi(Ja(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),B=Oi(Ja(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&oi.b>Me.b&&E.c.e.b>Me.b||V<=0&&oi.bE.b.e.a*(1-fe)+E.c.e.a*fe));V++);if(ot.gc()>0&&(oi=E.a.b==0?Ja(E.b.e):l(o0(E.a),8),Me=Oi(Ja(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),B=Oi(Ja(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&oi.a>Me.a&&E.c.e.a>Me.a||V<=0&&oi.a=ze(Ge(Q(e,(Qi(),iIe))))&&++Bn):(z.f&&z.d.e.a<=ze(Ge(Q(e,(Qi(),Bde))))&&++an,z.g&&z.c.e.a+z.c.f.a>=ze(Ge(Q(e,(Qi(),rIe))))&&++Bn)}else $e==0?b9e(E):$e<0&&(++cn[ur],++te[ws],jn=VIn(E,t,e,new ca(pt(an),pt(Bn)),n,r,new ca(pt(te[ws]),pt(cn[ur]))),an=l(jn.a,17).a,Bn=l(jn.b,17).a)}function XIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;if(r=t,w=n,e.b&&r.j==(Ct(),er)&&w.j==(Ct(),er)&&(Te=r,r=w,w=Te),Hu(e.a,r)){if(W0(l(cr(e.a,r),49),w))return 1}else ki(e.a,r,new Ks);if(Hu(e.a,w)){if(W0(l(cr(e.a,w),49),r))return-1}else ki(e.a,w,new Ks);if(Hu(e.d,r)){if(W0(l(cr(e.d,r),49),w))return-1}else ki(e.d,r,new Ks);if(Hu(e.d,w)){if(W0(l(cr(e.a,w),49),r))return 1}else ki(e.d,w,new Ks);if(r.j!=w.j)return fe=Rln(r.j,w.j),fe==-1?df(e,w,r):df(e,r,w),fe;if(r.e.c.length!=0&&w.e.c.length!=0){if(e.b&&(fe=j0t(r,w),fe!=0))return fe==-1?df(e,w,r):fe==1&&df(e,r,w),fe;if(o=l(jt(r.e,0),18).c.i,C=l(jt(w.e,0),18).c.i,o==C)return a=l(Q(l(jt(r.e,0),18),(ft(),Ki)),17).a,E=l(Q(l(jt(w.e,0),18),Ki),17).a,a>E?df(e,r,w):df(e,w,r),aE?1:0;for(V=e.c,J=0,te=V.length;JE?df(e,r,w):df(e,w,r),aE?1:0):e.b&&(fe=j0t(r,w),fe!=0)?(fe==-1?df(e,w,r):fe==1&&df(e,r,w),fe):(f=0,L=0,ns(l(jt(r.g,0),18),Ki)&&(f=l(Q(l(jt(r.g,0),18),Ki),17).a),ns(l(jt(w.g,0),18),Ki)&&(L=l(Q(l(jt(r.g,0),18),Ki),17).a),g&&g==B?Rt(Bt(Q(l(jt(r.g,0),18),W1)))&&!Rt(Bt(Q(l(jt(w.g,0),18),W1)))?(df(e,r,w),1):!Rt(Bt(Q(l(jt(r.g,0),18),W1)))&&Rt(Bt(Q(l(jt(w.g,0),18),W1)))?(df(e,w,r),-1):(f>L?df(e,r,w):df(e,w,r),fL?1:0):(e.f&&(e.f._b(g)&&(f=l(e.f.xc(g),17).a),e.f._b(B)&&(L=l(e.f.xc(B),17).a)),f>L?df(e,r,w):df(e,w,r),fL?1:0))):r.e.c.length!=0&&w.g.c.length!=0?(df(e,r,w),1):r.g.c.length!=0&&w.e.c.length!=0?(df(e,w,r),-1):ns(r,(ft(),Ki))&&ns(w,Ki)?(a=l(Q(r,Ki),17).a,E=l(Q(w,Ki),17).a,a>E?df(e,r,w):df(e,w,r),aE?1:0):(df(e,w,r),-1)}function QIn(e){e.gb||(e.gb=!0,e.b=qc(e,0),Ss(e.b,18),is(e.b,19),e.a=qc(e,1),Ss(e.a,1),is(e.a,2),is(e.a,3),is(e.a,4),is(e.a,5),e.o=qc(e,2),Ss(e.o,8),Ss(e.o,9),is(e.o,10),is(e.o,11),is(e.o,12),is(e.o,13),is(e.o,14),is(e.o,15),is(e.o,16),is(e.o,17),is(e.o,18),is(e.o,19),is(e.o,20),is(e.o,21),is(e.o,22),is(e.o,23),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),e.p=qc(e,3),Ss(e.p,2),Ss(e.p,3),Ss(e.p,4),Ss(e.p,5),is(e.p,6),is(e.p,7),sc(e.p),sc(e.p),e.q=qc(e,4),Ss(e.q,8),e.v=qc(e,5),is(e.v,9),sc(e.v),sc(e.v),sc(e.v),e.w=qc(e,6),Ss(e.w,2),Ss(e.w,3),Ss(e.w,4),is(e.w,5),e.B=qc(e,7),is(e.B,1),sc(e.B),sc(e.B),sc(e.B),e.Q=qc(e,8),is(e.Q,0),sc(e.Q),e.R=qc(e,9),Ss(e.R,1),e.S=qc(e,10),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),e.T=qc(e,11),is(e.T,10),is(e.T,11),is(e.T,12),is(e.T,13),is(e.T,14),sc(e.T),sc(e.T),e.U=qc(e,12),Ss(e.U,2),Ss(e.U,3),is(e.U,4),is(e.U,5),is(e.U,6),is(e.U,7),sc(e.U),e.V=qc(e,13),is(e.V,10),e.W=qc(e,14),Ss(e.W,18),Ss(e.W,19),Ss(e.W,20),is(e.W,21),is(e.W,22),is(e.W,23),e.bb=qc(e,15),Ss(e.bb,10),Ss(e.bb,11),Ss(e.bb,12),Ss(e.bb,13),Ss(e.bb,14),Ss(e.bb,15),Ss(e.bb,16),is(e.bb,17),sc(e.bb),sc(e.bb),e.eb=qc(e,16),Ss(e.eb,2),Ss(e.eb,3),Ss(e.eb,4),Ss(e.eb,5),Ss(e.eb,6),Ss(e.eb,7),is(e.eb,8),is(e.eb,9),e.ab=qc(e,17),Ss(e.ab,0),Ss(e.ab,1),e.H=qc(e,18),is(e.H,0),is(e.H,1),is(e.H,2),is(e.H,3),is(e.H,4),is(e.H,5),sc(e.H),e.db=qc(e,19),is(e.db,2),e.c=Ti(e,20),e.d=Ti(e,21),e.e=Ti(e,22),e.f=Ti(e,23),e.i=Ti(e,24),e.g=Ti(e,25),e.j=Ti(e,26),e.k=Ti(e,27),e.n=Ti(e,28),e.r=Ti(e,29),e.s=Ti(e,30),e.t=Ti(e,31),e.u=Ti(e,32),e.fb=Ti(e,33),e.A=Ti(e,34),e.C=Ti(e,35),e.D=Ti(e,36),e.F=Ti(e,37),e.G=Ti(e,38),e.I=Ti(e,39),e.J=Ti(e,40),e.L=Ti(e,41),e.M=Ti(e,42),e.N=Ti(e,43),e.O=Ti(e,44),e.P=Ti(e,45),e.X=Ti(e,46),e.Y=Ti(e,47),e.Z=Ti(e,48),e.$=Ti(e,49),e._=Ti(e,50),e.cb=Ti(e,51),e.K=Ti(e,52))}function JIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur;for(f=new os,ot=l(Q(n,(Nt(),Rh)),88),J=0,Ka(f,(!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));f.b!=0;)C=l(f.b==0?null:(mr(f.b!=0),af(f,f.a.a)),27),E=ds(C),(qe(at(E,yg))!==qe((Ed(),E2))||qe(at(E,dv))===qe((l2(),BT))||qe(at(E,dv))===qe((l2(),PT))||Rt(Bt(at(E,f3)))||qe(at(E,g4))!==qe((Km(),c4))||qe(at(E,zb))===qe((Nf(),v3))||qe(at(E,zb))===qe((Nf(),x4))||qe(at(E,pv))===qe((p2(),WT))||qe(at(E,pv))===qe((p2(),YT)))&&!Rt(Bt(at(C,fW)))&&Hi(C,(ft(),Ki),pt(J++)),fe=!Rt(Bt(at(C,mv))),fe&&(B=(!C.a&&(C.a=new nt(Ai,C,10,11)),C.a).i!=0,V=_xn(C),z=qe(at(C,p4))===qe((rp(),A2)),ur=!P1(C,(pi(),eC))||Sut(ei(at(C,eC))),$e=null,ur&&z&&(B||V)&&($e=Pmt(C),rt($e,Rh,ot),ns($e,CB)&&NJe(new D8e(ze(Ge(Q($e,CB)))),$e),l(at(C,bv),181).gc()!=0&&(L=$e,Is(new bn(null,(!C.c&&(C.c=new nt(Hl,C,9,9)),new kn(C.c,16))),new zWe(L)),_bt(C,$e))),St=n,cn=l(cr(e.a,ds(C)),10),cn&&(St=cn.e),Me=cwt(e,C,St),$e&&(Me.e=$e,$e.e=Me,Ka(f,(!C.a&&(C.a=new nt(Ai,C,10,11)),C.a))));for(J=0,Cs(f,t,f.c.b,f.c);f.b!=0;){for(o=l(f.b==0?null:(mr(f.b!=0),af(f,f.a.a)),27),w=new or((!o.b&&(o.b=new nt(js,o,12,3)),o.b));w.e!=w.i.gc();)g=l(gr(w),74),emt(g),(qe(at(t,yg))!==qe((Ed(),E2))||qe(at(t,dv))===qe((l2(),BT))||qe(at(t,dv))===qe((l2(),PT))||Rt(Bt(at(t,f3)))||qe(at(t,g4))!==qe((Km(),c4))||qe(at(t,zb))===qe((Nf(),v3))||qe(at(t,zb))===qe((Nf(),x4))||qe(at(t,pv))===qe((p2(),WT))||qe(at(t,pv))===qe((p2(),YT)))&&Hi(g,(ft(),Ki),pt(J++)),Bn=bc(l(Oe((!g.b&&(g.b=new Ln(_r,g,4,7)),g.b),0),84)),jn=bc(l(Oe((!g.c&&(g.c=new Ln(_r,g,5,8)),g.c),0),84)),!(Rt(Bt(at(g,mv)))||Rt(Bt(at(Bn,mv)))||Rt(Bt(at(jn,mv))))&&(te=qw(g)&&Rt(Bt(at(Bn,b4)))&&Rt(Bt(at(g,gv))),Ze=o,te||Ly(jn,Bn)?Ze=Bn:Ly(Bn,jn)&&(Ze=jn),St=n,cn=l(cr(e.a,Ze),10),cn&&(St=cn.e),Te=Wke(e,g,Ze,St),rt(Te,(ft(),RLe),JCn(e,g,t,n)));if(z=qe(at(o,p4))===qe((rp(),A2)),z)for(a=new or((!o.a&&(o.a=new nt(Ai,o,10,11)),o.a));a.e!=a.i.gc();)r=l(gr(a),27),ur=!P1(r,(pi(),eC))||Sut(ei(at(r,eC))),an=qe(at(r,p4))===qe(A2),ur&&an&&Cs(f,r,f.c.b,f.c)}}function ft(){ft=U;var e,t;zi=new Ui(NEe),RLe=new Ui("coordinateOrigin"),K1e=new Ui("processors"),FLe=new vs("compoundNode",(Hn(),!1)),xB=new vs("insideConnections",!1),qLe=new Ui("originalBendpoints"),HLe=new Ui("originalDummyNodePosition"),VLe=new Ui("originalLabelEdge"),WL=new Ui("representedLabels"),KL=new Ui("endLabels"),Kx=new Ui("endLabel.origin"),Yx=new vs("labelSide",(Ih(),eF)),R6=new vs("maxEdgeThickness",0),W1=new vs("reversed",!1),Xx=new Ui(C3t),o1=new vs("longEdgeSource",null),$f=new vs("longEdgeTarget",null),f4=new vs("longEdgeHasLabelDummies",!1),kB=new vs("longEdgeBeforeLabelDummy",!1),sW=new vs("edgeConstraint",(Vm(),M1e)),u3=new Ui("inLayerLayoutUnit"),hv=new vs("inLayerConstraint",(ep(),wB)),Wx=new vs("inLayerSuccessorConstraint",new bt),zLe=new vs("inLayerSuccessorConstraintBetweenNonDummies",!1),jl=new Ui("portDummy"),iW=new vs("crossingHint",pt(0)),Lu=new vs("graphProperties",(t=l(K0(F1e),9),new Zh(t,l(c0(t,t.length),9),0))),Wc=new vs("externalPortSide",(Ct(),Pc)),$Le=new vs("externalPortSize",new qa),q1e=new Ui("externalPortReplacedDummies"),aW=new Ui("externalPortReplacedDummy"),pp=new vs("externalPortConnections",(e=l(K0(Oo),9),new Zh(e,l(c0(e,e.length),9),0))),l3=new vs(b3t,0),BLe=new Ui("barycenterAssociates"),Qx=new Ui("TopSideComments"),Gx=new Ui("BottomSideComments"),rW=new Ui("CommentConnectionPort"),V1e=new vs("inputCollect",!1),G1e=new vs("outputCollect",!1),yB=new vs("cyclic",!1),jLe=new Ui("crossHierarchyMap"),Y1e=new Ui("targetOffset"),new vs("splineLabelSize",new qa),$6=new Ui("spacings"),oW=new vs("partitionConstraint",!1),c3=new Ui("breakingPoint.info"),KLe=new Ui("splines.survivingEdge"),fv=new Ui("splines.route.start"),z6=new Ui("splines.edgeChain"),GLe=new Ui("originalPortConstraints"),h3=new Ui("selfLoopHolder"),zT=new Ui("splines.nsPortY"),Ki=new Ui("modelOrder"),U1e=new Ui("longEdgeTargetNode"),jb=new vs(Q3t,!1),j6=new vs(Q3t,!1),H1e=new Ui("layerConstraints.hiddenNodes"),ULe=new Ui("layerConstraints.opposidePort"),W1e=new Ui("targetNode.modelOrder")}function ZIn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V;for(L=Rr(e.b,0);L.b!=L.d.c;)if(C=l(Br(L),40),!vn(C.c,DG))for(o=l(yc(new bn(null,new kn(cEn(C,e),16)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),t==(Js(),uc)||t==vc?o.jd(new nne):o.jd(new o$),V=o.gc(),a=0;a0&&(g=l(o0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(o0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-B)/40)>50&&(z>w?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f-r/2)):ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f+r/2)))),ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a,C.e.b+C.f.b*f))):t==vc?(E=ze(Ge(Q(C,(Qi(),c1)))),C.e.a-r>E?ko(l(o.Xb(a),65).a,new lt(E-n,C.e.b+C.f.b*f)):l(o.Xb(a),65).a.b>0&&(g=l(o0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(o0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-B)/40)>50&&(z>w?ko(l(o.Xb(a),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f-r/2)):ko(l(o.Xb(a),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f+r/2)))),ko(l(o.Xb(a),65).a,new lt(C.e.a,C.e.b+C.f.b*f))):t==wf?(E=ze(Ge(Q(C,(Qi(),k0)))),C.e.b+C.f.b+r0&&(g=l(o0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(o0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-B)/(b.Math.abs(w-z)/40)>50&&(B>g?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b+r/5.3+C.f.b)):ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b+r/5.3+C.f.b)))),ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,C.e.b+C.f.b))):(E=ze(Ge(Q(C,(Qi(),c1)))),C0t(l(o.Xb(a),65),e)?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,l(o0(l(o.Xb(a),65).a),8).b)):C.e.b-r>E?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,E-n)):l(o.Xb(a),65).a.b>0&&(g=l(o0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(o0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-B)/(b.Math.abs(w-z)/40)>50&&(B>g?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b-r/5.3)):ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b-r/5.3)))),ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,C.e.b)))}function pi(){pi=U;var e,t;eC=new Ui(Byt),a7=new Ui(Fyt),eNe=(og(),Sge),ASt=new pn(qTe,eNe),Z6=new pn(Ox,null),LSt=new Ui(tSe),nNe=(Ym(),rs(Lge,he(le(Mge,1),it,298,0,[Age]))),UB=new pn(SG,nNe),GB=new pn(VP,(Hn(),!1)),rNe=(Js(),J1),xv=new pn(gfe,rNe),aNe=(ip(),Hge),sNe=new pn(HP,aNe),ISt=new pn(ZCe,!1),uNe=(rp(),oY),n7=new pn(CG,uNe),vNe=new lw(12),_2=new pn(Xw,vNe),WB=new pn(hL,!1),Nge=new pn(AG,!1),YB=new pn(fL,!1),ENe=(Ra(),Wb),_M=new pn(Nhe,ENe),n9=new Ui(_G),XB=new Ui(NP),zge=new Ui(oG),qge=new Ui(lL),lNe=new bl,x3=new pn(ZTe,lNe),DSt=new pn(nCe,!1),OSt=new pn(rCe,!1),hNe=new s_,tC=new pn(sCe,hNe),rY=new pn($Te,!1),FSt=new pn(Ryt,1),t7=new Ui(jyt),e7=new Ui($yt),AM=new pn(PP,!1),new pn(zyt,!0),pt(0),new pn(qyt,pt(100)),new pn(Hyt,!1),pt(0),new pn(Vyt,pt(4e3)),pt(0),new pn(Uyt,pt(400)),new pn(Gyt,!1),new pn(Kyt,!1),new pn(Wyt,!0),new pn(Yyt,!1),tNe=(VV(),Kge),MSt=new pn(eSe,tNe),RSt=new pn(LTe,10),jSt=new pn(MTe,10),_Ne=new pn(_he,20),$St=new pn(DTe,10),ANe=new pn(Ohe,2),LNe=new pn(dfe,10),MNe=new pn(ITe,0),iY=new pn(PTe,5),DNe=new pn(OTe,1),INe=new pn(NTe,1),Ev=new pn(Jy,20),zSt=new pn(BTe,10),PNe=new pn(FTe,10),r9=new Ui(RTe),NNe=new nnt,ONe=new pn(aCe,NNe),PSt=new Ui(bfe),wNe=!1,NSt=new pn(pfe,wNe),dNe=new lw(5),fNe=new pn(UTe,dNe),gNe=(qy(),t=l(K0(Ko),9),new Zh(t,l(c0(t,t.length),9),0)),r7=new pn(fT,gNe),xNe=(t6(),Kb),yNe=new pn(WTe,xNe),Bge=new Ui(YTe),Fge=new Ui(XTe),Rge=new Ui(QTe),Pge=new Ui(JTe),pNe=(e=l(K0(BM),9),new Zh(e,l(c0(e,e.length),9),0)),kv=new pn(x6,pNe),mNe=un((Zl(),aC)),Ub=new pn(Nx,mNe),bNe=new lt(0,0),i7=new pn(Px,bNe),C4=new pn(hT,!1),iNe=(F1(),nC),Ige=new pn(eCe,iNe),Dge=new pn(cG,!1),pt(1),new pn(Xyt,null),kNe=new Ui(iCe),jge=new Ui(tCe),SNe=(Ct(),Pc),s7=new pn(zTe,SNe),rh=new Ui(jTe),TNe=(Rl(),un(Yb)),S4=new pn(dT,TNe),$ge=new pn(GTe,!1),CNe=new pn(KTe,!0),aY=new pn(BP,1),BNe=new pn(nSe,null),QB=new pn(FP,150),sY=new pn(RP,1.414),i9=new pn(Qw,null),qSt=new pn(rSe,1),KB=new pn(HTe,!1),Oge=new pn(VTe,!1),oNe=new pn(Ahe,1),cNe=(vU(),Uge),new pn(Qyt,cNe),BSt=!0,VSt=(dx(),L4),USt=L4,HSt=L4}function vo(){vo=U,PAe=new Ws("DIRECTION_PREPROCESSOR",0),IAe=new Ws("COMMENT_PREPROCESSOR",1),D6=new Ws("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),f1e=new Ws("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),eLe=new Ws("PARTITION_PREPROCESSOR",4),DK=new Ws("LABEL_DUMMY_INSERTER",5),zK=new Ws("SELF_LOOP_PREPROCESSOR",6),l4=new Ws("LAYER_CONSTRAINT_PREPROCESSOR",7),JAe=new Ws("PARTITION_MIDPROCESSOR",8),HAe=new Ws("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),XAe=new Ws("NODE_PROMOTION",10),u4=new Ws("LAYER_CONSTRAINT_POSTPROCESSOR",11),ZAe=new Ws("PARTITION_POSTPROCESSOR",12),$Ae=new Ws("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),tLe=new Ws("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),SAe=new Ws("BREAKING_POINT_INSERTER",15),PK=new Ws("LONG_EDGE_SPLITTER",16),d1e=new Ws("PORT_SIDE_PROCESSOR",17),LK=new Ws("INVERTED_PORT_PROCESSOR",18),RK=new Ws("PORT_LIST_SORTER",19),rLe=new Ws("SORT_BY_INPUT_ORDER_OF_MODEL",20),FK=new Ws("NORTH_SOUTH_PORT_PREPROCESSOR",21),_Ae=new Ws("BREAKING_POINT_PROCESSOR",22),QAe=new Ws(H3t,23),iLe=new Ws(V3t,24),jK=new Ws("SELF_LOOP_PORT_RESTORER",25),nLe=new Ws("SINGLE_EDGE_GRAPH_WRAPPER",26),MK=new Ws("IN_LAYER_CONSTRAINT_PROCESSOR",27),FAe=new Ws("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),WAe=new Ws("LABEL_AND_NODE_SIZE_PROCESSOR",29),KAe=new Ws("INNERMOST_NODE_MARGIN_CALCULATOR",30),qK=new Ws("SELF_LOOP_ROUTER",31),MAe=new Ws("COMMENT_NODE_MARGIN_CALCULATOR",32),AK=new Ws("END_LABEL_PREPROCESSOR",33),OK=new Ws("LABEL_DUMMY_SWITCHER",34),LAe=new Ws("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),LT=new Ws("LABEL_SIDE_SELECTOR",36),UAe=new Ws("HYPEREDGE_DUMMY_MERGER",37),zAe=new Ws("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),YAe=new Ws("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),zL=new Ws("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),OAe=new Ws("CONSTRAINTS_POSTPROCESSOR",41),DAe=new Ws("COMMENT_POSTPROCESSOR",42),GAe=new Ws("HYPERNODE_PROCESSOR",43),qAe=new Ws("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),NK=new Ws("LONG_EDGE_JOINER",45),$K=new Ws("SELF_LOOP_POSTPROCESSOR",46),AAe=new Ws("BREAKING_POINT_REMOVER",47),BK=new Ws("NORTH_SOUTH_PORT_POSTPROCESSOR",48),VAe=new Ws("HORIZONTAL_COMPACTOR",49),IK=new Ws("LABEL_DUMMY_REMOVER",50),RAe=new Ws("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),BAe=new Ws("END_LABEL_SORTER",52),gB=new Ws("REVERSED_EDGE_RESTORER",53),_K=new Ws("END_LABEL_POSTPROCESSOR",54),jAe=new Ws("HIERARCHICAL_NODE_RESIZER",55),NAe=new Ws("DIRECTION_POSTPROCESSOR",56)}function Yke(){Yke=U,iMe=(pN(),XK),r9t=new pn(VEe,iMe),p9t=new pn(UEe,(Hn(),!1)),lMe=(zH(),z1e),y9t=new pn(fG,lMe),P9t=new pn(GEe,!1),B9t=new pn(KEe,!0),Lxt=new pn(WEe,!1),vMe=(dN(),kde),Q9t=new pn(YEe,vMe),pt(1),skt=new pn(XEe,pt(7)),akt=new pn(QEe,!1),b9t=new pn(JEe,!1),rMe=(l2(),A1e),n9t=new pn(zhe,rMe),dMe=(p2(),gde),N9t=new pn(qP,dMe),hMe=(hf(),EB),S9t=new pn(ZEe,hMe),pt(-1),C9t=new pn(eTe,null),pt(-1),_9t=new pn(tTe,pt(-1)),pt(-1),A9t=new pn(qhe,pt(4)),pt(-1),M9t=new pn(Hhe,pt(2)),fMe=(Nf(),AW),O9t=new pn(Vhe,fMe),pt(0),I9t=new pn(Uhe,pt(0)),E9t=new pn(Ghe,pt(Ii)),nMe=(dA(),HL),t9t=new pn(pL,nMe),$xt=new pn(nTe,!1),Kxt=new pn(Khe,.1),Zxt=new pn(Whe,!1),Yxt=new pn(rTe,null),Xxt=new pn(iTe,null),pt(-1),Qxt=new pn(sTe,null),pt(-1),Jxt=new pn(aTe,pt(-1)),pt(0),zxt=new pn(oTe,pt(40)),tMe=(vE(),j1e),Uxt=new pn(Yhe,tMe),eMe=vB,qxt=new pn(dG,eMe),mMe=(OA(),rM),X9t=new pn(k6,mMe),z9t=new Ui(gG),gMe=(cN(),JK),F9t=new pn(Xhe,gMe),pMe=(WN(),ZK),j9t=new pn(Qhe,pMe),V9t=new pn(Jhe,.3),G9t=new Ui(Zhe),bMe=(By(),_W),K9t=new pn(efe,bMe),oMe=(LV(),Tde),c9t=new pn(cTe,oMe),cMe=(yA(),Sde),u9t=new pn(uTe,cMe),uMe=(SE(),aM),l9t=new pn(pG,uMe),f9t=new pn(bG,.2),a9t=new pn(tfe,2),tkt=new pn(lTe,null),rkt=new pn(hTe,10),nkt=new pn(fTe,10),ikt=new pn(dTe,20),pt(0),J9t=new pn(gTe,pt(0)),pt(0),Z9t=new pn(pTe,pt(0)),pt(0),ekt=new pn(bTe,pt(0)),Mxt=new pn(nfe,!1),XLe=(zE(),VL),Ixt=new pn(mTe,XLe),YLe=(JH(),S1e),Dxt=new pn(vTe,YLe),v9t=new pn(mG,!1),pt(0),m9t=new pn(rfe,pt(16)),pt(0),w9t=new pn(ife,pt(5)),xMe=(OV(),Lde),Skt=new pn(fp,xMe),okt=new pn(vG,10),lkt=new pn(wG,1),yMe=(pV(),YK),mkt=new pn(bL,yMe),dkt=new Ui(sfe),wMe=pt(1),pt(0),pkt=new pn(afe,wMe),kMe=(gV(),Ade),Mkt=new pn(yG,kMe),_kt=new Ui(xG),kkt=new pn(kG,!0),ykt=new pn(EG,2),Tkt=new pn(ofe,!0),aMe=(yU(),QK),s9t=new pn(wTe,aMe),sMe=(yx(),OT),i9t=new pn(yTe,sMe),ZLe=(Ed(),E2),jxt=new pn(TG,ZLe),Rxt=new pn(xTe,!1),Fxt=new pn(kTe,!1),QLe=(Km(),c4),Oxt=new pn(cfe,QLe),JLe=(EA(),pde),Bxt=new pn(ETe,JLe),Nxt=new pn(ufe,0),Pxt=new pn(lfe,0),k9t=L1e,x9t=mB,L9t=CW,D9t=CW,T9t=dde,Wxt=(rp(),A2),e9t=HL,Gxt=HL,Hxt=HL,Vxt=A2,q9t=iM,H9t=rM,R9t=rM,$9t=rM,U9t=wde,Y9t=iM,W9t=iM,h9t=(ip(),s9),d9t=s9,g9t=aM,o9t=JB,ckt=XT,ukt=k4,hkt=XT,fkt=k4,vkt=XT,wkt=k4,gkt=_1e,bkt=YK,Dkt=XT,Ikt=k4,Akt=XT,Lkt=k4,Ekt=k4,xkt=k4,Ckt=k4}function eOn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi,ws,Vl,lc,Hh,f7,P2,L0,M0,_v,h9,rm,f9,qd,_g,S3,d9,d7,Hd,Av,yp,IAt,sBe,_3,YM,lpe,g9,XM,F4,QM,hpe,OAt;for(sBe=0,oi=t,lc=0,P2=oi.length;lc0&&(e.a[qd.p]=sBe++)}for(XM=0,ws=n,Hh=0,L0=ws.length;Hh0;){for(qd=(mr(d7.b>0),l(d7.a.Xb(d7.c=--d7.b),12)),d9=0,g=new G(qd.e);g.a0&&(qd.j==(Ct(),Qn)?(e.a[qd.p]=XM,++XM):(e.a[qd.p]=XM+M0+h9,++h9))}XM+=h9}for(S3=new Pr,V=new bd,ur=t,Vl=0,f7=ur.length;VlE.b&&(E.b=Hd)):qd.i.c==IAt&&(HdE.c&&(E.c=Hd));for(nE(J,0,J.length,null),g9=We(Vr,di,28,J.length,15,1),r=We(Vr,di,28,XM+1,15,1),fe=0;fe0;)St%2>0&&(a+=hpe[St+1]),St=(St-1)/2|0,++hpe[St];for(an=We(MEt,Rn,374,J.length*2,0,1),$e=0;$e0&&GO(Vl.f),at(fe,BNe)!=null&&(g=l(at(fe,BNe),347),S3=g.Tg(fe),F5(fe,b.Math.max(fe.g,S3.a),b.Math.max(fe.f,S3.b)));if(L0=l(at(t,_2),107),z=t.g-(L0.b+L0.c),B=t.f-(L0.d+L0.a),Hd.bh("Available Child Area: ("+z+"|"+B+")"),Hi(t,Z6,z/B),sdt(t,a,r.eh(f7)),l(at(t,i9),280)==dY&&(Uke(t),F5(t,L0.b+ze(Ge(at(t,t7)))+L0.c,L0.d+ze(Ge(at(t,e7)))+L0.a)),Hd.bh("Executed layout algorithm: "+ei(at(t,eC))+" on node "+t.k),l(at(t,i9),280)==L4){if(z<0||B<0)throw ue(new Vp("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+t.k));for(P1(t,t7)||P1(t,e7)||Uke(t),J=ze(Ge(at(t,t7))),V=ze(Ge(at(t,e7))),Hd.bh("Desired Child Area: ("+J+"|"+V+")"),_v=z/J,h9=B/V,M0=b.Math.min(_v,b.Math.min(h9,ze(Ge(at(t,qSt))))),Hi(t,aY,M0),Hd.bh(t.k+" -- Local Scale Factor (X|Y): ("+_v+"|"+h9+")"),$e=l(at(t,UB),21),o=0,f=0,M0<_v&&($e.Hc((Ym(),EM))?o=(z/2-J*M0/2)/M0:$e.Hc(TM)&&(o=(z-J*M0)/M0)),M0'?":vn(L4t,e)?"'(?<' or '(? toIndex: ",fEe=", toIndex: ",dEe="Index: ",gEe=", Size: ",oT="org.eclipse.elk.alg.common",ii={50:1},Jwt="org.eclipse.elk.alg.common.compaction",Zwt="Scanline/EventHandler",gg="org.eclipse.elk.alg.common.compaction.oned",e3t="CNode belongs to another CGroup.",t3t="ISpacingsHandler/1",phe="The ",bhe=" instance has been finished already.",n3t="The direction ",r3t=" is not supported by the CGraph instance.",i3t="OneDimensionalCompactor",s3t="OneDimensionalCompactor/lambda$0$Type",a3t="Quadruplet",o3t="ScanlineConstraintCalculator",c3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler",u3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",l3t="ScanlineConstraintCalculator/Timestamp",h3t="ScanlineConstraintCalculator/lambda$0$Type",Ld={178:1,46:1},mhe="org.eclipse.elk.alg.common.compaction.options",Nc="org.eclipse.elk.core.data",pEe="org.eclipse.elk.polyomino.traversalStrategy",bEe="org.eclipse.elk.polyomino.lowLevelSort",mEe="org.eclipse.elk.polyomino.highLevelSort",vEe="org.eclipse.elk.polyomino.fill",Pf={134:1},vhe="polyomino",oL="org.eclipse.elk.alg.common.networksimplex",pg={183:1,3:1,4:1},f3t="org.eclipse.elk.alg.common.nodespacing",ev="org.eclipse.elk.alg.common.nodespacing.cellsystem",cT="CENTER",d3t={217:1,336:1},wEe={3:1,4:1,5:1,603:1},Mx="LEFT",Dx="RIGHT",yEe="Vertical alignment cannot be null",xEe="BOTTOM",tG="org.eclipse.elk.alg.common.nodespacing.internal",cL="UNDEFINED",H1=.01,DP="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",g3t="LabelPlacer/lambda$0$Type",p3t="LabelPlacer/lambda$1$Type",b3t="portRatioOrPosition",uT="org.eclipse.elk.alg.common.overlaps",whe="DOWN",Md="org.eclipse.elk.alg.common.polyomino",nG="NORTH",yhe="EAST",xhe="SOUTH",khe="WEST",rG="org.eclipse.elk.alg.common.polyomino.structures",kEe="Direction",Ehe="Grid is only of size ",The=". Requested point (",Che=") is out of bounds.",iG=" Given center based coordinates were (",IP="org.eclipse.elk.graph.properties",m3t="IPropertyHolder",EEe={3:1,96:1,137:1},Ix="org.eclipse.elk.alg.common.spore",v3t="org.eclipse.elk.alg.common.utils",tv={205:1},v6="org.eclipse.elk.core",w3t="Connected Components Compaction",y3t="org.eclipse.elk.alg.disco",sG="org.eclipse.elk.alg.disco.graph",She="org.eclipse.elk.alg.disco.options",TEe="CompactionStrategy",CEe="org.eclipse.elk.disco.componentCompaction.strategy",SEe="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",_Ee="org.eclipse.elk.disco.debug.discoGraph",AEe="org.eclipse.elk.disco.debug.discoPolys",x3t="componentCompaction",nv="org.eclipse.elk.disco",_he="org.eclipse.elk.spacing.componentComponent",Ahe="org.eclipse.elk.edge.thickness",Ox="org.eclipse.elk.aspectRatio",Xw="org.eclipse.elk.padding",w6="org.eclipse.elk.alg.disco.transform",Lhe=1.5707963267948966,y6=17976931348623157e292,Qy={3:1,4:1,5:1,198:1},k3t={3:1,6:1,4:1,5:1,100:1,115:1},Mhe="org.eclipse.elk.alg.force",LEe="ComponentsProcessor",E3t="ComponentsProcessor/1",MEe="ElkGraphImporter/lambda$0$Type",OP="org.eclipse.elk.alg.force.graph",T3t="Component Layout",DEe="org.eclipse.elk.alg.force.model",aG="org.eclipse.elk.force.model",IEe="org.eclipse.elk.force.iterations",OEe="org.eclipse.elk.force.repulsivePower",Dhe="org.eclipse.elk.force.temperature",Dd=.001,Ihe="org.eclipse.elk.force.repulsion",uL="org.eclipse.elk.alg.force.options",lT=1.600000023841858,Yu="org.eclipse.elk.force",NP="org.eclipse.elk.priority",Jy="org.eclipse.elk.spacing.nodeNode",Ohe="org.eclipse.elk.spacing.edgeLabel",oG="org.eclipse.elk.randomSeed",lL="org.eclipse.elk.separateConnectedComponents",hL="org.eclipse.elk.interactive",Nhe="org.eclipse.elk.portConstraints",cG="org.eclipse.elk.edgeLabels.inline",fL="org.eclipse.elk.omitNodeMicroLayout",hT="org.eclipse.elk.nodeSize.fixedGraphSize",Nx="org.eclipse.elk.nodeSize.options",x6="org.eclipse.elk.nodeSize.constraints",fT="org.eclipse.elk.nodeLabels.placement",dT="org.eclipse.elk.portLabels.placement",PP="org.eclipse.elk.topdownLayout",BP="org.eclipse.elk.topdown.scaleFactor",FP="org.eclipse.elk.topdown.hierarchicalNodeWidth",RP="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",Qw="org.eclipse.elk.topdown.nodeType",NEe="origin",C3t="random",S3t="boundingBox.upLeft",_3t="boundingBox.lowRight",PEe="org.eclipse.elk.stress.fixed",BEe="org.eclipse.elk.stress.desiredEdgeLength",FEe="org.eclipse.elk.stress.dimension",REe="org.eclipse.elk.stress.epsilon",jEe="org.eclipse.elk.stress.iterationLimit",Mb="org.eclipse.elk.stress",A3t="ELK Stress",Px="org.eclipse.elk.nodeSize.minimum",uG="org.eclipse.elk.alg.force.stress",L3t="Layered layout",Bx="org.eclipse.elk.alg.layered",jP="org.eclipse.elk.alg.layered.compaction.components",dL="org.eclipse.elk.alg.layered.compaction.oned",lG="org.eclipse.elk.alg.layered.compaction.oned.algs",rv="org.eclipse.elk.alg.layered.compaction.recthull",V1="org.eclipse.elk.alg.layered.components",Id="NONE",$Ee="MODEL_ORDER",au={3:1,6:1,4:1,9:1,5:1,126:1},M3t={3:1,6:1,4:1,5:1,150:1,100:1,115:1},hG="org.eclipse.elk.alg.layered.compound",ts={47:1},Cu="org.eclipse.elk.alg.layered.graph",Phe=" -> ",D3t="Not supported by LGraph",zEe="Port side is undefined",Bhe={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},m2={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},I3t={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},O3t=`([{"' \r +`,N3t=`)]}"' \r +`,P3t="The given string contains parts that cannot be parsed as numbers.",$P="org.eclipse.elk.core.math",B3t={3:1,4:1,140:1,214:1,423:1},F3t={3:1,4:1,107:1,214:1,423:1},v2="org.eclipse.elk.alg.layered.graph.transform",R3t="ElkGraphImporter",j3t="ElkGraphImporter/lambda$1$Type",$3t="ElkGraphImporter/lambda$2$Type",z3t="ElkGraphImporter/lambda$4$Type",rr="org.eclipse.elk.alg.layered.intermediate",q3t="Node margin calculation",H3t="ONE_SIDED_GREEDY_SWITCH",V3t="TWO_SIDED_GREEDY_SWITCH",Fhe="No implementation is available for the layout processor ",Rhe="IntermediateProcessorStrategy",jhe="Node '",U3t="FIRST_SEPARATE",G3t="LAST_SEPARATE",K3t="Odd port side processing",aa="org.eclipse.elk.alg.layered.intermediate.compaction",gL="org.eclipse.elk.alg.layered.intermediate.greedyswitch",bg="org.eclipse.elk.alg.layered.p3order.counting",zP={230:1},Fx="org.eclipse.elk.alg.layered.intermediate.loops",Bh="org.eclipse.elk.alg.layered.intermediate.loops.ordering",Db="org.eclipse.elk.alg.layered.intermediate.loops.routing",qEe="org.eclipse.elk.alg.layered.intermediate.preserveorder",Od="org.eclipse.elk.alg.layered.intermediate.wrapping",ou="org.eclipse.elk.alg.layered.options",$he="INTERACTIVE",HEe="GREEDY",W3t="DEPTH_FIRST",Y3t="EDGE_LENGTH",X3t="SELF_LOOPS",Q3t="firstTryWithInitialOrder",VEe="org.eclipse.elk.layered.directionCongruency",UEe="org.eclipse.elk.layered.feedbackEdges",fG="org.eclipse.elk.layered.interactiveReferencePoint",GEe="org.eclipse.elk.layered.mergeEdges",KEe="org.eclipse.elk.layered.mergeHierarchyEdges",WEe="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",YEe="org.eclipse.elk.layered.portSortingStrategy",XEe="org.eclipse.elk.layered.thoroughness",QEe="org.eclipse.elk.layered.unnecessaryBendpoints",JEe="org.eclipse.elk.layered.generatePositionAndLayerIds",zhe="org.eclipse.elk.layered.cycleBreaking.strategy",qP="org.eclipse.elk.layered.layering.strategy",ZEe="org.eclipse.elk.layered.layering.layerConstraint",eTe="org.eclipse.elk.layered.layering.layerChoiceConstraint",tTe="org.eclipse.elk.layered.layering.layerId",qhe="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",Hhe="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",Vhe="org.eclipse.elk.layered.layering.nodePromotion.strategy",Uhe="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",Ghe="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",pL="org.eclipse.elk.layered.crossingMinimization.strategy",nTe="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",Khe="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",Whe="org.eclipse.elk.layered.crossingMinimization.semiInteractive",rTe="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",iTe="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",sTe="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",aTe="org.eclipse.elk.layered.crossingMinimization.positionId",oTe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",Yhe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",dG="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",k6="org.eclipse.elk.layered.nodePlacement.strategy",gG="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",Xhe="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",Qhe="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",Jhe="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",Zhe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",efe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",cTe="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",uTe="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",pG="org.eclipse.elk.layered.edgeRouting.splines.mode",bG="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",tfe="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",lTe="org.eclipse.elk.layered.spacing.baseValue",hTe="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",fTe="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",dTe="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",gTe="org.eclipse.elk.layered.priority.direction",pTe="org.eclipse.elk.layered.priority.shortness",bTe="org.eclipse.elk.layered.priority.straightness",nfe="org.eclipse.elk.layered.compaction.connectedComponents",mTe="org.eclipse.elk.layered.compaction.postCompaction.strategy",vTe="org.eclipse.elk.layered.compaction.postCompaction.constraints",mG="org.eclipse.elk.layered.highDegreeNodes.treatment",rfe="org.eclipse.elk.layered.highDegreeNodes.threshold",ife="org.eclipse.elk.layered.highDegreeNodes.treeHeight",fp="org.eclipse.elk.layered.wrapping.strategy",vG="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",wG="org.eclipse.elk.layered.wrapping.correctionFactor",bL="org.eclipse.elk.layered.wrapping.cutting.strategy",sfe="org.eclipse.elk.layered.wrapping.cutting.cuts",afe="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",yG="org.eclipse.elk.layered.wrapping.validify.strategy",xG="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",kG="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",EG="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",ofe="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",wTe="org.eclipse.elk.layered.edgeLabels.sideSelection",yTe="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",TG="org.eclipse.elk.layered.considerModelOrder.strategy",xTe="org.eclipse.elk.layered.considerModelOrder.portModelOrder",kTe="org.eclipse.elk.layered.considerModelOrder.noModelOrder",cfe="org.eclipse.elk.layered.considerModelOrder.components",ETe="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",ufe="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",lfe="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",hfe="layering",J3t="layering.minWidth",Z3t="layering.nodePromotion",gT="crossingMinimization",CG="org.eclipse.elk.hierarchyHandling",eyt="crossingMinimization.greedySwitch",tyt="nodePlacement",nyt="nodePlacement.bk",ryt="edgeRouting",HP="org.eclipse.elk.edgeRouting",U1="spacing",TTe="priority",CTe="compaction",iyt="compaction.postCompaction",syt="Specifies whether and how post-process compaction is applied.",STe="highDegreeNodes",_Te="wrapping",ayt="wrapping.cutting",oyt="wrapping.validify",ATe="wrapping.multiEdge",ffe="edgeLabels",mL="considerModelOrder",LTe="org.eclipse.elk.spacing.commentComment",MTe="org.eclipse.elk.spacing.commentNode",DTe="org.eclipse.elk.spacing.edgeEdge",dfe="org.eclipse.elk.spacing.edgeNode",ITe="org.eclipse.elk.spacing.labelLabel",OTe="org.eclipse.elk.spacing.labelPortHorizontal",NTe="org.eclipse.elk.spacing.labelPortVertical",PTe="org.eclipse.elk.spacing.labelNode",BTe="org.eclipse.elk.spacing.nodeSelfLoop",FTe="org.eclipse.elk.spacing.portPort",RTe="org.eclipse.elk.spacing.individual",jTe="org.eclipse.elk.port.borderOffset",$Te="org.eclipse.elk.noLayout",zTe="org.eclipse.elk.port.side",VP="org.eclipse.elk.debugMode",qTe="org.eclipse.elk.alignment",HTe="org.eclipse.elk.insideSelfLoops.activate",VTe="org.eclipse.elk.insideSelfLoops.yo",gfe="org.eclipse.elk.direction",UTe="org.eclipse.elk.nodeLabels.padding",GTe="org.eclipse.elk.portLabels.nextToPortIfPossible",KTe="org.eclipse.elk.portLabels.treatAsGroup",WTe="org.eclipse.elk.portAlignment.default",YTe="org.eclipse.elk.portAlignment.north",XTe="org.eclipse.elk.portAlignment.south",QTe="org.eclipse.elk.portAlignment.west",JTe="org.eclipse.elk.portAlignment.east",SG="org.eclipse.elk.contentAlignment",ZTe="org.eclipse.elk.junctionPoints",eCe="org.eclipse.elk.edgeLabels.placement",tCe="org.eclipse.elk.port.index",nCe="org.eclipse.elk.commentBox",rCe="org.eclipse.elk.hypernode",iCe="org.eclipse.elk.port.anchor",pfe="org.eclipse.elk.partitioning.activate",bfe="org.eclipse.elk.partitioning.partition",_G="org.eclipse.elk.position",sCe="org.eclipse.elk.margins",aCe="org.eclipse.elk.spacing.portsSurrounding",AG="org.eclipse.elk.interactiveLayout",Uc="org.eclipse.elk.core.util",oCe={3:1,4:1,5:1,601:1},cyt="NETWORK_SIMPLEX",cCe="SIMPLE",Uo={106:1,47:1},LG="org.eclipse.elk.alg.layered.p1cycles",dp="org.eclipse.elk.alg.layered.p2layers",uCe={413:1,230:1},uyt={846:1,3:1,4:1},Cl="org.eclipse.elk.alg.layered.p3order",Go="org.eclipse.elk.alg.layered.p4nodes",lyt={3:1,4:1,5:1,854:1},Nd=1e-5,Ib="org.eclipse.elk.alg.layered.p4nodes.bk",mfe="org.eclipse.elk.alg.layered.p5edges",i1="org.eclipse.elk.alg.layered.p5edges.orthogonal",vfe="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",wfe=1e-6,Zy="org.eclipse.elk.alg.layered.p5edges.splines",yfe=.09999999999999998,MG=1e-8,hyt=4.71238898038469,lCe=3.141592653589793,gp="org.eclipse.elk.alg.mrtree",xfe=.10000000149011612,DG="SUPER_ROOT",vL="org.eclipse.elk.alg.mrtree.graph",hCe=-17976931348623157e292,Su="org.eclipse.elk.alg.mrtree.intermediate",fyt="Processor compute fanout",IG={3:1,6:1,4:1,5:1,534:1,100:1,115:1},dyt="Set neighbors in level",UP="org.eclipse.elk.alg.mrtree.options",gyt="DESCENDANTS",fCe="org.eclipse.elk.mrtree.compaction",dCe="org.eclipse.elk.mrtree.edgeEndTextureLength",gCe="org.eclipse.elk.mrtree.treeLevel",pCe="org.eclipse.elk.mrtree.positionConstraint",bCe="org.eclipse.elk.mrtree.weighting",mCe="org.eclipse.elk.mrtree.edgeRoutingMode",vCe="org.eclipse.elk.mrtree.searchOrder",pyt="Position Constraint",Xu="org.eclipse.elk.mrtree",byt="org.eclipse.elk.tree",myt="Processor arrange level",pT="org.eclipse.elk.alg.mrtree.p2order",vh="org.eclipse.elk.alg.mrtree.p4route",wCe="org.eclipse.elk.alg.radial",iv=6.283185307179586,yCe="Before",xCe=5e-324,OG="After",kCe="org.eclipse.elk.alg.radial.intermediate",vyt="COMPACTION",kfe="org.eclipse.elk.alg.radial.intermediate.compaction",wyt={3:1,4:1,5:1,100:1},ECe="org.eclipse.elk.alg.radial.intermediate.optimization",Efe="No implementation is available for the layout option ",wL="org.eclipse.elk.alg.radial.options",TCe="org.eclipse.elk.radial.centerOnRoot",CCe="org.eclipse.elk.radial.orderId",SCe="org.eclipse.elk.radial.radius",NG="org.eclipse.elk.radial.rotate",Tfe="org.eclipse.elk.radial.compactor",Cfe="org.eclipse.elk.radial.compactionStepSize",_Ce="org.eclipse.elk.radial.sorter",ACe="org.eclipse.elk.radial.wedgeCriteria",LCe="org.eclipse.elk.radial.optimizationCriteria",Sfe="org.eclipse.elk.radial.rotation.targetAngle",_fe="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",MCe="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",yyt="Compaction",DCe="rotation",gf="org.eclipse.elk.radial",xyt="org.eclipse.elk.alg.radial.p1position.wedge",ICe="org.eclipse.elk.alg.radial.sorting",kyt=5.497787143782138,Eyt=3.9269908169872414,Tyt=2.356194490192345,Cyt="org.eclipse.elk.alg.rectpacking",PG="org.eclipse.elk.alg.rectpacking.intermediate",Afe="org.eclipse.elk.alg.rectpacking.options",OCe="org.eclipse.elk.rectpacking.trybox",NCe="org.eclipse.elk.rectpacking.currentPosition",PCe="org.eclipse.elk.rectpacking.desiredPosition",BCe="org.eclipse.elk.rectpacking.inNewRow",FCe="org.eclipse.elk.rectpacking.widthApproximation.strategy",RCe="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",jCe="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",$Ce="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",zCe="org.eclipse.elk.rectpacking.packing.strategy",qCe="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",HCe="org.eclipse.elk.rectpacking.packing.compaction.iterations",VCe="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",Lfe="widthApproximation",Syt="Compaction Strategy",_yt="packing.compaction",th="org.eclipse.elk.rectpacking",bT="org.eclipse.elk.alg.rectpacking.p1widthapproximation",BG="org.eclipse.elk.alg.rectpacking.p2packing",Ayt="No Compaction",UCe="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",GP="org.eclipse.elk.alg.rectpacking.util",FG="No implementation available for ",e4="org.eclipse.elk.alg.spore",t4="org.eclipse.elk.alg.spore.options",Jw="org.eclipse.elk.sporeCompaction",Mfe="org.eclipse.elk.underlyingLayoutAlgorithm",GCe="org.eclipse.elk.processingOrder.treeConstruction",KCe="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Dfe="org.eclipse.elk.processingOrder.preferredRoot",Ife="org.eclipse.elk.processingOrder.rootSelection",Ofe="org.eclipse.elk.structure.structureExtractionStrategy",WCe="org.eclipse.elk.compaction.compactionStrategy",YCe="org.eclipse.elk.compaction.orthogonal",XCe="org.eclipse.elk.overlapRemoval.maxIterations",QCe="org.eclipse.elk.overlapRemoval.runScanline",Nfe="processingOrder",Lyt="overlapRemoval",mT="org.eclipse.elk.sporeOverlap",Myt="org.eclipse.elk.alg.spore.p1structure",Pfe="org.eclipse.elk.alg.spore.p2processingorder",Bfe="org.eclipse.elk.alg.spore.p3execution",Dyt="Topdown Layout",Iyt="Invalid index: ",vT="org.eclipse.elk.core.alg",E6={341:1},n4={295:1},Oyt="Make sure its type is registered with the ",JCe=" utility class.",wT="true",Ffe="false",Nyt="Couldn't clone property '",Zw=.05,nh="org.eclipse.elk.core.options",Pyt=1.2999999523162842,e3="org.eclipse.elk.box",ZCe="org.eclipse.elk.expandNodes",eSe="org.eclipse.elk.box.packingMode",Byt="org.eclipse.elk.algorithm",Fyt="org.eclipse.elk.resolvedAlgorithm",tSe="org.eclipse.elk.bendPoints",sOn="org.eclipse.elk.labelManager",Ryt="org.eclipse.elk.scaleFactor",jyt="org.eclipse.elk.childAreaWidth",$yt="org.eclipse.elk.childAreaHeight",zyt="org.eclipse.elk.animate",qyt="org.eclipse.elk.animTimeFactor",Hyt="org.eclipse.elk.layoutAncestors",Vyt="org.eclipse.elk.maxAnimTime",Uyt="org.eclipse.elk.minAnimTime",Gyt="org.eclipse.elk.progressBar",Kyt="org.eclipse.elk.validateGraph",Wyt="org.eclipse.elk.validateOptions",Yyt="org.eclipse.elk.zoomToFit",aOn="org.eclipse.elk.font.name",Xyt="org.eclipse.elk.font.size",nSe="org.eclipse.elk.topdown.sizeApproximator",rSe="org.eclipse.elk.topdown.scaleCap",Qyt="org.eclipse.elk.edge.type",Jyt="partitioning",Zyt="nodeLabels",RG="portAlignment",Rfe="nodeSize",jfe="port",iSe="portLabels",KP="topdown",e4t="insideSelfLoops",yL="org.eclipse.elk.fixed",jG="org.eclipse.elk.random",sSe={3:1,34:1,22:1,347:1},t4t="port must have a parent node to calculate the port side",n4t="The edge needs to have exactly one edge section. Found: ",xL="org.eclipse.elk.core.util.adapters",pf="org.eclipse.emf.ecore",T6="org.eclipse.elk.graph",r4t="EMapPropertyHolder",i4t="ElkBendPoint",s4t="ElkGraphElement",a4t="ElkConnectableShape",aSe="ElkEdge",o4t="ElkEdgeSection",c4t="EModelElement",u4t="ENamedElement",oSe="ElkLabel",cSe="ElkNode",uSe="ElkPort",l4t={94:1,93:1},Rx="org.eclipse.emf.common.notify.impl",Ob="The feature '",kL="' is not a valid changeable feature",h4t="Expecting null",$fe="' is not a valid feature",f4t="The feature ID",d4t=" is not a valid feature ID",eu=32768,g4t={110:1,94:1,93:1,58:1,54:1,99:1},Gn="org.eclipse.emf.ecore.impl",sv="org.eclipse.elk.graph.impl",EL="Recursive containment not allowed for ",yT="The datatype '",t3="' is not a valid classifier",zfe="The value '",C6={195:1,3:1,4:1},qfe="The class '",xT="http://www.eclipse.org/elk/ElkGraph",lSe="property",TL="value",Hfe="source",p4t="properties",b4t="identifier",Vfe="height",Ufe="width",Gfe="parent",Kfe="text",Wfe="children",m4t="hierarchical",hSe="sources",Yfe="targets",fSe="sections",$G="bendPoints",dSe="outgoingShape",gSe="incomingShape",pSe="outgoingSections",bSe="incomingSections",So="org.eclipse.emf.common.util",mSe="Severe implementation error in the Json to ElkGraph importer.",Pd="id",no="org.eclipse.elk.graph.json",vSe="Unhandled parameter types: ",v4t="startPoint",w4t="An edge must have at least one source and one target (edge id: '",kT="').",y4t="Referenced edge section does not exist: ",x4t=" (edge id: '",wSe="target",k4t="sourcePoint",E4t="targetPoint",zG="group",_i="name",T4t="connectableShape cannot be null",C4t="edge cannot be null",Xfe="Passed edge is not 'simple'.",qG="org.eclipse.elk.graph.util",WP="The 'no duplicates' constraint is violated",Qfe="targetIndex=",av=", size=",Jfe="sourceIndex=",Bd={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},Zfe={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},HG="logging",S4t="measureExecutionTime",_4t="parser.parse.1",A4t="parser.parse.2",VG="parser.next.1",e0e="parser.next.2",L4t="parser.next.3",M4t="parser.next.4",ov="parser.factor.1",ySe="parser.factor.2",D4t="parser.factor.3",I4t="parser.factor.4",O4t="parser.factor.5",N4t="parser.factor.6",P4t="parser.atom.1",B4t="parser.atom.2",F4t="parser.atom.3",xSe="parser.atom.4",t0e="parser.atom.5",kSe="parser.cc.1",UG="parser.cc.2",R4t="parser.cc.3",j4t="parser.cc.5",ESe="parser.cc.6",TSe="parser.cc.7",n0e="parser.cc.8",$4t="parser.ope.1",z4t="parser.ope.2",q4t="parser.ope.3",w2="parser.descape.1",H4t="parser.descape.2",V4t="parser.descape.3",U4t="parser.descape.4",G4t="parser.descape.5",bf="parser.process.1",K4t="parser.quantifier.1",W4t="parser.quantifier.2",Y4t="parser.quantifier.3",X4t="parser.quantifier.4",CSe="parser.quantifier.5",Q4t="org.eclipse.emf.common.notify",SSe={424:1,686:1},J4t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},YP={378:1,152:1},CL="index=",r0e={3:1,4:1,5:1,129:1},Z4t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},_Se={3:1,6:1,4:1,5:1,198:1},e5t={3:1,4:1,5:1,173:1,379:1},t5t=";/?:@&=+$,",n5t="invalid authority: ",r5t="EAnnotation",i5t="ETypedElement",s5t="EStructuralFeature",a5t="EAttribute",o5t="EClassifier",c5t="EEnumLiteral",u5t="EGenericType",l5t="EOperation",h5t="EParameter",f5t="EReference",d5t="ETypeParameter",us="org.eclipse.emf.ecore.util",i0e={79:1},ASe={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},g5t="org.eclipse.emf.ecore.util.FeatureMap$Entry",Sl=8192,r4=2048,SL="byte",GG="char",_L="double",AL="float",LL="int",ML="long",DL="short",p5t="java.lang.Object",S6={3:1,4:1,5:1,254:1},LSe={3:1,4:1,5:1,688:1},b5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},kc={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},XP="mixed",li="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Bf="kind",m5t={3:1,4:1,5:1,689:1},MSe={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},KG={20:1,31:1,56:1,16:1,15:1,61:1,71:1},WG={51:1,128:1,287:1},YG={76:1,343:1},XG="The value of type '",QG="' must be of type '",_6=1352,Ff="http://www.eclipse.org/emf/2002/Ecore",JG=-32768,n3="constraints",ho="baseType",v5t="getEStructuralFeature",w5t="getFeatureID",IL="feature",y5t="getOperationID",DSe="operation",x5t="defaultValue",k5t="eTypeParameters",E5t="isInstance",T5t="getEEnumLiteral",C5t="eContainingClass",yi={57:1},S5t={3:1,4:1,5:1,124:1},_5t="org.eclipse.emf.ecore.resource",A5t={94:1,93:1,599:1,2034:1},s0e="org.eclipse.emf.ecore.resource.impl",ISe="unspecified",QP="simple",ZG="attribute",L5t="attributeWildcard",eK="element",a0e="elementWildcard",s1="collapse",o0e="itemType",tK="namespace",JP="##targetNamespace",Rf="whiteSpace",OSe="wildcards",cv="http://www.eclipse.org/emf/2003/XMLType",c0e="##any",ET="uninitialized",ZP="The multiplicity constraint is violated",nK="org.eclipse.emf.ecore.xml.type",M5t="ProcessingInstruction",D5t="SimpleAnyType",I5t="XMLTypeDocumentRoot",ea="org.eclipse.emf.ecore.xml.type.impl",eB="INF",O5t="processing",N5t="ENTITIES_._base",NSe="minLength",PSe="ENTITY",rK="NCName",P5t="IDREFS_._base",BSe="integer",u0e="token",l0e="pattern",B5t="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",FSe="\\i\\c*",F5t="[\\i-[:]][\\c-[:]]*",R5t="nonPositiveInteger",tB="maxInclusive",RSe="NMTOKEN",j5t="NMTOKENS_._base",jSe="nonNegativeInteger",nB="minInclusive",$5t="normalizedString",z5t="unsignedByte",q5t="unsignedInt",H5t="18446744073709551615",V5t="unsignedShort",U5t="processingInstruction",y2="org.eclipse.emf.ecore.xml.type.internal",TT=1114111,G5t="Internal Error: shorthands: \\u",OL="xml:isDigit",h0e="xml:isWord",f0e="xml:isSpace",d0e="xml:isNameChar",g0e="xml:isInitialNameChar",K5t="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",W5t="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",Y5t="Private Use",p0e="ASSIGNED",b0e="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",$Se="UNASSIGNED",CT={3:1,122:1},X5t="org.eclipse.emf.ecore.xml.type.util",iK={3:1,4:1,5:1,381:1},zSe="org.eclipse.xtext.xbase.lib",Q5t="Cannot add elements to a Range",J5t="Cannot set elements in a Range",Z5t="Cannot remove elements from a Range",e6t="user.agent",h,sK,m0e;b.goog=b.goog||{},b.goog.global=b.goog.global||b,sK={},D(1,null,{},T),h.Fb=function(t){return Jtt(this,t)},h.Gb=function(){return this.Rm},h.Hb=function(){return fw(this)},h.Ib=function(){var t;return _m(bh(this))+"@"+(t=es(this)>>>0,t.toString(16))},h.equals=function(e){return this.Fb(e)},h.hashCode=function(){return this.Hb()},h.toString=function(){return this.Ib()};var t6t,n6t,r6t;D(297,1,{297:1,2124:1},B7e),h.ve=function(t){var n;return n=new B7e,n.i=4,t>1?n.c=yot(this,t-1):n.c=this,n},h.we=function(){return Gg(this),this.b},h.xe=function(){return _m(this)},h.ye=function(){return Gg(this),this.k},h.ze=function(){return(this.i&4)!=0},h.Ae=function(){return(this.i&1)!=0},h.Ib=function(){return K6e(this)},h.i=0;var wa=I(Vc,"Object",1),qSe=I(Vc,"Class",297);D(2096,1,yP),I(xP,"Optional",2096),D(1191,2096,yP,_),h.Fb=function(t){return t===this},h.Hb=function(){return 2040732332},h.Ib=function(){return"Optional.absent()"},h.Jb=function(t){return Xr(t),o_(),v0e};var v0e;I(xP,"Absent",1191),D(636,1,{},Zie),I(xP,"Joiner",636);var oOn=ks(xP,"Predicate");D(589,1,{178:1,589:1,3:1,46:1},gz),h.Mb=function(t){return y0t(this,t)},h.Lb=function(t){return y0t(this,t)},h.Fb=function(t){var n;return De(t,589)?(n=l(t,589),O9e(this.a,n.a)):!1},h.Hb=function(){return q7e(this.a)+306654252},h.Ib=function(){return K9n(this.a)},I(xP,"Predicates/AndPredicate",589),D(419,2096,{419:1,3:1},JS),h.Fb=function(t){var n;return De(t,419)?(n=l(t,419),Pi(this.a,n.a)):!1},h.Hb=function(){return 1502476572+es(this.a)},h.Ib=function(){return Awt+this.a+")"},h.Jb=function(t){return new JS(_H(t.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},I(xP,"Present",419),D(204,1,eT),h.Nb=function(t){Za(this,t)},h.Qb=function(){jJe()},I(dn,"UnmodifiableIterator",204),D(2076,204,tT),h.Qb=function(){jJe()},h.Rb=function(t){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(dn,"UnmodifiableListIterator",2076),D(399,2076,tT),h.Ob=function(){return this.c0},h.Pb=function(){if(this.c>=this.d)throw ue(new _c);return this.Xb(this.c++)},h.Tb=function(){return this.c},h.Ub=function(){if(this.c<=0)throw ue(new _c);return this.Xb(--this.c)},h.Vb=function(){return this.c-1},h.c=0,h.d=0,I(dn,"AbstractIndexedListIterator",399),D(713,204,eT),h.Ob=function(){return tce(this)},h.Pb=function(){return z6e(this)},h.e=1,I(dn,"AbstractIterator",713),D(2084,1,{229:1}),h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.Fb=function(t){return Ece(this,t)},h.Hb=function(){return es(this.Zb())},h.dc=function(){return this.gc()==0},h.ec=function(){return W8(this)},h.Ib=function(){return xc(this.Zb())},I(dn,"AbstractMultimap",2084),D(742,2084,Jm),h.$b=function(){mV(this)},h._b=function(t){return iZe(this,t)},h.ac=function(){return new Lk(this,this.c)},h.ic=function(t){return this.hc()},h.bc=function(){return new q5(this,this.c)},h.jc=function(){return this.mc(this.hc())},h.kc=function(){return new EJe(this)},h.lc=function(){return Iue(this.c.vc().Nc(),new P,64,this.d)},h.cc=function(t){return $i(this,t)},h.fc=function(t){return DN(this,t)},h.gc=function(){return this.d},h.mc=function(t){return Cn(),new $a(t)},h.nc=function(){return new kJe(this)},h.oc=function(){return Iue(this.c.Cc().Nc(),new A,64,this.d)},h.pc=function(t,n){return new YH(this,t,n,null)},h.d=0,I(dn,"AbstractMapBasedMultimap",742),D(1696,742,Jm),h.hc=function(){return new Bu(this.a)},h.jc=function(){return Cn(),Cn(),_o},h.cc=function(t){return l($i(this,t),15)},h.fc=function(t){return l(DN(this,t),15)},h.Zb=function(){return ex(this)},h.Fb=function(t){return Ece(this,t)},h.qc=function(t){return l($i(this,t),15)},h.rc=function(t){return l(DN(this,t),15)},h.mc=function(t){return ioe(l(t,15))},h.pc=function(t,n){return _ct(this,t,l(n,15),null)},I(dn,"AbstractListMultimap",1696),D(748,1,Oa),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.c.Ob()||this.e.Ob()},h.Pb=function(){var t;return this.e.Ob()||(t=l(this.c.Pb(),44),this.b=t.ld(),this.a=l(t.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},h.Qb=function(){this.e.Qb(),l(Lf(this.a),16).dc()&&this.c.Qb(),--this.d.d},I(dn,"AbstractMapBasedMultimap/Itr",748),D(1129,748,Oa,kJe),h.sc=function(t,n){return n},I(dn,"AbstractMapBasedMultimap/1",1129),D(1130,1,{},A),h.Kb=function(t){return l(t,16).Nc()},I(dn,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),D(1131,748,Oa,EJe),h.sc=function(t,n){return new iw(t,n)},I(dn,"AbstractMapBasedMultimap/2",1131);var HSe=ks(Lr,"Map");D(2065,1,Ww),h.wc=function(t){mA(this,t)},h.yc=function(t,n,r){return qce(this,t,n,r)},h.$b=function(){this.vc().$b()},h.tc=function(t){return gue(this,t)},h._b=function(t){return!!Dxe(this,t,!1)},h.uc=function(t){var n,r,a;for(r=this.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),a=n.md(),qe(t)===qe(a)||t!=null&&Pi(t,a))return!0;return!1},h.Fb=function(t){var n,r,a;if(t===this)return!0;if(!De(t,85)||(a=l(t,85),this.gc()!=a.gc()))return!1;for(r=a.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),!this.tc(n))return!1;return!0},h.xc=function(t){return hc(Dxe(this,t,!1))},h.Hb=function(){return I7e(this.vc())},h.dc=function(){return this.gc()==0},h.ec=function(){return new br(this)},h.zc=function(t,n){throw ue(new Hp("Put not supported on this map"))},h.Ac=function(t){bA(this,t)},h.Bc=function(t){return hc(Dxe(this,t,!0))},h.gc=function(){return this.vc().gc()},h.Ib=function(){return Igt(this)},h.Cc=function(){return new gi(this)},I(Lr,"AbstractMap",2065),D(2085,2065,Ww),h.bc=function(){return new Yz(this)},h.vc=function(){return Est(this)},h.ec=function(){var t;return t=this.g,t||(this.g=this.bc())},h.Cc=function(){var t;return t=this.i,t||(this.i=new WZe(this))},I(dn,"Maps/ViewCachingAbstractMap",2085),D(402,2085,Ww,Lk),h.xc=function(t){return fwn(this,t)},h.Bc=function(t){return Pyn(this,t)},h.$b=function(){this.d==this.e.c?this.e.$b():iH(new V4e(this))},h._b=function(t){return i1t(this.d,t)},h.Ec=function(){return new pz(this)},h.Dc=function(){return this.Ec()},h.Fb=function(t){return this===t||Pi(this.d,t)},h.Hb=function(){return es(this.d)},h.ec=function(){return this.e.ec()},h.gc=function(){return this.d.gc()},h.Ib=function(){return xc(this.d)},I(dn,"AbstractMapBasedMultimap/AsMap",402);var Fh=ks(Vc,"Iterable");D(31,1,Wy),h.Jc=function(t){to(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new bn(null,this.Nc())},h.Fc=function(t){throw ue(new Hp("Add not supported on this collection"))},h.Gc=function(t){return Ka(this,t)},h.$b=function(){M5e(this)},h.Hc=function(t){return Ny(this,t,!1)},h.Ic=function(t){return EN(this,t)},h.dc=function(){return this.gc()==0},h.Mc=function(t){return Ny(this,t,!0)},h.Pc=function(){return e5e(this)},h.Qc=function(t){return PA(this,t)},h.Ib=function(){return Tb(this)},I(Lr,"AbstractCollection",31);var jf=ks(Lr,"Set");D(q1,31,Tl),h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return Y1t(this,t)},h.Hb=function(){return I7e(this)},I(Lr,"AbstractSet",q1),D(2068,q1,Tl),I(dn,"Sets/ImprovedAbstractSet",2068),D(2069,2068,Tl),h.$b=function(){this.Rc().$b()},h.Hc=function(t){return O1t(this,t)},h.dc=function(){return this.Rc().dc()},h.Mc=function(t){var n;return this.Hc(t)&&De(t,44)?(n=l(t,44),this.Rc().ec().Mc(n.ld())):!1},h.gc=function(){return this.Rc().gc()},I(dn,"Maps/EntrySet",2069),D(1127,2069,Tl,pz),h.Hc=function(t){return s8e(this.a.d.vc(),t)},h.Kc=function(){return new V4e(this.a)},h.Rc=function(){return this.a},h.Mc=function(t){var n;return s8e(this.a.d.vc(),t)?(n=l(Lf(l(t,44)),44),evn(this.a.e,n.ld()),!0):!1},h.Nc=function(){return NO(this.a.d.vc().Nc(),new bz(this.a))},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),D(1128,1,{},bz),h.Kb=function(t){return Cut(this.a,l(t,44))},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),D(746,1,Oa,V4e),h.Nb=function(t){Za(this,t)},h.Pb=function(){var t;return t=l(this.b.Pb(),44),this.a=l(t.md(),16),Cut(this.c,t)},h.Ob=function(){return this.b.Ob()},h.Qb=function(){Rk(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),D(542,2068,Tl,Yz),h.$b=function(){this.b.$b()},h.Hc=function(t){return this.b._b(t)},h.Jc=function(t){Xr(t),this.b.wc(new xz(t))},h.dc=function(){return this.b.dc()},h.Kc=function(){return new c_(this.b.vc().Kc())},h.Mc=function(t){return this.b._b(t)?(this.b.Bc(t),!0):!1},h.gc=function(){return this.b.gc()},I(dn,"Maps/KeySet",542),D(327,542,Tl,q5),h.$b=function(){var t;iH((t=this.b.vc().Kc(),new g3e(this,t)))},h.Ic=function(t){return this.b.ec().Ic(t)},h.Fb=function(t){return this===t||Pi(this.b.ec(),t)},h.Hb=function(){return es(this.b.ec())},h.Kc=function(){var t;return t=this.b.vc().Kc(),new g3e(this,t)},h.Mc=function(t){var n,r;return r=0,n=l(this.b.Bc(t),16),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},h.Nc=function(){return this.b.ec().Nc()},I(dn,"AbstractMapBasedMultimap/KeySet",327),D(747,1,Oa,g3e),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.c.Ob()},h.Pb=function(){return this.a=l(this.c.Pb(),44),this.a.ld()},h.Qb=function(){var t;Rk(!!this.a),t=l(this.a.md(),16),this.c.Qb(),this.b.a.d-=t.gc(),t.$b(),this.a=null},I(dn,"AbstractMapBasedMultimap/KeySet/1",747),D(503,402,{85:1,133:1},_O),h.bc=function(){return this.Sc()},h.ec=function(){return this.Uc()},h.Sc=function(){return new tO(this.c,this.Wc())},h.Tc=function(){return this.Wc().Tc()},h.Uc=function(){var t;return t=this.b,t||(this.b=this.Sc())},h.Vc=function(){return this.Wc().Vc()},h.Wc=function(){return l(this.d,133)},I(dn,"AbstractMapBasedMultimap/SortedAsMap",503),D(446,503,Zke,q_),h.bc=function(){return new Ak(this.a,l(l(this.d,133),139))},h.Sc=function(){return new Ak(this.a,l(l(this.d,133),139))},h.ec=function(){var t;return t=this.b,l(t||(this.b=new Ak(this.a,l(l(this.d,133),139))),277)},h.Uc=function(){var t;return t=this.b,l(t||(this.b=new Ak(this.a,l(l(this.d,133),139))),277)},h.Wc=function(){return l(l(this.d,133),139)},h.Xc=function(t){return l(l(this.d,133),139).Xc(t)},h.Yc=function(t){return l(l(this.d,133),139).Yc(t)},h.Zc=function(t,n){return new q_(this.a,l(l(this.d,133),139).Zc(t,n))},h.$c=function(t){return l(l(this.d,133),139).$c(t)},h._c=function(t){return l(l(this.d,133),139)._c(t)},h.ad=function(t,n){return new q_(this.a,l(l(this.d,133),139).ad(t,n))},I(dn,"AbstractMapBasedMultimap/NavigableAsMap",446),D(502,327,Lwt,tO),h.Nc=function(){return this.b.ec().Nc()},I(dn,"AbstractMapBasedMultimap/SortedKeySet",502),D(401,502,eEe,Ak),I(dn,"AbstractMapBasedMultimap/NavigableKeySet",401),D(551,31,Wy,YH),h.Fc=function(t){var n,r;return Ql(this),r=this.d.dc(),n=this.d.Fc(t),n&&(++this.f.d,r&&DO(this)),n},h.Gc=function(t){var n,r,a;return t.dc()?!1:(a=(Ql(this),this.d.gc()),n=this.d.Gc(t),n&&(r=this.d.gc(),this.f.d+=r-a,a==0&&DO(this)),n)},h.$b=function(){var t;t=(Ql(this),this.d.gc()),t!=0&&(this.d.$b(),this.f.d-=t,lH(this))},h.Hc=function(t){return Ql(this),this.d.Hc(t)},h.Ic=function(t){return Ql(this),this.d.Ic(t)},h.Fb=function(t){return t===this?!0:(Ql(this),Pi(this.d,t))},h.Hb=function(){return Ql(this),es(this.d)},h.Kc=function(){return Ql(this),new _4e(this)},h.Mc=function(t){var n;return Ql(this),n=this.d.Mc(t),n&&(--this.f.d,lH(this)),n},h.gc=function(){return Rtt(this)},h.Nc=function(){return Ql(this),this.d.Nc()},h.Ib=function(){return Ql(this),xc(this.d)},I(dn,"AbstractMapBasedMultimap/WrappedCollection",551);var mf=ks(Lr,"List");D(744,551,{20:1,31:1,16:1,15:1},r5e),h.jd=function(t){$m(this,t)},h.Nc=function(){return Ql(this),this.d.Nc()},h.bd=function(t,n){var r;Ql(this),r=this.d.dc(),l(this.d,15).bd(t,n),++this.a.d,r&&DO(this)},h.cd=function(t,n){var r,a,o;return n.dc()?!1:(o=(Ql(this),this.d.gc()),r=l(this.d,15).cd(t,n),r&&(a=this.d.gc(),this.a.d+=a-o,o==0&&DO(this)),r)},h.Xb=function(t){return Ql(this),l(this.d,15).Xb(t)},h.dd=function(t){return Ql(this),l(this.d,15).dd(t)},h.ed=function(){return Ql(this),new gnt(this)},h.fd=function(t){return Ql(this),new Fat(this,t)},h.gd=function(t){var n;return Ql(this),n=l(this.d,15).gd(t),--this.a.d,lH(this),n},h.hd=function(t,n){return Ql(this),l(this.d,15).hd(t,n)},h.kd=function(t,n){return Ql(this),_ct(this.a,this.e,l(this.d,15).kd(t,n),this.b?this.b:this)},I(dn,"AbstractMapBasedMultimap/WrappedList",744),D(1126,744,{20:1,31:1,16:1,15:1,59:1},rrt),I(dn,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),D(628,1,Oa,_4e),h.Nb=function(t){Za(this,t)},h.Ob=function(){return Yk(this),this.b.Ob()},h.Pb=function(){return Yk(this),this.b.Pb()},h.Qb=function(){znt(this)},I(dn,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),D(745,628,lg,gnt,Fat),h.Qb=function(){znt(this)},h.Rb=function(t){var n;n=Rtt(this.a)==0,(Yk(this),l(this.b,128)).Rb(t),++this.a.a.d,n&&DO(this.a)},h.Sb=function(){return(Yk(this),l(this.b,128)).Sb()},h.Tb=function(){return(Yk(this),l(this.b,128)).Tb()},h.Ub=function(){return(Yk(this),l(this.b,128)).Ub()},h.Vb=function(){return(Yk(this),l(this.b,128)).Vb()},h.Wb=function(t){(Yk(this),l(this.b,128)).Wb(t)},I(dn,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),D(743,551,Lwt,Gye),h.Nc=function(){return Ql(this),this.d.Nc()},I(dn,"AbstractMapBasedMultimap/WrappedSortedSet",743),D(1125,743,eEe,unt),I(dn,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),D(1124,551,Tl,Trt),h.Nc=function(){return Ql(this),this.d.Nc()},I(dn,"AbstractMapBasedMultimap/WrappedSet",1124),D(1133,1,{},P),h.Kb=function(t){return lvn(l(t,44))},I(dn,"AbstractMapBasedMultimap/lambda$1$Type",1133),D(1132,1,{},bie),h.Kb=function(t){return new iw(this.a,t)},I(dn,"AbstractMapBasedMultimap/lambda$2$Type",1132);var uv=ks(Lr,"Map/Entry");D(358,1,Nle),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),yd(this.ld(),n.ld())&&yd(this.md(),n.md())):!1},h.Hb=function(){var t,n;return t=this.ld(),n=this.md(),(t==null?0:es(t))^(n==null?0:es(n))},h.nd=function(t){throw ue(new Qr)},h.Ib=function(){return this.ld()+"="+this.md()},I(dn,Mwt,358),D(2086,31,Wy),h.$b=function(){this.od().$b()},h.Hc=function(t){var n;return De(t,44)?(n=l(t,44),Dbn(this.od(),n.ld(),n.md())):!1},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),cct(this.od(),n.ld(),n.md())):!1},h.gc=function(){return this.od().d},I(dn,"Multimaps/Entries",2086),D(749,2086,Wy,vz),h.Kc=function(){return this.a.kc()},h.od=function(){return this.a},h.Nc=function(){return this.a.lc()},I(dn,"AbstractMultimap/Entries",749),D(750,749,Tl,Uwe),h.Nc=function(){return this.a.lc()},h.Fb=function(t){return Qxe(this,t)},h.Hb=function(){return wft(this)},I(dn,"AbstractMultimap/EntrySet",750),D(751,31,Wy,Q2),h.$b=function(){this.a.$b()},h.Hc=function(t){return Lyn(this.a,t)},h.Kc=function(){return this.a.nc()},h.gc=function(){return this.a.d},h.Nc=function(){return this.a.oc()},I(dn,"AbstractMultimap/Values",751),D(2087,31,{849:1,20:1,31:1,16:1}),h.Jc=function(t){Xr(t),V5(this).Jc(new kie(t))},h.Nc=function(){var t;return t=V5(this).Nc(),Iue(t,new pe,64|t.yd()&1296,this.a.d)},h.Fc=function(t){return Zwe(),!0},h.Gc=function(t){return Xr(this),Xr(t),De(t,552)?Nbn(l(t,849)):!t.dc()&&Goe(this,t.Kc())},h.Hc=function(t){var n;return n=l(Oy(ex(this.a),t),16),(n?n.gc():0)>0},h.Fb=function(t){return nTn(this,t)},h.Hb=function(){return es(V5(this))},h.dc=function(){return V5(this).dc()},h.Mc=function(t){return Upt(this,t,1)>0},h.Ib=function(){return xc(V5(this))},I(dn,"AbstractMultiset",2087),D(2089,2068,Tl),h.$b=function(){mV(this.a.a)},h.Hc=function(t){var n,r;return De(t,504)?(r=l(t,425),l(r.a.md(),16).gc()<=0?!1:(n=Pot(this.a,r.a.ld()),n==l(r.a.md(),16).gc())):!1},h.Mc=function(t){var n,r,a,o;return De(t,504)&&(r=l(t,425),n=r.a.ld(),a=l(r.a.md(),16).gc(),a!=0)?(o=this.a,Gkn(o,n,a)):!1},I(dn,"Multisets/EntrySet",2089),D(1139,2089,Tl,mie),h.Kc=function(){return new AJe(Est(ex(this.a.a)).Kc())},h.gc=function(){return ex(this.a.a).gc()},I(dn,"AbstractMultiset/EntrySet",1139),D(627,742,Jm),h.hc=function(){return this.pd()},h.jc=function(){return this.qd()},h.cc=function(t){return this.rd(t)},h.fc=function(t){return this.sd(t)},h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.qd=function(){return Cn(),Cn(),hK},h.Fb=function(t){return Ece(this,t)},h.rd=function(t){return l($i(this,t),21)},h.sd=function(t){return l(DN(this,t),21)},h.mc=function(t){return Cn(),new Ek(l(t,21))},h.pc=function(t,n){return new Trt(this,t,l(n,21))},I(dn,"AbstractSetMultimap",627),D(1723,627,Jm),h.hc=function(){return new Kp(this.b)},h.pd=function(){return new Kp(this.b)},h.jc=function(){return T5e(new Kp(this.b))},h.qd=function(){return T5e(new Kp(this.b))},h.cc=function(t){return l(l($i(this,t),21),87)},h.rd=function(t){return l(l($i(this,t),21),87)},h.fc=function(t){return l(l(DN(this,t),21),87)},h.sd=function(t){return l(l(DN(this,t),21),87)},h.mc=function(t){return De(t,277)?T5e(l(t,277)):(Cn(),new Dye(l(t,87)))},h.Zb=function(){var t;return t=this.f,t||(this.f=De(this.c,139)?new q_(this,l(this.c,139)):De(this.c,133)?new _O(this,l(this.c,133)):new Lk(this,this.c))},h.pc=function(t,n){return De(n,277)?new unt(this,t,l(n,277)):new Gye(this,t,l(n,87))},I(dn,"AbstractSortedSetMultimap",1723),D(1724,1723,Jm),h.Zb=function(){var t;return t=this.f,l(l(t||(this.f=De(this.c,139)?new q_(this,l(this.c,139)):De(this.c,133)?new _O(this,l(this.c,133)):new Lk(this,this.c)),133),139)},h.ec=function(){var t;return t=this.i,l(l(t||(this.i=De(this.c,139)?new Ak(this,l(this.c,139)):De(this.c,133)?new tO(this,l(this.c,133)):new q5(this,this.c)),87),277)},h.bc=function(){return De(this.c,139)?new Ak(this,l(this.c,139)):De(this.c,133)?new tO(this,l(this.c,133)):new q5(this,this.c)},I(dn,"AbstractSortedKeySortedSetMultimap",1724),D(2109,1,{2046:1}),h.Fb=function(t){return _8n(this,t)},h.Hb=function(){var t;return I7e((t=this.g,t||(this.g=new $I(this))))},h.Ib=function(){var t;return Igt((t=this.f,t||(this.f=new _ye(this))))},I(dn,"AbstractTable",2109),D(679,q1,Tl,$I),h.$b=function(){$Je()},h.Hc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(Oy(Kst(this.a),ab(n.c.e,n.b)),85),!!r&&s8e(r.vc(),new iw(ab(n.c.c,n.a),ox(n.c,n.b,n.a)))):!1},h.Kc=function(){return Dpn(this.a)},h.Mc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(Oy(Kst(this.a),ab(n.c.e,n.b)),85),!!r&&c4n(r.vc(),new iw(ab(n.c.c,n.a),ox(n.c,n.b,n.a)))):!1},h.gc=function(){return Xit(this.a)},h.Nc=function(){return Fbn(this.a)},I(dn,"AbstractTable/CellSet",679),D(2025,31,Wy,wie),h.$b=function(){$Je()},h.Hc=function(t){return wxn(this.a,t)},h.Kc=function(){return Ipn(this.a)},h.gc=function(){return Xit(this.a)},h.Nc=function(){return oct(this.a)},I(dn,"AbstractTable/Values",2025),D(1697,1696,Jm),I(dn,"ArrayListMultimapGwtSerializationDependencies",1697),D(520,1697,Jm,nse,G5e),h.hc=function(){return new Bu(this.a)},h.a=0,I(dn,"ArrayListMultimap",520),D(678,2109,{678:1,2046:1,3:1},i2t),I(dn,"ArrayTable",678),D(2021,399,tT,qnt),h.Xb=function(t){return new F7e(this.a,t)},I(dn,"ArrayTable/1",2021),D(2022,1,{},gie),h.td=function(t){return new F7e(this.a,t)},I(dn,"ArrayTable/1methodref$getCell$Type",2022),D(2110,1,{697:1}),h.Fb=function(t){var n;return t===this?!0:De(t,479)?(n=l(t,697),yd(ab(this.c.e,this.b),ab(n.c.e,n.b))&&yd(ab(this.c.c,this.a),ab(n.c.c,n.a))&&yd(ox(this.c,this.b,this.a),ox(n.c,n.b,n.a))):!1},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[ab(this.c.e,this.b),ab(this.c.c,this.a),ox(this.c,this.b,this.a)]))},h.Ib=function(){return"("+ab(this.c.e,this.b)+","+ab(this.c.c,this.a)+")="+ox(this.c,this.b,this.a)},I(dn,"Tables/AbstractCell",2110),D(479,2110,{479:1,697:1},F7e),h.a=0,h.b=0,h.d=0,I(dn,"ArrayTable/2",479),D(2024,1,{},pie),h.td=function(t){return Ilt(this.a,t)},I(dn,"ArrayTable/2methodref$getValue$Type",2024),D(2023,399,tT,Hnt),h.Xb=function(t){return Ilt(this.a,t)},I(dn,"ArrayTable/3",2023),D(2077,2065,Ww),h.$b=function(){iH(this.kc())},h.vc=function(){return new yz(this)},h.lc=function(){return new _at(this.kc(),this.gc())},I(dn,"Maps/IteratorBasedAbstractMap",2077),D(842,2077,Ww),h.$b=function(){throw ue(new Qr)},h._b=function(t){return sZe(this.c,t)},h.kc=function(){return new Vnt(this,this.c.b.c.gc())},h.lc=function(){return Cae(this.c.b.c.gc(),16,new mz(this))},h.xc=function(t){var n;return n=l(H_(this.c,t),17),n?this.vd(n.a):null},h.dc=function(){return this.c.b.c.dc()},h.ec=function(){return Oae(this.c)},h.zc=function(t,n){var r;if(r=l(H_(this.c,t),17),!r)throw ue(new Yn(this.ud()+" "+t+" not in "+Oae(this.c)));return this.wd(r.a,n)},h.Bc=function(t){throw ue(new Qr)},h.gc=function(){return this.c.b.c.gc()},I(dn,"ArrayTable/ArrayMap",842),D(2020,1,{},mz),h.td=function(t){return Yst(this.a,t)},I(dn,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),D(2018,358,Nle,DZe),h.ld=function(){return Uhn(this.a,this.b)},h.md=function(){return this.a.vd(this.b)},h.nd=function(t){return this.a.wd(this.b,t)},h.b=0,I(dn,"ArrayTable/ArrayMap/1",2018),D(2019,399,tT,Vnt),h.Xb=function(t){return Yst(this.a,t)},I(dn,"ArrayTable/ArrayMap/2",2019),D(2017,842,Ww,Bst),h.ud=function(){return"Column"},h.vd=function(t){return ox(this.b,this.a,t)},h.wd=function(t,n){return s0t(this.b,this.a,t,n)},h.a=0,I(dn,"ArrayTable/Row",2017),D(843,842,Ww,_ye),h.vd=function(t){return new Bst(this.a,t)},h.zc=function(t,n){return l(n,85),fun()},h.wd=function(t,n){return l(n,85),dun()},h.ud=function(){return"Row"},I(dn,"ArrayTable/RowMap",843),D(1157,1,Ph,IZe),h.Ad=function(t){return(this.a.yd()&-262&t)!=0},h.yd=function(){return this.a.yd()&-262},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Nb(new NZe(t,this.b))},h.Bd=function(t){return this.a.Bd(new OZe(t,this.b))},I(dn,"CollectSpliterators/1",1157),D(1158,1,fr,OZe),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(dn,"CollectSpliterators/1/lambda$0$Type",1158),D(1159,1,fr,NZe),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(dn,"CollectSpliterators/1/lambda$1$Type",1159),D(1154,1,Ph,sit),h.Ad=function(t){return((16464|this.b)&t)!=0},h.yd=function(){return 16464|this.b},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Qe(new BZe(t,this.c))},h.Bd=function(t){return this.a.Re(new PZe(t,this.c))},h.b=0,I(dn,"CollectSpliterators/1WithCharacteristics",1154),D(1155,1,kP,PZe),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(dn,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),D(1156,1,kP,BZe),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(dn,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),D(1150,1,Ph),h.Ad=function(t){return(this.a&t)!=0},h.yd=function(){return this.a},h.zd=function(){return this.e&&(this.b=pye(this.b,this.e.zd())),pye(this.b,0)},h.Nb=function(t){this.e&&(this.e.Nb(t),this.e=null),this.c.Nb(new FZe(this,t)),this.b=0},h.Bd=function(t){for(;;){if(this.e&&this.e.Bd(t))return I_(this.b,EP)&&(this.b=Df(this.b,1)),!0;if(this.e=null,!this.c.Bd(new yie(this)))return!1}},h.a=0,h.b=0,I(dn,"CollectSpliterators/FlatMapSpliterator",1150),D(1152,1,fr,yie),h.Cd=function(t){Hfn(this.a,t)},I(dn,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),D(1153,1,fr,FZe),h.Cd=function(t){gpn(this.a,this.b,t)},I(dn,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),D(1151,1150,Ph,Cct),I(dn,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),D(253,1,Ple),h.Fd=function(t){return this.Ed(l(t,253))},h.Ed=function(t){var n;return t==(Gie(),y0e)?1:t==(Uie(),w0e)?-1:(n=(Zq(),vN(this.a,t.a)),n!=0?n:De(this,526)==De(t,526)?0:De(this,526)?1:-1)},h.Id=function(){return this.a},h.Fb=function(t){return rxe(this,t)},I(dn,"Cut",253),D(1823,253,Ple,xJe),h.Ed=function(t){return t==this?0:1},h.Gd=function(t){throw ue(new Swe)},h.Hd=function(t){t.a+="+∞)"},h.Id=function(){throw ue(new nc(Iwt))},h.Hb=function(){return Vg(),q8e(this)},h.Jd=function(t){return!1},h.Ib=function(){return"+∞"};var w0e;I(dn,"Cut/AboveAll",1823),D(526,253,{253:1,526:1,3:1,34:1},Xnt),h.Gd=function(t){wu((t.a+="(",t),this.a)},h.Hd=function(t){hb(wu(t,this.a),93)},h.Hb=function(){return~es(this.a)},h.Jd=function(t){return Zq(),vN(this.a,t)<0},h.Ib=function(){return"/"+this.a+"\\"},I(dn,"Cut/AboveValue",526),D(1822,253,Ple,yJe),h.Ed=function(t){return t==this?0:-1},h.Gd=function(t){t.a+="(-∞"},h.Hd=function(t){throw ue(new Swe)},h.Id=function(){throw ue(new nc(Iwt))},h.Hb=function(){return Vg(),q8e(this)},h.Jd=function(t){return!0},h.Ib=function(){return"-∞"};var y0e;I(dn,"Cut/BelowAll",1822),D(1824,253,Ple,Qnt),h.Gd=function(t){wu((t.a+="[",t),this.a)},h.Hd=function(t){hb(wu(t,this.a),41)},h.Hb=function(){return es(this.a)},h.Jd=function(t){return Zq(),vN(this.a,t)<=0},h.Ib=function(){return"\\"+this.a+"/"},I(dn,"Cut/BelowValue",1824),D(547,1,hg),h.Jc=function(t){to(this,t)},h.Ib=function(){return L4n(l(_H(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},I(dn,"FluentIterable",547),D(442,547,hg,P_),h.Kc=function(){return new hr(dr(this.a.Kc(),new j))},I(dn,"FluentIterable/2",442),D(1059,547,hg,snt),h.Kc=function(){return rg(this)},I(dn,"FluentIterable/3",1059),D(724,399,tT,Aye),h.Xb=function(t){return this.a[t].Kc()},I(dn,"FluentIterable/3/1",724),D(2070,1,{}),h.Ib=function(){return xc(this.Kd().b)},I(dn,"ForwardingObject",2070),D(2071,2070,Owt),h.Kd=function(){return this.Ld()},h.Jc=function(t){to(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new bn(null,this.Nc())},h.Fc=function(t){return this.Ld(),oZe()},h.Gc=function(t){return this.Ld(),cZe()},h.$b=function(){this.Ld(),uZe()},h.Hc=function(t){return this.Ld().Hc(t)},h.Ic=function(t){return this.Ld().Ic(t)},h.dc=function(){return this.Ld().b.dc()},h.Kc=function(){return this.Ld().Kc()},h.Mc=function(t){return this.Ld(),lZe()},h.gc=function(){return this.Ld().b.gc()},h.Pc=function(){return this.Ld().Pc()},h.Qc=function(t){return this.Ld().Qc(t)},I(dn,"ForwardingCollection",2071),D(2078,31,tEe),h.Kc=function(){return this.Od()},h.Fc=function(t){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.Md=function(){var t;return t=this.c,t||(this.c=this.Nd())},h.$b=function(){throw ue(new Qr)},h.Hc=function(t){return t!=null&&Ny(this,t,!1)},h.Nd=function(){switch(this.gc()){case 0:return ww(),ww(),x0e;case 1:return ww(),new Sae(Xr(this.Od().Pb()));default:return new o5e(this,this.Pc())}},h.Mc=function(t){throw ue(new Qr)},I(dn,"ImmutableCollection",2078),D(727,2078,tEe,Twe),h.Kc=function(){return cx(this.a.Kc())},h.Hc=function(t){return t!=null&&this.a.Hc(t)},h.Ic=function(t){return this.a.Ic(t)},h.dc=function(){return this.a.dc()},h.Od=function(){return cx(this.a.Kc())},h.gc=function(){return this.a.gc()},h.Pc=function(){return this.a.Pc()},h.Qc=function(t){return this.a.Qc(t)},h.Ib=function(){return xc(this.a)},I(dn,"ForwardingImmutableCollection",727),D(307,2078,nT),h.Kc=function(){return this.Od()},h.ed=function(){return this.Pd(0)},h.fd=function(t){return this.Pd(t)},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.kd=function(t,n){return this.Qd(t,n)},h.bd=function(t,n){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Md=function(){return this},h.Fb=function(t){return VEn(this,t)},h.Hb=function(){return R3n(this)},h.dd=function(t){return t==null?-1:o7n(this,t)},h.Od=function(){return this.Pd(0)},h.Pd=function(t){return iae(this,t)},h.gd=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},h.Qd=function(t,n){var r;return RV((r=new KZe(this),new Zp(r,t,n)))};var x0e;I(dn,"ImmutableList",307),D(2105,307,nT),h.Kc=function(){return cx(this.Rd().Kc())},h.kd=function(t,n){return RV(this.Rd().kd(t,n))},h.Hc=function(t){return t!=null&&this.Rd().Hc(t)},h.Ic=function(t){return this.Rd().Ic(t)},h.Fb=function(t){return Pi(this.Rd(),t)},h.Xb=function(t){return ab(this,t)},h.Hb=function(){return es(this.Rd())},h.dd=function(t){return this.Rd().dd(t)},h.dc=function(){return this.Rd().dc()},h.Od=function(){return cx(this.Rd().Kc())},h.gc=function(){return this.Rd().gc()},h.Qd=function(t,n){return RV(this.Rd().kd(t,n))},h.Pc=function(){return this.Rd().Qc(We(wa,Rn,1,this.Rd().gc(),5,1))},h.Qc=function(t){return this.Rd().Qc(t)},h.Ib=function(){return xc(this.Rd())},I(dn,"ForwardingImmutableList",2105),D(729,1,rT),h.vc=function(){return Mm(this)},h.wc=function(t){mA(this,t)},h.ec=function(){return Oae(this)},h.yc=function(t,n,r){return qce(this,t,n,r)},h.Cc=function(){return this.Vd()},h.$b=function(){throw ue(new Qr)},h._b=function(t){return this.xc(t)!=null},h.uc=function(t){return this.Vd().Hc(t)},h.Td=function(){return new LQe(this)},h.Ud=function(){return new MQe(this)},h.Fb=function(t){return Myn(this,t)},h.Hb=function(){return Mm(this).Hb()},h.dc=function(){return this.gc()==0},h.zc=function(t,n){return hun()},h.Bc=function(t){throw ue(new Qr)},h.Ib=function(){return m9n(this)},h.Vd=function(){return this.e?this.e:this.e=this.Ud()},h.c=null,h.d=null,h.e=null;var i6t;I(dn,"ImmutableMap",729),D(730,729,rT),h._b=function(t){return sZe(this,t)},h.uc=function(t){return ZZe(this.b,t)},h.Sd=function(){return t1t(new vie(this))},h.Td=function(){return t1t(mat(this.b))},h.Ud=function(){return wd(),new Twe(bat(this.b))},h.Fb=function(t){return eet(this.b,t)},h.xc=function(t){return H_(this,t)},h.Hb=function(){return es(this.b.c)},h.dc=function(){return this.b.c.dc()},h.gc=function(){return this.b.c.gc()},h.Ib=function(){return xc(this.b.c)},I(dn,"ForwardingImmutableMap",730),D(2072,2071,Ble),h.Kd=function(){return this.Wd()},h.Ld=function(){return this.Wd()},h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return t===this||this.Wd().Fb(t)},h.Hb=function(){return this.Wd().Hb()},I(dn,"ForwardingSet",2072),D(1085,2072,Ble,vie),h.Kd=function(){return Kk(this.a.b)},h.Ld=function(){return Kk(this.a.b)},h.Hc=function(t){if(De(t,44)&&l(t,44).ld()==null)return!1;try{return JZe(Kk(this.a.b),t)}catch(n){if(n=bs(n),De(n,212))return!1;throw ue(n)}},h.Wd=function(){return Kk(this.a.b)},h.Qc=function(t){var n;return n=tot(Kk(this.a.b),t),Kk(this.a.b).b.gc()=0?"+":"")+(r/60|0),n=Iq(b.Math.abs(r)%60),(Vgt(),E6t)[this.q.getDay()]+" "+T6t[this.q.getMonth()]+" "+Iq(this.q.getDate())+" "+Iq(this.q.getHours())+":"+Iq(this.q.getMinutes())+":"+Iq(this.q.getSeconds())+" GMT"+t+n+" "+this.q.getFullYear()};var cK=I(Lr,"Date",206);D(2015,206,qwt,dgt),h.a=!1,h.b=0,h.c=0,h.d=0,h.e=0,h.f=0,h.g=!1,h.i=0,h.j=0,h.k=0,h.n=0,h.o=0,h.p=0,I("com.google.gwt.i18n.shared.impl","DateRecord",2015),D(2064,1,{}),h.pe=function(){return null},h.qe=function(){return null},h.re=function(){return null},h.se=function(){return null},h.te=function(){return null},I(Ax,"JSONValue",2064),D(221,2064,{221:1},$p,Sz),h.Fb=function(t){return De(t,221)?W5e(this.a,l(t,221).a):!1},h.oe=function(){return Bcn},h.Hb=function(){return F5e(this.a)},h.pe=function(){return this},h.Ib=function(){var t,n,r;for(r=new Th("["),n=0,t=this.a.length;n0&&(r.a+=","),wu(r,_y(this,n));return r.a+="]",r.a},I(Ax,"JSONArray",221),D(493,2064,{493:1},jc),h.oe=function(){return Fcn},h.qe=function(){return this},h.Ib=function(){return Hn(),""+this.a},h.a=!1;var h6t,f6t;I(Ax,"JSONBoolean",493),D(997,63,lp,LJe),I(Ax,"JSONException",997),D(1036,2064,{},W),h.oe=function(){return Rcn},h.Ib=function(){return ul};var d6t;I(Ax,"JSONNull",1036),D(263,2064,{263:1},vk),h.Fb=function(t){return De(t,263)?this.a==l(t,263).a:!1},h.oe=function(){return Ncn},h.Hb=function(){return j8(this.a)},h.re=function(){return this},h.Ib=function(){return this.a+""},h.a=0,I(Ax,"JSONNumber",263),D(190,2064,{190:1},M8,wk),h.Fb=function(t){return De(t,190)?W5e(this.a,l(t,190).a):!1},h.oe=function(){return Pcn},h.Hb=function(){return F5e(this.a)},h.se=function(){return this},h.Ib=function(){var t,n,r,a,o,f,g;for(g=new Th("{"),t=!0,f=ace(this,We(zt,dt,2,0,6,1)),r=f,a=0,o=r.length;a=0?":"+this.c:"")+")"},h.c=0;var a_e=I(Vc,"StackTraceElement",319);r6t={3:1,484:1,34:1,2:1};var zt=I(Vc,nEe,2);D(111,427,{484:1},Up,h_,Af),I(Vc,"StringBuffer",111),D(104,427,{484:1},tb,S5,Th),I(Vc,"StringBuilder",104),D(702,77,she,e3e),I(Vc,"StringIndexOutOfBoundsException",702),D(2145,1,{});var m6t;D(48,63,{3:1,103:1,63:1,82:1,48:1},Qr,Hp),I(Vc,"UnsupportedOperationException",48),D(247,242,{3:1,34:1,242:1,247:1},NN,h3e),h.Fd=function(t){return Fmt(this,l(t,247))},h.ue=function(){return jy(hvt(this))},h.Fb=function(t){var n;return this===t?!0:De(t,247)?(n=l(t,247),this.e==n.e&&Fmt(this,n)==0):!1},h.Hb=function(){var t;return this.b!=0?this.b:this.a<54?(t=Zc(this.f),this.b=Yr(va(t,-1)),this.b=33*this.b+Yr(va(bw(t,32),-1)),this.b=17*this.b+ua(this.e),this.b):(this.b=17*X0t(this.c)+ua(this.e),this.b)},h.Ib=function(){return hvt(this)},h.a=0,h.b=0,h.d=0,h.e=0,h.f=0;var v6t,lv,o_e,c_e,u_e,l_e,h_e,f_e,L0e=I("java.math","BigDecimal",247);D(92,242,{3:1,34:1,242:1,92:1},Qg,qot,Im,Q1t,ob),h.Fd=function(t){return K1t(this,l(t,92))},h.ue=function(){return jy(Dle(this,0))},h.Fb=function(t){return C8e(this,t)},h.Hb=function(){return X0t(this)},h.Ib=function(){return Dle(this,0)},h.b=-2,h.c=0,h.d=0,h.e=0;var w6t,uK,y6t,M0e,lK,BL,A6=I("java.math","BigInteger",92),x6t,k6t,$x,FL;D(498,2065,Ww),h.$b=function(){Nl(this)},h._b=function(t){return Hu(this,t)},h.uc=function(t){return D0t(this,t,this.i)||D0t(this,t,this.f)},h.vc=function(){return new Sr(this)},h.xc=function(t){return cr(this,t)},h.zc=function(t,n){return ki(this,t,n)},h.Bc=function(t){return ax(this,t)},h.gc=function(){return d_(this)},h.g=0,I(Lr,"AbstractHashMap",498),D(267,q1,Tl,Sr),h.$b=function(){this.a.$b()},h.Hc=function(t){return vct(this,t)},h.Kc=function(){return new qm(this.a)},h.Mc=function(t){var n;return vct(this,t)?(n=l(t,44).ld(),this.a.Bc(n),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractHashMap/EntrySet",267),D(268,1,Oa,qm),h.Nb=function(t){Za(this,t)},h.Pb=function(){return Nw(this)},h.Ob=function(){return this.b},h.Qb=function(){Klt(this)},h.b=!1,h.d=0,I(Lr,"AbstractHashMap/EntrySetIterator",268),D(426,1,Oa,kr),h.Nb=function(t){Za(this,t)},h.Ob=function(){return lse(this)},h.Pb=function(){return I5e(this)},h.Qb=function(){ph(this)},h.b=0,h.c=-1,I(Lr,"AbstractList/IteratorImpl",426),D(98,426,lg,Ua),h.Qb=function(){ph(this)},h.Rb=function(t){by(this,t)},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Ub=function(){return mr(this.b>0),this.a.Xb(this.c=--this.b)},h.Vb=function(){return this.b-1},h.Wb=function(t){gy(this.c!=-1),this.a.hd(this.c,t)},I(Lr,"AbstractList/ListIteratorImpl",98),D(244,56,iT,Zp),h.bd=function(t,n){Ey(t,this.b),this.c.bd(this.a+t,n),++this.b},h.Xb=function(t){return Sn(t,this.b),this.c.Xb(this.a+t)},h.gd=function(t){var n;return Sn(t,this.b),n=this.c.gd(this.a+t),--this.b,n},h.hd=function(t,n){return Sn(t,this.b),this.c.hd(this.a+t,n)},h.gc=function(){return this.b},h.a=0,h.b=0,I(Lr,"AbstractList/SubList",244),D(266,q1,Tl,br),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new Mi(t)},h.Mc=function(t){return this.a._b(t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractMap/1",266),D(541,1,Oa,Mi),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.ld()},h.Qb=function(){this.a.Qb()},I(Lr,"AbstractMap/1/1",541),D(231,31,Wy,gi),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a.uc(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new fs(t)},h.gc=function(){return this.a.gc()},I(Lr,"AbstractMap/2",231),D(301,1,Oa,fs),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.md()},h.Qb=function(){this.a.Qb()},I(Lr,"AbstractMap/2/1",301),D(494,1,{494:1,44:1}),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),Jc(this.d,n.ld())&&Jc(this.e,n.md())):!1},h.ld=function(){return this.d},h.md=function(){return this.e},h.Hb=function(){return R5(this.d)^R5(this.e)},h.nd=function(t){return Zye(this,t)},h.Ib=function(){return this.d+"="+this.e},I(Lr,"AbstractMap/AbstractEntry",494),D(397,494,{494:1,397:1,44:1},cq),I(Lr,"AbstractMap/SimpleEntry",397),D(2082,1,che),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),Jc(this.ld(),n.ld())&&Jc(this.md(),n.md())):!1},h.Hb=function(){return R5(this.ld())^R5(this.md())},h.Ib=function(){return this.ld()+"="+this.md()},I(Lr,Mwt,2082),D(2090,2065,Zke),h.Xc=function(t){return rse(this.Ee(t))},h.tc=function(t){return Tut(this,t)},h._b=function(t){return e4e(this,t)},h.vc=function(){return new Rs(this)},h.Tc=function(){return Rst(this.Ge())},h.Yc=function(t){return rse(this.He(t))},h.xc=function(t){var n;return n=t,hc(this.Fe(n))},h.$c=function(t){return rse(this.Ie(t))},h.ec=function(){return new Fs(this)},h.Vc=function(){return Rst(this.Je())},h._c=function(t){return rse(this.Ke(t))},I(Lr,"AbstractNavigableMap",2090),D(629,q1,Tl,Rs),h.Hc=function(t){return De(t,44)&&Tut(this.b,l(t,44))},h.Kc=function(){return this.b.De()},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),this.b.Le(n)):!1},h.gc=function(){return this.b.gc()},I(Lr,"AbstractNavigableMap/EntrySet",629),D(1146,q1,eEe,Fs),h.Nc=function(){return new aq(this)},h.$b=function(){this.a.$b()},h.Hc=function(t){return e4e(this.a,t)},h.Kc=function(){var t;return t=this.a.vc().b.De(),new xs(t)},h.Mc=function(t){return e4e(this.a,t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractNavigableMap/NavigableKeySet",1146),D(1147,1,Oa,xs),h.Nb=function(t){Za(this,t)},h.Ob=function(){return lse(this.a.a)},h.Pb=function(){var t;return t=ort(this.a),t.ld()},h.Qb=function(){dit(this.a)},I(Lr,"AbstractNavigableMap/NavigableKeySet/1",1147),D(2103,31,Wy),h.Fc=function(t){return K8($E(this,t),aT),!0},h.Gc=function(t){return nr(t),BO(t!=this,"Can't add a queue to itself"),Ka(this,t)},h.$b=function(){for(;Koe(this)!=null;);},I(Lr,"AbstractQueue",2103),D(310,31,{4:1,20:1,31:1,16:1},z5,dct),h.Fc=function(t){return i6e(this,t),!0},h.$b=function(){l6e(this)},h.Hc=function(t){return Zft(new nA(this),t)},h.dc=function(){return l_(this)},h.Kc=function(){return new nA(this)},h.Mc=function(t){return w2n(new nA(this),t)},h.gc=function(){return this.c-this.b&this.a.length-1},h.Nc=function(){return new kn(this,272)},h.Qc=function(t){var n;return n=this.c-this.b&this.a.length-1,t.lengthn&&Ts(t,n,null),t},h.b=0,h.c=0,I(Lr,"ArrayDeque",310),D(459,1,Oa,nA),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a!=this.b},h.Pb=function(){return FV(this)},h.Qb=function(){Yht(this)},h.a=0,h.b=0,h.c=-1,I(Lr,"ArrayDeque/IteratorImpl",459),D(13,56,Uwt,bt,Bu,Ol),h.bd=function(t,n){pw(this,t,n)},h.Fc=function(t){return vt(this,t)},h.cd=function(t,n){return Q7e(this,t,n)},h.Gc=function(t){return ra(this,t)},h.$b=function(){ay(this.c,0)},h.Hc=function(t){return gc(this,t,0)!=-1},h.Jc=function(t){Vu(this,t)},h.Xb=function(t){return jt(this,t)},h.dd=function(t){return gc(this,t,0)},h.dc=function(){return this.c.length==0},h.Kc=function(){return new G(this)},h.gd=function(t){return t2(this,t)},h.Mc=function(t){return al(this,t)},h.ce=function(t,n){Bot(this,t,n)},h.hd=function(t,n){return rf(this,t,n)},h.gc=function(){return this.c.length},h.jd=function(t){Vs(this,t)},h.Pc=function(){return eH(this.c)},h.Qc=function(t){return j1(this,t)};var cOn=I(Lr,"ArrayList",13);D(7,1,Oa,G),h.Nb=function(t){Za(this,t)},h.Ob=function(){return Lc(this)},h.Pb=function(){return re(this)},h.Qb=function(){Q_(this)},h.a=0,h.b=-1,I(Lr,"ArrayList/1",7),D(2112,b.Function,{},Pe),h.Me=function(t,n){return Yi(t,n)},D(151,56,Gwt,Il),h.Hc=function(t){return Xht(this,t)!=-1},h.Jc=function(t){var n,r,a,o;for(nr(t),r=this.a,a=0,o=r.length;a0)throw ue(new Yn(lEe+t+" greater than "+this.e));return this.f.Te()?sot(this.c,this.b,this.a,t,n):Fot(this.c,t,n)},h.zc=function(t,n){if(!xue(this.c,this.f,t,this.b,this.a,this.e,this.d))throw ue(new Yn(t+" outside the range "+this.b+" to "+this.e));return b0t(this.c,t,n)},h.Bc=function(t){var n;return n=t,xue(this.c,this.f,n,this.b,this.a,this.e,this.d)?aot(this.c,n):null},h.Le=function(t){return yH(this,t.ld())&&L6e(this.c,t)},h.gc=function(){var t,n,r;if(this.f.Te()?this.a?n=OE(this.c,this.b,!0):n=OE(this.c,this.b,!1):n=j6e(this.c),!(n&&yH(this,n.d)&&n))return 0;for(t=0,r=new oce(this.c,this.f,this.b,this.a,this.e,this.d);lse(r.a);r.b=l(I5e(r.a),44))++t;return t},h.ad=function(t,n){if(this.f.Te()&&this.c.a.Ne(t,this.b)<0)throw ue(new Yn(lEe+t+Ywt+this.b));return this.f.Ue()?sot(this.c,t,n,this.e,this.d):Rot(this.c,t,n)},h.a=!1,h.d=!1,I(Lr,"TreeMap/SubMap",631),D(304,22,fhe,oq),h.Te=function(){return!1},h.Ue=function(){return!1};var O0e,N0e,P0e,B0e,fK=Fr(Lr,"TreeMap/SubMapType",304,Hr,Gbn,n0n);D(1143,304,fhe,hnt),h.Ue=function(){return!0},Fr(Lr,"TreeMap/SubMapType/1",1143,fK,null,null),D(1144,304,fhe,ynt),h.Te=function(){return!0},h.Ue=function(){return!0},Fr(Lr,"TreeMap/SubMapType/2",1144,fK,null,null),D(1145,304,fhe,lnt),h.Te=function(){return!0},Fr(Lr,"TreeMap/SubMapType/3",1145,fK,null,null);var M6t;D(157,q1,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},Lwe,Kp,ba),h.Nc=function(){return new aq(this)},h.Fc=function(t){return jO(this,t)},h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){return this.a.ec().Kc()},h.Mc=function(t){return tae(this,t)},h.gc=function(){return this.a.gc()};var gOn=I(Lr,"TreeSet",157);D(1082,1,{},xo),h.Ve=function(t,n){return wfn(this.a,t,n)},I(dhe,"BinaryOperator/lambda$0$Type",1082),D(1083,1,{},lh),h.Ve=function(t,n){return yfn(this.a,t,n)},I(dhe,"BinaryOperator/lambda$1$Type",1083),D(952,1,{},Pt),h.Kb=function(t){return t},I(dhe,"Function/lambda$0$Type",952),D(395,1,ti,Wl),h.Mb=function(t){return!this.a.Mb(t)},I(dhe,"Predicate/lambda$2$Type",395),D(581,1,{581:1});var D6t=I(aL,"Handler",581);D(2107,1,yP),h.xe=function(){return"DUMMY"},h.Ib=function(){return this.xe()};var w_e;I(aL,"Level",2107),D(1706,2107,yP,Qe),h.xe=function(){return"INFO"},I(aL,"Level/LevelInfo",1706),D(1843,1,{},FQe);var F0e;I(aL,"LogManager",1843),D(1896,1,yP,fit),h.b=null,I(aL,"LogRecord",1896),D(525,1,{525:1},Soe),h.e=!1;var I6t=!1,O6t=!1,G1=!1,N6t=!1,P6t=!1;I(aL,"Logger",525),D(835,581,{581:1},Dt),I(aL,"SimpleConsoleLogHandler",835),D(108,22,{3:1,34:1,22:1,108:1},dse);var y_e,Ec,i4,oc=Fr(sa,"Collector/Characteristics",108,Hr,O2n,r0n),B6t;D(758,1,{},h5e),I(sa,"CollectorImpl",758),D(1074,1,{},kt),h.Ve=function(t,n){return d4n(l(t,213),l(n,213))},I(sa,"Collectors/10methodref$merge$Type",1074),D(1075,1,{},On),h.Kb=function(t){return gct(l(t,213))},I(sa,"Collectors/11methodref$toString$Type",1075),D(1076,1,{},Z2),h.Kb=function(t){return Hn(),!!sye(t)},I(sa,"Collectors/12methodref$test$Type",1076),D(144,1,{},ht),h.Yd=function(t,n){l(t,16).Fc(n)},I(sa,"Collectors/20methodref$add$Type",144),D(146,1,{},zr),h.Xe=function(){return new bt},I(sa,"Collectors/21methodref$ctor$Type",146),D(359,1,{},yt),h.Xe=function(){return new Ks},I(sa,"Collectors/23methodref$ctor$Type",359),D(360,1,{},ji),h.Yd=function(t,n){na(l(t,49),n)},I(sa,"Collectors/24methodref$add$Type",360),D(1069,1,{},xi),h.Ve=function(t,n){return ret(l(t,15),l(n,16))},I(sa,"Collectors/4methodref$addAll$Type",1069),D(1073,1,{},Ma),h.Yd=function(t,n){Jg(l(t,213),l(n,484))},I(sa,"Collectors/9methodref$add$Type",1073),D(1072,1,{},Lit),h.Xe=function(){return new Hm(this.a,this.b,this.c)},I(sa,"Collectors/lambda$15$Type",1072),D(1077,1,{},zs),h.Xe=function(){var t;return t=new e2,h2(t,(Hn(),!1),new bt),h2(t,!0,new bt),t},I(sa,"Collectors/lambda$22$Type",1077),D(1078,1,{},eb),h.Xe=function(){return he(le(wa,1),Rn,1,5,[this.a])},I(sa,"Collectors/lambda$25$Type",1078),D(1079,1,{},G0),h.Yd=function(t,n){jdn(this.a,jm(t))},I(sa,"Collectors/lambda$26$Type",1079),D(1080,1,{},zp),h.Ve=function(t,n){return dgn(this.a,jm(t),jm(n))},I(sa,"Collectors/lambda$27$Type",1080),D(1081,1,{},ao),h.Kb=function(t){return jm(t)[0]},I(sa,"Collectors/lambda$28$Type",1081),D(728,1,{},Tr),h.Ve=function(t,n){return U4e(t,n)},I(sa,"Collectors/lambda$4$Type",728),D(145,1,{},Fn),h.Ve=function(t,n){return Wun(l(t,16),l(n,16))},I(sa,"Collectors/lambda$42$Type",145),D(361,1,{},qn),h.Ve=function(t,n){return Yun(l(t,49),l(n,49))},I(sa,"Collectors/lambda$50$Type",361),D(362,1,{},Un),h.Kb=function(t){return l(t,49)},I(sa,"Collectors/lambda$51$Type",362),D(1068,1,{},fd),h.Yd=function(t,n){wyn(this.a,l(t,85),n)},I(sa,"Collectors/lambda$7$Type",1068),D(1070,1,{},At),h.Ve=function(t,n){return Y3n(l(t,85),l(n,85),new xi)},I(sa,"Collectors/lambda$8$Type",1070),D(1071,1,{},Wv),h.Kb=function(t){return G4n(this.a,l(t,85))},I(sa,"Collectors/lambda$9$Type",1071),D(550,1,{}),h.$e=function(){tA(this)},h.d=!1,I(sa,"TerminatableStream",550),D(827,550,hEe,Vye),h.$e=function(){tA(this)},I(sa,"DoubleStreamImpl",827),D(1847,736,Ph,Mit),h.Re=function(t){return Y6n(this,l(t,189))},h.a=null,I(sa,"DoubleStreamImpl/2",1847),D(1848,1,LP,sy),h.Pe=function(t){qln(this.a,t)},I(sa,"DoubleStreamImpl/2/lambda$0$Type",1848),D(1845,1,LP,E8),h.Pe=function(t){zln(this.a,t)},I(sa,"DoubleStreamImpl/lambda$0$Type",1845),D(1846,1,LP,x5),h.Pe=function(t){M1t(this.a,t)},I(sa,"DoubleStreamImpl/lambda$2$Type",1846),D(1397,735,Ph,wut),h.Re=function(t){return Pbn(this,l(t,202))},h.a=0,h.b=0,h.c=0,I(sa,"IntStream/5",1397),D(806,550,hEe,Uye),h.$e=function(){tA(this)},h._e=function(){return fb(this),this.a},I(sa,"IntStreamImpl",806),D(807,550,hEe,b3e),h.$e=function(){tA(this)},h._e=function(){return fb(this),Sye(),L6t},I(sa,"IntStreamImpl/Empty",807),D(1687,1,kP,T8),h.Dd=function(t){$ft(this.a,t)},I(sa,"IntStreamImpl/lambda$4$Type",1687);var pOn=ks(sa,"Stream");D(26,550,{533:1,687:1,848:1},bn),h.$e=function(){tA(this)};var zx;I(sa,"StreamImpl",26),D(1102,500,Ph,iit),h.Bd=function(t){for(;Rvn(this);){if(this.a.Bd(t))return!0;tA(this.b),this.b=null,this.a=null}return!1},I(sa,"StreamImpl/1",1102),D(1103,1,fr,ZS),h.Cd=function(t){hdn(this.a,l(t,848))},I(sa,"StreamImpl/1/lambda$0$Type",1103),D(1104,1,ti,k5),h.Mb=function(t){return na(this.a,t)},I(sa,"StreamImpl/1methodref$add$Type",1104),D(1105,500,Ph,Rat),h.Bd=function(t){var n;return this.a||(n=new bt,this.b.a.Nb(new Qd(n)),Cn(),Vs(n,this.c),this.a=new kn(n,16)),xht(this.a,t)},h.a=null,I(sa,"StreamImpl/5",1105),D(1106,1,fr,Qd),h.Cd=function(t){vt(this.a,t)},I(sa,"StreamImpl/5/2methodref$add$Type",1106),D(737,500,Ph,$6e),h.Bd=function(t){for(this.b=!1;!this.b&&this.c.Bd(new xet(this,t)););return this.b},h.b=!1,I(sa,"StreamImpl/FilterSpliterator",737),D(1096,1,fr,xet),h.Cd=function(t){ogn(this.a,this.b,t)},I(sa,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),D(1091,736,Ph,Mut),h.Re=function(t){return zfn(this,l(t,189))},I(sa,"StreamImpl/MapToDoubleSpliterator",1091),D(1095,1,fr,ket),h.Cd=function(t){hln(this.a,this.b,t)},I(sa,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),D(1090,735,Ph,Dut),h.Re=function(t){return qfn(this,l(t,202))},I(sa,"StreamImpl/MapToIntSpliterator",1090),D(1094,1,fr,Eet),h.Cd=function(t){fln(this.a,this.b,t)},I(sa,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),D(734,500,Ph,C6e),h.Bd=function(t){return tit(this,t)},I(sa,"StreamImpl/MapToObjSpliterator",734),D(1093,1,fr,Tet),h.Cd=function(t){dln(this.a,this.b,t)},I(sa,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),D(1092,500,Ph,aft),h.Bd=function(t){for(;hse(this.b,0);){if(!this.a.Bd(new wt))return!1;this.b=Df(this.b,1)}return this.a.Bd(t)},h.b=0,I(sa,"StreamImpl/SkipSpliterator",1092),D(1097,1,fr,wt),h.Cd=function(t){},I(sa,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),D(626,1,fr,on),h.Cd=function(t){Eie(this,t)},I(sa,"StreamImpl/ValueConsumer",626),D(1098,1,fr,fn),h.Cd=function(t){Am()},I(sa,"StreamImpl/lambda$0$Type",1098),D(1099,1,fr,An),h.Cd=function(t){Am()},I(sa,"StreamImpl/lambda$1$Type",1099),D(1100,1,{},_1),h.Ve=function(t,n){return y0n(this.a,t,n)},I(sa,"StreamImpl/lambda$4$Type",1100),D(1101,1,fr,Cet),h.Cd=function(t){Sfn(this.b,this.a,t)},I(sa,"StreamImpl/lambda$5$Type",1101),D(1107,1,fr,Jd),h.Cd=function(t){F3n(this.a,l(t,380))},I(sa,"TerminatableStream/lambda$0$Type",1107),D(2142,1,{}),D(2014,1,{},oo),I("javaemul.internal","ConsoleLogger",2014);var bOn=0;D(2134,1,{}),D(1830,1,fr,jo),h.Cd=function(t){l(t,317)},I(oT,"BowyerWatsonTriangulation/lambda$0$Type",1830),D(1831,1,fr,Em),h.Cd=function(t){Ka(this.a,l(t,317).e)},I(oT,"BowyerWatsonTriangulation/lambda$1$Type",1831),D(1832,1,fr,$o),h.Cd=function(t){l(t,177)},I(oT,"BowyerWatsonTriangulation/lambda$2$Type",1832),D(1827,1,ii,Lz),h.Ne=function(t,n){return ymn(this.a,l(t,177),l(n,177))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(oT,"NaiveMinST/lambda$0$Type",1827),D(449,1,{},Yv),I(oT,"NodeMicroLayout",449),D(177,1,{177:1},B8),h.Fb=function(t){var n;return De(t,177)?(n=l(t,177),Jc(this.a,n.a)&&Jc(this.b,n.b)||Jc(this.a,n.b)&&Jc(this.b,n.a)):!1},h.Hb=function(){return R5(this.a)+R5(this.b)};var mOn=I(oT,"TEdge",177);D(317,1,{317:1},Cke),h.Fb=function(t){var n;return De(t,317)?(n=l(t,317),rV(this,n.a)&&rV(this,n.b)&&rV(this,n.c)):!1},h.Hb=function(){return R5(this.a)+R5(this.b)+R5(this.c)},I(oT,"TTriangle",317),D(225,1,{225:1},Nq),I(oT,"Tree",225),D(1218,1,{},Eot),I(Jwt,"Scanline",1218);var F6t=ks(Jwt,Zwt);D(1758,1,{},vht),I(gg,"CGraph",1758),D(316,1,{316:1},Sot),h.b=0,h.c=0,h.d=0,h.g=0,h.i=0,h.k=ia,I(gg,"CGroup",316),D(830,1,{},Iwe),I(gg,"CGroup/CGroupBuilder",830),D(60,1,{60:1},Rrt),h.Ib=function(){var t;return this.j?ei(this.j.Kb(this)):(Gg(dK),dK.o+"@"+(t=fw(this)>>>0,t.toString(16)))},h.f=0,h.i=ia;var dK=I(gg,"CNode",60);D(829,1,{},Owe),I(gg,"CNode/CNodeBuilder",829);var R6t;D(1590,1,{},Pa),h.ff=function(t,n){return 0},h.gf=function(t,n){return 0},I(gg,t3t,1590),D(1853,1,{},wo),h.cf=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;for(C=gs,a=new G(t.a.b);a.aa.d.c||a.d.c==f.d.c&&a.d.b0?t+this.n.d+this.n.a:0},h.kf=function(){var t,n,r,a,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].kf());else if(this.g)o=E8e(this,Eue(this,null,!0));else for(n=(t1(),he(le(s4,1),it,237,0,[Gc,$u,Kc])),r=0,a=n.length;r0?o+this.n.b+this.n.c:0},h.lf=function(){var t,n,r,a,o;if(this.g)for(t=Eue(this,null,!1),r=(t1(),he(le(s4,1),it,237,0,[Gc,$u,Kc])),a=0,o=r.length;a0&&(a[0]+=this.d,r-=a[0]),a[2]>0&&(a[2]+=this.d,r-=a[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+t.d+(this.c.a-r)/2,a[1]=b.Math.max(a[1],r),x6e(this,$u,n.d+t.d+a[0]-(a[1]-r)/2,a)},h.b=null,h.d=0,h.e=!1,h.f=!1,h.g=!1;var q0e=0,gK=0;I(ev,"GridContainerCell",1538),D(471,22,{3:1,34:1,22:1,471:1},pse);var Bb,Fd,v0,W6t=Fr(ev,"HorizontalLabelAlignment",471,Hr,P2n,c0n),Y6t;D(314,217,{217:1,314:1},uot,yht,not),h.jf=function(){return Hit(this)},h.kf=function(){return j4e(this)},h.a=0,h.c=!1;var vOn=I(ev,"LabelCell",314);D(252,336,{217:1,336:1,252:1},DA),h.jf=function(){return tP(this)},h.kf=function(){return nP(this)},h.lf=function(){hle(this)},h.mf=function(){fle(this)},h.b=0,h.c=0,h.d=!1,I(ev,"StripContainerCell",252),D(1691,1,ti,Xc),h.Mb=function(t){return cun(l(t,217))},I(ev,"StripContainerCell/lambda$0$Type",1691),D(1692,1,{},Bc),h.Ye=function(t){return l(t,217).kf()},I(ev,"StripContainerCell/lambda$1$Type",1692),D(1693,1,ti,ja),h.Mb=function(t){return uun(l(t,217))},I(ev,"StripContainerCell/lambda$2$Type",1693),D(1694,1,{},Ou),h.Ye=function(t){return l(t,217).jf()},I(ev,"StripContainerCell/lambda$3$Type",1694),D(472,22,{3:1,34:1,22:1,472:1},bse);var w0,Fb,a1,X6t=Fr(ev,"VerticalLabelAlignment",472,Hr,N2n,u0n),Q6t;D(800,1,{},zke),h.c=0,h.d=0,h.k=0,h.s=0,h.t=0,h.v=!1,h.w=0,h.D=!1,I(tG,"NodeContext",800),D(1536,1,ii,Sa),h.Ne=function(t,n){return tnt(l(t,64),l(n,64))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(tG,"NodeContext/0methodref$comparePortSides$Type",1536),D(1537,1,ii,Po),h.Ne=function(t,n){return Rxn(l(t,117),l(n,117))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(tG,"NodeContext/1methodref$comparePortContexts$Type",1537),D(164,22,{3:1,34:1,22:1,164:1},of);var J6t,Z6t,e7t,t7t,n7t,r7t,i7t,s7t,a7t,o7t,c7t,u7t,l7t,h7t,f7t,d7t,g7t,p7t,b7t,m7t,v7t,H0e,w7t=Fr(tG,"NodeLabelLocation",164,Hr,eue,l0n),y7t;D(117,1,{117:1},c2t),h.a=!1,I(tG,"PortContext",117),D(1541,1,fr,Fc),h.Cd=function(t){vZe(l(t,314))},I(DP,g3t,1541),D(1542,1,ti,xa),h.Mb=function(t){return!!l(t,117).c},I(DP,p3t,1542),D(1543,1,fr,Ba),h.Cd=function(t){vZe(l(t,117).c)},I(DP,"LabelPlacer/lambda$2$Type",1543);var q_e;D(1540,1,fr,ga),h.Cd=function(t){py(),zcn(l(t,117))},I(DP,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),D(801,1,fr,v4e),h.Cd=function(t){tln(this.b,this.c,this.a,l(t,187))},h.a=!1,h.c=!1,I(DP,"NodeLabelCellCreator/lambda$0$Type",801),D(1539,1,fr,Die),h.Cd=function(t){Vcn(this.a,l(t,187))},I(DP,"PortContextCreator/lambda$0$Type",1539);var pK;D(1902,1,{},kh),I(uT,"GreedyRectangleStripOverlapRemover",1902),D(1903,1,ii,lu),h.Ne=function(t,n){return Ohn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),D(1849,1,{},zQe),h.a=5,h.e=0,I(uT,"RectangleStripOverlapRemover",1849),D(1850,1,ii,o5),h.Ne=function(t,n){return Nhn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),D(1852,1,ii,Wh),h.Ne=function(t,n){return Egn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),D(417,22,{3:1,34:1,22:1,417:1},uq);var rB,V0e,U0e,iB,x7t=Fr(uT,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,Hr,Ybn,h0n),k7t;D(226,1,{226:1},Dae),I(uT,"RectangleStripOverlapRemover/RectangleNode",226),D(1851,1,fr,Iie),h.Cd=function(t){l7n(this.a,l(t,226))},I(uT,"RectangleStripOverlapRemover/lambda$1$Type",1851),D(1323,1,ii,od),h.Ne=function(t,n){return MLn(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),D(1326,1,{},Gd),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),D(1327,1,ti,cd),h.Mb=function(t){return l(t,332).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),D(1328,1,ti,Kd),h.Mb=function(t){return l(t,332).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),D(1321,1,ii,$g),h.Ne=function(t,n){return a_n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),D(1324,1,{},as),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),D(781,1,ii,wn),h.Ne=function(t,n){return q3n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/MinNumOfExtensionsComparator",781),D(1319,1,ii,Zr),h.Ne=function(t,n){return Xwn(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/MinPerimeterComparator",1319),D(1320,1,ii,Zi),h.Ne=function(t,n){return N6n(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),D(1322,1,ii,nu),h.Ne=function(t,n){return __n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),D(1325,1,{},vu),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),D(782,1,{},L3e),h.Ve=function(t,n){return zbn(this,l(t,42),l(n,176))},I(Md,"SuccessorCombination",782),D(649,1,{},Dl),h.Ve=function(t,n){var r;return rEn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorJitter",649),D(648,1,{},Yh),h.Ve=function(t,n){var r;return HCn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorLineByLine",648),D(573,1,{},w1),h.Ve=function(t,n){var r;return rTn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorManhattan",573),D(1344,1,{},$0),h.Ve=function(t,n){var r;return dCn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorMaxNormWindingInMathPosSense",1344),D(409,1,{},E5),h.Ve=function(t,n){return u5e(this,t,n)},h.c=!1,h.d=!1,h.e=!1,h.f=!1,I(Md,"SuccessorQuadrantsGeneric",409),D(1345,1,{},Wi),h.Kb=function(t){return l(t,334).a},I(Md,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),D(332,22,{3:1,34:1,22:1,332:1},lq),h.a=!1;var sB,aB,oB,cB,E7t=Fr(rG,kEe,332,Hr,Kbn,f0n),T7t;D(1317,1,{}),h.Ib=function(){var t,n,r,a,o,f;for(r=" ",t=pt(0),o=0;o=0?"b"+t+"["+Coe(this.a)+"]":"b["+Coe(this.a)+"]"):"b_"+fw(this)},I(OP,"FBendpoint",250),D(290,137,{3:1,290:1,96:1,137:1},jrt),h.Ib=function(){return Coe(this)},I(OP,"FEdge",290),D(235,137,{3:1,235:1,96:1,137:1},KH);var yOn=I(OP,"FGraph",235);D(454,309,{3:1,454:1,309:1,96:1,137:1},zct),h.Ib=function(){return this.b==null||this.b.length==0?"l["+Coe(this.a)+"]":"l_"+this.b},I(OP,"FLabel",454),D(153,309,{3:1,153:1,309:1,96:1,137:1},wnt),h.Ib=function(){return X5e(this)},h.a=0,I(OP,"FNode",153),D(2100,1,{}),h.vf=function(t){yke(this,t)},h.wf=function(){qdt(this)},h.d=0,I(DEe,"AbstractForceModel",2100),D(641,2100,{641:1},jft),h.uf=function(t,n){var r,a,o,f,g;return pvt(this.f,t,n),o=ma(Ja(n.d),t.d),g=b.Math.sqrt(o.a*o.a+o.b*o.b),a=b.Math.max(0,g-eA(t.e)/2-eA(n.e)/2),r=Qpt(this.e,t,n),r>0?f=-ygn(a,this.c)*r:f=Yhn(a,this.b)*l(Q(t,(b0(),qx)),17).a,md(o,f/g),o},h.vf=function(t){yke(this,t),this.a=l(Q(t,(b0(),xK)),17).a,this.c=ze(Ge(Q(t,kK))),this.b=ze(Ge(Q(t,J0e)))},h.xf=function(t){return t0&&(f-=iun(a,this.a)*r),md(o,f*this.b/g),o},h.vf=function(t){var n,r,a,o,f,g,w;for(yke(this,t),this.b=ze(Ge(Q(t,(b0(),Z0e)))),this.c=this.b/l(Q(t,xK),17).a,a=t.e.c.length,f=0,o=0,w=new G(t.e);w.a0},h.a=0,h.b=0,h.c=0,I(DEe,"FruchtermanReingoldModel",642),D(860,1,Pf,KS),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,aG),""),"Force Model"),"Determines the model for force calculation."),Q_e),(g2(),ps)),J_e),un((r1(),Pn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,IEe),""),"Iterations"),"The number of iterations on the force model."),pt(300)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,OEe),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),pt(0)),Tc),ro),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Dhe),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Dd),fo),ta),un(Pn)))),Qs(t,Dhe,aG,V7t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ihe),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),fo),ta),un(Pn)))),Qs(t,Ihe,aG,z7t),rwt((new WS,t))};var R7t,j7t,Q_e,$7t,z7t,q7t,H7t,V7t;I(uL,"ForceMetaDataProvider",860),D(432,22,{3:1,34:1,22:1,432:1},D3e);var Q0e,yK,J_e=Fr(uL,"ForceModelStrategy",432,Hr,zpn,p0n),U7t;D(b2,1,Pf,WS),h.hf=function(t){rwt(t)};var G7t,K7t,Z_e,xK,eAe,W7t,Y7t,X7t,Q7t,tAe,J7t,nAe,rAe,Z7t,qx,e8t,J0e,iAe,t8t,n8t,kK,Z0e,r8t,i8t,s8t,sAe,a8t;I(uL,"ForceOptions",b2),D(1001,1,{},ld),h.sf=function(){var t;return t=new Dwe,t},h.tf=function(t){},I(uL,"ForceOptions/ForceFactory",1001);var hB,$L,Hx,EK;D(861,1,Pf,rz),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,PEe),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Hn(),!1)),(g2(),ya)),Ns),un((r1(),ha))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BEe),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),fo),ta),rs(Pn,he(le(xg,1),it,170,0,[zd]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FEe),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),aAe),ps),dAe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,REe),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Dd),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,jEe),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),pt(Ii)),Tc),ro),un(Pn)))),Dvt((new iz,t))};var o8t,c8t,aAe,u8t,l8t,h8t;I(uL,"StressMetaDataProvider",861),D(1004,1,Pf,iz),h.hf=function(t){Dvt(t)};var TK,oAe,cAe,uAe,lAe,hAe,f8t,d8t,g8t,p8t,fAe,b8t;I(uL,"StressOptions",1004),D(1005,1,{},y1),h.sf=function(){var t;return t=new $rt,t},h.tf=function(t){},I(uL,"StressOptions/StressFactory",1005),D(1110,205,tv,$rt),h.rf=function(t,n){var r,a,o,f,g;for(n.Ug(A3t,1),Rt(Bt(at(t,(VN(),lAe))))?Rt(Bt(at(t,fAe)))||KO((r=new Yv((aw(),new Jv(t))),r)):W2t(new Dwe,t,n.eh(1)),o=u0t(t),a=$mt(this.a,o),g=a.Kc();g.Ob();)f=l(g.Pb(),235),!(f.e.c.length<=1)&&(_Ln(this.b,f),JEn(this.b),Vu(f.d,new ud));o=ewt(a),lwt(o),n.Vg()},I(uG,"StressLayoutProvider",1110),D(1111,1,fr,ud),h.Cd=function(t){Ake(l(t,454))},I(uG,"StressLayoutProvider/lambda$0$Type",1111),D(1002,1,{},BQe),h.c=0,h.e=0,h.g=0,I(uG,"StressMajorization",1002),D(391,22,{3:1,34:1,22:1,391:1},mse);var e1e,t1e,n1e,dAe=Fr(uG,"StressMajorization/Dimension",391,Hr,F2n,b0n),m8t;D(1003,1,ii,Dz),h.Ne=function(t,n){return Vfn(this.a,l(t,153),l(n,153))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uG,"StressMajorization/lambda$0$Type",1003),D(1192,1,{},Got),I(Bx,"ElkLayered",1192),D(1193,1,fr,Iz),h.Cd=function(t){_kn(this.a,l(t,36))},I(Bx,"ElkLayered/lambda$0$Type",1193),D(1194,1,fr,Oie),h.Cd=function(t){Ufn(this.a,l(t,36))},I(Bx,"ElkLayered/lambda$1$Type",1194),D(1281,1,{},Lnt);var v8t,w8t,y8t;I(Bx,"GraphConfigurator",1281),D(770,1,fr,qp),h.Cd=function(t){tpt(this.a,l(t,10))},I(Bx,"GraphConfigurator/lambda$0$Type",770),D(771,1,{},u5),h.Kb=function(t){return mxe(),new bn(null,new kn(l(t,30).a,16))},I(Bx,"GraphConfigurator/lambda$1$Type",771),D(772,1,fr,n_),h.Cd=function(t){tpt(this.a,l(t,10))},I(Bx,"GraphConfigurator/lambda$2$Type",772),D(1109,205,tv,qQe),h.rf=function(t,n){var r;r=oLn(new VQe,t),qe(at(t,(Nt(),p4)))===qe((rp(),A2))?j4n(this.a,r,n):WEn(this.a,r,n),n.$g()||Kvt(new b8,r)},I(Bx,"LayeredLayoutProvider",1109),D(367,22,{3:1,34:1,22:1,367:1},oO);var y0,vg,bu,_u,mc,gAe=Fr(Bx,"LayeredPhases",367,Hr,zmn,m0n),x8t;D(1717,1,{},rft),h.i=0;var k8t;I(jP,"ComponentsToCGraphTransformer",1717);var E8t;D(1718,1,{},mm),h.yf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(jP,"ComponentsToCGraphTransformer/1",1718),D(86,1,{86:1}),h.i=0,h.k=!0,h.o=ia;var r1e=I(dL,"CNode",86);D(470,86,{470:1,86:1},Pye,U8e),h.Ib=function(){return""},I(jP,"ComponentsToCGraphTransformer/CRectNode",470),D(1688,1,{},q9);var i1e,s1e;I(jP,"OneDimensionalComponentsCompaction",1688),D(1689,1,{},Vv),h.Kb=function(t){return A2n(l(t,42))},h.Fb=function(t){return this===t},I(jP,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),D(1690,1,{},Y7),h.Kb=function(t){return z4n(l(t,42))},h.Fb=function(t){return this===t},I(jP,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),D(1720,1,{},Zst),I(dL,"CGraph",1720),D(194,1,{194:1},Qce),h.b=0,h.c=0,h.e=0,h.g=!0,h.i=ia,I(dL,"CGroup",194),D(1719,1,{},G2),h.yf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(dL,t3t,1719),D(1721,1,{},Zpt),h.d=!1;var T8t,a1e=I(dL,i3t,1721);D(1722,1,{},X7),h.Kb=function(t){return v3e(),Hn(),l(l(t,42).a,86).d.e!=0},h.Fb=function(t){return this===t},I(dL,s3t,1722),D(833,1,{},G4e),h.a=!1,h.b=!1,h.c=!1,h.d=!1,I(dL,a3t,833),D(1898,1,{},pst),I(lG,o3t,1898);var fB=ks(rv,Zwt);D(1899,1,{382:1},Yat),h.bf=function(t){nSn(this,l(t,476))},I(lG,c3t,1899),D(Lb,1,ii,l5),h.Ne=function(t,n){return hpn(l(t,86),l(n,86))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(lG,u3t,Lb),D(476,1,{476:1},O3e),h.a=!1,I(lG,l3t,476),D(1901,1,ii,X3),h.Ne=function(t,n){return f8n(l(t,476),l(n,476))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(lG,h3t,1901),D(148,1,{148:1},Ik,L4e),h.Fb=function(t){var n;return t==null||xOn!=bh(t)?!1:(n=l(t,148),Jc(this.c,n.c)&&Jc(this.d,n.d))},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.c,this.d]))},h.Ib=function(){return"("+this.c+Co+this.d+(this.a?"cx":"")+this.b+")"},h.a=!0,h.c=0,h.d=0;var xOn=I(rv,"Point",148);D(416,22,{3:1,34:1,22:1,416:1},fq);var s3,a4,M6,o4,C8t=Fr(rv,"Point/Quadrant",416,Hr,Xbn,v0n),S8t;D(1708,1,{},$Qe),h.b=null,h.c=null,h.d=null,h.e=null,h.f=null;var _8t,A8t,L8t,M8t,D8t;I(rv,"RectilinearConvexHull",1708),D(583,1,{382:1},nU),h.bf=function(t){$vn(this,l(t,148))},h.b=0;var pAe;I(rv,"RectilinearConvexHull/MaximalElementsEventHandler",583),D(1710,1,ii,Fp),h.Ne=function(t,n){return fpn(Ge(t),Ge(n))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),D(1709,1,{382:1},wht),h.bf=function(t){mCn(this,l(t,148))},h.a=0,h.b=null,h.c=null,h.d=null,h.e=null,I(rv,"RectilinearConvexHull/RectangleEventHandler",1709),D(1711,1,ii,nI),h.Ne=function(t,n){return ybn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$0$Type",1711),D(1712,1,ii,$J),h.Ne=function(t,n){return xbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$1$Type",1712),D(1713,1,ii,vm),h.Ne=function(t,n){return wbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$2$Type",1713),D(1714,1,ii,hu),h.Ne=function(t,n){return kbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$3$Type",1714),D(1715,1,ii,zJ),h.Ne=function(t,n){return Zxn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$4$Type",1715),D(1716,1,{},Tot),I(rv,"Scanline",1716),D(2104,1,{}),I(V1,"AbstractGraphPlacer",2104),D(335,1,{335:1},hrt),h.Ff=function(t){return this.Gf(t)?(xn(this.b,l(Q(t,(ft(),pp)),21),t),!0):!1},h.Gf=function(t){var n,r,a,o;for(n=l(Q(t,(ft(),pp)),21),o=l($i(Xi,n),21),a=o.Kc();a.Ob();)if(r=l(a.Pb(),21),!l($i(this.b,r),15).dc())return!1;return!0};var Xi;I(V1,"ComponentGroup",335),D(779,2104,{},Nwe),h.Hf=function(t){var n,r;for(r=new G(this.a);r.ar&&(L=0,B+=w+a,w=0),E=f.c,KE(f,L+E.a,B+E.b),Y0(E),o=b.Math.max(o,L+C.a),w=b.Math.max(w,C.b),L+=C.a+a;n.f.a=o,n.f.b=B+w},h.Jf=function(t,n){var r,a,o,f,g;if(qe(Q(n,(Nt(),g4)))===qe((Km(),c4))){for(a=t.Kc();a.Ob();){for(r=l(a.Pb(),36),g=0,f=new G(r.a);f.ar&&!l(Q(f,(ft(),pp)),21).Hc((Ct(),Qn))||E&&l(Q(E,(ft(),pp)),21).Hc((Ct(),ar))||l(Q(f,(ft(),pp)),21).Hc((Ct(),er)))&&(z=B,V+=w+a,w=0),C=f.c,l(Q(f,(ft(),pp)),21).Hc((Ct(),Qn))&&(z=o+a),KE(f,z+C.a,V+C.b),o=b.Math.max(o,z+L.a),l(Q(f,pp),21).Hc(Dr)&&(B=b.Math.max(B,z+L.a+a)),Y0(C),w=b.Math.max(w,L.b),z+=L.a+a,E=f;n.f.a=o,n.f.b=V+w},h.Jf=function(t,n){},I(V1,"ModelOrderRowGraphPlacer",1313),D(1311,1,ii,cj),h.Ne=function(t,n){return j3n(l(t,36),l(n,36))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(V1,"SimpleRowGraphPlacer/1",1311);var O8t;D(1280,1,Ld,q0),h.Lb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),cc)),75),!!n&&n.b!=0},h.Fb=function(t){return this===t},h.Mb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),cc)),75),!!n&&n.b!=0},I(hG,"CompoundGraphPostprocessor/1",1280),D(1279,1,ts,UQe),h.Kf=function(t,n){kdt(this,l(t,36),n)},I(hG,"CompoundGraphPreprocessor",1279),D(453,1,{453:1},f1t),h.c=!1,I(hG,"CompoundGraphPreprocessor/ExternalPort",453),D(249,1,{249:1},Kq),h.Ib=function(){return aae(this.c)+":"+Kpt(this.b)},I(hG,"CrossHierarchyEdge",249),D(777,1,ii,GI),h.Ne=function(t,n){return $7n(this,l(t,249),l(n,249))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(hG,"CrossHierarchyEdgeComparator",777),D(305,137,{3:1,305:1,96:1,137:1}),h.p=0,I(Cu,"LGraphElement",305),D(18,305,{3:1,18:1,305:1,96:1,137:1},Tw),h.Ib=function(){return Kpt(this)};var u1e=I(Cu,"LEdge",18);D(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},o7e),h.Jc=function(t){to(this,t)},h.Kc=function(){return new G(this.b)},h.Ib=function(){return this.b.c.length==0?"G-unlayered"+Tb(this.a):this.a.c.length==0?"G-layered"+Tb(this.b):"G[layerless"+Tb(this.a)+", layers"+Tb(this.b)+"]"};var N8t=I(Cu,"LGraph",36),P8t;D(666,1,{}),h.Lf=function(){return this.e.n},h.of=function(t){return Q(this.e,t)},h.Mf=function(){return this.e.o},h.Nf=function(){return this.e.p},h.pf=function(t){return ns(this.e,t)},h.Of=function(t){this.e.n.a=t.a,this.e.n.b=t.b},h.Pf=function(t){this.e.o.a=t.a,this.e.o.b=t.b},h.Qf=function(t){this.e.p=t},I(Cu,"LGraphAdapters/AbstractLShapeAdapter",666),D(474,1,{853:1},Tm),h.Rf=function(){var t,n;if(!this.b)for(this.b=eg(this.a.b.c.length),n=new G(this.a.b);n.a0&&H0t((Xn(n-1,t.length),t.charCodeAt(n-1)),N3t);)--n;if(f> ",t),fU(r)),hi(wu((t.a+="[",t),r.i),"]")),t.a},h.c=!0,h.d=!1;var yAe,xAe,kAe,EAe,TAe,CAe,F8t=I(Cu,"LPort",12);D(408,1,hg,T5),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=new G(this.a.e),new jWe(t)},I(Cu,"LPort/1",408),D(1309,1,Oa,jWe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(re(this.a),18).c},h.Ob=function(){return Lc(this.a)},h.Qb=function(){Q_(this.a)},I(Cu,"LPort/1/1",1309),D(369,1,hg,C8),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=new G(this.a.g),new vwe(t)},I(Cu,"LPort/2",369),D(776,1,Oa,vwe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(re(this.a),18).d},h.Ob=function(){return Lc(this.a)},h.Qb=function(){Q_(this.a)},I(Cu,"LPort/2/1",776),D(1302,1,hg,Met),h.Jc=function(t){to(this,t)},h.Kc=function(){return new N1(this)},I(Cu,"LPort/CombineIter",1302),D(208,1,Oa,N1),h.Nb=function(t){Za(this,t)},h.Qb=function(){aZe()},h.Ob=function(){return $_(this)},h.Pb=function(){return Lc(this.a)?re(this.a):re(this.b)},I(Cu,"LPort/CombineIter/1",208),D(1303,1,Ld,K2),h.Lb=function(t){return Lst(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).g.c.length!=0},I(Cu,"LPort/lambda$0$Type",1303),D(1304,1,Ld,J3),h.Lb=function(t){return Mst(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).e.c.length!=0},I(Cu,"LPort/lambda$1$Type",1304),D(1305,1,Ld,HJ),h.Lb=function(t){return kl(),l(t,12).j==(Ct(),Qn)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).j==(Ct(),Qn)},I(Cu,"LPort/lambda$2$Type",1305),D(1306,1,Ld,wm),h.Lb=function(t){return kl(),l(t,12).j==(Ct(),ar)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).j==(Ct(),ar)},I(Cu,"LPort/lambda$3$Type",1306),D(1307,1,Ld,VJ),h.Lb=function(t){return kl(),l(t,12).j==(Ct(),Dr)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).j==(Ct(),Dr)},I(Cu,"LPort/lambda$4$Type",1307),D(1308,1,Ld,UJ),h.Lb=function(t){return kl(),l(t,12).j==(Ct(),er)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).j==(Ct(),er)},I(Cu,"LPort/lambda$5$Type",1308),D(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},yu),h.Jc=function(t){to(this,t)},h.Kc=function(){return new G(this.a)},h.Ib=function(){return"L_"+gc(this.b.b,this,0)+Tb(this.a)},I(Cu,"Layer",30),D(1330,1,{},VQe),I(v2,R3t,1330),D(1334,1,{},Q7),h.Kb=function(t){return bc(l(t,84))},I(v2,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),D(1337,1,{},uS),h.Kb=function(t){return bc(l(t,84))},I(v2,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),D(1331,1,fr,$We),h.Cd=function(t){l2t(this.a,l(t,123))},I(v2,MEe,1331),D(1332,1,fr,zWe),h.Cd=function(t){l2t(this.a,l(t,123))},I(v2,j3t,1332),D(1333,1,{},lj),h.Kb=function(t){return new bn(null,new kn(A5e(l(t,74)),16))},I(v2,$3t,1333),D(1335,1,ti,qWe),h.Mb=function(t){return Hln(this.a,l(t,27))},I(v2,z3t,1335),D(1336,1,{},H9),h.Kb=function(t){return new bn(null,new kn(apn(l(t,74)),16))},I(v2,"ElkGraphImporter/lambda$5$Type",1336),D(1338,1,ti,HWe),h.Mb=function(t){return Vln(this.a,l(t,27))},I(v2,"ElkGraphImporter/lambda$7$Type",1338),D(1339,1,ti,GJ),h.Mb=function(t){return ypn(l(t,74))},I(v2,"ElkGraphImporter/lambda$8$Type",1339),D(1297,1,{},b8);var R8t;I(v2,"ElkGraphLayoutTransferrer",1297),D(1298,1,ti,VWe),h.Mb=function(t){return Ifn(this.a,l(t,18))},I(v2,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),D(1299,1,fr,UWe),h.Cd=function(t){sO(),vt(this.a,l(t,18))},I(v2,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),D(1300,1,ti,GWe),h.Mb=function(t){return mfn(this.a,l(t,18))},I(v2,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),D(1301,1,fr,KWe),h.Cd=function(t){sO(),vt(this.a,l(t,18))},I(v2,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),D(819,1,{},i4e),I(rr,"BiLinkedHashMultiMap",819),D(1550,1,ts,V9),h.Kf=function(t,n){s3n(l(t,36),n)},I(rr,"CommentNodeMarginCalculator",1550),D(1551,1,{},KJ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"CommentNodeMarginCalculator/lambda$0$Type",1551),D(1552,1,fr,WJ),h.Cd=function(t){sLn(l(t,10))},I(rr,"CommentNodeMarginCalculator/lambda$1$Type",1552),D(1553,1,ts,YJ),h.Kf=function(t,n){uSn(l(t,36),n)},I(rr,"CommentPostprocessor",1553),D(1554,1,ts,XJ),h.Kf=function(t,n){DDn(l(t,36),n)},I(rr,"CommentPreprocessor",1554),D(1555,1,ts,QJ),h.Kf=function(t,n){SCn(l(t,36),n)},I(rr,"ConstraintsPostprocessor",1555),D(1556,1,ts,JJ),h.Kf=function(t,n){O3n(l(t,36),n)},I(rr,"EdgeAndLayerConstraintEdgeReverser",1556),D(1557,1,ts,ZJ),h.Kf=function(t,n){E5n(l(t,36),n)},I(rr,"EndLabelPostprocessor",1557),D(1558,1,{},eZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelPostprocessor/lambda$0$Type",1558),D(1559,1,ti,tZ),h.Mb=function(t){return Rmn(l(t,10))},I(rr,"EndLabelPostprocessor/lambda$1$Type",1559),D(1560,1,fr,nZ),h.Cd=function(t){d8n(l(t,10))},I(rr,"EndLabelPostprocessor/lambda$2$Type",1560),D(1561,1,ts,rZ),h.Kf=function(t,n){tkn(l(t,36),n)},I(rr,"EndLabelPreprocessor",1561),D(1562,1,{},rI),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelPreprocessor/lambda$0$Type",1562),D(1563,1,fr,mit),h.Cd=function(t){nln(this.a,this.b,this.c,l(t,10))},h.a=0,h.b=0,h.c=!1,I(rr,"EndLabelPreprocessor/lambda$1$Type",1563),D(1564,1,ti,iZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),rC))},I(rr,"EndLabelPreprocessor/lambda$2$Type",1564),D(1565,1,fr,WWe),h.Cd=function(t){ui(this.a,l(t,72))},I(rr,"EndLabelPreprocessor/lambda$3$Type",1565),D(1566,1,ti,sZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),_4))},I(rr,"EndLabelPreprocessor/lambda$4$Type",1566),D(1567,1,fr,YWe),h.Cd=function(t){ui(this.a,l(t,72))},I(rr,"EndLabelPreprocessor/lambda$5$Type",1567),D(1615,1,ts,Hre),h.Kf=function(t,n){k4n(l(t,36),n)};var j8t;I(rr,"EndLabelSorter",1615),D(1616,1,ii,lS),h.Ne=function(t,n){return t6n(l(t,466),l(n,466))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"EndLabelSorter/1",1616),D(466,1,{466:1},Hat),I(rr,"EndLabelSorter/LabelGroup",466),D(1617,1,{},hj),h.Kb=function(t){return iO(),new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelSorter/lambda$0$Type",1617),D(1618,1,ti,J7),h.Mb=function(t){return iO(),l(t,10).k==(Zn(),Ps)},I(rr,"EndLabelSorter/lambda$1$Type",1618),D(1619,1,fr,aZ),h.Cd=function(t){p9n(l(t,10))},I(rr,"EndLabelSorter/lambda$2$Type",1619),D(1620,1,ti,oZ),h.Mb=function(t){return iO(),qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),_4))},I(rr,"EndLabelSorter/lambda$3$Type",1620),D(1621,1,ti,cZ),h.Mb=function(t){return iO(),qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),rC))},I(rr,"EndLabelSorter/lambda$4$Type",1621),D(1568,1,ts,uZ),h.Kf=function(t,n){yLn(this,l(t,36))},h.b=0,h.c=0,I(rr,"FinalSplineBendpointsCalculator",1568),D(1569,1,{},lZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),D(1570,1,{},hS),h.Kb=function(t){return new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(rr,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),D(1571,1,ti,iI),h.Mb=function(t){return!Do(l(t,18))},I(rr,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),D(1572,1,ti,fj),h.Mb=function(t){return ns(l(t,18),(ft(),fv))},I(rr,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),D(1573,1,fr,XWe),h.Cd=function(t){L_n(this.a,l(t,131))},I(rr,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),D(1574,1,fr,h5),h.Cd=function(t){JN(l(t,18).a)},I(rr,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),D(803,1,ts,wwe),h.Kf=function(t,n){dMn(this,l(t,36),n)},I(rr,"GraphTransformer",803),D(517,22,{3:1,34:1,22:1,517:1},I3e);var h1e,dB,$8t=Fr(rr,"GraphTransformer/Mode",517,Hr,qpn,E1n),z8t;D(1575,1,ts,f5),h.Kf=function(t,n){PTn(l(t,36),n)},I(rr,"HierarchicalNodeResizingProcessor",1575),D(1576,1,ts,hZ),h.Kf=function(t,n){e3n(l(t,36),n)},I(rr,"HierarchicalPortConstraintProcessor",1576),D(1577,1,ii,t0),h.Ne=function(t,n){return k6n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortConstraintProcessor/NodeComparator",1577),D(1578,1,ts,Z7),h.Kf=function(t,n){EAn(l(t,36),n)},I(rr,"HierarchicalPortDummySizeProcessor",1578),D(1579,1,ts,fZ),h.Kf=function(t,n){OSn(this,l(t,36),n)},h.a=0,I(rr,"HierarchicalPortOrthogonalEdgeRouter",1579),D(1580,1,ii,U9),h.Ne=function(t,n){return Phn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortOrthogonalEdgeRouter/1",1580),D(1581,1,ii,Wd),h.Ne=function(t,n){return zvn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortOrthogonalEdgeRouter/2",1581),D(1582,1,ts,dZ),h.Kf=function(t,n){Xxn(l(t,36),n)},I(rr,"HierarchicalPortPositionProcessor",1582),D(1583,1,ts,Kv),h.Kf=function(t,n){fIn(this,l(t,36))},h.a=0,h.c=0;var CK,SK;I(rr,"HighDegreeNodeLayeringProcessor",1583),D(580,1,{580:1},gZ),h.b=-1,h.d=-1,I(rr,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),D(1584,1,{},pZ),h.Kb=function(t){return OO(),ka(l(t,10))},h.Fb=function(t){return this===t},I(rr,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),D(1585,1,{},dj),h.Kb=function(t){return OO(),qs(l(t,10))},h.Fb=function(t){return this===t},I(rr,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),D(1591,1,ts,bZ),h.Kf=function(t,n){pAn(this,l(t,36),n)},I(rr,"HyperedgeDummyMerger",1591),D(804,1,{},w4e),h.a=!1,h.b=!1,h.c=!1,I(rr,"HyperedgeDummyMerger/MergeState",804),D(1592,1,{},fS),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"HyperedgeDummyMerger/lambda$0$Type",1592),D(1593,1,{},dS),h.Kb=function(t){return new bn(null,new kn(l(t,10).j,16))},I(rr,"HyperedgeDummyMerger/lambda$1$Type",1593),D(1594,1,fr,gj),h.Cd=function(t){l(t,12).p=-1},I(rr,"HyperedgeDummyMerger/lambda$2$Type",1594),D(1595,1,ts,sI),h.Kf=function(t,n){dAn(l(t,36),n)},I(rr,"HypernodesProcessor",1595),D(1596,1,ts,e8),h.Kf=function(t,n){kAn(l(t,36),n)},I(rr,"InLayerConstraintProcessor",1596),D(1597,1,ts,mZ),h.Kf=function(t,n){p3n(l(t,36),n)},I(rr,"InnermostNodeMarginCalculator",1597),D(1598,1,ts,pj),h.Kf=function(t,n){_Dn(this,l(t,36))},h.a=ia,h.b=ia,h.c=gs,h.d=gs;var kOn=I(rr,"InteractiveExternalPortPositioner",1598);D(1599,1,{},bj),h.Kb=function(t){return l(t,18).d.i},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$0$Type",1599),D(1600,1,{},QWe),h.Kb=function(t){return Bhn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$1$Type",1600),D(1601,1,{},vZ),h.Kb=function(t){return l(t,18).c.i},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$2$Type",1601),D(1602,1,{},JWe),h.Kb=function(t){return Fhn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$3$Type",1602),D(1603,1,{},ZWe),h.Kb=function(t){return Nfn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$4$Type",1603),D(1604,1,{},eYe),h.Kb=function(t){return Pfn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$5$Type",1604),D(81,22,{3:1,34:1,22:1,81:1,196:1},Ws),h.dg=function(){switch(this.g){case 15:return new Uj;case 22:return new Dee;case 47:return new Nee;case 28:case 35:return new CZ;case 32:return new V9;case 42:return new YJ;case 1:return new XJ;case 41:return new QJ;case 56:return new wwe((dE(),dB));case 0:return new wwe((dE(),h1e));case 2:return new JJ;case 54:return new ZJ;case 33:return new rZ;case 51:return new uZ;case 55:return new f5;case 13:return new hZ;case 38:return new Z7;case 44:return new fZ;case 40:return new dZ;case 9:return new Kv;case 49:return new nrt;case 37:return new bZ;case 43:return new sI;case 27:return new e8;case 30:return new mZ;case 3:return new pj;case 18:return new yZ;case 29:return new xZ;case 5:return new fk;case 50:return new wZ;case 34:return new sz;case 36:return new d5;case 52:return new Hre;case 11:return new G9;case 7:return new Vre;case 39:return new aI;case 45:return new Z3;case 16:return new K9;case 10:return new Wet;case 48:return new mj;case 21:return new oI;case 23:return new Wie((Iw(),oM));case 8:return new cI;case 12:return new _Z;case 4:return new uI;case 19:return new cz;case 17:return new IZ;case 53:return new OZ;case 6:return new Tj;case 25:return new KQe;case 46:return new FZ;case 31:return new Vrt;case 14:return new UZ;case 26:return new Fee;case 20:return new Aj;case 24:return new Wie((Iw(),MW));default:throw ue(new Yn(Fhe+(this.f!=null?this.f:""+this.g)))}};var SAe,_Ae,AAe,LAe,MAe,DAe,IAe,OAe,NAe,PAe,D6,_K,AK,BAe,FAe,RAe,jAe,$Ae,zAe,qAe,zL,HAe,VAe,UAe,GAe,KAe,f1e,LK,MK,WAe,DK,IK,OK,LT,u4,l4,YAe,NK,PK,XAe,BK,FK,QAe,JAe,ZAe,eLe,RK,d1e,gB,jK,$K,zK,qK,tLe,nLe,rLe,iLe,EOn=Fr(rr,Rhe,81,Hr,rbt,k0n),q8t;D(1605,1,ts,yZ),h.Kf=function(t,n){CDn(l(t,36),n)},I(rr,"InvertedPortProcessor",1605),D(1606,1,ts,xZ),h.Kf=function(t,n){x_n(l(t,36),n)},I(rr,"LabelAndNodeSizeProcessor",1606),D(1607,1,ti,kZ),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),D(1608,1,ti,EZ),h.Mb=function(t){return l(t,10).k==(Zn(),Us)},I(rr,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),D(1609,1,fr,vit),h.Cd=function(t){rln(this.b,this.a,this.c,l(t,10))},h.a=!1,h.c=!1,I(rr,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),D(1610,1,ts,fk),h.Kf=function(t,n){QMn(l(t,36),n)};var H8t;I(rr,"LabelDummyInserter",1610),D(1611,1,Ld,Yd),h.Lb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),nC))},h.Fb=function(t){return this===t},h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),nC))},I(rr,"LabelDummyInserter/1",1611),D(1612,1,ts,wZ),h.Kf=function(t,n){jMn(l(t,36),n)},I(rr,"LabelDummyRemover",1612),D(1613,1,ti,Uv),h.Mb=function(t){return Rt(Bt(Q(l(t,72),(Nt(),tde))))},I(rr,"LabelDummyRemover/lambda$0$Type",1613),D(1378,1,ts,sz),h.Kf=function(t,n){DMn(this,l(t,36),n)},h.a=null;var g1e;I(rr,"LabelDummySwitcher",1378),D(293,1,{293:1},nmt),h.c=0,h.d=null,h.f=0,I(rr,"LabelDummySwitcher/LabelDummyInfo",293),D(1379,1,{},TZ),h.Kb=function(t){return lx(),new bn(null,new kn(l(t,30).a,16))},I(rr,"LabelDummySwitcher/lambda$0$Type",1379),D(1380,1,ti,gS),h.Mb=function(t){return lx(),l(t,10).k==(Zn(),cu)},I(rr,"LabelDummySwitcher/lambda$1$Type",1380),D(1381,1,{},tYe),h.Kb=function(t){return vfn(this.a,l(t,10))},I(rr,"LabelDummySwitcher/lambda$2$Type",1381),D(1382,1,fr,nYe),h.Cd=function(t){Rgn(this.a,l(t,293))},I(rr,"LabelDummySwitcher/lambda$3$Type",1382),D(1383,1,ii,pS),h.Ne=function(t,n){return cgn(l(t,293),l(n,293))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"LabelDummySwitcher/lambda$4$Type",1383),D(802,1,ts,CZ),h.Kf=function(t,n){yvn(l(t,36),n)},I(rr,"LabelManagementProcessor",802),D(1614,1,ts,d5),h.Kf=function(t,n){QCn(l(t,36),n)},I(rr,"LabelSideSelector",1614),D(1622,1,ts,G9),h.Kf=function(t,n){RAn(l(t,36),n)},I(rr,"LayerConstraintPostprocessor",1622),D(1623,1,ts,Vre),h.Kf=function(t,n){OEn(l(t,36),n)};var sLe;I(rr,"LayerConstraintPreprocessor",1623),D(371,22,{3:1,34:1,22:1,371:1},gq);var pB,HK,VK,p1e,V8t=Fr(rr,"LayerConstraintPreprocessor/HiddenNodeConnections",371,Hr,Jbn,E0n),U8t;D(1624,1,ts,aI),h.Kf=function(t,n){tMn(l(t,36),n)},I(rr,"LayerSizeAndGraphHeightCalculator",1624),D(1625,1,ts,Z3),h.Kf=function(t,n){BTn(l(t,36),n)},I(rr,"LongEdgeJoiner",1625),D(1626,1,ts,K9),h.Kf=function(t,n){DLn(l(t,36),n)},I(rr,"LongEdgeSplitter",1626),D(1627,1,ts,Wet),h.Kf=function(t,n){fDn(this,l(t,36),n)},h.e=0,h.f=0,h.j=0,h.k=0,h.n=0,h.o=0;var G8t,K8t;I(rr,"NodePromotion",1627),D(1628,1,ii,SZ),h.Ne=function(t,n){return Cyn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NodePromotion/1",1628),D(1629,1,ii,bS),h.Ne=function(t,n){return Syn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NodePromotion/2",1629),D(1630,1,{},hd),h.Kb=function(t){return l(t,42),Yq(),Hn(),!0},h.Fb=function(t){return this===t},I(rr,"NodePromotion/lambda$0$Type",1630),D(1631,1,{},aYe),h.Kb=function(t){return x2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(rr,"NodePromotion/lambda$1$Type",1631),D(1632,1,{},oYe),h.Kb=function(t){return y2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(rr,"NodePromotion/lambda$2$Type",1632),D(1633,1,ts,mj),h.Kf=function(t,n){aIn(l(t,36),n)},I(rr,"NorthSouthPortPostprocessor",1633),D(1634,1,ts,oI),h.Kf=function(t,n){$Dn(l(t,36),n)},I(rr,"NorthSouthPortPreprocessor",1634),D(1635,1,ii,W9),h.Ne=function(t,n){return $3n(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NorthSouthPortPreprocessor/lambda$0$Type",1635),D(1636,1,ts,cI),h.Kf=function(t,n){nAn(l(t,36),n)},I(rr,"PartitionMidprocessor",1636),D(1637,1,ti,vj),h.Mb=function(t){return ns(l(t,10),(Nt(),HT))},I(rr,"PartitionMidprocessor/lambda$0$Type",1637),D(1638,1,fr,cYe),h.Cd=function(t){xpn(this.a,l(t,10))},I(rr,"PartitionMidprocessor/lambda$1$Type",1638),D(1639,1,ts,_Z),h.Kf=function(t,n){rCn(l(t,36),n)},I(rr,"PartitionPostprocessor",1639),D(1640,1,ts,uI),h.Kf=function(t,n){mEn(l(t,36),n)},I(rr,"PartitionPreprocessor",1640),D(1641,1,ti,AZ),h.Mb=function(t){return ns(l(t,10),(Nt(),HT))},I(rr,"PartitionPreprocessor/lambda$0$Type",1641),D(1642,1,{},LZ),h.Kb=function(t){return new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(rr,"PartitionPreprocessor/lambda$1$Type",1642),D(1643,1,ti,wj),h.Mb=function(t){return o6n(l(t,18))},I(rr,"PartitionPreprocessor/lambda$2$Type",1643),D(1644,1,fr,t8),h.Cd=function(t){ryn(l(t,18))},I(rr,"PartitionPreprocessor/lambda$3$Type",1644),D(1645,1,ts,cz),h.Kf=function(t,n){B_n(l(t,36),n)};var aLe,W8t,Y8t,X8t,oLe,cLe;I(rr,"PortListSorter",1645),D(1648,1,ii,yj),h.Ne=function(t,n){return Kct(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$0$Type",1648),D(1650,1,ii,n8),h.Ne=function(t,n){return Smt(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$1$Type",1650),D(1646,1,{},MZ),h.Kb=function(t){return TE(),l(t,12).e},I(rr,"PortListSorter/lambda$2$Type",1646),D(1647,1,{},lI),h.Kb=function(t){return TE(),l(t,12).g},I(rr,"PortListSorter/lambda$3$Type",1647),D(1649,1,ii,DZ),h.Ne=function(t,n){return D7n(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$4$Type",1649),D(1651,1,ts,IZ),h.Kf=function(t,n){GEn(l(t,36),n)},I(rr,"PortSideProcessor",1651),D(1652,1,ts,OZ),h.Kf=function(t,n){KSn(l(t,36),n)},I(rr,"ReversedEdgeRestorer",1652),D(1657,1,ts,KQe),h.Kf=function(t,n){d7n(this,l(t,36),n)},I(rr,"SelfLoopPortRestorer",1657),D(1658,1,{},NZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopPortRestorer/lambda$0$Type",1658),D(1659,1,ti,xj),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"SelfLoopPortRestorer/lambda$1$Type",1659),D(1660,1,ti,PZ),h.Mb=function(t){return ns(l(t,10),(ft(),h3))},I(rr,"SelfLoopPortRestorer/lambda$2$Type",1660),D(1661,1,{},BZ),h.Kb=function(t){return l(Q(l(t,10),(ft(),h3)),337)},I(rr,"SelfLoopPortRestorer/lambda$3$Type",1661),D(1662,1,fr,iYe),h.Cd=function(t){A9n(this.a,l(t,337))},I(rr,"SelfLoopPortRestorer/lambda$4$Type",1662),D(805,1,fr,kj),h.Cd=function(t){z9n(l(t,105))},I(rr,"SelfLoopPortRestorer/lambda$5$Type",805),D(1663,1,ts,FZ),h.Kf=function(t,n){w6n(l(t,36),n)},I(rr,"SelfLoopPostProcessor",1663),D(1664,1,{},RZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopPostProcessor/lambda$0$Type",1664),D(1665,1,ti,jZ),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"SelfLoopPostProcessor/lambda$1$Type",1665),D(1666,1,ti,$Z),h.Mb=function(t){return ns(l(t,10),(ft(),h3))},I(rr,"SelfLoopPostProcessor/lambda$2$Type",1666),D(1667,1,fr,Ej),h.Cd=function(t){M8n(l(t,10))},I(rr,"SelfLoopPostProcessor/lambda$3$Type",1667),D(1668,1,{},zZ),h.Kb=function(t){return new bn(null,new kn(l(t,105).f,1))},I(rr,"SelfLoopPostProcessor/lambda$4$Type",1668),D(1669,1,fr,rYe),h.Cd=function(t){nmn(this.a,l(t,340))},I(rr,"SelfLoopPostProcessor/lambda$5$Type",1669),D(1670,1,ti,qZ),h.Mb=function(t){return!!l(t,105).i},I(rr,"SelfLoopPostProcessor/lambda$6$Type",1670),D(1671,1,fr,sYe),h.Cd=function(t){nun(this.a,l(t,105))},I(rr,"SelfLoopPostProcessor/lambda$7$Type",1671),D(1653,1,ts,Tj),h.Kf=function(t,n){xTn(l(t,36),n)},I(rr,"SelfLoopPreProcessor",1653),D(1654,1,{},Cj),h.Kb=function(t){return new bn(null,new kn(l(t,105).f,1))},I(rr,"SelfLoopPreProcessor/lambda$0$Type",1654),D(1655,1,{},Sj),h.Kb=function(t){return l(t,340).a},I(rr,"SelfLoopPreProcessor/lambda$1$Type",1655),D(1656,1,fr,HZ),h.Cd=function(t){shn(l(t,18))},I(rr,"SelfLoopPreProcessor/lambda$2$Type",1656),D(1672,1,ts,Vrt),h.Kf=function(t,n){u9n(this,l(t,36),n)},I(rr,"SelfLoopRouter",1672),D(1673,1,{},VZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopRouter/lambda$0$Type",1673),D(1674,1,ti,Y9),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"SelfLoopRouter/lambda$1$Type",1674),D(1675,1,ti,r8),h.Mb=function(t){return ns(l(t,10),(ft(),h3))},I(rr,"SelfLoopRouter/lambda$2$Type",1675),D(1676,1,{},mS),h.Kb=function(t){return l(Q(l(t,10),(ft(),h3)),337)},I(rr,"SelfLoopRouter/lambda$3$Type",1676),D(1677,1,fr,Aet),h.Cd=function(t){ppn(this.a,this.b,l(t,337))},I(rr,"SelfLoopRouter/lambda$4$Type",1677),D(1678,1,ts,UZ),h.Kf=function(t,n){jCn(l(t,36),n)},I(rr,"SemiInteractiveCrossMinProcessor",1678),D(1679,1,ti,hI),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),D(1680,1,ti,vS),h.Mb=function(t){return ost(l(t,10))._b((Nt(),w4))},I(rr,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),D(1681,1,ii,fI),h.Ne=function(t,n){return n3n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),D(1682,1,{},_j),h.Ve=function(t,n){return kpn(l(t,10),l(n,10))},I(rr,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),D(1684,1,ts,Aj),h.Kf=function(t,n){uLn(l(t,36),n)},I(rr,"SortByInputModelProcessor",1684),D(1685,1,ti,GZ),h.Mb=function(t){return l(t,12).g.c.length!=0},I(rr,"SortByInputModelProcessor/lambda$0$Type",1685),D(1686,1,fr,uYe),h.Cd=function(t){G9n(this.a,l(t,12))},I(rr,"SortByInputModelProcessor/lambda$1$Type",1686),D(1759,817,{},mft),h.df=function(t){var n,r,a,o;switch(this.c=t,this.a.g){case 2:n=new bt,Is(Fi(new bn(null,new kn(this.c.a.b,16)),new ree),new Fet(this,n)),ZN(this,new WZ),Vu(n,new Lj),n.c.length=0,Is(Fi(new bn(null,new kn(this.c.a.b,16)),new Mj),new hYe(n)),ZN(this,new YZ),Vu(n,new XZ),n.c.length=0,r=vnt(uce(xy(new bn(null,new kn(this.c.a.b,16)),new fYe(this))),new QZ),Is(new bn(null,new kn(this.c.a.a,16)),new Det(r,n)),ZN(this,new ZZ),Vu(n,new Dj),n.c.length=0;break;case 3:a=new bt,ZN(this,new KZ),o=vnt(uce(xy(new bn(null,new kn(this.c.a.b,16)),new lYe(this))),new JZ),Is(Fi(new bn(null,new kn(this.c.a.b,16)),new eee),new Oet(o,a)),ZN(this,new tee),Vu(a,new nee),a.c.length=0;break;default:throw ue(new NQe)}},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation",1759),D(1760,1,Ld,KZ),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),D(1761,1,{},lYe),h.Ye=function(t){return Lkn(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),D(1769,1,QU,Let),h.de=function(){FA(this.a,this.b,-1)},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),D(1771,1,Ld,WZ),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),D(1772,1,fr,Lj),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),D(1773,1,ti,Mj),h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),D(1775,1,fr,hYe),h.Cd=function(t){Y4n(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),D(1774,1,QU,Net),h.de=function(){FA(this.b,this.a,-1)},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),D(1776,1,Ld,YZ),h.Lb=function(t){return De(l(t,60).g,10)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),D(1777,1,fr,XZ),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),D(1778,1,{},fYe),h.Ye=function(t){return Mkn(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),D(1779,1,{},QZ),h.We=function(){return 0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),D(1762,1,{},JZ),h.We=function(){return 0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),D(1781,1,fr,Det),h.Cd=function(t){egn(this.a,this.b,l(t,316))},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),D(1780,1,QU,Iet),h.de=function(){I2t(this.a,this.b,-1)},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),D(1782,1,Ld,ZZ),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),D(1783,1,fr,Dj),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),D(1763,1,ti,eee),h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),D(1765,1,fr,Oet),h.Cd=function(t){tgn(this.a,this.b,l(t,60))},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),D(1764,1,QU,Pet),h.de=function(){FA(this.b,this.a,-1)},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),D(1766,1,Ld,tee),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),D(1767,1,fr,nee),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),D(1768,1,ti,ree),h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),D(1770,1,fr,Fet),h.Cd=function(t){wwn(this.a,this.b,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),D(1586,1,ts,nrt),h.Kf=function(t,n){FLn(this,l(t,36),n)};var Q8t;I(aa,"HorizontalGraphCompactor",1586),D(1587,1,{},dYe),h.ff=function(t,n){var r,a,o;return q6e(t,n)||(r=G5(t),a=G5(n),r&&r.k==(Zn(),Us)||a&&a.k==(Zn(),Us))?0:(o=l(Q(this.a.a,(ft(),$6)),312),zhn(o,r?r.k:(Zn(),Aa),a?a.k:(Zn(),Aa)))},h.gf=function(t,n){var r,a,o;return q6e(t,n)?1:(r=G5(t),a=G5(n),o=l(Q(this.a.a,(ft(),$6)),312),Oye(o,r?r.k:(Zn(),Aa),a?a.k:(Zn(),Aa)))},I(aa,"HorizontalGraphCompactor/1",1587),D(1588,1,{},Ij),h.ef=function(t,n){return p_(),t.a.i==0},I(aa,"HorizontalGraphCompactor/lambda$0$Type",1588),D(1589,1,{},gYe),h.ef=function(t,n){return Cpn(this.a,t,n)},I(aa,"HorizontalGraphCompactor/lambda$1$Type",1589),D(1730,1,{},Glt);var J8t,Z8t;I(aa,"LGraphToCGraphTransformer",1730),D(1738,1,ti,wS),h.Mb=function(t){return t!=null},I(aa,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),D(1731,1,{},iee),h.Kb=function(t){return u0(),xc(Q(l(l(t,60).g,10),(ft(),zi)))},I(aa,"LGraphToCGraphTransformer/lambda$0$Type",1731),D(1732,1,{},see),h.Kb=function(t){return u0(),r1t(l(l(t,60).g,154))},I(aa,"LGraphToCGraphTransformer/lambda$1$Type",1732),D(1741,1,ti,Oj),h.Mb=function(t){return u0(),De(l(t,60).g,10)},I(aa,"LGraphToCGraphTransformer/lambda$10$Type",1741),D(1742,1,fr,aee),h.Cd=function(t){Mpn(l(t,60))},I(aa,"LGraphToCGraphTransformer/lambda$11$Type",1742),D(1743,1,ti,oee),h.Mb=function(t){return u0(),De(l(t,60).g,154)},I(aa,"LGraphToCGraphTransformer/lambda$12$Type",1743),D(1747,1,fr,cee),h.Cd=function(t){o4n(l(t,60))},I(aa,"LGraphToCGraphTransformer/lambda$13$Type",1747),D(1744,1,fr,pYe),h.Cd=function(t){Nln(this.a,l(t,8))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$14$Type",1744),D(1745,1,fr,bYe),h.Cd=function(t){Bln(this.a,l(t,116))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$15$Type",1745),D(1746,1,fr,mYe),h.Cd=function(t){Pln(this.a,l(t,8))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$16$Type",1746),D(1748,1,{},uee),h.Kb=function(t){return u0(),new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$17$Type",1748),D(1749,1,ti,lee),h.Mb=function(t){return u0(),Do(l(t,18))},I(aa,"LGraphToCGraphTransformer/lambda$18$Type",1749),D(1750,1,fr,vYe),h.Cd=function(t){Qvn(this.a,l(t,18))},I(aa,"LGraphToCGraphTransformer/lambda$19$Type",1750),D(1734,1,fr,wYe),h.Cd=function(t){Tbn(this.a,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$2$Type",1734),D(1751,1,{},hee),h.Kb=function(t){return u0(),new bn(null,new kn(l(t,30).a,16))},I(aa,"LGraphToCGraphTransformer/lambda$20$Type",1751),D(1752,1,{},Nj),h.Kb=function(t){return u0(),new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$21$Type",1752),D(1753,1,{},fee),h.Kb=function(t){return u0(),l(Q(l(t,18),(ft(),fv)),15)},I(aa,"LGraphToCGraphTransformer/lambda$22$Type",1753),D(1754,1,ti,Pj),h.Mb=function(t){return qhn(l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$23$Type",1754),D(1755,1,fr,yYe),h.Cd=function(t){vkn(this.a,l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$24$Type",1755),D(1733,1,fr,Ret),h.Cd=function(t){xmn(this.a,this.b,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$3$Type",1733),D(1735,1,{},dee),h.Kb=function(t){return u0(),new bn(null,new kn(l(t,30).a,16))},I(aa,"LGraphToCGraphTransformer/lambda$4$Type",1735),D(1736,1,{},gee),h.Kb=function(t){return u0(),new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$5$Type",1736),D(1737,1,{},pee),h.Kb=function(t){return u0(),l(Q(l(t,18),(ft(),fv)),15)},I(aa,"LGraphToCGraphTransformer/lambda$6$Type",1737),D(1739,1,fr,xYe),h.Cd=function(t){Dkn(this.a,l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$8$Type",1739),D(1740,1,fr,jet),h.Cd=function(t){ahn(this.a,this.b,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$9$Type",1740),D(1729,1,{},yS),h.cf=function(t){var n,r,a,o,f;for(this.a=t,this.d=new jie,this.c=We(z_e,Rn,125,this.a.a.a.c.length,0,1),this.b=0,r=new G(this.a.a.a);r.a=te&&(vt(f,pt(L)),Me=b.Math.max(Me,$e[L-1]-B),w+=J,fe+=$e[L-1]-fe,B=$e[L-1],J=E[L]),J=b.Math.max(J,E[L]),++L;w+=J}V=b.Math.min(1/Me,1/n.b/w),V>a&&(a=V,r=f)}return r},h.pg=function(){return!1},I(Od,"MSDCutIndexHeuristic",816),D(1683,1,ts,Fee),h.Kf=function(t,n){$An(l(t,36),n)},I(Od,"SingleEdgeGraphWrapper",1683),D(232,22,{3:1,34:1,22:1,232:1},E_);var O6,IT,OT,h4,qL,N6,NT=Fr(ou,"CenterEdgeLabelPlacementStrategy",232,Hr,Cvn,_0n),hxt;D(431,22,{3:1,34:1,22:1,431:1},N3e);var lLe,S1e,hLe=Fr(ou,"ConstraintCalculationStrategy",431,Hr,Upn,A0n),fxt;D(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},wse),h.dg=function(){return $pt(this)},h.qg=function(){return $pt(this)};var mB,HL,fLe,dLe=Fr(ou,"CrossingMinimizationStrategy",322,Hr,j2n,L0n),dxt;D(351,22,{3:1,34:1,22:1,351:1},yse);var gLe,_1e,YK,pLe=Fr(ou,"CuttingStrategy",351,Hr,$2n,M0n),gxt;D(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},uO),h.dg=function(){return M2t(this)},h.qg=function(){return M2t(this)};var bLe,A1e,PT,L1e,BT,mLe=Fr(ou,"CycleBreakingStrategy",348,Hr,Hmn,D0n),pxt;D(428,22,{3:1,34:1,22:1,428:1},P3e);var XK,vLe,wLe=Fr(ou,"DirectionCongruency",428,Hr,Vpn,I0n),bxt;D(460,22,{3:1,34:1,22:1,460:1},xse);var FT,M1e,P6,mxt=Fr(ou,"EdgeConstraint",460,Hr,z2n,j0n),vxt;D(283,22,{3:1,34:1,22:1,283:1},T_);var D1e,I1e,O1e,N1e,QK,P1e,yLe=Fr(ou,"EdgeLabelSideSelection",283,Hr,kvn,$0n),wxt;D(488,22,{3:1,34:1,22:1,488:1},B3e);var JK,xLe,kLe=Fr(ou,"EdgeStraighteningStrategy",488,Hr,Jpn,z0n),yxt;D(281,22,{3:1,34:1,22:1,281:1},C_);var B1e,ELe,TLe,ZK,CLe,SLe,_Le=Fr(ou,"FixedAlignment",281,Hr,Evn,R0n),xxt;D(282,22,{3:1,34:1,22:1,282:1},S_);var ALe,LLe,MLe,DLe,VL,ILe,OLe=Fr(ou,"GraphCompactionStrategy",282,Hr,Tvn,O0n),kxt;D(259,22,{3:1,34:1,22:1,259:1},uy);var RT,eW,jT,vf,UL,tW,$T,B6,nW,GL,F1e=Fr(ou,"GraphProperties",259,Hr,c3n,N0n),Ext;D(299,22,{3:1,34:1,22:1,299:1},kse);var vB,R1e,j1e,$1e=Fr(ou,"GreedySwitchType",299,Hr,q2n,P0n),Txt;D(311,22,{3:1,34:1,22:1,311:1},Ese);var Ux,wB,F6,Cxt=Fr(ou,"InLayerConstraint",311,Hr,H2n,B0n),Sxt;D(429,22,{3:1,34:1,22:1,429:1},F3e);var z1e,NLe,PLe=Fr(ou,"InteractiveReferencePoint",429,Hr,Hpn,F0n),_xt,BLe,Gx,c3,rW,FLe,RLe,iW,jLe,yB,sW,KL,Kx,pp,q1e,aW,Wc,$Le,jb,Lu,H1e,V1e,xB,hv,u3,Wx,zLe,Yx,kB,f4,o1,$f,U1e,R6,Ki,zi,qLe,HLe,VLe,ULe,GLe,G1e,oW,jl,l3,K1e,Xx,WL,W1,j6,h3,$6,z6,zT,fv,KLe,W1e,Y1e,Qx;D(171,22,{3:1,34:1,22:1,171:1},lO);var YL,$b,XL,d4,EB,WLe=Fr(ou,"LayerConstraint",171,Hr,Umn,q0n),Axt;D(859,1,Pf,Yre),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,VEe),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),iMe),(g2(),ps)),wLe),un((r1(),Pn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,UEe),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Hn(),!1)),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fG),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),lMe),ps),PLe),un(Pn)))),Qs(t,fG,zhe,k9t),Qs(t,fG,pL,x9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,GEe),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,KEe),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),ya),Ns),un(Pn)))),sn(t,new Xt(Nun(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,WEe),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),ya),Ns),un(yv)),he(le(zt,1),dt,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,YEe),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),vMe),ps),_De),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,XEe),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),pt(7)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,QEe),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,JEe),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,zhe),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),rMe),ps),mLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qP),hfe),"Node Layering Strategy"),"Strategy for node layering."),dMe),ps),pDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ZEe),hfe),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),hMe),ps),WLe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eTe),hfe),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,tTe),hfe),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pt(-1)),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qhe),J3t),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),pt(4)),Tc),ro),un(Pn)))),Qs(t,qhe,qP,L9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Hhe),J3t),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),pt(2)),Tc),ro),un(Pn)))),Qs(t,Hhe,qP,D9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Vhe),Z3t),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),fMe),ps),TDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Uhe),Z3t),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),pt(0)),Tc),ro),un(Pn)))),Qs(t,Uhe,Vhe,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ghe),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),pt(Ii)),Tc),ro),un(Pn)))),Qs(t,Ghe,qP,T9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pL),gT),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),nMe),ps),dLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nTe),gT),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Khe),gT),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),fo),ta),un(Pn)))),Qs(t,Khe,CG,Wxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Whe),gT),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),ya),Ns),un(Pn)))),Qs(t,Whe,pL,e9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rTe),gT),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),J6),zt),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,iTe),gT),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),J6),zt),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,sTe),gT),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,aTe),gT),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pt(-1)),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,oTe),eyt),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),pt(40)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Yhe),eyt),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),tMe),ps),$1e),un(Pn)))),Qs(t,Yhe,pL,Gxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dG),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),eMe),ps),$1e),un(Pn)))),Qs(t,dG,pL,Hxt),Qs(t,dG,CG,Vxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,k6),tyt),"Node Placement Strategy"),"Strategy for node placement."),mMe),ps),wDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,gG),tyt),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),ya),Ns),un(Pn)))),Qs(t,gG,k6,q9t),Qs(t,gG,k6,H9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Xhe),nyt),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),gMe),ps),kLe),un(Pn)))),Qs(t,Xhe,k6,R9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Qhe),nyt),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),pMe),ps),_Le),un(Pn)))),Qs(t,Qhe,k6,$9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Jhe),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),fo),ta),un(Pn)))),Qs(t,Jhe,k6,U9t),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Zhe),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),ps),mde),un(ha)))),Qs(t,Zhe,k6,Y9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,efe),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),bMe),ps),mde),un(Pn)))),Qs(t,efe,k6,W9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,cTe),ryt),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),oMe),ps),MDe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,uTe),ryt),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),cMe),ps),DDe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pG),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),uMe),ps),ODe),un(Pn)))),Qs(t,pG,HP,h9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bG),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),fo),ta),un(Pn)))),Qs(t,bG,HP,d9t),Qs(t,bG,pG,g9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,tfe),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),fo),ta),un(Pn)))),Qs(t,tfe,HP,o9t),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,lTe),U1),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hTe),U1),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fTe),U1),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dTe),U1),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gTe),TTe),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),pt(0)),Tc),ro),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pTe),TTe),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),pt(0)),Tc),ro),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bTe),TTe),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),pt(0)),Tc),ro),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nfe),CTe),w3t),"Tries to further compact components (disconnected sub-graphs)."),!1),ya),Ns),un(Pn)))),Qs(t,nfe,lL,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mTe),iyt),"Post Compaction Strategy"),syt),XLe),ps),OLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vTe),iyt),"Post Compaction Constraint Calculation"),syt),YLe),ps),hLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mG),STe),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rfe),STe),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),pt(16)),Tc),ro),un(Pn)))),Qs(t,rfe,mG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ife),STe),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),pt(5)),Tc),ro),un(Pn)))),Qs(t,ife,mG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fp),_Te),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),xMe),ps),FDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vG),_Te),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),fo),ta),un(Pn)))),Qs(t,vG,fp,ckt),Qs(t,vG,fp,ukt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,wG),_Te),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),fo),ta),un(Pn)))),Qs(t,wG,fp,hkt),Qs(t,wG,fp,fkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bL),ayt),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),yMe),ps),pLe),un(Pn)))),Qs(t,bL,fp,vkt),Qs(t,bL,fp,wkt),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,sfe),ayt),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),X1),mf),un(Pn)))),Qs(t,sfe,bL,gkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,afe),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),wMe),Tc),ro),un(Pn)))),Qs(t,afe,bL,bkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,yG),oyt),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),kMe),ps),BDe),un(Pn)))),Qs(t,yG,fp,Dkt),Qs(t,yG,fp,Ikt),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,xG),oyt),"Valid Indices for Wrapping"),null),X1),mf),un(Pn)))),Qs(t,xG,fp,Akt),Qs(t,xG,fp,Lkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,kG),ATe),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),ya),Ns),un(Pn)))),Qs(t,kG,fp,Ekt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,EG),ATe),"Distance Penalty When Improving Cuts"),null),2),fo),ta),un(Pn)))),Qs(t,EG,fp,xkt),Qs(t,EG,kG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ofe),ATe),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),ya),Ns),un(Pn)))),Qs(t,ofe,fp,Ckt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,wTe),ffe),"Edge Label Side Selection"),"Method to decide on edge label sides."),aMe),ps),yLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,yTe),ffe),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),sMe),ps),NT),rs(Pn,he(le(xg,1),it,170,0,[S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,TG),mL),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),ZLe),ps),SDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,xTe),mL),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,kTe),mL),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,cfe),mL),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),QLe),ps),mAe),un(Pn)))),Qs(t,cfe,lL,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ETe),mL),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),JLe),ps),mDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ufe),mL),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),fo),ta),un(Pn)))),Qs(t,ufe,TG,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,lfe),mL),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),fo),ta),un(Pn)))),Qs(t,lfe,TG,null),Twt((new Xre,t))};var Lxt,Mxt,Dxt,YLe,Ixt,XLe,Oxt,QLe,Nxt,Pxt,Bxt,JLe,Fxt,Rxt,jxt,ZLe,$xt,zxt,qxt,eMe,Hxt,Vxt,Uxt,tMe,Gxt,Kxt,Wxt,Yxt,Xxt,Qxt,Jxt,Zxt,e9t,t9t,nMe,n9t,rMe,r9t,iMe,i9t,sMe,s9t,aMe,a9t,o9t,c9t,oMe,u9t,cMe,l9t,uMe,h9t,f9t,d9t,g9t,p9t,b9t,m9t,v9t,w9t,y9t,lMe,x9t,k9t,E9t,T9t,C9t,S9t,hMe,_9t,A9t,L9t,M9t,D9t,I9t,O9t,fMe,N9t,dMe,P9t,B9t,F9t,gMe,R9t,j9t,pMe,$9t,z9t,q9t,H9t,V9t,U9t,G9t,K9t,bMe,W9t,Y9t,X9t,mMe,Q9t,vMe,J9t,Z9t,ekt,tkt,nkt,rkt,ikt,skt,akt,okt,ckt,ukt,lkt,hkt,fkt,dkt,gkt,pkt,wMe,bkt,mkt,yMe,vkt,wkt,ykt,xkt,kkt,Ekt,Tkt,Ckt,Skt,xMe,_kt,Akt,Lkt,Mkt,kMe,Dkt,Ikt;I(ou,"LayeredMetaDataProvider",859),D(998,1,Pf,Xre),h.hf=function(t){Twt(t)};var Rd,X1e,cW,QL,uW,EMe,lW,g4,hW,TMe,CMe,fW,Q1e,yg,J1e,f3,SMe,TB,Z1e,_Me,Okt,Nkt,Pkt,dW,ede,JL,dv,Bkt,Rh,AMe,LMe,gW,tde,jd,pW,bp,MMe,DMe,IMe,nde,rde,OMe,x2,ide,NMe,p4,PMe,BMe,FMe,bW,b4,gv,RMe,jMe,cc,$Me,Fkt,Qu,mW,zMe,qMe,HMe,zb,pv,vW,VMe,UMe,wW,d3,GMe,sde,ZL,KMe,g3,eM,yW,bv,ade,qT,xW,mv,WMe,YMe,XMe,HT,QMe,Rkt,jkt,$kt,zkt,p3,m4,Ms,k2,qkt,v4,JMe,VT,ZMe,w4,Hkt,UT,eDe,Jx,Vkt,Ukt,CB,ode,tDe,SB,x0,q6,H6,b3,vv,kW,y4,cde,GT,KT,m3,V6,ude,_B,tM,nM,Gkt,Kkt,Wkt,nDe,Ykt,lde,rDe,iDe,sDe,aDe,hde,oDe,cDe,uDe,lDe,fde,EW;I(ou,"LayeredOptions",998),D(999,1,{},Ree),h.sf=function(){var t;return t=new qQe,t},h.tf=function(t){},I(ou,"LayeredOptions/LayeredFactory",999),D(1391,1,{}),h.a=0;var Xkt;I(Uc,"ElkSpacings/AbstractSpacingsBuilder",1391),D(792,1391,{},D8e);var TW,Qkt;I(ou,"LayeredSpacings/LayeredSpacingsBuilder",792),D(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},M5),h.dg=function(){return jbt(this)},h.qg=function(){return jbt(this)};var WT,dde,YT,hDe,fDe,dDe,CW,gde,gDe,pDe=Fr(ou,"LayeringStrategy",265,Hr,Rwn,H0n),Jkt;D(390,22,{3:1,34:1,22:1,390:1},Tse);var pde,bDe,SW,mDe=Fr(ou,"LongEdgeOrderingStrategy",390,Hr,V2n,V0n),Zkt;D(203,22,{3:1,34:1,22:1,203:1},bq);var U6,G6,_W,bde,mde=Fr(ou,"NodeFlexibility",203,Hr,Zbn,U0n),eEt;D(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},hO),h.dg=function(){return L2t(this)},h.qg=function(){return L2t(this)};var rM,vde,wde,iM,vDe,wDe=Fr(ou,"NodePlacementStrategy",323,Hr,Vmn,G0n),tEt;D(243,22,{3:1,34:1,22:1,243:1},ly);var yDe,v3,x4,AB,xDe,kDe,LB,EDe,AW,LW,TDe=Fr(ou,"NodePromotionStrategy",243,Hr,u3n,K0n),nEt;D(284,22,{3:1,34:1,22:1,284:1},mq);var CDe,E2,yde,xde,SDe=Fr(ou,"OrderingStrategy",284,Hr,emn,W0n),rEt;D(430,22,{3:1,34:1,22:1,430:1},R3e);var kde,Ede,_De=Fr(ou,"PortSortingStrategy",430,Hr,Gpn,Y0n),iEt;D(463,22,{3:1,34:1,22:1,463:1},Cse);var $l,zu,sM,sEt=Fr(ou,"PortType",463,Hr,U2n,X0n),aEt;D(387,22,{3:1,34:1,22:1,387:1},Sse);var ADe,Tde,LDe,MDe=Fr(ou,"SelfLoopDistributionStrategy",387,Hr,G2n,Q0n),oEt;D(349,22,{3:1,34:1,22:1,349:1},_se);var Cde,MB,Sde,DDe=Fr(ou,"SelfLoopOrderingStrategy",349,Hr,K2n,J0n),cEt;D(312,1,{312:1},xvt),I(ou,"Spacings",312),D(350,22,{3:1,34:1,22:1,350:1},Ase);var _de,IDe,aM,ODe=Fr(ou,"SplineRoutingMode",350,Hr,W2n,Z0n),uEt;D(352,22,{3:1,34:1,22:1,352:1},Lse);var Ade,NDe,PDe,BDe=Fr(ou,"ValidifyStrategy",352,Hr,Y2n,e1n),lEt;D(388,22,{3:1,34:1,22:1,388:1},Mse);var k4,Lde,XT,FDe=Fr(ou,"WrappingStrategy",388,Hr,X2n,t1n),hEt;D(1398,1,Uo,Ure),h.rg=function(t){return l(t,36),fEt},h.Kf=function(t,n){NLn(this,l(t,36),n)};var fEt;I(LG,"DepthFirstCycleBreaker",1398),D(793,1,Uo,Q4e),h.rg=function(t){return l(t,36),dEt},h.Kf=function(t,n){FIn(this,l(t,36),n)},h.sg=function(t){return l(jt(t,aU(this.d,t.c.length)),10)};var dEt;I(LG,"GreedyCycleBreaker",793),D(1401,793,Uo,$tt),h.sg=function(t){var n,r,a,o;for(o=null,n=Ii,a=new G(t);a.a1&&(Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),f3))))?q2t(t,this.d,l(this,669)):(Cn(),Vs(t,this.d)),Hft(this.e,t))},h.lg=function(t,n,r,a){var o,f,g,w,E,C,L;for(n!=ast(r,t.length)&&(f=t[n-(r?1:-1)],S6e(this.f,f,r?(qo(),zu):(qo(),$l))),o=t[n][0],L=!a||o.k==(Zn(),Us),C=O1(t[n]),this.vg(C,L,!1,r),g=0,E=new G(C);E.a"),t0?loe(this.a,t[n-1],t[n]):!r&&n1&&(Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),f3))))?q2t(t,this.d,this):(Cn(),Vs(t,this.d)),Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),f3)))||Hft(this.e,t))},I(Cl,"ModelOrderBarycenterHeuristic",669),D(1866,1,ii,zYe),h.Ne=function(t,n){return O9n(this.a,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Cl,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),D(1423,1,Uo,Jre),h.rg=function(t){var n;return l(t,36),n=Oq(LEt),fi(n,(uo(),bu),(vo(),RK)),n},h.Kf=function(t,n){bpn((l(t,36),n))};var LEt;I(Cl,"NoCrossingMinimizer",1423),D(809,413,uCe,o3e),h.tg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V;switch(B=this.g,r.g){case 1:{for(o=0,f=0,L=new G(t.j);L.a1&&(o.j==(Ct(),ar)?this.b[t]=!0:o.j==er&&t>0&&(this.b[t-1]=!0))},h.f=0,I(bg,"AllCrossingsCounter",1861),D(595,1,{},TV),h.b=0,h.d=0,I(bg,"BinaryIndexedTree",595),D(532,1,{},IO);var $De,DW;I(bg,"CrossingsCounter",532),D(1950,1,ii,qYe),h.Ne=function(t,n){return qdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(bg,"CrossingsCounter/lambda$0$Type",1950),D(1951,1,ii,HYe),h.Ne=function(t,n){return Hdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(bg,"CrossingsCounter/lambda$1$Type",1951),D(1952,1,ii,VYe),h.Ne=function(t,n){return Vdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(bg,"CrossingsCounter/lambda$2$Type",1952),D(1953,1,ii,UYe),h.Ne=function(t,n){return Udn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(bg,"CrossingsCounter/lambda$3$Type",1953),D(1954,1,fr,GYe),h.Cd=function(t){Uvn(this.a,l(t,12))},I(bg,"CrossingsCounter/lambda$4$Type",1954),D(1955,1,ti,KYe),h.Mb=function(t){return bln(this.a,l(t,12))},I(bg,"CrossingsCounter/lambda$5$Type",1955),D(1956,1,fr,WYe),h.Cd=function(t){Dtt(this,t)},I(bg,"CrossingsCounter/lambda$6$Type",1956),D(1957,1,fr,qet),h.Cd=function(t){var n;jk(),gb(this.b,(n=this.a,l(t,12),n))},I(bg,"CrossingsCounter/lambda$7$Type",1957),D(839,1,Ld,Xj),h.Lb=function(t){return jk(),ns(l(t,12),(ft(),jl))},h.Fb=function(t){return this===t},h.Mb=function(t){return jk(),ns(l(t,12),(ft(),jl))},I(bg,"CrossingsCounter/lambda$8$Type",839),D(1949,1,{},YYe),I(bg,"HyperedgeCrossingsCounter",1949),D(478,1,{34:1,478:1},Urt),h.Fd=function(t){return V5n(this,l(t,478))},h.b=0,h.c=0,h.e=0,h.f=0;var TOn=I(bg,"HyperedgeCrossingsCounter/Hyperedge",478);D(374,1,{34:1,374:1},CH),h.Fd=function(t){return iTn(this,l(t,374))},h.b=0,h.c=0;var MEt=I(bg,"HyperedgeCrossingsCounter/HyperedgeCorner",374);D(531,22,{3:1,34:1,22:1,531:1},j3e);var cM,uM,DEt=Fr(bg,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,Hr,Kpn,r1n),IEt;D(1425,1,Uo,Zre),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?OEt:null},h.Kf=function(t,n){p8n(this,l(t,36),n)};var OEt;I(Go,"InteractiveNodePlacer",1425),D(1426,1,Uo,eie),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?NEt:null},h.Kf=function(t,n){Z6n(this,l(t,36),n)};var NEt,IW,OW;I(Go,"LinearSegmentsNodePlacer",1426),D(261,1,{34:1,261:1},Pwe),h.Fd=function(t){return Aun(this,l(t,261))},h.Fb=function(t){var n;return De(t,261)?(n=l(t,261),this.b==n.b):!1},h.Hb=function(){return this.b},h.Ib=function(){return"ls"+Tb(this.e)},h.a=0,h.b=0,h.c=-1,h.d=-1,h.g=0;var PEt=I(Go,"LinearSegmentsNodePlacer/LinearSegment",261);D(1428,1,Uo,bst),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?BEt:null},h.Kf=function(t,n){AIn(this,l(t,36),n)},h.b=0,h.g=0;var BEt;I(Go,"NetworkSimplexPlacer",1428),D(1447,1,ii,Gee),h.Ne=function(t,n){return ru(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Go,"NetworkSimplexPlacer/0methodref$compare$Type",1447),D(1449,1,ii,Kee),h.Ne=function(t,n){return ru(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Go,"NetworkSimplexPlacer/1methodref$compare$Type",1449),D(655,1,{655:1},Het);var COn=I(Go,"NetworkSimplexPlacer/EdgeRep",655);D(412,1,{412:1},D5e),h.b=!1;var SOn=I(Go,"NetworkSimplexPlacer/NodeRep",412);D(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},QQe),I(Go,"NetworkSimplexPlacer/Path",515),D(1429,1,{},Wee),h.Kb=function(t){return l(t,18).d.i.k},I(Go,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),D(1430,1,ti,Yee),h.Mb=function(t){return l(t,273)==(Zn(),Aa)},I(Go,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),D(1431,1,{},Xee),h.Kb=function(t){return l(t,18).d.i},I(Go,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),D(1432,1,ti,XYe),h.Mb=function(t){return Lrt(I1t(l(t,10)))},I(Go,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),D(1433,1,ti,Qee),h.Mb=function(t){return Sdn(l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$0$Type",1433),D(1434,1,fr,Vet),h.Cd=function(t){ohn(this.a,this.b,l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$1$Type",1434),D(1443,1,fr,QYe),h.Cd=function(t){Okn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$10$Type",1443),D(1444,1,{},Jee),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$11$Type",1444),D(1445,1,fr,JYe),h.Cd=function(t){_Sn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$12$Type",1445),D(1446,1,{},Zee),h.Kb=function(t){return Sh(),pt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$13$Type",1446),D(1448,1,{},ete),h.Kb=function(t){return Sh(),pt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$15$Type",1448),D(1450,1,ti,tte),h.Mb=function(t){return Sh(),l(t,412).c.k==(Zn(),Ps)},I(Go,"NetworkSimplexPlacer/lambda$17$Type",1450),D(1451,1,ti,nte),h.Mb=function(t){return Sh(),l(t,412).c.j.c.length>1},I(Go,"NetworkSimplexPlacer/lambda$18$Type",1451),D(1452,1,fr,Tat),h.Cd=function(t){f5n(this.c,this.b,this.d,this.a,l(t,412))},h.c=0,h.d=0,I(Go,"NetworkSimplexPlacer/lambda$19$Type",1452),D(1435,1,{},rte),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$2$Type",1435),D(1453,1,fr,ZYe),h.Cd=function(t){uhn(this.a,l(t,12))},h.a=0,I(Go,"NetworkSimplexPlacer/lambda$20$Type",1453),D(1454,1,{},ite),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$21$Type",1454),D(1455,1,fr,eXe),h.Cd=function(t){xhn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$22$Type",1455),D(1456,1,ti,ste),h.Mb=function(t){return Lrt(t)},I(Go,"NetworkSimplexPlacer/lambda$23$Type",1456),D(1457,1,{},ate),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$24$Type",1457),D(1458,1,ti,tXe),h.Mb=function(t){return Mln(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$25$Type",1458),D(1459,1,fr,Uet),h.Cd=function(t){F9n(this.a,this.b,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$26$Type",1459),D(1460,1,ti,s8),h.Mb=function(t){return Sh(),!Do(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$27$Type",1460),D(1461,1,ti,Qj),h.Mb=function(t){return Sh(),!Do(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$28$Type",1461),D(1462,1,{},nXe),h.Ve=function(t,n){return chn(this.a,l(t,30),l(n,30))},I(Go,"NetworkSimplexPlacer/lambda$29$Type",1462),D(1436,1,{},ote),h.Kb=function(t){return Sh(),new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$3$Type",1436),D(1437,1,ti,cte),h.Mb=function(t){return Sh(),Rbn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$4$Type",1437),D(1438,1,fr,rXe),h.Cd=function(t){BAn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$5$Type",1438),D(1439,1,{},ute),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$6$Type",1439),D(1440,1,ti,Jj),h.Mb=function(t){return Sh(),l(t,10).k==(Zn(),Ps)},I(Go,"NetworkSimplexPlacer/lambda$7$Type",1440),D(1441,1,{},lte),h.Kb=function(t){return Sh(),new bn(null,new vw(new hr(dr(sp(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$8$Type",1441),D(1442,1,ti,TS),h.Mb=function(t){return Sh(),Cdn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$9$Type",1442),D(1424,1,Uo,tie),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?FEt:null},h.Kf=function(t,n){bLn(l(t,36),n)};var FEt;I(Go,"SimpleNodePlacer",1424),D(185,1,{185:1},f6),h.Ib=function(){var t;return t="",this.c==(xd(),w3)?t+=Dx:this.c==T2&&(t+=Mx),this.o==(D1(),wv)?t+=whe:this.o==Y1?t+="UP":t+="BALANCED",t},I(Ib,"BKAlignedLayout",185),D(523,22,{3:1,34:1,22:1,523:1},$3e);var T2,w3,REt=Fr(Ib,"BKAlignedLayout/HDirection",523,Hr,Ypn,i1n),jEt;D(522,22,{3:1,34:1,22:1,522:1},z3e);var wv,Y1,$Et=Fr(Ib,"BKAlignedLayout/VDirection",522,Hr,Xpn,s1n),zEt;D(1699,1,{},Get),I(Ib,"BKAligner",1699),D(1702,1,{},rgt),I(Ib,"BKCompactor",1702),D(663,1,{663:1},hte),h.a=0,I(Ib,"BKCompactor/ClassEdge",663),D(467,1,{467:1},WQe),h.a=null,h.b=0,I(Ib,"BKCompactor/ClassNode",467),D(1427,1,Uo,Xet),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?qEt:null},h.Kf=function(t,n){GIn(this,l(t,36),n)},h.d=!1;var qEt;I(Ib,"BKNodePlacer",1427),D(1700,1,{},fte),h.d=0,I(Ib,"NeighborhoodInformation",1700),D(1701,1,ii,iXe),h.Ne=function(t,n){return ywn(this,l(t,42),l(n,42))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Ib,"NeighborhoodInformation/NeighborComparator",1701),D(823,1,{}),I(Ib,"ThresholdStrategy",823),D(1825,823,{},YQe),h.wg=function(t,n,r){return this.a.o==(D1(),Y1)?gs:ia},h.xg=function(){},I(Ib,"ThresholdStrategy/NullThresholdStrategy",1825),D(587,1,{587:1},Qet),h.c=!1,h.d=!1,I(Ib,"ThresholdStrategy/Postprocessable",587),D(1826,823,{},XQe),h.wg=function(t,n,r){var a,o,f;return o=n==r,a=this.a.a[r.p]==n,o||a?(f=t,this.a.c==(xd(),w3)?(o&&(f=vle(this,n,!0)),!isNaN(f)&&!isFinite(f)&&a&&(f=vle(this,r,!1))):(o&&(f=vle(this,n,!0)),!isNaN(f)&&!isFinite(f)&&a&&(f=vle(this,r,!1))),f):t},h.xg=function(){for(var t,n,r,a,o;this.d.b!=0;)o=l(h2n(this.d),587),a=Lmt(this,o),a.a&&(t=a.a,r=Rt(this.a.f[this.a.g[o.b.p].p]),!(!r&&!Do(t)&&t.c.i.c==t.d.i.c)&&(n=N2t(this,o),n||Oln(this.e,o)));for(;this.e.a.c.length!=0;)N2t(this,l(P0t(this.e),587))},I(Ib,"ThresholdStrategy/SimpleThresholdStrategy",1826),D(645,1,{645:1,188:1,196:1},dte),h.dg=function(){return Vft(this)},h.qg=function(){return Vft(this)};var Mde;I(mfe,"EdgeRouterFactory",645),D(1485,1,Uo,nie),h.rg=function(t){return rSn(l(t,36))},h.Kf=function(t,n){ELn(l(t,36),n)};var HEt,VEt,UEt,GEt,KEt,zDe,WEt,YEt;I(mfe,"OrthogonalEdgeRouter",1485),D(1478,1,Uo,Yet),h.rg=function(t){return C8n(l(t,36))},h.Kf=function(t,n){GDn(this,l(t,36),n)};var XEt,QEt,JEt,ZEt,IB,eTt;I(mfe,"PolylineEdgeRouter",1478),D(1479,1,Ld,pte),h.Lb=function(t){return A7e(l(t,10))},h.Fb=function(t){return this===t},h.Mb=function(t){return A7e(l(t,10))},I(mfe,"PolylineEdgeRouter/1",1479),D(1872,1,ti,bte),h.Mb=function(t){return l(t,132).c==(J0(),qb)},I(i1,"HyperEdgeCycleDetector/lambda$0$Type",1872),D(1873,1,{},mte),h.Ze=function(t){return l(t,132).d},I(i1,"HyperEdgeCycleDetector/lambda$1$Type",1873),D(1874,1,ti,vte),h.Mb=function(t){return l(t,132).c==(J0(),qb)},I(i1,"HyperEdgeCycleDetector/lambda$2$Type",1874),D(1875,1,{},wte),h.Ze=function(t){return l(t,132).d},I(i1,"HyperEdgeCycleDetector/lambda$3$Type",1875),D(1876,1,{},yte),h.Ze=function(t){return l(t,132).d},I(i1,"HyperEdgeCycleDetector/lambda$4$Type",1876),D(1877,1,{},gte),h.Ze=function(t){return l(t,132).d},I(i1,"HyperEdgeCycleDetector/lambda$5$Type",1877),D(118,1,{34:1,118:1},xN),h.Fd=function(t){return Lun(this,l(t,118))},h.Fb=function(t){var n;return De(t,118)?(n=l(t,118),this.g==n.g):!1},h.Hb=function(){return this.g},h.Ib=function(){var t,n,r,a;for(t=new Th("{"),a=new G(this.n);a.a"+this.b+" ("+Whn(this.c)+")"},h.d=0,I(i1,"HyperEdgeSegmentDependency",132),D(528,22,{3:1,34:1,22:1,528:1},q3e);var qb,E4,tTt=Fr(i1,"HyperEdgeSegmentDependency/DependencyType",528,Hr,Qpn,a1n),nTt;D(1878,1,{},sXe),I(i1,"HyperEdgeSegmentSplitter",1878),D(1879,1,{},QJe),h.a=0,h.b=0,I(i1,"HyperEdgeSegmentSplitter/AreaRating",1879),D(339,1,{339:1},vae),h.a=0,h.b=0,h.c=0,I(i1,"HyperEdgeSegmentSplitter/FreeArea",339),D(1880,1,ii,a8),h.Ne=function(t,n){return Wfn(l(t,118),l(n,118))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(i1,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),D(1881,1,fr,Cat),h.Cd=function(t){kmn(this.a,this.d,this.c,this.b,l(t,118))},h.b=0,I(i1,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),D(1882,1,{},xte),h.Kb=function(t){return new bn(null,new kn(l(t,118).e,16))},I(i1,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),D(1883,1,{},kte),h.Kb=function(t){return new bn(null,new kn(l(t,118).j,16))},I(i1,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),D(1884,1,{},Ete),h.Ye=function(t){return ze(Ge(t))},I(i1,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),D(664,1,{},Hae),h.a=0,h.b=0,h.c=0,I(i1,"OrthogonalRoutingGenerator",664),D(1703,1,{},Tte),h.Kb=function(t){return new bn(null,new kn(l(t,118).e,16))},I(i1,"OrthogonalRoutingGenerator/lambda$0$Type",1703),D(1704,1,{},Cte),h.Kb=function(t){return new bn(null,new kn(l(t,118).j,16))},I(i1,"OrthogonalRoutingGenerator/lambda$1$Type",1704),D(670,1,{}),I(vfe,"BaseRoutingDirectionStrategy",670),D(1870,670,{},eJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new G(t.n);C.aDd&&(f=L,o=t,a=new lt(B,f),ui(g.a,a),Vw(this,g,o,a,!1),z=t.r,z&&(V=ze(Ge(ff(z.e,0))),a=new lt(V,f),ui(g.a,a),Vw(this,g,o,a,!1),f=n+z.o*r,o=z,a=new lt(V,f),ui(g.a,a),Vw(this,g,o,a,!1)),a=new lt(te,f),ui(g.a,a),Vw(this,g,o,a,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return Ct(),Dr},h.Bg=function(){return Ct(),Qn},I(vfe,"NorthToSouthRoutingStrategy",1870),D(1871,670,{},tJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n-t.o*r,C=new G(t.n);C.aDd&&(f=L,o=t,a=new lt(B,f),ui(g.a,a),Vw(this,g,o,a,!1),z=t.r,z&&(V=ze(Ge(ff(z.e,0))),a=new lt(V,f),ui(g.a,a),Vw(this,g,o,a,!1),f=n-z.o*r,o=z,a=new lt(V,f),ui(g.a,a),Vw(this,g,o,a,!1)),a=new lt(te,f),ui(g.a,a),Vw(this,g,o,a,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return Ct(),Qn},h.Bg=function(){return Ct(),Dr},I(vfe,"SouthToNorthRoutingStrategy",1871),D(1869,670,{},nJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new G(t.n);C.aDd&&(f=L,o=t,a=new lt(f,B),ui(g.a,a),Vw(this,g,o,a,!0),z=t.r,z&&(V=ze(Ge(ff(z.e,0))),a=new lt(f,V),ui(g.a,a),Vw(this,g,o,a,!0),f=n+z.o*r,o=z,a=new lt(f,V),ui(g.a,a),Vw(this,g,o,a,!0)),a=new lt(f,te),ui(g.a,a),Vw(this,g,o,a,!0)))},h.zg=function(t){return t.i.n.b+t.n.b+t.a.b},h.Ag=function(){return Ct(),ar},h.Bg=function(){return Ct(),er},I(vfe,"WestToEastRoutingStrategy",1869),D(828,1,{},Ske),h.Ib=function(){return Tb(this.a)},h.b=0,h.c=!1,h.d=!1,h.f=0,I(Zy,"NubSpline",828),D(418,1,{418:1},dbt,rot),I(Zy,"NubSpline/PolarCP",418),D(1480,1,Uo,Ydt),h.rg=function(t){return gxn(l(t,36))},h.Kf=function(t,n){hIn(this,l(t,36),n)};var rTt,iTt,sTt,aTt,oTt;I(Zy,"SplineEdgeRouter",1480),D(274,1,{274:1},WH),h.Ib=function(){return this.a+" ->("+this.c+") "+this.b},h.c=0,I(Zy,"SplineEdgeRouter/Dependency",274),D(465,22,{3:1,34:1,22:1,465:1},H3e);var Hb,K6,cTt=Fr(Zy,"SplineEdgeRouter/SideToProcess",465,Hr,r2n,o1n),uTt;D(1481,1,ti,Ste),h.Mb=function(t){return GA(),!l(t,131).o},I(Zy,"SplineEdgeRouter/lambda$0$Type",1481),D(1482,1,{},_te),h.Ze=function(t){return GA(),l(t,131).v+1},I(Zy,"SplineEdgeRouter/lambda$1$Type",1482),D(1483,1,fr,Jet),h.Cd=function(t){Ldn(this.a,this.b,l(t,42))},I(Zy,"SplineEdgeRouter/lambda$2$Type",1483),D(1484,1,fr,Zet),h.Cd=function(t){Mdn(this.a,this.b,l(t,42))},I(Zy,"SplineEdgeRouter/lambda$3$Type",1484),D(131,1,{34:1,131:1},_pt,Ike),h.Fd=function(t){return Iun(this,l(t,131))},h.b=0,h.e=!1,h.f=0,h.g=0,h.j=!1,h.k=!1,h.n=0,h.o=!1,h.p=!1,h.q=!1,h.s=0,h.u=0,h.v=0,h.F=0,I(Zy,"SplineSegment",131),D(468,1,{468:1},Ate),h.a=0,h.b=!1,h.c=!1,h.d=!1,h.e=!1,h.f=0,I(Zy,"SplineSegment/EdgeInformation",468),D(1198,1,{},CS),I(gp,LEe,1198),D(1199,1,ii,Lte),h.Ne=function(t,n){return Xkn(l(t,121),l(n,121))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(gp,E3t,1199),D(1197,1,{},dZe),I(gp,"MrTree",1197),D(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},vq),h.dg=function(){return Wpt(this)},h.qg=function(){return Wpt(this)};var NW,lM,hM,fM,qDe=Fr(gp,"TreeLayoutPhases",405,Hr,smn,c1n),lTt;D(1112,205,tv,Hrt),h.rf=function(t,n){var r,a,o,f,g,w,E,C;for(Rt(Bt(at(t,(Hc(),dIe))))||KO((r=new Yv((aw(),new Jv(t))),r)),g=n.eh(xfe),g.Ug("build tGraph",1),w=(E=new nN,pc(E,t),rt(E,(Qi(),gM),t),C=new Pr,H_n(t,E,C),cAn(t,E,C),E),g.Vg(),g=n.eh(xfe),g.Ug("Split graph",1),f=Y_n(this.a,w),g.Vg(),o=new G(f);o.a"+Bm(this.c):"e_"+es(this)},I(vL,"TEdge",65),D(121,137,{3:1,121:1,96:1,137:1},nN),h.Ib=function(){var t,n,r,a,o;for(o=null,a=Rr(this.b,0);a.b!=a.d.c;)r=l(Br(a),40),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+` +`;for(n=Rr(this.a,0);n.b!=n.d.c;)t=l(Br(n),65),o+=(t.b&&t.c?Bm(t.b)+"->"+Bm(t.c):"e_"+es(t))+` +`;return o};var _On=I(vL,"TGraph",121);D(643,508,{3:1,508:1,643:1,96:1,137:1}),I(vL,"TShape",643),D(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},xce),h.Ib=function(){return Bm(this)};var PW=I(vL,"TNode",40);D(236,1,hg,Hg),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=Rr(this.a.d,0),new C5(t)},I(vL,"TNode/2",236),D(329,1,Oa,C5),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(Br(this.a),65).c},h.Ob=function(){return QI(this.a)},h.Qb=function(){Yoe(this.a)},I(vL,"TNode/2/1",329),D(1923,1,ts,Bte),h.Kf=function(t,n){zIn(this,l(t,121),n)},I(Su,"CompactionProcessor",1923),D(1924,1,ii,lXe),h.Ne=function(t,n){return A3n(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$0$Type",1924),D(1925,1,ti,ttt),h.Mb=function(t){return Npn(this.b,this.a,l(t,42))},h.a=0,h.b=0,I(Su,"CompactionProcessor/lambda$1$Type",1925),D(1934,1,ii,o8),h.Ne=function(t,n){return Cgn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$10$Type",1934),D(1935,1,ii,Zj),h.Ne=function(t,n){return jhn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$11$Type",1935),D(1936,1,ii,Fte),h.Ne=function(t,n){return Sgn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$12$Type",1936),D(1926,1,ti,hXe),h.Mb=function(t){return khn(this.a,l(t,42))},h.a=0,I(Su,"CompactionProcessor/lambda$2$Type",1926),D(1927,1,ti,fXe),h.Mb=function(t){return Ehn(this.a,l(t,42))},h.a=0,I(Su,"CompactionProcessor/lambda$3$Type",1927),D(1928,1,ti,pI),h.Mb=function(t){return l(t,40).c.indexOf(DG)==-1},I(Su,"CompactionProcessor/lambda$4$Type",1928),D(1929,1,{},dXe),h.Kb=function(t){return Bbn(this.a,l(t,40))},h.a=0,I(Su,"CompactionProcessor/lambda$5$Type",1929),D(1930,1,{},gXe),h.Kb=function(t){return Vvn(this.a,l(t,40))},h.a=0,I(Su,"CompactionProcessor/lambda$6$Type",1930),D(1931,1,ii,pXe),h.Ne=function(t,n){return tvn(this.a,l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$7$Type",1931),D(1932,1,ii,bXe),h.Ne=function(t,n){return nvn(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$8$Type",1932),D(1933,1,ii,Rte),h.Ne=function(t,n){return $hn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$9$Type",1933),D(1921,1,ts,jte),h.Kf=function(t,n){FSn(l(t,121),n)},I(Su,"DirectionProcessor",1921),D(1913,1,ts,qrt),h.Kf=function(t,n){aAn(this,l(t,121),n)},I(Su,"FanProcessor",1913),D(1937,1,ts,$te),h.Kf=function(t,n){CSn(l(t,121),n)},I(Su,"GraphBoundsProcessor",1937),D(1938,1,{},zte),h.Ye=function(t){return l(t,40).e.a},I(Su,"GraphBoundsProcessor/lambda$0$Type",1938),D(1939,1,{},qte),h.Ye=function(t){return l(t,40).e.b},I(Su,"GraphBoundsProcessor/lambda$1$Type",1939),D(1940,1,{},Hte),h.Ye=function(t){return sln(l(t,40))},I(Su,"GraphBoundsProcessor/lambda$2$Type",1940),D(1941,1,{},Vte),h.Ye=function(t){return iln(l(t,40))},I(Su,"GraphBoundsProcessor/lambda$3$Type",1941),D(262,22,{3:1,34:1,22:1,262:1,196:1},ow),h.dg=function(){switch(this.g){case 0:return new bJe;case 1:return new qrt;case 2:return new pJe;case 3:return new n$;case 4:return new Ute;case 8:return new e$;case 5:return new jte;case 6:return new i$;case 7:return new Bte;case 9:return new $te;case 10:return new Kte;default:throw ue(new Yn(Fhe+(this.f!=null?this.f:""+this.g)))}};var HDe,VDe,UDe,GDe,KDe,WDe,YDe,XDe,QDe,JDe,Dde,AOn=Fr(Su,Rhe,262,Hr,Bft,u1n),hTt;D(1920,1,ts,e$),h.Kf=function(t,n){RDn(l(t,121),n)},I(Su,"LevelCoordinatesProcessor",1920),D(1918,1,ts,Ute),h.Kf=function(t,n){sCn(this,l(t,121),n)},h.a=0,I(Su,"LevelHeightProcessor",1918),D(1919,1,hg,t$),h.Jc=function(t){to(this,t)},h.Kc=function(){return Cn(),Mk(),AT},I(Su,"LevelHeightProcessor/1",1919),D(1914,1,ts,pJe),h.Kf=function(t,n){wSn(this,l(t,121),n)},I(Su,"LevelProcessor",1914),D(1915,1,ti,Gte),h.Mb=function(t){return Rt(Bt(Q(l(t,40),(Qi(),Vb))))},I(Su,"LevelProcessor/lambda$0$Type",1915),D(1916,1,ts,n$),h.Kf=function(t,n){nkn(this,l(t,121),n)},h.a=0,I(Su,"NeighborsProcessor",1916),D(1917,1,hg,r$),h.Jc=function(t){to(this,t)},h.Kc=function(){return Cn(),Mk(),AT},I(Su,"NeighborsProcessor/1",1917),D(1922,1,ts,i$),h.Kf=function(t,n){sAn(this,l(t,121),n)},h.a=0,I(Su,"NodePositionProcessor",1922),D(1912,1,ts,bJe),h.Kf=function(t,n){$Ln(this,l(t,121),n)},I(Su,"RootProcessor",1912),D(1942,1,ts,Kte),h.Kf=function(t,n){B6n(l(t,121),n)},I(Su,"Untreeifyer",1942),D(392,22,{3:1,34:1,22:1,392:1},Ose);var OB,Ide,ZDe,eIe=Fr(UP,"EdgeRoutingMode",392,Hr,J2n,l1n),fTt,NB,QT,Ode,tIe,nIe,Nde,Pde,rIe,Bde,iIe,Fde,dM,Rde,BW,FW,k0,c1,JT,gM,pM,C2,sIe,dTt,jde,Vb,PB,BB;D(862,1,Pf,rie),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fCe),""),pyt),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(Hn(),!1)),(g2(),ya)),Ns),un((r1(),Pn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dCe),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gCe),""),"Tree Level"),"The index for the tree level the node is in"),pt(0)),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pCe),""),pyt),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),pt(-1)),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bCe),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),cIe),ps),yIe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mCe),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),aIe),ps),eIe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vCe),""),"Search Order"),"Which search order to use when computing a spanning tree."),oIe),ps),kIe),un(Pn)))),iwt((new v8,t))};var gTt,pTt,bTt,aIe,mTt,vTt,oIe,wTt,yTt,cIe;I(UP,"MrTreeMetaDataProvider",862),D(1006,1,Pf,v8),h.hf=function(t){iwt(t)};var xTt,uIe,lIe,y3,hIe,fIe,$de,kTt,ETt,TTt,CTt,STt,_Tt,ATt,dIe,gIe,pIe,LTt,W6,RW,bIe,MTt,mIe,zde,DTt,ITt,OTt,vIe,NTt,$d,wIe;I(UP,"MrTreeOptions",1006),D(1007,1,{},Wte),h.sf=function(){var t;return t=new Hrt,t},h.tf=function(t){},I(UP,"MrTreeOptions/MrtreeFactory",1007),D(353,22,{3:1,34:1,22:1,353:1},wq);var qde,jW,Hde,Vde,yIe=Fr(UP,"OrderWeighting",353,Hr,amn,h1n),PTt;D(433,22,{3:1,34:1,22:1,433:1},V3e);var xIe,Ude,kIe=Fr(UP,"TreeifyingOrder",433,Hr,t2n,f1n),BTt;D(1486,1,Uo,aie),h.rg=function(t){return l(t,121),FTt},h.Kf=function(t,n){b3n(this,l(t,121),n)};var FTt;I("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),D(1487,1,Uo,dk),h.rg=function(t){return l(t,121),RTt},h.Kf=function(t,n){ESn(this,l(t,121),n)};var RTt;I(pT,"NodeOrderer",1487),D(1494,1,{},pwe),h.td=function(t){return Yit(t)},I(pT,"NodeOrderer/0methodref$lambda$6$Type",1494),D(1488,1,ti,ane),h.Mb=function(t){return ux(),Rt(Bt(Q(l(t,40),(Qi(),Vb))))},I(pT,"NodeOrderer/lambda$0$Type",1488),D(1489,1,ti,one),h.Mb=function(t){return ux(),l(Q(l(t,40),(Hc(),W6)),17).a<0},I(pT,"NodeOrderer/lambda$1$Type",1489),D(1490,1,ti,vXe),h.Mb=function(t){return Uwn(this.a,l(t,40))},I(pT,"NodeOrderer/lambda$2$Type",1490),D(1491,1,ti,mXe),h.Mb=function(t){return jbn(this.a,l(t,40))},I(pT,"NodeOrderer/lambda$3$Type",1491),D(1492,1,ii,cne),h.Ne=function(t,n){return gwn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(pT,"NodeOrderer/lambda$4$Type",1492),D(1493,1,ti,une),h.Mb=function(t){return ux(),l(Q(l(t,40),(Qi(),Pde)),17).a!=0},I(pT,"NodeOrderer/lambda$5$Type",1493),D(1495,1,Uo,sie),h.rg=function(t){return l(t,121),jTt},h.Kf=function(t,n){I_n(this,l(t,121),n)},h.b=0;var jTt;I("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),D(1496,1,Uo,iie),h.rg=function(t){return l(t,121),$Tt},h.Kf=function(t,n){d_n(l(t,121),n)};var $Tt,LOn=I(vh,"EdgeRouter",1496);D(1498,1,ii,sne),h.Ne=function(t,n){return ru(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/0methodref$compare$Type",1498),D(1503,1,{},Yte),h.Ye=function(t){return ze(Ge(t))},I(vh,"EdgeRouter/1methodref$doubleValue$Type",1503),D(1505,1,ii,a$),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/2methodref$compare$Type",1505),D(1507,1,ii,Xte),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/3methodref$compare$Type",1507),D(1509,1,{},s$),h.Ye=function(t){return ze(Ge(t))},I(vh,"EdgeRouter/4methodref$doubleValue$Type",1509),D(1511,1,ii,Qte),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/5methodref$compare$Type",1511),D(1513,1,ii,bI),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/6methodref$compare$Type",1513),D(1497,1,{},Jte),h.Kb=function(t){return tp(),l(Q(l(t,40),(Hc(),$d)),17)},I(vh,"EdgeRouter/lambda$0$Type",1497),D(1508,1,{},Zte),h.Kb=function(t){return Zhn(l(t,40))},I(vh,"EdgeRouter/lambda$11$Type",1508),D(1510,1,{},ntt),h.Kb=function(t){return _dn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(vh,"EdgeRouter/lambda$13$Type",1510),D(1512,1,{},rtt),h.Kb=function(t){return efn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(vh,"EdgeRouter/lambda$15$Type",1512),D(1514,1,ii,ene),h.Ne=function(t,n){return f6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$17$Type",1514),D(1515,1,ii,tne),h.Ne=function(t,n){return d6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$18$Type",1515),D(1516,1,ii,nne),h.Ne=function(t,n){return p6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$19$Type",1516),D(1499,1,ti,wXe),h.Mb=function(t){return b2n(this.a,l(t,40))},h.a=0,I(vh,"EdgeRouter/lambda$2$Type",1499),D(1517,1,ii,o$),h.Ne=function(t,n){return g6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$20$Type",1517),D(1500,1,ii,rne),h.Ne=function(t,n){return ddn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$3$Type",1500),D(1501,1,ii,ine),h.Ne=function(t,n){return gdn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$4$Type",1501),D(1502,1,{},lne),h.Kb=function(t){return tfn(l(t,40))},I(vh,"EdgeRouter/lambda$5$Type",1502),D(1504,1,{},itt),h.Kb=function(t){return Adn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(vh,"EdgeRouter/lambda$7$Type",1504),D(1506,1,{},stt),h.Kb=function(t){return nfn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(vh,"EdgeRouter/lambda$9$Type",1506),D(675,1,{675:1},Fdt),h.e=0,h.f=!1,h.g=!1,I(vh,"MultiLevelEdgeNodeNodeGap",675),D(1943,1,ii,hne),h.Ne=function(t,n){return S2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),D(1944,1,ii,fne),h.Ne=function(t,n){return _2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var Y6;D(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},U3e),h.dg=function(){return E1t(this)},h.qg=function(){return E1t(this)};var $W,X6,EIe=Fr(wCe,"RadialLayoutPhases",501,Hr,Wpn,d1n),zTt;D(1113,205,tv,fZe),h.rf=function(t,n){var r,a,o,f,g,w;if(r=cbt(this,t),n.Ug("Radial layout",r.c.length),Rt(Bt(at(t,(Sb(),NIe))))||KO((a=new Yv((aw(),new Jv(t))),a)),w=mxn(t),Hi(t,(H5(),Y6),w),!w)throw ue(new Yn("The given graph is not a tree!"));for(o=ze(Ge(at(t,HW))),o==0&&(o=qpt(t)),Hi(t,HW,o),g=new G(cbt(this,t));g.a=3)for(ot=l(Oe($e,0),27),St=l(Oe($e,1),27),f=0;f+2<$e.i;)if(Ze=ot,ot=St,St=l(Oe($e,f+2),27),Ze.f>=ot.f+St.f+L||St.f>=Ze.f+ot.f+L){cn=!0;break}else++f;else cn=!0;if(!cn){for(z=$e.i,w=new or($e);w.e!=w.i.gc();)g=l(gr(w),27),Hi(g,(pi(),XB),pt(z)),--z;Rmt(t,new L8),n.Vg();return}for(r=(qO(this.a),X0(this.a,(WV(),RB),l(at(t,uOe),188)),X0(this.a,VW,l(at(t,rOe),188)),X0(this.a,rge,l(at(t,aOe),188)),uye(this.a,(Bn=new Xs,fi(Bn,RB,(sU(),age)),fi(Bn,VW,sge),Rt(Bt(at(t,tOe)))&&fi(Bn,RB,ige),Bn)),bP(this.a,t)),C=1/r.c.length,J=new G(r);J.a0&&K0t((Xn(n-1,t.length),t.charCodeAt(n-1)),N3t);)--n;if(a>=n)throw ue(new Yn("The given string does not contain any numbers."));if(o=Gy((Ga(a,n,t.length),t.substr(a,n-a)),`,|;|\r| +`),o.length!=2)throw ue(new Yn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=jy($y(o[0])),this.b=jy($y(o[1]))}catch(f){throw f=bs(f),De(f,130)?(r=f,ue(new Yn(P3t+r))):ue(f)}},h.Ib=function(){return"("+this.a+","+this.b+")"},h.a=0,h.b=0;var Ea=I($P,"KVector",8);D(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},bl,Gz,frt),h.Pc=function(){return Oyn(this)},h.cg=function(t){var n,r,a,o,f,g;a=Gy(t,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),Ch(this);try{for(r=0,f=0,o=0,g=0;r0&&(f%2==0?o=jy(a[r]):g=jy(a[r]),f>0&&f%2!=0&&ui(this,new lt(o,g)),++f),++r}catch(w){throw w=bs(w),De(w,130)?(n=w,ue(new Yn("The given string does not match the expected format for vectors."+n))):ue(w)}},h.Ib=function(){var t,n,r;for(t=new Th("("),n=Rr(this,0);n.b!=n.d.c;)r=l(Br(n),8),hi(t,r.a+","+r.b),n.b!=n.d.c&&(t.a+="; ");return(t.a+=")",t).a};var GOe=I($P,"KVectorChain",75);D(255,22,{3:1,34:1,22:1,255:1},__);var Sge,eY,tY,HB,VB,nY,KOe=Fr(nh,"Alignment",255,Hr,Mvn,F1n),xSt;D(991,1,Pf,fie),h.hf=function(t){xmt(t)};var WOe,_ge,kSt,YOe,XOe,ESt,QOe,TSt,CSt,JOe,ZOe,SSt;I(nh,"BoxLayouterOptions",991),D(992,1,{},ek),h.sf=function(){var t;return t=new jne,t},h.tf=function(t){},I(nh,"BoxLayouterOptions/BoxFactory",992),D(298,22,{3:1,34:1,22:1,298:1},A_);var EM,Age,TM,CM,SM,Lge,Mge=Fr(nh,"ContentAlignment",298,Hr,Dvn,R1n),_St;D(699,1,Pf,uz),h.hf=function(t){sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Byt),""),"Layout Algorithm"),"Select a specific layout algorithm."),(g2(),J6)),zt),un((r1(),Pn))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Fyt),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),X1),IOn),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qTe),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),eNe),ps),KOe),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Ox),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,tSe),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),X1),GOe),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,SG),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),nNe),t9),Mge),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,VP),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Hn(),!1)),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gfe),""),kEe),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),rNe),ps),LM),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,HP),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),aNe),ps),Vge),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ZCe),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,CG),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),uNe),ps),YNe),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Xw),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),vNe),X1),wAe),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hL),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,AG),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fL),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Nhe),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),ENe),ps),JNe),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,_G),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),X1),Ea),rs(ha,he(le(xg,1),it,170,0,[yv,S2]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,NP),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),Tc),ro),rs(ha,he(le(xg,1),it,170,0,[zd]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,oG),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,lL),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ZTe),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),lNe),X1),GOe),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nCe),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rCe),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,sOn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),X1),FOn),rs(Pn,he(le(xg,1),it,170,0,[S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,sCe),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),hNe),X1),vAe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,$Te),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),ya),Ns),rs(ha,he(le(xg,1),it,170,0,[zd,yv,S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ryt),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),fo),ta),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,jyt),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,$yt),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,PP),""),Dyt),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),ya),Ns),un(Pn)))),Qs(t,PP,Qw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,zyt),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qyt),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),pt(100)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Hyt),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Vyt),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),pt(4e3)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Uyt),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),pt(400)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Gyt),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Kyt),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Wyt),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Yyt),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eSe),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),tNe),ps),cPe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,LTe),U1),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,MTe),U1),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,_he),U1),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,DTe),U1),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ohe),U1),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dfe),U1),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ITe),U1),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,PTe),U1),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,OTe),U1),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,NTe),U1),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Jy),U1),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BTe),U1),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FTe),U1),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),fo),ta),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,RTe),U1),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),X1),g_t),rs(ha,he(le(xg,1),it,170,0,[zd,yv,S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,aCe),U1),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),NNe),X1),vAe),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,bfe),Jyt),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),Tc),ro),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),Qs(t,bfe,pfe,BSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pfe),Jyt),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),wNe),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,UTe),Zyt),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),dNe),X1),wAe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fT),Zyt),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),gNe),t9),Ko),rs(ha,he(le(xg,1),it,170,0,[S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,WTe),RG),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),xNe),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,YTe),RG),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,XTe),RG),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,QTe),RG),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,JTe),RG),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,x6),Rfe),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),pNe),t9),BM),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Nx),Rfe),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),mNe),t9),ePe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Px),Rfe),"Node Size Minimum"),"The minimal size to which a node can be reduced."),bNe),X1),Ea),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hT),Rfe),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eCe),ffe),"Edge Label Placement"),"Gives a hint on where to put edge labels."),iNe),ps),FNe),un(S2)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,cG),ffe),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),ya),Ns),un(S2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,aOn),"font"),"Font Name"),"Font name used for a label."),J6),zt),un(S2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Xyt),"font"),"Font Size"),"Font size used for a label."),Tc),ro),un(S2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,iCe),jfe),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),X1),Ea),un(yv)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,tCe),jfe),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),Tc),ro),un(yv)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,zTe),jfe),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),SNe),ps),Oo),un(yv)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,jTe),jfe),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),fo),ta),un(yv)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dT),iSe),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),TNe),t9),cY),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,GTe),iSe),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,KTe),iSe),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BP),KP),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),fo),ta),un(Pn)))),Qs(t,BP,Qw,VSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nSe),KP),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),ps),gY),un(ha)))),Qs(t,nSe,Qw,USt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FP),KP),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),fo),ta),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),Qs(t,FP,Qw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,RP),KP),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),fo),ta),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),Qs(t,RP,Qw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Qw),KP),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),ps),nPe),un(ha)))),Qs(t,Qw,hT,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rSe),KP),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),fo),ta),un(Pn)))),Qs(t,rSe,Qw,HSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,HTe),e4t),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,VTe),e4t),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),ya),Ns),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ahe),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),fo),ta),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Qyt),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),cNe),ps),HNe),un(zd)))),m_(t,new nx(f_(Ck(Tk(new ny,sr),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),m_(t,new nx(f_(Ck(Tk(new ny,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),m_(t,new nx(f_(Ck(Tk(new ny,Yu),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),m_(t,new nx(f_(Ck(Tk(new ny,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),m_(t,new nx(f_(Ck(Tk(new ny,byt),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),m_(t,new nx(f_(Ck(Tk(new ny,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),m_(t,new nx(f_(Ck(Tk(new ny,gf),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),amt((new die,t)),xmt((new fie,t)),Nbt((new lz,t))};var eC,ASt,eNe,Z6,LSt,MSt,tNe,e7,t7,DSt,UB,nNe,GB,xv,rNe,Dge,Ige,iNe,sNe,aNe,oNe,cNe,ISt,n7,uNe,OSt,KB,Oge,WB,Nge,x3,lNe,tC,hNe,fNe,dNe,r7,gNe,kv,pNe,C4,i7,bNe,Ub,mNe,rY,YB,_2,vNe,NSt,wNe,PSt,BSt,yNe,xNe,Pge,Bge,Fge,Rge,kNe,rh,_M,ENe,jge,$ge,S4,TNe,CNe,s7,SNe,n9,XB,zge,a7,FSt,qge,RSt,jSt,_Ne,$St,ANe,LNe,r9,MNe,iY,DNe,INe,Ev,zSt,ONe,NNe,PNe,sY,QB,AM,i9,qSt,HSt,aY,VSt,BNe,USt;I(nh,"CoreOptions",699),D(88,22,{3:1,34:1,22:1,88:1},mO);var Q1,uc,vc,J1,wf,LM=Fr(nh,kEe,88,Hr,Pmn,j1n),GSt;D(278,22,{3:1,34:1,22:1,278:1},zse);var nC,_4,rC,FNe=Fr(nh,"EdgeLabelPlacement",278,Hr,lbn,$1n),KSt;D(223,22,{3:1,34:1,22:1,223:1},xq);var iC,JB,s9,Hge,Vge=Fr(nh,"EdgeRouting",223,Hr,lmn,z1n),WSt;D(321,22,{3:1,34:1,22:1,321:1},L_);var RNe,jNe,$Ne,zNe,Uge,qNe,HNe=Fr(nh,"EdgeType",321,Hr,Lvn,q1n),YSt;D(989,1,Pf,die),h.hf=function(t){amt(t)};var VNe,UNe,GNe,KNe,XSt,WNe,MM;I(nh,"FixedLayouterOptions",989),D(990,1,{},v$),h.sf=function(){var t;return t=new Une,t},h.tf=function(t){},I(nh,"FixedLayouterOptions/FixedFactory",990),D(346,22,{3:1,34:1,22:1,346:1},qse);var A2,oY,DM,YNe=Fr(nh,"HierarchyHandling",346,Hr,cbn,H1n),QSt;D(291,22,{3:1,34:1,22:1,291:1},kq);var kg,Gb,ZB,eF,JSt=Fr(nh,"LabelSide",291,Hr,umn,V1n),ZSt;D(95,22,{3:1,34:1,22:1,95:1},D5);var mp,E0,zf,T0,jh,C0,qf,Eg,S0,Ko=Fr(nh,"NodeLabelPlacement",95,Hr,Mwn,U1n),e_t;D(256,22,{3:1,34:1,22:1,256:1},vO);var XNe,IM,Kb,QNe,tF,OM=Fr(nh,"PortAlignment",256,Hr,Xmn,G1n),t_t;D(101,22,{3:1,34:1,22:1,101:1},M_);var Tv,Mu,Tg,sC,Z1,Wb,JNe=Fr(nh,"PortConstraints",101,Hr,Avn,K1n),n_t;D(279,22,{3:1,34:1,22:1,279:1},D_);var NM,PM,vp,nF,Yb,a9,cY=Fr(nh,"PortLabelPlacement",279,Hr,_vn,W1n),r_t;D(64,22,{3:1,34:1,22:1,64:1},wO);var ar,Qn,yf,xf,ll,Ju,ed,_0,zl,_l,Du,ql,hl,fl,A0,$h,zh,Hf,Dr,Pc,er,Oo=Fr(nh,"PortSide",64,Hr,Bmn,Y1n),i_t;D(993,1,Pf,lz),h.hf=function(t){Nbt(t)};var s_t,a_t,ZNe,o_t,c_t;I(nh,"RandomLayouterOptions",993),D(994,1,{},w$),h.sf=function(){var t;return t=new qne,t},h.tf=function(t){},I(nh,"RandomLayouterOptions/RandomFactory",994),D(386,22,{3:1,34:1,22:1,386:1},Eq);var A4,rF,iF,Cv,BM=Fr(nh,"SizeConstraint",386,Hr,cmn,X1n),u_t;D(264,22,{3:1,34:1,22:1,264:1},I5);var sF,uY,aC,Gge,aF,FM,lY,hY,fY,ePe=Fr(nh,"SizeOptions",264,Hr,qwn,Q1n),l_t;D(280,22,{3:1,34:1,22:1,280:1},Hse);var L4,tPe,dY,nPe=Fr(nh,"TopdownNodeTypes",280,Hr,hbn,J1n),h_t;D(347,22,sSe);var rPe,iPe,gY=Fr(nh,"TopdownSizeApproximator",347,Hr,a2n,edn);D(987,347,sSe,Wit),h.Tg=function(t){return Tdt(t)},Fr(nh,"TopdownSizeApproximator/1",987,gY,null,null),D(988,347,sSe,Ost),h.Tg=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn;for(n=l(at(t,(pi(),a7)),143),St=(rb(),V=new a_,V),aP(St,t),cn=new Pr,f=new or((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));f.e!=f.i.gc();)a=l(gr(f),27),Me=(z=new a_,z),LU(Me,St),aP(Me,a),Bn=Tdt(a),F5(Me,b.Math.max(a.g,Bn.a),b.Math.max(a.f,Bn.b)),ju(cn.f,a,Me);for(o=new or((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));o.e!=o.i.gc();)for(a=l(gr(o),27),L=new or((!a.e&&(a.e=new Ln(js,a,7,4)),a.e));L.e!=L.i.gc();)C=l(gr(L),74),Ze=l(hc(zo(cn.f,a)),27),ot=l(cr(cn,Oe((!C.c&&(C.c=new Ln(_r,C,5,8)),C.c),0)),27),$e=(B=new TI,B),qr((!$e.b&&($e.b=new Ln(_r,$e,4,7)),$e.b),Ze),qr((!$e.c&&($e.c=new Ln(_r,$e,5,8)),$e.c),ot),AU($e,ds(Ze)),aP($e,C);te=l(GO(n.f),205);try{te.rf(St,new x$),lat(n.f,te)}catch(jn){throw jn=bs(jn),De(jn,103)?(J=jn,ue(J)):ue(jn)}return P1(St,t7)||P1(St,e7)||Uke(St),E=ze(Ge(at(St,t7))),w=ze(Ge(at(St,e7))),g=E/w,r=ze(Ge(at(St,QB)))*b.Math.sqrt((!St.a&&(St.a=new nt(Ai,St,10,11)),St.a).i),an=l(at(St,_2),107),Te=an.b+an.c+1,fe=an.d+an.a+1,new lt(b.Math.max(Te,r),b.Math.max(fe,r/g))},Fr(nh,"TopdownSizeApproximator/2",988,gY,null,null);var f_t;D(344,1,{871:1},L8),h.Ug=function(t,n){return Fgt(this,t,n)},h.Vg=function(){apt(this)},h.Wg=function(){return this.q},h.Xg=function(){return this.f?ioe(this.f):null},h.Yg=function(){return ioe(this.a)},h.Zg=function(){return this.p},h.$g=function(){return!1},h._g=function(){return this.n},h.ah=function(){return this.p!=null&&!this.b},h.bh=function(t){var n;this.n&&(n=t,vt(this.f,n))},h.dh=function(t,n){var r,a;this.n&&t&&Sbn(this,(r=new Ust,a=cle(r,t),oDn(r),a),(NV(),Wge))},h.eh=function(t){var n;return this.b?null:(n=hwn(this,this.g),ui(this.a,n),n.i=this,this.d=t,n)},h.fh=function(t){t>0&&!this.b&&c7e(this,t)},h.b=!1,h.c=0,h.d=-1,h.e=null,h.f=null,h.g=-1,h.j=!1,h.k=!1,h.n=!1,h.o=0,h.q=0,h.r=0,I(Uc,"BasicProgressMonitor",344),D(717,205,tv,jne),h.rf=function(t,n){Rmt(t,n)},I(Uc,"BoxLayoutProvider",717),D(983,1,ii,DXe),h.Ne=function(t,n){return oCn(this,l(t,27),l(n,27))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},h.a=!1,I(Uc,"BoxLayoutProvider/1",983),D(163,1,{163:1},hV,vrt),h.Ib=function(){return this.c?oke(this.c):Tb(this.b)},I(Uc,"BoxLayoutProvider/Group",163),D(320,22,{3:1,34:1,22:1,320:1},Tq);var sPe,aPe,oPe,Kge,cPe=Fr(Uc,"BoxLayoutProvider/PackingMode",320,Hr,hmn,tdn),d_t;D(984,1,ii,tk),h.Ne=function(t,n){return Spn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Uc,"BoxLayoutProvider/lambda$0$Type",984),D(985,1,ii,nk),h.Ne=function(t,n){return vpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Uc,"BoxLayoutProvider/lambda$1$Type",985),D(986,1,ii,y$),h.Ne=function(t,n){return wpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Uc,"BoxLayoutProvider/lambda$2$Type",986),D(1384,1,{845:1},$ne),h.Mg=function(t,n){return tq(),!De(n,167)||mZe((hx(),l(t,167)),n)},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),D(1385,1,fr,IXe),h.Cd=function(t){Byn(this.a,l(t,149))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),D(1386,1,fr,Hne),h.Cd=function(t){l(t,96),tq()},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),D(1390,1,fr,OXe),h.Cd=function(t){i3n(this.a,l(t,96))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),D(1388,1,ti,utt),h.Mb=function(t){return myn(this.a,this.b,l(t,149))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),D(1387,1,ti,ltt),h.Mb=function(t){return Jhn(this.a,this.b,l(t,845))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),D(1389,1,fr,htt),h.Cd=function(t){hgn(this.a,this.b,l(t,149))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),D(947,1,{},Vne),h.Kb=function(t){return ant(t)},h.Fb=function(t){return this===t},I(Uc,"ElkUtil/lambda$0$Type",947),D(948,1,fr,ftt),h.Cd=function(t){lEn(this.a,this.b,l(t,74))},h.a=0,h.b=0,I(Uc,"ElkUtil/lambda$1$Type",948),D(949,1,fr,dtt),h.Cd=function(t){tun(this.a,this.b,l(t,166))},h.a=0,h.b=0,I(Uc,"ElkUtil/lambda$2$Type",949),D(950,1,fr,gtt),h.Cd=function(t){Xln(this.a,this.b,l(t,135))},h.a=0,h.b=0,I(Uc,"ElkUtil/lambda$3$Type",950),D(951,1,fr,NXe),h.Cd=function(t){Idn(this.a,l(t,377))},I(Uc,"ElkUtil/lambda$4$Type",951),D(325,1,{34:1,325:1},Dcn),h.Fd=function(t){return Chn(this,l(t,242))},h.Fb=function(t){var n;return De(t,325)?(n=l(t,325),this.a==n.a):!1},h.Hb=function(){return ua(this.a)},h.Ib=function(){return this.a+" (exclusive)"},h.a=0,I(Uc,"ExclusiveBounds/ExclusiveLowerBound",325),D(1119,205,tv,Une),h.rf=function(t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an;for(n.Ug("Fixed Layout",1),f=l(at(t,(pi(),sNe)),223),B=0,z=0,Me=new or((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));Me.e!=Me.i.gc();){for(fe=l(gr(Me),27),an=l(at(fe,(PV(),MM)),8),an&&(Qh(fe,an.a,an.b),l(at(fe,UNe),181).Hc((mh(),A4))&&(V=l(at(fe,KNe),8),V.a>0&&V.b>0&&Gw(fe,V.a,V.b,!0,!0))),B=b.Math.max(B,fe.i+fe.g),z=b.Math.max(z,fe.j+fe.f),C=new or((!fe.n&&(fe.n=new nt(ec,fe,1,7)),fe.n));C.e!=C.i.gc();)w=l(gr(C),135),an=l(at(w,MM),8),an&&Qh(w,an.a,an.b),B=b.Math.max(B,fe.i+w.i+w.g),z=b.Math.max(z,fe.j+w.j+w.f);for(ot=new or((!fe.c&&(fe.c=new nt(Hl,fe,9,9)),fe.c));ot.e!=ot.i.gc();)for(Ze=l(gr(ot),123),an=l(at(Ze,MM),8),an&&Qh(Ze,an.a,an.b),St=fe.i+Ze.i,cn=fe.j+Ze.j,B=b.Math.max(B,St+Ze.g),z=b.Math.max(z,cn+Ze.f),E=new or((!Ze.n&&(Ze.n=new nt(ec,Ze,1,7)),Ze.n));E.e!=E.i.gc();)w=l(gr(E),135),an=l(at(w,MM),8),an&&Qh(w,an.a,an.b),B=b.Math.max(B,St+w.i+w.g),z=b.Math.max(z,cn+w.j+w.f);for(o=new hr(dr(cp(fe).a.Kc(),new j));jr(o);)r=l(xr(o),74),L=Jvt(r),B=b.Math.max(B,L.a),z=b.Math.max(z,L.b);for(a=new hr(dr(sP(fe).a.Kc(),new j));jr(a);)r=l(xr(a),74),ds(cg(r))!=t&&(L=Jvt(r),B=b.Math.max(B,L.a),z=b.Math.max(z,L.b))}if(f==(ip(),iC))for(Te=new or((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));Te.e!=Te.i.gc();)for(fe=l(gr(Te),27),a=new hr(dr(cp(fe).a.Kc(),new j));jr(a);)r=l(xr(a),74),g=fAn(r),g.b==0?Hi(r,x3,null):Hi(r,x3,g);Rt(Bt(at(t,(PV(),GNe))))||($e=l(at(t,XSt),107),te=B+$e.b+$e.c,J=z+$e.d+$e.a,Gw(t,te,J,!0,!0)),n.Vg()},I(Uc,"FixedLayoutProvider",1119),D(385,137,{3:1,423:1,385:1,96:1,137:1},EI,Xlt),h.cg=function(t){var n,r,a,o,f,g,w,E,C;if(t)try{for(E=Gy(t,";,;"),f=E,g=0,w=f.length;g>16&Zs|n^a<<16},h.Kc=function(){return new PXe(this)},h.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+xc(this.b)+")":this.b==null?"pair("+xc(this.a)+",null)":"pair("+xc(this.a)+","+xc(this.b)+")"},I(Uc,"Pair",42),D(995,1,Oa,PXe),h.Nb=function(t){Za(this,t)},h.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},h.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw ue(new _c)},h.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),ue(new pl)},h.b=!1,h.c=!1,I(Uc,"Pair/1",995),D(455,1,{455:1},Sat),h.Fb=function(t){return Jc(this.a,l(t,455).a)&&Jc(this.c,l(t,455).c)&&Jc(this.d,l(t,455).d)&&Jc(this.b,l(t,455).b)},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.a,this.c,this.d,this.b]))},h.Ib=function(){return"("+this.a+Co+this.c+Co+this.d+Co+this.b+")"},I(Uc,"Quadruple",455),D(1108,205,tv,qne),h.rf=function(t,n){var r,a,o,f,g;if(n.Ug("Random Layout",1),(!t.a&&(t.a=new nt(Ai,t,10,11)),t.a).i==0){n.Vg();return}f=l(at(t,(B8e(),o_t)),17),f&&f.a!=0?o=new VH(f.a):o=new Uce,r=XI(Ge(at(t,s_t))),g=XI(Ge(at(t,c_t))),a=l(at(t,a_t),107),MDn(t,o,r,g,a),n.Vg()},I(Uc,"RandomLayoutProvider",1108),D(240,1,{240:1},wae),h.Fb=function(t){return Jc(this.a,l(t,240).a)&&Jc(this.b,l(t,240).b)&&Jc(this.c,l(t,240).c)},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.a,this.b,this.c]))},h.Ib=function(){return"("+this.a+Co+this.b+Co+this.c+")"},I(Uc,"Triple",240);var m_t;D(562,1,{}),h.Lf=function(){return new lt(this.f.i,this.f.j)},h.of=function(t){return eot(t,(pi(),rh))?at(this.f,v_t):at(this.f,t)},h.Mf=function(){return new lt(this.f.g,this.f.f)},h.Nf=function(){return this.g},h.pf=function(t){return P1(this.f,t)},h.Of=function(t){Uu(this.f,t.a),Gu(this.f,t.b)},h.Pf=function(t){Dw(this.f,t.a),Mw(this.f,t.b)},h.Qf=function(t){this.g=t},h.g=0;var v_t;I(xL,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),D(563,1,{853:1},Oz),h.Rf=function(){var t,n;if(!this.b)for(this.b=$H(EH(this.a).i),n=new or(EH(this.a));n.e!=n.i.gc();)t=l(gr(n),135),vt(this.b,new Yie(t));return this.b},h.b=null,I(xL,"ElkGraphAdapters/ElkEdgeAdapter",563),D(289,562,{},Jv),h.Sf=function(){return Gdt(this)},h.a=null,I(xL,"ElkGraphAdapters/ElkGraphAdapter",289),D(640,562,{187:1},Yie),I(xL,"ElkGraphAdapters/ElkLabelAdapter",640),D(639,562,{695:1},rae),h.Rf=function(){return m7n(this)},h.Vf=function(){var t;return t=l(at(this.f,(pi(),tC)),140),!t&&(t=new s_),t},h.Xf=function(){return v7n(this)},h.Zf=function(t){var n;n=new xae(t),Hi(this.f,(pi(),tC),n)},h.$f=function(t){Hi(this.f,(pi(),_2),new S4e(t))},h.Tf=function(){return this.d},h.Uf=function(){var t,n;if(!this.a)for(this.a=new bt,n=new hr(dr(sP(l(this.f,27)).a.Kc(),new j));jr(n);)t=l(xr(n),74),vt(this.a,new Oz(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=new bt,n=new hr(dr(cp(l(this.f,27)).a.Kc(),new j));jr(n);)t=l(xr(n),74),vt(this.c,new Oz(t));return this.c},h.Yf=function(){return AH(l(this.f,27)).i!=0||Rt(Bt(l(this.f,27).of((pi(),KB))))},h._f=function(){Xvn(this,(aw(),m_t))},h.a=null,h.b=null,h.c=null,h.d=null,h.e=null,I(xL,"ElkGraphAdapters/ElkNodeAdapter",639),D(1284,562,{852:1},BXe),h.Rf=function(){return S7n(this)},h.Uf=function(){var t,n;if(!this.a)for(this.a=eg(l(this.f,123).hh().i),n=new or(l(this.f,123).hh());n.e!=n.i.gc();)t=l(gr(n),74),vt(this.a,new Oz(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=eg(l(this.f,123).ih().i),n=new or(l(this.f,123).ih());n.e!=n.i.gc();)t=l(gr(n),74),vt(this.c,new Oz(t));return this.c},h.ag=function(){return l(l(this.f,123).of((pi(),s7)),64)},h.bg=function(){var t,n,r,a,o,f,g,w;for(a=M1(l(this.f,123)),r=new or(l(this.f,123).ih());r.e!=r.i.gc();)for(t=l(gr(r),74),w=new or((!t.c&&(t.c=new Ln(_r,t,5,8)),t.c));w.e!=w.i.gc();){if(g=l(gr(w),84),Ly(bc(g),a))return!0;if(bc(g)==a&&Rt(Bt(at(t,(pi(),Oge)))))return!0}for(n=new or(l(this.f,123).hh());n.e!=n.i.gc();)for(t=l(gr(n),74),f=new or((!t.b&&(t.b=new Ln(_r,t,4,7)),t.b));f.e!=f.i.gc();)if(o=l(gr(f),84),Ly(bc(o),a))return!0;return!1},h.a=null,h.b=null,h.c=null,I(xL,"ElkGraphAdapters/ElkPortAdapter",1284),D(1285,1,ii,zne),h.Ne=function(t,n){return i_n(l(t,123),l(n,123))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(xL,"ElkGraphAdapters/PortComparator",1285);var Xb=ks(pf,"EObject"),oC=ks(T6,r4t),qh=ks(T6,i4t),oF=ks(T6,s4t),cF=ks(T6,"ElkShape"),_r=ks(T6,a4t),js=ks(T6,aSe),cs=ks(T6,o4t),uF=ks(pf,c4t),RM=ks(pf,"EFactory"),w_t,Yge=ks(pf,u4t),u1=ks(pf,"EPackage"),La,y_t,x_t,fPe,pY,k_t,dPe,gPe,pPe,Cg,E_t,T_t,ec=ks(T6,oSe),Ai=ks(T6,cSe),Hl=ks(T6,uSe);D(93,1,l4t),h.th=function(){return this.uh(),null},h.uh=function(){return null},h.vh=function(){return this.uh(),!1},h.wh=function(){return!1},h.xh=function(t){Ni(this,t)},I(Rx,"BasicNotifierImpl",93),D(99,93,g4t),h.Yh=function(){return hh(this)},h.yh=function(t,n){return t},h.zh=function(){throw ue(new Qr)},h.Ah=function(t){var n;return n=Ro(l(Mn(this.Dh(),this.Fh()),19)),this.Ph().Th(this,n.n,n.f,t)},h.Bh=function(t,n){throw ue(new Qr)},h.Ch=function(t,n,r){return Nh(this,t,n,r)},h.Dh=function(){var t;return this.zh()&&(t=this.zh().Nk(),t)?t:this.ii()},h.Eh=function(){return Uue(this)},h.Fh=function(){throw ue(new Qr)},h.Gh=function(){var t,n;return n=this.$h().Ok(),!n&&this.zh().Tk(n=(w_(),t=j5e(Sd(this.Dh())),t==null?rpe:new TO(this,t))),n},h.Hh=function(t,n){return t},h.Ih=function(t){var n;return n=t.pk(),n?t.Lj():ms(this.Dh(),t)},h.Jh=function(){var t;return t=this.zh(),t?t.Qk():null},h.Kh=function(){return this.zh()?this.zh().Nk():null},h.Lh=function(t,n,r){return rU(this,t,n,r)},h.Mh=function(t){return tE(this,t)},h.Nh=function(t,n){return Moe(this,t,n)},h.Oh=function(){var t;return t=this.zh(),!!t&&t.Rk()},h.Ph=function(){throw ue(new Qr)},h.Qh=function(){return XV(this)},h.Rh=function(t,n,r,a){return mx(this,t,n,a)},h.Sh=function(t,n,r){var a;return a=l(Mn(this.Dh(),n),69),a.wk().zk(this,this.hi(),n-this.ji(),t,r)},h.Th=function(t,n,r,a){return IH(this,t,n,a)},h.Uh=function(t,n,r){var a;return a=l(Mn(this.Dh(),n),69),a.wk().Ak(this,this.hi(),n-this.ji(),t,r)},h.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},h.Wh=function(t){return nue(this,t)},h.Xh=function(t){return got(this,t)},h.Zh=function(t){return Bvt(this,t)},h.$h=function(){throw ue(new Qr)},h._h=function(){return this.zh()?this.zh().Pk():null},h.ai=function(){return XV(this)},h.bi=function(t,n){$ue(this,t,n)},h.ci=function(t){this.$h().Sk(t)},h.di=function(t){this.$h().Vk(t)},h.ei=function(t){this.$h().Uk(t)},h.fi=function(t,n){var r,a,o,f;return f=this.Jh(),f&&t&&(n=To(f.El(),this,n),f.Il(this)),a=this.Ph(),a&&(sle(this,this.Ph(),this.Fh()).Bb&Io?(o=a.Qh(),o&&(t?!f&&o.Il(this):o.Hl(this))):(n=(r=this.Fh(),r>=0?this.Ah(n):this.Ph().Th(this,-1-r,null,n)),n=this.Ch(null,-1,n))),this.di(t),n},h.gi=function(t){var n,r,a,o,f,g,w,E;if(r=this.Dh(),f=ms(r,t),n=this.ji(),f>=n)return l(t,69).wk().Dk(this,this.hi(),f-n);if(f<=-1)if(g=g6((El(),io),r,t),g){if(Fo(),l(g,69).xk()||(g=rx(ic(io,g))),o=(a=this.Ih(g),l(a>=0?this.Lh(a,!0,!0):Hw(this,g,!0),160)),E=g.Ik(),E>1||E==-1)return l(l(o,220).Sl(t,!1),79)}else throw ue(new Yn(Ob+t.xe()+$fe));else if(t.Jk())return a=this.Ih(t),l(a>=0?this.Lh(a,!1,!0):Hw(this,t,!1),79);return w=new Itt(this,t),w},h.hi=function(){return V6e(this)},h.ii=function(){return(lb(),Vn).S},h.ji=function(){return yr(this.ii())},h.ki=function(t){Fue(this,t)},h.Ib=function(){return g0(this)},I(Gn,"BasicEObjectImpl",99);var C_t;D(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),h.li=function(t){var n;return n=H6e(this),n[t]},h.mi=function(t,n){var r;r=H6e(this),Ts(r,t,n)},h.ni=function(t){var n;n=H6e(this),Ts(n,t,null)},h.th=function(){return l(Kn(this,4),129)},h.uh=function(){throw ue(new Qr)},h.vh=function(){return(this.Db&4)!=0},h.zh=function(){throw ue(new Qr)},h.oi=function(t){px(this,2,t)},h.Bh=function(t,n){this.Db=n<<16|this.Db&255,this.oi(t)},h.Dh=function(){return sl(this)},h.Fh=function(){return this.Db>>16},h.Gh=function(){var t,n;return w_(),n=j5e(Sd((t=l(Kn(this,16),29),t||this.ii()))),n==null?rpe:new TO(this,n)},h.wh=function(){return(this.Db&1)==0},h.Jh=function(){return l(Kn(this,128),2034)},h.Kh=function(){return l(Kn(this,16),29)},h.Oh=function(){return(this.Db&32)!=0},h.Ph=function(){return l(Kn(this,2),54)},h.Vh=function(){return(this.Db&64)!=0},h.$h=function(){throw ue(new Qr)},h._h=function(){return l(Kn(this,64),288)},h.ci=function(t){px(this,16,t)},h.di=function(t){px(this,128,t)},h.ei=function(t){px(this,64,t)},h.hi=function(){return Ku(this)},h.Db=0,I(Gn,"MinimalEObjectImpl",119),D(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.oi=function(t){this.Cb=t},h.Ph=function(){return this.Cb},I(Gn,"MinimalEObjectImpl/Container",120),D(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return sxe(this,t,n,r)},h.Uh=function(t,n,r){return Wxe(this,t,n,r)},h.Wh=function(t){return Z5e(this,t)},h.bi=function(t,n){V7e(this,t,n)},h.ii=function(){return su(),T_t},h.ki=function(t){O7e(this,t)},h.nf=function(){return fdt(this)},h.gh=function(){return!this.o&&(this.o=new xl((su(),Cg),L2,this,0)),this.o},h.of=function(t){return at(this,t)},h.pf=function(t){return P1(this,t)},h.qf=function(t,n){return Hi(this,t,n)},I(sv,"EMapPropertyHolderImpl",2083),D(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},AS),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return rU(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=0;case 1:return this.b!=0}return nue(this,t)},h.bi=function(t,n){switch(t){case 0:dV(this,ze(Ge(n)));return;case 1:fV(this,ze(Ge(n)));return}$ue(this,t,n)},h.ii=function(){return su(),y_t},h.ki=function(t){switch(t){case 0:dV(this,0);return;case 1:fV(this,0);return}Fue(this,t)},h.Ib=function(){var t;return this.Db&64?g0(this):(t=new Af(g0(this)),t.a+=" (x: ",_5(t,this.a),t.a+=", y: ",_5(t,this.b),t.a+=")",t.a)},h.a=0,h.b=0,I(sv,"ElkBendPointImpl",572),D(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return d8e(this,t,n,r)},h.Sh=function(t,n,r){return Mue(this,t,n,r)},h.Uh=function(t,n,r){return dce(this,t,n,r)},h.Wh=function(t){return _7e(this,t)},h.bi=function(t,n){Txe(this,t,n)},h.ii=function(){return su(),k_t},h.ki=function(t){i8e(this,t)},h.jh=function(){return this.k},h.kh=function(){return EH(this)},h.Ib=function(){return jce(this)},h.k=null,I(sv,"ElkGraphElementImpl",739),D(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return x8e(this,t,n,r)},h.Wh=function(t){return _8e(this,t)},h.bi=function(t,n){Cxe(this,t,n)},h.ii=function(){return su(),E_t},h.ki=function(t){N8e(this,t)},h.lh=function(){return this.f},h.mh=function(){return this.g},h.nh=function(){return this.i},h.oh=function(){return this.j},h.ph=function(t,n){F5(this,t,n)},h.qh=function(t,n){Qh(this,t,n)},h.rh=function(t){Uu(this,t)},h.sh=function(t){Gu(this,t)},h.Ib=function(){return Pue(this)},h.f=0,h.g=0,h.i=0,h.j=0,I(sv,"ElkShapeImpl",740),D(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return J8e(this,t,n,r)},h.Sh=function(t,n,r){return vxe(this,t,n,r)},h.Uh=function(t,n,r){return wxe(this,t,n,r)},h.Wh=function(t){return H7e(this,t)},h.bi=function(t,n){I9e(this,t,n)},h.ii=function(){return su(),x_t},h.ki=function(t){K8e(this,t)},h.hh=function(){return!this.d&&(this.d=new Ln(js,this,8,5)),this.d},h.ih=function(){return!this.e&&(this.e=new Ln(js,this,7,4)),this.e},I(sv,"ElkConnectableShapeImpl",741),D(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},TI),h.Ah=function(t){return gxe(this,t)},h.Lh=function(t,n,r){switch(t){case 3:return WO(this);case 4:return!this.b&&(this.b=new Ln(_r,this,4,7)),this.b;case 5:return!this.c&&(this.c=new Ln(_r,this,5,8)),this.c;case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),this.a;case 7:return Hn(),!this.b&&(this.b=new Ln(_r,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Ln(_r,this,5,8)),this.c.i<=1));case 8:return Hn(),!!qA(this);case 9:return Hn(),!!qw(this);case 10:return Hn(),!this.b&&(this.b=new Ln(_r,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Ln(_r,this,5,8)),this.c.i!=0)}return d8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 3:return this.Cb&&(r=(a=this.Db>>16,a>=0?gxe(this,r):this.Cb.Th(this,-1-a,null,r))),Yye(this,l(t,27),r);case 4:return!this.b&&(this.b=new Ln(_r,this,4,7)),Ru(this.b,t,r);case 5:return!this.c&&(this.c=new Ln(_r,this,5,8)),Ru(this.c,t,r);case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),Ru(this.a,t,r)}return Mue(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 3:return Yye(this,null,r);case 4:return!this.b&&(this.b=new Ln(_r,this,4,7)),To(this.b,t,r);case 5:return!this.c&&(this.c=new Ln(_r,this,5,8)),To(this.c,t,r);case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),To(this.a,t,r)}return dce(this,t,n,r)},h.Wh=function(t){switch(t){case 3:return!!WO(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new Ln(_r,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Ln(_r,this,5,8)),this.c.i<=1));case 8:return qA(this);case 9:return qw(this);case 10:return!this.b&&(this.b=new Ln(_r,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Ln(_r,this,5,8)),this.c.i!=0)}return _7e(this,t)},h.bi=function(t,n){switch(t){case 3:AU(this,l(n,27));return;case 4:!this.b&&(this.b=new Ln(_r,this,4,7)),$r(this.b),!this.b&&(this.b=new Ln(_r,this,4,7)),As(this.b,l(n,16));return;case 5:!this.c&&(this.c=new Ln(_r,this,5,8)),$r(this.c),!this.c&&(this.c=new Ln(_r,this,5,8)),As(this.c,l(n,16));return;case 6:!this.a&&(this.a=new nt(cs,this,6,6)),$r(this.a),!this.a&&(this.a=new nt(cs,this,6,6)),As(this.a,l(n,16));return}Txe(this,t,n)},h.ii=function(){return su(),fPe},h.ki=function(t){switch(t){case 3:AU(this,null);return;case 4:!this.b&&(this.b=new Ln(_r,this,4,7)),$r(this.b);return;case 5:!this.c&&(this.c=new Ln(_r,this,5,8)),$r(this.c);return;case 6:!this.a&&(this.a=new nt(cs,this,6,6)),$r(this.a);return}i8e(this,t)},h.Ib=function(){return evt(this)},I(sv,"ElkEdgeImpl",326),D(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},rk),h.Ah=function(t){return lxe(this,t)},h.Lh=function(t,n,r){switch(t){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new Ys(qh,this,5)),this.a;case 6:return lot(this);case 7:return n?oue(this):this.i;case 8:return n?aue(this):this.f;case 9:return!this.g&&(this.g=new Ln(cs,this,9,10)),this.g;case 10:return!this.e&&(this.e=new Ln(cs,this,10,9)),this.e;case 11:return this.d}return sxe(this,t,n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?lxe(this,r):this.Cb.Th(this,-1-o,null,r))),Wye(this,l(t,74),r);case 9:return!this.g&&(this.g=new Ln(cs,this,9,10)),Ru(this.g,t,r);case 10:return!this.e&&(this.e=new Ln(cs,this,10,9)),Ru(this.e,t,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(su(),pY)),n),69),f.wk().zk(this,Ku(this),n-yr((su(),pY)),t,r)},h.Uh=function(t,n,r){switch(n){case 5:return!this.a&&(this.a=new Ys(qh,this,5)),To(this.a,t,r);case 6:return Wye(this,null,r);case 9:return!this.g&&(this.g=new Ln(cs,this,9,10)),To(this.g,t,r);case 10:return!this.e&&(this.e=new Ln(cs,this,10,9)),To(this.e,t,r)}return Wxe(this,t,n,r)},h.Wh=function(t){switch(t){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!lot(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return Z5e(this,t)},h.bi=function(t,n){switch(t){case 1:oE(this,ze(Ge(n)));return;case 2:uE(this,ze(Ge(n)));return;case 3:aE(this,ze(Ge(n)));return;case 4:cE(this,ze(Ge(n)));return;case 5:!this.a&&(this.a=new Ys(qh,this,5)),$r(this.a),!this.a&&(this.a=new Ys(qh,this,5)),As(this.a,l(n,16));return;case 6:Z2t(this,l(n,74));return;case 7:yV(this,l(n,84));return;case 8:wV(this,l(n,84));return;case 9:!this.g&&(this.g=new Ln(cs,this,9,10)),$r(this.g),!this.g&&(this.g=new Ln(cs,this,9,10)),As(this.g,l(n,16));return;case 10:!this.e&&(this.e=new Ln(cs,this,10,9)),$r(this.e),!this.e&&(this.e=new Ln(cs,this,10,9)),As(this.e,l(n,16));return;case 11:p7e(this,ei(n));return}V7e(this,t,n)},h.ii=function(){return su(),pY},h.ki=function(t){switch(t){case 1:oE(this,0);return;case 2:uE(this,0);return;case 3:aE(this,0);return;case 4:cE(this,0);return;case 5:!this.a&&(this.a=new Ys(qh,this,5)),$r(this.a);return;case 6:Z2t(this,null);return;case 7:yV(this,null);return;case 8:wV(this,null);return;case 9:!this.g&&(this.g=new Ln(cs,this,9,10)),$r(this.g);return;case 10:!this.e&&(this.e=new Ln(cs,this,10,9)),$r(this.e);return;case 11:p7e(this,null);return}O7e(this,t)},h.Ib=function(){return d2t(this)},h.b=0,h.c=0,h.d=null,h.j=0,h.k=0,I(sv,"ElkEdgeSectionImpl",452),D(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Lh=function(t,n,r){var a;return t==0?(!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab):sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o;return n==0?(!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r)):(o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().zk(this,Ku(this),n-yr(this.ii()),t,r))},h.Uh=function(t,n,r){var a,o;return n==0?(!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r)):(o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-yr(this.ii()),t,r))},h.Wh=function(t){var n;return t==0?!!this.Ab&&this.Ab.i!=0:nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.Zh=function(t){return Hke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.di=function(t){px(this,128,t)},h.ii=function(){return Tn(),H_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){this.Bb|=1},h.qi=function(t){return YA(this,t)},h.Bb=0,I(Gn,"EModelElementImpl",158),D(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},fz),h.ri=function(t,n){return Lvt(this,t,n)},h.si=function(t){var n,r,a,o,f;if(this.a!=Ah(t)||t.Bb&256)throw ue(new Yn(qfe+t.zb+t3));for(a=dc(t);du(a.a).i!=0;){if(r=l(mP(a,0,(n=l(Oe(du(a.a),0),89),f=n.c,De(f,90)?l(f,29):(Tn(),Kf))),29),zw(r))return o=Ah(r).wi().si(r),l(o,54).ci(t),o;a=dc(r)}return(t.D!=null?t.D:t.B)=="java.util.Map$Entry"?new Git(t):new F4e(t)},h.ti=function(t,n){return Kw(this,t,n)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.a}return sf(this,t-yr((Tn(),em)),Mn((a=l(Kn(this,16),29),a||em),t),n,r)},h.Sh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 1:return this.a&&(r=l(this.a,54).Th(this,4,u1,r)),r8e(this,l(t,241),r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),em)),n),69),o.wk().zk(this,Ku(this),n-yr((Tn(),em)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 1:return r8e(this,null,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),em)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),em)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return nf(this,t-yr((Tn(),em)),Mn((n=l(Kn(this,16),29),n||em),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Xgt(this,l(n,241));return}uf(this,t-yr((Tn(),em)),Mn((r=l(Kn(this,16),29),r||em),t),n)},h.ii=function(){return Tn(),em},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Xgt(this,null);return}cf(this,t-yr((Tn(),em)),Mn((n=l(Kn(this,16),29),n||em),t))};var jM,bPe,S_t;I(Gn,"EFactoryImpl",720),D(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},ik),h.ri=function(t,n){switch(t.hk()){case 12:return l(n,149).Pg();case 13:return xc(n);default:throw ue(new Yn(yT+t.xe()+t3))}},h.si=function(t){var n,r,a,o,f,g,w,E;switch(t.G==-1&&(t.G=(n=Ah(t),n?f2(n.vi(),t):-1)),t.G){case 4:return f=new sk,f;case 6:return g=new a_,g;case 7:return w=new jwe,w;case 8:return a=new TI,a;case 9:return r=new AS,r;case 10:return o=new rk,o;case 11:return E=new k$,E;default:throw ue(new Yn(qfe+t.zb+t3))}},h.ti=function(t,n){switch(t.hk()){case 13:case 12:return null;default:throw ue(new Yn(yT+t.xe()+t3))}},I(sv,"ElkGraphFactoryImpl",1037),D(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Gh=function(){var t,n;return n=(t=l(Kn(this,16),29),j5e(Sd(t||this.ii()))),n==null?(w_(),w_(),rpe):new prt(this,n)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.xe()}return sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:this.ui(ei(n));return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),V_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.xe=function(){return this.zb},h.ui=function(t){Fu(this,t)},h.Ib=function(){return CA(this)},h.zb=null,I(Gn,"ENamedElementImpl",448),D(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},qat),h.Ah=function(t){return ogt(this,t)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new wy(this,l1,this)),this.rb;case 6:return!this.vb&&(this.vb=new V8(u1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?l(this.Cb,241):null:mot(this)}return sf(this,t-yr((Tn(),O2)),Mn((a=l(Kn(this,16),29),a||O2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 4:return this.sb&&(r=l(this.sb,54).Th(this,1,RM,r)),a8e(this,l(t,480),r);case 5:return!this.rb&&(this.rb=new wy(this,l1,this)),Ru(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(u1,this,6,7)),Ru(this.vb,t,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?ogt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,7,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),O2)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),O2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 4:return a8e(this,null,r);case 5:return!this.rb&&(this.rb=new wy(this,l1,this)),To(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(u1,this,6,7)),To(this.vb,t,r);case 7:return Nh(this,null,7,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),O2)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),O2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!mot(this)}return nf(this,t-yr((Tn(),O2)),Mn((n=l(Kn(this,16),29),n||O2),t))},h.Zh=function(t){var n;return n=wCn(this,t),n||Hke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Fu(this,ei(n));return;case 2:SV(this,ei(n));return;case 3:CV(this,ei(n));return;case 4:Nue(this,l(n,480));return;case 5:!this.rb&&(this.rb=new wy(this,l1,this)),$r(this.rb),!this.rb&&(this.rb=new wy(this,l1,this)),As(this.rb,l(n,16));return;case 6:!this.vb&&(this.vb=new V8(u1,this,6,7)),$r(this.vb),!this.vb&&(this.vb=new V8(u1,this,6,7)),As(this.vb,l(n,16));return}uf(this,t-yr((Tn(),O2)),Mn((r=l(Kn(this,16),29),r||O2),t),n)},h.ei=function(t){var n,r;if(t&&this.rb)for(r=new or(this.rb);r.e!=r.i.gc();)n=gr(r),De(n,364)&&(l(n,364).w=null);px(this,64,t)},h.ii=function(){return Tn(),O2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Fu(this,null);return;case 2:SV(this,null);return;case 3:CV(this,null);return;case 4:Nue(this,null);return;case 5:!this.rb&&(this.rb=new wy(this,l1,this)),$r(this.rb);return;case 6:!this.vb&&(this.vb=new V8(u1,this,6,7)),$r(this.vb);return}cf(this,t-yr((Tn(),O2)),Mn((n=l(Kn(this,16),29),n||O2),t))},h.pi=function(){yue(this)},h.vi=function(){return!this.rb&&(this.rb=new wy(this,l1,this)),this.rb},h.wi=function(){return this.sb},h.xi=function(){return this.ub},h.yi=function(){return this.xb},h.zi=function(){return this.yb},h.Ai=function(t){this.ub=t},h.Ib=function(){var t;return this.Db&64?CA(this):(t=new Af(CA(this)),t.a+=" (nsURI: ",Xo(t,this.yb),t.a+=", nsPrefix: ",Xo(t,this.xb),t.a+=")",t.a)},h.xb=null,h.yb=null,I(Gn,"EPackageImpl",184),D(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},k2t),h.q=!1,h.r=!1;var __t=!1;I(sv,"ElkGraphPackageImpl",569),D(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},sk),h.Ah=function(t){return hxe(this,t)},h.Lh=function(t,n,r){switch(t){case 7:return vot(this);case 8:return this.a}return x8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 7:return this.Cb&&(r=(a=this.Db>>16,a>=0?hxe(this,r):this.Cb.Th(this,-1-a,null,r))),J4e(this,l(t,167),r)}return Mue(this,t,n,r)},h.Uh=function(t,n,r){return n==7?J4e(this,null,r):dce(this,t,n,r)},h.Wh=function(t){switch(t){case 7:return!!vot(this);case 8:return!vn("",this.a)}return _8e(this,t)},h.bi=function(t,n){switch(t){case 7:U9e(this,l(n,167));return;case 8:l7e(this,ei(n));return}Cxe(this,t,n)},h.ii=function(){return su(),dPe},h.ki=function(t){switch(t){case 7:U9e(this,null);return;case 8:l7e(this,"");return}N8e(this,t)},h.Ib=function(){return lpt(this)},h.a="",I(sv,"ElkLabelImpl",366),D(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},a_),h.Ah=function(t){return pxe(this,t)},h.Lh=function(t,n,r){switch(t){case 9:return!this.c&&(this.c=new nt(Hl,this,9,9)),this.c;case 10:return!this.a&&(this.a=new nt(Ai,this,10,11)),this.a;case 11:return ds(this);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),this.b;case 13:return Hn(),!this.a&&(this.a=new nt(Ai,this,10,11)),this.a.i>0}return J8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 9:return!this.c&&(this.c=new nt(Hl,this,9,9)),Ru(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Ai,this,10,11)),Ru(this.a,t,r);case 11:return this.Cb&&(r=(a=this.Db>>16,a>=0?pxe(this,r):this.Cb.Th(this,-1-a,null,r))),s4e(this,l(t,27),r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),Ru(this.b,t,r)}return vxe(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 9:return!this.c&&(this.c=new nt(Hl,this,9,9)),To(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Ai,this,10,11)),To(this.a,t,r);case 11:return s4e(this,null,r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),To(this.b,t,r)}return wxe(this,t,n,r)},h.Wh=function(t){switch(t){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!ds(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new nt(Ai,this,10,11)),this.a.i>0}return H7e(this,t)},h.bi=function(t,n){switch(t){case 9:!this.c&&(this.c=new nt(Hl,this,9,9)),$r(this.c),!this.c&&(this.c=new nt(Hl,this,9,9)),As(this.c,l(n,16));return;case 10:!this.a&&(this.a=new nt(Ai,this,10,11)),$r(this.a),!this.a&&(this.a=new nt(Ai,this,10,11)),As(this.a,l(n,16));return;case 11:LU(this,l(n,27));return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b),!this.b&&(this.b=new nt(js,this,12,3)),As(this.b,l(n,16));return}I9e(this,t,n)},h.ii=function(){return su(),gPe},h.ki=function(t){switch(t){case 9:!this.c&&(this.c=new nt(Hl,this,9,9)),$r(this.c);return;case 10:!this.a&&(this.a=new nt(Ai,this,10,11)),$r(this.a);return;case 11:LU(this,null);return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b);return}K8e(this,t)},h.Ib=function(){return oke(this)},I(sv,"ElkNodeImpl",207),D(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},jwe),h.Ah=function(t){return fxe(this,t)},h.Lh=function(t,n,r){return t==9?M1(this):J8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 9:return this.Cb&&(r=(a=this.Db>>16,a>=0?fxe(this,r):this.Cb.Th(this,-1-a,null,r))),Xye(this,l(t,27),r)}return vxe(this,t,n,r)},h.Uh=function(t,n,r){return n==9?Xye(this,null,r):wxe(this,t,n,r)},h.Wh=function(t){return t==9?!!M1(this):H7e(this,t)},h.bi=function(t,n){switch(t){case 9:z9e(this,l(n,27));return}I9e(this,t,n)},h.ii=function(){return su(),pPe},h.ki=function(t){switch(t){case 9:z9e(this,null);return}K8e(this,t)},h.Ib=function(){return Jbt(this)},I(sv,"ElkPortImpl",193);var A_t=ks(So,"BasicEMap/Entry");D(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},k$),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.Hb=function(){return fw(this)},h.Di=function(t){h7e(this,l(t,149))},h.Lh=function(t,n,r){switch(t){case 0:return this.b;case 1:return this.c}return rU(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return!!this.b;case 1:return this.c!=null}return nue(this,t)},h.bi=function(t,n){switch(t){case 0:h7e(this,l(n,149));return;case 1:u7e(this,n);return}$ue(this,t,n)},h.ii=function(){return su(),Cg},h.ki=function(t){switch(t){case 0:h7e(this,null);return;case 1:u7e(this,null);return}Fue(this,t)},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t?es(t):0),this.a},h.md=function(){return this.c},h.Ci=function(t){this.a=t},h.nd=function(t){var n;return n=this.c,u7e(this,t),n},h.Ib=function(){var t;return this.Db&64?g0(this):(t=new tb,hi(hi(hi(t,this.b?this.b.Pg():ul),Phe),j_(this.c)),t.a)},h.a=-1,h.c=null;var L2=I(sv,"ElkPropertyToValueMapEntryImpl",1122);D(996,1,{},T$),I(no,"JsonAdapter",996),D(216,63,lp,dd),I(no,"JsonImportException",216),D(868,1,{},cgt),I(no,"JsonImporter",868),D(903,1,{},ptt),I(no,"JsonImporter/lambda$0$Type",903),D(904,1,{},btt),I(no,"JsonImporter/lambda$1$Type",904),D(912,1,{},FXe),I(no,"JsonImporter/lambda$10$Type",912),D(914,1,{},mtt),I(no,"JsonImporter/lambda$11$Type",914),D(915,1,{},vtt),I(no,"JsonImporter/lambda$12$Type",915),D(921,1,{},Mat),I(no,"JsonImporter/lambda$13$Type",921),D(920,1,{},Dat),I(no,"JsonImporter/lambda$14$Type",920),D(916,1,{},wtt),I(no,"JsonImporter/lambda$15$Type",916),D(917,1,{},ytt),I(no,"JsonImporter/lambda$16$Type",917),D(918,1,{},xtt),I(no,"JsonImporter/lambda$17$Type",918),D(919,1,{},ktt),I(no,"JsonImporter/lambda$18$Type",919),D(924,1,{},RXe),I(no,"JsonImporter/lambda$19$Type",924),D(905,1,{},jXe),I(no,"JsonImporter/lambda$2$Type",905),D(922,1,{},$Xe),I(no,"JsonImporter/lambda$20$Type",922),D(923,1,{},zXe),I(no,"JsonImporter/lambda$21$Type",923),D(927,1,{},qXe),I(no,"JsonImporter/lambda$22$Type",927),D(925,1,{},HXe),I(no,"JsonImporter/lambda$23$Type",925),D(926,1,{},VXe),I(no,"JsonImporter/lambda$24$Type",926),D(929,1,{},UXe),I(no,"JsonImporter/lambda$25$Type",929),D(928,1,{},GXe),I(no,"JsonImporter/lambda$26$Type",928),D(930,1,fr,Ett),h.Cd=function(t){Ovn(this.b,this.a,ei(t))},I(no,"JsonImporter/lambda$27$Type",930),D(931,1,fr,Ttt),h.Cd=function(t){Nvn(this.b,this.a,ei(t))},I(no,"JsonImporter/lambda$28$Type",931),D(932,1,{},Ctt),I(no,"JsonImporter/lambda$29$Type",932),D(908,1,{},KXe),I(no,"JsonImporter/lambda$3$Type",908),D(933,1,{},Stt),I(no,"JsonImporter/lambda$30$Type",933),D(934,1,{},WXe),I(no,"JsonImporter/lambda$31$Type",934),D(935,1,{},YXe),I(no,"JsonImporter/lambda$32$Type",935),D(936,1,{},XXe),I(no,"JsonImporter/lambda$33$Type",936),D(937,1,{},QXe),I(no,"JsonImporter/lambda$34$Type",937),D(870,1,{},JXe),I(no,"JsonImporter/lambda$35$Type",870),D(941,1,{},yit),I(no,"JsonImporter/lambda$36$Type",941),D(938,1,fr,ZXe),h.Cd=function(t){jmn(this.a,l(t,377))},I(no,"JsonImporter/lambda$37$Type",938),D(939,1,fr,_tt),h.Cd=function(t){yln(this.a,this.b,l(t,166))},I(no,"JsonImporter/lambda$38$Type",939),D(940,1,fr,Att),h.Cd=function(t){xln(this.a,this.b,l(t,166))},I(no,"JsonImporter/lambda$39$Type",940),D(906,1,{},eQe),I(no,"JsonImporter/lambda$4$Type",906),D(942,1,fr,tQe),h.Cd=function(t){$mn(this.a,l(t,8))},I(no,"JsonImporter/lambda$40$Type",942),D(907,1,{},nQe),I(no,"JsonImporter/lambda$5$Type",907),D(911,1,{},rQe),I(no,"JsonImporter/lambda$6$Type",911),D(909,1,{},iQe),I(no,"JsonImporter/lambda$7$Type",909),D(910,1,{},sQe),I(no,"JsonImporter/lambda$8$Type",910),D(913,1,{},aQe),I(no,"JsonImporter/lambda$9$Type",913),D(961,1,fr,oQe),h.Cd=function(t){J8(this.a,new yy(ei(t)))},I(no,"JsonMetaDataConverter/lambda$0$Type",961),D(962,1,fr,cQe),h.Cd=function(t){Dgn(this.a,l(t,245))},I(no,"JsonMetaDataConverter/lambda$1$Type",962),D(963,1,fr,uQe),h.Cd=function(t){M2n(this.a,l(t,143))},I(no,"JsonMetaDataConverter/lambda$2$Type",963),D(964,1,fr,lQe),h.Cd=function(t){Ign(this.a,l(t,170))},I(no,"JsonMetaDataConverter/lambda$3$Type",964),D(245,22,{3:1,34:1,22:1,245:1},R8);var bY,mY,Xge,vY,wY,yY,Qge,Jge,xY=Fr(IP,"GraphFeature",245,Hr,pwn,idn),L_t;D(11,1,{34:1,149:1},Ui,vs,pn,Ha),h.Fd=function(t){return Shn(this,l(t,149))},h.Fb=function(t){return eot(this,t)},h.Sg=function(){return It(this)},h.Pg=function(){return this.b},h.Hb=function(){return s2(this.b)},h.Ib=function(){return this.b},I(IP,"Property",11),D(671,1,ii,Nie),h.Ne=function(t,n){return B4n(this,l(t,96),l(n,96))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(IP,"PropertyHolderComparator",671),D(709,1,Oa,ywe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return Fvn(this)},h.Qb=function(){aZe()},h.Ob=function(){return!!this.a},I(qG,"ElkGraphUtil/AncestorIterator",709);var mPe=ks(So,"EList");D(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),h.bd=function(t,n){_A(this,t,n)},h.Fc=function(t){return qr(this,t)},h.cd=function(t,n){return N7e(this,t,n)},h.Gc=function(t){return As(this,t)},h.Ii=function(){return new H8(this)},h.Ji=function(){return new CO(this)},h.Ki=function(t){return mN(this,t)},h.Li=function(){return!0},h.Mi=function(t,n){},h.Ni=function(){},h.Oi=function(t,n){Noe(this,t,n)},h.Pi=function(t,n,r){},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Fb=function(t){return Bbt(this,t)},h.Hb=function(){return M7e(this)},h.Si=function(){return!1},h.Kc=function(){return new or(this)},h.ed=function(){return new q8(this)},h.fd=function(t){var n;if(n=this.gc(),t<0||t>n)throw ue(new my(t,n));return new jae(this,t)},h.Ui=function(t,n){this.Ti(t,this.dd(n))},h.Mc=function(t){return sV(this,t)},h.Wi=function(t,n){return n},h.hd=function(t,n){return n6(this,t,n)},h.Ib=function(){return T8e(this)},h.Yi=function(){return!0},h.Zi=function(t,n){return EE(this,n)},I(So,"AbstractEList",70),D(66,70,Bd,X2,Lw,T7e),h.Ei=function(t,n){return Due(this,t,n)},h.Fi=function(t){return Odt(this,t)},h.Gi=function(t,n){IN(this,t,n)},h.Hi=function(t){tN(this,t)},h.$i=function(t){return R6e(this,t)},h.$b=function(){uA(this)},h.Hc=function(t){return jE(this,t)},h.Xb=function(t){return Oe(this,t)},h._i=function(t){var n,r,a;++this.j,r=this.g==null?0:this.g.length,t>r&&(a=this.g,n=r+(r/2|0)+4,n=0?(this.gd(n),!0):!1},h.Xi=function(t,n){return this.Dj(t,this.Zi(t,n))},h.gc=function(){return this.Ej()},h.Pc=function(){return this.Fj()},h.Qc=function(t){return this.Gj(t)},h.Ib=function(){return this.Hj()},I(So,"DelegatingEList",2093),D(2094,2093,J4t),h.Ei=function(t,n){return wke(this,t,n)},h.Fi=function(t){return this.Ei(this.Ej(),t)},h.Gi=function(t,n){E2t(this,t,n)},h.Hi=function(t){h2t(this,t)},h.Li=function(){return!this.Mj()},h.$b=function(){tL(this)},h.Ij=function(t,n,r,a,o){return new Zat(this,t,n,r,a,o)},h.Jj=function(t){Ni(this.jj(),t)},h.Kj=function(){return null},h.Lj=function(){return-1},h.jj=function(){return null},h.Mj=function(){return!1},h.Nj=function(t,n){return n},h.Oj=function(t,n){return n},h.Pj=function(){return!1},h.Qj=function(){return!this.Aj()},h.Ti=function(t,n){var r,a;return this.Pj()?(a=this.Qj(),r=Uxe(this,t,n),this.Jj(this.Ij(7,pt(n),r,t,a)),r):Uxe(this,t,n)},h.gd=function(t){var n,r,a,o;return this.Pj()?(r=null,a=this.Qj(),n=this.Ij(4,o=rH(this,t),null,t,a),this.Mj()&&o?(r=this.Oj(o,r),r?(r.nj(n),r.oj()):this.Jj(n)):r?(r.nj(n),r.oj()):this.Jj(n),o):(o=rH(this,t),this.Mj()&&o&&(r=this.Oj(o,null),r&&r.oj()),o)},h.Xi=function(t,n){return Mmt(this,t,n)},I(Rx,"DelegatingNotifyingListImpl",2094),D(152,1,YP),h.nj=function(t){return Mxe(this,t)},h.oj=function(){qoe(this)},h.gj=function(){return this.d},h.Kj=function(){return null},h.Rj=function(){return null},h.hj=function(t){return-1},h.ij=function(){return mbt(this)},h.jj=function(){return null},h.kj=function(){return X9e(this)},h.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},h.Sj=function(){return!1},h.mj=function(t){var n,r,a,o,f,g,w,E,C,L,B;switch(this.d){case 1:case 2:switch(o=t.gj(),o){case 1:case 2:if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0}case 4:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return C=Bke(this),E=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,g=t.lj(),this.d=6,B=new Lw(2),E<=g?(qr(B,this.n),qr(B,t.kj()),this.g=he(le(Vr,1),di,28,15,[this.o=E,g+1])):(qr(B,t.kj()),qr(B,this.n),this.g=he(le(Vr,1),di,28,15,[this.o=g,E])),this.n=B,C||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null)){for(C=Bke(this),g=t.lj(),L=l(this.g,53),a=We(Vr,di,28,L.length+1,15,1),n=0;n>>0,n.toString(16))),a.a+=" (eventType: ",this.d){case 1:{a.a+="SET";break}case 2:{a.a+="UNSET";break}case 3:{a.a+="ADD";break}case 5:{a.a+="ADD_MANY";break}case 4:{a.a+="REMOVE";break}case 6:{a.a+="REMOVE_MANY";break}case 7:{a.a+="MOVE";break}case 8:{a.a+="REMOVING_ADAPTER";break}case 9:{a.a+="RESOLVE";break}default:{ise(a,this.d);break}}if(imt(this)&&(a.a+=", touch: true"),a.a+=", position: ",ise(a,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),a.a+=", notifier: ",O_(a,this.jj()),a.a+=", feature: ",O_(a,this.Kj()),a.a+=", oldValue: ",O_(a,X9e(this)),a.a+=", newValue: ",this.d==6&&De(this.g,53)){for(r=l(this.g,53),a.a+="[",t=0;t10?((!this.b||this.c.j!=this.a)&&(this.b=new U_(this),this.a=this.j),W0(this.b,t)):jE(this,t)},h.Yi=function(){return!0},h.a=0,I(So,"AbstractEList/1",966),D(302,77,she,my),I(So,"AbstractEList/BasicIndexOutOfBoundsException",302),D(37,1,Oa,or),h.Nb=function(t){Za(this,t)},h.Xj=function(){if(this.i.j!=this.f)throw ue(new Xh)},h.Yj=function(){return gr(this)},h.Ob=function(){return this.e!=this.i.gc()},h.Pb=function(){return this.Yj()},h.Qb=function(){jA(this)},h.e=0,h.f=0,h.g=-1,I(So,"AbstractEList/EIterator",37),D(286,37,lg,q8,jae),h.Qb=function(){jA(this)},h.Rb=function(t){D1t(this,t)},h.Zj=function(){var t;try{return t=this.d.Xb(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=bs(n),De(n,77)?(this.Xj(),ue(new _c)):ue(n)}},h.$j=function(t){Bdt(this,t)},h.Sb=function(){return this.e!=0},h.Tb=function(){return this.e},h.Ub=function(){return this.Zj()},h.Vb=function(){return this.e-1},h.Wb=function(t){this.$j(t)},I(So,"AbstractEList/EListIterator",286),D(355,37,Oa,H8),h.Yj=function(){return rue(this)},h.Qb=function(){throw ue(new Qr)},I(So,"AbstractEList/NonResolvingEIterator",355),D(398,286,lg,CO,f4e),h.Rb=function(t){throw ue(new Qr)},h.Yj=function(){var t;try{return t=this.c.Vi(this.e),this.Xj(),this.g=this.e++,t}catch(n){throw n=bs(n),De(n,77)?(this.Xj(),ue(new _c)):ue(n)}},h.Zj=function(){var t;try{return t=this.c.Vi(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=bs(n),De(n,77)?(this.Xj(),ue(new _c)):ue(n)}},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(So,"AbstractEList/NonResolvingEListIterator",398),D(2080,70,Z4t),h.Ei=function(t,n){var r,a,o,f,g,w,E,C,L,B,z;if(o=n.gc(),o!=0){for(C=l(Kn(this.a,4),129),L=C==null?0:C.length,z=L+o,a=Sce(this,z),B=L-t,B>0&&pu(C,t,a,t+o,B),E=n.Kc(),g=0;gr)throw ue(new my(t,r));return new xat(this,t)},h.$b=function(){var t,n;++this.j,t=l(Kn(this.a,4),129),n=t==null?0:t.length,PE(this,null),Noe(this,n,t)},h.Hc=function(t){var n,r,a,o,f;if(n=l(Kn(this.a,4),129),n!=null){if(t!=null){for(a=n,o=0,f=a.length;o=r)throw ue(new my(t,r));return n[t]},h.dd=function(t){var n,r,a;if(n=l(Kn(this.a,4),129),n!=null){if(t!=null){for(r=0,a=n.length;rr)throw ue(new my(t,r));return new yat(this,t)},h.Ti=function(t,n){var r,a,o;if(r=z1t(this),o=r==null?0:r.length,t>=o)throw ue(new tc(Qfe+t+av+o));if(n>=o)throw ue(new tc(Jfe+n+av+o));return a=r[n],t!=n&&(t0&&pu(t,0,n,0,r),n},h.Qc=function(t){var n,r,a;return n=l(Kn(this.a,4),129),a=n==null?0:n.length,a>0&&(t.lengtha&&Ts(t,a,null),t};var M_t;I(So,"ArrayDelegatingEList",2080),D(1051,37,Oa,kut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Xh)},h.Qb=function(){jA(this),this.a=l(Kn(this.b.a,4),129)},I(So,"ArrayDelegatingEList/EIterator",1051),D(722,286,lg,Nst,yat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Xh)},h.$j=function(t){Bdt(this,t),this.a=l(Kn(this.b.a,4),129)},h.Qb=function(){jA(this),this.a=l(Kn(this.b.a,4),129)},I(So,"ArrayDelegatingEList/EListIterator",722),D(1052,355,Oa,Eut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Xh)},I(So,"ArrayDelegatingEList/NonResolvingEIterator",1052),D(723,398,lg,Pst,xat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Xh)},I(So,"ArrayDelegatingEList/NonResolvingEListIterator",723),D(615,302,she,Vse),I(So,"BasicEList/BasicIndexOutOfBoundsException",615),D(710,66,Bd,eye),h.bd=function(t,n){throw ue(new Qr)},h.Fc=function(t){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.$b=function(){throw ue(new Qr)},h._i=function(t){throw ue(new Qr)},h.Kc=function(){return this.Ii()},h.ed=function(){return this.Ji()},h.fd=function(t){return this.Ki(t)},h.Ti=function(t,n){throw ue(new Qr)},h.Ui=function(t,n){throw ue(new Qr)},h.gd=function(t){throw ue(new Qr)},h.Mc=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},I(So,"BasicEList/UnmodifiableEList",710),D(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),h.bd=function(t,n){ghn(this,t,l(n,44))},h.Fc=function(t){return ofn(this,l(t,44))},h.Jc=function(t){to(this,t)},h.Xb=function(t){return l(Oe(this.c,t),136)},h.Ti=function(t,n){return l(this.c.Ti(t,n),44)},h.Ui=function(t,n){phn(this,t,l(n,44))},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return l(this.c.gd(t),44)},h.hd=function(t,n){return Mgn(this,t,l(n,44))},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.cd=function(t,n){return this.c.cd(t,n)},h.Gc=function(t){return this.c.Gc(t)},h.$b=function(){this.c.$b()},h.Hc=function(t){return this.c.Hc(t)},h.Ic=function(t){return EN(this.c,t)},h._j=function(){var t,n,r;if(this.d==null){for(this.d=We(vPe,_Se,66,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),136),oU(this,t);this.e=r}},h.Fb=function(t){return cit(this,t)},h.Hb=function(){return M7e(this.c)},h.dd=function(t){return this.c.dd(t)},h.ak=function(){this.c=new hQe(this)},h.dc=function(){return this.f==0},h.Kc=function(){return this.c.Kc()},h.ed=function(){return this.c.ed()},h.fd=function(t){return this.c.fd(t)},h.bk=function(){return iN(this)},h.ck=function(t,n,r){return new xit(t,n,r)},h.dk=function(){return new S$},h.Mc=function(t){return Wht(this,t)},h.gc=function(){return this.f},h.kd=function(t,n){return new Zp(this.c,t,n)},h.Pc=function(){return this.c.Pc()},h.Qc=function(t){return this.c.Qc(t)},h.Ib=function(){return T8e(this.c)},h.e=0,h.f=0,I(So,"BasicEMap",721),D(1046,66,Bd,hQe),h.Mi=function(t,n){Gcn(this,l(n,136))},h.Pi=function(t,n,r){var a;++(a=this,l(n,136),a).a.e},h.Qi=function(t,n){Kcn(this,l(n,136))},h.Ri=function(t,n,r){Ghn(this,l(n,136),l(r,136))},h.Oi=function(t,n){zft(this.a)},I(So,"BasicEMap/1",1046),D(1047,66,Bd,S$),h.aj=function(t){return We(NOn,e5t,621,t,0,1)},I(So,"BasicEMap/2",1047),D(1048,q1,Tl,fQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return Kce(this.a,t)},h.Kc=function(){return this.a.f==0?(Fk(),fF.a):new WJe(this.a)},h.Mc=function(t){var n;return n=this.a.f,YV(this.a,t),this.a.f!=n},h.gc=function(){return this.a.f},I(So,"BasicEMap/3",1048),D(1049,31,Wy,dQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return Fbt(this.a,t)},h.Kc=function(){return this.a.f==0?(Fk(),fF.a):new YJe(this.a)},h.gc=function(){return this.a.f},I(So,"BasicEMap/4",1049),D(1050,q1,Tl,gQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){var n,r,a,o,f,g,w,E,C;if(this.a.f>0&&De(t,44)&&(this.a._j(),E=l(t,44),w=E.ld(),o=w==null?0:es(w),f=Qye(this.a,o),n=this.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g"+this.c},h.a=0;var NOn=I(So,"BasicEMap/EntryImpl",621);D(546,1,{},MS),I(So,"BasicEMap/View",546);var fF;D(783,1,{}),h.Fb=function(t){return O9e((Cn(),_o),t)},h.Hb=function(){return q7e((Cn(),_o))},h.Ib=function(){return Tb((Cn(),_o))},I(So,"ECollections/BasicEmptyUnmodifiableEList",783),D(1348,1,lg,Qne),h.Nb=function(t){Za(this,t)},h.Rb=function(t){throw ue(new Qr)},h.Ob=function(){return!1},h.Sb=function(){return!1},h.Pb=function(){throw ue(new _c)},h.Tb=function(){return 0},h.Ub=function(){throw ue(new _c)},h.Vb=function(){return-1},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(So,"ECollections/BasicEmptyUnmodifiableEList/1",1348),D(1346,783,{20:1,16:1,15:1,61:1},iJe),h.bd=function(t,n){wZe()},h.Fc=function(t){return yZe()},h.cd=function(t,n){return xZe()},h.Gc=function(t){return kZe()},h.$b=function(){EZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){to(this,t)},h.Xb=function(t){return rye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return TZe()},h.Ui=function(t,n){CZe()},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return SZe()},h.Mc=function(t){return _Ze()},h.hd=function(t,n){return AZe()},h.gc=function(){return 0},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new Zp(_o,t,n)},h.Pc=function(){return e5e((Cn(),_o))},h.Qc=function(t){return Cn(),PA(_o,t)},I(So,"ECollections/EmptyUnmodifiableEList",1346),D(1347,783,{20:1,16:1,15:1,61:1,597:1},sJe),h.bd=function(t,n){wZe()},h.Fc=function(t){return yZe()},h.cd=function(t,n){return xZe()},h.Gc=function(t){return kZe()},h.$b=function(){EZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){to(this,t)},h.Xb=function(t){return rye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return TZe()},h.Ui=function(t,n){CZe()},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return SZe()},h.Mc=function(t){return _Ze()},h.hd=function(t,n){return AZe()},h.gc=function(){return 0},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new Zp(_o,t,n)},h.Pc=function(){return e5e((Cn(),_o))},h.Qc=function(t){return Cn(),PA(_o,t)},h.bk=function(){return Cn(),Cn(),mg},I(So,"ECollections/EmptyUnmodifiableEMap",1347);var yPe=ks(So,"Enumerator"),kY;D(288,1,{288:1},ele),h.Fb=function(t){var n;return this===t?!0:De(t,288)?(n=l(t,288),this.f==n.f&&Gdn(this.i,n.i)&&_ae(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&_ae(this.d,n.d)&&_ae(this.g,n.g)&&_ae(this.e,n.e)&&b6n(this,n)):!1},h.Hb=function(){return this.f},h.Ib=function(){return bmt(this)},h.f=0;var D_t=0,I_t=0,O_t=0,N_t=0,xPe=0,kPe=0,EPe=0,TPe=0,CPe=0,P_t,$M=0,zM=0,B_t=0,F_t=0,EY,SPe;I(So,"URI",288),D(1121,45,m6,aJe),h.zc=function(t,n){return l(rc(this,ei(t),l(n,288)),288)},I(So,"URI/URICache",1121),D(506,66,Bd,E$,uH),h.Si=function(){return!0},I(So,"UniqueEList",506),D(590,63,lp,nV),I(So,"WrappedException",590);var mi=ks(pf,r5t),M4=ks(pf,i5t),dl=ks(pf,s5t),D4=ks(pf,a5t),l1=ks(pf,o5t),Vf=ks(pf,"EClass"),tpe=ks(pf,"EDataType"),R_t;D(1233,45,m6,oJe),h.xc=function(t){return Ia(t)?xu(this,t):hc(zo(this.f,t))},I(pf,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var TY=ks(pf,"EEnum"),wp=ks(pf,c5t),Wo=ks(pf,u5t),Uf=ks(pf,l5t),Gf,k3=ks(pf,h5t),I4=ks(pf,f5t);D(1042,1,{},Yne),h.Ib=function(){return"NIL"},I(pf,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var j_t;D(1041,45,m6,cJe),h.xc=function(t){return Ia(t)?xu(this,t):hc(zo(this.f,t))},I(pf,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var Zu=ks(pf,d5t),o9=ks(pf,"EValidator/PatternMatcher"),_Pe,APe,Vn,M2,O4,Jb,$_t,z_t,q_t,Zb,D2,em,E3,td,H_t,V_t,Kf,I2,U_t,O2,N4,o7,No,G_t,K_t,T3,CY=ks(us,"FeatureMap/Entry");D(545,1,{76:1},Sq),h.Lk=function(){return this.a},h.md=function(){return this.b},I(Gn,"BasicEObjectImpl/1",545),D(1040,1,i0e,Itt),h.Fk=function(t){return Moe(this.a,this.b,t)},h.Qj=function(){return got(this.a,this.b)},h.Wb=function(t){q5e(this.a,this.b,t)},h.Gk=function(){Hgn(this.a,this.b)},I(Gn,"BasicEObjectImpl/4",1040),D(2081,1,{114:1}),h.Mk=function(t){this.e=t==0?W_t:We(wa,Rn,1,t,5,1)},h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Nk=function(){return this.c},h.Ok=function(){throw ue(new Qr)},h.Pk=function(){throw ue(new Qr)},h.Qk=function(){return this.d},h.Rk=function(){return this.e!=null},h.Sk=function(t){this.c=t},h.Tk=function(t){throw ue(new Qr)},h.Uk=function(t){throw ue(new Qr)},h.Vk=function(t){this.d=t};var W_t;I(Gn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),D(192,2081,{114:1},Sf),h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},I(Gn,"BasicEObjectImpl/EPropertiesHolderImpl",192),D(516,99,g4t,m5),h.uh=function(){return this.f},h.zh=function(){return this.k},h.Bh=function(t,n){this.g=t,this.i=n},h.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},h.Fh=function(){return this.i},h.wh=function(){return(this.j&1)!=0},h.Ph=function(){return this.g},h.Vh=function(){return(this.j&4)!=0},h.$h=function(){return!this.k&&(this.k=new Sf),this.k},h.ci=function(t){this.$h().Sk(t),t?this.j|=2:this.j&=-3},h.ei=function(t){this.$h().Uk(t),t?this.j|=4:this.j&=-5},h.ii=function(){return(lb(),Vn).S},h.i=0,h.j=1,I(Gn,"EObjectImpl",516),D(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},F4e),h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Dh=function(){return this.d},h.Ih=function(t){return ms(this.d,t)},h.Kh=function(){return this.d},h.Oh=function(){return this.e!=null},h.$h=function(){return!this.k&&(this.k=new _$),this.k},h.ci=function(t){this.d=t},h.hi=function(){var t;return this.e==null&&(t=yr(this.d),this.e=t==0?Y_t:We(wa,Rn,1,t,5,1)),this},h.ji=function(){return 0};var Y_t;I(Gn,"DynamicEObjectImpl",798),D(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},Git),h.Fb=function(t){return this===t},h.Hb=function(){return fw(this)},h.ci=function(t){this.d=t,this.b=oP(t,"key"),this.c=oP(t,TL)},h.Bi=function(){var t;return this.a==-1&&(t=Hoe(this,this.b),this.a=t==null?0:es(t)),this.a},h.ld=function(){return Hoe(this,this.b)},h.md=function(){return Hoe(this,this.c)},h.Ci=function(t){this.a=t},h.Di=function(t){q5e(this,this.b,t)},h.nd=function(t){var n;return n=Hoe(this,this.c),q5e(this,this.c,t),n},h.a=0,I(Gn,"DynamicEObjectImpl/BasicEMapEntry",1522),D(1523,1,{114:1},_$),h.Mk=function(t){throw ue(new Qr)},h.li=function(t){throw ue(new Qr)},h.mi=function(t,n){throw ue(new Qr)},h.ni=function(t){throw ue(new Qr)},h.Nk=function(){throw ue(new Qr)},h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Qk=function(){return this.c},h.Rk=function(){throw ue(new Qr)},h.Sk=function(t){throw ue(new Qr)},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},h.Vk=function(t){this.c=t},I(Gn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),D(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},CI),h.Ah=function(t){return dxe(this,t)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new dh((Tn(),No),Yc,this)),this.b):(!this.b&&(this.b=new dh((Tn(),No),Yc,this)),iN(this.b));case 3:return wot(this);case 4:return!this.a&&(this.a=new Ys(Xb,this,4)),this.a;case 5:return!this.c&&(this.c=new $5(Xb,this,5)),this.c}return sf(this,t-yr((Tn(),M2)),Mn((a=l(Kn(this,16),29),a||M2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?dxe(this,r):this.Cb.Th(this,-1-o,null,r))),Z4e(this,l(t,155),r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),M2)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),M2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 2:return!this.b&&(this.b=new dh((Tn(),No),Yc,this)),Uq(this.b,t,r);case 3:return Z4e(this,null,r);case 4:return!this.a&&(this.a=new Ys(Xb,this,4)),To(this.a,t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),M2)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),M2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!wot(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return nf(this,t-yr((Tn(),M2)),Mn((n=l(Kn(this,16),29),n||M2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Odn(this,ei(n));return;case 2:!this.b&&(this.b=new dh((Tn(),No),Yc,this)),_V(this.b,n);return;case 3:ibt(this,l(n,155));return;case 4:!this.a&&(this.a=new Ys(Xb,this,4)),$r(this.a),!this.a&&(this.a=new Ys(Xb,this,4)),As(this.a,l(n,16));return;case 5:!this.c&&(this.c=new $5(Xb,this,5)),$r(this.c),!this.c&&(this.c=new $5(Xb,this,5)),As(this.c,l(n,16));return}uf(this,t-yr((Tn(),M2)),Mn((r=l(Kn(this,16),29),r||M2),t),n)},h.ii=function(){return Tn(),M2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:g7e(this,null);return;case 2:!this.b&&(this.b=new dh((Tn(),No),Yc,this)),this.b.c.$b();return;case 3:ibt(this,null);return;case 4:!this.a&&(this.a=new Ys(Xb,this,4)),$r(this.a);return;case 5:!this.c&&(this.c=new $5(Xb,this,5)),$r(this.c);return}cf(this,t-yr((Tn(),M2)),Mn((n=l(Kn(this,16),29),n||M2),t))},h.Ib=function(){return c1t(this)},h.d=null,I(Gn,"EAnnotationImpl",519),D(141,721,ASe,xl),h.Gi=function(t,n){Qln(this,t,l(n,44))},h.Wk=function(t,n){return Zfn(this,l(t,44),n)},h.$i=function(t){return l(l(this.c,71).$i(t),136)},h.Ii=function(){return l(this.c,71).Ii()},h.Ji=function(){return l(this.c,71).Ji()},h.Ki=function(t){return l(this.c,71).Ki(t)},h.Xk=function(t,n){return Uq(this,t,n)},h.Fk=function(t){return l(this.c,79).Fk(t)},h.ak=function(){},h.Qj=function(){return l(this.c,79).Qj()},h.ck=function(t,n,r){var a;return a=l(Ah(this.b).wi().si(this.b),136),a.Ci(t),a.Di(n),a.nd(r),a},h.dk=function(){return new kwe(this)},h.Wb=function(t){_V(this,t)},h.Gk=function(){l(this.c,79).Gk()},I(us,"EcoreEMap",141),D(165,141,ASe,dh),h._j=function(){var t,n,r,a,o,f;if(this.d==null){for(f=We(vPe,_Se,66,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=l(r.Yj(),136),a=n.Bi(),o=(a&Ii)%f.length,t=f[o],!t&&(t=f[o]=new kwe(this)),t.Fc(n);this.d=f}},I(Gn,"EAnnotationImpl/1",165),D(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),!!this.Jk();case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q}return sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 9:return qae(this,r)}return o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0)}return nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:this.ui(ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),K_t},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:this.Zk(1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){Of(this),this.Bb|=1},h.Hk=function(){return Of(this)},h.Ik=function(){return this.t},h.Jk=function(){var t;return t=this.t,t>1||t==-1},h.Si=function(){return(this.Bb&512)!=0},h.Yk=function(t,n){return o8e(this,t,n)},h.Zk=function(t){My(this,t)},h.Ib=function(){return T9e(this)},h.s=0,h.t=1,I(Gn,"ETypedElementImpl",292),D(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),h.Ah=function(t){return Qdt(this,t)},h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),!!this.Jk();case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&m0);case 11:return Hn(),!!(this.Bb&r4);case 12:return Hn(),!!(this.Bb&Xy);case 13:return this.j;case 14:return UE(this);case 15:return Hn(),!!(this.Bb&Sl);case 16:return Hn(),!!(this.Bb&_d);case 17:return ky(this)}return sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?Qdt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,17,r)}return f=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),f.wk().zk(this,Ku(this),n-yr(this.ii()),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 9:return qae(this,r);case 17:return Nh(this,null,17,r)}return o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return(this.Bb&m0)==0;case 11:return(this.Bb&r4)!=0;case 12:return(this.Bb&Xy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Sl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!ky(this)}return nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:poe(this,ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:Z3e(this,ei(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),G_t},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&zy(Yl(l(this.Cb,90)),4),Fu(this,null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:this.Zk(1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,xV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){Wk(ic((El(),io),this)),Of(this),this.Bb|=1},h.pk=function(){return this.f},h.ik=function(){return UE(this)},h.qk=function(){return ky(this)},h.uk=function(){return null},h.$k=function(){return this.k},h.Lj=function(){return this.n},h.vk=function(){return pU(this)},h.wk=function(){var t,n,r,a,o,f,g,w,E;return this.p||(r=ky(this),(r.i==null&&Sd(r),r.i).length,a=this.uk(),a&&yr(ky(a)),o=Of(this),g=o.kk(),t=g?g.i&1?g==ih?Ns:g==Vr?ro:g==B4?_T:g==Na?ta:g==nm?r3:g==h7?i3:g==Al?jx:PL:g:null,n=UE(this),w=o.ik(),K4n(this),this.Bb&_d&&((f=yxe((El(),io),r))&&f!=this||(f=rx(ic(io,this))))?this.p=new Ntt(this,f):this.Jk()?this.al()?a?this.Bb&Sl?t?this.bl()?this.p=new Om(47,t,this,a):this.p=new Om(5,t,this,a):this.bl()?this.p=new Rm(46,this,a):this.p=new Rm(4,this,a):t?this.bl()?this.p=new Om(49,t,this,a):this.p=new Om(7,t,this,a):this.bl()?this.p=new Rm(48,this,a):this.p=new Rm(6,this,a):this.Bb&Sl?t?t==uv?this.p=new Xp(50,A_t,this):this.bl()?this.p=new Xp(43,t,this):this.p=new Xp(1,t,this):this.bl()?this.p=new Jp(42,this):this.p=new Jp(0,this):t?t==uv?this.p=new Xp(41,A_t,this):this.bl()?this.p=new Xp(45,t,this):this.p=new Xp(3,t,this):this.bl()?this.p=new Jp(44,this):this.p=new Jp(2,this):De(o,156)?t==CY?this.p=new Jp(40,this):this.Bb&512?this.Bb&Sl?t?this.p=new Xp(9,t,this):this.p=new Jp(8,this):t?this.p=new Xp(11,t,this):this.p=new Jp(10,this):this.Bb&Sl?t?this.p=new Xp(13,t,this):this.p=new Jp(12,this):t?this.p=new Xp(15,t,this):this.p=new Jp(14,this):a?(E=a.t,E>1||E==-1?this.bl()?this.Bb&Sl?t?this.p=new Om(25,t,this,a):this.p=new Rm(24,this,a):t?this.p=new Om(27,t,this,a):this.p=new Rm(26,this,a):this.Bb&Sl?t?this.p=new Om(29,t,this,a):this.p=new Rm(28,this,a):t?this.p=new Om(31,t,this,a):this.p=new Rm(30,this,a):this.bl()?this.Bb&Sl?t?this.p=new Om(33,t,this,a):this.p=new Rm(32,this,a):t?this.p=new Om(35,t,this,a):this.p=new Rm(34,this,a):this.Bb&Sl?t?this.p=new Om(37,t,this,a):this.p=new Rm(36,this,a):t?this.p=new Om(39,t,this,a):this.p=new Rm(38,this,a)):this.bl()?this.Bb&Sl?t?this.p=new Xp(17,t,this):this.p=new Jp(16,this):t?this.p=new Xp(19,t,this):this.p=new Jp(18,this):this.Bb&Sl?t?this.p=new Xp(21,t,this):this.p=new Jp(20,this):t?this.p=new Xp(23,t,this):this.p=new Jp(22,this):this._k()?this.bl()?this.p=new kit(l(o,29),this,a):this.p=new $5e(l(o,29),this,a):De(o,156)?t==CY?this.p=new Jp(40,this):this.Bb&Sl?t?this.p=new xst(n,w,this,(Wce(),g==Vr?PPe:g==ih?MPe:g==nm?BPe:g==B4?NPe:g==Na?OPe:g==h7?FPe:g==Al?DPe:g==kf?IPe:ipe)):this.p=new Nat(l(o,156),n,w,this):t?this.p=new yst(n,w,this,(Wce(),g==Vr?PPe:g==ih?MPe:g==nm?BPe:g==B4?NPe:g==Na?OPe:g==h7?FPe:g==Al?DPe:g==kf?IPe:ipe)):this.p=new Oat(l(o,156),n,w,this):this.al()?a?this.Bb&Sl?this.bl()?this.p=new Tit(l(o,29),this,a):this.p=new C4e(l(o,29),this,a):this.bl()?this.p=new Eit(l(o,29),this,a):this.p=new yae(l(o,29),this,a):this.Bb&Sl?this.bl()?this.p=new yrt(l(o,29),this):this.p=new jye(l(o,29),this):this.bl()?this.p=new wrt(l(o,29),this):this.p=new oae(l(o,29),this):this.bl()?a?this.Bb&Sl?this.p=new Cit(l(o,29),this,a):this.p=new E4e(l(o,29),this,a):this.Bb&Sl?this.p=new xrt(l(o,29),this):this.p=new $ye(l(o,29),this):a?this.Bb&Sl?this.p=new Sit(l(o,29),this,a):this.p=new T4e(l(o,29),this,a):this.Bb&Sl?this.p=new krt(l(o,29),this):this.p=new cH(l(o,29),this)),this.p},h.rk=function(){return(this.Bb&m0)!=0},h._k=function(){return!1},h.al=function(){return!1},h.sk=function(){return(this.Bb&_d)!=0},h.xk=function(){return Voe(this)},h.bl=function(){return!1},h.tk=function(){return(this.Bb&Sl)!=0},h.cl=function(t){this.k=t},h.ui=function(t){poe(this,t)},h.Ib=function(){return BU(this)},h.e=!1,h.n=0,I(Gn,"EStructuralFeatureImpl",462),D(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},zie),h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),!!v9e(this);case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&m0);case 11:return Hn(),!!(this.Bb&r4);case 12:return Hn(),!!(this.Bb&Xy);case 13:return this.j;case 14:return UE(this);case 15:return Hn(),!!(this.Bb&Sl);case 16:return Hn(),!!(this.Bb&_d);case 17:return ky(this);case 18:return Hn(),!!(this.Bb&eu);case 19:return n?gce(this):Fut(this)}return sf(this,t-yr((Tn(),O4)),Mn((a=l(Kn(this,16),29),a||O4),t),n,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return v9e(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return(this.Bb&m0)==0;case 11:return(this.Bb&r4)!=0;case 12:return(this.Bb&Xy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Sl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!ky(this);case 18:return(this.Bb&eu)!=0;case 19:return!!Fut(this)}return nf(this,t-yr((Tn(),O4)),Mn((n=l(Kn(this,16),29),n||O4),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:poe(this,ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:JJe(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:Z3e(this,ei(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return;case 18:$ce(this,Rt(Bt(n)));return}uf(this,t-yr((Tn(),O4)),Mn((r=l(Kn(this,16),29),r||O4),t),n)},h.ii=function(){return Tn(),O4},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&zy(Yl(l(this.Cb,90)),4),Fu(this,null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:this.b=0,My(this,1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,xV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return;case 18:$ce(this,!1);return}cf(this,t-yr((Tn(),O4)),Mn((n=l(Kn(this,16),29),n||O4),t))},h.pi=function(){gce(this),Wk(ic((El(),io),this)),Of(this),this.Bb|=1},h.Jk=function(){return v9e(this)},h.Yk=function(t,n){return this.b=0,this.a=null,o8e(this,t,n)},h.Zk=function(t){JJe(this,t)},h.Ib=function(){var t;return this.Db&64?BU(this):(t=new Af(BU(this)),t.a+=" (iD: ",Gp(t,(this.Bb&eu)!=0),t.a+=")",t.a)},h.b=0,I(Gn,"EAttributeImpl",331),D(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),h.dl=function(t){return t.Dh()==this},h.Ah=function(t){return wue(this,t)},h.Bh=function(t,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=t},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return zw(this);case 4:return this.ik();case 5:return this.F;case 6:return n?Ah(this):Qk(this);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),this.A}return sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?wue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r)}return f=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),f.wk().zk(this,Ku(this),n-yr(this.ii()),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),To(this.A,t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!zw(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0}return nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:FH(this,ei(n));return;case 2:Kse(this,ei(n));return;case 5:JE(this,ei(n));return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A),!this.A&&(this.A=new ml(Zu,this,7)),As(this.A,l(n,16));return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),$_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Fu(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A);return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.hk=function(){var t;return this.G==-1&&(this.G=(t=Ah(this),t?f2(t.vi(),this):-1)),this.G},h.ik=function(){return null},h.jk=function(){return Ah(this)},h.el=function(){return this.v},h.kk=function(){return zw(this)},h.lk=function(){return this.D!=null?this.D:this.B},h.mk=function(){return this.F},h.fk=function(t){return ule(this,t)},h.fl=function(t){this.v=t},h.gl=function(t){xft(this,t)},h.hl=function(t){this.C=t},h.ui=function(t){FH(this,t)},h.Ib=function(){return UV(this)},h.C=null,h.D=null,h.G=-1,I(Gn,"EClassifierImpl",364),D(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},hz),h.dl=function(t){return Bfn(this,t.Dh())},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return zw(this);case 4:return null;case 5:return this.F;case 6:return n?Ah(this):Qk(this);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),this.A;case 8:return Hn(),!!(this.Bb&256);case 9:return Hn(),!!(this.Bb&512);case 10:return dc(this);case 11:return!this.q&&(this.q=new nt(Uf,this,11,10)),this.q;case 12:return d6(this);case 13:return JA(this);case 14:return JA(this),this.r;case 15:return d6(this),this.k;case 16:return o9e(this);case 17:return dle(this);case 18:return Sd(this);case 19:return _U(this);case 20:return d6(this),this.o;case 21:return!this.s&&(this.s=new nt(dl,this,21,17)),this.s;case 22:return du(this);case 23:return Zue(this)}return sf(this,t-yr((Tn(),Jb)),Mn((a=l(Kn(this,16),29),a||Jb),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?wue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r);case 11:return!this.q&&(this.q=new nt(Uf,this,11,10)),Ru(this.q,t,r);case 21:return!this.s&&(this.s=new nt(dl,this,21,17)),Ru(this.s,t,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),Jb)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),Jb)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),To(this.A,t,r);case 11:return!this.q&&(this.q=new nt(Uf,this,11,10)),To(this.q,t,r);case 21:return!this.s&&(this.s=new nt(dl,this,21,17)),To(this.s,t,r);case 22:return To(du(this),t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),Jb)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),Jb)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!zw(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&du(this.u.a).i!=0&&!(this.n&&cue(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return d6(this).i!=0;case 13:return JA(this).i!=0;case 14:return JA(this),this.r.i!=0;case 15:return d6(this),this.k.i!=0;case 16:return o9e(this).i!=0;case 17:return dle(this).i!=0;case 18:return Sd(this).i!=0;case 19:return _U(this).i!=0;case 20:return d6(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&cue(this.n);case 23:return Zue(this).i!=0}return nf(this,t-yr((Tn(),Jb)),Mn((n=l(Kn(this,16),29),n||Jb),t))},h.Zh=function(t){var n;return n=this.i==null||this.q&&this.q.i!=0?null:oP(this,t),n||Hke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:FH(this,ei(n));return;case 2:Kse(this,ei(n));return;case 5:JE(this,ei(n));return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A),!this.A&&(this.A=new ml(Zu,this,7)),As(this.A,l(n,16));return;case 8:c8e(this,Rt(Bt(n)));return;case 9:u8e(this,Rt(Bt(n)));return;case 10:tL(dc(this)),As(dc(this),l(n,16));return;case 11:!this.q&&(this.q=new nt(Uf,this,11,10)),$r(this.q),!this.q&&(this.q=new nt(Uf,this,11,10)),As(this.q,l(n,16));return;case 21:!this.s&&(this.s=new nt(dl,this,21,17)),$r(this.s),!this.s&&(this.s=new nt(dl,this,21,17)),As(this.s,l(n,16));return;case 22:$r(du(this)),As(du(this),l(n,16));return}uf(this,t-yr((Tn(),Jb)),Mn((r=l(Kn(this,16),29),r||Jb),t),n)},h.ii=function(){return Tn(),Jb},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Fu(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A);return;case 8:c8e(this,!1);return;case 9:u8e(this,!1);return;case 10:this.u&&tL(this.u);return;case 11:!this.q&&(this.q=new nt(Uf,this,11,10)),$r(this.q);return;case 21:!this.s&&(this.s=new nt(dl,this,21,17)),$r(this.s);return;case 22:this.n&&$r(this.n);return}cf(this,t-yr((Tn(),Jb)),Mn((n=l(Kn(this,16),29),n||Jb),t))},h.pi=function(){var t,n;if(d6(this),JA(this),o9e(this),dle(this),Sd(this),_U(this),Zue(this),uA(cdn(Yl(this))),this.s)for(t=0,n=this.s.i;t=0;--n)Oe(this,n);return O8e(this,t)},h.Gk=function(){$r(this)},h.Zi=function(t,n){return Hht(this,t,n)},I(us,"EcoreEList",632),D(505,632,kc,FO),h.Li=function(){return!1},h.Lj=function(){return this.c},h.Mj=function(){return!1},h.ol=function(){return!0},h.Si=function(){return!0},h.Wi=function(t,n){return n},h.Yi=function(){return!1},h.c=0,I(us,"EObjectEList",505),D(83,505,kc,Ys),h.Mj=function(){return!0},h.ml=function(){return!1},h.al=function(){return!0},I(us,"EObjectContainmentEList",83),D(555,83,kc,Bq),h.Ni=function(){this.b=!0},h.Qj=function(){return this.b},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.b,this.b=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.b=!1},h.b=!1,I(us,"EObjectContainmentEList/Unsettable",555),D(1161,555,kc,vst),h.Ti=function(t,n){var r,a;return r=l(AA(this,t,n),89),hh(this.e)&&xk(this,new sN(this.a,7,(Tn(),z_t),pt(n),(a=r.c,De(a,90)?l(a,29):Kf),t)),r},h.Uj=function(t,n){return L5n(this,l(t,89),n)},h.Vj=function(t,n){return A5n(this,l(t,89),n)},h.Wj=function(t,n,r){return I8n(this,l(t,89),l(n,89),r)},h.Ij=function(t,n,r,a,o){switch(t){case 3:return rA(this,t,n,r,a,this.i>1);case 5:return rA(this,t,n,r,a,this.i-l(r,15).gc()>0);default:return new Zg(this.e,t,this.c,n,r,a,!0)}},h.Tj=function(){return!0},h.Qj=function(){return cue(this)},h.Gk=function(){$r(this)},I(Gn,"EClassImpl/1",1161),D(1175,1174,SSe),h.dj=function(t){var n,r,a,o,f,g,w;if(r=t.gj(),r!=8){if(a=l6n(t),a==0)switch(r){case 1:case 9:{w=t.kj(),w!=null&&(n=Yl(l(w,482)),!n.c&&(n.c=new Xd),sV(n.c,t.jj())),g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),qr(n.c,l(t.jj(),29))));break}case 3:{g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),qr(n.c,l(t.jj(),29))));break}case 5:{if(g=t.ij(),g!=null)for(f=l(g,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),qr(n.c,l(t.jj(),29)));break}case 4:{w=t.kj(),w!=null&&(o=l(w,482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),sV(n.c,t.jj())));break}case 6:{if(w=t.kj(),w!=null)for(f=l(w,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),sV(n.c,t.jj()));break}}this.ql(a)}},h.ql=function(t){Vbt(this,t)},h.b=63,I(Gn,"ESuperAdapter",1175),D(1176,1175,SSe,bQe),h.ql=function(t){zy(this,t)},I(Gn,"EClassImpl/10",1176),D(1165,710,kc),h.Ei=function(t,n){return Due(this,t,n)},h.Fi=function(t){return Odt(this,t)},h.Gi=function(t,n){IN(this,t,n)},h.Hi=function(t){tN(this,t)},h.$i=function(t){return R6e(this,t)},h.Xi=function(t,n){return Uoe(this,t,n)},h.Wk=function(t,n){throw ue(new Qr)},h.Ii=function(){return new H8(this)},h.Ji=function(){return new CO(this)},h.Ki=function(t){return mN(this,t)},h.Xk=function(t,n){throw ue(new Qr)},h.Fk=function(t){return this},h.Qj=function(){return this.i!=0},h.Wb=function(t){throw ue(new Qr)},h.Gk=function(){throw ue(new Qr)},I(us,"EcoreEList/UnmodifiableEList",1165),D(328,1165,kc,N5),h.Yi=function(){return!1},I(us,"EcoreEList/UnmodifiableEList/FastCompare",328),D(1168,328,kc,g0t),h.dd=function(t){var n,r,a;if(De(t,179)&&(n=l(t,179),r=n.Lj(),r!=-1)){for(a=this.i;r4)if(this.fk(t)){if(this.al()){if(a=l(t,54),r=a.Eh(),w=r==this.b&&(this.ml()?a.yh(a.Fh(),l(Mn(sl(this.b),this.Lj()).Hk(),29).kk())==Ro(l(Mn(sl(this.b),this.Lj()),19)).n:-1-a.Fh()==this.Lj()),this.nl()&&!w&&!r&&a.Jh()){for(o=0;o1||a==-1)):!1},h.ml=function(){var t,n,r;return n=Mn(sl(this.b),this.Lj()),De(n,102)?(t=l(n,19),r=Ro(t),!!r):!1},h.nl=function(){var t,n;return n=Mn(sl(this.b),this.Lj()),De(n,102)?(t=l(n,19),(t.Bb&Io)!=0):!1},h.dd=function(t){var n,r,a,o;if(a=this.zj(t),a>=0)return a;if(this.ol()){for(r=0,o=this.Ej();r=0;--t)mP(this,t,this.xj(t));return this.Fj()},h.Qc=function(t){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)mP(this,n,this.xj(n));return this.Gj(t)},h.Gk=function(){tL(this)},h.Zi=function(t,n){return ylt(this,t,n)},I(us,"DelegatingEcoreEList",756),D(1171,756,MSe,Nrt),h.qj=function(t,n){afn(this,t,l(n,29))},h.rj=function(t){Wln(this,l(t,29))},h.xj=function(t){var n,r;return n=l(Oe(du(this.a),t),89),r=n.c,De(r,90)?l(r,29):(Tn(),Kf)},h.Cj=function(t){var n,r;return n=l(Vy(du(this.a),t),89),r=n.c,De(r,90)?l(r,29):(Tn(),Kf)},h.Dj=function(t,n){return r7n(this,t,l(n,29))},h.Li=function(){return!1},h.Ij=function(t,n,r,a,o){return null},h.sj=function(){return new wQe(this)},h.tj=function(){$r(du(this.a))},h.uj=function(t){return l1t(this,t)},h.vj=function(t){var n,r;for(r=t.Kc();r.Ob();)if(n=r.Pb(),!l1t(this,n))return!1;return!0},h.wj=function(t){var n,r,a;if(De(t,15)&&(a=l(t,15),a.gc()==du(this.a).i)){for(n=a.Kc(),r=new or(this);n.Ob();)if(qe(n.Pb())!==qe(gr(r)))return!1;return!0}return!1},h.yj=function(){var t,n,r,a,o;for(r=1,n=new or(du(this.a));n.e!=n.i.gc();)t=l(gr(n),89),a=(o=t.c,De(o,90)?l(o,29):(Tn(),Kf)),r=31*r+(a?fw(a):0);return r},h.zj=function(t){var n,r,a,o;for(a=0,r=new or(du(this.a));r.e!=r.i.gc();){if(n=l(gr(r),89),qe(t)===qe((o=n.c,De(o,90)?l(o,29):(Tn(),Kf))))return a;++a}return-1},h.Aj=function(){return du(this.a).i==0},h.Bj=function(){return null},h.Ej=function(){return du(this.a).i},h.Fj=function(){var t,n,r,a,o,f;for(f=du(this.a).i,o=We(wa,Rn,1,f,5,1),r=0,n=new or(du(this.a));n.e!=n.i.gc();)t=l(gr(n),89),o[r++]=(a=t.c,De(a,90)?l(a,29):(Tn(),Kf));return o},h.Gj=function(t){var n,r,a,o,f,g,w;for(w=du(this.a).i,t.lengthw&&Ts(t,w,null),a=0,r=new or(du(this.a));r.e!=r.i.gc();)n=l(gr(r),89),f=(g=n.c,De(g,90)?l(g,29):(Tn(),Kf)),Ts(t,a++,f);return t},h.Hj=function(){var t,n,r,a,o;for(o=new Up,o.a+="[",t=du(this.a),n=0,a=du(this.a).i;n>16,o>=0?wue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r);case 9:return!this.a&&(this.a=new nt(wp,this,9,5)),Ru(this.a,t,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),Zb)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),Zb)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),To(this.A,t,r);case 9:return!this.a&&(this.a=new nt(wp,this,9,5)),To(this.a,t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),Zb)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),Zb)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!zw(this);case 4:return!!X7e(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return nf(this,t-yr((Tn(),Zb)),Mn((n=l(Kn(this,16),29),n||Zb),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:FH(this,ei(n));return;case 2:Kse(this,ei(n));return;case 5:JE(this,ei(n));return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A),!this.A&&(this.A=new ml(Zu,this,7)),As(this.A,l(n,16));return;case 8:jV(this,Rt(Bt(n)));return;case 9:!this.a&&(this.a=new nt(wp,this,9,5)),$r(this.a),!this.a&&(this.a=new nt(wp,this,9,5)),As(this.a,l(n,16));return}uf(this,t-yr((Tn(),Zb)),Mn((r=l(Kn(this,16),29),r||Zb),t),n)},h.ii=function(){return Tn(),Zb},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Fu(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A);return;case 8:jV(this,!0);return;case 9:!this.a&&(this.a=new nt(wp,this,9,5)),$r(this.a);return}cf(this,t-yr((Tn(),Zb)),Mn((n=l(Kn(this,16),29),n||Zb),t))},h.pi=function(){var t,n;if(this.a)for(t=0,n=this.a.i;t>16==5?l(this.Cb,685):null}return sf(this,t-yr((Tn(),D2)),Mn((a=l(Kn(this,16),29),a||D2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?agt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,5,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),D2)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),D2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 5:return Nh(this,null,5,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),D2)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),D2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&l(this.Cb,685))}return nf(this,t-yr((Tn(),D2)),Mn((n=l(Kn(this,16),29),n||D2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Fu(this,ei(n));return;case 2:Qoe(this,l(n,17).a);return;case 3:r2t(this,l(n,2039));return;case 4:Zoe(this,ei(n));return}uf(this,t-yr((Tn(),D2)),Mn((r=l(Kn(this,16),29),r||D2),t),n)},h.ii=function(){return Tn(),D2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Fu(this,null);return;case 2:Qoe(this,0);return;case 3:r2t(this,null);return;case 4:Zoe(this,null);return}cf(this,t-yr((Tn(),D2)),Mn((n=l(Kn(this,16),29),n||D2),t))},h.Ib=function(){var t;return t=this.c,t??this.zb},h.b=null,h.c=null,h.d=0,I(Gn,"EEnumLiteralImpl",582);var POn=ks(Gn,"EFactoryImpl/InternalEDateTimeFormat");D(499,1,{2114:1},KI),I(Gn,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),D(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},Qv),h.Ch=function(t,n,r){var a;return r=Nh(this,t,n,r),this.e&&De(t,179)&&(a=SU(this,this.e),a!=this.c&&(r=ZE(this,a,r))),r},h.Lh=function(t,n,r){var a;switch(t){case 0:return this.f;case 1:return!this.d&&(this.d=new Ys(Wo,this,1)),this.d;case 2:return n?jU(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?hue(this):this.a}return sf(this,t-yr((Tn(),E3)),Mn((a=l(Kn(this,16),29),a||E3),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return Q0t(this,null,r);case 1:return!this.d&&(this.d=new Ys(Wo,this,1)),To(this.d,t,r);case 3:return J0t(this,null,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),E3)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),E3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return nf(this,t-yr((Tn(),E3)),Mn((n=l(Kn(this,16),29),n||E3),t))},h.bi=function(t,n){var r;switch(t){case 0:Cgt(this,l(n,89));return;case 1:!this.d&&(this.d=new Ys(Wo,this,1)),$r(this.d),!this.d&&(this.d=new Ys(Wo,this,1)),As(this.d,l(n,16));return;case 3:Axe(this,l(n,89));return;case 4:Kxe(this,l(n,850));return;case 5:sE(this,l(n,142));return}uf(this,t-yr((Tn(),E3)),Mn((r=l(Kn(this,16),29),r||E3),t),n)},h.ii=function(){return Tn(),E3},h.ki=function(t){var n;switch(t){case 0:Cgt(this,null);return;case 1:!this.d&&(this.d=new Ys(Wo,this,1)),$r(this.d);return;case 3:Axe(this,null);return;case 4:Kxe(this,null);return;case 5:sE(this,null);return}cf(this,t-yr((Tn(),E3)),Mn((n=l(Kn(this,16),29),n||E3),t))},h.Ib=function(){var t;return t=new Th(g0(this)),t.a+=" (expression: ",wle(this,t),t.a+=")",t.a};var LPe;I(Gn,"EGenericTypeImpl",248),D(2067,2062,KG),h.Gi=function(t,n){Drt(this,t,n)},h.Wk=function(t,n){return Drt(this,this.gc(),t),n},h.$i=function(t){return ff(this.pj(),t)},h.Ii=function(){return this.Ji()},h.pj=function(){return new EQe(this)},h.Ji=function(){return this.Ki(0)},h.Ki=function(t){return this.pj().fd(t)},h.Xk=function(t,n){return Ny(this,t,!0),n},h.Ti=function(t,n){var r,a;return a=kue(this,n),r=this.fd(t),r.Rb(a),a},h.Ui=function(t,n){var r;Ny(this,n,!0),r=this.fd(t),r.Rb(n)},I(us,"AbstractSequentialInternalEList",2067),D(496,2067,KG,TO),h.$i=function(t){return ff(this.pj(),t)},h.Ii=function(){return this.b==null?(Wp(),Wp(),dF):this.sl()},h.pj=function(){return new Xtt(this.a,this.b)},h.Ji=function(){return this.b==null?(Wp(),Wp(),dF):this.sl()},h.Ki=function(t){var n,r;if(this.b==null){if(t<0||t>1)throw ue(new tc(CL+t+", size=0"));return Wp(),Wp(),dF}for(r=this.sl(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.pk()!=oC||n.Lj()!=0)&&(!this.vl()||this.b.Xh(n))){if(f=this.b.Nh(n,this.ul()),this.f=(Fo(),l(n,69).xk()),this.f||n.Jk()){if(this.ul()?(a=l(f,15),this.k=a):(a=l(f,71),this.k=this.j=a),De(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?wpt(this,this.p):Mpt(this))return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(f!=null)return this.k=null,this.p=null,r=f,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},h.Pb=function(){return MV(this)},h.Tb=function(){return this.a},h.Ub=function(){var t;if(this.g<-1||this.Sb())return--this.a,this.g=0,t=this.i,this.Sb(),t;throw ue(new _c)},h.Vb=function(){return this.a-1},h.Qb=function(){throw ue(new Qr)},h.ul=function(){return!1},h.Wb=function(t){throw ue(new Qr)},h.vl=function(){return!0},h.a=0,h.d=0,h.f=!1,h.g=0,h.n=0,h.o=0;var dF;I(us,"EContentsEList/FeatureIteratorImpl",287),D(711,287,WG,Rye),h.ul=function(){return!0},I(us,"EContentsEList/ResolvingFeatureIteratorImpl",711),D(1178,711,WG,brt),h.vl=function(){return!1},I(Gn,"ENamedElementImpl/1/1",1178),D(1179,287,WG,mrt),h.vl=function(){return!1},I(Gn,"ENamedElementImpl/1/2",1179),D(39,152,YP,Cy,koe,_a,Foe,Zg,h0,Q6e,Xot,J6e,Qot,p6e,Jot,t7e,Zot,b6e,ect,Z6e,tct,X_,sN,roe,e7e,nct,m6e,rct),h.Kj=function(){return N6e(this)},h.Rj=function(){var t;return t=N6e(this),t?t.ik():null},h.hj=function(t){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,t)},h.jj=function(){return this.c},h.Sj=function(){var t;return t=N6e(this),t?t.tk():!1},h.b=-1,I(Gn,"ENotificationImpl",39),D(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},qie),h.Ah=function(t){return ugt(this,t)},h.Lh=function(t,n,r){var a,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),f=this.t,f>1||f==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,29):null;case 11:return!this.d&&(this.d=new ml(Zu,this,11)),this.d;case 12:return!this.c&&(this.c=new nt(k3,this,12,10)),this.c;case 13:return!this.a&&(this.a=new LO(this,this)),this.a;case 14:return Xl(this)}return sf(this,t-yr((Tn(),I2)),Mn((a=l(Kn(this,16),29),a||I2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?ugt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,10,r);case 12:return!this.c&&(this.c=new nt(k3,this,12,10)),Ru(this.c,t,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),I2)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),I2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 9:return qae(this,r);case 10:return Nh(this,null,10,r);case 11:return!this.d&&(this.d=new ml(Zu,this,11)),To(this.d,t,r);case 12:return!this.c&&(this.c=new nt(k3,this,12,10)),To(this.c,t,r);case 14:return To(Xl(this),t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),I2)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),I2)),t,r)},h.Wh=function(t){var n,r,a;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return a=this.t,a>1||a==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&Xl(this.a.a).i!=0&&!(this.b&&uue(this.b));case 14:return!!this.b&&uue(this.b)}return nf(this,t-yr((Tn(),I2)),Mn((n=l(Kn(this,16),29),n||I2),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Fu(this,ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:My(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return;case 11:!this.d&&(this.d=new ml(Zu,this,11)),$r(this.d),!this.d&&(this.d=new ml(Zu,this,11)),As(this.d,l(n,16));return;case 12:!this.c&&(this.c=new nt(k3,this,12,10)),$r(this.c),!this.c&&(this.c=new nt(k3,this,12,10)),As(this.c,l(n,16));return;case 13:!this.a&&(this.a=new LO(this,this)),tL(this.a),!this.a&&(this.a=new LO(this,this)),As(this.a,l(n,16));return;case 14:$r(Xl(this)),As(Xl(this),l(n,16));return}uf(this,t-yr((Tn(),I2)),Mn((r=l(Kn(this,16),29),r||I2),t),n)},h.ii=function(){return Tn(),I2},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Fu(this,null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:My(this,1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 11:!this.d&&(this.d=new ml(Zu,this,11)),$r(this.d);return;case 12:!this.c&&(this.c=new nt(k3,this,12,10)),$r(this.c);return;case 13:this.a&&tL(this.a);return;case 14:this.b&&$r(this.b);return}cf(this,t-yr((Tn(),I2)),Mn((n=l(Kn(this,16),29),n||I2),t))},h.pi=function(){var t,n;if(this.c)for(t=0,n=this.c.i;tw&&Ts(t,w,null),a=0,r=new or(Xl(this.a));r.e!=r.i.gc();)n=l(gr(r),89),f=(g=n.c,g||(Tn(),td)),Ts(t,a++,f);return t},h.Hj=function(){var t,n,r,a,o;for(o=new Up,o.a+="[",t=Xl(this.a),n=0,a=Xl(this.a).i;n1);case 5:return rA(this,t,n,r,a,this.i-l(r,15).gc()>0);default:return new Zg(this.e,t,this.c,n,r,a,!0)}},h.Tj=function(){return!0},h.Qj=function(){return uue(this)},h.Gk=function(){$r(this)},I(Gn,"EOperationImpl/2",1377),D(507,1,{2037:1,507:1},Ott),I(Gn,"EPackageImpl/1",507),D(14,83,kc,nt),h.il=function(){return this.d},h.jl=function(){return this.b},h.ml=function(){return!0},h.b=0,I(us,"EObjectContainmentWithInverseEList",14),D(365,14,kc,V8),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentWithInverseEList/Resolving",365),D(308,365,kc,wy),h.Ni=function(){this.a.tb=null},I(Gn,"EPackageImpl/2",308),D(1278,1,{},ere),I(Gn,"EPackageImpl/3",1278),D(733,45,m6,$we),h._b=function(t){return Ia(t)?soe(this,t):!!zo(this.f,t)},I(Gn,"EPackageRegistryImpl",733),D(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},Hie),h.Ah=function(t){return lgt(this,t)},h.Lh=function(t,n,r){var a,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),f=this.t,f>1||f==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,62):null}return sf(this,t-yr((Tn(),N4)),Mn((a=l(Kn(this,16),29),a||N4),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?lgt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,10,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),N4)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),N4)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 9:return qae(this,r);case 10:return Nh(this,null,10,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),N4)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),N4)),t,r)},h.Wh=function(t){var n,r,a;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return a=this.t,a>1||a==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,62))}return nf(this,t-yr((Tn(),N4)),Mn((n=l(Kn(this,16),29),n||N4),t))},h.ii=function(){return Tn(),N4},I(Gn,"EParameterImpl",518),D(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},Hye),h.Lh=function(t,n,r){var a,o,f,g;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),g=this.t,g>1||g==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&m0);case 11:return Hn(),!!(this.Bb&r4);case 12:return Hn(),!!(this.Bb&Xy);case 13:return this.j;case 14:return UE(this);case 15:return Hn(),!!(this.Bb&Sl);case 16:return Hn(),!!(this.Bb&_d);case 17:return ky(this);case 18:return Hn(),!!(this.Bb&eu);case 19:return Hn(),f=Ro(this),!!(f&&f.Bb&eu);case 20:return Hn(),!!(this.Bb&Io);case 21:return n?Ro(this):this.b;case 22:return n?$7e(this):_ut(this);case 23:return!this.a&&(this.a=new $5(D4,this,23)),this.a}return sf(this,t-yr((Tn(),o7)),Mn((a=l(Kn(this,16),29),a||o7),t),n,r)},h.Wh=function(t){var n,r,a,o;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return(this.Bb&m0)==0;case 11:return(this.Bb&r4)!=0;case 12:return(this.Bb&Xy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Sl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!ky(this);case 18:return(this.Bb&eu)!=0;case 19:return a=Ro(this),!!a&&(a.Bb&eu)!=0;case 20:return(this.Bb&Io)==0;case 21:return!!this.b;case 22:return!!_ut(this);case 23:return!!this.a&&this.a.i!=0}return nf(this,t-yr((Tn(),o7)),Mn((n=l(Kn(this,16),29),n||o7),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:poe(this,ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:My(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:Z3e(this,ei(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return;case 18:L2n(this,Rt(Bt(n)));return;case 20:v8e(this,Rt(Bt(n)));return;case 21:b7e(this,l(n,19));return;case 23:!this.a&&(this.a=new $5(D4,this,23)),$r(this.a),!this.a&&(this.a=new $5(D4,this,23)),As(this.a,l(n,16));return}uf(this,t-yr((Tn(),o7)),Mn((r=l(Kn(this,16),29),r||o7),t),n)},h.ii=function(){return Tn(),o7},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&zy(Yl(l(this.Cb,90)),4),Fu(this,null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:My(this,1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,xV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return;case 18:m8e(this,!1),De(this.Cb,90)&&zy(Yl(l(this.Cb,90)),2);return;case 20:v8e(this,!0);return;case 21:b7e(this,null);return;case 23:!this.a&&(this.a=new $5(D4,this,23)),$r(this.a);return}cf(this,t-yr((Tn(),o7)),Mn((n=l(Kn(this,16),29),n||o7),t))},h.pi=function(){$7e(this),Wk(ic((El(),io),this)),Of(this),this.Bb|=1},h.uk=function(){return Ro(this)},h._k=function(){var t;return t=Ro(this),!!t&&(t.Bb&eu)!=0},h.al=function(){return(this.Bb&eu)!=0},h.bl=function(){return(this.Bb&Io)!=0},h.Yk=function(t,n){return this.c=null,o8e(this,t,n)},h.Ib=function(){var t;return this.Db&64?BU(this):(t=new Af(BU(this)),t.a+=" (containment: ",Gp(t,(this.Bb&eu)!=0),t.a+=", resolveProxies: ",Gp(t,(this.Bb&Io)!=0),t.a+=")",t.a)},I(Gn,"EReferenceImpl",102),D(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},OS),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.md=function(){return this.c},h.Hb=function(){return fw(this)},h.Di=function(t){Ndn(this,ei(t))},h.nd=function(t){return wdn(this,ei(t))},h.Lh=function(t,n,r){var a;switch(t){case 0:return this.b;case 1:return this.c}return sf(this,t-yr((Tn(),No)),Mn((a=l(Kn(this,16),29),a||No),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return this.b!=null;case 1:return this.c!=null}return nf(this,t-yr((Tn(),No)),Mn((n=l(Kn(this,16),29),n||No),t))},h.bi=function(t,n){var r;switch(t){case 0:Pdn(this,ei(n));return;case 1:d7e(this,ei(n));return}uf(this,t-yr((Tn(),No)),Mn((r=l(Kn(this,16),29),r||No),t),n)},h.ii=function(){return Tn(),No},h.ki=function(t){var n;switch(t){case 0:f7e(this,null);return;case 1:d7e(this,null);return}cf(this,t-yr((Tn(),No)),Mn((n=l(Kn(this,16),29),n||No),t))},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t==null?0:s2(t)),this.a},h.Ci=function(t){this.a=t},h.Ib=function(){var t;return this.Db&64?g0(this):(t=new Af(g0(this)),t.a+=" (key: ",Xo(t,this.b),t.a+=", value: ",Xo(t,this.c),t.a+=")",t.a)},h.a=-1,h.b=null,h.c=null;var Yc=I(Gn,"EStringToStringMapEntryImpl",561),Q_t=ks(us,"FeatureMap/Entry/Internal");D(576,1,YG),h.xl=function(t){return this.yl(l(t,54))},h.yl=function(t){return this.xl(t)},h.Fb=function(t){var n,r;return this===t?!0:De(t,76)?(n=l(t,76),n.Lk()==this.c?(r=this.md(),r==null?n.md()==null:Pi(r,n.md())):!1):!1},h.Lk=function(){return this.c},h.Hb=function(){var t;return t=this.md(),es(this.c)^(t==null?0:es(t))},h.Ib=function(){var t,n;return t=this.c,n=Ah(t.qk()).yi(),t.xe(),(n!=null&&n.length!=0?n+":"+t.xe():t.xe())+"="+this.md()},I(Gn,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),D(791,576,YG,Jye),h.yl=function(t){return new Jye(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return v3n(this,t,this.a,n,r)},h.Al=function(t,n,r){return w3n(this,t,this.a,n,r)},I(Gn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),D(1350,1,{},Ntt),h.yk=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Yl(this.a).Fk(a)},h.zk=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Pl(this.a,a,o)},h.Ak=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Ql(this.a,a,o)},h.Bk=function(t,n,r){var a;return a=l(tE(t,this.b),220),a.Yl(this.a).Qj()},h.Ck=function(t,n,r,a){var o;o=l(tE(t,this.b),220),o.Yl(this.a).Wb(a)},h.Dk=function(t,n,r){return l(tE(t,this.b),220).Yl(this.a)},h.Ek=function(t,n,r){var a;a=l(tE(t,this.b),220),a.Yl(this.a).Gk()},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),D(91,1,{},Xp,Om,Jp,Rm),h.yk=function(t,n,r,a,o){var f;if(f=n.li(r),f==null&&n.mi(r,f=WU(this,t)),!o)switch(this.e){case 50:case 41:return l(f,597).bk();case 40:return l(f,220).Vl()}return f},h.zk=function(t,n,r,a,o){var f,g;return g=n.li(r),g==null&&n.mi(r,g=WU(this,t)),f=l(g,71).Wk(a,o),f},h.Ak=function(t,n,r,a,o){var f;return f=n.li(r),f!=null&&(o=l(f,71).Xk(a,o)),o},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null&&l(a,79).Qj()},h.Ck=function(t,n,r,a){var o;o=l(n.li(r),79),!o&&n.mi(r,o=WU(this,t)),o.Wb(a)},h.Dk=function(t,n,r){var a,o;return o=n.li(r),o==null&&n.mi(r,o=WU(this,t)),De(o,79)?l(o,79):(a=l(n.li(r),15),new xQe(a))},h.Ek=function(t,n,r){var a;a=l(n.li(r),79),!a&&n.mi(r,a=WU(this,t)),a.Gk()},h.b=0,h.e=0,I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),D(512,1,{}),h.zk=function(t,n,r,a,o){throw ue(new Qr)},h.Ak=function(t,n,r,a,o){throw ue(new Qr)},h.Dk=function(t,n,r){return new Iat(this,t,n,r)};var Sg;I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),D(1367,1,i0e,Iat),h.Fk=function(t){return this.a.yk(this.c,this.d,this.b,t,!0)},h.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},h.Wb=function(t){this.a.Ck(this.c,this.d,this.b,t)},h.Gk=function(){this.a.Ek(this.c,this.d,this.b)},h.b=0,I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),D(784,512,{},$5e),h.yk=function(t,n,r,a,o){return sle(t,t.Ph(),t.Fh())==this.b?this.bl()&&a?Uue(t):t.Ph():null},h.zk=function(t,n,r,a,o){var f,g;return t.Ph()&&(o=(f=t.Fh(),f>=0?t.Ah(o):t.Ph().Th(t,-1-f,null,o))),g=ms(t.Dh(),this.e),t.Ch(a,g,o)},h.Ak=function(t,n,r,a,o){var f;return f=ms(t.Dh(),this.e),t.Ch(null,f,o)},h.Bk=function(t,n,r){var a;return a=ms(t.Dh(),this.e),!!t.Ph()&&t.Fh()==a},h.Ck=function(t,n,r,a){var o,f,g,w,E;if(a!=null&&!ule(this.a,a))throw ue(new kk(XG+(De(a,58)?_xe(l(a,58).Dh()):K6e(bh(a)))+QG+this.a+"'"));if(o=t.Ph(),g=ms(t.Dh(),this.e),qe(a)!==qe(o)||t.Fh()!=g&&a!=null){if(FE(t,l(a,58)))throw ue(new Yn(EL+t.Ib()));E=null,o&&(E=(f=t.Fh(),f>=0?t.Ah(E):t.Ph().Th(t,-1-f,null,E))),w=l(a,54),w&&(E=w.Rh(t,ms(w.Dh(),this.b),null,E)),E=t.Ch(w,g,E),E&&E.oj()}else t.vh()&&t.wh()&&Ni(t,new _a(t,1,g,a,a))},h.Ek=function(t,n,r){var a,o,f,g;a=t.Ph(),a?(g=(o=t.Fh(),o>=0?t.Ah(null):t.Ph().Th(t,-1-o,null,null)),f=ms(t.Dh(),this.e),g=t.Ch(null,f,g),g&&g.oj()):t.vh()&&t.wh()&&Ni(t,new X_(t,1,this.e,null,null))},h.bl=function(){return!1},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),D(1351,784,{},kit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),D(574,512,{}),h.yk=function(t,n,r,a,o){var f;return f=n.li(r),f==null?this.b:qe(f)===qe(Sg)?null:f},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null&&(qe(a)===qe(Sg)||!Pi(a,this.b))},h.Ck=function(t,n,r,a){var o,f;t.vh()&&t.wh()?(o=(f=n.li(r),f==null?this.b:qe(f)===qe(Sg)?null:f),a==null?this.c!=null?(n.mi(r,null),a=this.b):this.b!=null?n.mi(r,Sg):n.mi(r,null):(this.Bl(a),n.mi(r,a)),Ni(t,this.d.Cl(t,1,this.e,o,a))):a==null?this.c!=null?n.mi(r,null):this.b!=null?n.mi(r,Sg):n.mi(r,null):(this.Bl(a),n.mi(r,a))},h.Ek=function(t,n,r){var a,o;t.vh()&&t.wh()?(a=(o=n.li(r),o==null?this.b:qe(o)===qe(Sg)?null:o),n.ni(r),Ni(t,this.d.Cl(t,1,this.e,a,this.b))):n.ni(r)},h.Bl=function(t){throw ue(new IQe)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),D(_6,1,{},NS),h.Cl=function(t,n,r,a,o){return new X_(t,n,r,a,o)},h.Dl=function(t,n,r,a,o,f){return new roe(t,n,r,a,o,f)};var MPe,DPe,IPe,OPe,NPe,PPe,BPe,ipe,FPe;I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",_6),D(1368,_6,{},H0),h.Cl=function(t,n,r,a,o){return new m6e(t,n,r,Rt(Bt(a)),Rt(Bt(o)))},h.Dl=function(t,n,r,a,o,f){return new rct(t,n,r,Rt(Bt(a)),Rt(Bt(o)),f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),D(1369,_6,{},AI),h.Cl=function(t,n,r,a,o){return new Q6e(t,n,r,l(a,222).a,l(o,222).a)},h.Dl=function(t,n,r,a,o,f){return new Xot(t,n,r,l(a,222).a,l(o,222).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),D(1370,_6,{},LI),h.Cl=function(t,n,r,a,o){return new J6e(t,n,r,l(a,180).a,l(o,180).a)},h.Dl=function(t,n,r,a,o,f){return new Qot(t,n,r,l(a,180).a,l(o,180).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),D(1371,_6,{},f8),h.Cl=function(t,n,r,a,o){return new p6e(t,n,r,ze(Ge(a)),ze(Ge(o)))},h.Dl=function(t,n,r,a,o,f){return new Jot(t,n,r,ze(Ge(a)),ze(Ge(o)),f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),D(1372,_6,{},tre),h.Cl=function(t,n,r,a,o){return new t7e(t,n,r,l(a,161).a,l(o,161).a)},h.Dl=function(t,n,r,a,o,f){return new Zot(t,n,r,l(a,161).a,l(o,161).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),D(1373,_6,{},nre),h.Cl=function(t,n,r,a,o){return new b6e(t,n,r,l(a,17).a,l(o,17).a)},h.Dl=function(t,n,r,a,o,f){return new ect(t,n,r,l(a,17).a,l(o,17).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),D(1374,_6,{},rre),h.Cl=function(t,n,r,a,o){return new Z6e(t,n,r,l(a,168).a,l(o,168).a)},h.Dl=function(t,n,r,a,o,f){return new tct(t,n,r,l(a,168).a,l(o,168).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),D(1375,_6,{},ire),h.Cl=function(t,n,r,a,o){return new e7e(t,n,r,l(a,191).a,l(o,191).a)},h.Dl=function(t,n,r,a,o,f){return new nct(t,n,r,l(a,191).a,l(o,191).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),D(1353,574,{},Oat),h.Bl=function(t){if(!this.a.fk(t))throw ue(new kk(XG+bh(t)+QG+this.a+"'"))},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),D(1354,574,{},yst),h.Bl=function(t){},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),D(785,574,{}),h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null},h.Ck=function(t,n,r,a){var o,f;t.vh()&&t.wh()?(o=!0,f=n.li(r),f==null?(o=!1,f=this.b):qe(f)===qe(Sg)&&(f=null),a==null?this.c!=null?(n.mi(r,null),a=this.b):n.mi(r,Sg):(this.Bl(a),n.mi(r,a)),Ni(t,this.d.Dl(t,1,this.e,f,a,!o))):a==null?this.c!=null?n.mi(r,null):n.mi(r,Sg):(this.Bl(a),n.mi(r,a))},h.Ek=function(t,n,r){var a,o;t.vh()&&t.wh()?(a=!0,o=n.li(r),o==null?(a=!1,o=this.b):qe(o)===qe(Sg)&&(o=null),n.ni(r),Ni(t,this.d.Dl(t,2,this.e,o,this.b,a))):n.ni(r)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),D(1355,785,{},Nat),h.Bl=function(t){if(!this.a.fk(t))throw ue(new kk(XG+bh(t)+QG+this.a+"'"))},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),D(1356,785,{},xst),h.Bl=function(t){},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),D(410,512,{},cH),h.yk=function(t,n,r,a,o){var f,g,w,E,C;if(C=n.li(r),this.tk()&&qe(C)===qe(Sg))return null;if(this.bl()&&a&&C!=null){if(w=l(C,54),w.Vh()&&(E=yb(t,w),w!=E)){if(!ule(this.a,E))throw ue(new kk(XG+bh(E)+QG+this.a+"'"));n.mi(r,C=E),this.al()&&(f=l(E,54),g=w.Th(t,this.b?ms(w.Dh(),this.b):-1-ms(t.Dh(),this.e),null,null),!f.Ph()&&(g=f.Rh(t,this.b?ms(f.Dh(),this.b):-1-ms(t.Dh(),this.e),null,g)),g&&g.oj()),t.vh()&&t.wh()&&Ni(t,new X_(t,9,this.e,w,E))}return C}else return C},h.zk=function(t,n,r,a,o){var f,g;return g=n.li(r),qe(g)===qe(Sg)&&(g=null),n.mi(r,a),this.Mj()?qe(g)!==qe(a)&&g!=null&&(f=l(g,54),o=f.Th(t,ms(f.Dh(),this.b),null,o)):this.al()&&g!=null&&(o=l(g,54).Th(t,-1-ms(t.Dh(),this.e),null,o)),t.vh()&&t.wh()&&(!o&&(o=new nb(4)),o.nj(new X_(t,1,this.e,g,a))),o},h.Ak=function(t,n,r,a,o){var f;return f=n.li(r),qe(f)===qe(Sg)&&(f=null),n.ni(r),t.vh()&&t.wh()&&(!o&&(o=new nb(4)),this.tk()?o.nj(new X_(t,2,this.e,f,null)):o.nj(new X_(t,1,this.e,f,null))),o},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null},h.Ck=function(t,n,r,a){var o,f,g,w,E;if(a!=null&&!ule(this.a,a))throw ue(new kk(XG+(De(a,58)?_xe(l(a,58).Dh()):K6e(bh(a)))+QG+this.a+"'"));E=n.li(r),w=E!=null,this.tk()&&qe(E)===qe(Sg)&&(E=null),g=null,this.Mj()?qe(E)!==qe(a)&&(E!=null&&(o=l(E,54),g=o.Th(t,ms(o.Dh(),this.b),null,g)),a!=null&&(o=l(a,54),g=o.Rh(t,ms(o.Dh(),this.b),null,g))):this.al()&&qe(E)!==qe(a)&&(E!=null&&(g=l(E,54).Th(t,-1-ms(t.Dh(),this.e),null,g)),a!=null&&(g=l(a,54).Rh(t,-1-ms(t.Dh(),this.e),null,g))),a==null&&this.tk()?n.mi(r,Sg):n.mi(r,a),t.vh()&&t.wh()?(f=new roe(t,1,this.e,E,a,this.tk()&&!w),g?(g.nj(f),g.oj()):Ni(t,f)):g&&g.oj()},h.Ek=function(t,n,r){var a,o,f,g,w;w=n.li(r),g=w!=null,this.tk()&&qe(w)===qe(Sg)&&(w=null),f=null,w!=null&&(this.Mj()?(a=l(w,54),f=a.Th(t,ms(a.Dh(),this.b),null,f)):this.al()&&(f=l(w,54).Th(t,-1-ms(t.Dh(),this.e),null,f))),n.ni(r),t.vh()&&t.wh()?(o=new roe(t,this.tk()?2:1,this.e,w,null,g),f?(f.nj(o),f.oj()):Ni(t,o)):f&&f.oj()},h.Mj=function(){return!1},h.al=function(){return!1},h.bl=function(){return!1},h.tk=function(){return!1},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),D(575,410,{},oae),h.al=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),D(1359,575,{},wrt),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),D(787,575,{},jye),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),D(1361,787,{},yrt),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),D(650,575,{},yae),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),D(1360,650,{},Eit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),D(788,650,{},C4e),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),D(1362,788,{},Tit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),D(651,410,{},$ye),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),D(1363,651,{},xrt),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),D(789,651,{},E4e),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),D(1364,789,{},Cit),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),D(1357,410,{},krt),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),D(786,410,{},T4e),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),D(1358,786,{},Sit),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),D(790,576,YG,x5e),h.yl=function(t){return new x5e(this.a,this.c,t)},h.md=function(){return this.b},h.zl=function(t,n,r){return bvn(this,t,this.b,r)},h.Al=function(t,n,r){return mvn(this,t,this.b,r)},I(Gn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),D(1365,1,i0e,xQe),h.Fk=function(t){return this.a},h.Qj=function(){return De(this.a,97)?l(this.a,97).Qj():!this.a.dc()},h.Wb=function(t){this.a.$b(),this.a.Gc(l(t,15))},h.Gk=function(){De(this.a,97)?l(this.a,97).Gk():this.a.$b()},I(Gn,"EStructuralFeatureImpl/SettingMany",1365),D(1366,576,YG,Wct),h.xl=function(t){return new lae((Gi(),UM),this.b.ri(this.a,t))},h.md=function(){return null},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Gn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),D(652,576,YG,lae),h.xl=function(t){return new lae(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Gn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),D(403,506,Bd,Xd),h.aj=function(t){return We(Vf,Rn,29,t,0,1)},h.Yi=function(){return!1},I(Gn,"ESuperAdapter/1",403),D(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},PS),h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new G_(this,Wo,this)),this.a}return sf(this,t-yr((Tn(),T3)),Mn((a=l(Kn(this,16),29),a||T3),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 2:return!this.a&&(this.a=new G_(this,Wo,this)),To(this.a,t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),T3)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),T3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return nf(this,t-yr((Tn(),T3)),Mn((n=l(Kn(this,16),29),n||T3),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Fu(this,ei(n));return;case 2:!this.a&&(this.a=new G_(this,Wo,this)),$r(this.a),!this.a&&(this.a=new G_(this,Wo,this)),As(this.a,l(n,16));return}uf(this,t-yr((Tn(),T3)),Mn((r=l(Kn(this,16),29),r||T3),t),n)},h.ii=function(){return Tn(),T3},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Fu(this,null);return;case 2:!this.a&&(this.a=new G_(this,Wo,this)),$r(this.a);return}cf(this,t-yr((Tn(),T3)),Mn((n=l(Kn(this,16),29),n||T3),t))},I(Gn,"ETypeParameterImpl",457),D(458,83,kc,G_),h.Nj=function(t,n){return Dxn(this,l(t,89),n)},h.Oj=function(t,n){return Ixn(this,l(t,89),n)},I(Gn,"ETypeParameterImpl/1",458),D(647,45,m6,Vie),h.ec=function(){return new Pz(this)},I(Gn,"ETypeParameterImpl/2",647),D(570,q1,Tl,Pz),h.Fc=function(t){return Wrt(this,l(t,89))},h.Gc=function(t){var n,r,a;for(a=!1,r=t.Kc();r.Ob();)n=l(r.Pb(),89),ki(this.a,n,"")==null&&(a=!0);return a},h.$b=function(){Nl(this.a)},h.Hc=function(t){return Hu(this.a,t)},h.Kc=function(){var t;return t=new qm(new Sr(this.a).a),new Bz(t)},h.Mc=function(t){return Rut(this,t)},h.gc=function(){return d_(this.a)},I(Gn,"ETypeParameterImpl/2/1",570),D(571,1,Oa,Bz),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(Nw(this.a).ld(),89)},h.Ob=function(){return this.a.b},h.Qb=function(){Klt(this.a)},I(Gn,"ETypeParameterImpl/2/1/1",571),D(1329,45,m6,hJe),h._b=function(t){return Ia(t)?soe(this,t):!!zo(this.f,t)},h.xc=function(t){var n,r;return n=Ia(t)?xu(this,t):hc(zo(this.f,t)),De(n,851)?(r=l(n,851),n=r.Kk(),ki(this,l(t,241),n),n):n??(t==null?(use(),Z_t):null)},I(Gn,"EValidatorRegistryImpl",1329),D(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},d8),h.ri=function(t,n){switch(t.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:xc(n);case 25:return Awn(n);case 27:return qvn(n);case 28:return Hvn(n);case 29:return n==null?null:Cnt(jM[0],l(n,206));case 41:return n==null?"":_m(l(n,297));case 42:return xc(n);case 50:return ei(n);default:throw ue(new Yn(yT+t.xe()+t3))}},h.si=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;switch(t.G==-1&&(t.G=(z=Ah(t),z?f2(z.vi(),t):-1)),t.G){case 0:return r=new zie,r;case 1:return n=new CI,n;case 2:return a=new hz,a;case 4:return o=new Fz,o;case 5:return f=new lJe,f;case 6:return g=new PQe,g;case 7:return w=new fz,w;case 10:return C=new m5,C;case 11:return L=new qie,L;case 12:return B=new qat,B;case 13:return V=new Hie,V;case 14:return J=new Hye,J;case 17:return te=new OS,te;case 18:return E=new Qv,E;case 19:return fe=new PS,fe;default:throw ue(new Yn(qfe+t.zb+t3))}},h.ti=function(t,n){switch(t.hk()){case 20:return n==null?null:new h3e(n);case 21:return n==null?null:new ob(n);case 23:case 22:return n==null?null:z5n(n);case 26:case 24:return n==null?null:fN(Oh(n,-128,127)<<24>>24);case 25:return aTn(n);case 27:return A7n(n);case 28:return L7n(n);case 29:return Jxn(n);case 32:case 31:return n==null?null:jy(n);case 38:case 37:return n==null?null:new Awe(n);case 40:case 39:return n==null?null:pt(Oh(n,lo,Ii));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:ap(KU(n));case 49:case 48:return n==null?null:_E(Oh(n,JG,32767)<<16>>16);case 50:return n;default:throw ue(new Yn(yT+t.xe()+t3))}},I(Gn,"EcoreFactoryImpl",1349),D(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},fat),h.gb=!1,h.hb=!1;var RPe,J_t=!1;I(Gn,"EcorePackageImpl",560),D(1234,1,{851:1},k1),h.Kk=function(){return Rnt(),eAt},I(Gn,"EcorePackageImpl/1",1234),D(1243,1,yi,A$),h.fk=function(t){return De(t,155)},h.gk=function(t){return We(uF,Rn,155,t,0,1)},I(Gn,"EcorePackageImpl/10",1243),D(1244,1,yi,L$),h.fk=function(t){return De(t,197)},h.gk=function(t){return We(Yge,Rn,197,t,0,1)},I(Gn,"EcorePackageImpl/11",1244),D(1245,1,yi,M$),h.fk=function(t){return De(t,58)},h.gk=function(t){return We(Xb,Rn,58,t,0,1)},I(Gn,"EcorePackageImpl/12",1245),D(1246,1,yi,D$),h.fk=function(t){return De(t,411)},h.gk=function(t){return We(Uf,LSe,62,t,0,1)},I(Gn,"EcorePackageImpl/13",1246),D(1247,1,yi,I$),h.fk=function(t){return De(t,241)},h.gk=function(t){return We(u1,Rn,241,t,0,1)},I(Gn,"EcorePackageImpl/14",1247),D(1248,1,yi,O$),h.fk=function(t){return De(t,518)},h.gk=function(t){return We(k3,Rn,2116,t,0,1)},I(Gn,"EcorePackageImpl/15",1248),D(1249,1,yi,V0),h.fk=function(t){return De(t,102)},h.gk=function(t){return We(I4,S6,19,t,0,1)},I(Gn,"EcorePackageImpl/16",1249),D(1250,1,yi,nl),h.fk=function(t){return De(t,179)},h.gk=function(t){return We(dl,S6,179,t,0,1)},I(Gn,"EcorePackageImpl/17",1250),D(1251,1,yi,sre),h.fk=function(t){return De(t,481)},h.gk=function(t){return We(M4,Rn,481,t,0,1)},I(Gn,"EcorePackageImpl/18",1251),D(1252,1,yi,are),h.fk=function(t){return De(t,561)},h.gk=function(t){return We(Yc,e5t,561,t,0,1)},I(Gn,"EcorePackageImpl/19",1252),D(1235,1,yi,ore),h.fk=function(t){return De(t,331)},h.gk=function(t){return We(D4,S6,35,t,0,1)},I(Gn,"EcorePackageImpl/2",1235),D(1253,1,yi,rl),h.fk=function(t){return De(t,248)},h.gk=function(t){return We(Wo,m5t,89,t,0,1)},I(Gn,"EcorePackageImpl/20",1253),D(1254,1,yi,BS),h.fk=function(t){return De(t,457)},h.gk=function(t){return We(Zu,Rn,850,t,0,1)},I(Gn,"EcorePackageImpl/21",1254),D(1255,1,yi,N$),h.fk=function(t){return hy(t)},h.gk=function(t){return We(Ns,dt,485,t,8,1)},I(Gn,"EcorePackageImpl/22",1255),D(1256,1,yi,P$),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Al,dt,195,t,0,2)},I(Gn,"EcorePackageImpl/23",1256),D(1257,1,yi,g8),h.fk=function(t){return De(t,222)},h.gk=function(t){return We(jx,dt,222,t,0,1)},I(Gn,"EcorePackageImpl/24",1257),D(1258,1,yi,cre),h.fk=function(t){return De(t,180)},h.gk=function(t){return We(PL,dt,180,t,0,1)},I(Gn,"EcorePackageImpl/25",1258),D(1259,1,yi,ak),h.fk=function(t){return De(t,206)},h.gk=function(t){return We(cK,dt,206,t,0,1)},I(Gn,"EcorePackageImpl/26",1259),D(1260,1,yi,ure),h.fk=function(t){return!1},h.gk=function(t){return We(nBe,Rn,2215,t,0,1)},I(Gn,"EcorePackageImpl/27",1260),D(1261,1,yi,B$),h.fk=function(t){return fy(t)},h.gk=function(t){return We(ta,dt,345,t,7,1)},I(Gn,"EcorePackageImpl/28",1261),D(1262,1,yi,lre),h.fk=function(t){return De(t,61)},h.gk=function(t){return We(mPe,Qy,61,t,0,1)},I(Gn,"EcorePackageImpl/29",1262),D(1236,1,yi,hre),h.fk=function(t){return De(t,519)},h.gk=function(t){return We(mi,{3:1,4:1,5:1,2033:1},598,t,0,1)},I(Gn,"EcorePackageImpl/3",1236),D(1263,1,yi,FS),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(yPe,Rn,2039,t,0,1)},I(Gn,"EcorePackageImpl/30",1263),D(1264,1,yi,F$),h.fk=function(t){return De(t,160)},h.gk=function(t){return We(HPe,Qy,160,t,0,1)},I(Gn,"EcorePackageImpl/31",1264),D(1265,1,yi,MI),h.fk=function(t){return De(t,76)},h.gk=function(t){return We(CY,S5t,76,t,0,1)},I(Gn,"EcorePackageImpl/32",1265),D(1266,1,yi,RS),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(_T,dt,161,t,0,1)},I(Gn,"EcorePackageImpl/33",1266),D(1267,1,yi,fre),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(Gn,"EcorePackageImpl/34",1267),D(1268,1,yi,dre),h.fk=function(t){return De(t,297)},h.gk=function(t){return We(qSe,Rn,297,t,0,1)},I(Gn,"EcorePackageImpl/35",1268),D(1269,1,yi,DI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(r3,dt,168,t,0,1)},I(Gn,"EcorePackageImpl/36",1269),D(1270,1,yi,jS),h.fk=function(t){return De(t,85)},h.gk=function(t){return We(HSe,Rn,85,t,0,1)},I(Gn,"EcorePackageImpl/37",1270),D(1271,1,yi,E1),h.fk=function(t){return De(t,599)},h.gk=function(t){return We(jPe,Rn,599,t,0,1)},I(Gn,"EcorePackageImpl/38",1271),D(1272,1,yi,ok),h.fk=function(t){return!1},h.gk=function(t){return We(rBe,Rn,2216,t,0,1)},I(Gn,"EcorePackageImpl/39",1272),D(1237,1,yi,gre),h.fk=function(t){return De(t,90)},h.gk=function(t){return We(Vf,Rn,29,t,0,1)},I(Gn,"EcorePackageImpl/4",1237),D(1273,1,yi,ck),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(i3,dt,191,t,0,1)},I(Gn,"EcorePackageImpl/40",1273),D(1274,1,yi,II),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Gn,"EcorePackageImpl/41",1274),D(1275,1,yi,xm),h.fk=function(t){return De(t,596)},h.gk=function(t){return We(wPe,Rn,596,t,0,1)},I(Gn,"EcorePackageImpl/42",1275),D(1276,1,yi,$S),h.fk=function(t){return!1},h.gk=function(t){return We(iBe,dt,2217,t,0,1)},I(Gn,"EcorePackageImpl/43",1276),D(1277,1,yi,OI),h.fk=function(t){return De(t,44)},h.gk=function(t){return We(uv,XU,44,t,0,1)},I(Gn,"EcorePackageImpl/44",1277),D(1238,1,yi,U0),h.fk=function(t){return De(t,142)},h.gk=function(t){return We(l1,Rn,142,t,0,1)},I(Gn,"EcorePackageImpl/5",1238),D(1239,1,yi,zS),h.fk=function(t){return De(t,156)},h.gk=function(t){return We(tpe,Rn,156,t,0,1)},I(Gn,"EcorePackageImpl/6",1239),D(1240,1,yi,T1),h.fk=function(t){return De(t,469)},h.gk=function(t){return We(TY,Rn,685,t,0,1)},I(Gn,"EcorePackageImpl/7",1240),D(1241,1,yi,C1),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(wp,Rn,694,t,0,1)},I(Gn,"EcorePackageImpl/8",1241),D(1242,1,yi,pre),h.fk=function(t){return De(t,480)},h.gk=function(t){return We(RM,Rn,480,t,0,1)},I(Gn,"EcorePackageImpl/9",1242),D(1038,2080,Z4t,IJe),h.Mi=function(t,n){b4n(this,l(n,424))},h.Qi=function(t,n){Apt(this,t,l(n,424))},I(Gn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),D(1039,152,YP,nat),h.jj=function(){return this.a.a},I(Gn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),D(1067,1066,{},bnt),I("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var jPe=ks(_5t,"Resource");D(799,1524,A5t),h.Hl=function(t){},h.Il=function(t){},h.El=function(){return!this.a&&(this.a=new Pie(this)),this.a},h.Fl=function(t){var n,r,a,o,f;if(a=t.length,a>0)if(Xn(0,t.length),t.charCodeAt(0)==47){for(f=new Bu(4),o=1,n=1;n0&&(t=(Ga(0,r,t.length),t.substr(0,r))));return Ukn(this,t)},h.Gl=function(){return this.c},h.Ib=function(){var t;return _m(this.Rm)+"@"+(t=es(this)>>>0,t.toString(16))+" uri='"+this.d+"'"},h.b=!1,I(s0e,"ResourceImpl",799),D(1525,799,A5t,kQe),I(s0e,"BinaryResourceImpl",1525),D(1190,708,Zfe),h.bj=function(t){return De(t,58)?Bpn(this,l(t,58)):De(t,599)?new or(l(t,599).El()):qe(t)===qe(this.f)?l(t,16).Kc():(Fk(),fF.a)},h.Ob=function(){return x9e(this)},h.a=!1,I(us,"EcoreUtil/ContentTreeIterator",1190),D(1526,1190,Zfe,Ist),h.bj=function(t){return qe(t)===qe(this.f)?l(t,15).Kc():new Lct(l(t,58))},I(s0e,"ResourceImpl/5",1526),D(658,2092,b5t,Pie),h.Hc=function(t){return this.i<=4?jE(this,t):De(t,54)&&l(t,54).Jh()==this.a},h.Mi=function(t,n){t==this.i-1&&(this.a.b||(this.a.b=!0))},h.Oi=function(t,n){t==0?this.a.b||(this.a.b=!0):Noe(this,t,n)},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Lj=function(){return 2},h.jj=function(){return this.a},h.Mj=function(){return!0},h.Nj=function(t,n){var r;return r=l(t,54),n=r.fi(this.a,n),n},h.Oj=function(t,n){var r;return r=l(t,54),r.fi(null,n)},h.Pj=function(){return!1},h.Si=function(){return!0},h.aj=function(t){return We(Xb,Rn,58,t,0,1)},h.Yi=function(){return!1},I(s0e,"ResourceImpl/ContentsEList",658),D(970,2062,iT,EQe),h.fd=function(t){return this.a.Ki(t)},h.gc=function(){return this.a.gc()},I(us,"AbstractSequentialInternalEList/1",970);var $Pe,zPe,io,qPe;D(634,1,{},Nit);var SY,_Y;I(us,"BasicExtendedMetaData",634),D(1181,1,{},Btt),h.Jl=function(){return null},h.Kl=function(){return this.a==-2&&Ye(this,Uxn(this.d,this.b)),this.a},h.Ll=function(){return null},h.Ml=function(){return Cn(),Cn(),_o},h.xe=function(){return this.c==ET&&mt(this,J1t(this.d,this.b)),this.c},h.Nl=function(){return 0},h.a=-2,h.c=ET,I(us,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),D(1182,1,{},sct),h.Jl=function(){return this.a==(eE(),SY)&&Mt(this,VSn(this.f,this.b)),this.a},h.Kl=function(){return 0},h.Ll=function(){return this.c==(eE(),SY)&&Je(this,USn(this.f,this.b)),this.c},h.Ml=function(){return!this.d&&Wt(this,LAn(this.f,this.b)),this.d},h.xe=function(){return this.e==ET&&_n(this,J1t(this.f,this.b)),this.e},h.Nl=function(){return this.g==-2&&Yt(this,lxn(this.f,this.b)),this.g},h.e=ET,h.g=-2,I(us,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),D(1180,1,{},Ftt),h.b=!1,h.c=!1,I(us,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),D(1183,1,{},act),h.c=-2,h.e=ET,h.f=ET,I(us,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),D(593,632,kc,Jq),h.Lj=function(){return this.c},h.ol=function(){return!1},h.Wi=function(t,n){return n},h.c=0,I(us,"EDataTypeEList",593);var HPe=ks(us,"FeatureMap");D(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},Ls),h.bd=function(t,n){uCn(this,t,l(n,76))},h.Fc=function(t){return _Tn(this,l(t,76))},h.Hi=function(t){Ogn(this,l(t,76))},h.Nj=function(t,n){return e0n(this,l(t,76),n)},h.Oj=function(t,n){return d4e(this,l(t,76),n)},h.Ti=function(t,n){return P_n(this,t,n)},h.Wi=function(t,n){return xMn(this,t,l(n,76))},h.hd=function(t,n){return XCn(this,t,l(n,76))},h.Uj=function(t,n){return t0n(this,l(t,76),n)},h.Vj=function(t,n){return uit(this,l(t,76),n)},h.Wj=function(t,n,r){return Q8n(this,l(t,76),l(n,76),r)},h.Zi=function(t,n){return Aue(this,t,l(n,76))},h.Ol=function(t,n){return fke(this,t,n)},h.cd=function(t,n){var r,a,o,f,g,w,E,C,L;for(C=new Lw(n.gc()),o=n.Kc();o.Ob();)if(a=l(o.Pb(),76),f=a.Lk(),up(this.e,f))(!f.Si()||!qH(this,f,a.md())&&!jE(C,a))&&qr(C,a);else{for(L=Wu(this.e.Dh(),f),r=l(this.g,124),g=!0,w=0;w=0;)if(n=t[this.c],this.k.am(n.Lk()))return this.j=this.f?n:n.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},I(us,"BasicFeatureMap/FeatureEIterator",420),D(676,420,lg,Use),h.ul=function(){return!0},I(us,"BasicFeatureMap/ResolvingFeatureEIterator",676),D(968,496,KG,Snt),h.pj=function(){return this},I(us,"EContentsEList/1",968),D(969,496,KG,Xtt),h.ul=function(){return!1},I(us,"EContentsEList/2",969),D(967,287,WG,_nt),h.wl=function(t){},h.Ob=function(){return!1},h.Sb=function(){return!1},I(us,"EContentsEList/FeatureIteratorImpl/1",967),D(840,593,kc,yye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EDataTypeEList/Unsettable",840),D(1958,593,kc,Nnt),h.Si=function(){return!0},I(us,"EDataTypeUniqueEList",1958),D(1959,840,kc,Pnt),h.Si=function(){return!0},I(us,"EDataTypeUniqueEList/Unsettable",1959),D(147,83,kc,ml),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentEList/Resolving",147),D(1184,555,kc,Bnt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentEList/Unsettable/Resolving",1184),D(766,14,kc,a4e),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectContainmentWithInverseEList/Unsettable",766),D(1222,766,kc,Yrt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),D(757,505,kc,xye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectEList/Unsettable",757),D(338,505,kc,$5),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectResolvingEList",338),D(1844,757,kc,Fnt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectResolvingEList/Unsettable",1844),D(1527,1,{},bre);var Z_t;I(us,"EObjectValidator",1527),D(559,505,kc,pH),h.il=function(){return this.d},h.jl=function(){return this.b},h.Mj=function(){return!0},h.ml=function(){return!0},h.b=0,I(us,"EObjectWithInverseEList",559),D(1225,559,kc,Xrt),h.ll=function(){return!0},I(us,"EObjectWithInverseEList/ManyInverse",1225),D(635,559,kc,fae),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectWithInverseEList/Unsettable",635),D(1224,635,kc,Qrt),h.ll=function(){return!0},I(us,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),D(767,559,kc,o4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectWithInverseResolvingEList",767),D(32,767,kc,Ln),h.ll=function(){return!0},I(us,"EObjectWithInverseResolvingEList/ManyInverse",32),D(768,635,kc,c4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectWithInverseResolvingEList/Unsettable",768),D(1223,768,kc,Jrt),h.ll=function(){return!0},I(us,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),D(1185,632,kc),h.Li=function(){return(this.b&1792)==0},h.Ni=function(){this.b|=1},h.kl=function(){return(this.b&4)!=0},h.Mj=function(){return(this.b&40)!=0},h.ll=function(){return(this.b&16)!=0},h.ml=function(){return(this.b&8)!=0},h.nl=function(){return(this.b&r4)!=0},h.al=function(){return(this.b&32)!=0},h.ol=function(){return(this.b&m0)!=0},h.fk=function(t){return this.d?Rct(this.d,t):this.Lk().Hk().fk(t)},h.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},h.Si=function(){return(this.b&128)!=0},h.Gk=function(){var t;$r(this),this.b&2&&(hh(this.e)?(t=(this.b&1)!=0,this.b&=-2,xk(this,new h0(this.e,2,ms(this.e.Dh(),this.Lk()),t,!1))):this.b&=-2)},h.Yi=function(){return(this.b&1536)==0},h.b=0,I(us,"EcoreEList/Generic",1185),D(1186,1185,kc,Vat),h.Lk=function(){return this.a},I(us,"EcoreEList/Dynamic",1186),D(765,66,Bd,kwe),h.aj=function(t){return bN(this.a.a,t)},I(us,"EcoreEMap/1",765),D(764,83,kc,a5e),h.Mi=function(t,n){oU(this.b,l(n,136))},h.Oi=function(t,n){zft(this.b)},h.Pi=function(t,n,r){var a;++(a=this.b,l(n,136),a).e},h.Qi=function(t,n){Fce(this.b,l(n,136))},h.Ri=function(t,n,r){Fce(this.b,l(r,136)),qe(r)===qe(n)&&l(r,136).Ci(Jln(l(n,136).ld())),oU(this.b,l(n,136))},I(us,"EcoreEMap/DelegateEObjectContainmentEList",764),D(1220,141,ASe,ift),I(us,"EcoreEMap/Unsettable",1220),D(1221,764,kc,Zrt),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),D(1189,215,m6,Ust),h.a=!1,h.b=!1,I(us,"EcoreUtil/Copier",1189),D(759,1,Oa,Lct),h.Nb=function(t){Za(this,t)},h.Ob=function(){return F1t(this)},h.Pb=function(){var t;return F1t(this),t=this.b,this.b=null,t},h.Qb=function(){this.a.Qb()},I(us,"EcoreUtil/ProperContentIterator",759),D(1528,1527,{},dz);var eAt;I(us,"EcoreValidator",1528);var tAt;ks(us,"FeatureMapUtil/Validator"),D(1295,1,{2041:1},v5),h.am=function(t){return!0},I(us,"FeatureMapUtil/1",1295),D(773,1,{2041:1},qke),h.am=function(t){var n;return this.c==t?!0:(n=Bt(cr(this.a,t)),n==null?QSn(this,t)?(Lut(this.a,t,(Hn(),ST)),!0):(Lut(this.a,t,(Hn(),Pb)),!1):n==(Hn(),ST))},h.e=!1;var spe;I(us,"FeatureMapUtil/BasicValidator",773),D(774,45,m6,vye),I(us,"FeatureMapUtil/BasicValidator/Cache",774),D(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},yO),h.bd=function(t,n){vbt(this.c,this.b,t,n)},h.Fc=function(t){return fke(this.c,this.b,t)},h.cd=function(t,n){return vLn(this.c,this.b,t,n)},h.Gc=function(t){return F_(this,t)},h.Gi=function(t,n){dwn(this.c,this.b,t,n)},h.Wk=function(t,n){return ike(this.c,this.b,t,n)},h.$i=function(t){return qU(this.c,this.b,t,!1)},h.Ii=function(){return cnt(this.c,this.b)},h.Ji=function(){return jln(this.c,this.b)},h.Ki=function(t){return vvn(this.c,this.b,t)},h.Xk=function(t,n){return Irt(this,t,n)},h.$b=function(){_8(this)},h.Hc=function(t){return qH(this.c,this.b,t)},h.Ic=function(t){return m3n(this.c,this.b,t)},h.Xb=function(t){return qU(this.c,this.b,t,!0)},h.Fk=function(t){return this},h.dd=function(t){return Cmn(this.c,this.b,t)},h.dc=function(){return _q(this)},h.Qj=function(){return!FN(this.c,this.b)},h.Kc=function(){return rwn(this.c,this.b)},h.ed=function(){return iwn(this.c,this.b)},h.fd=function(t){return P4n(this.c,this.b,t)},h.Ti=function(t,n){return Omt(this.c,this.b,t,n)},h.Ui=function(t,n){xvn(this.c,this.b,t,n)},h.gd=function(t){return hpt(this.c,this.b,t)},h.Mc=function(t){return y_n(this.c,this.b,t)},h.hd=function(t,n){return qmt(this.c,this.b,t,n)},h.Wb=function(t){EU(this.c,this.b),F_(this,l(t,15))},h.gc=function(){return N4n(this.c,this.b)},h.Pc=function(){return _bn(this.c,this.b)},h.Qc=function(t){return Smn(this.c,this.b,t)},h.Ib=function(){var t,n;for(n=new Up,n.a+="[",t=cnt(this.c,this.b);_ce(t);)Xo(n,j_(iU(t))),_ce(t)&&(n.a+=Co);return n.a+="]",n.a},h.Gk=function(){EU(this.c,this.b)},I(us,"FeatureMapUtil/FeatureEList",509),D(644,39,YP,Eoe),h.hj=function(t){return SA(this,t)},h.mj=function(t){var n,r,a,o,f,g,w;switch(this.d){case 1:case 2:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0;break}case 3:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=5,n=new Lw(2),qr(n,this.g),qr(n,t.ij()),this.g=n,!0;break}}break}case 5:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return r=l(this.g,16),r.Fc(t.ij()),!0;break}}break}case 4:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=1,this.g=t.ij(),!0;break}case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=6,w=new Lw(2),qr(w,this.n),qr(w,t.kj()),this.n=w,g=he(le(Vr,1),di,28,15,[this.o,t.lj()]),this.g=g,!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return r=l(this.n,16),r.Fc(t.kj()),g=l(this.g,53),a=We(Vr,di,28,g.length+1,15,1),pu(g,0,a,0,g.length),a[g.length]=t.lj(),this.g=a,!0;break}}break}}return!1},I(us,"FeatureMapUtil/FeatureENotificationImpl",644),D(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},nH),h.Ol=function(t,n){return fke(this.c,t,n)},h.Pl=function(t,n,r){return ike(this.c,t,n,r)},h.Ql=function(t,n,r){return Mke(this.c,t,n,r)},h.Rl=function(){return this},h.Sl=function(t,n){return pP(this.c,t,n)},h.Tl=function(t){return l(qU(this.c,this.b,t,!1),76).Lk()},h.Ul=function(t){return l(qU(this.c,this.b,t,!1),76).md()},h.Vl=function(){return this.a},h.Wl=function(t){return!FN(this.c,t)},h.Xl=function(t,n){HU(this.c,t,n)},h.Yl=function(t){return oft(this.c,t)},h.Zl=function(t){jdt(this.c,t)},I(us,"FeatureMapUtil/FeatureFeatureMap",564),D(1294,1,i0e,Ptt),h.Fk=function(t){return qU(this.b,this.a,-1,t)},h.Qj=function(){return!FN(this.b,this.a)},h.Wb=function(t){HU(this.b,this.a,t)},h.Gk=function(){EU(this.b,this.a)},I(us,"FeatureMapUtil/FeatureValue",1294);var c9,ape,ope,u9,nAt,gF=ks(nK,"AnyType");D(680,63,lp,Jie),I(nK,"InvalidDatatypeValueException",680);var AY=ks(nK,M5t),pF=ks(nK,D5t),VPe=ks(nK,I5t),rAt,tu,UPe,Sv,iAt,sAt,aAt,oAt,cAt,uAt,lAt,hAt,fAt,dAt,gAt,c7,pAt,u7,HM,bAt,C3,bF,mF,mAt,VM,UM;D(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},zwe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ls(this,0)),this.c):(!this.c&&(this.c=new Ls(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)):(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ls(this,2)),this.b):(!this.b&&(this.b=new Ls(this,2)),this.b.b)}return sf(this,t-yr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t),n,r)},h.Uh=function(t,n,r){var a;switch(n){case 0:return!this.c&&(this.c=new Ls(this,0)),hP(this.c,t,r);case 1:return(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),71)).Xk(t,r);case 2:return!this.b&&(this.b=new Ls(this,2)),hP(this.b,t,r)}return a=l(Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),n),69),a.wk().Ak(this,V6e(this),n-yr(this.ii()),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return nf(this,t-yr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ls(this,0)),$O(this.c,n);return;case 1:(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ls(this,2)),$O(this.b,n);return}uf(this,t-yr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t),n)},h.ii=function(){return Gi(),UPe},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ls(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)).$b();return;case 2:!this.b&&(this.b=new Ls(this,2)),$r(this.b);return}cf(this,t-yr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t))},h.Ib=function(){var t;return this.j&4?g0(this):(t=new Af(g0(this)),t.a+=" (mixed: ",O_(t,this.c),t.a+=", anyAttribute: ",O_(t,this.b),t.a+=")",t.a)},I(ea,"AnyTypeImpl",844),D(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},yre),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return sf(this,t-yr((Gi(),c7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():c7,t),n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=null;case 1:return this.b!=null}return nf(this,t-yr((Gi(),c7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():c7,t))},h.bi=function(t,n){switch(t){case 0:vr(this,ei(n));return;case 1:pr(this,ei(n));return}uf(this,t-yr((Gi(),c7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():c7,t),n)},h.ii=function(){return Gi(),c7},h.ki=function(t){switch(t){case 0:this.a=null;return;case 1:this.b=null;return}cf(this,t-yr((Gi(),c7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():c7,t))},h.Ib=function(){var t;return this.j&4?g0(this):(t=new Af(g0(this)),t.a+=" (data: ",Xo(t,this.a),t.a+=", target: ",Xo(t,this.b),t.a+=")",t.a)},h.a=null,h.b=null,I(ea,"ProcessingInstructionImpl",681),D(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},fJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ls(this,0)),this.c):(!this.c&&(this.c=new Ls(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)):(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ls(this,2)),this.b):(!this.b&&(this.b=new Ls(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Ls(this,0)),ei(pP(this.c,(Gi(),HM),!0));case 4:return l4e(this.a,(!this.c&&(this.c=new Ls(this,0)),ei(pP(this.c,(Gi(),HM),!0))));case 5:return this.a}return sf(this,t-yr((Gi(),u7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():u7,t),n,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new Ls(this,0)),ei(pP(this.c,(Gi(),HM),!0))!=null;case 4:return l4e(this.a,(!this.c&&(this.c=new Ls(this,0)),ei(pP(this.c,(Gi(),HM),!0))))!=null;case 5:return!!this.a}return nf(this,t-yr((Gi(),u7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():u7,t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ls(this,0)),$O(this.c,n);return;case 1:(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ls(this,2)),$O(this.b,n);return;case 3:J5e(this,ei(n));return;case 4:J5e(this,u4e(this.a,n));return;case 5:Nn(this,l(n,156));return}uf(this,t-yr((Gi(),u7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():u7,t),n)},h.ii=function(){return Gi(),u7},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ls(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)).$b();return;case 2:!this.b&&(this.b=new Ls(this,2)),$r(this.b);return;case 3:!this.c&&(this.c=new Ls(this,0)),HU(this.c,(Gi(),HM),null);return;case 4:J5e(this,u4e(this.a,null));return;case 5:this.a=null;return}cf(this,t-yr((Gi(),u7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():u7,t))},I(ea,"SimpleAnyTypeImpl",682),D(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},dJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.a&&(this.a=new Ls(this,0)),this.a):(!this.a&&(this.a=new Ls(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),this.b):(!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),iN(this.b));case 2:return r?(!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),this.c):(!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),iN(this.c));case 3:return!this.a&&(this.a=new Ls(this,0)),ku(this.a,(Gi(),bF));case 4:return!this.a&&(this.a=new Ls(this,0)),ku(this.a,(Gi(),mF));case 5:return!this.a&&(this.a=new Ls(this,0)),ku(this.a,(Gi(),VM));case 6:return!this.a&&(this.a=new Ls(this,0)),ku(this.a,(Gi(),UM))}return sf(this,t-yr((Gi(),C3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():C3,t),n,r)},h.Uh=function(t,n,r){var a;switch(n){case 0:return!this.a&&(this.a=new Ls(this,0)),hP(this.a,t,r);case 1:return!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),Uq(this.b,t,r);case 2:return!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),Uq(this.c,t,r);case 5:return!this.a&&(this.a=new Ls(this,0)),Irt(ku(this.a,(Gi(),VM)),t,r)}return a=l(Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():(Gi(),C3),n),69),a.wk().Ak(this,V6e(this),n-yr((Gi(),C3)),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new Ls(this,0)),!_q(ku(this.a,(Gi(),bF)));case 4:return!this.a&&(this.a=new Ls(this,0)),!_q(ku(this.a,(Gi(),mF)));case 5:return!this.a&&(this.a=new Ls(this,0)),!_q(ku(this.a,(Gi(),VM)));case 6:return!this.a&&(this.a=new Ls(this,0)),!_q(ku(this.a,(Gi(),UM)))}return nf(this,t-yr((Gi(),C3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():C3,t))},h.bi=function(t,n){switch(t){case 0:!this.a&&(this.a=new Ls(this,0)),$O(this.a,n);return;case 1:!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),_V(this.b,n);return;case 2:!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),_V(this.c,n);return;case 3:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),bF))),!this.a&&(this.a=new Ls(this,0)),F_(ku(this.a,bF),l(n,16));return;case 4:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),mF))),!this.a&&(this.a=new Ls(this,0)),F_(ku(this.a,mF),l(n,16));return;case 5:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),VM))),!this.a&&(this.a=new Ls(this,0)),F_(ku(this.a,VM),l(n,16));return;case 6:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),UM))),!this.a&&(this.a=new Ls(this,0)),F_(ku(this.a,UM),l(n,16));return}uf(this,t-yr((Gi(),C3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():C3,t),n)},h.ii=function(){return Gi(),C3},h.ki=function(t){switch(t){case 0:!this.a&&(this.a=new Ls(this,0)),$r(this.a);return;case 1:!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),bF)));return;case 4:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),mF)));return;case 5:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),VM)));return;case 6:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),UM)));return}cf(this,t-yr((Gi(),C3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():C3,t))},h.Ib=function(){var t;return this.j&4?g0(this):(t=new Af(g0(this)),t.a+=" (mixed: ",O_(t,this.a),t.a+=")",t.a)},I(ea,"XMLTypeDocumentRootImpl",683),D(2028,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},uk),h.ri=function(t,n){switch(t.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:xc(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return ei(n);case 6:return hfn(l(n,195));case 12:case 47:case 49:case 11:return Lvt(this,t,n);case 13:return n==null?null:kLn(l(n,247));case 15:case 14:return n==null?null:_gn(ze(Ge(n)));case 17:return Sgt((Gi(),n));case 18:return Sgt(n);case 21:case 20:return n==null?null:Agn(l(n,161).a);case 27:return ffn(l(n,195));case 30:return $dt((Gi(),l(n,15)));case 31:return $dt(l(n,15));case 40:return gfn((Gi(),n));case 42:return _gt((Gi(),n));case 43:return _gt(n);case 59:case 48:return dfn((Gi(),n));default:throw ue(new Yn(yT+t.xe()+t3))}},h.si=function(t){var n,r,a,o,f;switch(t.G==-1&&(t.G=(r=Ah(t),r?f2(r.vi(),t):-1)),t.G){case 0:return n=new zwe,n;case 1:return a=new yre,a;case 2:return o=new fJe,o;case 3:return f=new dJe,f;default:throw ue(new Yn(qfe+t.zb+t3))}},h.ti=function(t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;switch(t.hk()){case 5:case 52:case 4:return n;case 6:return y6n(n);case 8:case 7:return n==null?null:axn(n);case 9:return n==null?null:fN(Oh((a=Tu(n,!0),a.length>0&&(Xn(0,a.length),a.charCodeAt(0)==43)?(Xn(1,a.length+1),a.substr(1)):a),-128,127)<<24>>24);case 10:return n==null?null:fN(Oh((o=Tu(n,!0),o.length>0&&(Xn(0,o.length),o.charCodeAt(0)==43)?(Xn(1,o.length+1),o.substr(1)):o),-128,127)<<24>>24);case 11:return ei(Kw(this,(Gi(),aAt),n));case 12:return ei(Kw(this,(Gi(),oAt),n));case 13:return n==null?null:new h3e(Tu(n,!0));case 15:case 14:return LTn(n);case 16:return ei(Kw(this,(Gi(),cAt),n));case 17:return q1t((Gi(),n));case 18:return q1t(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return Tu(n,!0);case 21:case 20:return jTn(n);case 22:return ei(Kw(this,(Gi(),uAt),n));case 23:return ei(Kw(this,(Gi(),lAt),n));case 24:return ei(Kw(this,(Gi(),hAt),n));case 25:return ei(Kw(this,(Gi(),fAt),n));case 26:return ei(Kw(this,(Gi(),dAt),n));case 27:return c6n(n);case 30:return H1t((Gi(),n));case 31:return H1t(n);case 32:return n==null?null:pt(Oh((L=Tu(n,!0),L.length>0&&(Xn(0,L.length),L.charCodeAt(0)==43)?(Xn(1,L.length+1),L.substr(1)):L),lo,Ii));case 33:return n==null?null:new ob((B=Tu(n,!0),B.length>0&&(Xn(0,B.length),B.charCodeAt(0)==43)?(Xn(1,B.length+1),B.substr(1)):B));case 34:return n==null?null:pt(Oh((z=Tu(n,!0),z.length>0&&(Xn(0,z.length),z.charCodeAt(0)==43)?(Xn(1,z.length+1),z.substr(1)):z),lo,Ii));case 36:return n==null?null:ap(KU((V=Tu(n,!0),V.length>0&&(Xn(0,V.length),V.charCodeAt(0)==43)?(Xn(1,V.length+1),V.substr(1)):V)));case 37:return n==null?null:ap(KU((J=Tu(n,!0),J.length>0&&(Xn(0,J.length),J.charCodeAt(0)==43)?(Xn(1,J.length+1),J.substr(1)):J)));case 40:return s7n((Gi(),n));case 42:return V1t((Gi(),n));case 43:return V1t(n);case 44:return n==null?null:new ob((te=Tu(n,!0),te.length>0&&(Xn(0,te.length),te.charCodeAt(0)==43)?(Xn(1,te.length+1),te.substr(1)):te));case 45:return n==null?null:new ob((fe=Tu(n,!0),fe.length>0&&(Xn(0,fe.length),fe.charCodeAt(0)==43)?(Xn(1,fe.length+1),fe.substr(1)):fe));case 46:return Tu(n,!1);case 47:return ei(Kw(this,(Gi(),gAt),n));case 59:case 48:return i7n((Gi(),n));case 49:return ei(Kw(this,(Gi(),pAt),n));case 50:return n==null?null:_E(Oh((Te=Tu(n,!0),Te.length>0&&(Xn(0,Te.length),Te.charCodeAt(0)==43)?(Xn(1,Te.length+1),Te.substr(1)):Te),JG,32767)<<16>>16);case 51:return n==null?null:_E(Oh((f=Tu(n,!0),f.length>0&&(Xn(0,f.length),f.charCodeAt(0)==43)?(Xn(1,f.length+1),f.substr(1)):f),JG,32767)<<16>>16);case 53:return ei(Kw(this,(Gi(),bAt),n));case 55:return n==null?null:_E(Oh((g=Tu(n,!0),g.length>0&&(Xn(0,g.length),g.charCodeAt(0)==43)?(Xn(1,g.length+1),g.substr(1)):g),JG,32767)<<16>>16);case 56:return n==null?null:_E(Oh((w=Tu(n,!0),w.length>0&&(Xn(0,w.length),w.charCodeAt(0)==43)?(Xn(1,w.length+1),w.substr(1)):w),JG,32767)<<16>>16);case 57:return n==null?null:ap(KU((E=Tu(n,!0),E.length>0&&(Xn(0,E.length),E.charCodeAt(0)==43)?(Xn(1,E.length+1),E.substr(1)):E)));case 58:return n==null?null:ap(KU((C=Tu(n,!0),C.length>0&&(Xn(0,C.length),C.charCodeAt(0)==43)?(Xn(1,C.length+1),C.substr(1)):C)));case 60:return n==null?null:pt(Oh((r=Tu(n,!0),r.length>0&&(Xn(0,r.length),r.charCodeAt(0)==43)?(Xn(1,r.length+1),r.substr(1)):r),lo,Ii));case 61:return n==null?null:pt(Oh(Tu(n,!0),lo,Ii));default:throw ue(new Yn(yT+t.xe()+t3))}};var vAt,GPe,wAt,KPe;I(ea,"XMLTypeFactoryImpl",2028),D(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},dat),h.N=!1,h.O=!1;var yAt=!1;I(ea,"XMLTypePackageImpl",594),D(1961,1,{851:1},lk),h.Kk=function(){return xke(),LAt},I(ea,"XMLTypePackageImpl/1",1961),D(1970,1,yi,qS),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/10",1970),D(1971,1,yi,mre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/11",1971),D(1972,1,yi,vre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/12",1972),D(1973,1,yi,p8),h.fk=function(t){return fy(t)},h.gk=function(t){return We(ta,dt,345,t,7,1)},I(ea,"XMLTypePackageImpl/13",1973),D(1974,1,yi,R$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/14",1974),D(1975,1,yi,j$),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/15",1975),D(1976,1,yi,wre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/16",1976),D(1977,1,yi,$$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/17",1977),D(1978,1,yi,z$),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(_T,dt,161,t,0,1)},I(ea,"XMLTypePackageImpl/18",1978),D(1979,1,yi,NI),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/19",1979),D(1962,1,yi,xre),h.fk=function(t){return De(t,857)},h.gk=function(t){return We(gF,Rn,857,t,0,1)},I(ea,"XMLTypePackageImpl/2",1962),D(1980,1,yi,HS),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/20",1980),D(1981,1,yi,kre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/21",1981),D(1982,1,yi,Ere),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/22",1982),D(1983,1,yi,Tre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/23",1983),D(1984,1,yi,Cre),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Al,dt,195,t,0,2)},I(ea,"XMLTypePackageImpl/24",1984),D(1985,1,yi,Sre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/25",1985),D(1986,1,yi,q$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/26",1986),D(1987,1,yi,_re),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/27",1987),D(1988,1,yi,Are),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/28",1988),D(1989,1,yi,Lre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/29",1989),D(1963,1,yi,H$),h.fk=function(t){return De(t,681)},h.gk=function(t){return We(AY,Rn,2119,t,0,1)},I(ea,"XMLTypePackageImpl/3",1963),D(1990,1,yi,Mre),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(ea,"XMLTypePackageImpl/30",1990),D(1991,1,yi,Dre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/31",1991),D(1992,1,yi,VS),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(r3,dt,168,t,0,1)},I(ea,"XMLTypePackageImpl/32",1992),D(1993,1,yi,Ire),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/33",1993),D(1994,1,yi,Ore),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/34",1994),D(1995,1,yi,Nre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/35",1995),D(1996,1,yi,Pre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/36",1996),D(1997,1,yi,Bre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/37",1997),D(1998,1,yi,Fre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/38",1998),D(1999,1,yi,V$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/39",1999),D(1964,1,yi,Rre),h.fk=function(t){return De(t,682)},h.gk=function(t){return We(pF,Rn,2120,t,0,1)},I(ea,"XMLTypePackageImpl/4",1964),D(2e3,1,yi,U$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/40",2e3),D(2001,1,yi,jre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/41",2001),D(2002,1,yi,PI),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/42",2002),D(2003,1,yi,$re),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/43",2003),D(2004,1,yi,G$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/44",2004),D(2005,1,yi,zre),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(i3,dt,191,t,0,1)},I(ea,"XMLTypePackageImpl/45",2005),D(2006,1,yi,K$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/46",2006),D(2007,1,yi,qre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/47",2007),D(2008,1,yi,W$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/48",2008),D(2009,1,yi,Y$),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(i3,dt,191,t,0,1)},I(ea,"XMLTypePackageImpl/49",2009),D(1965,1,yi,X$),h.fk=function(t){return De(t,683)},h.gk=function(t){return We(VPe,Rn,2121,t,0,1)},I(ea,"XMLTypePackageImpl/5",1965),D(2010,1,yi,BI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(r3,dt,168,t,0,1)},I(ea,"XMLTypePackageImpl/50",2010),D(2011,1,yi,w5),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/51",2011),D(2012,1,yi,US),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(ea,"XMLTypePackageImpl/52",2012),D(1966,1,yi,S1),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/6",1966),D(1967,1,yi,Q$),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Al,dt,195,t,0,2)},I(ea,"XMLTypePackageImpl/7",1967),D(1968,1,yi,hk),h.fk=function(t){return hy(t)},h.gk=function(t){return We(Ns,dt,485,t,8,1)},I(ea,"XMLTypePackageImpl/8",1968),D(1969,1,yi,FI),h.fk=function(t){return De(t,222)},h.gk=function(t){return We(jx,dt,222,t,0,1)},I(ea,"XMLTypePackageImpl/9",1969);var nd,N2,GM,LY,ye;D(55,63,lp,ri),I(y2,"RegEx/ParseException",55),D(836,1,{},J$),h.bm=function(t){return tr*16)throw ue(new ri(ai((Jr(),H4t))));r=r*16+o}while(!0);if(this.a!=125)throw ue(new ri(ai((Jr(),V4t))));if(r>TT)throw ue(new ri(ai((Jr(),U4t))));t=r}else{if(o=0,this.c!=0||(o=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(r=o,Li(this),this.c!=0||(o=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));r=r*16+o,t=r}break;case 117:if(a=0,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));n=n*16+a,t=n;break;case 118:if(Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,n>TT)throw ue(new ri(ai((Jr(),"parser.descappe.4"))));t=n;break;case 65:case 90:case 122:throw ue(new ri(ai((Jr(),G4t))))}return t},h.dm=function(t){var n,r;switch(t){case 100:r=(this.e&32)==32?_b("Nd",!0):(Di(),MY);break;case 68:r=(this.e&32)==32?_b("Nd",!1):(Di(),ZPe);break;case 119:r=(this.e&32)==32?_b("IsWord",!0):(Di(),lC);break;case 87:r=(this.e&32)==32?_b("IsWord",!1):(Di(),tBe);break;case 115:r=(this.e&32)==32?_b("IsSpace",!0):(Di(),l9);break;case 83:r=(this.e&32)==32?_b("IsSpace",!1):(Di(),eBe);break;default:throw ue(new Ac((n=t,G5t+n.toString(16))))}return r},h.em=function(t){var n,r,a,o,f,g,w,E,C,L,B,z;for(this.b=1,Li(this),n=null,this.c==0&&this.a==94?(Li(this),t?L=(Di(),Di(),new _h(5)):(n=(Di(),Di(),new _h(4)),Eu(n,0,TT),L=new _h(4))):L=(Di(),Di(),new _h(4)),o=!0;(z=this.c)!=1&&!(z==0&&this.a==93&&!o);){if(o=!1,r=this.a,a=!1,z==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:Ky(L,this.dm(r)),a=!0;break;case 105:case 73:case 99:case 67:r=this.um(L,r),r<0&&(a=!0);break;case 112:case 80:if(B=w9e(this,r),!B)throw ue(new ri(ai((Jr(),t0e))));Ky(L,B),a=!0;break;default:r=this.cm()}else if(z==20){if(g=Nk(this.i,58,this.d),g<0)throw ue(new ri(ai((Jr(),kSe))));if(w=!0,co(this.i,this.d)==94&&(++this.d,w=!1),f=tf(this.i,this.d,g),E=vlt(f,w,(this.e&512)==512),!E)throw ue(new ri(ai((Jr(),R4t))));if(Ky(L,E),a=!0,g+1>=this.j||co(this.i,g+1)!=93)throw ue(new ri(ai((Jr(),kSe))));this.d=g+2}if(Li(this),!a)if(this.c!=0||this.a!=45)Eu(L,r,r);else{if(Li(this),(z=this.c)==1)throw ue(new ri(ai((Jr(),UG))));z==0&&this.a==93?(Eu(L,r,r),Eu(L,45,45)):(C=this.a,z==10&&(C=this.cm()),Li(this),Eu(L,r,C))}(this.e&m0)==m0&&this.c==0&&this.a==44&&Li(this)}if(this.c==1)throw ue(new ri(ai((Jr(),UG))));return n&&(nL(n,L),L=n),c6(L),eL(L),this.b=0,Li(this),L},h.fm=function(){var t,n,r,a;for(r=this.em(!1);(a=this.c)!=7;)if(t=this.a,a==0&&(t==45||t==38)||a==4){if(Li(this),this.c!=9)throw ue(new ri(ai((Jr(),$4t))));if(n=this.em(!1),a==4)Ky(r,n);else if(t==45)nL(r,n);else if(t==38)Cvt(r,n);else throw ue(new Ac("ASSERT"))}else throw ue(new ri(ai((Jr(),z4t))));return Li(this),r},h.gm=function(){var t,n;return t=this.a-48,n=(Di(),Di(),new coe(12,null,t)),!this.g&&(this.g=new jz),Rz(this.g,new Ewe(t)),Li(this),n},h.hm=function(){return Li(this),Di(),EAt},h.im=function(){return Li(this),Di(),kAt},h.jm=function(){throw ue(new ri(ai((Jr(),bf))))},h.km=function(){throw ue(new ri(ai((Jr(),bf))))},h.lm=function(){return Li(this),Eyn()},h.mm=function(){return Li(this),Di(),CAt},h.nm=function(){return Li(this),Di(),_At},h.om=function(){var t;if(this.d>=this.j||((t=co(this.i,this.d++))&65504)!=64)throw ue(new ri(ai((Jr(),P4t))));return Li(this),Di(),Di(),new ng(0,t-64)},h.pm=function(){return Li(this),SAn()},h.qm=function(){return Li(this),Di(),AAt},h.rm=function(){var t;return t=(Di(),Di(),new ng(0,105)),Li(this),t},h.sm=function(){return Li(this),Di(),SAt},h.tm=function(){return Li(this),Di(),TAt},h.um=function(t,n){return this.cm()},h.vm=function(){return Li(this),Di(),QPe},h.wm=function(){var t,n,r,a,o;if(this.d+1>=this.j)throw ue(new ri(ai((Jr(),I4t))));if(a=-1,n=null,t=co(this.i,this.d),49<=t&&t<=57){if(a=t-48,!this.g&&(this.g=new jz),Rz(this.g,new Ewe(a)),++this.d,co(this.i,this.d)!=41)throw ue(new ri(ai((Jr(),ov))));++this.d}else switch(t==63&&--this.d,Li(this),n=Gke(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw ue(new ri(ai((Jr(),ov))));break;default:throw ue(new ri(ai((Jr(),O4t))))}if(Li(this),o=jw(this),r=null,o.e==2){if(o.Pm()!=2)throw ue(new ri(ai((Jr(),N4t))));r=o.Lm(1),o=o.Lm(0)}if(this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),Di(),Di(),new Zlt(a,n,o,r)},h.xm=function(){return Li(this),Di(),JPe},h.ym=function(){var t;if(Li(this),t=bH(24,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.zm=function(){var t;if(Li(this),t=bH(20,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Am=function(){var t;if(Li(this),t=bH(22,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Bm=function(){var t,n,r,a,o;for(t=0,r=0,n=-1;this.d=this.j)throw ue(new ri(ai((Jr(),ySe))));if(n==45){for(++this.d;this.d=this.j)throw ue(new ri(ai((Jr(),ySe))))}if(n==58){if(++this.d,Li(this),a=Wst(jw(this),t,r),this.c!=7)throw ue(new ri(ai((Jr(),ov))));Li(this)}else if(n==41)++this.d,Li(this),a=Wst(jw(this),t,r);else throw ue(new ri(ai((Jr(),D4t))));return a},h.Cm=function(){var t;if(Li(this),t=bH(21,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Dm=function(){var t;if(Li(this),t=bH(23,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Em=function(){var t,n;if(Li(this),t=this.f++,n=Bae(jw(this),t),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),n},h.Fm=function(){var t;if(Li(this),t=Bae(jw(this),0),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Gm=function(t){return Li(this),this.c==5?(Li(this),oH(t,(Di(),Di(),new Ty(9,t)))):oH(t,(Di(),Di(),new Ty(3,t)))},h.Hm=function(t){var n;return Li(this),n=(Di(),Di(),new B_(2)),this.c==5?(Li(this),Qm(n,WM),Qm(n,t)):(Qm(n,t),Qm(n,WM)),n},h.Im=function(t){return Li(this),this.c==5?(Li(this),Di(),Di(),new Ty(9,t)):(Di(),Di(),new Ty(3,t))},h.a=0,h.b=0,h.c=0,h.d=0,h.e=0,h.f=1,h.g=null,h.j=0,I(y2,"RegEx/RegexParser",836),D(1947,836,{},gJe),h.bm=function(t){return!1},h.cm=function(){return eke(this)},h.dm=function(t){return YE(t)},h.em=function(t){return ywt(this)},h.fm=function(){throw ue(new ri(ai((Jr(),bf))))},h.gm=function(){throw ue(new ri(ai((Jr(),bf))))},h.hm=function(){throw ue(new ri(ai((Jr(),bf))))},h.im=function(){throw ue(new ri(ai((Jr(),bf))))},h.jm=function(){return Li(this),YE(67)},h.km=function(){return Li(this),YE(73)},h.lm=function(){throw ue(new ri(ai((Jr(),bf))))},h.mm=function(){throw ue(new ri(ai((Jr(),bf))))},h.nm=function(){throw ue(new ri(ai((Jr(),bf))))},h.om=function(){return Li(this),YE(99)},h.pm=function(){throw ue(new ri(ai((Jr(),bf))))},h.qm=function(){throw ue(new ri(ai((Jr(),bf))))},h.rm=function(){return Li(this),YE(105)},h.sm=function(){throw ue(new ri(ai((Jr(),bf))))},h.tm=function(){throw ue(new ri(ai((Jr(),bf))))},h.um=function(t,n){return Ky(t,YE(n)),-1},h.vm=function(){return Li(this),Di(),Di(),new ng(0,94)},h.wm=function(){throw ue(new ri(ai((Jr(),bf))))},h.xm=function(){return Li(this),Di(),Di(),new ng(0,36)},h.ym=function(){throw ue(new ri(ai((Jr(),bf))))},h.zm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Am=function(){throw ue(new ri(ai((Jr(),bf))))},h.Bm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Cm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Dm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Em=function(){var t;if(Li(this),t=Bae(jw(this),0),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Fm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Gm=function(t){return Li(this),oH(t,(Di(),Di(),new Ty(3,t)))},h.Hm=function(t){var n;return Li(this),n=(Di(),Di(),new B_(2)),Qm(n,t),Qm(n,WM),n},h.Im=function(t){return Li(this),Di(),Di(),new Ty(3,t)};var l7=null,cC=null;I(y2,"RegEx/ParserForXMLSchema",1947),D(122,1,CT,Xv),h.Jm=function(t){throw ue(new Ac("Not supported."))},h.Km=function(){return-1},h.Lm=function(t){return null},h.Mm=function(){return null},h.Nm=function(t){},h.Om=function(t){},h.Pm=function(){return 0},h.Ib=function(){return this.Qm(0)},h.Qm=function(t){return this.e==11?".":""},h.e=0;var WPe,uC,KM,xAt,YPe,P4=null,MY,cpe=null,XPe,WM,upe=null,QPe,JPe,ZPe,eBe,tBe,kAt,l9,EAt,TAt,CAt,SAt,lC,_At,AAt,BOn=I(y2,"RegEx/Token",122);D(138,122,{3:1,138:1,122:1},_h),h.Qm=function(t){var n,r,a;if(this.e==4)if(this==XPe)r=".";else if(this==MY)r="\\d";else if(this==lC)r="\\w";else if(this==l9)r="\\s";else{for(a=new Up,a.a+="[",n=0;n0&&(a.a+=","),this.b[n]===this.b[n+1]?Xo(a,gP(this.b[n])):(Xo(a,gP(this.b[n])),a.a+="-",Xo(a,gP(this.b[n+1])));a.a+="]",r=a.a}else if(this==ZPe)r="\\D";else if(this==tBe)r="\\W";else if(this==eBe)r="\\S";else{for(a=new Up,a.a+="[^",n=0;n0&&(a.a+=","),this.b[n]===this.b[n+1]?Xo(a,gP(this.b[n])):(Xo(a,gP(this.b[n])),a.a+="-",Xo(a,gP(this.b[n+1])));a.a+="]",r=a.a}return r},h.a=!1,h.c=!1,I(y2,"RegEx/RangeToken",138),D(592,1,{592:1},Ewe),h.a=0,I(y2,"RegEx/RegexParser/ReferencePosition",592),D(591,1,{3:1,591:1},LZe),h.Fb=function(t){var n;return t==null||!De(t,591)?!1:(n=l(t,591),vn(this.b,n.b)&&this.a==n.a)},h.Hb=function(){return s2(this.b+"/"+K9e(this.a))},h.Ib=function(){return this.c.Qm(this.a)},h.a=0,I(y2,"RegEx/RegularExpression",591),D(228,122,CT,ng),h.Km=function(){return this.a},h.Qm=function(t){var n,r,a;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:a="\\"+hae(this.a&Zs);break;case 12:a="\\f";break;case 10:a="\\n";break;case 13:a="\\r";break;case 9:a="\\t";break;case 27:a="\\e";break;default:this.a>=Io?(r=(n=this.a>>>0,"0"+n.toString(16)),a="\\v"+tf(r,r.length-6,r.length)):a=""+hae(this.a&Zs)}break;case 8:this==QPe||this==JPe?a=""+hae(this.a&Zs):a="\\"+hae(this.a&Zs);break;default:a=null}return a},h.a=0,I(y2,"RegEx/Token/CharToken",228),D(318,122,CT,Ty),h.Lm=function(t){return this.a},h.Nm=function(t){this.b=t},h.Om=function(t){this.c=t},h.Pm=function(){return 1},h.Qm=function(t){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}";else throw ue(new Ac("Token#toString(): CLOSURE "+this.c+Co+this.b));else if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*?";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}?";else throw ue(new Ac("Token#toString(): NONGREEDYCLOSURE "+this.c+Co+this.b));return n},h.b=0,h.c=0,I(y2,"RegEx/Token/ClosureToken",318),D(837,122,CT,f5e),h.Lm=function(t){return t==0?this.a:this.b},h.Pm=function(){return 2},h.Qm=function(t){var n;return this.b.e==3&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+":this.b.e==9&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+?":n=this.a.Qm(t)+(""+this.b.Qm(t)),n},I(y2,"RegEx/Token/ConcatToken",837),D(1945,122,CT,Zlt),h.Lm=function(t){if(t==0)return this.d;if(t==1)return this.b;throw ue(new Ac("Internal Error: "+t))},h.Pm=function(){return this.b?2:1},h.Qm=function(t){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},h.c=0,I(y2,"RegEx/Token/ConditionToken",1945),D(1946,122,CT,Hot),h.Lm=function(t){return this.b},h.Pm=function(){return 1},h.Qm=function(t){return"(?"+(this.a==0?"":K9e(this.a))+(this.c==0?"":K9e(this.c))+":"+this.b.Qm(t)+")"},h.a=0,h.c=0,I(y2,"RegEx/Token/ModifierToken",1946),D(838,122,CT,k5e),h.Lm=function(t){return this.a},h.Pm=function(){return 1},h.Qm=function(t){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.Qm(t)+")":n="("+this.a.Qm(t)+")";break;case 20:n="(?="+this.a.Qm(t)+")";break;case 21:n="(?!"+this.a.Qm(t)+")";break;case 22:n="(?<="+this.a.Qm(t)+")";break;case 23:n="(?"+this.a.Qm(t)+")"}return n},h.b=0,I(y2,"RegEx/Token/ParenToken",838),D(530,122,{3:1,122:1,530:1},coe),h.Mm=function(){return this.b},h.Qm=function(t){return this.e==12?"\\"+this.a:vTn(this.b)},h.a=0,I(y2,"RegEx/Token/StringToken",530),D(477,122,CT,B_),h.Jm=function(t){Qm(this,t)},h.Lm=function(t){return l(xw(this.a,t),122)},h.Pm=function(){return this.a?this.a.a.c.length:0},h.Qm=function(t){var n,r,a,o,f;if(this.e==1){if(this.a.a.c.length==2)n=l(xw(this.a,0),122),r=l(xw(this.a,1),122),r.e==3&&r.Lm(0)==n?o=n.Qm(t)+"+":r.e==9&&r.Lm(0)==n?o=n.Qm(t)+"+?":o=n.Qm(t)+(""+r.Qm(t));else{for(f=new Up,a=0;a=this.c.b:this.a<=this.c.b},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Vb=function(){return this.b-1},h.Qb=function(){throw ue(new Hp(Z5t))},h.a=0,h.b=0,I(zSe,"ExclusiveRange/RangeIterator",258);var kf=Gk(GG,"C"),Vr=Gk(LL,"I"),ih=Gk(Cx,"Z"),nm=Gk(ML,"J"),Al=Gk(SL,"B"),Na=Gk(_L,"D"),B4=Gk(AL,"F"),h7=Gk(DL,"S"),FOn=ks("org.eclipse.elk.core.labels","ILabelManager"),nBe=ks(So,"DiagnosticChain"),rBe=ks(_5t,"ResourceSet"),iBe=I(So,"InvocationTargetException",null),MAt=(Hz(),Qmn),DAt=DAt=q8n;Vwn($cn),$wn("permProps",[[["locale","default"],[e6t,"gecko1_8"]],[["locale","default"],[e6t,"safari"]]]),DAt(null,"elk",null)}).call(this)}).call(this,typeof Ag<"u"?Ag:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(u,d,p){function v(A,P){if(!(A instanceof P))throw new TypeError("Cannot call a class as a function")}function b(A,P){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return P&&(typeof P=="object"||typeof P=="function")?P:A}function y(A,P){if(typeof P!="function"&&P!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof P);A.prototype=Object.create(P&&P.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),P&&(Object.setPrototypeOf?Object.setPrototypeOf(A,P):A.__proto__=P)}var T=u("./elk-api.js").default,_=function(A){y(P,A);function P(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};v(this,P);var F=Object.assign({},R),j=!1;try{u.resolve("web-worker"),j=!0}catch{}if(R.workerUrl)if(j){var K=u("web-worker");F.workerFactory=function(oe){return new K(oe)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!F.workerFactory){var ee=u("./elk-worker.min.js"),ie=ee.Worker;F.workerFactory=function(oe){return new ie(oe)}}return b(this,(P.__proto__||Object.getPrototypeOf(P)).call(this,F))}return P}(T);Object.defineProperty(d.exports,"__esModule",{value:!0}),d.exports=_,_.default=_},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(u,d,p){d.exports=Worker},{}]},{},[3])(3)})})(HKe);var Can=HKe.exports;const San=hC(Can),VKe=new San;let Hv={};const _an={};let W7={};const Aan=async function(i,s,u,d,p,v,b){const T=u.select(`[id="${s}"]`).insert("g").attr("class","nodes"),_=Object.keys(i);return await Promise.all(_.map(async function(A){const P=i[A];let R="default";P.classes.length>0&&(R=P.classes.join(" ")),R=R+" flowchart-label";const F=om(P.styles);let j=P.text!==void 0?P.text:P.id;const K={width:0,height:0},ee=[{id:P.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:P.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:P.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:P.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let ie=0,oe="",pe={};switch(P.type){case"round":ie=5,oe="rect";break;case"square":oe="rect";break;case"diamond":oe="question",pe={portConstraints:"FIXED_SIDE"};break;case"hexagon":oe="hexagon";break;case"odd":oe="rect_left_inv_arrow";break;case"lean_right":oe="lean_right";break;case"lean_left":oe="lean_left";break;case"trapezoid":oe="trapezoid";break;case"inv_trapezoid":oe="inv_trapezoid";break;case"odd_right":oe="rect_left_inv_arrow";break;case"circle":oe="circle";break;case"ellipse":oe="ellipse";break;case"stadium":oe="stadium";break;case"subroutine":oe="subroutine";break;case"cylinder":oe="cylinder";break;case"group":oe="rect";break;case"doublecircle":oe="doublecircle";break;default:oe="rect"}const be={labelStyle:F.labelStyle,shape:oe,labelText:j,labelType:P.labelType,rx:ie,ry:ie,class:R,style:F.style,id:P.id,link:P.link,linkTarget:P.linkTarget,tooltip:p.db.getTooltip(P.id)||"",domId:p.db.lookUpDomId(P.id),haveCallback:P.haveCallback,width:P.type==="group"?500:void 0,dir:P.dir,type:P.type,props:P.props,padding:Vh().flowchart.padding};let ae,ne;if(be.type!=="group")ne=await tJ(T,be,P.dir),ae=ne.node().getBBox();else{d.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:de,bbox:X}=await g1(T,be,void 0,!0);K.width=X.width,K.wrappingWidth=Vh().flowchart.wrappingWidth,K.height=X.height,K.labelNode=de.node(),be.labelData=K}const se={id:P.id,ports:P.type==="diamond"?ee:[],layoutOptions:pe,labelText:j,labelData:K,domId:p.db.lookUpDomId(P.id),width:ae==null?void 0:ae.width,height:ae==null?void 0:ae.height,type:P.type,el:ne,parent:v.parentById[P.id]};W7[be.id]=se})),b},UKe=(i,s,u)=>{const d={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return d.TD=d.TB,d[u][s][i]},GKe=(i,s,u)=>{if(Xe.info("getNextPort",{node:i,edgeDirection:s,graphDirection:u}),!Hv[i])switch(u){case"TB":case"TD":Hv[i]={inPosition:"north",outPosition:"south"};break;case"BT":Hv[i]={inPosition:"south",outPosition:"north"};break;case"RL":Hv[i]={inPosition:"east",outPosition:"west"};break;case"LR":Hv[i]={inPosition:"west",outPosition:"east"};break}const d=s==="in"?Hv[i].inPosition:Hv[i].outPosition;return s==="in"?Hv[i].inPosition=UKe(Hv[i].inPosition,s,u):Hv[i].outPosition=UKe(Hv[i].outPosition,s,u),d},Lan=(i,s)=>{let u=i.start,d=i.end;const p=u,v=d,b=W7[u],y=W7[d];return!b||!y?{source:u,target:d}:(b.type==="diamond"&&(u=`${u}-${GKe(u,"out",s)}`),y.type==="diamond"&&(d=`${d}-${GKe(d,"in",s)}`),{source:u,target:d,sourceId:p,targetId:v})},Man=function(i,s,u,d){Xe.info("abc78 edges = ",i);const p=d.insert("g").attr("class","edgeLabels");let v={},b=s.db.getDirection(),y,T;if(i.defaultStyle!==void 0){const _=om(i.defaultStyle);y=_.style,T=_.labelStyle}return i.forEach(function(_){const A="L-"+_.start+"-"+_.end;v[A]===void 0?(v[A]=0,Xe.info("abc78 new entry",A,v[A])):(v[A]++,Xe.info("abc78 new entry",A,v[A]));let P=A+"-"+v[A];Xe.info("abc78 new link id to be used is",A,P,v[A]);const R="LS-"+_.start,F="LE-"+_.end,j={style:"",labelStyle:""};switch(j.minlen=_.length||1,_.type==="arrow_open"?j.arrowhead="none":j.arrowhead="normal",j.arrowTypeStart="arrow_open",j.arrowTypeEnd="arrow_open",_.type){case"double_arrow_cross":j.arrowTypeStart="arrow_cross";case"arrow_cross":j.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":j.arrowTypeStart="arrow_point";case"arrow_point":j.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":j.arrowTypeStart="arrow_circle";case"arrow_circle":j.arrowTypeEnd="arrow_circle";break}let K="",ee="";switch(_.stroke){case"normal":K="fill:none;",y!==void 0&&(K=y),T!==void 0&&(ee=T),j.thickness="normal",j.pattern="solid";break;case"dotted":j.thickness="normal",j.pattern="dotted",j.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":j.thickness="thick",j.pattern="solid",j.style="stroke-width: 3.5px;fill:none;";break}if(_.style!==void 0){const ne=om(_.style);K=ne.style,ee=ne.labelStyle}j.style=j.style+=K,j.labelStyle=j.labelStyle+=ee,_.interpolate!==void 0?j.curve=Ov(_.interpolate,kp):i.defaultInterpolate!==void 0?j.curve=Ov(i.defaultInterpolate,kp):j.curve=Ov(_an.curve,kp),_.text===void 0?_.style!==void 0&&(j.arrowheadStyle="fill: #333"):(j.arrowheadStyle="fill: #333",j.labelpos="c"),j.labelType=_.labelType,j.label=_.text.replace(ci.lineBreakRegex,` +`),_.style===void 0&&(j.style=j.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),j.labelStyle=j.labelStyle.replace("color:","fill:"),j.id=P,j.classes="flowchart-link "+R+" "+F;const ie=zme(p,j),{source:oe,target:pe,sourceId:be,targetId:ae}=Lan(_,b);Xe.debug("abc78 source and target",oe,pe),u.edges.push({id:"e"+_.start+_.end,sources:[oe],targets:[pe],sourceId:be,targetId:ae,labelEl:ie,labels:[{width:j.width,height:j.height,orgWidth:j.width,orgHeight:j.height,text:j.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:j})}),u},Dan=function(i,s,u,d,p){let v="";d&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),AUe(i,s,v,p,u)},Ian=function(i,s){return Xe.info("Extracting classes"),s.db.getClasses()},Oan=function(i){const s={parentById:{},childrenById:{}},u=i.getSubGraphs();return Xe.info("Subgraphs - ",u),u.forEach(function(d){d.nodes.forEach(function(p){s.parentById[p]=d.id,s.childrenById[d.id]===void 0&&(s.childrenById[d.id]=[]),s.childrenById[d.id].push(p)})}),u.forEach(function(d){d.id,s.parentById[d.id]!==void 0&&s.parentById[d.id]}),s},Nan=function(i,s,u){const d=Tan(i,s,u);if(d===void 0||d==="root")return{x:0,y:0};const p=W7[d].offset;return{x:p.posX,y:p.posY}},Pan=function(i,s,u,d,p,v){const b=Nan(s.sourceId,s.targetId,p),y=s.sections[0].startPoint,T=s.sections[0].endPoint,A=(s.sections[0].bendPoints?s.sections[0].bendPoints:[]).map(pe=>[pe.x+b.x,pe.y+b.y]),P=[[y.x+b.x,y.y+b.y],...A,[T.x+b.x,T.y+b.y]],{x:R,y:F}=_Ue(s.edgeData),j=k7().x(R).y(F).curve(kp),K=i.insert("path").attr("d",j(P)).attr("class","path "+u.classes).attr("fill","none"),ee=i.insert("g").attr("class","edgeLabel"),ie=Ir(ee.node().appendChild(s.labelEl)),oe=ie.node().firstChild.getBoundingClientRect();ie.attr("width",oe.width),ie.attr("height",oe.height),ee.attr("transform",`translate(${s.labels[0].x+b.x}, ${s.labels[0].y+b.y})`),Dan(K,u,d.type,d.arrowMarkerAbsolute,v)},KKe=(i,s)=>{i.forEach(u=>{u.children||(u.children=[]);const d=s.childrenById[u.id];d&&d.forEach(p=>{u.children.push(W7[p])}),KKe(u.children,s)})},Ban=async function(i,s,u,d){var se;d.db.clear(),W7={},Hv={},d.db.setGen("gen-2"),d.parser.parse(i);const p=Ir("body").append("div").attr("style","height:400px").attr("id","cy");let v={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Xe.info("Drawing flowchart using v3 renderer",VKe),d.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutOptions["elk.direction"]="DOWN";break;case"LR":v.layoutOptions["elk.direction"]="RIGHT";break;case"RL":v.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:y,flowchart:T}=Vh();let _;y==="sandbox"&&(_=Ir("#i"+s));const A=Ir(y==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=y==="sandbox"?_.nodes()[0].contentDocument:document,R=A.select(`[id="${s}"]`);Sme(R,["point","circle","cross"],d.type,s);const j=d.db.getVertices();let K;const ee=d.db.getSubGraphs();Xe.info("Subgraphs - ",ee);for(let de=ee.length-1;de>=0;de--)K=ee[de],d.db.addVertex(K.id,{text:K.title,type:K.labelType},"group",void 0,K.classes,K.dir);const ie=R.insert("g").attr("class","subgraphs"),oe=Oan(d.db);v=await Aan(j,s,A,P,d,oe,v);const pe=R.insert("g").attr("class","edges edgePath"),be=d.db.getEdges();v=Man(be,d,v,R),Object.keys(W7).forEach(de=>{const X=W7[de];X.parent||v.children.push(X),oe.childrenById[de]!==void 0&&(X.labels=[{text:X.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:X.labelData.width,height:X.labelData.height}],delete X.x,delete X.y,delete X.width,delete X.height)}),KKe(v.children,oe),Xe.info("after layout",JSON.stringify(v,null,2));const ne=await VKe.layout(v);WKe(0,0,ne.children,R,ie,d,0),Xe.info("after layout",ne),(se=ne.edges)==null||se.map(de=>{Pan(pe,de,de.edgeData,d,oe,s)}),y9({},R,T.diagramPadding,T.useMaxWidth),p.remove()},WKe=(i,s,u,d,p,v,b)=>{u.forEach(function(y){if(y)if(W7[y.id].offset={posX:y.x+i,posY:y.y+s,x:i,y:s,depth:b,width:y.width,height:y.height},y.type==="group"){const T=p.insert("g").attr("class","subgraph");T.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",y.x+i).attr("y",y.y+s).attr("width",y.width).attr("height",y.height);const _=T.insert("g").attr("class","label"),A=Vh().flowchart.htmlLabels?y.labelData.width/2:0;_.attr("transform",`translate(${y.labels[0].x+i+y.x+A}, ${y.labels[0].y+s+y.y+3})`),_.node().appendChild(y.labelData.labelNode),Xe.info("Id (UGH)= ",y.type,y.labels)}else Xe.info("Id (UGH)= ",y.id),y.el.attr("transform",`translate(${y.x+i+y.width/2}, ${y.y+s+y.height/2})`)}),u.forEach(function(y){y&&y.type==="group"&&WKe(i+y.x,s+y.y,y.children,d,p,v,b+1)})},Fan={getClasses:Ian,draw:Ban},Ran=i=>{let s="";for(let u=0;u<5;u++)s+=` + .subgraph-lvl-${u} { + fill: ${i[`surface${u}`]}; + stroke: ${i[`surfacePeer${u}`]}; + } + `;return s},jan=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:_Ut,renderer:Fan,parser:Gbe,styles:i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span { + color: ${i.titleColor}; + } + + .label text,span { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${Ran(i)} +`}},Symbol.toStringTag,{value:"Module"}));var Qve=function(){var i=function(R,F,j,K){for(j=j||{},K=R.length;K--;j[R[K]]=F);return j},s=[6,8,10,11,12,14,16,17,20,21],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,16],T=[1,17],_={trace:function(){},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:function(F,j,K,ee,ie,oe,pe){var be=oe.length-1;switch(ie){case 1:return oe[be-1];case 2:this.$=[];break;case 3:oe[be-1].push(oe[be]),this.$=oe[be-1];break;case 4:case 5:this.$=oe[be];break;case 6:case 7:this.$=[];break;case 8:ee.getCommonDb().setDiagramTitle(oe[be].substr(6)),this.$=oe[be].substr(6);break;case 9:this.$=oe[be].trim(),ee.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=oe[be].trim(),ee.getCommonDb().setAccDescription(this.$);break;case 12:ee.addSection(oe[be].substr(8)),this.$=oe[be].substr(8);break;case 15:ee.addTask(oe[be],0,""),this.$=oe[be];break;case 16:ee.addEvent(oe[be].substr(2)),this.$=oe[be];break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:T},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:18,11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:T},i(s,[2,5]),i(s,[2,6]),i(s,[2,8]),{13:[1,19]},{15:[1,20]},i(s,[2,11]),i(s,[2,12]),i(s,[2,13]),i(s,[2,14]),i(s,[2,15]),i(s,[2,16]),i(s,[2,4]),i(s,[2,9]),i(s,[2,10])],defaultActions:{},parseError:function(F,j){if(j.recoverable)this.trace(F);else{var K=new Error(F);throw K.hash=j,K}},parse:function(F){var j=this,K=[0],ee=[],ie=[null],oe=[],pe=this.table,be="",ae=0,ne=0,se=2,de=1,X=oe.slice.call(arguments,1),ge=Object.create(this.lexer),W={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(W.yy[xe]=this.yy[xe]);ge.setInput(F,W.yy),W.yy.lexer=ge,W.yy.parser=this,typeof ge.yylloc>"u"&&(ge.yylloc={});var U=ge.yylloc;oe.push(U);var Fe=ge.options&&ge.options.ranges;typeof W.yy.parseError=="function"?this.parseError=W.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var Et;return Et=ee.pop()||ge.lex()||de,typeof Et!="number"&&(Et instanceof Array&&(ee=Et,Et=ee.pop()),Et=j.symbols_[Et]||Et),Et}for(var je,Ie,Se,Ce,ke={},Ke,Ft,Ne,gn;;){if(Ie=K[K.length-1],this.defaultActions[Ie]?Se=this.defaultActions[Ie]:((je===null||typeof je>"u")&&(je=Pe()),Se=pe[Ie]&&pe[Ie][je]),typeof Se>"u"||!Se.length||!Se[0]){var _t="";gn=[];for(Ke in pe[Ie])this.terminals_[Ke]&&Ke>se&&gn.push("'"+this.terminals_[Ke]+"'");ge.showPosition?_t="Parse error on line "+(ae+1)+`: +`+ge.showPosition()+` +Expecting `+gn.join(", ")+", got '"+(this.terminals_[je]||je)+"'":_t="Parse error on line "+(ae+1)+": Unexpected "+(je==de?"end of input":"'"+(this.terminals_[je]||je)+"'"),this.parseError(_t,{text:ge.match,token:this.terminals_[je]||je,line:ge.yylineno,loc:U,expected:gn})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ie+", token: "+je);switch(Se[0]){case 1:K.push(je),ie.push(ge.yytext),oe.push(ge.yylloc),K.push(Se[1]),je=null,ne=ge.yyleng,be=ge.yytext,ae=ge.yylineno,U=ge.yylloc;break;case 2:if(Ft=this.productions_[Se[1]][1],ke.$=ie[ie.length-Ft],ke._$={first_line:oe[oe.length-(Ft||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(Ft||1)].first_column,last_column:oe[oe.length-1].last_column},Fe&&(ke._$.range=[oe[oe.length-(Ft||1)].range[0],oe[oe.length-1].range[1]]),Ce=this.performAction.apply(ke,[be,ne,ae,W.yy,Se[1],ie,oe].concat(X)),typeof Ce<"u")return Ce;Ft&&(K=K.slice(0,-1*Ft*2),ie=ie.slice(0,-1*Ft),oe=oe.slice(0,-1*Ft)),K.push(this.productions_[Se[1]][0]),ie.push(ke.$),oe.push(ke._$),Ne=pe[K[K.length-2]][K[K.length-1]],K.push(Ne);break;case 3:return!0}}return!0}},A=function(){var R={EOF:1,parseError:function(j,K){if(this.yy.parser)this.yy.parser.parseError(j,K);else throw new Error(j)},setInput:function(F,j){return this.yy=j||this.yy||{},this._input=F,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var F=this._input[0];this.yytext+=F,this.yyleng++,this.offset++,this.match+=F,this.matched+=F;var j=F.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),F},unput:function(F){var j=F.length,K=F.split(/(?:\r\n?|\n)/g);this._input=F+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-j),this.offset-=j;var ee=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 ie=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===ee.length?this.yylloc.first_column:0)+ee[ee.length-K.length].length-K[0].length:this.yylloc.first_column-j},this.options.ranges&&(this.yylloc.range=[ie[0],ie[0]+this.yyleng-j]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(F){this.unput(this.match.slice(F))},pastInput:function(){var F=this.matched.substr(0,this.matched.length-this.match.length);return(F.length>20?"...":"")+F.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var F=this.match;return F.length<20&&(F+=this._input.substr(0,20-F.length)),(F.substr(0,20)+(F.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var F=this.pastInput(),j=new Array(F.length+1).join("-");return F+this.upcomingInput()+` +`+j+"^"},test_match:function(F,j){var K,ee,ie;if(this.options.backtrack_lexer&&(ie={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&&(ie.yylloc.range=this.yylloc.range.slice(0))),ee=F[0].match(/(?:\r\n?|\n).*/g),ee&&(this.yylineno+=ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ee?ee[ee.length-1].length-ee[ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+F[0].length},this.yytext+=F[0],this.match+=F[0],this.matches=F,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(F[0].length),this.matched+=F[0],K=this.performAction.call(this,this.yy,this,j,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),K)return K;if(this._backtrack){for(var oe in ie)this[oe]=ie[oe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var F,j,K,ee;this._more||(this.yytext="",this.match="");for(var ie=this._currentRules(),oe=0;oej[0].length)){if(j=K,ee=oe,this.options.backtrack_lexer){if(F=this.test_match(K,ie[oe]),F!==!1)return F;if(this._backtrack){j=!1;continue}else return!1}else if(!this.options.flex)break}return j?(F=this.test_match(j,ie[ee]),F!==!1?F:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var j=this.next();return j||this.lex()},begin:function(j){this.conditionStack.push(j)},popState:function(){var j=this.conditionStack.length-1;return j>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(j){return j=this.conditionStack.length-1-Math.abs(j||0),j>=0?this.conditionStack[j]:"INITIAL"},pushState:function(j){this.begin(j)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(j,K,ee,ie){switch(ee){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;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return R}();_.lexer=A;function P(){this.yy={}}return P.prototype=_,_.Parser=P,new P}();Qve.parser=Qve;const $an=Qve;let ZD="",YKe=0;const Jve=[],IJ=[],eI=[],XKe=()=>Jje,QKe=function(){Jve.length=0,IJ.length=0,ZD="",eI.length=0,Pg()},JKe=function(i){ZD=i,Jve.push(i)},ZKe=function(){return Jve},eWe=function(){let i=iWe();const s=100;let u=0;for(;!i&&uu.id===YKe-1).events.push(i)},rWe=function(i){const s={section:ZD,type:ZD,description:i,task:i,classes:[]};IJ.push(s)},iWe=function(){const i=function(u){return eI[u].processed};let s=!0;for(const[u,d]of eI.entries())i(u),s=s&&d.processed;return s},zan=Object.freeze(Object.defineProperty({__proto__:null,addEvent:nWe,addSection:JKe,addTask:tWe,addTaskOrg:rWe,clear:QKe,default:{clear:QKe,getCommonDb:XKe,addSection:JKe,getSections:ZKe,getTasks:eWe,addTask:tWe,addTaskOrg:rWe,addEvent:nWe},getCommonDb:XKe,getSections:ZKe,getTasks:eWe},Symbol.toStringTag,{value:"Module"})),qan=12,OJ=function(i,s){const u=i.append("rect");return u.attr("x",s.x),u.attr("y",s.y),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("width",s.width),u.attr("height",s.height),u.attr("rx",s.rx),u.attr("ry",s.ry),s.class!==void 0&&u.attr("class",s.class),u},Han=function(i,s){const d=i.append("circle").attr("cx",s.cx).attr("cy",s.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",s.cx-15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",s.cx+15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(T){const _=lD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+2)+")")}function b(T){const _=lD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+7)+")")}function y(T){T.append("line").attr("class","mouth").attr("stroke",2).attr("x1",s.cx-5).attr("y1",s.cy+7).attr("x2",s.cx+5).attr("y2",s.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s.score>3?v(p):s.score<3?b(p):y(p),d},Van=function(i,s){const u=i.append("circle");return u.attr("cx",s.cx),u.attr("cy",s.cy),u.attr("class","actor-"+s.pos),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("r",s.r),u.class!==void 0&&u.attr("class",u.class),s.title!==void 0&&u.append("title").text(s.title),u},sWe=function(i,s){const u=s.text.replace(//gi," "),d=i.append("text");d.attr("x",s.x),d.attr("y",s.y),d.attr("class","legend"),d.style("text-anchor",s.anchor),s.class!==void 0&&d.attr("class",s.class);const p=d.append("tspan");return p.attr("x",s.x+s.textMargin*2),p.text(u),d},Uan=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(s.x,s.y,50,20,7)),d.attr("class","labelBox"),s.y=s.y+s.labelMargin,s.x=s.x+.5*s.labelMargin,sWe(i,s)},Gan=function(i,s,u){const d=i.append("g"),p=Zve();p.x=s.x,p.y=s.y,p.fill=s.fill,p.width=u.width,p.height=u.height,p.class="journey-section section-type-"+s.num,p.rx=3,p.ry=3,OJ(d,p),oWe(u)(s.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+s.num},u,s.colour)};let aWe=-1;const Kan=function(i,s,u){const d=s.x+u.width/2,p=i.append("g");aWe++;const v=300+5*30;p.append("line").attr("id","task"+aWe).attr("x1",d).attr("y1",s.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Han(p,{cx:d,cy:300+(5-s.score)*30,score:s.score});const b=Zve();b.x=s.x,b.y=s.y,b.fill=s.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+s.num,b.rx=3,b.ry=3,OJ(p,b),s.x+14,oWe(u)(s.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,s.colour)},Wan=function(i,s){OJ(i,{x:s.startx,y:s.starty,width:s.stopx-s.startx,height:s.stopy-s.starty,fill:s.fill,class:"rect"}).lower()},Yan=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},Zve=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},oWe=function(){function i(p,v,b,y,T,_,A,P){const R=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function s(p,v,b,y,T,_,A,P,R){const{taskFontSize:F,taskFontFamily:j}=P,K=p.split(//gi);for(let ee=0;ee)/).reverse(),p,v=[],b=1.1,y=u.attr("y"),T=parseFloat(u.attr("dy")),_=u.text(null).append("tspan").attr("x",0).attr("y",y).attr("dy",T+"em");for(let A=0;As||p==="
    ")&&(v.pop(),_.text(v.join(" ").trim()),p==="
    "?v=[""]:v=[p],_=u.append("tspan").attr("x",0).attr("y",y).attr("dy",b+"em").text(p))})}const Qan=function(i,s,u,d){const p=u%qan-1,v=i.append("g");s.section=p,v.attr("class",(s.class?s.class+" ":"")+"timeline-node "+("section-"+p));const b=v.append("g"),y=v.append("g"),_=y.append("text").text(s.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(cWe,s.width).node().getBBox(),A=d.fontSize&&d.fontSize.replace?d.fontSize.replace("px",""):d.fontSize;return s.height=_.height+A*1.1*.5+s.padding,s.height=Math.max(s.height,s.maxHeight),s.width=s.width+2*s.padding,y.attr("transform","translate("+s.width/2+", "+s.padding/2+")"),Zan(b,s,p),s},Jan=function(i,s,u){const d=i.append("g"),v=d.append("text").text(s.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(cWe,s.width).node().getBBox(),b=u.fontSize&&u.fontSize.replace?u.fontSize.replace("px",""):u.fontSize;return d.remove(),v.height+b*1.1*.5+s.padding},Zan=function(i,s,u){i.append("path").attr("id","node-"+s.id).attr("class","node-bkg node-"+s.type).attr("d",`M0 ${s.height-5} v${-s.height+2*5} q0,-5 5,-5 h${s.width-2*5} q5,0 5,5 v${s.height-5} H0 Z`),i.append("line").attr("class","node-line-"+u).attr("x1",0).attr("y1",s.height).attr("x2",s.width).attr("y2",s.height)},sS={drawRect:OJ,drawCircle:Van,drawSection:Gan,drawText:sWe,drawLabel:Uan,drawTask:Kan,drawBackgroundRect:Wan,getTextObj:Yan,getNoteRect:Zve,initGraphics:Xan,drawNode:Qan,getVirtualNodeHeight:Jan},eon=function(i,s,u,d){var X,ge;const p=qt(),v=p.leftMargin??50;Xe.debug("timeline",d.db);const b=p.securityLevel;let y;b==="sandbox"&&(y=Ir("#i"+s));const _=Ir(b==="sandbox"?y.nodes()[0].contentDocument.body:"body").select("#"+s);_.append("g");const A=d.db.getTasks(),P=d.db.getCommonDb().getDiagramTitle();Xe.debug("task",A),sS.initGraphics(_);const R=d.db.getSections();Xe.debug("sections",R);let F=0,j=0,K=0,ee=0,ie=50+v,oe=50;ee=50;let pe=0,be=!0;R.forEach(function(W){const xe={number:pe,descr:W,section:pe,width:150,padding:20,maxHeight:F},U=sS.getVirtualNodeHeight(_,xe,p);Xe.debug("sectionHeight before draw",U),F=Math.max(F,U+20)});let ae=0,ne=0;Xe.debug("tasks.length",A.length);for(const[W,xe]of A.entries()){const U={number:W,descr:xe,section:xe.section,width:150,padding:20,maxHeight:j},Fe=sS.getVirtualNodeHeight(_,U,p);Xe.debug("taskHeight before draw",Fe),j=Math.max(j,Fe+20),ae=Math.max(ae,xe.events.length);let Pe=0;for(let je=0;je0?R.forEach(W=>{const xe=A.filter(je=>je.section===W),U={number:pe,descr:W,section:pe,width:200*Math.max(xe.length,1)-50,padding:20,maxHeight:F};Xe.debug("sectionNode",U);const Fe=_.append("g"),Pe=sS.drawNode(Fe,U,pe,p);Xe.debug("sectionNode output",Pe),Fe.attr("transform",`translate(${ie}, ${ee})`),oe+=F+50,xe.length>0&&uWe(_,xe,pe,ie,oe,j,p,ae,ne,F,!1),ie+=200*Math.max(xe.length,1),oe=ee,pe++}):(be=!1,uWe(_,A,pe,ie,oe,j,p,ae,ne,F,!0));const se=_.node().getBBox();Xe.debug("bounds",se),P&&_.append("text").text(P).attr("x",se.width/2-v).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),K=be?F+j+150:j+100,_.append("g").attr("class","lineWrapper").append("line").attr("x1",v).attr("y1",K).attr("x2",se.width+3*v).attr("y2",K).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),y9(void 0,_,((X=p.timeline)==null?void 0:X.padding)??50,((ge=p.timeline)==null?void 0:ge.useMaxWidth)??!1)},uWe=function(i,s,u,d,p,v,b,y,T,_,A){var P;for(const R of s){const F={descr:R.task,section:u,number:u,width:150,padding:20,maxHeight:v};Xe.debug("taskNode",F);const j=i.append("g").attr("class","taskWrapper"),ee=sS.drawNode(j,F,u,b).height;if(Xe.debug("taskHeight after draw",ee),j.attr("transform",`translate(${d}, ${p})`),v=Math.max(v,ee),R.events){const ie=i.append("g").attr("class","lineWrapper");let oe=v;p+=100,oe=oe+ton(i,R.events,u,d,p,b),p-=100,ie.append("line").attr("x1",d+190/2).attr("y1",p+v).attr("x2",d+190/2).attr("y2",p+v+(A?v:_)+T+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}d=d+200,A&&!((P=b.timeline)!=null&&P.disableMulticolor)&&u++}p=p-10},ton=function(i,s,u,d,p,v){let b=0;const y=p;p=p+100;for(const T of s){const _={descr:T,section:u,number:u,width:150,padding:20,maxHeight:50};Xe.debug("eventNode",_);const A=i.append("g").attr("class","eventWrapper"),R=sS.drawNode(A,_,u,v).height;b=b+R,A.attr("transform",`translate(${d}, ${p})`),p=p+10+R}return p=y,b},non={setConf:()=>{},draw:eon},ron=i=>{let s="";for(let u=0;u` + .edge { + stroke-width: 3; + } + ${ron(i)} + .section-root rect, .section-root path, .section-root circle { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}},Symbol.toStringTag,{value:"Module"}));var ewe=function(){var i=function(be,ae,ne,se){for(ne=ne||{},se=be.length;se--;ne[be[se]]=ae);return ne},s=[1,4],u=[1,13],d=[1,12],p=[1,15],v=[1,16],b=[1,20],y=[1,19],T=[6,7,8],_=[1,26],A=[1,24],P=[1,25],R=[6,7,11],F=[1,6,13,15,16,19,22],j=[1,33],K=[1,34],ee=[1,6,7,11,13,15,16,19,22],ie={trace:function(){},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:function(ae,ne,se,de,X,ge,W){var xe=ge.length-1;switch(X){case 6:case 7:return de;case 8:de.getLogger().trace("Stop NL ");break;case 9:de.getLogger().trace("Stop EOF ");break;case 11:de.getLogger().trace("Stop NL2 ");break;case 12:de.getLogger().trace("Stop EOF2 ");break;case 15:de.getLogger().info("Node: ",ge[xe].id),de.addNode(ge[xe-1].length,ge[xe].id,ge[xe].descr,ge[xe].type);break;case 16:de.getLogger().trace("Icon: ",ge[xe]),de.decorateNode({icon:ge[xe]});break;case 17:case 21:de.decorateNode({class:ge[xe]});break;case 18:de.getLogger().trace("SPACELIST");break;case 19:de.getLogger().trace("Node: ",ge[xe].id),de.addNode(0,ge[xe].id,ge[xe].descr,ge[xe].type);break;case 20:de.decorateNode({icon:ge[xe]});break;case 25:de.getLogger().trace("node found ..",ge[xe-2]),this.$={id:ge[xe-1],descr:ge[xe-1],type:de.getType(ge[xe-2],ge[xe])};break;case 26:this.$={id:ge[xe],descr:ge[xe],type:de.nodeType.DEFAULT};break;case 27:de.getLogger().trace("node found ..",ge[xe-3]),this.$={id:ge[xe-3],descr:ge[xe-1],type:de.getType(ge[xe-2],ge[xe])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:s},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:s},{6:u,7:[1,10],9:9,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(T,[2,3]),{1:[2,2]},i(T,[2,4]),i(T,[2,5]),{1:[2,6],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:u,9:22,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:_,7:A,10:23,11:P},i(R,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:y}),i(R,[2,18]),i(R,[2,19]),i(R,[2,20]),i(R,[2,21]),i(R,[2,23]),i(R,[2,24]),i(R,[2,26],{19:[1,30]}),{20:[1,31]},{6:_,7:A,10:32,11:P},{1:[2,7],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(F,[2,14],{7:j,11:K}),i(ee,[2,8]),i(ee,[2,9]),i(ee,[2,10]),i(R,[2,15]),i(R,[2,16]),i(R,[2,17]),{20:[1,35]},{21:[1,36]},i(F,[2,13],{7:j,11:K}),i(ee,[2,11]),i(ee,[2,12]),{21:[1,37]},i(R,[2,25]),i(R,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(ae,ne){if(ne.recoverable)this.trace(ae);else{var se=new Error(ae);throw se.hash=ne,se}},parse:function(ae){var ne=this,se=[0],de=[],X=[null],ge=[],W=this.table,xe="",U=0,Fe=0,Pe=2,je=1,Ie=ge.slice.call(arguments,1),Se=Object.create(this.lexer),Ce={yy:{}};for(var ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ke)&&(Ce.yy[ke]=this.yy[ke]);Se.setInput(ae,Ce.yy),Ce.yy.lexer=Se,Ce.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var Ke=Se.yylloc;ge.push(Ke);var Ft=Se.options&&Se.options.ranges;typeof Ce.yy.parseError=="function"?this.parseError=Ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(){var On;return On=de.pop()||Se.lex()||je,typeof On!="number"&&(On instanceof Array&&(de=On,On=de.pop()),On=ne.symbols_[On]||On),On}for(var gn,_t,Et,Gt,ln={},xt,Pt,Qe,Dt;;){if(_t=se[se.length-1],this.defaultActions[_t]?Et=this.defaultActions[_t]:((gn===null||typeof gn>"u")&&(gn=Ne()),Et=W[_t]&&W[_t][gn]),typeof Et>"u"||!Et.length||!Et[0]){var kt="";Dt=[];for(xt in W[_t])this.terminals_[xt]&&xt>Pe&&Dt.push("'"+this.terminals_[xt]+"'");Se.showPosition?kt="Parse error on line "+(U+1)+`: +`+Se.showPosition()+` +Expecting `+Dt.join(", ")+", got '"+(this.terminals_[gn]||gn)+"'":kt="Parse error on line "+(U+1)+": Unexpected "+(gn==je?"end of input":"'"+(this.terminals_[gn]||gn)+"'"),this.parseError(kt,{text:Se.match,token:this.terminals_[gn]||gn,line:Se.yylineno,loc:Ke,expected:Dt})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_t+", token: "+gn);switch(Et[0]){case 1:se.push(gn),X.push(Se.yytext),ge.push(Se.yylloc),se.push(Et[1]),gn=null,Fe=Se.yyleng,xe=Se.yytext,U=Se.yylineno,Ke=Se.yylloc;break;case 2:if(Pt=this.productions_[Et[1]][1],ln.$=X[X.length-Pt],ln._$={first_line:ge[ge.length-(Pt||1)].first_line,last_line:ge[ge.length-1].last_line,first_column:ge[ge.length-(Pt||1)].first_column,last_column:ge[ge.length-1].last_column},Ft&&(ln._$.range=[ge[ge.length-(Pt||1)].range[0],ge[ge.length-1].range[1]]),Gt=this.performAction.apply(ln,[xe,Fe,U,Ce.yy,Et[1],X,ge].concat(Ie)),typeof Gt<"u")return Gt;Pt&&(se=se.slice(0,-1*Pt*2),X=X.slice(0,-1*Pt),ge=ge.slice(0,-1*Pt)),se.push(this.productions_[Et[1]][0]),X.push(ln.$),ge.push(ln._$),Qe=W[se[se.length-2]][se[se.length-1]],se.push(Qe);break;case 3:return!0}}return!0}},oe=function(){var be={EOF:1,parseError:function(ne,se){if(this.yy.parser)this.yy.parser.parseError(ne,se);else throw new Error(ne)},setInput:function(ae,ne){return this.yy=ne||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},input:function(){var ae=this._input[0];this.yytext+=ae,this.yyleng++,this.offset++,this.match+=ae,this.matched+=ae;var ne=ae.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),ae},unput:function(ae){var ne=ae.length,se=ae.split(/(?:\r\n?|\n)/g);this._input=ae+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ne),this.offset-=ne;var de=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 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:se?(se.length===de.length?this.yylloc.first_column:0)+de[de.length-se.length].length-se[0].length:this.yylloc.first_column-ne},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-ne]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ae){this.unput(this.match.slice(ae))},pastInput:function(){var ae=this.matched.substr(0,this.matched.length-this.match.length);return(ae.length>20?"...":"")+ae.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var ae=this.pastInput(),ne=new Array(ae.length+1).join("-");return ae+this.upcomingInput()+` +`+ne+"^"},test_match:function(ae,ne){var se,de,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))),de=ae[0].match(/(?:\r\n?|\n).*/g),de&&(this.yylineno+=de.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:de?de[de.length-1].length-de[de.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],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 ge in X)this[ge]=X[ge];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ae,ne,se,de;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),ge=0;gene[0].length)){if(ne=se,de=ge,this.options.backtrack_lexer){if(ae=this.test_match(se,X[ge]),ae!==!1)return ae;if(this._backtrack){ne=!1;continue}else return!1}else if(!this.options.flex)break}return ne?(ae=this.test_match(ne,X[de]),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})},lex:function(){var ne=this.next();return ne||this.lex()},begin:function(ne){this.conditionStack.push(ne)},popState:function(){var ne=this.conditionStack.length-1;return ne>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ne){return ne=this.conditionStack.length-1-Math.abs(ne||0),ne>=0?this.conditionStack[ne]:"INITIAL"},pushState:function(ne){this.begin(ne)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ne,se,de,X){switch(de){case 0:return ne.getLogger().trace("Found comment",se.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:ne.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return ne.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:ne.getLogger().trace("end icon"),this.popState();break;case 10:return ne.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return ne.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return ne.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return ne.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:ne.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return ne.getLogger().trace("description:",se.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),ne.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),ne.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),ne.getLogger().trace("node end ...",se.yytext),"NODE_DEND";case 30:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 35:return ne.getLogger().trace("Long description:",se.yytext),20;case 36:return ne.getLogger().trace("Long description:",se.yytext),20}},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 be}();ie.lexer=oe;function pe(){this.yy={}}return pe.prototype=ie,ie.Parser=pe,new pe}();ewe.parser=ewe;const son=ewe;let K3=[],lWe=0,twe={};const aon=()=>{K3=[],lWe=0,twe={}},oon=function(i){for(let s=K3.length-1;s>=0;s--)if(K3[s].levelK3.length>0?K3[0]:null,uon=(i,s,u,d)=>{var T,_;Xe.info("addNode",i,s,u,d);const p=qt();let v=((T=p.mindmap)==null?void 0:T.padding)??sh.mindmap.padding;switch(d){case v1.ROUNDED_RECT:case v1.RECT:case v1.HEXAGON:v*=2}const b={id:lWe++,nodeId:Yf(s,p),level:i,descr:Yf(u,p),type:d,children:[],width:((_=p.mindmap)==null?void 0:_.maxNodeWidth)??sh.mindmap.maxNodeWidth,padding:v},y=oon(i);if(y)y.children.push(b),K3.push(b);else if(K3.length===0)K3.push(b);else throw new Error('There can be only one root. No parent could be found for ("'+b.descr+'")')},v1={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},lon={clear:aon,addNode:uon,getMindmap:con,nodeType:v1,getType:(i,s)=>{switch(Xe.debug("In get type",i,s),i){case"[":return v1.RECT;case"(":return s===")"?v1.ROUNDED_RECT:v1.CLOUD;case"((":return v1.CIRCLE;case")":return v1.CLOUD;case"))":return v1.BANG;case"{{":return v1.HEXAGON;default:return v1.DEFAULT}},setElementForId:(i,s)=>{twe[i]=s},decorateNode:i=>{if(!i)return;const s=qt(),u=K3[K3.length-1];i.icon&&(u.icon=Yf(i.icon,s)),i.class&&(u.class=Yf(i.class,s))},type2Str:i=>{switch(i){case v1.DEFAULT:return"no-border";case v1.RECT:return"rect";case v1.ROUNDED_RECT:return"rounded-rect";case v1.CIRCLE:return"circle";case v1.CLOUD:return"cloud";case v1.BANG:return"bang";case v1.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>Xe,getElementById:i=>twe[i]};var hWe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(Ag,function(){function u(x){"@babel/helpers - typeof";return u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},u(x)}function d(x,m){if(!(x instanceof m))throw new TypeError("Cannot call a class as a function")}function p(x,m){for(var k=0;kx.length)&&(m=x.length);for(var k=0,S=new Array(m);k"u"?null:window,j=F?F.navigator:null;F&&F.document;var K=u(""),ee=u({}),ie=u(function(){}),oe=typeof HTMLElement>"u"?"undefined":u(HTMLElement),pe=function(m){return m&&m.instanceString&&ae(m.instanceString)?m.instanceString():null},be=function(m){return m!=null&&u(m)==K},ae=function(m){return m!=null&&u(m)===ie},ne=function(m){return!xe(m)&&(Array.isArray?Array.isArray(m):m!=null&&m instanceof Array)},se=function(m){return m!=null&&u(m)===ee&&!ne(m)&&m.constructor===Object},de=function(m){return m!=null&&u(m)===ee},X=function(m){return m!=null&&u(m)===u(1)&&!isNaN(m)},ge=function(m){return X(m)&&Math.floor(m)===m},W=function(m){if(oe!=="undefined")return m!=null&&m instanceof HTMLElement},xe=function(m){return U(m)||Fe(m)},U=function(m){return pe(m)==="collection"&&m._private.single},Fe=function(m){return pe(m)==="collection"&&!m._private.single},Pe=function(m){return pe(m)==="core"},je=function(m){return pe(m)==="stylesheet"},Ie=function(m){return pe(m)==="event"},Se=function(m){return m==null?!0:!!(m===""||m.match(/^\s+$/))},Ce=function(m){return typeof HTMLElement>"u"?!1:m instanceof HTMLElement},ke=function(m){return se(m)&&X(m.x1)&&X(m.x2)&&X(m.y1)&&X(m.y2)},Ke=function(m){return de(m)&&ae(m.then)},Ft=function(){return j&&j.userAgent.match(/msie|trident|edge/i)},Ne=function(m,k){k||(k=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],N=0;Nk?1:0},zr=function(m,k){return-1*ht(m,k)},yt=Object.assign!=null?Object.assign.bind(Object):function(x){for(var m=arguments,k=1;k1&&(_e-=1),_e<1/6?me+(Le-me)*6*_e:_e<1/2?Le:_e<2/3?me+(Le-me)*(2/3-_e)*6:me}var Z=new RegExp("^"+Qe+"$").exec(m);if(Z){if(S=parseInt(Z[1]),S<0?S=(360- -1*S%360)%360:S>360&&(S=S%360),S/=360,M=parseFloat(Z[2]),M<0||M>100||(M=M/100,O=parseFloat(Z[3]),O<0||O>100)||(O=O/100,N=Z[4],N!==void 0&&(N=parseFloat(N),N<0||N>1)))return;if(M===0)$=H=q=Math.round(O*255);else{var ce=O<.5?O*(1+M):O+M-O*M,ve=2*O-ce;$=Math.round(255*Y(ve,ce,S+1/3)),H=Math.round(255*Y(ve,ce,S)),q=Math.round(255*Y(ve,ce,S-1/3))}k=[$,H,q,N]}return k},Ma=function(m){var k,S=new RegExp("^"+xt+"$").exec(m);if(S){k=[];for(var M=[],O=1;O<=3;O++){var N=S[O];if(N[N.length-1]==="%"&&(M[O]=!0),N=parseFloat(N),M[O]&&(N=N/100*255),N<0||N>255)return;k.push(Math.floor(N))}var $=M[1]||M[2]||M[3],H=M[1]&&M[2]&&M[3];if($&&!H)return;var q=S[4];if(q!==void 0){if(q=parseFloat(q),q<0||q>1)return;k.push(q)}}return k},zs=function(m){return Tr[m.toLowerCase()]},ao=function(m){return(ne(m)?m:null)||zs(m)||ji(m)||Ma(m)||xi(m)},Tr={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]},Fn=function(m){for(var k=m.map,S=m.keys,M=S.length,O=0;O=m||Ye<0||Z&&mt>=O}function Ee(){var st=wo();if(_e(st))return Be(st);$=setTimeout(Ee,Le(st))}function Be(st){return $=void 0,ce&&S?ve(st):(S=M=void 0,N)}function Re(){$!==void 0&&clearTimeout($),q=0,S=H=M=$=void 0}function Ve(){return $===void 0?N:Be(wo())}function ct(){var st=wo(),Ye=_e(st);if(S=arguments,M=this,H=st,Ye){if($===void 0)return me(H);if(Z)return clearTimeout($),$=setTimeout(Ee,m),ve(H)}return $===void 0&&($=setTimeout(Ee,m)),N}return ct.cancel=Re,ct.flush=Ve,ct}var Nu=Bi,Ot=F?F.performance:null,W3=Ot&&Ot.now?function(){return Ot.now()}:function(){return Date.now()},Kt=function(){if(F){if(F.requestAnimationFrame)return function(x){F.requestAnimationFrame(x)};if(F.mozRequestAnimationFrame)return function(x){F.mozRequestAnimationFrame(x)};if(F.webkitRequestAnimationFrame)return function(x){F.webkitRequestAnimationFrame(x)};if(F.msRequestAnimationFrame)return function(x){F.msRequestAnimationFrame(x)}}return function(x){x&&setTimeout(function(){x(W3())},1e3/60)}}(),z0=function(m){return Kt(m)},Bp=W3,Y3=9261,$9=65599,c5=5381,Eh=function(m){for(var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Y3,S=k,M;M=m.next(),!M.done;)S=S*$9+M.value|0;return S},zg=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Y3;return k*$9+m|0},bm=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c5;return(k<<5)+k+m|0},z9=function(m,k){return m*2097152+k},mm=function(m){return m[0]*2097152+m[1]},u5=function(m,k){return[zg(m[0],k[0]),bm(m[1],k[1])]},y1=function(m,k){var S={value:0,done:!1},M=0,O=m.length,N={next:function(){return M=0&&!(m[M]===k&&(m.splice(M,1),S));M--);},cS=function(m){m.splice(0,m.length)},uj=function(m,k){for(var S=0;S"u"?"undefined":u(Set))!==VJ?Set:UJ,uS=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(m===void 0||k===void 0||!Pe(m)){ch("An element must have a core reference and parameters set");return}var M=k.group;if(M==null&&(k.data&&k.data.source!=null&&k.data.target!=null?M="edges":M="nodes"),M!=="nodes"&&M!=="edges"){ch("An element must be of type `nodes` or `edges`; you specified `"+M+"`");return}this.length=1,this[0]=this;var O=this._private={cy:m,single:!0,data:k.data||{},position:k.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:M,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!k.selected,selectable:k.selectable===void 0?!0:!!k.selectable,locked:!!k.locked,grabbed:!1,grabbable:k.grabbable===void 0?!0:!!k.grabbable,pannable:k.pannable===void 0?M==="edges":!!k.pannable,active:!1,classes:new Q7,animation:{current:[],queue:[]},rscratch:{},scratch:k.scratch||{},edges:[],children:[],parent:k.parent&&k.parent.isNode()?k.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(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),k.renderedPosition){var N=k.renderedPosition,$=m.pan(),H=m.zoom();O.position={x:(N.x-$.x)/H,y:(N.y-$.y)/H}}var q=[];ne(k.classes)?q=k.classes:be(k.classes)&&(q=k.classes.split(/\s+/));for(var Y=0,Z=q.length;YBe?1:0},Y=function(Ee,Be,Re,Ve,ct){var st;if(Re==null&&(Re=0),ct==null&&(ct=S),Re<0)throw new Error("lo must be non-negative");for(Ve==null&&(Ve=Ee.length);ReLt;0<=Lt?Je++:Je--)mt.push(Je);return mt}).apply(this).reverse(),Ye=[],Ve=0,ct=st.length;VeMt;0<=Mt?++mt:--mt)ut.push(N(Ee,Re));return ut},Le=function(Ee,Be,Re,Ve){var ct,st,Ye;for(Ve==null&&(Ve=S),ct=Ee[Re];Re>Be;){if(Ye=Re-1>>1,st=Ee[Ye],Ve(ct,st)<0){Ee[Re]=st,Re=Ye;continue}break}return Ee[Re]=ct},_e=function(Ee,Be,Re){var Ve,ct,st,Ye,mt;for(Re==null&&(Re=S),ct=Ee.length,mt=Be,st=Ee[Be],Ve=2*Be+1;Ve0;){var st=Be.pop(),Ye=_e(st),mt=st.id();if(ce[mt]=Ye,Ye!==1/0)for(var Je=st.neighborhood().intersect(me),Lt=0;Lt0)for(Dn.unshift(Yt);Z[vr];){var Nn=Z[vr];Dn.unshift(Nn.edge),Dn.unshift(Nn.node),ir=Nn.node,vr=ir.id()}return $.spawn(Dn)}}}},YJ={kruskal:function(m){m=m||function(Re){return 1};for(var k=this.byGroup(),S=k.nodes,M=k.edges,O=S.length,N=new Array(O),$=S,H=function(Ve){for(var ct=0;ct0;){if(ct(),Ye++,Ve===Y){for(var mt=[],Je=O,Lt=Y,Mt=Ee[Lt];mt.unshift(Je),Mt!=null&&mt.unshift(Mt),Je=_e[Lt],Je!=null;)Lt=Je.id(),Mt=Ee[Lt];return{found:!0,distance:Z[Ve],path:this.spawn(mt),steps:Ye}}ve[Ve]=!0;for(var ut=Re._private.edges,Wt=0;WtMt&&(me[Lt]=Mt,Be[Lt]=Je,Re[Lt]=ct),!O){var ut=Je*Y+mt;!O&&me[ut]>Mt&&(me[ut]=Mt,Be[ut]=mt,Re[ut]=ct)}}}for(var Wt=0;Wt1&&arguments[1]!==void 0?arguments[1]:N,yo=Re(xs),$a=[],Da=yo;;){if(Da==null)return k.spawn();var Bo=Be(Da),tr=Bo.edge,G=Bo.pred;if($a.unshift(Da[0]),Da.same(Rs)&&$a.length>0)break;tr!=null&&$a.unshift(tr),Da=G}return H.spawn($a)},st=0;st=0;Y--){var Z=q[Y],ce=Z[1],ve=Z[2];(k[ce]===$&&k[ve]===H||k[ce]===H&&k[ve]===$)&&q.splice(Y,1)}for(var me=0;meM;){var O=Math.floor(Math.random()*k.length);k=rZ(O,m,k),S--}return k},iZ={kargerStein:function(){var m=this,k=this.byGroup(),S=k.nodes,M=k.edges;M.unmergeBy(function(Dn){return Dn.isLoop()});var O=S.length,N=M.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),H=Math.floor(O/nZ);if(O<2){ch("At least 2 nodes are required for Karger-Stein algorithm");return}for(var q=[],Y=0;Y1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=1/0,O=k;O1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=-1/0,O=k;O1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=0,O=0,N=k;N1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;M?m=m.slice(k,S):(S0&&m.splice(0,k));for(var $=0,H=m.length-1;H>=0;H--){var q=m[H];N?isFinite(q)||(m[H]=-1/0,$++):m.splice(H,1)}O&&m.sort(function(ce,ve){return ce-ve});var Y=m.length,Z=Math.floor(Y/2);return Y%2!==0?m[Z+1+$]:(m[Z-1+$]+m[Z+$])/2},lZ=function(m){return Math.PI*m/180},hS=function(m,k){return Math.atan2(k,m)-Math.PI/2},iI=Math.log2||function(x){return Math.log(x)/Math.log(2)},fj=function(m){return m>0?1:m<0?-1:0},h5=function(m,k){return Math.sqrt(f5(m,k))},f5=function(m,k){var S=k.x-m.x,M=k.y-m.y;return S*S+M*M},hZ=function(m){for(var k=m.length,S=0,M=0;M=m.x1&&m.y2>=m.y1)return{x1:m.x1,y1:m.y1,x2:m.x2,y2:m.y2,w:m.x2-m.x1,h:m.y2-m.y1};if(m.w!=null&&m.h!=null&&m.w>=0&&m.h>=0)return{x1:m.x1,y1:m.y1,x2:m.x1+m.w,y2:m.y1+m.h,w:m.w,h:m.h}}},dZ=function(m){return{x1:m.x1,x2:m.x2,w:m.w,y1:m.y1,y2:m.y2,h:m.h}},gZ=function(m){m.x1=1/0,m.y1=1/0,m.x2=-1/0,m.y2=-1/0,m.w=0,m.h=0},pZ=function(m,k,S){return{x1:m.x1+k,x2:m.x2+k,y1:m.y1+S,y2:m.y2+S,w:m.w,h:m.h}},dj=function(m,k){m.x1=Math.min(m.x1,k.x1),m.x2=Math.max(m.x2,k.x2),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,k.y1),m.y2=Math.max(m.y2,k.y2),m.h=m.y2-m.y1},bZ=function(m,k,S){m.x1=Math.min(m.x1,k),m.x2=Math.max(m.x2,k),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,S),m.y2=Math.max(m.y2,S),m.h=m.y2-m.y1},fS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m.x1-=k,m.x2+=k,m.y1-=k,m.y2+=k,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},dS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],S,M,O,N;if(k.length===1)S=M=O=N=k[0];else if(k.length===2)S=O=k[0],N=M=k[1];else if(k.length===4){var $=y(k,4);S=$[0],M=$[1],O=$[2],N=$[3]}return m.x1-=N,m.x2+=M,m.y1-=S,m.y2+=O,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},gj=function(m,k){m.x1=k.x1,m.y1=k.y1,m.x2=k.x2,m.y2=k.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1},sI=function(m,k){return!(m.x1>k.x2||k.x1>m.x2||m.x2k.y2||k.y1>m.y2)},e8=function(m,k,S){return m.x1<=k&&k<=m.x2&&m.y1<=S&&S<=m.y2},mZ=function(m,k){return e8(m,k.x,k.y)},pj=function(m,k){return e8(m,k.x1,k.y1)&&e8(m,k.x2,k.y2)},bj=function(m,k,S,M,O,N,$){var H=W9(O,N),q=O/2,Y=N/2,Z;{var ce=S-q+H-$,ve=M-Y-$,me=S+q-H+$,Le=ve;if(Z=Z3(m,k,S,M,ce,ve,me,Le,!1),Z.length>0)return Z}{var _e=S+q+$,Ee=M-Y+H-$,Be=_e,Re=M+Y-H+$;if(Z=Z3(m,k,S,M,_e,Ee,Be,Re,!1),Z.length>0)return Z}{var Ve=S-q+H-$,ct=M+Y+$,st=S+q-H+$,Ye=ct;if(Z=Z3(m,k,S,M,Ve,ct,st,Ye,!1),Z.length>0)return Z}{var mt=S-q-$,Je=M-Y+H-$,Lt=mt,Mt=M+Y-H+$;if(Z=Z3(m,k,S,M,mt,Je,Lt,Mt,!1),Z.length>0)return Z}var ut;{var Wt=S-q+H,Tt=M-Y+H;if(ut=G9(m,k,S,M,Wt,Tt,H+$),ut.length>0&&ut[0]<=Wt&&ut[1]<=Tt)return[ut[0],ut[1]]}{var _n=S+q-H,hn=M-Y+H;if(ut=G9(m,k,S,M,_n,hn,H+$),ut.length>0&&ut[0]>=_n&&ut[1]<=hn)return[ut[0],ut[1]]}{var Yt=S+q-H,Dn=M+Y-H;if(ut=G9(m,k,S,M,Yt,Dn,H+$),ut.length>0&&ut[0]>=Yt&&ut[1]>=Dn)return[ut[0],ut[1]]}{var ir=S-q+H,vr=M+Y-H;if(ut=G9(m,k,S,M,ir,vr,H+$),ut.length>0&&ut[0]<=ir&&ut[1]>=vr)return[ut[0],ut[1]]}return[]},vZ=function(m,k,S,M,O,N,$){var H=$,q=Math.min(S,O),Y=Math.max(S,O),Z=Math.min(M,N),ce=Math.max(M,N);return q-H<=m&&m<=Y+H&&Z-H<=k&&k<=ce+H},wZ=function(m,k,S,M,O,N,$,H,q){var Y={x1:Math.min(S,$,O)-q,x2:Math.max(S,$,O)+q,y1:Math.min(M,H,N)-q,y2:Math.max(M,H,N)+q};return!(mY.x2||kY.y2)},yZ=function(m,k,S,M){S-=M;var O=k*k-4*m*S;if(O<0)return[];var N=Math.sqrt(O),$=2*m,H=(-k+N)/$,q=(-k-N)/$;return[H,q]},xZ=function(m,k,S,M,O){var N=1e-5;m===0&&(m=N),k/=m,S/=m,M/=m;var $,H,q,Y,Z,ce,ve,me;if(H=(3*S-k*k)/9,q=-(27*M)+k*(9*S-2*(k*k)),q/=54,$=H*H*H+q*q,O[1]=0,ve=k/3,$>0){Z=q+Math.sqrt($),Z=Z<0?-Math.pow(-Z,1/3):Math.pow(Z,1/3),ce=q-Math.sqrt($),ce=ce<0?-Math.pow(-ce,1/3):Math.pow(ce,1/3),O[0]=-ve+Z+ce,ve+=(Z+ce)/2,O[4]=O[2]=-ve,ve=Math.sqrt(3)*(-ce+Z)/2,O[3]=ve,O[5]=-ve;return}if(O[5]=O[3]=0,$===0){me=q<0?-Math.pow(-q,1/3):Math.pow(q,1/3),O[0]=-ve+2*me,O[4]=O[2]=-(me+ve);return}H=-H,Y=H*H*H,Y=Math.acos(q/Math.sqrt(Y)),me=2*Math.sqrt(H),O[0]=-ve+me*Math.cos(Y/3),O[2]=-ve+me*Math.cos((Y+2*Math.PI)/3),O[4]=-ve+me*Math.cos((Y+4*Math.PI)/3)},kZ=function(m,k,S,M,O,N,$,H){var q=1*S*S-4*S*O+2*S*$+4*O*O-4*O*$+$*$+M*M-4*M*N+2*M*H+4*N*N-4*N*H+H*H,Y=1*9*S*O-3*S*S-3*S*$-6*O*O+3*O*$+9*M*N-3*M*M-3*M*H-6*N*N+3*N*H,Z=1*3*S*S-6*S*O+S*$-S*m+2*O*O+2*O*m-$*m+3*M*M-6*M*N+M*H-M*k+2*N*N+2*N*k-H*k,ce=1*S*O-S*S+S*m-O*m+M*N-M*M+M*k-N*k,ve=[];xZ(q,Y,Z,ce,ve);for(var me=1e-7,Le=[],_e=0;_e<6;_e+=2)Math.abs(ve[_e+1])=0&&ve[_e]<=1&&Le.push(ve[_e]);Le.push(1),Le.push(0);for(var Ee=-1,Be,Re,Ve,ct=0;ct=0?Veq?(m-O)*(m-O)+(k-N)*(k-N):Y-ce},Yd=function(m,k,S){for(var M,O,N,$,H,q=0,Y=0;Y=m&&m>=N||M<=m&&m<=N)H=(m-M)/(N-M)*($-O)+O,H>k&&q++;else continue;return q%2!==0},Uv=function(m,k,S,M,O,N,$,H,q){var Y=new Array(S.length),Z;H[0]!=null?(Z=Math.atan(H[1]/H[0]),H[0]<0?Z=Z+Math.PI/2:Z=-Z-Math.PI/2):Z=H;for(var ce=Math.cos(-Z),ve=Math.sin(-Z),me=0;me0){var _e=pS(Y,-q);Le=gS(_e)}else Le=Y;return Yd(m,k,Le)},TZ=function(m,k,S,M,O,N,$){for(var H=new Array(S.length),q=N/2,Y=$/2,Z=cI(N,$),ce=Z*Z,ve=0;ve=0&&_e<=1&&Be.push(_e),Ee>=0&&Ee<=1&&Be.push(Ee),Be.length===0)return[];var Re=Be[0]*H[0]+m,Ve=Be[0]*H[1]+k;if(Be.length>1){if(Be[0]==Be[1])return[Re,Ve];var ct=Be[1]*H[0]+m,st=Be[1]*H[1]+k;return[Re,Ve,ct,st]}else return[Re,Ve]},aI=function(m,k,S){return k<=m&&m<=S||S<=m&&m<=k?m:m<=k&&k<=S||S<=k&&k<=m?k:S},Z3=function(m,k,S,M,O,N,$,H,q){var Y=m-O,Z=S-m,ce=$-O,ve=k-N,me=M-k,Le=H-N,_e=ce*ve-Le*Y,Ee=Z*ve-me*Y,Be=Le*Z-ce*me;if(Be!==0){var Re=_e/Be,Ve=Ee/Be,ct=.001,st=0-ct,Ye=1+ct;return st<=Re&&Re<=Ye&&st<=Ve&&Ve<=Ye?[m+Re*Z,k+Re*me]:q?[m+Re*Z,k+Re*me]:[]}else return _e===0||Ee===0?aI(m,S,$)===$?[$,H]:aI(m,S,O)===O?[O,N]:aI(O,$,S)===S?[S,M]:[]:[]},K9=function(m,k,S,M,O,N,$,H){var q=[],Y,Z=new Array(S.length),ce=!0;N==null&&(ce=!1);var ve;if(ce){for(var me=0;me0){var Le=pS(Z,-H);ve=gS(Le)}else ve=Z}else ve=S;for(var _e,Ee,Be,Re,Ve=0;Ve2){for(var hn=[q[0],q[1]],Yt=Math.pow(hn[0]-m,2)+Math.pow(hn[1]-k,2),Dn=1;DnY&&(Y=Ve)},get:function(Re){return q[Re]}},ce=0;ce<$.length;ce++){var ve=$[ce],me=ve.id();S?H[me]=ve.outgoers().nodes():H[me]=ve.openNeighborhood().nodes(),Z.set(me,0)}for(var Le=function(Re){for(var Ve=$[Re].id(),ct=[],st={},Ye={},mt={},Je=new V9(function(Cr,Or){return mt[Cr]-mt[Or]}),Lt=0;Lt<$.length;Lt++){var Mt=$[Lt].id();st[Mt]=[],Ye[Mt]=0,mt[Mt]=1/0}for(Ye[Ve]=1,mt[Ve]=0,Je.push(Ve);!Je.empty();){var ut=Je.pop();if(ct.push(ut),O)for(var Wt=0;Wt0?hn=_n.edgesTo(Tt)[0]:hn=Tt.edgesTo(_n)[0];var Yt=M(hn);Tt=Tt.id(),mt[Tt]>mt[ut]+Yt&&(mt[Tt]=mt[ut]+Yt,Je.nodes.indexOf(Tt)<0?Je.push(Tt):Je.updateItem(Tt),Ye[Tt]=0,st[Tt]=[]),mt[Tt]==mt[ut]+Yt&&(Ye[Tt]=Ye[Tt]+Ye[ut],st[Tt].push(ut))}else for(var Dn=0;Dn0;){for(var pr=ct.pop(),Er=0;Er0&&$.push(S[H]);$.length!==0&&O.push(M.collection($))}return O},jZ=function(m,k){for(var S=0;S5&&arguments[5]!==void 0?arguments[5]:qZ,$=M,H,q,Y=0;Y=2?Y9(m,k,S,0,Sj,HZ):Y9(m,k,S,0,Cj)},squaredEuclidean:function(m,k,S){return Y9(m,k,S,0,Sj)},manhattan:function(m,k,S){return Y9(m,k,S,0,Cj)},max:function(m,k,S){return Y9(m,k,S,-1/0,VZ)}};r8["squared-euclidean"]=r8.squaredEuclidean,r8.squaredeuclidean=r8.squaredEuclidean;function mS(x,m,k,S,M,O){var N;return ae(x)?N=x:N=r8[x]||r8.euclidean,m===0&&ae(x)?N(M,O):N(m,k,S,M,O)}var UZ=q0({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hI=function(m){return UZ(m)},vS=function(m,k,S,M,O){var N=O!=="kMedoids",$=N?function(Z){return S[Z]}:function(Z){return M[Z](S)},H=function(ce){return M[ce](k)},q=S,Y=k;return mS(m,M.length,$,H,q,Y)},fI=function(m,k,S){for(var M=S.length,O=new Array(M),N=new Array(M),$=new Array(k),H=null,q=0;qS)return!1}return!0},WZ=function(m,k,S){for(var M=0;M$&&($=k[q][Y],H=Y);O[H].push(m[q])}for(var Z=0;Z=O.threshold||O.mode==="dendrogram"&&m.length===1)return!1;var me=k[N],Le=k[M[N]],_e;O.mode==="dendrogram"?_e={left:me,right:Le,key:me.key}:_e={value:me.value.concat(Le.value),key:me.key},m[me.index]=_e,m.splice(Le.index,1),k[me.key]=_e;for(var Ee=0;EeS[Le.key][Be.key]&&(H=S[Le.key][Be.key])):O.linkage==="max"?(H=S[me.key][Be.key],S[me.key][Be.key]0&&M.push(O);return M},Nj=function(m,k,S){for(var M=[],O=0;O$&&(N=q,$=k[O*m+q])}N>0&&M.push(N)}for(var Y=0;Yq&&(H=Y,q=Z)}S[O]=N[H]}return M=Nj(m,k,S),M},Pj=function(m){for(var k=this.cy(),S=this.nodes(),M=cee(m),O={},N=0;N=Mt?(ut=Mt,Mt=Tt,Wt=_n):Tt>ut&&(ut=Tt);for(var hn=0;hn<$;hn++)Z[Lt*$+hn]=(1-M.damping)*(q[Lt*$+hn]-Mt)+M.damping*Re[hn];Z[Lt*$+Wt]=(1-M.damping)*(q[Lt*$+Wt]-ut)+M.damping*Re[Wt]}for(var Yt=0;Yt<$;Yt++){for(var Dn=0,ir=0;ir<$;ir++)Re[ir]=ce[ir*$+Yt],Ve[ir]=Math.max(0,Z[ir*$+Yt]),Dn+=Ve[ir];Dn-=Ve[Yt],Ve[Yt]=Z[Yt*$+Yt],Dn+=Ve[Yt];for(var vr=0;vr<$;vr++)ce[vr*$+Yt]=(1-M.damping)*Math.min(0,Dn-Ve[vr])+M.damping*Re[vr];ce[Yt*$+Yt]=(1-M.damping)*(Dn-Ve[Yt])+M.damping*Re[Yt]}for(var Nn=0,pr=0;pr<$;pr++){var Er=ce[pr*$+pr]+Z[pr*$+pr]>0?1:0;Ye[Je%M.minIterations*$+pr]=Er,Nn+=Er}if(Nn>0&&(Je>=M.minIterations-1||Je==M.maxIterations-1)){for(var Mr=0,Cr=0;Cr<$;Cr++){ct[Cr]=0;for(var Or=0;Or1||st>1)&&($=!0),Z[Re]=[],Be.outgoers().forEach(function(mt){mt.isEdge()&&Z[Re].push(mt.id())})}else ce[Re]=[void 0,Be.target().id()]}):N.forEach(function(Be){var Re=Be.id();if(Be.isNode()){var Ve=Be.degree(!0);Ve%2&&(H?q?$=!0:q=Re:H=Re),Z[Re]=[],Be.connectedEdges().forEach(function(ct){return Z[Re].push(ct.id())})}else ce[Re]=[Be.source().id(),Be.target().id()]});var ve={found:!1,trail:void 0};if($)return ve;if(q&&H)if(O){if(Y&&q!=Y)return ve;Y=q}else{if(Y&&q!=Y&&H!=Y)return ve;Y||(Y=q)}else Y||(Y=N[0].id());var me=function(Re){for(var Ve=Re,ct=[Re],st,Ye,mt;Z[Ve].length;)st=Z[Ve].shift(),Ye=ce[st][0],mt=ce[st][1],Ve!=mt?(Z[mt]=Z[mt].filter(function(Je){return Je!=st}),Ve=mt):!O&&Ve!=Ye&&(Z[Ye]=Z[Ye].filter(function(Je){return Je!=st}),Ve=Ye),ct.unshift(st),ct.unshift(Ve);return ct},Le=[],_e=[];for(_e=me(Y);_e.length!=1;)Z[_e[0]].length==0?(Le.unshift(N.getElementById(_e.shift())),Le.unshift(N.getElementById(_e.shift()))):_e=me(_e.shift()).concat(_e);Le.unshift(N.getElementById(_e.shift()));for(var Ee in Z)if(Z[Ee].length)return ve;return ve.found=!0,ve.trail=this.spawn(Le,!0),ve}},yS=function(){var m=this,k={},S=0,M=0,O=[],N=[],$={},H=function(ce,ve){for(var me=N.length-1,Le=[],_e=m.spawn();N[me].x!=ce||N[me].y!=ve;)Le.push(N.pop().edge),me--;Le.push(N.pop().edge),Le.forEach(function(Ee){var Be=Ee.connectedNodes().intersection(m);_e.merge(Ee),Be.forEach(function(Re){var Ve=Re.id(),ct=Re.connectedEdges().intersection(m);_e.merge(Re),k[Ve].cutVertex?_e.merge(ct.filter(function(st){return st.isLoop()})):_e.merge(ct)})}),O.push(_e)},q=function Z(ce,ve,me){ce===me&&(M+=1),k[ve]={id:S,low:S++,cutVertex:!1};var Le=m.getElementById(ve).connectedEdges().intersection(m);if(Le.size()===0)O.push(m.spawn(m.getElementById(ve)));else{var _e,Ee,Be,Re;Le.forEach(function(Ve){_e=Ve.source().id(),Ee=Ve.target().id(),Be=_e===ve?Ee:_e,Be!==me&&(Re=Ve.id(),$[Re]||($[Re]=!0,N.push({x:ve,y:Be,edge:Ve})),Be in k?k[ve].low=Math.min(k[ve].low,k[Be].id):(Z(ce,Be,ve),k[ve].low=Math.min(k[ve].low,k[Be].low),k[ve].id<=k[Be].low&&(k[ve].cutVertex=!0,H(ve,Be))))})}};m.forEach(function(Z){if(Z.isNode()){var ce=Z.id();ce in k||(M=0,q(ce,ce),k[ce].cutVertex=M>1)}});var Y=Object.keys(k).filter(function(Z){return k[Z].cutVertex}).map(function(Z){return m.getElementById(Z)});return{cut:m.spawn(Y),components:O}},bee={hopcroftTarjanBiconnected:yS,htbc:yS,htb:yS,hopcroftTarjanBiconnectedComponents:yS},xS=function(){var m=this,k={},S=0,M=[],O=[],N=m.spawn(m),$=function H(q){O.push(q),k[q]={index:S,low:S++,explored:!1};var Y=m.getElementById(q).connectedEdges().intersection(m);if(Y.forEach(function(Le){var _e=Le.target().id();_e!==q&&(_e in k||H(_e),k[_e].explored||(k[q].low=Math.min(k[q].low,k[_e].low)))}),k[q].index===k[q].low){for(var Z=m.spawn();;){var ce=O.pop();if(Z.merge(m.getElementById(ce)),k[ce].low=k[q].index,k[ce].explored=!0,ce===q)break}var ve=Z.edgesWith(Z),me=Z.merge(ve);M.push(me),N=N.difference(me)}};return m.forEach(function(H){if(H.isNode()){var q=H.id();q in k||$(q)}}),{cut:N,components:M}},mee={tarjanStronglyConnected:xS,tsc:xS,tscc:xS,tarjanStronglyConnectedComponents:xS},Bj={};[H9,WJ,YJ,QJ,ZJ,tZ,iZ,LZ,t8,n8,lI,zZ,eee,aee,dee,pee,bee,mee].forEach(function(x){yt(Bj,x)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var Fj=0,Rj=1,jj=2,Gv=function x(m){if(!(this instanceof x))return new x(m);this.id="Thenable/1.0.7",this.state=Fj,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof m=="function"&&m.call(this,this.fulfill.bind(this),this.reject.bind(this))};Gv.prototype={fulfill:function(m){return $j(this,Rj,"fulfillValue",m)},reject:function(m){return $j(this,jj,"rejectReason",m)},then:function(m,k){var S=this,M=new Gv;return S.onFulfilled.push(Hj(m,M,"fulfill")),S.onRejected.push(Hj(k,M,"reject")),zj(S),M.proxy}};var $j=function(m,k,S,M){return m.state===Fj&&(m.state=k,m[S]=M,zj(m)),m},zj=function(m){m.state===Rj?qj(m,"onFulfilled",m.fulfillValue):m.state===jj&&qj(m,"onRejected",m.rejectReason)},qj=function(m,k,S){if(m[k].length!==0){var M=m[k];m[k]=[];var O=function(){for(var $=0;$0}},clearQueue:function(){return function(){var k=this,S=k.length!==void 0,M=S?k:[k],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var N=0;N-1}var vte=mte;function wte(x,m){var k=this.__data__,S=TS(k,x);return S<0?(++this.size,k.push([x,m])):k[S][1]=m,this}var yte=wte;function a8(x){var m=-1,k=x==null?0:x.length;for(this.clear();++m-1&&x%1==0&&x0&&this.spawn(M).updateStyle().emit("class"),k},addClass:function(m){return this.toggleClass(m,!0)},hasClass:function(m){var k=this[0];return k!=null&&k._private.classes.has(m)},toggleClass:function(m,k){ne(m)||(m=m.match(/\S+/g)||[]);for(var S=this,M=k===void 0,O=[],N=0,$=S.length;N<$;N++)for(var H=S[N],q=H._private.classes,Y=!1,Z=0;Z0&&this.spawn(O).updateStyle().emit("class"),S},removeClass:function(m){return this.toggleClass(m,!1)},flashClass:function(m,k){var S=this;if(k==null)k=250;else if(k===0)return S;return S.addClass(m),setTimeout(function(){S.removeClass(m)},k),S}};SS.className=SS.classNames=SS.classes;var Rc={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:ln,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Rc.variable="(?:[\\w-.]|(?:\\\\"+Rc.metaChar+"))+",Rc.className="(?:[\\w-]|(?:\\\\"+Rc.metaChar+"))+",Rc.value=Rc.string+"|"+Rc.number,Rc.id=Rc.variable,function(){var x,m,k;for(x=Rc.comparatorOp.split("|"),k=0;k=0)&&m!=="="&&(Rc.comparatorOp+="|\\!"+m)}();var Pu=function(){return{checks:[]}},hs={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},mI=[{selector:":selected",matches:function(m){return m.selected()}},{selector:":unselected",matches:function(m){return!m.selected()}},{selector:":selectable",matches:function(m){return m.selectable()}},{selector:":unselectable",matches:function(m){return!m.selectable()}},{selector:":locked",matches:function(m){return m.locked()}},{selector:":unlocked",matches:function(m){return!m.locked()}},{selector:":visible",matches:function(m){return m.visible()}},{selector:":hidden",matches:function(m){return!m.visible()}},{selector:":transparent",matches:function(m){return m.transparent()}},{selector:":grabbed",matches:function(m){return m.grabbed()}},{selector:":free",matches:function(m){return!m.grabbed()}},{selector:":removed",matches:function(m){return m.removed()}},{selector:":inside",matches:function(m){return!m.removed()}},{selector:":grabbable",matches:function(m){return m.grabbable()}},{selector:":ungrabbable",matches:function(m){return!m.grabbable()}},{selector:":animated",matches:function(m){return m.animated()}},{selector:":unanimated",matches:function(m){return!m.animated()}},{selector:":parent",matches:function(m){return m.isParent()}},{selector:":childless",matches:function(m){return m.isChildless()}},{selector:":child",matches:function(m){return m.isChild()}},{selector:":orphan",matches:function(m){return m.isOrphan()}},{selector:":nonorphan",matches:function(m){return m.isChild()}},{selector:":compound",matches:function(m){return m.isNode()?m.isParent():m.source().isParent()||m.target().isParent()}},{selector:":loop",matches:function(m){return m.isLoop()}},{selector:":simple",matches:function(m){return m.isSimple()}},{selector:":active",matches:function(m){return m.active()}},{selector:":inactive",matches:function(m){return!m.active()}},{selector:":backgrounding",matches:function(m){return m.backgrounding()}},{selector:":nonbackgrounding",matches:function(m){return!m.backgrounding()}}].sort(function(x,m){return zr(x.selector,m.selector)}),Ene=function(){for(var x={},m,k=0;k0&&Y.edgeCount>0)return hu("The selector `"+m+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(Y.edgeCount>1)return hu("The selector `"+m+"` is invalid because it uses multiple edge selectors"),!1;Y.edgeCount===1&&hu("The selector `"+m+"` 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},Ane=function(){if(this.toStringCache!=null)return this.toStringCache;for(var m=function(Y){return Y??""},k=function(Y){return be(Y)?'"'+Y+'"':m(Y)},S=function(Y){return" "+Y+" "},M=function(Y,Z){var ce=Y.type,ve=Y.value;switch(ce){case hs.GROUP:{var me=m(ve);return me.substring(0,me.length-1)}case hs.DATA_COMPARE:{var Le=Y.field,_e=Y.operator;return"["+Le+S(m(_e))+k(ve)+"]"}case hs.DATA_BOOL:{var Ee=Y.operator,Be=Y.field;return"["+m(Ee)+Be+"]"}case hs.DATA_EXIST:{var Re=Y.field;return"["+Re+"]"}case hs.META_COMPARE:{var Ve=Y.operator,ct=Y.field;return"[["+ct+S(m(Ve))+k(ve)+"]]"}case hs.STATE:return ve;case hs.ID:return"#"+ve;case hs.CLASS:return"."+ve;case hs.PARENT:case hs.CHILD:return O(Y.parent,Z)+S(">")+O(Y.child,Z);case hs.ANCESTOR:case hs.DESCENDANT:return O(Y.ancestor,Z)+" "+O(Y.descendant,Z);case hs.COMPOUND_SPLIT:{var st=O(Y.left,Z),Ye=O(Y.subject,Z),mt=O(Y.right,Z);return st+(st.length>0?" ":"")+Ye+mt}case hs.TRUE:return""}},O=function(Y,Z){return Y.checks.reduce(function(ce,ve,me){return ce+(Z===Y&&me===0?"$":"")+M(ve,Z)},"")},N="",$=0;$1&&$=0&&(k=k.replace("!",""),Z=!0),k.indexOf("@")>=0&&(k=k.replace("@",""),Y=!0),(O||$||Y)&&(H=!O&&!N?"":""+m,q=""+S),Y&&(m=H=H.toLowerCase(),S=q=q.toLowerCase()),k){case"*=":M=H.indexOf(q)>=0;break;case"$=":M=H.indexOf(q,H.length-q.length)>=0;break;case"^=":M=H.indexOf(q)===0;break;case"=":M=m===S;break;case">":ce=!0,M=m>S;break;case">=":ce=!0,M=m>=S;break;case"<":ce=!0,M=m0;){var Y=M.shift();m(Y),O.add(Y.id()),$&&S(M,O,Y)}return x}function l$(x,m,k){if(k.isParent())for(var S=k._private.children,M=0;M1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,l$)};function h$(x,m,k){if(k.isChild()){var S=k._private.parent;m.has(S.id())||x.push(S)}}u8.forEachUp=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,h$)};function Pne(x,m,k){h$(x,m,k),l$(x,m,k)}u8.forEachUpAndDown=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,Pne)},u8.ancestors=u8.parents;var x1,f$;x1=f$={data:fu.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:fu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:fu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:fu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:fu.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:fu.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var m=this[0];if(m)return m._private.data.id}},x1.attr=x1.data,x1.removeAttr=x1.removeData;var ny=f$,J9={};function xI(x){return function(m){var k=this;if(m===void 0&&(m=!0),k.length!==0)if(k.isNode()&&!k.removed()){for(var S=0,M=k[0],O=M._private.edges,N=0;Nm}),minIndegree:l8("indegree",function(x,m){return xm}),minOutdegree:l8("outdegree",function(x,m){return xm})}),yt(J9,{totalDegree:function(m){for(var k=0,S=this.nodes(),M=0;M0,ce=Z;Z&&(Y=Y[0]);var ve=ce?Y.position():{x:0,y:0};k!==void 0?q.position(m,k+ve[m]):O!==void 0&&q.position({x:O.x+ve.x,y:O.y+ve.y})}else{var me=S.position(),Le=$?S.parent():null,_e=Le&&Le.length>0,Ee=_e;_e&&(Le=Le[0]);var Be=Ee?Le.position():{x:0,y:0};return O={x:me.x-Be.x,y:me.y-Be.y},m===void 0?O:O[m]}else if(!N)return;return this}},W2.modelPosition=W2.point=W2.position,W2.modelPositions=W2.points=W2.positions,W2.renderedPoint=W2.renderedPosition,W2.relativePoint=W2.relativePosition;var Bne=d$,h8,ry;h8=ry={},ry.renderedBoundingBox=function(x){var m=this.boundingBox(x),k=this.cy(),S=k.zoom(),M=k.pan(),O=m.x1*S+M.x,N=m.x2*S+M.x,$=m.y1*S+M.y,H=m.y2*S+M.y;return{x1:O,x2:N,y1:$,y2:H,w:N-O,h:H-$}},ry.dirtyCompoundBoundsCache=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();return!m.styleEnabled()||!m.hasCompoundNodes()?this:(this.forEachUp(function(k){if(k.isParent()){var S=k._private;S.compoundBoundsClean=!1,S.bbCache=null,x||k.emitAndNotify("bounds")}}),this)},ry.updateCompoundBounds=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();if(!m.styleEnabled()||!m.hasCompoundNodes())return this;if(!x&&m.batching())return this;function k(N){if(!N.isParent())return;var $=N._private,H=N.children(),q=N.pstyle("compound-sizing-wrt-labels").value==="include",Y={width:{val:N.pstyle("min-width").pfValue,left:N.pstyle("min-width-bias-left"),right:N.pstyle("min-width-bias-right")},height:{val:N.pstyle("min-height").pfValue,top:N.pstyle("min-height-bias-top"),bottom:N.pstyle("min-height-bias-bottom")}},Z=H.boundingBox({includeLabels:q,includeOverlays:!1,useCache:!1}),ce=$.position;(Z.w===0||Z.h===0)&&(Z={w:N.pstyle("width").pfValue,h:N.pstyle("height").pfValue},Z.x1=ce.x-Z.w/2,Z.x2=ce.x+Z.w/2,Z.y1=ce.y-Z.h/2,Z.y2=ce.y+Z.h/2);function ve(Je,Lt,Mt){var ut=0,Wt=0,Tt=Lt+Mt;return Je>0&&Tt>0&&(ut=Lt/Tt*Je,Wt=Mt/Tt*Je),{biasDiff:ut,biasComplementDiff:Wt}}function me(Je,Lt,Mt,ut){if(Mt.units==="%")switch(ut){case"width":return Je>0?Mt.pfValue*Je:0;case"height":return Lt>0?Mt.pfValue*Lt:0;case"average":return Je>0&&Lt>0?Mt.pfValue*(Je+Lt)/2:0;case"min":return Je>0&&Lt>0?Je>Lt?Mt.pfValue*Lt:Mt.pfValue*Je:0;case"max":return Je>0&&Lt>0?Je>Lt?Mt.pfValue*Je:Mt.pfValue*Lt:0;default:return 0}else return Mt.units==="px"?Mt.pfValue:0}var Le=Y.width.left.value;Y.width.left.units==="px"&&Y.width.val>0&&(Le=Le*100/Y.width.val);var _e=Y.width.right.value;Y.width.right.units==="px"&&Y.width.val>0&&(_e=_e*100/Y.width.val);var Ee=Y.height.top.value;Y.height.top.units==="px"&&Y.height.val>0&&(Ee=Ee*100/Y.height.val);var Be=Y.height.bottom.value;Y.height.bottom.units==="px"&&Y.height.val>0&&(Be=Be*100/Y.height.val);var Re=ve(Y.width.val-Z.w,Le,_e),Ve=Re.biasDiff,ct=Re.biasComplementDiff,st=ve(Y.height.val-Z.h,Ee,Be),Ye=st.biasDiff,mt=st.biasComplementDiff;$.autoPadding=me(Z.w,Z.h,N.pstyle("padding"),N.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Z.w,Y.width.val),ce.x=(-Ve+Z.x1+Z.x2+ct)/2,$.autoHeight=Math.max(Z.h,Y.height.val),ce.y=(-Ye+Z.y1+Z.y2+mt)/2}for(var S=0;Sm.x2?M:m.x2,m.y1=Sm.y2?O:m.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1)},b5=function(m,k){return k==null?m:Y2(m,k.x1,k.y1,k.x2,k.y2)},Z9=function(m,k,S){return K2(m,k,S)},_S=function(m,k,S){if(!k.cy().headless()){var M=k._private,O=M.rstyle,N=O.arrowWidth/2,$=k.pstyle(S+"-arrow-shape").value,H,q;if($!=="none"){S==="source"?(H=O.srcX,q=O.srcY):S==="target"?(H=O.tgtX,q=O.tgtY):(H=O.midX,q=O.midY);var Y=M.arrowBounds=M.arrowBounds||{},Z=Y[S]=Y[S]||{};Z.x1=H-N,Z.y1=q-N,Z.x2=H+N,Z.y2=q+N,Z.w=Z.x2-Z.x1,Z.h=Z.y2-Z.y1,fS(Z,1),Y2(m,Z.x1,Z.y1,Z.x2,Z.y2)}}},kI=function(m,k,S){if(!k.cy().headless()){var M;S?M=S+"-":M="";var O=k._private,N=O.rstyle,$=k.pstyle(M+"label").strValue;if($){var H=k.pstyle("text-halign"),q=k.pstyle("text-valign"),Y=Z9(N,"labelWidth",S),Z=Z9(N,"labelHeight",S),ce=Z9(N,"labelX",S),ve=Z9(N,"labelY",S),me=k.pstyle(M+"text-margin-x").pfValue,Le=k.pstyle(M+"text-margin-y").pfValue,_e=k.isEdge(),Ee=k.pstyle(M+"text-rotation"),Be=k.pstyle("text-outline-width").pfValue,Re=k.pstyle("text-border-width").pfValue,Ve=Re/2,ct=k.pstyle("text-background-padding").pfValue,st=2,Ye=Z,mt=Y,Je=mt/2,Lt=Ye/2,Mt,ut,Wt,Tt;if(_e)Mt=ce-Je,ut=ce+Je,Wt=ve-Lt,Tt=ve+Lt;else{switch(H.value){case"left":Mt=ce-mt,ut=ce;break;case"center":Mt=ce-Je,ut=ce+Je;break;case"right":Mt=ce,ut=ce+mt;break}switch(q.value){case"top":Wt=ve-Ye,Tt=ve;break;case"center":Wt=ve-Lt,Tt=ve+Lt;break;case"bottom":Wt=ve,Tt=ve+Ye;break}}Mt+=me-Math.max(Be,Ve)-ct-st,ut+=me+Math.max(Be,Ve)+ct+st,Wt+=Le-Math.max(Be,Ve)-ct-st,Tt+=Le+Math.max(Be,Ve)+ct+st;var _n=S||"main",hn=O.labelBounds,Yt=hn[_n]=hn[_n]||{};Yt.x1=Mt,Yt.y1=Wt,Yt.x2=ut,Yt.y2=Tt,Yt.w=ut-Mt,Yt.h=Tt-Wt;var Dn=_e&&Ee.strValue==="autorotate",ir=Ee.pfValue!=null&&Ee.pfValue!==0;if(Dn||ir){var vr=Dn?Z9(O.rstyle,"labelAngle",S):Ee.pfValue,Nn=Math.cos(vr),pr=Math.sin(vr),Er=(Mt+ut)/2,Mr=(Wt+Tt)/2;if(!_e){switch(H.value){case"left":Er=ut;break;case"right":Er=Mt;break}switch(q.value){case"top":Mr=Tt;break;case"bottom":Mr=Wt;break}}var Cr=function(pa,Mi){return pa=pa-Er,Mi=Mi-Mr,{x:pa*Nn-Mi*pr+Er,y:pa*pr+Mi*Nn+Mr}},Or=Cr(Mt,Wt),Wn=Cr(Mt,Tt),br=Cr(ut,Wt),Sr=Cr(ut,Tt);Mt=Math.min(Or.x,Wn.x,br.x,Sr.x),ut=Math.max(Or.x,Wn.x,br.x,Sr.x),Wt=Math.min(Or.y,Wn.y,br.y,Sr.y),Tt=Math.max(Or.y,Wn.y,br.y,Sr.y)}var Nr=_n+"Rot",Si=hn[Nr]=hn[Nr]||{};Si.x1=Mt,Si.y1=Wt,Si.x2=ut,Si.y2=Tt,Si.w=ut-Mt,Si.h=Tt-Wt,Y2(m,Mt,Wt,ut,Tt),Y2(O.labelBounds.all,Mt,Wt,ut,Tt)}return m}},Fne=function(m,k){if(!k.cy().headless()){var S=k.pstyle("outline-opacity").value,M=k.pstyle("outline-width").value;if(S>0&&M>0){var O=k.pstyle("outline-offset").value,N=k.pstyle("shape").value,$=M+O,H=(m.w+$*2)/m.w,q=(m.h+$*2)/m.h,Y=0,Z=0;["diamond","pentagon","round-triangle"].includes(N)?(H=(m.w+$*2.4)/m.w,Z=-$/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(N)?H=(m.w+$*2.4)/m.w:N==="star"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.6)/m.h,Z=-$/3.8):N==="triangle"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.4)/m.h,Z=-$/1.4):N==="vee"&&(H=(m.w+$*4.4)/m.w,q=(m.h+$*3.8)/m.h,Z=-$*.5);var ce=m.h*q-m.h,ve=m.w*H-m.w;if(dS(m,[Math.ceil(ce/2),Math.ceil(ve/2)]),Y!=0||Z!==0){var me=pZ(m,Y,Z);dj(m,me)}}}},Rne=function(m,k){var S=m._private.cy,M=S.styleEnabled(),O=S.headless(),N=Wd(),$=m._private,H=m.isNode(),q=m.isEdge(),Y,Z,ce,ve,me,Le,_e=$.rstyle,Ee=H&&M?m.pstyle("bounds-expansion").pfValue:[0],Be=function(fs){return fs.pstyle("display").value!=="none"},Re=!M||Be(m)&&(!q||Be(m.source())&&Be(m.target()));if(Re){var Ve=0,ct=0;M&&k.includeOverlays&&(Ve=m.pstyle("overlay-opacity").value,Ve!==0&&(ct=m.pstyle("overlay-padding").value));var st=0,Ye=0;M&&k.includeUnderlays&&(st=m.pstyle("underlay-opacity").value,st!==0&&(Ye=m.pstyle("underlay-padding").value));var mt=Math.max(ct,Ye),Je=0,Lt=0;if(M&&(Je=m.pstyle("width").pfValue,Lt=Je/2),H&&k.includeNodes){var Mt=m.position();me=Mt.x,Le=Mt.y;var ut=m.outerWidth(),Wt=ut/2,Tt=m.outerHeight(),_n=Tt/2;Y=me-Wt,Z=me+Wt,ce=Le-_n,ve=Le+_n,Y2(N,Y,ce,Z,ve),M&&k.includeOutlines&&Fne(N,m)}else if(q&&k.includeEdges)if(M&&!O){var hn=m.pstyle("curve-style").strValue;if(Y=Math.min(_e.srcX,_e.midX,_e.tgtX),Z=Math.max(_e.srcX,_e.midX,_e.tgtX),ce=Math.min(_e.srcY,_e.midY,_e.tgtY),ve=Math.max(_e.srcY,_e.midY,_e.tgtY),Y-=Lt,Z+=Lt,ce-=Lt,ve+=Lt,Y2(N,Y,ce,Z,ve),hn==="haystack"){var Yt=_e.haystackPts;if(Yt&&Yt.length===2){if(Y=Yt[0].x,ce=Yt[0].y,Z=Yt[1].x,ve=Yt[1].y,Y>Z){var Dn=Y;Y=Z,Z=Dn}if(ce>ve){var ir=ce;ce=ve,ve=ir}Y2(N,Y-Lt,ce-Lt,Z+Lt,ve+Lt)}}else if(hn==="bezier"||hn==="unbundled-bezier"||hn==="segments"||hn==="taxi"){var vr;switch(hn){case"bezier":case"unbundled-bezier":vr=_e.bezierPts;break;case"segments":case"taxi":vr=_e.linePts;break}if(vr!=null)for(var Nn=0;NnZ){var Wn=Y;Y=Z,Z=Wn}if(ce>ve){var br=ce;ce=ve,ve=br}Y-=Lt,Z+=Lt,ce-=Lt,ve+=Lt,Y2(N,Y,ce,Z,ve)}if(M&&k.includeEdges&&q&&(_S(N,m,"mid-source"),_S(N,m,"mid-target"),_S(N,m,"source"),_S(N,m,"target")),M){var Sr=m.pstyle("ghost").value==="yes";if(Sr){var Nr=m.pstyle("ghost-offset-x").pfValue,Si=m.pstyle("ghost-offset-y").pfValue;Y2(N,N.x1+Nr,N.y1+Si,N.x2+Nr,N.y2+Si)}}var ys=$.bodyBounds=$.bodyBounds||{};gj(ys,N),dS(ys,Ee),fS(ys,1),M&&(Y=N.x1,Z=N.x2,ce=N.y1,ve=N.y2,Y2(N,Y-mt,ce-mt,Z+mt,ve+mt));var pa=$.overlayBounds=$.overlayBounds||{};gj(pa,N),dS(pa,Ee),fS(pa,1);var Mi=$.labelBounds=$.labelBounds||{};Mi.all!=null?gZ(Mi.all):Mi.all=Wd(),M&&k.includeLabels&&(k.includeMainLabels&&kI(N,m,null),q&&(k.includeSourceLabels&&kI(N,m,"source"),k.includeTargetLabels&&kI(N,m,"target")))}return N.x1=jp(N.x1),N.y1=jp(N.y1),N.x2=jp(N.x2),N.y2=jp(N.y2),N.w=jp(N.x2-N.x1),N.h=jp(N.y2-N.y1),N.w>0&&N.h>0&&Re&&(dS(N,Ee),fS(N,1)),N},b$=function(m){var k=0,S=function(N){return(N?1:0)<0&&arguments[0]!==void 0?arguments[0]:Xne,m=arguments.length>1?arguments[1]:void 0,k=0;k=0;$--)N($);return this},X2.removeAllListeners=function(){return this.removeListener("*")},X2.emit=X2.trigger=function(x,m,k){var S=this.listeners,M=S.length;return this.emitting++,ne(m)||(m=[m]),MS(this,function(O,N){k!=null&&(S=[{event:N.event,type:N.type,namespace:N.namespace,callback:k}],M=S.length);for(var $=function(Y){var Z=S[Y];if(Z.type===N.type&&(!Z.namespace||Z.namespace===N.namespace||Z.namespace===Yne)&&O.eventMatches(O.context,Z,N)){var ce=[N];m!=null&&uj(ce,m),O.beforeEmit(O.context,Z,N),Z.conf&&Z.conf.one&&(O.listeners=O.listeners.filter(function(Le){return Le!==Z}));var ve=O.callbackContext(O.context,Z,N),me=Z.callback.apply(ve,ce);O.afterEmit(O.context,Z,N),me===!1&&(N.stopPropagation(),N.preventDefault())}},H=0;H1&&!N){var $=this.length-1,H=this[$],q=H._private.data.id;this[$]=void 0,this[m]=H,O.set(q,{ele:H,index:m})}return this.length--,this},unmergeOne:function(m){m=m[0];var k=this._private,S=m._private.data.id,M=k.map,O=M.get(S);if(!O)return this;var N=O.index;return this.unmergeAt(N),this},unmerge:function(m){var k=this._private.cy;if(!m)return this;if(m&&be(m)){var S=m;m=k.mutableElements().filter(S)}for(var M=0;M=0;k--){var S=this[k];m(S)&&this.unmergeAt(k)}return this},map:function(m,k){for(var S=[],M=this,O=0;OS&&(S=H,M=$)}return{value:S,ele:M}},min:function(m,k){for(var S=1/0,M,O=this,N=0;N=0&&O"u"?"undefined":u(Symbol))!=m&&u(Symbol.iterator)!=m;k&&(DS[Symbol.iterator]=function(){var S=this,M={value:void 0,done:!1},O=0,N=this.length;return b({next:function(){return O1&&arguments[1]!==void 0?arguments[1]:!0,S=this[0],M=S.cy();if(M.styleEnabled()&&S){this.cleanStyle();var O=S._private.style[m];return O??(k?M.style().getDefaultProperty(m):null)}},numericStyle:function(m){var k=this[0];if(k.cy().styleEnabled()&&k){var S=k.pstyle(m);return S.pfValue!==void 0?S.pfValue:S.value}},numericStyleUnits:function(m){var k=this[0];if(k.cy().styleEnabled()&&k)return k.pstyle(m).units},renderedStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=this[0];if(S)return k.style().getRenderedStyle(S,m)},style:function(m,k){var S=this.cy();if(!S.styleEnabled())return this;var M=!1,O=S.style();if(se(m)){var N=m;O.applyBypass(this,N,M),this.emitAndNotify("style")}else if(be(m))if(k===void 0){var $=this[0];return $?O.getStylePropertyValue($,m):void 0}else O.applyBypass(this,m,k,M),this.emitAndNotify("style");else if(m===void 0){var H=this[0];return H?O.getRawStyle(H):void 0}return this},removeStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=!1,M=k.style(),O=this;if(m===void 0)for(var N=0;N0&&m.push(Y[0]),m.push($[0])}return this.spawn(m,!0).filter(x)},"neighborhood"),closedNeighborhood:function(m){return this.neighborhood().add(this).filter(m)},openNeighborhood:function(m){return this.neighborhood(m)}}),k1.neighbourhood=k1.neighborhood,k1.closedNeighbourhood=k1.closedNeighborhood,k1.openNeighbourhood=k1.openNeighborhood,yt(k1,{source:Rp(function(m){var k=this[0],S;return k&&(S=k._private.source||k.cy().collection()),S&&m?S.filter(m):S},"source"),target:Rp(function(m){var k=this[0],S;return k&&(S=k._private.target||k.cy().collection()),S&&m?S.filter(m):S},"target"),sources:D$({attr:"source"}),targets:D$({attr:"target"})});function D$(x){return function(k){for(var S=[],M=0;M0);return N},component:function(){var m=this[0];return m.cy().mutableElements().components(m)[0]}}),k1.componentsOf=k1.components;var V0=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(m===void 0){ch("A collection must have a reference to the core");return}var O=new wm,N=!1;if(!k)k=[];else if(k.length>0&&se(k[0])&&!U(k[0])){N=!0;for(var $=[],H=new Q7,q=0,Y=k.length;q0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=k.cy(),M=S._private,O=[],N=[],$,H=0,q=k.length;H0){for(var ir=$.length===k.length?k:new V0(S,$),vr=0;vr0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=[],M={},O=k._private.cy;function N(Tt){for(var _n=Tt._private.edges,hn=0;hn<_n.length;hn++)H(_n[hn])}function $(Tt){for(var _n=Tt._private.children,hn=0;hn<_n.length;hn++)H(_n[hn])}function H(Tt){var _n=M[Tt.id()];m&&Tt.removed()||_n||(M[Tt.id()]=!0,Tt.isNode()?(S.push(Tt),N(Tt),$(Tt)):S.unshift(Tt))}for(var q=0,Y=k.length;q0&&(x?Mt.emitAndNotify("remove"):m&&Mt.emit("remove"));for(var ut=0;ut0?ut=Tt:Mt=Tt;while(Math.abs(Wt)>N&&++_n<$);return Tt}function ct(Lt){for(var Mt=0,ut=1,Wt=H-1;ut!==Wt&&ce[ut]<=Lt;++ut)Mt+=q;--ut;var Tt=(Lt-ce[ut])/(ce[ut+1]-ce[ut]),_n=Mt+Tt*q,hn=Ee(_n,x,k);return hn>=O?Be(Lt,_n):hn===0?_n:Ve(Lt,Mt,Mt+q)}var st=!1;function Ye(){st=!0,(x!==m||k!==S)&&Re()}var mt=function(Mt){return st||Ye(),x===m&&k===S?Mt:Mt===0?0:Mt===1?1:_e(ct(Mt),m,S)};mt.getControlPoints=function(){return[{x,y:m},{x:k,y:S}]};var Je="generateBezier("+[x,m,k,S]+")";return mt.toString=function(){return Je},mt}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var ore=function(){function x(S){return-S.tension*S.x-S.friction*S.v}function m(S,M,O){var N={x:S.x+O.dx*M,v:S.v+O.dv*M,tension:S.tension,friction:S.friction};return{dx:N.v,dv:x(N)}}function k(S,M){var O={dx:S.v,dv:x(S)},N=m(S,M*.5,O),$=m(S,M*.5,N),H=m(S,M,$),q=1/6*(O.dx+2*(N.dx+$.dx)+H.dx),Y=1/6*(O.dv+2*(N.dv+$.dv)+H.dv);return S.x=S.x+q*M,S.v=S.v+Y*M,S}return function S(M,O,N){var $={x:-1,v:0,tension:null,friction:null},H=[0],q=0,Y=1/1e4,Z=16/1e3,ce,ve,me;for(M=parseFloat(M)||500,O=parseFloat(O)||20,N=N||null,$.tension=M,$.friction=O,ce=N!==null,ce?(q=S(M,O),ve=q/N*Z):ve=Z;me=k(me||$,ve),H.push(1+me.x),q+=16,Math.abs(me.x)>Y&&Math.abs(me.v)>Y;);return ce?function(Le){return H[Le*(H.length-1)|0]}:q}}(),rl=function(m,k,S,M){var O=are(m,k,S,M);return function(N,$,H){return N+($-N)*O(H)}},BS={linear:function(m,k,S){return m+(k-m)*S},ease:rl(.25,.1,.25,1),"ease-in":rl(.42,0,1,1),"ease-out":rl(0,0,.58,1),"ease-in-out":rl(.42,0,.58,1),"ease-in-sine":rl(.47,0,.745,.715),"ease-out-sine":rl(.39,.575,.565,1),"ease-in-out-sine":rl(.445,.05,.55,.95),"ease-in-quad":rl(.55,.085,.68,.53),"ease-out-quad":rl(.25,.46,.45,.94),"ease-in-out-quad":rl(.455,.03,.515,.955),"ease-in-cubic":rl(.55,.055,.675,.19),"ease-out-cubic":rl(.215,.61,.355,1),"ease-in-out-cubic":rl(.645,.045,.355,1),"ease-in-quart":rl(.895,.03,.685,.22),"ease-out-quart":rl(.165,.84,.44,1),"ease-in-out-quart":rl(.77,0,.175,1),"ease-in-quint":rl(.755,.05,.855,.06),"ease-out-quint":rl(.23,1,.32,1),"ease-in-out-quint":rl(.86,0,.07,1),"ease-in-expo":rl(.95,.05,.795,.035),"ease-out-expo":rl(.19,1,.22,1),"ease-in-out-expo":rl(1,0,0,1),"ease-in-circ":rl(.6,.04,.98,.335),"ease-out-circ":rl(.075,.82,.165,1),"ease-in-out-circ":rl(.785,.135,.15,.86),spring:function(m,k,S){if(S===0)return BS.linear;var M=ore(m,k,S);return function(O,N,$){return O+(N-O)*M($)}},"cubic-bezier":rl};function N$(x,m,k,S,M){if(S===1||m===k)return k;var O=M(m,k,S);return x==null||((x.roundValue||x.color)&&(O=Math.round(O)),x.min!==void 0&&(O=Math.max(O,x.min)),x.max!==void 0&&(O=Math.min(O,x.max))),O}function P$(x,m){return x.pfValue!=null||x.value!=null?x.pfValue!=null&&(m==null||m.type.units!=="%")?x.pfValue:x.value:x}function g8(x,m,k,S,M){var O=M!=null?M.type:null;k<0?k=0:k>1&&(k=1);var N=P$(x,M),$=P$(m,M);if(X(N)&&X($))return N$(O,N,$,k,S);if(ne(N)&&ne($)){for(var H=[],q=0;q<$.length;q++){var Y=N[q],Z=$[q];if(Y!=null&&Z!=null){var ce=N$(O,Y,Z,k,S);H.push(ce)}else H.push(Z)}return H}}function cre(x,m,k,S){var M=!S,O=x._private,N=m._private,$=N.easing,H=N.startTime,q=S?x:x.cy(),Y=q.style();if(!N.easingImpl)if($==null)N.easingImpl=BS.linear;else{var Z;if(be($)){var ce=Y.parse("transition-timing-function",$);Z=ce.value}else Z=$;var ve,me;be(Z)?(ve=Z,me=[]):(ve=Z[1],me=Z.slice(2).map(function(ir){return+ir})),me.length>0?(ve==="spring"&&me.push(N.duration),N.easingImpl=BS[ve].apply(null,me)):N.easingImpl=BS[ve]}var Le=N.easingImpl,_e;if(N.duration===0?_e=1:_e=(k-H)/N.duration,N.applying&&(_e=N.progress),_e<0?_e=0:_e>1&&(_e=1),N.delay==null){var Ee=N.startPosition,Be=N.position;if(Be&&M&&!x.locked()){var Re={};ak(Ee.x,Be.x)&&(Re.x=g8(Ee.x,Be.x,_e,Le)),ak(Ee.y,Be.y)&&(Re.y=g8(Ee.y,Be.y,_e,Le)),x.position(Re)}var Ve=N.startPan,ct=N.pan,st=O.pan,Ye=ct!=null&&S;Ye&&(ak(Ve.x,ct.x)&&(st.x=g8(Ve.x,ct.x,_e,Le)),ak(Ve.y,ct.y)&&(st.y=g8(Ve.y,ct.y,_e,Le)),x.emit("pan"));var mt=N.startZoom,Je=N.zoom,Lt=Je!=null&&S;Lt&&(ak(mt,Je)&&(O.zoom=U9(O.minZoom,g8(mt,Je,_e,Le),O.maxZoom)),x.emit("zoom")),(Ye||Lt)&&x.emit("viewport");var Mt=N.style;if(Mt&&Mt.length>0&&M){for(var ut=0;ut=0;Ye--){var mt=st[Ye];mt()}st.splice(0,st.length)},Be=ve.length-1;Be>=0;Be--){var Re=ve[Be],Ve=Re._private;if(Ve.stopped){ve.splice(Be,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Ee(Ve.frames);continue}!Ve.playing&&!Ve.applying||(Ve.playing&&Ve.applying&&(Ve.applying=!1),Ve.started||ure(Y,Re,x),cre(Y,Re,x,Z),Ve.applying&&(Ve.applying=!1),Ee(Ve.frames),Ve.step!=null&&Ve.step(x),Re.completed()&&(ve.splice(Be,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Ee(Ve.completes)),Le=!0)}return!Z&&ve.length===0&&me.length===0&&S.push(Y),Le}for(var O=!1,N=0;N0?m.notify("draw",k):m.notify("draw")),k.unmerge(S),m.emit("step")}var lre={animate:fu.animate(),animation:fu.animation(),animated:fu.animated(),clearQueue:fu.clearQueue(),delay:fu.delay(),delayAnimation:fu.delayAnimation(),stop:fu.stop(),addToAnimationPool:function(m){var k=this;k.styleEnabled()&&k._private.aniEles.merge(m)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var m=this;if(m._private.animationsRunning=!0,!m.styleEnabled())return;function k(){m._private.animationsRunning&&z0(function(O){B$(O,m),k()})}var S=m.renderer();S&&S.beforeRender?S.beforeRender(function(O,N){B$(N,m)},S.beforeRenderPriorities.animations):k()}},hre={qualifierCompare:function(m,k){return m==null||k==null?m==null&&k==null:m.sameText(k)},eventMatches:function(m,k,S){var M=k.qualifier;return M!=null?m!==S.target&&U(S.target)&&M.matches(S.target):!0},addEventFields:function(m,k){k.cy=m,k.target=m},callbackContext:function(m,k,S){return k.qualifier!=null?S.target:m}},FS=function(m){return be(m)?new ey(m):m},F$={createEmitter:function(){var m=this._private;return m.emitter||(m.emitter=new LS(hre,this)),this},emitter:function(){return this._private.emitter},on:function(m,k,S){return this.emitter().on(m,FS(k),S),this},removeListener:function(m,k,S){return this.emitter().removeListener(m,FS(k),S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(m,k,S){return this.emitter().one(m,FS(k),S),this},once:function(m,k,S){return this.emitter().one(m,FS(k),S),this},emit:function(m,k){return this.emitter().emit(m,k),this},emitAndNotify:function(m,k){return this.emit(m),this.notify(m,k),this}};fu.eventAliasesOn(F$);var MI={png:function(m){var k=this._private.renderer;return m=m||{},k.png(m)},jpg:function(m){var k=this._private.renderer;return m=m||{},m.bg=m.bg||"#fff",k.jpg(m)}};MI.jpeg=MI.jpg;var RS={layout:function(m){var k=this;if(m==null){ch("Layout options must be specified to make a layout");return}if(m.name==null){ch("A `name` must be specified to make a layout");return}var S=m.name,M=k.extension("layout",S);if(M==null){ch("No such layout `"+S+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;be(m.eles)?O=k.$(m.eles):O=m.eles!=null?m.eles:k.$();var N=new M(yt({},m,{cy:k,eles:O}));return N}};RS.createLayout=RS.makeLayout=RS.layout;var fre={notify:function(m,k){var S=this._private;if(this.batching()){S.batchNotifications=S.batchNotifications||{};var M=S.batchNotifications[m]=S.batchNotifications[m]||this.collection();k!=null&&M.merge(k);return}if(S.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(m,k)}},notifications:function(m){var k=this._private;return m===void 0?k.notificationsEnabled:(k.notificationsEnabled=!!m,this)},noNotifications:function(m){this.notifications(!1),m(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var m=this._private;return m.batchCount==null&&(m.batchCount=0),m.batchCount===0&&(m.batchStyleEles=this.collection(),m.batchNotifications={}),m.batchCount++,this},endBatch:function(){var m=this._private;if(m.batchCount===0)return this;if(m.batchCount--,m.batchCount===0){m.batchStyleEles.updateStyle();var k=this.renderer();Object.keys(m.batchNotifications).forEach(function(S){var M=m.batchNotifications[S];M.empty()?k.notify(S):k.notify(S,M)})}return this},batch:function(m){return this.startBatch(),m(),this.endBatch(),this},batchData:function(m){var k=this;return this.batch(function(){for(var S=Object.keys(m),M=0;M0;)k.removeChild(k.childNodes[0]);m._private.renderer=null,m.mutableElements().forEach(function(S){var M=S._private;M.rscratch={},M.rstyle={},M.animation.current=[],M.animation.queue=[]})},onRender:function(m){return this.on("render",m)},offRender:function(m){return this.off("render",m)}};DI.invalidateDimensions=DI.resize;var jS={collection:function(m,k){return be(m)?this.$(m):xe(m)?m.collection():ne(m)?(k||(k={}),new V0(this,m,k.unique,k.removed)):new V0(this)},nodes:function(m){var k=this.$(function(S){return S.isNode()});return m?k.filter(m):k},edges:function(m){var k=this.$(function(S){return S.isEdge()});return m?k.filter(m):k},$:function(m){var k=this._private.elements;return m?k.filter(m):k.spawnSelf()},mutableElements:function(){return this._private.elements}};jS.elements=jS.filter=jS.$;var E1={},ok="t",gre="f";E1.apply=function(x){for(var m=this,k=m._private,S=k.cy,M=S.collection(),O=0;O0;if(ce||Z&&ve){var me=void 0;ce&&ve||ce?me=q.properties:ve&&(me=q.mappedProperties);for(var Le=0;Le1&&(Ve=1),$.color){var st=S.valueMin[0],Ye=S.valueMax[0],mt=S.valueMin[1],Je=S.valueMax[1],Lt=S.valueMin[2],Mt=S.valueMax[2],ut=S.valueMin[3]==null?1:S.valueMin[3],Wt=S.valueMax[3]==null?1:S.valueMax[3],Tt=[Math.round(st+(Ye-st)*Ve),Math.round(mt+(Je-mt)*Ve),Math.round(Lt+(Mt-Lt)*Ve),Math.round(ut+(Wt-ut)*Ve)];O={bypass:S.bypass,name:S.name,value:Tt,strValue:"rgb("+Tt[0]+", "+Tt[1]+", "+Tt[2]+")"}}else if($.number){var _n=S.valueMin+(S.valueMax-S.valueMin)*Ve;O=this.parse(S.name,_n,S.bypass,ce)}else return!1;if(!O)return Le(),!1;O.mapping=S,S=O;break}case N.data:{for(var hn=S.field.split("."),Yt=Z.data,Dn=0;Dn0&&O>0){for(var $={},H=!1,q=0;q0?x.delayAnimation(N).play().promise().then(Re):Re()}).then(function(){return x.animation({style:$,duration:O,easing:x.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){k.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1})}else S.transitioning&&(this.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1)},E1.checkTrigger=function(x,m,k,S,M,O){var N=this.properties[m],$=M(N);$!=null&&$(k,S)&&O(N)},E1.checkZOrderTrigger=function(x,m,k,S){var M=this;this.checkTrigger(x,m,k,S,function(O){return O.triggersZOrder},function(){M._private.cy.notify("zorder",x)})},E1.checkBoundsTrigger=function(x,m,k,S){this.checkTrigger(x,m,k,S,function(M){return M.triggersBounds},function(M){x.dirtyCompoundBoundsCache(),x.dirtyBoundingBoxCache(),M.triggersBoundsOfParallelBeziers&&m==="curve-style"&&(k==="bezier"||S==="bezier")&&x.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()}),M.triggersBoundsOfConnectedEdges&&m==="display"&&(k==="none"||S==="none")&&x.connectedEdges().forEach(function(O){O.dirtyBoundingBoxCache()})})},E1.checkTriggers=function(x,m,k,S){x.dirtyStyleCache(),this.checkZOrderTrigger(x,m,k,S),this.checkBoundsTrigger(x,m,k,S)};var ck={};ck.applyBypass=function(x,m,k,S){var M=this,O=[],N=!0;if(m==="*"||m==="**"){if(k!==void 0)for(var $=0;$M.length?S=S.substr(M.length):S=""}function H(){O.length>N.length?O=O.substr(N.length):O=""}for(;;){var q=S.match(/^\s*$/);if(q)break;var Y=S.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!Y){hu("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+S);break}M=Y[0];var Z=Y[1];if(Z!=="core"){var ce=new ey(Z);if(ce.invalid){hu("Skipping parsing of block: Invalid selector found in string stylesheet: "+Z),$();continue}}var ve=Y[2],me=!1;O=ve;for(var Le=[];;){var _e=O.match(/^\s*$/);if(_e)break;var Ee=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!Ee){hu("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ve),me=!0;break}N=Ee[0];var Be=Ee[1],Re=Ee[2],Ve=m.properties[Be];if(!Ve){hu("Skipping property: Invalid property name in: "+N),H();continue}var ct=k.parse(Be,Re);if(!ct){hu("Skipping property: Invalid property definition in: "+N),H();continue}Le.push({name:Be,val:Re}),H()}if(me){$();break}k.selector(Z);for(var st=0;st=7&&m[0]==="d"&&(Y=new RegExp($.data.regex).exec(m))){if(k)return!1;var ce=$.data;return{name:x,value:Y,strValue:""+m,mapped:ce,field:Y[1],bypass:k}}else if(m.length>=10&&m[0]==="m"&&(Z=new RegExp($.mapData.regex).exec(m))){if(k||q.multiple)return!1;var ve=$.mapData;if(!(q.color||q.number))return!1;var me=this.parse(x,Z[4]);if(!me||me.mapped)return!1;var Le=this.parse(x,Z[5]);if(!Le||Le.mapped)return!1;if(me.pfValue===Le.pfValue||me.strValue===Le.strValue)return hu("`"+x+": "+m+"` is not a valid mapper because the output range is zero; converting to `"+x+": "+me.strValue+"`"),this.parse(x,me.strValue);if(q.color){var _e=me.value,Ee=Le.value,Be=_e[0]===Ee[0]&&_e[1]===Ee[1]&&_e[2]===Ee[2]&&(_e[3]===Ee[3]||(_e[3]==null||_e[3]===1)&&(Ee[3]==null||Ee[3]===1));if(Be)return!1}return{name:x,value:Z,strValue:""+m,mapped:ve,field:Z[1],fieldMin:parseFloat(Z[2]),fieldMax:parseFloat(Z[3]),valueMin:me.value,valueMax:Le.value,bypass:k}}}if(q.multiple&&S!=="multiple"){var Re;if(H?Re=m.split(/\s+/):ne(m)?Re=m:Re=[m],q.evenMultiple&&Re.length%2!==0)return null;for(var Ve=[],ct=[],st=[],Ye="",mt=!1,Je=0;Je0?" ":"")+Lt.strValue}return q.validate&&!q.validate(Ve,ct)?null:q.singleEnum&&mt?Ve.length===1&&be(Ve[0])?{name:x,value:Ve[0],strValue:Ve[0],bypass:k}:null:{name:x,value:Ve,pfValue:st,strValue:Ye,bypass:k,units:ct}}var Mt=function(){for(var Sr=0;Srq.max||q.strictMax&&m===q.max))return null;var hn={name:x,value:m,strValue:""+m+(ut||""),units:ut,bypass:k};return q.unitless||ut!=="px"&&ut!=="em"?hn.pfValue=m:hn.pfValue=ut==="px"||!ut?m:this.getEmSizeInPixels()*m,(ut==="ms"||ut==="s")&&(hn.pfValue=ut==="ms"?m:1e3*m),(ut==="deg"||ut==="rad")&&(hn.pfValue=ut==="rad"?m:lZ(m)),ut==="%"&&(hn.pfValue=m/100),hn}else if(q.propList){var Yt=[],Dn=""+m;if(Dn!=="none"){for(var ir=Dn.split(/\s*,\s*|\s+/),vr=0;vr0&&$>0&&!isNaN(S.w)&&!isNaN(S.h)&&S.w>0&&S.h>0){H=Math.min((N-2*k)/S.w,($-2*k)/S.h),H=H>this._private.maxZoom?this._private.maxZoom:H,H=H=S.minZoom&&(S.maxZoom=k),this},minZoom:function(m){return m===void 0?this._private.minZoom:this.zoomRange({min:m})},maxZoom:function(m){return m===void 0?this._private.maxZoom:this.zoomRange({max:m})},getZoomedViewport:function(m){var k=this._private,S=k.pan,M=k.zoom,O,N,$=!1;if(k.zoomingEnabled||($=!0),X(m)?N=m:se(m)&&(N=m.level,m.position!=null?O=lS(m.position,M,S):m.renderedPosition!=null&&(O=m.renderedPosition),O!=null&&!k.panningEnabled&&($=!0)),N=N>k.maxZoom?k.maxZoom:N,N=Nk.maxZoom||!k.zoomingEnabled?N=!0:(k.zoom=H,O.push("zoom"))}if(M&&(!N||!m.cancelOnFailedZoom)&&k.panningEnabled){var q=m.pan;X(q.x)&&(k.pan.x=q.x,$=!1),X(q.y)&&(k.pan.y=q.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(m){var k=this.getCenterPan(m);return k&&(this._private.pan=k,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(m,k){if(this._private.panningEnabled){if(be(m)){var S=m;m=this.mutableElements().filter(S)}else xe(m)||(m=this.mutableElements());if(m.length!==0){var M=m.boundingBox(),O=this.width(),N=this.height();k=k===void 0?this._private.zoom:k;var $={x:(O-k*(M.x1+M.x2))/2,y:(N-k*(M.y1+M.y2))/2};return $}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var m=this._private,k=m.container,S=this;return m.sizeCache=m.sizeCache||(k?function(){var M=S.window().getComputedStyle(k),O=function($){return parseFloat(M.getPropertyValue($))};return{width:k.clientWidth-O("padding-left")-O("padding-right"),height:k.clientHeight-O("padding-top")-O("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var m=this._private.pan,k=this._private.zoom,S=this.renderedExtent(),M={x1:(S.x1-m.x)/k,x2:(S.x2-m.x)/k,y1:(S.y1-m.y)/k,y2:(S.y2-m.y)/k};return M.w=M.x2-M.x1,M.h=M.y2-M.y1,M},renderedExtent:function(){var m=this.width(),k=this.height();return{x1:0,y1:0,x2:m,y2:k,w:m,h:k}},multiClickDebounceTime:function(m){if(m)this._private.multiClickDebounceTime=m;else return this._private.multiClickDebounceTime;return this}};v5.centre=v5.center,v5.autolockNodes=v5.autolock,v5.autoungrabifyNodes=v5.autoungrabify;var uk={data:fu.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:fu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:fu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:fu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};uk.attr=uk.data,uk.removeAttr=uk.removeData;var lk=function(m){var k=this;m=yt({},m);var S=m.container;S&&!W(S)&&W(S[0])&&(S=S[0]);var M=S?S._cyreg:null;M=M||{},M&&M.cy&&(M.cy.destroy(),M={});var O=M.readies=M.readies||[];S&&(S._cyreg=M),M.cy=k;var N=F!==void 0&&S!==void 0&&!m.headless,$=m;$.layout=yt({name:N?"grid":"null"},$.layout),$.renderer=yt({name:N?"canvas":"null"},$.renderer);var H=function(me,Le,_e){return Le!==void 0?Le:_e!==void 0?_e:me},q=this._private={container:S,ready:!1,options:$,elements:new V0(this),listeners:[],aniEles:new V0(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:H(!0,$.zoomingEnabled),userZoomingEnabled:H(!0,$.userZoomingEnabled),panningEnabled:H(!0,$.panningEnabled),userPanningEnabled:H(!0,$.userPanningEnabled),boxSelectionEnabled:H(!0,$.boxSelectionEnabled),autolock:H(!1,$.autolock,$.autolockNodes),autoungrabify:H(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:H(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?N:$.styleEnabled,zoom:X($.zoom)?$.zoom:1,pan:{x:se($.pan)&&X($.pan.x)?$.pan.x:0,y:se($.pan)&&X($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:H(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var Y=function(me,Le){var _e=me.some(Ke);if(_e)return i8.all(me).then(Le);Le(me)};q.styleEnabled&&k.setStyle([]);var Z=yt({},$,$.renderer);k.initRenderer(Z);var ce=function(me,Le,_e){k.notifications(!1);var Ee=k.mutableElements();Ee.length>0&&Ee.remove(),me!=null&&(se(me)||ne(me))&&k.add(me),k.one("layoutready",function(Re){k.notifications(!0),k.emit(Re),k.one("load",Le),k.emitAndNotify("load")}).one("layoutstop",function(){k.one("done",_e),k.emit("done")});var Be=yt({},k._private.options.layout);Be.eles=k.elements(),k.layout(Be).run()};Y([$.style,$.elements],function(ve){var me=ve[0],Le=ve[1];q.styleEnabled&&k.style().append(me),ce(Le,function(){k.startAnimationLoop(),q.ready=!0,ae($.ready)&&k.on("ready",$.ready);for(var _e=0;_e0,H=Wd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),q;if(xe(m.roots))q=m.roots;else if(ne(m.roots)){for(var Y=[],Z=0;Z0;){var _n=Tt(),hn=Lt(_n,ut);if(hn)_n.outgoers().filter(function(Mi){return Mi.isNode()&&S.has(Mi)}).forEach(Wt);else if(hn===null){hu("Detected double maximal shift for node `"+_n.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Je();var Yt=0;if(m.avoidOverlap)for(var Dn=0;Dn0&&Ee[0].length<=3?Da/2:0),G=2*Math.PI/Ee[Fs].length*xs;return Fs===0&&Ee[0].length===1&&(tr=1),{x:Si.x+tr*Math.cos(G),y:Si.y+tr*Math.sin(G)}}else{var Bo={x:Si.x+(xs+1-(Rs+1)/2)*yo,y:(Fs+1)*$a};return Bo}};return S.nodes().layoutPositions(this,m,pa),this};var wre={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:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function $$(x){this.options=yt({},wre,x)}$$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,O=S.nodes().not(":parent");m.sort&&(O=O.sort(m.sort));for(var N=Wd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=m.sweep===void 0?2*Math.PI-2*Math.PI/O.length:m.sweep,q=H/Math.max(1,O.length-1),Y,Z=0,ce=0;ce1&&m.avoidOverlap){Z*=1.75;var Ee=Math.cos(q)-Math.cos(0),Be=Math.sin(q)-Math.sin(0),Re=Math.sqrt(Z*Z/(Ee*Ee+Be*Be));Y=Math.max(Re,Y)}var Ve=function(st,Ye){var mt=m.startAngle+Ye*q*(M?1:-1),Je=Y*Math.cos(mt),Lt=Y*Math.sin(mt),Mt={x:$.x+Je,y:$.y+Lt};return Mt};return S.nodes().layoutPositions(this,m,Ve),this};var yre={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:function(m){return m.degree()},levelWidth:function(m){return m.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function z$(x){this.options=yt({},yre,x)}z$.prototype.run=function(){for(var x=this.options,m=x,k=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,S=x.cy,M=m.eles,O=M.nodes().not(":parent"),N=Wd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:S.width(),h:S.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=[],q=0,Y=0;Y0){var ct=Math.abs(Be[0].value-Ve.value);ct>=_e&&(Be=[],Ee.push(Be))}Be.push(Ve)}var st=q+m.minNodeSpacing;if(!m.avoidOverlap){var Ye=Ee.length>0&&Ee[0].length>1,mt=Math.min(N.w,N.h)/2-st,Je=mt/(Ee.length+Ye?1:0);st=Math.min(st,Je)}for(var Lt=0,Mt=0;Mt1&&m.avoidOverlap){var _n=Math.cos(Tt)-Math.cos(0),hn=Math.sin(Tt)-Math.sin(0),Yt=Math.sqrt(st*st/(_n*_n+hn*hn));Lt=Math.max(Yt,Lt)}ut.r=Lt,Lt+=st}if(m.equidistant){for(var Dn=0,ir=0,vr=0;vr=x.numIter||(Are(S,x),S.temperature=S.temperature*x.coolingFactor,S.temperature=x.animationThreshold&&O(),z0(Z)}};Y()}else{for(;q;)q=N(H),H++;V$(S,x),$()}return this},HS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},HS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var kre=function(m,k,S){for(var M=S.eles.edges(),O=S.eles.nodes(),N=Wd(S.boundingBox?S.boundingBox:{x1:0,y1:0,w:m.width(),h:m.height()}),$={isCompound:m.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:M.size(),temperature:S.initialTemp,clientWidth:N.w,clientHeight:N.h,boundingBox:N},H=S.eles.components(),q={},Y=0;Y0){$.graphSet.push(mt);for(var Y=0;YM.count?0:M.graph},Tre=function x(m,k,S,M){var O=M.graphSet[S];if(-10)var Z=M.nodeOverlap*Y,ce=Math.sqrt($*$+H*H),ve=Z*$/ce,me=Z*H/ce;else var Le=VS(m,$,H),_e=VS(k,-1*$,-1*H),Ee=_e.x-Le.x,Be=_e.y-Le.y,Re=Ee*Ee+Be*Be,ce=Math.sqrt(Re),Z=(m.nodeRepulsion+k.nodeRepulsion)/Re,ve=Z*Ee/ce,me=Z*Be/ce;m.isLocked||(m.offsetX-=ve,m.offsetY-=me),k.isLocked||(k.offsetX+=ve,k.offsetY+=me)}},Dre=function(m,k,S,M){if(S>0)var O=m.maxX-k.minX;else var O=k.maxX-m.minX;if(M>0)var N=m.maxY-k.minY;else var N=k.maxY-m.minY;return O>=0&&N>=0?Math.sqrt(O*O+N*N):0},VS=function(m,k,S){var M=m.positionX,O=m.positionY,N=m.height||1,$=m.width||1,H=S/k,q=N/$,Y={};return k===0&&0S?(Y.x=M,Y.y=O+N/2,Y):0k&&-1*q<=H&&H<=q?(Y.x=M-$/2,Y.y=O-$*S/2/k,Y):0=q)?(Y.x=M+N*k/2/S,Y.y=O+N/2,Y):(0>S&&(H<=-1*q||H>=q)&&(Y.x=M-N*k/2/S,Y.y=O-N/2),Y)},Ire=function(m,k){for(var S=0;SS){var _e=k.gravity*ve/Le,Ee=k.gravity*me/Le;ce.offsetX+=_e,ce.offsetY+=Ee}}}}},Nre=function(m,k){var S=[],M=0,O=-1;for(S.push.apply(S,m.graphSet[0]),O+=m.graphSet[0].length;M<=O;){var N=S[M++],$=m.idToIndex[N],H=m.layoutNodes[$],q=H.children;if(0S)var O={x:S*m/M,y:S*k/M};else var O={x:m,y:k};return O},Fre=function x(m,k){var S=m.parentId;if(S!=null){var M=k.layoutNodes[k.idToIndex[S]],O=!1;if((M.maxX==null||m.maxX+M.padRight>M.maxX)&&(M.maxX=m.maxX+M.padRight,O=!0),(M.minX==null||m.minX-M.padLeftM.maxY)&&(M.maxY=m.maxY+M.padBottom,O=!0),(M.minY==null||m.minY-M.padTopEe&&(me+=_e+k.componentSpacing,ve=0,Le=0,_e=0)}}},Rre={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(m){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function U$(x){this.options=yt({},Rre,x)}U$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=S.nodes().not(":parent");m.sort&&(M=M.sort(m.sort));var O=Wd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()});if(O.h===0||O.w===0)S.nodes().layoutPositions(this,m,function(Er){return{x:O.x1,y:O.y1}});else{var N=M.size(),$=Math.sqrt(N*O.h/O.w),H=Math.round($),q=Math.round(O.w/O.h*$),Y=function(Mr){if(Mr==null)return Math.min(H,q);var Cr=Math.min(H,q);Cr==H?H=Mr:q=Mr},Z=function(Mr){if(Mr==null)return Math.max(H,q);var Cr=Math.max(H,q);Cr==H?H=Mr:q=Mr},ce=m.rows,ve=m.cols!=null?m.cols:m.columns;if(ce!=null&&ve!=null)H=ce,q=ve;else if(ce!=null&&ve==null)H=ce,q=Math.ceil(N/H);else if(ce==null&&ve!=null)q=ve,H=Math.ceil(N/q);else if(q*H>N){var me=Y(),Le=Z();(me-1)*Le>=N?Y(me-1):(Le-1)*me>=N&&Z(Le-1)}else for(;q*H=N?Z(Ee+1):Y(_e+1)}var Be=O.w/q,Re=O.h/H;if(m.condense&&(Be=0,Re=0),m.avoidOverlap)for(var Ve=0;Ve=q&&(_n=0,Tt++)},Yt={},Dn=0;Dn(_n=EZ(x,m,hn[Yt],hn[Yt+1],hn[Yt+2],hn[Yt+3])))return _e(Ye,_n),!0}else if(Je.edgeType==="bezier"||Je.edgeType==="multibezier"||Je.edgeType==="self"||Je.edgeType==="compound"){for(var hn=Je.allpts,Yt=0;Yt+5(_n=kZ(x,m,hn[Yt],hn[Yt+1],hn[Yt+2],hn[Yt+3],hn[Yt+4],hn[Yt+5])))return _e(Ye,_n),!0}for(var Dn=Dn||mt.source,ir=ir||mt.target,vr=M.getArrowWidth(Lt,Mt),Nn=[{name:"source",x:Je.arrowStartX,y:Je.arrowStartY,angle:Je.srcArrowAngle},{name:"target",x:Je.arrowEndX,y:Je.arrowEndY,angle:Je.tgtArrowAngle},{name:"mid-source",x:Je.midX,y:Je.midY,angle:Je.midsrcArrowAngle},{name:"mid-target",x:Je.midX,y:Je.midY,angle:Je.midtgtArrowAngle}],Yt=0;Yt0&&(Ee(Dn),Ee(ir))}function Re(Ye,mt,Je){return K2(Ye,mt,Je)}function Ve(Ye,mt){var Je=Ye._private,Lt=ce,Mt;mt?Mt=mt+"-":Mt="",Ye.boundingBox();var ut=Je.labelBounds[mt||"main"],Wt=Ye.pstyle(Mt+"label").value,Tt=Ye.pstyle("text-events").strValue==="yes";if(!(!Tt||!Wt)){var _n=Re(Je.rscratch,"labelX",mt),hn=Re(Je.rscratch,"labelY",mt),Yt=Re(Je.rscratch,"labelAngle",mt),Dn=Ye.pstyle(Mt+"text-margin-x").pfValue,ir=Ye.pstyle(Mt+"text-margin-y").pfValue,vr=ut.x1-Lt-Dn,Nn=ut.x2+Lt-Dn,pr=ut.y1-Lt-ir,Er=ut.y2+Lt-ir;if(Yt){var Mr=Math.cos(Yt),Cr=Math.sin(Yt),Or=function(pa,Mi){return pa=pa-_n,Mi=Mi-hn,{x:pa*Mr-Mi*Cr+_n,y:pa*Cr+Mi*Mr+hn}},Wn=Or(vr,pr),br=Or(vr,Er),Sr=Or(Nn,pr),Nr=Or(Nn,Er),Si=[Wn.x+Dn,Wn.y+ir,Sr.x+Dn,Sr.y+ir,Nr.x+Dn,Nr.y+ir,br.x+Dn,br.y+ir];if(Yd(x,m,Si))return _e(Ye),!0}else if(e8(ut,x,m))return _e(Ye),!0}}for(var ct=N.length-1;ct>=0;ct--){var st=N[ct];st.isNode()?Ee(st)||Ve(st):Be(st)||Ve(st)||Ve(st,"source")||Ve(st,"target")}return $},w5.getAllInBox=function(x,m,k,S){var M=this.getCachedZSortedEles().interactive,O=[],N=Math.min(x,k),$=Math.max(x,k),H=Math.min(m,S),q=Math.max(m,S);x=N,k=$,m=H,S=q;for(var Y=Wd({x1:x,y1:m,x2:k,y2:S}),Z=0;Z0?Math.max(wr-Es,0):Math.min(wr+Es,0)},Wt=ut(Lt,mt),Tt=ut(Mt,Je),_n=!1;Be===q?Ee=Math.abs(Wt)>Math.abs(Tt)?M:S:Be===H||Be===$?(Ee=S,_n=!0):(Be===O||Be===N)&&(Ee=M,_n=!0);var hn=Ee===S,Yt=hn?Tt:Wt,Dn=hn?Mt:Lt,ir=fj(Dn),vr=!1;!(_n&&(Ve||st))&&(Be===$&&Dn<0||Be===H&&Dn>0||Be===O&&Dn>0||Be===N&&Dn<0)&&(ir*=-1,Yt=ir*Math.abs(Yt),vr=!0);var Nn;if(Ve){var pr=ct<0?1+ct:ct;Nn=pr*Yt}else{var Er=ct<0?Yt:0;Nn=Er+ct*ir}var Mr=function(wr){return Math.abs(wr)=Math.abs(Yt)},Cr=Mr(Nn),Or=Mr(Math.abs(Yt)-Math.abs(Nn)),Wn=Cr||Or;if(Wn&&!vr)if(hn){var br=Math.abs(Dn)<=ce/2,Sr=Math.abs(Lt)<=ve/2;if(br){var Nr=(Y.x1+Y.x2)/2,Si=Y.y1,ys=Y.y2;k.segpts=[Nr,Si,Nr,ys]}else if(Sr){var pa=(Y.y1+Y.y2)/2,Mi=Y.x1,gi=Y.x2;k.segpts=[Mi,pa,gi,pa]}else k.segpts=[Y.x1,Y.y2]}else{var fs=Math.abs(Dn)<=Z/2,Fs=Math.abs(Mt)<=me/2;if(fs){var xs=(Y.y1+Y.y2)/2,Rs=Y.x1,yo=Y.x2;k.segpts=[Rs,xs,yo,xs]}else if(Fs){var $a=(Y.x1+Y.x2)/2,Da=Y.y1,Bo=Y.y2;k.segpts=[$a,Da,$a,Bo]}else k.segpts=[Y.x2,Y.y1]}else if(hn){var tr=Y.y1+Nn+(_e?ce/2*ir:0),G=Y.x1,Jn=Y.x2;k.segpts=[G,tr,Jn,tr]}else{var kr=Y.x1+Nn+(_e?Z/2*ir:0),lr=Y.y1,Vt=Y.y2;k.segpts=[kr,lr,kr,Vt]}},S1.tryToCorrectInvalidPoints=function(x,m){var k=x._private.rscratch;if(k.edgeType==="bezier"){var S=m.srcPos,M=m.tgtPos,O=m.srcW,N=m.srcH,$=m.tgtW,H=m.tgtH,q=m.srcShape,Y=m.tgtShape,Z=!X(k.startX)||!X(k.startY),ce=!X(k.arrowStartX)||!X(k.arrowStartY),ve=!X(k.endX)||!X(k.endY),me=!X(k.arrowEndX)||!X(k.arrowEndY),Le=3,_e=this.getArrowWidth(x.pstyle("width").pfValue,x.pstyle("arrow-scale").value)*this.arrowShapeWidth,Ee=Le*_e,Be=h5({x:k.ctrlpts[0],y:k.ctrlpts[1]},{x:k.startX,y:k.startY}),Re=BeTt.poolIndex()){var _n=Wt;Wt=Tt,Tt=_n}var hn=Je.srcPos=Wt.position(),Yt=Je.tgtPos=Tt.position(),Dn=Je.srcW=Wt.outerWidth(),ir=Je.srcH=Wt.outerHeight(),vr=Je.tgtW=Tt.outerWidth(),Nn=Je.tgtH=Tt.outerHeight(),pr=Je.srcShape=k.nodeShapes[m.getNodeShape(Wt)],Er=Je.tgtShape=k.nodeShapes[m.getNodeShape(Tt)];Je.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Mr=0;Mr0){var br=O,Sr=f5(br,J7(k)),Nr=f5(br,J7(Wn)),Si=Sr;if(Nr2){var ys=f5(br,{x:Wn[2],y:Wn[3]});ys0){var G=N,Jn=f5(G,J7(k)),kr=f5(G,J7(tr)),lr=Jn;if(kr2){var Vt=f5(G,{x:tr[2],y:tr[3]});Vt=me||Ye){_e={cp:Ve,segment:st};break}}if(_e)break}var mt=_e.cp,Je=_e.segment,Lt=(me-Ee)/Je.length,Mt=Je.t1-Je.t0,ut=ve?Je.t0+Mt*Lt:Je.t1-Mt*Lt;ut=U9(0,ut,1),m=Z7(mt.p0,mt.p1,mt.p2,ut),ce=Hre(mt.p0,mt.p1,mt.p2,ut);break}case"straight":case"segments":case"haystack":{for(var Wt=0,Tt,_n,hn,Yt,Dn=S.allpts.length,ir=0;ir+3=me));ir+=2);var vr=me-_n,Nn=vr/Tt;Nn=U9(0,Nn,1),m=fZ(hn,Yt,Nn),ce=GS(hn,Yt);break}}N("labelX",Z,m.x),N("labelY",Z,m.y),N("labelAutoAngle",Z,ce)}};q("source"),q("target"),this.applyLabelDimensions(x)}},km.applyLabelDimensions=function(x){this.applyPrefixedLabelDimensions(x),x.isEdge()&&(this.applyPrefixedLabelDimensions(x,"source"),this.applyPrefixedLabelDimensions(x,"target"))},km.applyPrefixedLabelDimensions=function(x,m){var k=x._private,S=this.getLabelText(x,m),M=this.calculateLabelDimensions(x,S),O=x.pstyle("line-height").pfValue,N=x.pstyle("text-wrap").strValue,$=K2(k.rscratch,"labelWrapCachedLines",m)||[],H=N!=="wrap"?1:Math.max($.length,1),q=M.height/H,Y=q*O,Z=M.width,ce=M.height+(H-1)*(O-1)*q;J3(k.rstyle,"labelWidth",m,Z),J3(k.rscratch,"labelWidth",m,Z),J3(k.rstyle,"labelHeight",m,ce),J3(k.rscratch,"labelHeight",m,ce),J3(k.rscratch,"labelLineHeight",m,Y)},km.getLabelText=function(x,m){var k=x._private,S=m?m+"-":"",M=x.pstyle(S+"label").strValue,O=x.pstyle("text-transform").value,N=function(vr,Nn){return Nn?(J3(k.rscratch,vr,m,Nn),Nn):K2(k.rscratch,vr,m)};if(!M)return"";O=="none"||(O=="uppercase"?M=M.toUpperCase():O=="lowercase"&&(M=M.toLowerCase()));var $=x.pstyle("text-wrap").value;if($==="wrap"){var H=N("labelKey");if(H!=null&&N("labelWrapKey")===H)return N("labelWrapCachedText");for(var q="​",Y=M.split(` +`),Z=x.pstyle("text-max-width").pfValue,ce=x.pstyle("text-overflow-wrap").value,ve=ce==="anywhere",me=[],Le=/[\s\u200b]+/,_e=ve?"":" ",Ee=0;EeZ){for(var st=Be.split(Le),Ye="",mt=0;mtWt)break;Tt+=M[Yt],Yt===M.length-1&&(hn=!0)}return hn||(Tt+=_n),Tt}return M},km.getLabelJustification=function(x){var m=x.pstyle("text-justification").strValue,k=x.pstyle("text-halign").strValue;if(m==="auto")if(x.isNode())switch(k){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return m},km.calculateLabelDimensions=function(x,m){var k=this,S=ud(m,x._private.labelDimsKey),M=k.labelDimCache||(k.labelDimCache=[]),O=M[S];if(O!=null)return O;var N=0,$=x.pstyle("font-style").strValue,H=x.pstyle("font-size").pfValue,q=x.pstyle("font-family").strValue,Y=x.pstyle("font-weight").strValue,Z=this.labelCalcCanvas,ce=this.labelCalcCanvasContext;if(!Z){Z=this.labelCalcCanvas=document.createElement("canvas"),ce=this.labelCalcCanvasContext=Z.getContext("2d");var ve=Z.style;ve.position="absolute",ve.left="-9999px",ve.top="-9999px",ve.zIndex="-1",ve.visibility="hidden",ve.pointerEvents="none"}ce.font="".concat($," ").concat(Y," ").concat(H,"px ").concat(q);for(var me=0,Le=0,_e=m.split(` +`),Ee=0;Ee<_e.length;Ee++){var Be=_e[Ee],Re=ce.measureText(Be),Ve=Math.ceil(Re.width),ct=H;me=Math.max(Ve,me),Le+=ct}return me+=N,Le+=N,M[S]={width:me,height:Le}},km.calculateLabelAngle=function(x,m){var k=x._private,S=k.rscratch,M=x.isEdge(),O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=N.strValue;return $==="none"?0:M&&$==="autorotate"?S.labelAutoAngle:$==="autorotate"?0:N.pfValue},km.calculateLabelAngles=function(x){var m=this,k=x.isEdge(),S=x._private,M=S.rscratch;M.labelAngle=m.calculateLabelAngle(x),k&&(M.sourceLabelAngle=m.calculateLabelAngle(x,"source"),M.targetLabelAngle=m.calculateLabelAngle(x,"target"))};var ez={},tz=28,nz=!1;ez.getNodeShape=function(x){var m=this,k=x.pstyle("shape").value;if(k==="cutrectangle"&&(x.width()1&&arguments[1]!==void 0?arguments[1]:!0;if(m.merge(N),$)for(var H=0;H=x.desktopTapThreshold2}var Wv=M(G);Wl&&(x.hoverData.tapholdCancelled=!0);var sy=function(){var Em=x.hoverData.dragDelta=x.hoverData.dragDelta||[];Em.length===0?(Em.push(xo[0]),Em.push(xo[1])):(Em[0]+=xo[0],Em[1]+=xo[1])};kr=!0,S(za,["mousemove","vmousemove","tapdrag"],G,{x:wr[0],y:wr[1]});var E8=function(){x.data.bgActivePosistion=void 0,x.hoverData.selecting||lr.emit({originalEvent:G,type:"boxstart",position:{x:wr[0],y:wr[1]}}),$c[4]=1,x.hoverData.selecting=!0,x.redrawHint("select",!0),x.redraw()};if(x.hoverData.which===3){if(Wl){var x5={originalEvent:G,type:"cxtdrag",position:{x:wr[0],y:wr[1]}};ba?ba.emit(x5):lr.emit(x5),x.hoverData.cxtDragged=!0,(!x.hoverData.cxtOver||za!==x.hoverData.cxtOver)&&(x.hoverData.cxtOver&&x.hoverData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:wr[0],y:wr[1]}}),x.hoverData.cxtOver=za,za&&za.emit({originalEvent:G,type:"cxtdragover",position:{x:wr[0],y:wr[1]}}))}}else if(x.hoverData.dragging){if(kr=!0,lr.panningEnabled()&&lr.userPanningEnabled()){var T8;if(x.hoverData.justStartedPan){var ZS=x.hoverData.mdownPos;T8={x:(wr[0]-ZS[0])*Vt,y:(wr[1]-ZS[1])*Vt},x.hoverData.justStartedPan=!1}else T8={x:xo[0]*Vt,y:xo[1]*Vt};lr.panBy(T8),lr.emit("dragpan"),x.hoverData.dragged=!0}wr=x.projectIntoViewport(G.clientX,G.clientY)}else if($c[4]==1&&(ba==null||ba.pannable())){if(Wl){if(!x.hoverData.dragging&&lr.boxSelectionEnabled()&&(Wv||!lr.panningEnabled()||!lr.userPanningEnabled()))E8();else if(!x.hoverData.selecting&&lr.panningEnabled()&&lr.userPanningEnabled()){var k5=O(ba,x.hoverData.downs);k5&&(x.hoverData.dragging=!0,x.hoverData.justStartedPan=!0,$c[4]=0,x.data.bgActivePosistion=J7(Es),x.redrawHint("select",!0),x.redraw())}ba&&ba.pannable()&&ba.active()&&ba.unactivate()}}else{if(ba&&ba.pannable()&&ba.active()&&ba.unactivate(),(!ba||!ba.grabbed())&&za!=Sc&&(Sc&&S(Sc,["mouseout","tapdragout"],G,{x:wr[0],y:wr[1]}),za&&S(za,["mouseover","tapdragover"],G,{x:wr[0],y:wr[1]}),x.hoverData.last=za),ba)if(Wl){if(lr.boxSelectionEnabled()&&Wv)ba&&ba.grabbed()&&(_e(lh),ba.emit("freeon"),lh.emit("free"),x.dragData.didDrag&&(ba.emit("dragfreeon"),lh.emit("dragfree"))),E8();else if(ba&&ba.grabbed()&&x.nodeIsDraggable(ba)){var Qd=!x.dragData.didDrag;Qd&&x.redrawHint("eles",!0),x.dragData.didDrag=!0,x.hoverData.draggingEles||me(lh,{inDragLayer:!0});var _1={x:0,y:0};if(X(xo[0])&&X(xo[1])&&(_1.x+=xo[0],_1.y+=xo[1],Qd)){var Jd=x.hoverData.dragDelta;Jd&&X(Jd[0])&&X(Jd[1])&&(_1.x+=Jd[0],_1.y+=Jd[1])}x.hoverData.draggingEles=!0,lh.silentShift(_1).emit("position drag"),x.redrawHint("drag",!0),x.redraw()}}else sy();kr=!0}if($c[2]=wr[0],$c[3]=wr[1],kr)return G.stopPropagation&&G.stopPropagation(),G.preventDefault&&G.preventDefault(),!1}},!1);var Lt,Mt,ut;x.registerBinding(m,"mouseup",function(G){var Jn=x.hoverData.capture;if(Jn){x.hoverData.capture=!1;var kr=x.cy,lr=x.projectIntoViewport(G.clientX,G.clientY),Vt=x.selection,Hs=x.findNearestElement(lr[0],lr[1],!0,!1),wr=x.dragData.possibleDragElements,Es=x.hoverData.down,go=M(G);if(x.data.bgActivePosistion&&(x.redrawHint("select",!0),x.redraw()),x.hoverData.tapholdCancelled=!0,x.data.bgActivePosistion=void 0,Es&&Es.unactivate(),x.hoverData.which===3){var $c={originalEvent:G,type:"cxttapend",position:{x:lr[0],y:lr[1]}};if(Es?Es.emit($c):kr.emit($c),!x.hoverData.cxtDragged){var za={originalEvent:G,type:"cxttap",position:{x:lr[0],y:lr[1]}};Es?Es.emit(za):kr.emit(za)}x.hoverData.cxtDragged=!1,x.hoverData.which=null}else if(x.hoverData.which===1){if(S(Hs,["mouseup","tapend","vmouseup"],G,{x:lr[0],y:lr[1]}),!x.dragData.didDrag&&!x.hoverData.dragged&&!x.hoverData.selecting&&!x.hoverData.isOverThresholdDrag&&(S(Es,["click","tap","vclick"],G,{x:lr[0],y:lr[1]}),Mt=!1,G.timeStamp-ut<=kr.multiClickDebounceTime()?(Lt&&clearTimeout(Lt),Mt=!0,ut=null,S(Es,["dblclick","dbltap","vdblclick"],G,{x:lr[0],y:lr[1]})):(Lt=setTimeout(function(){Mt||S(Es,["oneclick","onetap","voneclick"],G,{x:lr[0],y:lr[1]})},kr.multiClickDebounceTime()),ut=G.timeStamp)),Es==null&&!x.dragData.didDrag&&!x.hoverData.selecting&&!x.hoverData.dragged&&!M(G)&&(kr.$(k).unselect(["tapunselect"]),wr.length>0&&x.redrawHint("eles",!0),x.dragData.possibleDragElements=wr=kr.collection()),Hs==Es&&!x.dragData.didDrag&&!x.hoverData.selecting&&Hs!=null&&Hs._private.selectable&&(x.hoverData.dragging||(kr.selectionType()==="additive"||go?Hs.selected()?Hs.unselect(["tapunselect"]):Hs.select(["tapselect"]):go||(kr.$(k).unmerge(Hs).unselect(["tapunselect"]),Hs.select(["tapselect"]))),x.redrawHint("eles",!0)),x.hoverData.selecting){var Sc=kr.collection(x.getAllInBox(Vt[0],Vt[1],Vt[2],Vt[3]));x.redrawHint("select",!0),Sc.length>0&&x.redrawHint("eles",!0),kr.emit({type:"boxend",originalEvent:G,position:{x:lr[0],y:lr[1]}});var ba=function(Wl){return Wl.selectable()&&!Wl.selected()};kr.selectionType()==="additive"||go||kr.$(k).unmerge(Sc).unselect(),Sc.emit("box").stdFilter(ba).select().emit("boxselect"),x.redraw()}if(x.hoverData.dragging&&(x.hoverData.dragging=!1,x.redrawHint("select",!0),x.redrawHint("eles",!0),x.redraw()),!Vt[4]){x.redrawHint("drag",!0),x.redrawHint("eles",!0);var xo=Es&&Es.grabbed();_e(wr),xo&&(Es.emit("freeon"),wr.emit("free"),x.dragData.didDrag&&(Es.emit("dragfreeon"),wr.emit("dragfree")))}}Vt[4]=0,x.hoverData.down=null,x.hoverData.cxtStarted=!1,x.hoverData.draggingEles=!1,x.hoverData.selecting=!1,x.hoverData.isOverThresholdDrag=!1,x.dragData.didDrag=!1,x.hoverData.dragged=!1,x.hoverData.dragDelta=[],x.hoverData.mdownPos=null,x.hoverData.mdownGPos=null}},!1);var Wt=function(G){if(!x.scrollingPage){var Jn=x.cy,kr=Jn.zoom(),lr=Jn.pan(),Vt=x.projectIntoViewport(G.clientX,G.clientY),Hs=[Vt[0]*kr+lr.x,Vt[1]*kr+lr.y];if(x.hoverData.draggingEles||x.hoverData.dragging||x.hoverData.cxtStarted||mt()){G.preventDefault();return}if(Jn.panningEnabled()&&Jn.userPanningEnabled()&&Jn.zoomingEnabled()&&Jn.userZoomingEnabled()){G.preventDefault(),x.data.wheelZooming=!0,clearTimeout(x.data.wheelTimeout),x.data.wheelTimeout=setTimeout(function(){x.data.wheelZooming=!1,x.redrawHint("eles",!0),x.redraw()},150);var wr;G.deltaY!=null?wr=G.deltaY/-250:G.wheelDeltaY!=null?wr=G.wheelDeltaY/1e3:wr=G.wheelDelta/1e3,wr=wr*x.wheelSensitivity;var Es=G.deltaMode===1;Es&&(wr*=33);var go=Jn.zoom()*Math.pow(10,wr);G.type==="gesturechange"&&(go=x.gestureStartZoom*G.scale),Jn.zoom({level:go,renderedPosition:{x:Hs[0],y:Hs[1]}}),Jn.emit(G.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};x.registerBinding(x.container,"wheel",Wt,!0),x.registerBinding(m,"scroll",function(G){x.scrollingPage=!0,clearTimeout(x.scrollingPageTimeout),x.scrollingPageTimeout=setTimeout(function(){x.scrollingPage=!1},250)},!0),x.registerBinding(x.container,"gesturestart",function(G){x.gestureStartZoom=x.cy.zoom(),x.hasTouchStarted||G.preventDefault()},!0),x.registerBinding(x.container,"gesturechange",function(tr){x.hasTouchStarted||Wt(tr)},!0),x.registerBinding(x.container,"mouseout",function(G){var Jn=x.projectIntoViewport(G.clientX,G.clientY);x.cy.emit({originalEvent:G,type:"mouseout",position:{x:Jn[0],y:Jn[1]}})},!1),x.registerBinding(x.container,"mouseover",function(G){var Jn=x.projectIntoViewport(G.clientX,G.clientY);x.cy.emit({originalEvent:G,type:"mouseover",position:{x:Jn[0],y:Jn[1]}})},!1);var Tt,_n,hn,Yt,Dn,ir,vr,Nn,pr,Er,Mr,Cr,Or,Wn=function(G,Jn,kr,lr){return Math.sqrt((kr-G)*(kr-G)+(lr-Jn)*(lr-Jn))},br=function(G,Jn,kr,lr){return(kr-G)*(kr-G)+(lr-Jn)*(lr-Jn)},Sr;x.registerBinding(x.container,"touchstart",Sr=function(G){if(x.hasTouchStarted=!0,!!Je(G)){Be(),x.touchData.capture=!0,x.data.bgActivePosistion=void 0;var Jn=x.cy,kr=x.touchData.now,lr=x.touchData.earlier;if(G.touches[0]){var Vt=x.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);kr[0]=Vt[0],kr[1]=Vt[1]}if(G.touches[1]){var Vt=x.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);kr[2]=Vt[0],kr[3]=Vt[1]}if(G.touches[2]){var Vt=x.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);kr[4]=Vt[0],kr[5]=Vt[1]}if(G.touches[1]){x.touchData.singleTouchMoved=!0,_e(x.dragData.touchDragEles);var Hs=x.findContainerClientCoords();pr=Hs[0],Er=Hs[1],Mr=Hs[2],Cr=Hs[3],Tt=G.touches[0].clientX-pr,_n=G.touches[0].clientY-Er,hn=G.touches[1].clientX-pr,Yt=G.touches[1].clientY-Er,Or=0<=Tt&&Tt<=Mr&&0<=hn&&hn<=Mr&&0<=_n&&_n<=Cr&&0<=Yt&&Yt<=Cr;var wr=Jn.pan(),Es=Jn.zoom();Dn=Wn(Tt,_n,hn,Yt),ir=br(Tt,_n,hn,Yt),vr=[(Tt+hn)/2,(_n+Yt)/2],Nn=[(vr[0]-wr.x)/Es,(vr[1]-wr.y)/Es];var go=200,$c=go*go;if(ir<$c&&!G.touches[2]){var za=x.findNearestElement(kr[0],kr[1],!0,!0),Sc=x.findNearestElement(kr[2],kr[3],!0,!0);za&&za.isNode()?(za.activate().emit({originalEvent:G,type:"cxttapstart",position:{x:kr[0],y:kr[1]}}),x.touchData.start=za):Sc&&Sc.isNode()?(Sc.activate().emit({originalEvent:G,type:"cxttapstart",position:{x:kr[0],y:kr[1]}}),x.touchData.start=Sc):Jn.emit({originalEvent:G,type:"cxttapstart",position:{x:kr[0],y:kr[1]}}),x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxt=!0,x.touchData.cxtDragged=!1,x.data.bgActivePosistion=void 0,x.redraw();return}}if(G.touches[2])Jn.boxSelectionEnabled()&&G.preventDefault();else if(!G.touches[1]){if(G.touches[0]){var ba=x.findNearestElements(kr[0],kr[1],!0,!0),xo=ba[0];if(xo!=null&&(xo.activate(),x.touchData.start=xo,x.touchData.starts=ba,x.nodeIsGrabbable(xo))){var lh=x.dragData.touchDragEles=Jn.collection(),Wl=null;x.redrawHint("eles",!0),x.redrawHint("drag",!0),xo.selected()?(Wl=Jn.$(function(fd){return fd.selected()&&x.nodeIsGrabbable(fd)}),me(Wl,{addToList:lh})):Le(xo,{addToList:lh}),Y(xo);var Z2=function(Wv){return{originalEvent:G,type:Wv,position:{x:kr[0],y:kr[1]}}};xo.emit(Z2("grabon")),Wl?Wl.forEach(function(fd){fd.emit(Z2("grab"))}):xo.emit(Z2("grab"))}S(xo,["touchstart","tapstart","vmousedown"],G,{x:kr[0],y:kr[1]}),xo==null&&(x.data.bgActivePosistion={x:Vt[0],y:Vt[1]},x.redrawHint("select",!0),x.redraw()),x.touchData.singleTouchMoved=!1,x.touchData.singleTouchStartTime=+new Date,clearTimeout(x.touchData.tapholdTimeout),x.touchData.tapholdTimeout=setTimeout(function(){x.touchData.singleTouchMoved===!1&&!x.pinching&&!x.touchData.selecting&&S(x.touchData.start,["taphold"],G,{x:kr[0],y:kr[1]})},x.tapholdDuration)}}if(G.touches.length>=1){for(var eb=x.touchData.startPosition=[null,null,null,null,null,null],G0=0;G0=x.touchTapThreshold2}if(Jn&&x.touchData.cxt){G.preventDefault();var eb=G.touches[0].clientX-pr,G0=G.touches[0].clientY-Er,zp=G.touches[1].clientX-pr,fd=G.touches[1].clientY-Er,Wv=br(eb,G0,zp,fd),sy=Wv/ir,E8=150,x5=E8*E8,T8=1.5,ZS=T8*T8;if(sy>=ZS||Wv>=x5){x.touchData.cxt=!1,x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var k5={originalEvent:G,type:"cxttapend",position:{x:Vt[0],y:Vt[1]}};x.touchData.start?(x.touchData.start.unactivate().emit(k5),x.touchData.start=null):lr.emit(k5)}}if(Jn&&x.touchData.cxt){var k5={originalEvent:G,type:"cxtdrag",position:{x:Vt[0],y:Vt[1]}};x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.touchData.start?x.touchData.start.emit(k5):lr.emit(k5),x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxtDragged=!0;var Qd=x.findNearestElement(Vt[0],Vt[1],!0,!0);(!x.touchData.cxtOver||Qd!==x.touchData.cxtOver)&&(x.touchData.cxtOver&&x.touchData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:Vt[0],y:Vt[1]}}),x.touchData.cxtOver=Qd,Qd&&Qd.emit({originalEvent:G,type:"cxtdragover",position:{x:Vt[0],y:Vt[1]}}))}else if(Jn&&G.touches[2]&&lr.boxSelectionEnabled())G.preventDefault(),x.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,x.touchData.selecting||lr.emit({originalEvent:G,type:"boxstart",position:{x:Vt[0],y:Vt[1]}}),x.touchData.selecting=!0,x.touchData.didSelect=!0,kr[4]=1,!kr||kr.length===0||kr[0]===void 0?(kr[0]=(Vt[0]+Vt[2]+Vt[4])/3,kr[1]=(Vt[1]+Vt[3]+Vt[5])/3,kr[2]=(Vt[0]+Vt[2]+Vt[4])/3+1,kr[3]=(Vt[1]+Vt[3]+Vt[5])/3+1):(kr[2]=(Vt[0]+Vt[2]+Vt[4])/3,kr[3]=(Vt[1]+Vt[3]+Vt[5])/3),x.redrawHint("select",!0),x.redraw();else if(Jn&&G.touches[1]&&!x.touchData.didSelect&&lr.zoomingEnabled()&&lr.panningEnabled()&&lr.userZoomingEnabled()&&lr.userPanningEnabled()){G.preventDefault(),x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var _1=x.dragData.touchDragEles;if(_1){x.redrawHint("drag",!0);for(var Jd=0;Jd<_1.length;Jd++){var Yv=_1[Jd]._private;Yv.grabbed=!1,Yv.rscratch.inDragLayer=!1}}var Em=x.touchData.start,eb=G.touches[0].clientX-pr,G0=G.touches[0].clientY-Er,zp=G.touches[1].clientX-pr,fd=G.touches[1].clientY-Er,Lz=Wn(eb,G0,zp,fd),Lie=Lz/Dn;if(Or){var Mie=eb-Tt,e_=G0-_n,Die=zp-hn,Iie=fd-Yt,E5=(Mie+Die)/2,Mz=(e_+Iie)/2,yk=lr.zoom(),UI=yk*Lie,t_=lr.pan(),Dz=Nn[0]*yk+t_.x,Iz=Nn[1]*yk+t_.y,Oie={x:-UI/yk*(Dz-t_.x-E5)+Dz,y:-UI/yk*(Iz-t_.y-Mz)+Iz};if(Em&&Em.active()){var _1=x.dragData.touchDragEles;_e(_1),x.redrawHint("drag",!0),x.redrawHint("eles",!0),Em.unactivate().emit("freeon"),_1.emit("free"),x.dragData.didDrag&&(Em.emit("dragfreeon"),_1.emit("dragfree"))}lr.viewport({zoom:UI,pan:Oie,cancelOnFailedZoom:!0}),lr.emit("pinchzoom"),Dn=Lz,Tt=eb,_n=G0,hn=zp,Yt=fd,x.pinching=!0}if(G.touches[0]){var Es=x.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Vt[0]=Es[0],Vt[1]=Es[1]}if(G.touches[1]){var Es=x.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);Vt[2]=Es[0],Vt[3]=Es[1]}if(G.touches[2]){var Es=x.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);Vt[4]=Es[0],Vt[5]=Es[1]}}else if(G.touches[0]&&!x.touchData.didSelect){var qp=x.touchData.start,n_=x.touchData.last,Qd;if(!x.hoverData.draggingEles&&!x.swipePanning&&(Qd=x.findNearestElement(Vt[0],Vt[1],!0,!0)),Jn&&qp!=null&&G.preventDefault(),Jn&&qp!=null&&x.nodeIsDraggable(qp))if($c){var _1=x.dragData.touchDragEles,GI=!x.dragData.didDrag;GI&&me(_1,{inDragLayer:!0}),x.dragData.didDrag=!0;var Tm={x:0,y:0};if(X(za[0])&&X(za[1])&&(Tm.x+=za[0],Tm.y+=za[1],GI)){x.redrawHint("eles",!0);var Zd=x.touchData.dragDelta;Zd&&X(Zd[0])&&X(Zd[1])&&(Tm.x+=Zd[0],Tm.y+=Zd[1])}x.hoverData.draggingEles=!0,_1.silentShift(Tm).emit("position drag"),x.redrawHint("drag",!0),x.touchData.startPosition[0]==Hs[0]&&x.touchData.startPosition[1]==Hs[1]&&x.redrawHint("eles",!0),x.redraw()}else{var Zd=x.touchData.dragDelta=x.touchData.dragDelta||[];Zd.length===0?(Zd.push(za[0]),Zd.push(za[1])):(Zd[0]+=za[0],Zd[1]+=za[1])}if(S(qp||Qd,["touchmove","tapdrag","vmousemove"],G,{x:Vt[0],y:Vt[1]}),(!qp||!qp.grabbed())&&Qd!=n_&&(n_&&n_.emit({originalEvent:G,type:"tapdragout",position:{x:Vt[0],y:Vt[1]}}),Qd&&Qd.emit({originalEvent:G,type:"tapdragover",position:{x:Vt[0],y:Vt[1]}})),x.touchData.last=Qd,Jn)for(var Jd=0;Jd0&&!x.hoverData.draggingEles&&!x.swipePanning&&x.data.bgActivePosistion!=null&&(x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.redraw())}},!1);var Si;x.registerBinding(m,"touchcancel",Si=function(G){var Jn=x.touchData.start;x.touchData.capture=!1,Jn&&Jn.unactivate()});var ys,pa,Mi,gi;if(x.registerBinding(m,"touchend",ys=function(G){var Jn=x.touchData.start,kr=x.touchData.capture;if(kr)G.touches.length===0&&(x.touchData.capture=!1),G.preventDefault();else return;var lr=x.selection;x.swipePanning=!1,x.hoverData.draggingEles=!1;var Vt=x.cy,Hs=Vt.zoom(),wr=x.touchData.now,Es=x.touchData.earlier;if(G.touches[0]){var go=x.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);wr[0]=go[0],wr[1]=go[1]}if(G.touches[1]){var go=x.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);wr[2]=go[0],wr[3]=go[1]}if(G.touches[2]){var go=x.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);wr[4]=go[0],wr[5]=go[1]}Jn&&Jn.unactivate();var $c;if(x.touchData.cxt){if($c={originalEvent:G,type:"cxttapend",position:{x:wr[0],y:wr[1]}},Jn?Jn.emit($c):Vt.emit($c),!x.touchData.cxtDragged){var za={originalEvent:G,type:"cxttap",position:{x:wr[0],y:wr[1]}};Jn?Jn.emit(za):Vt.emit(za)}x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxt=!1,x.touchData.start=null,x.redraw();return}if(!G.touches[2]&&Vt.boxSelectionEnabled()&&x.touchData.selecting){x.touchData.selecting=!1;var Sc=Vt.collection(x.getAllInBox(lr[0],lr[1],lr[2],lr[3]));lr[0]=void 0,lr[1]=void 0,lr[2]=void 0,lr[3]=void 0,lr[4]=0,x.redrawHint("select",!0),Vt.emit({type:"boxend",originalEvent:G,position:{x:wr[0],y:wr[1]}});var ba=function(x5){return x5.selectable()&&!x5.selected()};Sc.emit("box").stdFilter(ba).select().emit("boxselect"),Sc.nonempty()&&x.redrawHint("eles",!0),x.redraw()}if(Jn!=null&&Jn.unactivate(),G.touches[2])x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);else if(!G.touches[1]){if(!G.touches[0]){if(!G.touches[0]){x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var xo=x.dragData.touchDragEles;if(Jn!=null){var lh=Jn._private.grabbed;_e(xo),x.redrawHint("drag",!0),x.redrawHint("eles",!0),lh&&(Jn.emit("freeon"),xo.emit("free"),x.dragData.didDrag&&(Jn.emit("dragfreeon"),xo.emit("dragfree"))),S(Jn,["touchend","tapend","vmouseup","tapdragout"],G,{x:wr[0],y:wr[1]}),Jn.unactivate(),x.touchData.start=null}else{var Wl=x.findNearestElement(wr[0],wr[1],!0,!0);S(Wl,["touchend","tapend","vmouseup","tapdragout"],G,{x:wr[0],y:wr[1]})}var Z2=x.touchData.startPosition[0]-wr[0],eb=Z2*Z2,G0=x.touchData.startPosition[1]-wr[1],zp=G0*G0,fd=eb+zp,Wv=fd*Hs*Hs;x.touchData.singleTouchMoved||(Jn||Vt.$(":selected").unselect(["tapunselect"]),S(Jn,["tap","vclick"],G,{x:wr[0],y:wr[1]}),pa=!1,G.timeStamp-gi<=Vt.multiClickDebounceTime()?(Mi&&clearTimeout(Mi),pa=!0,gi=null,S(Jn,["dbltap","vdblclick"],G,{x:wr[0],y:wr[1]})):(Mi=setTimeout(function(){pa||S(Jn,["onetap","voneclick"],G,{x:wr[0],y:wr[1]})},Vt.multiClickDebounceTime()),gi=G.timeStamp)),Jn!=null&&!x.dragData.didDrag&&Jn._private.selectable&&Wv"u"){var fs=[],Fs=function(G){return{clientX:G.clientX,clientY:G.clientY,force:1,identifier:G.pointerId,pageX:G.pageX,pageY:G.pageY,radiusX:G.width/2,radiusY:G.height/2,screenX:G.screenX,screenY:G.screenY,target:G.target}},xs=function(G){return{event:G,touch:Fs(G)}},Rs=function(G){fs.push(xs(G))},yo=function(G){for(var Jn=0;Jn0)return Nn[0]}return null},ve=Object.keys(Z),me=0;me0?ce:bj(O,N,m,k,S,M,$)},checkPoint:function(m,k,S,M,O,N,$){var H=W9(M,O),q=2*H;if(Uv(m,k,this.points,N,$,M,O-q,[0,-1],S)||Uv(m,k,this.points,N,$,M-q,O,[0,-1],S))return!0;var Y=M/2+2*S,Z=O/2+2*S,ce=[N-Y,$-Z,N-Y,$,N+Y,$,N+Y,$-Z];return!!(Yd(m,k,ce)||d5(m,k,q,q,N+M/2-H,$+O/2-H,S)||d5(m,k,q,q,N-M/2+H,$+O/2-H,S))}}},Kv.registerNodeShapes=function(){var x=this.nodeShapes={},m=this;this.generateEllipse(),this.generatePolygon("triangle",hd(3,0)),this.generateRoundPolygon("round-triangle",hd(3,0)),this.generatePolygon("rectangle",hd(4,0)),x.square=x.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var k=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",k),this.generateRoundPolygon("round-diamond",k)}this.generatePolygon("pentagon",hd(5,0)),this.generateRoundPolygon("round-pentagon",hd(5,0)),this.generatePolygon("hexagon",hd(6,0)),this.generateRoundPolygon("round-hexagon",hd(6,0)),this.generatePolygon("heptagon",hd(7,0)),this.generateRoundPolygon("round-heptagon",hd(7,0)),this.generatePolygon("octagon",hd(8,0)),this.generateRoundPolygon("round-octagon",hd(8,0));var S=new Array(20);{var M=oI(5,0),O=oI(5,Math.PI/5),N=.5*(3-Math.sqrt(5));N*=1.57;for(var $=0;$=m.deqFastCost*Ve)break}else if(q){if(Be>=m.deqCost*ve||Be>=m.deqAvgCost*ce)break}else if(Re>=m.deqNoDrawCost*RI)break;var ct=m.deq(S,_e,Le);if(ct.length>0)for(var st=0;st0&&(m.onDeqd(S,me),!q&&m.shouldRedraw(S,me,_e,Le)&&O())},$=m.priority||nI;M.beforeRender(N,$(S))}}}},Ure=function(){function x(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:X3;d(this,x),this.idsByKey=new wm,this.keyForId=new wm,this.cachesByLvl=new wm,this.lvls=[],this.getKey=m,this.doesEleInvalidateKey=k}return v(x,[{key:"getIdsFor",value:function(k){k==null&&ch("Can not get id list for null key");var S=this.idsByKey,M=this.idsByKey.get(k);return M||(M=new Q7,S.set(k,M)),M}},{key:"addIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).add(S)}},{key:"deleteIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).delete(S)}},{key:"getNumberOfIdsForKey",value:function(k){return k==null?0:this.getIdsFor(k).size}},{key:"updateKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);this.deleteIdForKey(M,S),this.addIdForKey(O,S),this.keyForId.set(S,O)}},{key:"deleteKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteIdForKey(M,S),this.keyForId.delete(S)}},{key:"keyHasChangedFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);return M!==O}},{key:"isInvalid",value:function(k){return this.keyHasChangedFor(k)||this.doesEleInvalidateKey(k)}},{key:"getCachesAt",value:function(k){var S=this.cachesByLvl,M=this.lvls,O=S.get(k);return O||(O=new wm,S.set(k,O),M.push(k)),O}},{key:"getCache",value:function(k,S){return this.getCachesAt(S).get(k)}},{key:"get",value:function(k,S){var M=this.getKey(k),O=this.getCache(M,S);return O!=null&&this.updateKeyMappingFor(k),O}},{key:"getForCachedKey",value:function(k,S){var M=this.keyForId.get(k.id()),O=this.getCache(M,S);return O}},{key:"hasCache",value:function(k,S){return this.getCachesAt(S).has(k)}},{key:"has",value:function(k,S){var M=this.getKey(k);return this.hasCache(M,S)}},{key:"setCache",value:function(k,S,M){M.key=k,this.getCachesAt(S).set(k,M)}},{key:"set",value:function(k,S,M){var O=this.getKey(k);this.setCache(O,S,M),this.updateKeyMappingFor(k)}},{key:"deleteCache",value:function(k,S){this.getCachesAt(S).delete(k)}},{key:"delete",value:function(k,S){var M=this.getKey(k);this.deleteCache(M,S)}},{key:"invalidateKey",value:function(k){var S=this;this.lvls.forEach(function(M){return S.deleteCache(k,M)})}},{key:"invalidate",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteKeyMappingFor(k);var O=this.doesEleInvalidateKey(k);return O&&this.invalidateKey(M),O||this.getNumberOfIdsForKey(M)===0}}]),x}(),cz=25,YS=50,XS=-4,jI=3,Gre=7.99,Kre=8,Wre=1024,Yre=1024,Xre=1024,Qre=.2,Jre=.8,Zre=10,eie=.15,tie=.1,nie=.9,rie=.9,iie=100,sie=1,v8={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},aie=q0({getKey:null,doesEleInvalidateKey:X3,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:l5,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),dk=function(m,k){var S=this;S.renderer=m,S.onDequeues=[];var M=aie(k);yt(S,M),S.lookup=new Ure(M.getKey,M.doesEleInvalidateKey),S.setupDequeueing()},Cf=dk.prototype;Cf.reasons=v8,Cf.getTextureQueue=function(x){var m=this;return m.eleImgCaches=m.eleImgCaches||{},m.eleImgCaches[x]=m.eleImgCaches[x]||[]},Cf.getRetiredTextureQueue=function(x){var m=this,k=m.eleImgCaches.retired=m.eleImgCaches.retired||{},S=k[x]=k[x]||[];return S},Cf.getElementQueue=function(){var x=this,m=x.eleCacheQueue=x.eleCacheQueue||new V9(function(k,S){return S.reqs-k.reqs});return m},Cf.getElementKeyToQueue=function(){var x=this,m=x.eleKeyToCacheQueue=x.eleKeyToCacheQueue||{};return m},Cf.getElement=function(x,m,k,S,M){var O=this,N=this.renderer,$=N.cy.zoom(),H=this.lookup;if(!m||m.w===0||m.h===0||isNaN(m.w)||isNaN(m.h)||!x.visible()||x.removed()||!O.allowEdgeTxrCaching&&x.isEdge()||!O.allowParentTxrCaching&&x.isParent())return null;if(S==null&&(S=Math.ceil(iI($*k))),S=Gre||S>jI)return null;var q=Math.pow(2,S),Y=m.h*q,Z=m.w*q,ce=N.eleTextBiggerThanMin(x,q);if(!this.isVisible(x,ce))return null;var ve=H.get(x,S);if(ve&&ve.invalidated&&(ve.invalidated=!1,ve.texture.invalidatedWidth-=ve.width),ve)return ve;var me;if(Y<=cz?me=cz:Y<=YS?me=YS:me=Math.ceil(Y/YS)*YS,Y>Xre||Z>Yre)return null;var Le=O.getTextureQueue(me),_e=Le[Le.length-2],Ee=function(){return O.recycleTexture(me,Z)||O.addTexture(me,Z)};_e||(_e=Le[Le.length-1]),_e||(_e=Ee()),_e.width-_e.usedWidthS;Mt--)Je=O.getElement(x,m,k,Mt,v8.downscale);Lt()}else return O.queueElement(x,st.level-1),st;else{var ut;if(!Re&&!Ve&&!ct)for(var Wt=S-1;Wt>=XS;Wt--){var Tt=H.get(x,Wt);if(Tt){ut=Tt;break}}if(Be(ut))return O.queueElement(x,S),ut;_e.context.translate(_e.usedWidth,0),_e.context.scale(q,q),this.drawElement(_e.context,x,m,ce,!1),_e.context.scale(1/q,1/q),_e.context.translate(-_e.usedWidth,0)}return ve={x:_e.usedWidth,texture:_e,level:S,scale:q,width:Z,height:Y,scaledLabelShown:ce},_e.usedWidth+=Math.ceil(Z+Kre),_e.eleCaches.push(ve),H.set(x,S,ve),O.checkTextureFullness(_e),ve},Cf.invalidateElements=function(x){for(var m=0;m=Qre*x.width&&this.retireTexture(x)},Cf.checkTextureFullness=function(x){var m=this,k=m.getTextureQueue(x.height);x.usedWidth/x.width>Jre&&x.fullnessChecks>=Zre?Q3(k,x):x.fullnessChecks++},Cf.retireTexture=function(x){var m=this,k=x.height,S=m.getTextureQueue(k),M=this.lookup;Q3(S,x),x.retired=!0;for(var O=x.eleCaches,N=0;N=m)return N.retired=!1,N.usedWidth=0,N.invalidatedWidth=0,N.fullnessChecks=0,cS(N.eleCaches),N.context.setTransform(1,0,0,1,0,0),N.context.clearRect(0,0,N.width,N.height),Q3(M,N),S.push(N),N}},Cf.queueElement=function(x,m){var k=this,S=k.getElementQueue(),M=k.getElementKeyToQueue(),O=this.getKey(x),N=M[O];if(N)N.level=Math.max(N.level,m),N.eles.merge(x),N.reqs++,S.updateItem(N);else{var $={eles:x.spawn().merge(x),level:m,reqs:1,key:O};S.push($),M[O]=$}},Cf.dequeue=function(x){for(var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=[],O=m.lookup,N=0;N0;N++){var $=k.pop(),H=$.key,q=$.eles[0],Y=O.hasCache(q,$.level);if(S[H]=null,Y)continue;M.push($);var Z=m.getBoundingBox(q);m.getElement(q,Z,x,$.level,v8.dequeue)}return M},Cf.removeFromQueue=function(x){var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=this.getKey(x),O=S[M];O!=null&&(O.eles.length===1?(O.reqs=X7,k.updateItem(O),k.pop(),S[M]=null):O.eles.unmerge(x))},Cf.onDequeue=function(x){this.onDequeues.push(x)},Cf.offDequeue=function(x){Q3(this.onDequeues,x)},Cf.setupDequeueing=oz.setupDequeueing({deqRedrawThreshold:iie,deqCost:eie,deqAvgCost:tie,deqNoDrawCost:nie,deqFastCost:rie,deq:function(m,k,S){return m.dequeue(k,S)},onDeqd:function(m,k){for(var S=0;S=cie||k>QS)return null}S.validateLayersElesOrdering(k,x);var H=S.layersByLevel,q=Math.pow(2,k),Y=H[k]=H[k]||[],Z,ce=S.levelIsComplete(k,x),ve,me=function(){var Lt=function(_n){if(S.validateLayersElesOrdering(_n,x),S.levelIsComplete(_n,x))return ve=H[_n],!0},Mt=function(_n){if(!ve)for(var hn=k+_n;gk<=hn&&hn<=QS&&!Lt(hn);hn+=_n);};Mt(1),Mt(-1);for(var ut=Y.length-1;ut>=0;ut--){var Wt=Y[ut];Wt.invalid&&Q3(Y,Wt)}};if(!ce)me();else return Y;var Le=function(){if(!Z){Z=Wd();for(var Lt=0;Lthz)return null;var Wt=S.makeLayer(Z,k);if(Mt!=null){var Tt=Y.indexOf(Mt)+1;Y.splice(Tt,0,Wt)}else(Lt.insert===void 0||Lt.insert)&&Y.unshift(Wt);return Wt};if(S.skipping&&!$)return null;for(var Ee=null,Be=x.length/oie,Re=!$,Ve=0;Ve=Be||!pj(Ee.bb,ct.boundingBox()))&&(Ee=_e({insert:!0,after:Ee}),!Ee))return null;ve||Re?S.queueLayer(Ee,ct):S.drawEleInLayer(Ee,ct,k,m),Ee.eles.push(ct),Ye[k]=Ee}return ve||(Re?null:Y)},n0.getEleLevelForLayerLevel=function(x,m){return x},n0.drawEleInLayer=function(x,m,k,S){var M=this,O=this.renderer,N=x.context,$=m.boundingBox();$.w===0||$.h===0||!m.visible()||(k=M.getEleLevelForLayerLevel(k,S),O.setImgSmoothing(N,!1),O.drawCachedElement(N,m,null,null,k,fz),O.setImgSmoothing(N,!0))},n0.levelIsComplete=function(x,m){var k=this,S=k.layersByLevel[x];if(!S||S.length===0)return!1;for(var M=0,O=0;O0||N.invalid)return!1;M+=N.eles.length}return M===m.length},n0.validateLayersElesOrdering=function(x,m){var k=this.layersByLevel[x];if(k)for(var S=0;S0){m=!0;break}}return m},n0.invalidateElements=function(x){var m=this;x.length!==0&&(m.lastInvalidationTime=Bp(),!(x.length===0||!m.haveLayers())&&m.updateElementsInLayers(x,function(S,M,O){m.invalidateLayer(S)}))},n0.invalidateLayer=function(x){if(this.lastInvalidationTime=Bp(),!x.invalid){var m=x.level,k=x.eles,S=this.layersByLevel[m];Q3(S,x),x.elesQueue=[],x.invalid=!0,x.replacement&&(x.replacement.invalid=!0);for(var M=0;M3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$=m._private.rscratch;if(!(O&&!m.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var H;k&&(H=k,x.translate(-H.x1,-H.y1));var q=O?m.pstyle("opacity").value:1,Y=O?m.pstyle("line-opacity").value:1,Z=m.pstyle("curve-style").value,ce=m.pstyle("line-style").value,ve=m.pstyle("width").pfValue,me=m.pstyle("line-cap").value,Le=q*Y,_e=q*Y,Ee=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Le;Z==="straight-triangle"?(N.eleStrokeStyle(x,m,ut),N.drawEdgeTrianglePath(m,x,$.allpts)):(x.lineWidth=ve,x.lineCap=me,N.eleStrokeStyle(x,m,ut),N.drawEdgePath(m,x,$.allpts,ce),x.lineCap="butt")},Be=function(){M&&N.drawEdgeOverlay(x,m)},Re=function(){M&&N.drawEdgeUnderlay(x,m)},Ve=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_e;N.drawArrowheads(x,m,ut)},ct=function(){N.drawElementText(x,m,null,S)};x.lineJoin="round";var st=m.pstyle("ghost").value==="yes";if(st){var Ye=m.pstyle("ghost-offset-x").pfValue,mt=m.pstyle("ghost-offset-y").pfValue,Je=m.pstyle("ghost-opacity").value,Lt=Le*Je;x.translate(Ye,mt),Ee(Lt),Ve(Lt),x.translate(-Ye,-mt)}Re(),Ee(),Ve(),Be(),ct(),k&&x.translate(H.x1,H.y1)}};var wz=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S){if(S.visible()){var M=S.pstyle("".concat(m,"-opacity")).value;if(M!==0){var O=this,N=O.usePaths(),$=S._private.rscratch,H=S.pstyle("".concat(m,"-padding")).pfValue,q=2*H,Y=S.pstyle("".concat(m,"-color")).value;k.lineWidth=q,$.edgeType==="self"&&!N?k.lineCap="butt":k.lineCap="round",O.colorStrokeStyle(k,Y[0],Y[1],Y[2],M),O.drawEdgePath(S,k,$.allpts,"solid")}}}};J2.drawEdgeOverlay=wz("overlay"),J2.drawEdgeUnderlay=wz("underlay"),J2.drawEdgePath=function(x,m,k,S){var M=x._private.rscratch,O=m,N,$=!1,H=this.usePaths(),q=x.pstyle("line-dash-pattern").pfValue,Y=x.pstyle("line-dash-offset").pfValue;if(H){var Z=k.join("$"),ce=M.pathCacheKey&&M.pathCacheKey===Z;ce?(N=m=M.pathCache,$=!0):(N=m=new Path2D,M.pathCacheKey=Z,M.pathCache=N)}if(O.setLineDash)switch(S){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(q),O.lineDashOffset=Y;break;case"solid":O.setLineDash([]);break}if(!$&&!M.badLine)switch(m.beginPath&&m.beginPath(),m.moveTo(k[0],k[1]),M.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ve=2;ve+35&&arguments[5]!==void 0?arguments[5]:!0,N=this;if(S==null){if(O&&!N.eleTextBiggerThanMin(m))return}else if(S===!1)return;if(m.isNode()){var $=m.pstyle("label");if(!$||!$.value)return;var H=N.getLabelJustification(m);x.textAlign=H,x.textBaseline="bottom"}else{var q=m.element()._private.rscratch.badLine,Y=m.pstyle("label"),Z=m.pstyle("source-label"),ce=m.pstyle("target-label");if(q||(!Y||!Y.value)&&(!Z||!Z.value)&&(!ce||!ce.value))return;x.textAlign="center",x.textBaseline="bottom"}var ve=!k,me;k&&(me=k,x.translate(-me.x1,-me.y1)),M==null?(N.drawText(x,m,null,ve,O),m.isEdge()&&(N.drawText(x,m,"source",ve,O),N.drawText(x,m,"target",ve,O))):N.drawText(x,m,M,ve,O),k&&x.translate(me.x1,me.y1)},y5.getFontCache=function(x){var m;this.fontCaches=this.fontCaches||[];for(var k=0;k2&&arguments[2]!==void 0?arguments[2]:!0,S=m.pstyle("font-style").strValue,M=m.pstyle("font-size").pfValue+"px",O=m.pstyle("font-family").strValue,N=m.pstyle("font-weight").strValue,$=k?m.effectiveOpacity()*m.pstyle("text-opacity").value:1,H=m.pstyle("text-outline-opacity").value*$,q=m.pstyle("color").value,Y=m.pstyle("text-outline-color").value;x.font=S+" "+N+" "+M+" "+O,x.lineJoin="round",this.colorFillStyle(x,q[0],q[1],q[2],$),this.colorStrokeStyle(x,Y[0],Y[1],Y[2],H)};function zI(x,m,k,S,M){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,N=arguments.length>6?arguments[6]:void 0;x.beginPath(),x.moveTo(m+O,k),x.lineTo(m+S-O,k),x.quadraticCurveTo(m+S,k,m+S,k+O),x.lineTo(m+S,k+M-O),x.quadraticCurveTo(m+S,k+M,m+S-O,k+M),x.lineTo(m+O,k+M),x.quadraticCurveTo(m,k+M,m,k+M-O),x.lineTo(m,k+O),x.quadraticCurveTo(m,k,m+O,k),x.closePath(),N?x.stroke():x.fill()}y5.getTextAngle=function(x,m){var k,S=x._private,M=S.rscratch,O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=K2(M,"labelAngle",m);return N.strValue==="autorotate"?k=x.isEdge()?$:0:N.strValue==="none"?k=0:k=N.pfValue,k},y5.drawText=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=m._private,N=O.rscratch,$=M?m.effectiveOpacity():1;if(!(M&&($===0||m.pstyle("text-opacity").value===0))){k==="main"&&(k=null);var H=K2(N,"labelX",k),q=K2(N,"labelY",k),Y,Z,ce=this.getLabelText(m,k);if(ce!=null&&ce!==""&&!isNaN(H)&&!isNaN(q)){this.setupTextStyle(x,m,M);var ve=k?k+"-":"",me=K2(N,"labelWidth",k),Le=K2(N,"labelHeight",k),_e=m.pstyle(ve+"text-margin-x").pfValue,Ee=m.pstyle(ve+"text-margin-y").pfValue,Be=m.isEdge(),Re=m.pstyle("text-halign").value,Ve=m.pstyle("text-valign").value;Be&&(Re="center",Ve="center"),H+=_e,q+=Ee;var ct;switch(S?ct=this.getTextAngle(m,k):ct=0,ct!==0&&(Y=H,Z=q,x.translate(Y,Z),x.rotate(ct),H=0,q=0),Ve){case"top":break;case"center":q+=Le/2;break;case"bottom":q+=Le;break}var st=m.pstyle("text-background-opacity").value,Ye=m.pstyle("text-border-opacity").value,mt=m.pstyle("text-border-width").pfValue,Je=m.pstyle("text-background-padding").pfValue,Lt=m.pstyle("text-background-shape").strValue,Mt=Lt.indexOf("round")===0,ut=2;if(st>0||mt>0&&Ye>0){var Wt=H-Je;switch(Re){case"left":Wt-=me;break;case"center":Wt-=me/2;break}var Tt=q-Le-Je,_n=me+2*Je,hn=Le+2*Je;if(st>0){var Yt=x.fillStyle,Dn=m.pstyle("text-background-color").value;x.fillStyle="rgba("+Dn[0]+","+Dn[1]+","+Dn[2]+","+st*$+")",Mt?zI(x,Wt,Tt,_n,hn,ut):x.fillRect(Wt,Tt,_n,hn),x.fillStyle=Yt}if(mt>0&&Ye>0){var ir=x.strokeStyle,vr=x.lineWidth,Nn=m.pstyle("text-border-color").value,pr=m.pstyle("text-border-style").value;if(x.strokeStyle="rgba("+Nn[0]+","+Nn[1]+","+Nn[2]+","+Ye*$+")",x.lineWidth=mt,x.setLineDash)switch(pr){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"double":x.lineWidth=mt/4,x.setLineDash([]);break;case"solid":x.setLineDash([]);break}if(Mt?zI(x,Wt,Tt,_n,hn,ut,"stroke"):x.strokeRect(Wt,Tt,_n,hn),pr==="double"){var Er=mt/2;Mt?zI(x,Wt+Er,Tt+Er,_n-Er*2,hn-Er*2,ut,"stroke"):x.strokeRect(Wt+Er,Tt+Er,_n-Er*2,hn-Er*2)}x.setLineDash&&x.setLineDash([]),x.lineWidth=vr,x.strokeStyle=ir}}var Mr=2*m.pstyle("text-outline-width").pfValue;if(Mr>0&&(x.lineWidth=Mr),m.pstyle("text-wrap").value==="wrap"){var Cr=K2(N,"labelWrapCachedLines",k),Or=K2(N,"labelLineHeight",k),Wn=me/2,br=this.getLabelJustification(m);switch(br==="auto"||(Re==="left"?br==="left"?H+=-me:br==="center"&&(H+=-Wn):Re==="center"?br==="left"?H+=-Wn:br==="right"&&(H+=Wn):Re==="right"&&(br==="center"?H+=Wn:br==="right"&&(H+=me))),Ve){case"top":q-=(Cr.length-1)*Or;break;case"center":case"bottom":q-=(Cr.length-1)*Or;break}for(var Sr=0;Sr0&&x.strokeText(Cr[Sr],H,q),x.fillText(Cr[Sr],H,q),q+=Or}else Mr>0&&x.strokeText(ce,H,q),x.fillText(ce,H,q);ct!==0&&(x.rotate(-ct),x.translate(-Y,-Z))}}};var w8={};w8.drawNode=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$,H,q=m._private,Y=q.rscratch,Z=m.position();if(!(!X(Z.x)||!X(Z.y))&&!(O&&!m.visible())){var ce=O?m.effectiveOpacity():1,ve=N.usePaths(),me,Le=!1,_e=m.padding();$=m.width()+2*_e,H=m.height()+2*_e;var Ee;k&&(Ee=k,x.translate(-Ee.x1,-Ee.y1));for(var Be=m.pstyle("background-image"),Re=Be.value,Ve=new Array(Re.length),ct=new Array(Re.length),st=0,Ye=0;Ye0&&arguments[0]!==void 0?arguments[0]:Wt;N.eleFillStyle(x,m,tr)},Er=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:hn;N.colorStrokeStyle(x,Tt[0],Tt[1],Tt[2],tr)},Mr=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vr;N.colorStrokeStyle(x,Dn[0],Dn[1],Dn[2],tr)},Cr=function(tr,G,Jn,kr){var lr=N.nodePathCache=N.nodePathCache||[],Vt=ld(Jn==="polygon"?Jn+","+kr.join(","):Jn,""+G,""+tr),Hs=lr[Vt],wr,Es=!1;return Hs!=null?(wr=Hs,Es=!0,Y.pathCache=wr):(wr=new Path2D,lr[Vt]=Y.pathCache=wr),{path:wr,cacheHit:Es}},Or=m.pstyle("shape").strValue,Wn=m.pstyle("shape-polygon-points").pfValue;if(ve){x.translate(Z.x,Z.y);var br=Cr($,H,Or,Wn);me=br.path,Le=br.cacheHit}var Sr=function(){if(!Le){var tr=Z;ve&&(tr={x:0,y:0}),N.nodeShapes[N.getNodeShape(m)].draw(me||x,tr.x,tr.y,$,H)}ve?x.fill(me):x.fill()},Nr=function(){for(var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Jn=q.backgrounding,kr=0,lr=0;lr0&&arguments[0]!==void 0?arguments[0]:!1,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ce;N.hasPie(m)&&(N.drawPie(x,m,G),tr&&(ve||N.nodeShapes[N.getNodeShape(m)].draw(x,Z.x,Z.y,$,H)))},ys=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,G=(Mt>0?Mt:-Mt)*tr,Jn=Mt>0?0:255;Mt!==0&&(N.colorFillStyle(x,Jn,Jn,Jn,G),ve?x.fill(me):x.fill())},pa=function(){if(ut>0){if(x.lineWidth=ut,x.lineCap="butt",x.setLineDash)switch(_n){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}if(ve?x.stroke(me):x.stroke(),_n==="double"){x.lineWidth=ut/3;var tr=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(me):x.stroke(),x.globalCompositeOperation=tr}x.setLineDash&&x.setLineDash([])}},Mi=function(){if(Yt>0){if(x.lineWidth=Yt,x.lineCap="butt",x.setLineDash)switch(ir){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}var tr=Z;ve&&(tr={x:0,y:0});var G=N.getNodeShape(m),Jn=($+ut+(Yt+Nn))/$,kr=(H+ut+(Yt+Nn))/H,lr=$*Jn,Vt=H*kr,Hs=N.nodeShapes[G].points,wr;if(ve){var Es=Cr(lr,Vt,G,Hs);wr=Es.path}if(G==="ellipse")N.drawEllipsePath(wr||x,tr.x,tr.y,lr,Vt);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(G)){var go=0,$c=0,za=0;G==="round-diamond"?go=(ut+Nn+Yt)*1.4:G==="round-heptagon"?(go=(ut+Nn+Yt)*1.075,za=-(ut/2+Nn+Yt)/35):G==="round-hexagon"?go=(ut+Nn+Yt)*1.12:G==="round-pentagon"?(go=(ut+Nn+Yt)*1.13,za=-(ut/2+Nn+Yt)/15):G==="round-tag"?(go=(ut+Nn+Yt)*1.12,$c=(ut/2+Yt+Nn)*.07):G==="round-triangle"&&(go=(ut+Nn+Yt)*(Math.PI/2),za=-(ut+Nn/2+Yt)/Math.PI),go!==0&&(Jn=($+go)/$,kr=(H+go)/H),N.drawRoundPolygonPath(wr||x,tr.x+$c,tr.y+za,$*Jn,H*kr,Hs)}else if(["roundrectangle","round-rectangle"].includes(G))N.drawRoundRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(["cutrectangle","cut-rectangle"].includes(G))N.drawCutRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(G))N.drawBottomRoundRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(G==="barrel")N.drawBarrelPath(wr||x,tr.x,tr.y,lr,Vt);else if(G.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(G)){var Sc=(ut+Yt+Nn)/$;Hs=gS(pS(Hs,Sc)),N.drawPolygonPath(wr||x,tr.x,tr.y,$,H,Hs)}else{var ba=(ut+Yt+Nn)/$;Hs=gS(pS(Hs,-ba)),N.drawPolygonPath(wr||x,tr.x,tr.y,$,H,Hs)}if(ve?x.stroke(wr):x.stroke(),ir==="double"){x.lineWidth=ut/3;var xo=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(wr):x.stroke(),x.globalCompositeOperation=xo}x.setLineDash&&x.setLineDash([])}},gi=function(){M&&N.drawNodeOverlay(x,m,Z,$,H)},fs=function(){M&&N.drawNodeUnderlay(x,m,Z,$,H)},Fs=function(){N.drawElementText(x,m,null,S)},xs=m.pstyle("ghost").value==="yes";if(xs){var Rs=m.pstyle("ghost-offset-x").pfValue,yo=m.pstyle("ghost-offset-y").pfValue,$a=m.pstyle("ghost-opacity").value,Da=$a*ce;x.translate(Rs,yo),Mr(),Mi(),pr($a*Wt),Sr(),Nr(Da,!0),Er($a*hn),pa(),Si(Mt!==0||ut!==0),Nr(Da,!1),ys(Da),x.translate(-Rs,-yo)}ve&&x.translate(-Z.x,-Z.y),fs(),ve&&x.translate(Z.x,Z.y),Mr(),Mi(),pr(),Sr(),Nr(ce,!0),Er(),pa(),Si(Mt!==0||ut!==0),Nr(ce,!1),ys(),ve&&x.translate(-Z.x,-Z.y),Fs(),gi(),k&&x.translate(Ee.x1,Ee.y1)}};var qI=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S,M,O,N){var $=this;if(S.visible()){var H=S.pstyle("".concat(m,"-padding")).pfValue,q=S.pstyle("".concat(m,"-opacity")).value,Y=S.pstyle("".concat(m,"-color")).value,Z=S.pstyle("".concat(m,"-shape")).value;if(q>0){if(M=M||S.position(),O==null||N==null){var ce=S.padding();O=S.width()+2*ce,N=S.height()+2*ce}$.colorFillStyle(k,Y[0],Y[1],Y[2],q),$.nodeShapes[Z].draw(k,M.x,M.y,O+H*2,N+H*2),k.fill()}}}};w8.drawNodeOverlay=qI("overlay"),w8.drawNodeUnderlay=qI("underlay"),w8.hasPie=function(x){return x=x[0],x._private.hasPie},w8.drawPie=function(x,m,k,S){m=m[0],S=S||m.position();var M=m.cy().style(),O=m.pstyle("pie-size"),N=S.x,$=S.y,H=m.width(),q=m.height(),Y=Math.min(H,q)/2,Z=0,ce=this.usePaths();ce&&(N=0,$=0),O.units==="%"?Y=Y*O.pfValue:O.pfValue!==void 0&&(Y=O.pfValue/2);for(var ve=1;ve<=M.pieBackgroundN;ve++){var me=m.pstyle("pie-"+ve+"-background-size").value,Le=m.pstyle("pie-"+ve+"-background-color").value,_e=m.pstyle("pie-"+ve+"-background-opacity").value*k,Ee=me/100;Ee+Z>1&&(Ee=1-Z);var Be=1.5*Math.PI+2*Math.PI*Z,Re=2*Math.PI*Ee,Ve=Be+Re;me===0||Z>=1||Z+Ee>1||(x.beginPath(),x.moveTo(N,$),x.arc(N,$,Y,Be,Ve),x.closePath(),this.colorFillStyle(x,Le[0],Le[1],Le[2],_e),x.fill(),Z+=Ee)}};var qg={},xie=100;qg.getPixelRatio=function(){var x=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var m=x.backingStorePixelRatio||x.webkitBackingStorePixelRatio||x.mozBackingStorePixelRatio||x.msBackingStorePixelRatio||x.oBackingStorePixelRatio||x.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/m},qg.paintCache=function(x){for(var m=this.paintCaches=this.paintCaches||[],k=!0,S,M=0;MN.minMbLowQualFrames&&(N.motionBlurPxRatio=N.mbPxRBlurry)),N.clearingMotionBlur&&(N.motionBlurPxRatio=1),N.textureDrawLastFrame&&!Z&&(Y[N.NODE]=!0,Y[N.SELECT_BOX]=!0);var Be=H.style(),Re=H.zoom(),Ve=M!==void 0?M:Re,ct=H.pan(),st={x:ct.x,y:ct.y},Ye={zoom:Re,pan:{x:ct.x,y:ct.y}},mt=N.prevViewport,Je=mt===void 0||Ye.zoom!==mt.zoom||Ye.pan.x!==mt.pan.x||Ye.pan.y!==mt.pan.y;!Je&&!(Le&&!me)&&(N.motionBlurPxRatio=1),O&&(st=O),Ve*=$,st.x*=$,st.y*=$;var Lt=N.getCachedZSortedEles();function Mt(Mi,gi,fs,Fs,xs){var Rs=Mi.globalCompositeOperation;Mi.globalCompositeOperation="destination-out",N.colorFillStyle(Mi,255,255,255,N.motionBlurTransparency),Mi.fillRect(gi,fs,Fs,xs),Mi.globalCompositeOperation=Rs}function ut(Mi,gi){var fs,Fs,xs,Rs;!N.clearingMotionBlur&&(Mi===q.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]||Mi===q.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG])?(fs={x:ct.x*ve,y:ct.y*ve},Fs=Re*ve,xs=N.canvasWidth*ve,Rs=N.canvasHeight*ve):(fs=st,Fs=Ve,xs=N.canvasWidth,Rs=N.canvasHeight),Mi.setTransform(1,0,0,1,0,0),gi==="motionBlur"?Mt(Mi,0,0,xs,Rs):!m&&(gi===void 0||gi)&&Mi.clearRect(0,0,xs,Rs),k||(Mi.translate(fs.x,fs.y),Mi.scale(Fs,Fs)),O&&Mi.translate(O.x,O.y),M&&Mi.scale(M,M)}if(Z||(N.textureDrawLastFrame=!1),Z){if(N.textureDrawLastFrame=!0,!N.textureCache){N.textureCache={},N.textureCache.bb=H.mutableElements().boundingBox(),N.textureCache.texture=N.data.bufferCanvases[N.TEXTURE_BUFFER];var Wt=N.data.bufferContexts[N.TEXTURE_BUFFER];Wt.setTransform(1,0,0,1,0,0),Wt.clearRect(0,0,N.canvasWidth*N.textureMult,N.canvasHeight*N.textureMult),N.render({forcedContext:Wt,drawOnlyNodeLayer:!0,forcedPxRatio:$*N.textureMult});var Ye=N.textureCache.viewport={zoom:H.zoom(),pan:H.pan(),width:N.canvasWidth,height:N.canvasHeight};Ye.mpan={x:(0-Ye.pan.x)/Ye.zoom,y:(0-Ye.pan.y)/Ye.zoom}}Y[N.DRAG]=!1,Y[N.NODE]=!1;var Tt=q.contexts[N.NODE],_n=N.textureCache.texture,Ye=N.textureCache.viewport;Tt.setTransform(1,0,0,1,0,0),ce?Mt(Tt,0,0,Ye.width,Ye.height):Tt.clearRect(0,0,Ye.width,Ye.height);var hn=Be.core("outside-texture-bg-color").value,Yt=Be.core("outside-texture-bg-opacity").value;N.colorFillStyle(Tt,hn[0],hn[1],hn[2],Yt),Tt.fillRect(0,0,Ye.width,Ye.height);var Re=H.zoom();ut(Tt,!1),Tt.clearRect(Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$),Tt.drawImage(_n,Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$)}else N.textureOnViewport&&!m&&(N.textureCache=null);var Dn=H.extent(),ir=N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming||N.hoverData.draggingEles||N.cy.animated(),vr=N.hideEdgesOnViewport&&ir,Nn=[];if(Nn[N.NODE]=!Y[N.NODE]&&ce&&!N.clearedForMotionBlur[N.NODE]||N.clearingMotionBlur,Nn[N.NODE]&&(N.clearedForMotionBlur[N.NODE]=!0),Nn[N.DRAG]=!Y[N.DRAG]&&ce&&!N.clearedForMotionBlur[N.DRAG]||N.clearingMotionBlur,Nn[N.DRAG]&&(N.clearedForMotionBlur[N.DRAG]=!0),Y[N.NODE]||k||S||Nn[N.NODE]){var pr=ce&&!Nn[N.NODE]&&ve!==1,Tt=m||(pr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]:q.contexts[N.NODE]),Er=ce&&!pr?"motionBlur":void 0;ut(Tt,Er),vr?N.drawCachedNodes(Tt,Lt.nondrag,$,Dn):N.drawLayeredElements(Tt,Lt.nondrag,$,Dn),N.debug&&N.drawDebugPoints(Tt,Lt.nondrag),!k&&!ce&&(Y[N.NODE]=!1)}if(!S&&(Y[N.DRAG]||k||Nn[N.DRAG])){var pr=ce&&!Nn[N.DRAG]&&ve!==1,Tt=m||(pr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG]:q.contexts[N.DRAG]);ut(Tt,ce&&!pr?"motionBlur":void 0),vr?N.drawCachedNodes(Tt,Lt.drag,$,Dn):N.drawCachedElements(Tt,Lt.drag,$,Dn),N.debug&&N.drawDebugPoints(Tt,Lt.drag),!k&&!ce&&(Y[N.DRAG]=!1)}if(N.showFps||!S&&Y[N.SELECT_BOX]&&!k){var Tt=m||q.contexts[N.SELECT_BOX];if(ut(Tt),N.selection[4]==1&&(N.hoverData.selecting||N.touchData.selecting)){var Re=N.cy.zoom(),Mr=Be.core("selection-box-border-width").value/Re;Tt.lineWidth=Mr,Tt.fillStyle="rgba("+Be.core("selection-box-color").value[0]+","+Be.core("selection-box-color").value[1]+","+Be.core("selection-box-color").value[2]+","+Be.core("selection-box-opacity").value+")",Tt.fillRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]),Mr>0&&(Tt.strokeStyle="rgba("+Be.core("selection-box-border-color").value[0]+","+Be.core("selection-box-border-color").value[1]+","+Be.core("selection-box-border-color").value[2]+","+Be.core("selection-box-opacity").value+")",Tt.strokeRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]))}if(q.bgActivePosistion&&!N.hoverData.selecting){var Re=N.cy.zoom(),Cr=q.bgActivePosistion;Tt.fillStyle="rgba("+Be.core("active-bg-color").value[0]+","+Be.core("active-bg-color").value[1]+","+Be.core("active-bg-color").value[2]+","+Be.core("active-bg-opacity").value+")",Tt.beginPath(),Tt.arc(Cr.x,Cr.y,Be.core("active-bg-size").pfValue/Re,0,2*Math.PI),Tt.fill()}var Or=N.lastRedrawTime;if(N.showFps&&Or){Or=Math.round(Or);var Wn=Math.round(1e3/Or);Tt.setTransform(1,0,0,1,0,0),Tt.fillStyle="rgba(255, 0, 0, 0.75)",Tt.strokeStyle="rgba(255, 0, 0, 0.75)",Tt.lineWidth=1,Tt.fillText("1 frame = "+Or+" ms = "+Wn+" fps",0,20);var br=60;Tt.strokeRect(0,30,250,20),Tt.fillRect(0,30,250*Math.min(Wn/br,1),20)}k||(Y[N.SELECT_BOX]=!1)}if(ce&&ve!==1){var Sr=q.contexts[N.NODE],Nr=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_NODE],Si=q.contexts[N.DRAG],ys=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_DRAG],pa=function(gi,fs,Fs){gi.setTransform(1,0,0,1,0,0),Fs||!Ee?gi.clearRect(0,0,N.canvasWidth,N.canvasHeight):Mt(gi,0,0,N.canvasWidth,N.canvasHeight);var xs=ve;gi.drawImage(fs,0,0,N.canvasWidth*xs,N.canvasHeight*xs,0,0,N.canvasWidth,N.canvasHeight)};(Y[N.NODE]||Nn[N.NODE])&&(pa(Sr,Nr,Nn[N.NODE]),Y[N.NODE]=!1),(Y[N.DRAG]||Nn[N.DRAG])&&(pa(Si,ys,Nn[N.DRAG]),Y[N.DRAG]=!1)}N.prevViewport=Ye,N.clearingMotionBlur&&(N.clearingMotionBlur=!1,N.motionBlurCleared=!0,N.motionBlur=!0),ce&&(N.motionBlurTimeout=setTimeout(function(){N.motionBlurTimeout=null,N.clearedForMotionBlur[N.NODE]=!1,N.clearedForMotionBlur[N.DRAG]=!1,N.motionBlur=!1,N.clearingMotionBlur=!Z,N.mbFrames=0,Y[N.NODE]=!0,Y[N.DRAG]=!0,N.redraw()},xie)),m||H.emit("render")};var iy={};iy.drawPolygonPath=function(x,m,k,S,M,O){var N=S/2,$=M/2;x.beginPath&&x.beginPath(),x.moveTo(m+N*O[0],k+$*O[1]);for(var H=1;H0&&N>0){ve.clearRect(0,0,O,N),ve.globalCompositeOperation="source-over";var me=this.getCachedZSortedEles();if(x.full)ve.translate(-S.x1*q,-S.y1*q),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(S.x1*q,S.y1*q);else{var Le=m.pan(),_e={x:Le.x*q,y:Le.y*q};q*=m.zoom(),ve.translate(_e.x,_e.y),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(-_e.x,-_e.y)}x.bg&&(ve.globalCompositeOperation="destination-over",ve.fillStyle=x.bg,ve.rect(0,0,O,N),ve.fill())}return ce};function kie(x,m){for(var k=atob(x),S=new ArrayBuffer(k.length),M=new Uint8Array(S),O=0;O"u"?"undefined":u(OffscreenCanvas))!=="undefined"?k=new OffscreenCanvas(x,m):(k=document.createElement("canvas"),k.width=x,k.height=m),k},[pz,Q2,J2,bk,y5,w8,qg,iy,mk,Cz].forEach(function(x){yt(jc,x)});var $p=[{name:"null",impl:W$},{name:"base",impl:az},{name:"canvas",impl:Sz}],Eie=[{type:"layout",extensions:qre},{type:"renderer",extensions:$p}],Tie={},Cie={};function Sie(x,m,k){var S=k,M=function(mt){hu("Can not register `"+m+"` for `"+x+"` since `"+mt+"` already exists in the prototype and can not be overridden")};if(x==="core"){if(lk.prototype[m])return M(m);lk.prototype[m]=k}else if(x==="collection"){if(V0.prototype[m])return M(m);V0.prototype[m]=k}else if(x==="layout"){for(var O=function(mt){this.options=mt,k.call(this,mt),se(this._private)||(this._private={}),this._private.cy=mt.cy,this._private.listeners=[],this.createEmitter()},N=O.prototype=Object.create(k.prototype),$=[],H=0;H<$.length;H++){var q=$[H];N[q]=N[q]||function(){return this}}N.start&&!N.run?N.run=function(){return this.start(),this}:!N.start&&N.run&&(N.start=function(){return this.run(),this});var Y=k.prototype.stop;N.stop=function(){var Ye=this.options;if(Ye&&Ye.animate){var mt=this.animations;if(mt)for(var Je=0;Jej&&(this.rect.x-=(this.labelWidth-j)/2,this.setWidth(this.labelWidth)),this.labelHeight>K&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-K)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-K),this.setHeight(this.labelHeight))}}},P.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},P.prototype.transform=function(F){var j=this.rect.x;j>T.WORLD_BOUNDARY?j=T.WORLD_BOUNDARY:j<-T.WORLD_BOUNDARY&&(j=-T.WORLD_BOUNDARY);var K=this.rect.y;K>T.WORLD_BOUNDARY?K=T.WORLD_BOUNDARY:K<-T.WORLD_BOUNDARY&&(K=-T.WORLD_BOUNDARY);var ee=new A(j,K),ie=F.inverseTransformPoint(ee);this.setLocation(ie.x,ie.y)},P.prototype.getLeft=function(){return this.rect.x},P.prototype.getRight=function(){return this.rect.x+this.rect.width},P.prototype.getTop=function(){return this.rect.y},P.prototype.getBottom=function(){return this.rect.y+this.rect.height},P.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},u.exports=P},function(u,d,p){function v(b,y){b==null&&y==null?(this.x=0,this.y=0):(this.x=b,this.y=y)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(b){this.x=b},v.prototype.setY=function(b){this.y=b},v.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},u.exports=v},function(u,d,p){var v=p(2),b=p(10),y=p(0),T=p(6),_=p(3),A=p(1),P=p(13),R=p(12),F=p(11);function j(ee,ie,oe){v.call(this,oe),this.estimatedSize=b.MIN_VALUE,this.margin=y.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=ee,ie!=null&&ie instanceof T?this.graphManager=ie:ie!=null&&ie instanceof Layout&&(this.graphManager=ie.graphManager)}j.prototype=Object.create(v.prototype);for(var K in v)j[K]=v[K];j.prototype.getNodes=function(){return this.nodes},j.prototype.getEdges=function(){return this.edges},j.prototype.getGraphManager=function(){return this.graphManager},j.prototype.getParent=function(){return this.parent},j.prototype.getLeft=function(){return this.left},j.prototype.getRight=function(){return this.right},j.prototype.getTop=function(){return this.top},j.prototype.getBottom=function(){return this.bottom},j.prototype.isConnected=function(){return this.isConnected},j.prototype.add=function(ee,ie,oe){if(ie==null&&oe==null){var pe=ee;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(pe)>-1)throw"Node already in graph!";return pe.owner=this,this.getNodes().push(pe),pe}else{var be=ee;if(!(this.getNodes().indexOf(ie)>-1&&this.getNodes().indexOf(oe)>-1))throw"Source or target not in graph!";if(!(ie.owner==oe.owner&&ie.owner==this))throw"Both owners must be this graph!";return ie.owner!=oe.owner?null:(be.source=ie,be.target=oe,be.isInterGraph=!1,this.getEdges().push(be),ie.edges.push(be),oe!=ie&&oe.edges.push(be),be)}},j.prototype.remove=function(ee){var ie=ee;if(ee instanceof _){if(ie==null)throw"Node is null!";if(!(ie.owner!=null&&ie.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var oe=ie.edges.slice(),pe,be=oe.length,ae=0;ae-1&&de>-1))throw"Source and/or target doesn't know this edge!";pe.source.edges.splice(se,1),pe.target!=pe.source&&pe.target.edges.splice(de,1);var ne=pe.source.owner.getEdges().indexOf(pe);if(ne==-1)throw"Not in owner's edge list!";pe.source.owner.getEdges().splice(ne,1)}},j.prototype.updateLeftTop=function(){for(var ee=b.MAX_VALUE,ie=b.MAX_VALUE,oe,pe,be,ae=this.getNodes(),ne=ae.length,se=0;seoe&&(ee=oe),ie>pe&&(ie=pe)}return ee==b.MAX_VALUE?null:(ae[0].getParent().paddingLeft!=null?be=ae[0].getParent().paddingLeft:be=this.margin,this.left=ie-be,this.top=ee-be,new R(this.left,this.top))},j.prototype.updateBounds=function(ee){for(var ie=b.MAX_VALUE,oe=-b.MAX_VALUE,pe=b.MAX_VALUE,be=-b.MAX_VALUE,ae,ne,se,de,X,ge=this.nodes,W=ge.length,xe=0;xeae&&(ie=ae),oese&&(pe=se),beae&&(ie=ae),oese&&(pe=se),be=this.nodes.length){var W=0;oe.forEach(function(xe){xe.owner==ee&&W++}),W==this.nodes.length&&(this.isConnected=!0)}},u.exports=j},function(u,d,p){var v,b=p(1);function y(T){v=p(5),this.layout=T,this.graphs=[],this.edges=[]}y.prototype.addRoot=function(){var T=this.layout.newGraph(),_=this.layout.newNode(null),A=this.add(T,_);return this.setRootGraph(A),this.rootGraph},y.prototype.add=function(T,_,A,P,R){if(A==null&&P==null&&R==null){if(T==null)throw"Graph is null!";if(_==null)throw"Parent node is null!";if(this.graphs.indexOf(T)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(T),T.parent!=null)throw"Already has a parent!";if(_.child!=null)throw"Already has a child!";return T.parent=_,_.child=T,T}else{R=A,P=_,A=T;var F=P.getOwner(),j=R.getOwner();if(!(F!=null&&F.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(j!=null&&j.getGraphManager()==this))throw"Target not in this graph mgr!";if(F==j)return A.isInterGraph=!1,F.add(A,P,R);if(A.isInterGraph=!0,A.source=P,A.target=R,this.edges.indexOf(A)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(A),!(A.source!=null&&A.target!=null))throw"Edge source and/or target is null!";if(!(A.source.edges.indexOf(A)==-1&&A.target.edges.indexOf(A)==-1))throw"Edge already in source and/or target incidency list!";return A.source.edges.push(A),A.target.edges.push(A),A}},y.prototype.remove=function(T){if(T instanceof v){var _=T;if(_.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(_==this.rootGraph||_.parent!=null&&_.parent.graphManager==this))throw"Invalid parent node!";var A=[];A=A.concat(_.getEdges());for(var P,R=A.length,F=0;F=T.getRight()?_[0]+=Math.min(T.getX()-y.getX(),y.getRight()-T.getRight()):T.getX()<=y.getX()&&T.getRight()>=y.getRight()&&(_[0]+=Math.min(y.getX()-T.getX(),T.getRight()-y.getRight())),y.getY()<=T.getY()&&y.getBottom()>=T.getBottom()?_[1]+=Math.min(T.getY()-y.getY(),y.getBottom()-T.getBottom()):T.getY()<=y.getY()&&T.getBottom()>=y.getBottom()&&(_[1]+=Math.min(y.getY()-T.getY(),T.getBottom()-y.getBottom()));var R=Math.abs((T.getCenterY()-y.getCenterY())/(T.getCenterX()-y.getCenterX()));T.getCenterY()===y.getCenterY()&&T.getCenterX()===y.getCenterX()&&(R=1);var F=R*_[0],j=_[1]/R;_[0]F)return _[0]=A,_[1]=K,_[2]=R,_[3]=ge,!1;if(PR)return _[0]=j,_[1]=P,_[2]=de,_[3]=F,!1;if(AR?(_[0]=ie,_[1]=oe,Fe=!0):(_[0]=ee,_[1]=K,Fe=!0):je===Se&&(A>R?(_[0]=j,_[1]=K,Fe=!0):(_[0]=pe,_[1]=oe,Fe=!0)),-Ie===Se?R>A?(_[2]=X,_[3]=ge,Pe=!0):(_[2]=de,_[3]=se,Pe=!0):Ie===Se&&(R>A?(_[2]=ne,_[3]=se,Pe=!0):(_[2]=W,_[3]=ge,Pe=!0)),Fe&&Pe)return!1;if(A>R?P>F?(Ce=this.getCardinalDirection(je,Se,4),ke=this.getCardinalDirection(Ie,Se,2)):(Ce=this.getCardinalDirection(-je,Se,3),ke=this.getCardinalDirection(-Ie,Se,1)):P>F?(Ce=this.getCardinalDirection(-je,Se,1),ke=this.getCardinalDirection(-Ie,Se,3)):(Ce=this.getCardinalDirection(je,Se,2),ke=this.getCardinalDirection(Ie,Se,4)),!Fe)switch(Ce){case 1:Ft=K,Ke=A+-ae/Se,_[0]=Ke,_[1]=Ft;break;case 2:Ke=pe,Ft=P+be*Se,_[0]=Ke,_[1]=Ft;break;case 3:Ft=oe,Ke=A+ae/Se,_[0]=Ke,_[1]=Ft;break;case 4:Ke=ie,Ft=P+-be*Se,_[0]=Ke,_[1]=Ft;break}if(!Pe)switch(ke){case 1:gn=se,Ne=R+-U/Se,_[2]=Ne,_[3]=gn;break;case 2:Ne=W,gn=F+xe*Se,_[2]=Ne,_[3]=gn;break;case 3:gn=ge,Ne=R+U/Se,_[2]=Ne,_[3]=gn;break;case 4:Ne=X,gn=F+-xe*Se,_[2]=Ne,_[3]=gn;break}}return!1},b.getCardinalDirection=function(y,T,_){return y>T?_:1+_%4},b.getIntersection=function(y,T,_,A){if(A==null)return this.getIntersection2(y,T,_);var P=y.x,R=y.y,F=T.x,j=T.y,K=_.x,ee=_.y,ie=A.x,oe=A.y,pe=void 0,be=void 0,ae=void 0,ne=void 0,se=void 0,de=void 0,X=void 0,ge=void 0,W=void 0;return ae=j-R,se=P-F,X=F*R-P*j,ne=oe-ee,de=K-ie,ge=ie*ee-K*oe,W=ae*de-ne*se,W===0?null:(pe=(se*ge-de*X)/W,be=(ne*X-ae*ge)/W,new v(pe,be))},b.angleOfVector=function(y,T,_,A){var P=void 0;return y!==_?(P=Math.atan((A-T)/(_-y)),_0?1:b<0?-1:0},v.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},v.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},u.exports=v},function(u,d,p){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,u.exports=v},function(u,d,p){var v=function(){function P(R,F){for(var j=0;j"u"?"undefined":v(y);return y==null||T!="object"&&T!="function"},u.exports=b},function(u,d,p){function v(K){if(Array.isArray(K)){for(var ee=0,ie=Array(K.length);ee0&ⅇ){for(ae.push(se[0]);ae.length>0&ⅇ){var de=ae[0];ae.splice(0,1),be.add(de);for(var X=de.getEdges(),pe=0;pe-1&&se.splice(U,1)}be=new Set,ne=new Map}}return K},j.prototype.createDummyNodesForBendpoints=function(K){for(var ee=[],ie=K.source,oe=this.graphManager.calcLowestCommonAncestor(K.source,K.target),pe=0;pe0){for(var oe=this.edgeToDummyNodes.get(ie),pe=0;pe=0&&ee.splice(ge,1);var W=ne.getNeighborsList();W.forEach(function(Fe){if(ie.indexOf(Fe)<0){var Pe=oe.get(Fe),je=Pe-1;je==1&&de.push(Fe),oe.set(Fe,je)}})}ie=ie.concat(de),(ee.length==1||ee.length==2)&&(pe=!0,be=ee[0])}return be},j.prototype.setGraphManager=function(K){this.graphManager=K},u.exports=j},function(u,d,p){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},u.exports=v},function(u,d,p){var v=p(4);function b(y,T){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(y){this.lworldOrgX=y},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(y){this.lworldOrgY=y},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(y){this.lworldExtX=y},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(y){this.lworldExtY=y},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(y){this.ldeviceOrgX=y},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(y){this.ldeviceOrgY=y},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(y){this.ldeviceExtX=y},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(y){this.ldeviceExtY=y},b.prototype.transformX=function(y){var T=0,_=this.lworldExtX;return _!=0&&(T=this.ldeviceOrgX+(y-this.lworldOrgX)*this.ldeviceExtX/_),T},b.prototype.transformY=function(y){var T=0,_=this.lworldExtY;return _!=0&&(T=this.ldeviceOrgY+(y-this.lworldOrgY)*this.ldeviceExtY/_),T},b.prototype.inverseTransformX=function(y){var T=0,_=this.ldeviceExtX;return _!=0&&(T=this.lworldOrgX+(y-this.ldeviceOrgX)*this.lworldExtX/_),T},b.prototype.inverseTransformY=function(y){var T=0,_=this.ldeviceExtY;return _!=0&&(T=this.lworldOrgY+(y-this.ldeviceOrgY)*this.lworldExtY/_),T},b.prototype.inverseTransformPoint=function(y){var T=new v(this.inverseTransformX(y.x),this.inverseTransformY(y.y));return T},u.exports=b},function(u,d,p){function v(F){if(Array.isArray(F)){for(var j=0,K=Array(F.length);jy.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*y.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(F-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-y.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT_INCREMENTAL):(F>y.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(y.COOLING_ADAPTATION_FACTOR,1-(F-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*(1-y.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},P.prototype.calcSpringForces=function(){for(var F=this.getAllEdges(),j,K=0;K0&&arguments[0]!==void 0?arguments[0]:!0,j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,K,ee,ie,oe,pe=this.getAllNodes(),be;if(this.useFRGridVariant)for(this.totalIterations%y.GRID_CALCULATION_CHECK_PERIOD==1&&F&&this.updateGrid(),be=new Set,K=0;Kae||be>ae)&&(F.gravitationForceX=-this.gravityConstant*ie,F.gravitationForceY=-this.gravityConstant*oe)):(ae=j.getEstimatedSize()*this.compoundGravityRangeFactor,(pe>ae||be>ae)&&(F.gravitationForceX=-this.gravityConstant*ie*this.compoundGravityConstant,F.gravitationForceY=-this.gravityConstant*oe*this.compoundGravityConstant))},P.prototype.isConverged=function(){var F,j=!1;return this.totalIterations>this.maxIterations/3&&(j=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),F=this.totalDisplacement=pe.length||ae>=pe[0].length)){for(var ne=0;neP}}]),_}();u.exports=T},function(u,d,p){var v=function(){function T(_,A){for(var P=0;P2&&arguments[2]!==void 0?arguments[2]:1,R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,F=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,T),this.sequence1=_,this.sequence2=A,this.match_score=P,this.mismatch_penalty=R,this.gap_penalty=F,this.iMax=_.length+1,this.jMax=A.length+1,this.grid=new Array(this.iMax);for(var j=0;j=0;_--){var A=this.listeners[_];A.event===y&&A.callback===T&&this.listeners.splice(_,1)}},b.emit=function(y,T){for(var _=0;_A.coolingFactor*A.maxNodeDisplacement&&(this.displacementX=A.coolingFactor*A.maxNodeDisplacement*y.sign(this.displacementX)),Math.abs(this.displacementY)>A.coolingFactor*A.maxNodeDisplacement&&(this.displacementY=A.coolingFactor*A.maxNodeDisplacement*y.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),A.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},T.prototype.propogateDisplacementToChildren=function(A,P){for(var R=this.getChild().getNodes(),F,j=0;j0)this.positionNodesRadially(se);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var de=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(ge){return de.has(ge)});this.graphManager.setAllNodesToApplyGravitation(X),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},ae.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%R.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 se=new Set(this.getAllNodes()),de=this.nodesWithGravity.filter(function(W){return se.has(W)});this.graphManager.setAllNodesToApplyGravitation(de),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=R.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=R.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var X=!this.isTreeGrowing&&!this.isGrowthFinished,ge=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(X,ge),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},ae.prototype.getPositionsData=function(){for(var se=this.graphManager.getAllNodes(),de={},X=0;X1){var Fe;for(Fe=0;Fege&&(ge=Math.floor(U.y)),xe=Math.floor(U.x+P.DEFAULT_COMPONENT_SEPERATION)}this.transform(new K(F.WORLD_CENTER_X-U.x/2,F.WORLD_CENTER_Y-U.y/2))},ae.radialLayout=function(se,de,X){var ge=Math.max(this.maxDiagonalInTree(se),P.DEFAULT_RADIAL_SEPARATION);ae.branchRadialLayout(de,null,0,359,0,ge);var W=pe.calculateBounds(se),xe=new be;xe.setDeviceOrgX(W.getMinX()),xe.setDeviceOrgY(W.getMinY()),xe.setWorldOrgX(X.x),xe.setWorldOrgY(X.y);for(var U=0;U1;){var gn=Ne[0];Ne.splice(0,1);var _t=Se.indexOf(gn);_t>=0&&Se.splice(_t,1),Ke--,Ce--}de!=null?Ft=(Se.indexOf(Ne[0])+1)%Ke:Ft=0;for(var Et=Math.abs(ge-X)/Ce,Gt=Ft;ke!=Ce;Gt=++Gt%Ke){var ln=Se[Gt].getOtherEnd(se);if(ln!=de){var xt=(X+ke*Et)%360,Pt=(xt+Et)%360;ae.branchRadialLayout(ln,se,xt,Pt,W+xe,xe),ke++}}},ae.maxDiagonalInTree=function(se){for(var de=ie.MIN_VALUE,X=0;Xde&&(de=W)}return de},ae.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},ae.prototype.groupZeroDegreeMembers=function(){var se=this,de={};this.memberGroups={},this.idToDummyNode={};for(var X=[],ge=this.graphManager.getAllNodes(),W=0;W"u"&&(de[Fe]=[]),de[Fe]=de[Fe].concat(xe)}Object.keys(de).forEach(function(Pe){if(de[Pe].length>1){var je="DummyCompound_"+Pe;se.memberGroups[je]=de[Pe];var Ie=de[Pe][0].getParent(),Se=new _(se.graphManager);Se.id=je,Se.paddingLeft=Ie.paddingLeft||0,Se.paddingRight=Ie.paddingRight||0,Se.paddingBottom=Ie.paddingBottom||0,Se.paddingTop=Ie.paddingTop||0,se.idToDummyNode[je]=Se;var Ce=se.getGraphManager().add(se.newGraph(),Se),ke=Ie.getChild();ke.add(Se);for(var Ke=0;Ke=0;se--){var de=this.compoundOrder[se],X=de.id,ge=de.paddingLeft,W=de.paddingTop;this.adjustLocations(this.tiledMemberPack[X],de.rect.x,de.rect.y,ge,W)}},ae.prototype.repopulateZeroDegreeMembers=function(){var se=this,de=this.tiledZeroDegreePack;Object.keys(de).forEach(function(X){var ge=se.idToDummyNode[X],W=ge.paddingLeft,xe=ge.paddingTop;se.adjustLocations(de[X],ge.rect.x,ge.rect.y,W,xe)})},ae.prototype.getToBeTiled=function(se){var de=se.id;if(this.toBeTiled[de]!=null)return this.toBeTiled[de];var X=se.getChild();if(X==null)return this.toBeTiled[de]=!1,!1;for(var ge=X.getNodes(),W=0;W0)return this.toBeTiled[de]=!1,!1;if(xe.getChild()==null){this.toBeTiled[xe.id]=!1;continue}if(!this.getToBeTiled(xe))return this.toBeTiled[de]=!1,!1}return this.toBeTiled[de]=!0,!0},ae.prototype.getNodeDegree=function(se){se.id;for(var de=se.getEdges(),X=0,ge=0;gePe&&(Pe=Ie.rect.height)}X+=Pe+se.verticalPadding}},ae.prototype.tileCompoundMembers=function(se,de){var X=this;this.tiledMemberPack=[],Object.keys(se).forEach(function(ge){var W=de[ge];X.tiledMemberPack[ge]=X.tileNodes(se[ge],W.paddingLeft+W.paddingRight),W.rect.width=X.tiledMemberPack[ge].width,W.rect.height=X.tiledMemberPack[ge].height})},ae.prototype.tileNodes=function(se,de){var X=P.TILING_PADDING_VERTICAL,ge=P.TILING_PADDING_HORIZONTAL,W={rows:[],rowWidth:[],rowHeight:[],width:0,height:de,verticalPadding:X,horizontalPadding:ge};se.sort(function(Fe,Pe){return Fe.rect.width*Fe.rect.height>Pe.rect.width*Pe.rect.height?-1:Fe.rect.width*Fe.rect.height0&&(U+=se.horizontalPadding),se.rowWidth[X]=U,se.width0&&(Fe+=se.verticalPadding);var Pe=0;Fe>se.rowHeight[X]&&(Pe=se.rowHeight[X],se.rowHeight[X]=Fe,Pe=se.rowHeight[X]-Pe),se.height+=Pe,se.rows[X].push(de)},ae.prototype.getShortestRowIndex=function(se){for(var de=-1,X=Number.MAX_VALUE,ge=0;geX&&(de=ge,X=se.rowWidth[ge]);return de},ae.prototype.canAddHorizontal=function(se,de,X){var ge=this.getShortestRowIndex(se);if(ge<0)return!0;var W=se.rowWidth[ge];if(W+se.horizontalPadding+de<=se.width)return!0;var xe=0;se.rowHeight[ge]0&&(xe=X+se.verticalPadding-se.rowHeight[ge]);var U;se.width-W>=de+se.horizontalPadding?U=(se.height+xe)/(W+de+se.horizontalPadding):U=(se.height+xe)/se.width,xe=X+se.verticalPadding;var Fe;return se.widthxe&&de!=X){ge.splice(-1,1),se.rows[X].push(W),se.rowWidth[de]=se.rowWidth[de]-xe,se.rowWidth[X]=se.rowWidth[X]+xe,se.width=se.rowWidth[instance.getLongestRowIndex(se)];for(var U=Number.MIN_VALUE,Fe=0;FeU&&(U=ge[Fe].height);de>0&&(U+=se.verticalPadding);var Pe=se.rowHeight[de]+se.rowHeight[X];se.rowHeight[de]=U,se.rowHeight[X]0)for(var ke=W;ke<=xe;ke++)Ce[0]+=this.grid[ke][U-1].length+this.grid[ke][U].length-1;if(xe0)for(var ke=U;ke<=Fe;ke++)Ce[3]+=this.grid[W-1][ke].length+this.grid[W][ke].length-1;for(var Ke=ie.MAX_VALUE,Ft,Ne,gn=0;gn0){var Fe;Fe=be.getGraphManager().add(be.newGraph(),X),this.processChildrenList(Fe,de,be)}}},K.prototype.stop=function(){return this.stopped=!0,this};var ie=function(pe){pe("layout","cose-bilkent",K)};typeof cytoscape<"u"&&ie(cytoscape),d.exports=ie}])})})(dWe);var gon=dWe.exports;const pon=hC(gon),bon=12,mon=function(i,s,u,d){s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 ${u.height-5} v${-u.height+2*5} q0,-5 5,-5 h${u.width-2*5} q5,0 5,5 v${u.height-5} H0 Z`),s.append("line").attr("class","node-line-"+d).attr("x1",0).attr("y1",u.height).attr("x2",u.width).attr("y2",u.height)},von=function(i,s,u){s.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("width",u.width)},won=function(i,s,u){const d=u.width,p=u.height,v=.15*d,b=.25*d,y=.35*d,T=.2*d;s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 0 0,1 ${d*.25},${-1*d*.1} + a${y},${y} 1 0,1 ${d*.4},${-1*d*.1} + a${b},${b} 1 0,1 ${d*.35},${1*d*.2} + + a${v},${v} 1 0,1 ${d*.15},${1*p*.35} + a${T},${T} 1 0,1 ${-1*d*.15},${1*p*.65} + + a${b},${v} 1 0,1 ${-1*d*.25},${d*.15} + a${y},${y} 1 0,1 ${-1*d*.5},0 + a${v},${v} 1 0,1 ${-1*d*.25},${-1*d*.15} + + a${v},${v} 1 0,1 ${-1*d*.1},${-1*p*.35} + a${T},${T} 1 0,1 ${d*.1},${-1*p*.65} + + H0 V0 Z`)},yon=function(i,s,u){const d=u.width,p=u.height,v=.15*d;s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 1 0,0 ${d*.25},${-1*p*.1} + a${v},${v} 1 0,0 ${d*.25},0 + a${v},${v} 1 0,0 ${d*.25},0 + a${v},${v} 1 0,0 ${d*.25},${1*p*.1} + + a${v},${v} 1 0,0 ${d*.15},${1*p*.33} + a${v*.8},${v*.8} 1 0,0 0,${1*p*.34} + a${v},${v} 1 0,0 ${-1*d*.15},${1*p*.33} + + a${v},${v} 1 0,0 ${-1*d*.25},${p*.15} + a${v},${v} 1 0,0 ${-1*d*.25},0 + a${v},${v} 1 0,0 ${-1*d*.25},0 + a${v},${v} 1 0,0 ${-1*d*.25},${-1*p*.15} + + a${v},${v} 1 0,0 ${-1*d*.1},${-1*p*.33} + a${v*.8},${v*.8} 1 0,0 0,${-1*p*.34} + a${v},${v} 1 0,0 ${d*.1},${-1*p*.33} + + H0 V0 Z`)},xon=function(i,s,u){s.append("circle").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("r",u.width/2)};function kon(i,s,u,d,p){return i.insert("polygon",":first-child").attr("points",d.map(function(v){return v.x+","+v.y}).join(" ")).attr("transform","translate("+(p.width-s)/2+", "+u+")")}const Eon=function(i,s,u){const d=u.height,v=d/4,b=u.width-u.padding+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-d/2},{x:b-v,y:-d},{x:v,y:-d},{x:0,y:-d/2}];kon(s,b,d,y,u)},Ton=function(i,s,u){s.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("rx",u.padding).attr("ry",u.padding).attr("width",u.width)},Con=function(i,s,u,d,p){const v=p.htmlLabels,b=d%(bon-1),y=s.append("g");u.section=b;let T="section-"+b;b<0&&(T+=" section-root"),y.attr("class",(u.class?u.class+" ":"")+"mindmap-node "+T);const _=y.append("g"),A=y.append("g"),P=u.descr.replace(/()/g,` +`);JQ(A,P,{useHtmlLabels:v,width:u.width,classes:"mindmap-node-label"}),v||A.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const R=A.node().getBBox(),[F]=NC(p.fontSize);if(u.height=R.height+F*1.1*.5+u.padding,u.width=R.width+2*u.padding,u.icon)if(u.type===i.nodeType.CIRCLE)u.height+=50,u.width+=50,y.append("foreignObject").attr("height","50px").attr("width",u.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+u.width/2+", "+(u.height/2-1.5*u.padding)+")");else{u.width+=50;const j=u.height;u.height=Math.max(j,60);const K=Math.abs(u.height-j);y.append("foreignObject").attr("width","60px").attr("height",u.height).attr("style","text-align: center;margin-top:"+K/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+(25+u.width/2)+", "+(K/2+u.padding/2)+")")}else if(v){const j=(u.width-R.width)/2,K=(u.height-R.height)/2;A.attr("transform","translate("+j+", "+K+")")}else{const j=u.width/2,K=u.padding/2;A.attr("transform","translate("+j+", "+K+")")}switch(u.type){case i.nodeType.DEFAULT:mon(i,_,u,b);break;case i.nodeType.ROUNDED_RECT:Ton(i,_,u);break;case i.nodeType.RECT:von(i,_,u);break;case i.nodeType.CIRCLE:_.attr("transform","translate("+u.width/2+", "+ +u.height/2+")"),xon(i,_,u);break;case i.nodeType.CLOUD:won(i,_,u);break;case i.nodeType.BANG:yon(i,_,u);break;case i.nodeType.HEXAGON:Eon(i,_,u);break}return i.setElementForId(u.id,y),u.height},Son=function(i,s){const u=i.getElementById(s.id),d=s.x||0,p=s.y||0;u.attr("transform","translate("+d+","+p+")")};fWe.use(pon);function bWe(i,s,u,d,p){Con(i,s,u,d,p),u.children&&u.children.forEach((v,b)=>{bWe(i,s,v,d<0?b:d,p)})}function _on(i,s){s.edges().map((u,d)=>{const p=u.data();if(u[0]._private.bodyBounds){const v=u[0]._private.rscratch;Xe.trace("Edge: ",d,p),i.insert("path").attr("d",`M ${v.startX},${v.startY} L ${v.midX},${v.midY} L${v.endX},${v.endY} `).attr("class","edge section-edge-"+p.section+" edge-depth-"+p.depth)}})}function mWe(i,s,u,d){s.add({group:"nodes",data:{id:i.id.toString(),labelText:i.descr,height:i.height,width:i.width,level:d,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(p=>{mWe(p,s,u,d+1),s.add({group:"edges",data:{id:`${i.id}_${p.id}`,source:i.id,target:p.id,depth:d,section:p.section}})})}function Aon(i,s){return new Promise(u=>{const d=Ir("body").append("div").attr("id","cy").attr("style","display:none"),p=fWe({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});d.remove(),mWe(i,p,s,0),p.nodes().forEach(function(v){v.layoutDimensions=()=>{const b=v.data();return{w:b.width,h:b.height}}}),p.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),p.ready(v=>{Xe.info("Ready",v),u(p)})})}function Lon(i,s){s.nodes().map((u,d)=>{const p=u.data();p.x=u.position().x,p.y=u.position().y,Son(i,p);const v=i.getElementById(p.nodeId);Xe.info("Id:",d,"Position: (",u.position().x,", ",u.position().y,")",p),v.attr("transform",`translate(${u.position().x-p.width/2}, ${u.position().y-p.height/2})`),v.attr("attr",`apa-${d})`)})}const Mon={draw:async(i,s,u,d)=>{var P,R;Xe.debug(`Rendering mindmap diagram +`+i);const p=d.db,v=p.getMindmap();if(!v)return;const b=qt();b.htmlLabels=!1;const y=rR(s),T=y.append("g");T.attr("class","mindmap-edges");const _=y.append("g");_.attr("class","mindmap-nodes"),bWe(p,_,v,-1,b);const A=await Aon(v,b);_on(T,A),Lon(p,A),y9(void 0,y,((P=b.mindmap)==null?void 0:P.padding)??sh.mindmap.padding,((R=b.mindmap)==null?void 0:R.useMaxWidth)??sh.mindmap.useMaxWidth)}},Don=i=>{let s="";for(let u=0;u` + .edge { + stroke-width: 3; + } + ${Don(i)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}},Symbol.toStringTag,{value:"Module"}));var iwe=function(){var i=function(y,T,_,A){for(_=_||{},A=y.length;A--;_[y[A]]=T);return _},s=[1,9],u=[1,10],d=[1,5,10,12],p={trace:function(){},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:function(T,_,A,P,R,F,j){var K=F.length-1;switch(R){case 7:const ee=P.findOrCreateNode(F[K-4].trim().replaceAll('""','"')),ie=P.findOrCreateNode(F[K-2].trim().replaceAll('""','"')),oe=parseFloat(F[K].trim());P.addLink(ee,ie,oe);break;case 8:case 9:case 11:this.$=F[K];break;case 10:this.$=F[K-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:s,20:u},{1:[2,6],7:11,10:[1,12]},i(u,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(d,[2,8]),i(d,[2,9]),{19:[1,16]},i(d,[2,11]),{1:[2,1]},{1:[2,5]},i(u,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:s,20:u},{15:18,16:7,17:8,18:s,20:u},{18:[1,19]},i(u,[2,3]),{12:[1,20]},i(d,[2,10]),{15:21,16:7,17:8,18:s,20:u},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(T,_){if(_.recoverable)this.trace(T);else{var A=new Error(T);throw A.hash=_,A}},parse:function(T){var _=this,A=[0],P=[],R=[null],F=[],j=this.table,K="",ee=0,ie=0,oe=2,pe=1,be=F.slice.call(arguments,1),ae=Object.create(this.lexer),ne={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(ne.yy[se]=this.yy[se]);ae.setInput(T,ne.yy),ne.yy.lexer=ae,ne.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var de=ae.yylloc;F.push(de);var X=ae.options&&ae.options.ranges;typeof ne.yy.parseError=="function"?this.parseError=ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ge(){var Ke;return Ke=P.pop()||ae.lex()||pe,typeof Ke!="number"&&(Ke instanceof Array&&(P=Ke,Ke=P.pop()),Ke=_.symbols_[Ke]||Ke),Ke}for(var W,xe,U,Fe,Pe={},je,Ie,Se,Ce;;){if(xe=A[A.length-1],this.defaultActions[xe]?U=this.defaultActions[xe]:((W===null||typeof W>"u")&&(W=ge()),U=j[xe]&&j[xe][W]),typeof U>"u"||!U.length||!U[0]){var ke="";Ce=[];for(je in j[xe])this.terminals_[je]&&je>oe&&Ce.push("'"+this.terminals_[je]+"'");ae.showPosition?ke="Parse error on line "+(ee+1)+`: +`+ae.showPosition()+` +Expecting `+Ce.join(", ")+", got '"+(this.terminals_[W]||W)+"'":ke="Parse error on line "+(ee+1)+": Unexpected "+(W==pe?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(ke,{text:ae.match,token:this.terminals_[W]||W,line:ae.yylineno,loc:de,expected:Ce})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xe+", token: "+W);switch(U[0]){case 1:A.push(W),R.push(ae.yytext),F.push(ae.yylloc),A.push(U[1]),W=null,ie=ae.yyleng,K=ae.yytext,ee=ae.yylineno,de=ae.yylloc;break;case 2:if(Ie=this.productions_[U[1]][1],Pe.$=R[R.length-Ie],Pe._$={first_line:F[F.length-(Ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(Ie||1)].first_column,last_column:F[F.length-1].last_column},X&&(Pe._$.range=[F[F.length-(Ie||1)].range[0],F[F.length-1].range[1]]),Fe=this.performAction.apply(Pe,[K,ie,ee,ne.yy,U[1],R,F].concat(be)),typeof Fe<"u")return Fe;Ie&&(A=A.slice(0,-1*Ie*2),R=R.slice(0,-1*Ie),F=F.slice(0,-1*Ie)),A.push(this.productions_[U[1]][0]),R.push(Pe.$),F.push(Pe._$),Se=j[A[A.length-2]][A[A.length-1]],A.push(Se);break;case 3:return!0}}return!0}},v=function(){var y={EOF:1,parseError:function(_,A){if(this.yy.parser)this.yy.parser.parseError(_,A);else throw new Error(_)},setInput:function(T,_){return this.yy=_||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var _=T.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),T},unput:function(T){var _=T.length,A=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;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),A.length-1&&(this.yylineno-=A.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:A?(A.length===P.length?this.yylloc.first_column:0)+P[P.length-A.length].length-A[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(T){this.unput(this.match.slice(T))},pastInput:function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var T=this.pastInput(),_=new Array(T.length+1).join("-");return T+this.upcomingInput()+` +`+_+"^"},test_match:function(T,_){var A,P,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))),P=T[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+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],A=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var F in R)this[F]=R[F];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,_,A,P;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),F=0;F_[0].length)){if(_=A,P=F,this.options.backtrack_lexer){if(T=this.test_match(A,R[F]),T!==!1)return T;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(T=this.test_match(_,R[P]),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})},lex:function(){var _=this.next();return _||this.lex()},begin:function(_){this.conditionStack.push(_)},popState:function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},pushState:function(_){this.begin(_)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(_,A,P,R){switch(P){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return y}();p.lexer=v;function b(){this.yy={}}return b.prototype=p,p.Parser=b,new b}();iwe.parser=iwe;const NJ=iwe;let PJ=[],BJ=[],tI={};const Oon=()=>{PJ=[],BJ=[],tI={},Pg()};class Non{constructor(s,u,d=0){this.source=s,this.target=u,this.value=d}}const Pon=(i,s,u)=>{PJ.push(new Non(i,s,u))};class Bon{constructor(s){this.ID=s}}const Fon={nodesMap:tI,getConfig:()=>qt().sankey,getNodes:()=>BJ,getLinks:()=>PJ,getGraph:()=>({nodes:BJ.map(i=>({id:i.ID})),links:PJ.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:Pon,findOrCreateNode:i=>(i=ci.sanitizeText(i,qt()),tI[i]||(tI[i]=new Bon(i),BJ.push(tI[i])),tI[i]),getAccTitle:Cp,setAccTitle:Bg,getAccDescription:_p,setAccDescription:Sp,getDiagramTitle:Ap,setDiagramTitle:cm,clear:Oon};function vWe(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function wWe(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function swe(i,s){let u=0;if(s===void 0)for(let d of i)(d=+d)&&(u+=d);else{let d=-1;for(let p of i)(p=+s(p,++d,i))&&(u+=p)}return u}function Ron(i){return i.target.depth}function jon(i){return i.depth}function $on(i,s){return s-1-i.height}function yWe(i,s){return i.sourceLinks.length?i.depth:s-1}function zon(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?wWe(i.sourceLinks,Ron)-1:0}function FJ(i){return function(){return i}}function xWe(i,s){return RJ(i.source,s.source)||i.index-s.index}function kWe(i,s){return RJ(i.target,s.target)||i.index-s.index}function RJ(i,s){return i.y0-s.y0}function awe(i){return i.value}function qon(i){return i.index}function Hon(i){return i.nodes}function Von(i){return i.links}function EWe(i,s){const u=i.get(s);if(!u)throw new Error("missing: "+s);return u}function TWe({nodes:i}){for(const s of i){let u=s.y0,d=u;for(const p of s.sourceLinks)p.y0=u+p.width/2,u+=p.width;for(const p of s.targetLinks)p.y1=d+p.width/2,d+=p.width}}function Uon(){let i=0,s=0,u=1,d=1,p=24,v=8,b,y=qon,T=yWe,_,A,P=Hon,R=Von,F=6;function j(){const Pe={nodes:P.apply(null,arguments),links:R.apply(null,arguments)};return K(Pe),ee(Pe),ie(Pe),oe(Pe),ae(Pe),TWe(Pe),Pe}j.update=function(Pe){return TWe(Pe),Pe},j.nodeId=function(Pe){return arguments.length?(y=typeof Pe=="function"?Pe:FJ(Pe),j):y},j.nodeAlign=function(Pe){return arguments.length?(T=typeof Pe=="function"?Pe:FJ(Pe),j):T},j.nodeSort=function(Pe){return arguments.length?(_=Pe,j):_},j.nodeWidth=function(Pe){return arguments.length?(p=+Pe,j):p},j.nodePadding=function(Pe){return arguments.length?(v=b=+Pe,j):v},j.nodes=function(Pe){return arguments.length?(P=typeof Pe=="function"?Pe:FJ(Pe),j):P},j.links=function(Pe){return arguments.length?(R=typeof Pe=="function"?Pe:FJ(Pe),j):R},j.linkSort=function(Pe){return arguments.length?(A=Pe,j):A},j.size=function(Pe){return arguments.length?(i=s=0,u=+Pe[0],d=+Pe[1],j):[u-i,d-s]},j.extent=function(Pe){return arguments.length?(i=+Pe[0][0],u=+Pe[1][0],s=+Pe[0][1],d=+Pe[1][1],j):[[i,s],[u,d]]},j.iterations=function(Pe){return arguments.length?(F=+Pe,j):F};function K({nodes:Pe,links:je}){for(const[Se,Ce]of Pe.entries())Ce.index=Se,Ce.sourceLinks=[],Ce.targetLinks=[];const Ie=new Map(Pe.map((Se,Ce)=>[y(Se,Ce,Pe),Se]));for(const[Se,Ce]of je.entries()){Ce.index=Se;let{source:ke,target:Ke}=Ce;typeof ke!="object"&&(ke=Ce.source=EWe(Ie,ke)),typeof Ke!="object"&&(Ke=Ce.target=EWe(Ie,Ke)),ke.sourceLinks.push(Ce),Ke.targetLinks.push(Ce)}if(A!=null)for(const{sourceLinks:Se,targetLinks:Ce}of Pe)Se.sort(A),Ce.sort(A)}function ee({nodes:Pe}){for(const je of Pe)je.value=je.fixedValue===void 0?Math.max(swe(je.sourceLinks,awe),swe(je.targetLinks,awe)):je.fixedValue}function ie({nodes:Pe}){const je=Pe.length;let Ie=new Set(Pe),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.depth=Ce;for(const{target:Ke}of ke.sourceLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function oe({nodes:Pe}){const je=Pe.length;let Ie=new Set(Pe),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.height=Ce;for(const{source:Ke}of ke.targetLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function pe({nodes:Pe}){const je=vWe(Pe,Ce=>Ce.depth)+1,Ie=(u-i-p)/(je-1),Se=new Array(je);for(const Ce of Pe){const ke=Math.max(0,Math.min(je-1,Math.floor(T.call(null,Ce,je))));Ce.layer=ke,Ce.x0=i+ke*Ie,Ce.x1=Ce.x0+p,Se[ke]?Se[ke].push(Ce):Se[ke]=[Ce]}if(_)for(const Ce of Se)Ce.sort(_);return Se}function be(Pe){const je=wWe(Pe,Ie=>(d-s-(Ie.length-1)*b)/swe(Ie,awe));for(const Ie of Pe){let Se=s;for(const Ce of Ie){Ce.y0=Se,Ce.y1=Se+Ce.value*je,Se=Ce.y1+b;for(const ke of Ce.sourceLinks)ke.width=ke.value*je}Se=(d-Se+b)/(Ie.length+1);for(let Ce=0;CeIe.length)-1)),be(je);for(let Ie=0;Ie0))continue;let gn=(Ft/Ne-Ke.y0)*je;Ke.y0+=gn,Ke.y1+=gn,W(Ke)}_===void 0&&ke.sort(RJ),de(ke,Ie)}}function se(Pe,je,Ie){for(let Se=Pe.length,Ce=Se-2;Ce>=0;--Ce){const ke=Pe[Ce];for(const Ke of ke){let Ft=0,Ne=0;for(const{target:_t,value:Et}of Ke.sourceLinks){let Gt=Et*(_t.layer-Ke.layer);Ft+=Fe(Ke,_t)*Gt,Ne+=Gt}if(!(Ne>0))continue;let gn=(Ft/Ne-Ke.y0)*je;Ke.y0+=gn,Ke.y1+=gn,W(Ke)}_===void 0&&ke.sort(RJ),de(ke,Ie)}}function de(Pe,je){const Ie=Pe.length>>1,Se=Pe[Ie];ge(Pe,Se.y0-b,Ie-1,je),X(Pe,Se.y1+b,Ie+1,je),ge(Pe,d,Pe.length-1,je),X(Pe,s,0,je)}function X(Pe,je,Ie,Se){for(;Ie1e-6&&(Ce.y0+=ke,Ce.y1+=ke),je=Ce.y1+b}}function ge(Pe,je,Ie,Se){for(;Ie>=0;--Ie){const Ce=Pe[Ie],ke=(Ce.y1-je)*Se;ke>1e-6&&(Ce.y0-=ke,Ce.y1-=ke),je=Ce.y0-b}}function W({sourceLinks:Pe,targetLinks:je}){if(A===void 0){for(const{source:{sourceLinks:Ie}}of je)Ie.sort(kWe);for(const{target:{targetLinks:Ie}}of Pe)Ie.sort(xWe)}}function xe(Pe){if(A===void 0)for(const{sourceLinks:je,targetLinks:Ie}of Pe)je.sort(kWe),Ie.sort(xWe)}function U(Pe,je){let Ie=Pe.y0-(Pe.sourceLinks.length-1)*b/2;for(const{target:Se,width:Ce}of Pe.sourceLinks){if(Se===je)break;Ie+=Ce+b}for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Pe)break;Ie-=Ce}return Ie}function Fe(Pe,je){let Ie=je.y0-(je.targetLinks.length-1)*b/2;for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Pe)break;Ie+=Ce+b}for(const{target:Se,width:Ce}of Pe.sourceLinks){if(Se===je)break;Ie-=Ce}return Ie}return j}var owe=Math.PI,cwe=2*owe,aS=1e-6,Gon=cwe-aS;function uwe(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function CWe(){return new uwe}uwe.prototype=CWe.prototype={constructor:uwe,moveTo:function(i,s){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+s)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,s){this._+="L"+(this._x1=+i)+","+(this._y1=+s)},quadraticCurveTo:function(i,s,u,d){this._+="Q"+ +i+","+ +s+","+(this._x1=+u)+","+(this._y1=+d)},bezierCurveTo:function(i,s,u,d,p,v){this._+="C"+ +i+","+ +s+","+ +u+","+ +d+","+(this._x1=+p)+","+(this._y1=+v)},arcTo:function(i,s,u,d,p){i=+i,s=+s,u=+u,d=+d,p=+p;var v=this._x1,b=this._y1,y=u-i,T=d-s,_=v-i,A=b-s,P=_*_+A*A;if(p<0)throw new Error("negative radius: "+p);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=s);else if(P>aS)if(!(Math.abs(A*y-T*_)>aS)||!p)this._+="L"+(this._x1=i)+","+(this._y1=s);else{var R=u-v,F=d-b,j=y*y+T*T,K=R*R+F*F,ee=Math.sqrt(j),ie=Math.sqrt(P),oe=p*Math.tan((owe-Math.acos((j+P-K)/(2*ee*ie)))/2),pe=oe/ie,be=oe/ee;Math.abs(pe-1)>aS&&(this._+="L"+(i+pe*_)+","+(s+pe*A)),this._+="A"+p+","+p+",0,0,"+ +(A*R>_*F)+","+(this._x1=i+be*y)+","+(this._y1=s+be*T)}},arc:function(i,s,u,d,p,v){i=+i,s=+s,u=+u,v=!!v;var b=u*Math.cos(d),y=u*Math.sin(d),T=i+b,_=s+y,A=1^v,P=v?d-p:p-d;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+T+","+_:(Math.abs(this._x1-T)>aS||Math.abs(this._y1-_)>aS)&&(this._+="L"+T+","+_),u&&(P<0&&(P=P%cwe+cwe),P>Gon?this._+="A"+u+","+u+",0,1,"+A+","+(i-b)+","+(s-y)+"A"+u+","+u+",0,1,"+A+","+(this._x1=T)+","+(this._y1=_):P>aS&&(this._+="A"+u+","+u+",0,"+ +(P>=owe)+","+A+","+(this._x1=i+u*Math.cos(p))+","+(this._y1=s+u*Math.sin(p))))},rect:function(i,s,u,d){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+s)+"h"+ +u+"v"+ +d+"h"+-u+"Z"},toString:function(){return this._}};function SWe(i){return function(){return i}}function Kon(i){return i[0]}function Won(i){return i[1]}var Yon=Array.prototype.slice;function Xon(i){return i.source}function Qon(i){return i.target}function Jon(i){var s=Xon,u=Qon,d=Kon,p=Won,v=null;function b(){var y,T=Yon.call(arguments),_=s.apply(this,T),A=u.apply(this,T);if(v||(v=y=CWe()),i(v,+d.apply(this,(T[0]=_,T)),+p.apply(this,T),+d.apply(this,(T[0]=A,T)),+p.apply(this,T)),y)return v=null,y+""||null}return b.source=function(y){return arguments.length?(s=y,b):s},b.target=function(y){return arguments.length?(u=y,b):u},b.x=function(y){return arguments.length?(d=typeof y=="function"?y:SWe(+y),b):d},b.y=function(y){return arguments.length?(p=typeof y=="function"?y:SWe(+y),b):p},b.context=function(y){return arguments.length?(v=y??null,b):v},b}function Zon(i,s,u,d,p){i.moveTo(s,u),i.bezierCurveTo(s=(s+d)/2,u,s,p,d,p)}function ecn(){return Jon(Zon)}function tcn(i){return[i.source.x1,i.y0]}function ncn(i){return[i.target.x0,i.y1]}function rcn(){return ecn().source(tcn).target(ncn)}const _We=class aBe{static next(s){return new aBe(s+ ++aBe.count)}constructor(s){this.id=s,this.href=`#${s}`}toString(){return"url("+this.href+")"}};_We.count=0;let AWe=_We;const icn={left:jon,right:$on,center:zon,justify:yWe},scn={draw:function(i,s,u,d){const{securityLevel:p,sankey:v}=qt(),b=Zje.sankey;let y;p==="sandbox"&&(y=Ir("#i"+s));const T=Ir(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?T.select(`[id="${s}"]`):Ir(`[id="${s}"]`),A=(v==null?void 0:v.width)??b.width,P=(v==null?void 0:v.height)??b.width,R=(v==null?void 0:v.useMaxWidth)??b.useMaxWidth,F=(v==null?void 0:v.nodeAlignment)??b.nodeAlignment,j=(v==null?void 0:v.prefix)??b.prefix,K=(v==null?void 0:v.suffix)??b.suffix,ee=(v==null?void 0:v.showValues)??b.showValues,ie=d.db.getGraph(),oe=icn[F],pe=10;Uon().nodeId(ge=>ge.id).nodeWidth(pe).nodePadding(10+(ee?15:0)).nodeAlign(oe).extent([[0,0],[A,P]])(ie);const ae=_F(zFe);_.append("g").attr("class","nodes").selectAll(".node").data(ie.nodes).join("g").attr("class","node").attr("id",ge=>(ge.uid=AWe.next("node-")).id).attr("transform",function(ge){return"translate("+ge.x0+","+ge.y0+")"}).attr("x",ge=>ge.x0).attr("y",ge=>ge.y0).append("rect").attr("height",ge=>ge.y1-ge.y0).attr("width",ge=>ge.x1-ge.x0).attr("fill",ge=>ae(ge.id));const ne=({id:ge,value:W})=>ee?`${ge} +${j}${Math.round(W*100)/100}${K}`:ge;_.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(ie.nodes).join("text").attr("x",ge=>ge.x0(ge.y1+ge.y0)/2).attr("dy",`${ee?"0":"0.35"}em`).attr("text-anchor",ge=>ge.x0(W.uid=AWe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",W=>W.source.x1).attr("x2",W=>W.target.x0);ge.append("stop").attr("offset","0%").attr("stop-color",W=>ae(W.source.id)),ge.append("stop").attr("offset","100%").attr("stop-color",W=>ae(W.target.id))}let X;switch(de){case"gradient":X=ge=>ge.uid;break;case"source":X=ge=>ae(ge.source.id);break;case"target":X=ge=>ae(ge.target.id);break;default:X=de}se.append("path").attr("d",rcn()).attr("stroke",X).attr("stroke-width",ge=>Math.max(1,ge.width)),y9(void 0,_,0,R)}},acn=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),ocn=NJ.parse.bind(NJ);NJ.parse=i=>ocn(acn(i));const ccn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:NJ,db:Fon,renderer:scn}},Symbol.toStringTag,{value:"Module"}));var lwe=function(){var i=function(pe,be,ae,ne){for(ae=ae||{},ne=pe.length;ne--;ae[pe[ne]]=be);return ae},s=[1,7],u=[1,13],d=[1,14],p=[1,15],v=[1,19],b=[1,16],y=[1,17],T=[1,18],_=[8,30],A=[8,21,28,29,30,31,32,40,44,47],P=[1,23],R=[1,24],F=[8,15,16,21,28,29,30,31,32,40,44,47],j=[8,15,16,21,27,28,29,30,31,32,40,44,47],K=[1,49],ee={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(be,ae,ne,se,de,X,ge){var W=X.length-1;switch(de){case 4:se.getLogger().debug("Rule: separator (NL) ");break;case 5:se.getLogger().debug("Rule: separator (Space) ");break;case 6:se.getLogger().debug("Rule: separator (EOF) ");break;case 7:se.getLogger().debug("Rule: hierarchy: ",X[W-1]),se.setHierarchy(X[W-1]);break;case 8:se.getLogger().debug("Stop NL ");break;case 9:se.getLogger().debug("Stop EOF ");break;case 10:se.getLogger().debug("Stop NL2 ");break;case 11:se.getLogger().debug("Stop EOF2 ");break;case 12:se.getLogger().debug("Rule: statement: ",X[W]),typeof X[W].length=="number"?this.$=X[W]:this.$=[X[W]];break;case 13:se.getLogger().debug("Rule: statement #2: ",X[W-1]),this.$=[X[W-1]].concat(X[W]);break;case 14:se.getLogger().debug("Rule: link: ",X[W],be),this.$={edgeTypeStr:X[W],label:""};break;case 15:se.getLogger().debug("Rule: LABEL link: ",X[W-3],X[W-1],X[W]),this.$={edgeTypeStr:X[W],label:X[W-1]};break;case 18:const xe=parseInt(X[W]),U=se.generateId();this.$={id:U,type:"space",label:"",width:xe,children:[]};break;case 23:se.getLogger().debug("Rule: (nodeStatement link node) ",X[W-2],X[W-1],X[W]," typestr: ",X[W-1].edgeTypeStr);const Fe=se.edgeStrToEdgeData(X[W-1].edgeTypeStr);this.$=[{id:X[W-2].id,label:X[W-2].label,type:X[W-2].type,directions:X[W-2].directions},{id:X[W-2].id+"-"+X[W].id,start:X[W-2].id,end:X[W].id,label:X[W-1].label,type:"edge",directions:X[W].directions,arrowTypeEnd:Fe,arrowTypeStart:"arrow_open"},{id:X[W].id,label:X[W].label,type:se.typeStr2Type(X[W].typeStr),directions:X[W].directions}];break;case 24:se.getLogger().debug("Rule: nodeStatement (abc88 node size) ",X[W-1],X[W]),this.$={id:X[W-1].id,label:X[W-1].label,type:se.typeStr2Type(X[W-1].typeStr),directions:X[W-1].directions,widthInColumns:parseInt(X[W],10)};break;case 25:se.getLogger().debug("Rule: nodeStatement (node) ",X[W]),this.$={id:X[W].id,label:X[W].label,type:se.typeStr2Type(X[W].typeStr),directions:X[W].directions,widthInColumns:1};break;case 26:se.getLogger().debug("APA123",this?this:"na"),se.getLogger().debug("COLUMNS: ",X[W]),this.$={type:"column-setting",columns:X[W]==="auto"?-1:parseInt(X[W])};break;case 27:se.getLogger().debug("Rule: id-block statement : ",X[W-2],X[W-1]),se.generateId(),this.$={...X[W-2],type:"composite",children:X[W-1]};break;case 28:se.getLogger().debug("Rule: blockStatement : ",X[W-2],X[W-1],X[W]);const Pe=se.generateId();this.$={id:Pe,type:"composite",label:"",children:X[W-1]};break;case 29:se.getLogger().debug("Rule: node (NODE_ID separator): ",X[W]),this.$={id:X[W]};break;case 30:se.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",X[W-1],X[W]),this.$={id:X[W-1],label:X[W].label,typeStr:X[W].typeStr,directions:X[W].directions};break;case 31:se.getLogger().debug("Rule: dirList: ",X[W]),this.$=[X[W]];break;case 32:se.getLogger().debug("Rule: dirList: ",X[W-1],X[W]),this.$=[X[W-1]].concat(X[W]);break;case 33:se.getLogger().debug("Rule: nodeShapeNLabel: ",X[W-2],X[W-1],X[W]),this.$={typeStr:X[W-2]+X[W],label:X[W-1]};break;case 34:se.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",X[W-3],X[W-2]," #3:",X[W-1],X[W]),this.$={typeStr:X[W-3]+X[W],label:X[W-2],directions:X[W-1]};break;case 35:case 36:this.$={type:"classDef",id:X[W-1].trim(),css:X[W].trim()};break;case 37:this.$={type:"applyClass",id:X[W-1].trim(),styleClass:X[W].trim()};break;case 38:this.$={type:"applyStyles",id:X[W-1].trim(),stylesStr:X[W].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{8:[1,20]},i(_,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:s,28:u,29:d,31:p,32:v,40:b,44:y,47:T}),i(A,[2,16],{14:22,15:P,16:R}),i(A,[2,17]),i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),i(A,[2,21]),i(A,[2,22]),i(F,[2,25],{27:[1,25]}),i(A,[2,26]),{19:26,26:12,32:v},{11:27,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},i(j,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},i(_,[2,13]),{26:35,32:v},{32:[2,14]},{17:[1,36]},i(F,[2,24]),{11:37,13:4,14:22,15:P,16:R,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},i(j,[2,30]),{18:[1,43]},{18:[1,44]},i(F,[2,23]),{18:[1,45]},{30:[1,46]},i(A,[2,28]),i(A,[2,35]),i(A,[2,36]),i(A,[2,37]),i(A,[2,38]),{37:[1,47]},{34:48,35:K},{15:[1,50]},i(A,[2,27]),i(j,[2,33]),{39:[1,51]},{34:52,35:K,39:[2,31]},{32:[2,15]},i(j,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(be,ae){if(ae.recoverable)this.trace(be);else{var ne=new Error(be);throw ne.hash=ae,ne}},parse:function(be){var ae=this,ne=[0],se=[],de=[null],X=[],ge=this.table,W="",xe=0,U=0,Fe=2,Pe=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(be,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var kt;return kt=se.pop()||Ie.lex()||Pe,typeof kt!="number"&&(kt instanceof Array&&(se=kt,kt=se.pop()),kt=ae.symbols_[kt]||kt),kt}for(var Ne,gn,_t,Et,Gt={},ln,xt,Pt,Qe;;){if(gn=ne[ne.length-1],this.defaultActions[gn]?_t=this.defaultActions[gn]:((Ne===null||typeof Ne>"u")&&(Ne=Ft()),_t=ge[gn]&&ge[gn][Ne]),typeof _t>"u"||!_t.length||!_t[0]){var Dt="";Qe=[];for(ln in ge[gn])this.terminals_[ln]&&ln>Fe&&Qe.push("'"+this.terminals_[ln]+"'");Ie.showPosition?Dt="Parse error on line "+(xe+1)+`: +`+Ie.showPosition()+` +Expecting `+Qe.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse error on line "+(xe+1)+": Unexpected "+(Ne==Pe?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(Dt,{text:Ie.match,token:this.terminals_[Ne]||Ne,line:Ie.yylineno,loc:ke,expected:Qe})}if(_t[0]instanceof Array&&_t.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Ne);switch(_t[0]){case 1:ne.push(Ne),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(_t[1]),Ne=null,U=Ie.yyleng,W=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(xt=this.productions_[_t[1]][1],Gt.$=de[de.length-xt],Gt._$={first_line:X[X.length-(xt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(xt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Gt._$.range=[X[X.length-(xt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Gt,[W,U,xe,Se.yy,_t[1],de,X].concat(je)),typeof Et<"u")return Et;xt&&(ne=ne.slice(0,-1*xt*2),de=de.slice(0,-1*xt),X=X.slice(0,-1*xt)),ne.push(this.productions_[_t[1]][0]),de.push(Gt.$),X.push(Gt._$),Pt=ge[ne[ne.length-2]][ne[ne.length-1]],ne.push(Pt);break;case 3:return!0}}return!0}},ie=function(){var pe={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(be,ae){return this.yy=ae||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},input:function(){var be=this._input[0];this.yytext+=be,this.yyleng++,this.offset++,this.match+=be,this.matched+=be;var ae=be.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),be},unput:function(be){var ae=be.length,ne=be.split(/(?:\r\n?|\n)/g);this._input=be+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=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),ne.length-1&&(this.yylineno-=ne.length-1);var de=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:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(be){this.unput(this.match.slice(be))},pastInput:function(){var be=this.matched.substr(0,this.matched.length-this.match.length);return(be.length>20?"...":"")+be.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var be=this.pastInput(),ae=new Array(be.length+1).join("-");return be+this.upcomingInput()+` +`+ae+"^"},test_match:function(be,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={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&&(de.yylloc.range=this.yylloc.range.slice(0))),se=be[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.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],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var be,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(be=this.test_match(ne,de[X]),be!==!1)return be;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(be=this.test_match(ae,de[se]),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})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ae,ne,se,de){switch(se){case 0:return 10;case 1:return ae.getLogger().debug("Found space-block"),31;case 2:return ae.getLogger().debug("Found nl-block"),31;case 3:return ae.getLogger().debug("Found space-block"),29;case 4:ae.getLogger().debug(".",ne.yytext);break;case 5:ae.getLogger().debug("_",ne.yytext);break;case 6:return 5;case 7:return ne.yytext=-1,28;case 8:return ne.yytext=ne.yytext.replace(/columns\s+/,""),ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:ae.getLogger().debug("LEX: POPPING STR:",ne.yytext),this.popState();break;case 14:return ae.getLogger().debug("LEX: STR end:",ne.yytext),"STR";case 15:return ne.yytext=ne.yytext.replace(/space\:/,""),ae.getLogger().debug("SPACE NUM (LEX)",ne.yytext),21;case 16:return ne.yytext="1",ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),ae.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),ae.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),ae.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),ae.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),ae.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),ae.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),ae.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),ae.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),ae.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),ae.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return ae.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return ae.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return ae.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return ae.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return ae.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return ae.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return ae.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),ae.getLogger().debug("LEX ARR START"),38;case 75:return ae.getLogger().debug("Lex: NODE_ID",ne.yytext),32;case 76:return ae.getLogger().debug("Lex: EOF",ne.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:ae.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:ae.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return ae.getLogger().debug("LEX: NODE_DESCR:",ne.yytext),"NODE_DESCR";case 84:ae.getLogger().debug("LEX POPPING"),this.popState();break;case 85:ae.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (right): dir:",ne.yytext),"DIR";case 87:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (left):",ne.yytext),"DIR";case 88:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (x):",ne.yytext),"DIR";case 89:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (y):",ne.yytext),"DIR";case 90:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (up):",ne.yytext),"DIR";case 91:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (down):",ne.yytext),"DIR";case 92:return ne.yytext="]>",ae.getLogger().debug("Lex (ARROW_DIR end):",ne.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 94:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 95:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 96:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 97:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 98:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 99:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return ae.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 103:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 104:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 105:return ae.getLogger().debug("Lex: COLON",ne.yytext),ne.yytext=ne.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return pe}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();lwe.parser=lwe;const ucn=lwe;let U2={},hwe=[],ij={};const LWe="color",MWe="fill",lcn="bgFill",DWe=",",hcn=qt();let sj={};const fcn=i=>ci.sanitizeText(i,hcn),dcn=function(i,s=""){sj[i]===void 0&&(sj[i]={id:i,styles:[],textStyles:[]});const u=sj[i];s!=null&&s.split(DWe).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(LWe)){const b=p.replace(MWe,lcn).replace(LWe,MWe);u.textStyles.push(b)}u.styles.push(p)})},gcn=function(i,s=""){const u=U2[i];s!=null&&(u.styles=s.split(DWe))},pcn=function(i,s){i.split(",").forEach(function(u){let d=U2[u];if(d===void 0){const p=u.trim();U2[p]={id:p,type:"na",children:[]},d=U2[p]}d.classes||(d.classes=[]),d.classes.push(s)})},IWe=(i,s)=>{const u=i.flat(),d=[];for(const p of u){if(p.label&&(p.label=fcn(p.label)),p.type==="classDef"){dcn(p.id,p.css);continue}if(p.type==="applyClass"){pcn(p.id,(p==null?void 0:p.styleClass)||"");continue}if(p.type==="applyStyles"){p!=null&&p.stylesStr&&gcn(p.id,p==null?void 0:p.stylesStr);continue}if(p.type==="column-setting")s.columns=p.columns||-1;else if(p.type==="edge")ij[p.id]?ij[p.id]++:ij[p.id]=1,p.id=ij[p.id]+"-"+p.id,hwe.push(p);else{p.label||(p.type==="composite"?p.label="":p.label=p.id);const v=!U2[p.id];if(v?U2[p.id]=p:(p.type!=="na"&&(U2[p.id].type=p.type),p.label!==p.id&&(U2[p.id].label=p.label)),p.children&&IWe(p.children,p),p.type==="space"){const b=p.width||1;for(let y=0;y{Xe.debug("Clear called"),Pg(),aj={id:"root",type:"composite",children:[],columns:-1},U2={root:aj},fwe=[],sj={},hwe=[],ij={}};function mcn(i){switch(Xe.debug("typeStr2Type",i),i){case"[]":return"square";case"()":return Xe.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 vcn(i){switch(Xe.debug("typeStr2Type",i),i){case"==":return"thick";default:return"normal"}}function wcn(i){switch(i.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let OWe=0;const ycn={getConfig:()=>Vh().block,typeStr2Type:mcn,edgeTypeStr2Type:vcn,edgeStrToEdgeData:wcn,getLogger:()=>console,getBlocksFlat:()=>[...Object.values(U2)],getBlocks:()=>fwe||[],getEdges:()=>hwe,setHierarchy:i=>{aj.children=i,IWe(i,aj),fwe=aj.children},getBlock:i=>U2[i],setBlock:i=>{U2[i.id]=i},getColumns:i=>{const s=U2[i];return s?s.columns?s.columns:s.children?s.children.length:-1:-1},getClasses:function(){return sj},clear:bcn,generateId:()=>(OWe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+OWe)},jJ=(i,s)=>{const u=ARe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return SC(d,p,v,s)},xcn=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${jJ(i.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${jJ(i.mainBkg,.5)}; + fill: ${jJ(i.clusterBkg,.5)}; + stroke: ${jJ(i.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; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`;function NWe(i,s,u=!1){var R,F,j;const d=i;let p="default";(((R=d==null?void 0:d.classes)==null?void 0:R.length)||0)>0&&(p=((d==null?void 0:d.classes)||[]).join(" ")),p=p+" flowchart-label";let v=0,b="",y;switch(d.type){case"round":v=5,b="rect";break;case"composite":v=0,b="composite",y=0;break;case"square":b="rect";break;case"diamond":b="question";break;case"hexagon":b="hexagon";break;case"block_arrow":b="block_arrow";break;case"odd":b="rect_left_inv_arrow";break;case"lean_right":b="lean_right";break;case"lean_left":b="lean_left";break;case"trapezoid":b="trapezoid";break;case"inv_trapezoid":b="inv_trapezoid";break;case"rect_left_inv_arrow":b="rect_left_inv_arrow";break;case"circle":b="circle";break;case"ellipse":b="ellipse";break;case"stadium":b="stadium";break;case"subroutine":b="subroutine";break;case"cylinder":b="cylinder";break;case"group":b="rect";break;case"doublecircle":b="doublecircle";break;default:b="rect"}const T=om((d==null?void 0:d.styles)||[]),_=d.label,A=d.size||{width:0,height:0,x:0,y:0};return{labelStyle:T.labelStyle,shape:b,labelText:_,rx:v,ry:v,class:p,style:T.style,id:d.id,directions:d.directions,width:A.width,height:A.height,x:A.x,y:A.y,positioned:u,intersect:void 0,type:d.type,padding:y??(((j=(F=Vh())==null?void 0:F.block)==null?void 0:j.padding)||0)}}async function kcn(i,s,u){const d=NWe(s,u,!1);if(d.type==="group")return;const p=await tJ(i,d),v=p.node().getBBox(),b=u.getBlock(d.id);b.size={width:v.width,height:v.height,x:0,y:0,node:p},u.setBlock(b),p.remove()}async function Ecn(i,s,u){const d=NWe(s,u,!0);u.getBlock(d.id).type!=="space"&&(await tJ(i,d),s.intersect=d==null?void 0:d.intersect,$me(d))}async function dwe(i,s,u,d){for(const p of s)await d(i,p,u),p.children&&await dwe(i,p.children,u,d)}async function Tcn(i,s,u){await dwe(i,s,u,kcn)}async function Ccn(i,s,u){await dwe(i,s,u,Ecn)}async function Scn(i,s,u,d,p){const v=new B0({multigraph:!0,compound:!0});v.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const b of u)b.size&&v.setNode(b.id,{width:b.size.width,height:b.size.height,intersect:b.intersect});for(const b of s)if(b.start&&b.end){const y=d.getBlock(b.start),T=d.getBlock(b.end);if(y!=null&&y.size&&(T!=null&&T.size)){const _=y.size,A=T.size,P=[{x:_.x,y:_.y},{x:_.x+(A.x-_.x)/2,y:_.y+(A.y-_.y)/2},{x:A.x,y:A.y}];await IUe(i,{v:b.start,w:b.end,name:b.id},{...b,arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",v,p),b.label&&(await zme(i,{...b,label:b.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await MUe({...b,x:P[1].x,y:P[1].y},{originalPath:P}))}}}const e0=((RWe=(FWe=qt())==null?void 0:FWe.block)==null?void 0:RWe.padding)||8;function _cn(i,s){if(i===0||!Number.isInteger(i))throw new Error("Columns must be an integer !== 0.");if(s<0||!Number.isInteger(s))throw new Error("Position must be a non-negative integer."+s);if(i<0)return{px:s,py:0};if(i===1)return{px:0,py:s};const u=s%i,d=Math.floor(s/i);return{px:u,py:d}}const Acn=i=>{let s=0,u=0;for(const d of i.children){const{width:p,height:v,x:b,y}=d.size||{width:0,height:0,x:0,y:0};Xe.debug("getMaxChildSize abc95 child:",d.id,"width:",p,"height:",v,"x:",b,"y:",y,d.type),d.type!=="space"&&(p>s&&(s=p/(i.widthInColumns||1)),v>u&&(u=v))}return{width:s,height:u}};function gwe(i,s,u=0,d=0){var b,y,T,_,A,P,R,F,j,K,ee;Xe.debug("setBlockSizes abc95 (start)",i.id,(b=i==null?void 0:i.size)==null?void 0:b.x,"block width =",i==null?void 0:i.size,"sieblingWidth",u),(y=i==null?void 0:i.size)!=null&&y.width||(i.size={width:u,height:d,x:0,y:0});let p=0,v=0;if(((T=i.children)==null?void 0:T.length)>0){for(const de of i.children)gwe(de,s);const ie=Acn(i);p=ie.width,v=ie.height,Xe.debug("setBlockSizes abc95 maxWidth of",i.id,":s children is ",p,v);for(const de of i.children)de.size&&(Xe.debug(`abc95 Setting size of children of ${i.id} id=${de.id} ${p} ${v} ${de.size}`),de.size.width=p*(de.widthInColumns||1)+e0*((de.widthInColumns||1)-1),de.size.height=v,de.size.x=0,de.size.y=0,Xe.debug(`abc95 updating size of ${i.id} children child:${de.id} maxWidth:${p} maxHeight:${v}`));for(const de of i.children)gwe(de,s,p,v);const oe=i.columns||-1;let pe=0;for(const de of i.children)pe+=de.widthInColumns||1;let be=i.children.length;oe>0&&oe0?Math.min(i.children.length,oe):i.children.length;if(de>0){const X=(ne-de*e0-e0)/de;Xe.debug("abc95 (growing to fit) width",i.id,ne,(R=i.size)==null?void 0:R.width,X);for(const ge of i.children)ge.size&&(ge.size.width=X)}}i.size={width:ne,height:se,x:0,y:0}}Xe.debug("setBlockSizes abc94 (done)",i.id,(F=i==null?void 0:i.size)==null?void 0:F.x,(j=i==null?void 0:i.size)==null?void 0:j.width,(K=i==null?void 0:i.size)==null?void 0:K.y,(ee=i==null?void 0:i.size)==null?void 0:ee.height)}function PWe(i,s){var d,p,v,b,y,T,_,A,P,R,F,j,K,ee,ie,oe,pe;Xe.debug(`abc85 layout blocks (=>layoutBlocks) ${i.id} x: ${(d=i==null?void 0:i.size)==null?void 0:d.x} y: ${(p=i==null?void 0:i.size)==null?void 0:p.y} width: ${(v=i==null?void 0:i.size)==null?void 0:v.width}`);const u=i.columns||-1;if(Xe.debug("layoutBlocks columns abc95",i.id,"=>",u,i),i.children&&i.children.length>0){const be=((y=(b=i==null?void 0:i.children[0])==null?void 0:b.size)==null?void 0:y.width)||0,ae=i.children.length*be+(i.children.length-1)*e0;Xe.debug("widthOfChildren 88",ae,"posX");let ne=0;Xe.debug("abc91 block?.size?.x",i.id,(T=i==null?void 0:i.size)==null?void 0:T.x);let se=(_=i==null?void 0:i.size)!=null&&_.x?((A=i==null?void 0:i.size)==null?void 0:A.x)+(-((P=i==null?void 0:i.size)==null?void 0:P.width)/2||0):-e0,de=0;for(const X of i.children){const ge=i;if(!X.size)continue;const{width:W,height:xe}=X.size,{px:U,py:Fe}=_cn(u,ne);if(Fe!=de&&(de=Fe,se=(R=i==null?void 0:i.size)!=null&&R.x?((F=i==null?void 0:i.size)==null?void 0:F.x)+(-((j=i==null?void 0:i.size)==null?void 0:j.width)/2||0):-e0,Xe.debug("New row in layout for block",i.id," and child ",X.id,de)),Xe.debug(`abc89 layout blocks (child) id: ${X.id} Pos: ${ne} (px, py) ${U},${Fe} (${(K=ge==null?void 0:ge.size)==null?void 0:K.x},${(ee=ge==null?void 0:ge.size)==null?void 0:ee.y}) parent: ${ge.id} width: ${W}${e0}`),ge.size){const Pe=W/2;X.size.x=se+e0+Pe,Xe.debug(`abc91 layout blocks (calc) px, pyid:${X.id} startingPos=X${se} new startingPosX${X.size.x} ${Pe} padding=${e0} width=${W} halfWidth=${Pe} => x:${X.size.x} y:${X.size.y} ${X.widthInColumns} (width * (child?.w || 1)) / 2 ${W*((X==null?void 0:X.widthInColumns)||1)/2}`),se=X.size.x+Pe,X.size.y=ge.size.y-ge.size.height/2+Fe*(xe+e0)+xe/2+e0,Xe.debug(`abc88 layout blocks (calc) px, pyid:${X.id}startingPosX${se}${e0}${Pe}=>x:${X.size.x}y:${X.size.y}${X.widthInColumns}(width * (child?.w || 1)) / 2${W*((X==null?void 0:X.widthInColumns)||1)/2}`)}X.children&&PWe(X),ne+=(X==null?void 0:X.widthInColumns)||1,Xe.debug("abc88 columnsPos",X,ne)}}Xe.debug(`layout blocks (<==layoutBlocks) ${i.id} x: ${(ie=i==null?void 0:i.size)==null?void 0:ie.x} y: ${(oe=i==null?void 0:i.size)==null?void 0:oe.y} width: ${(pe=i==null?void 0:i.size)==null?void 0:pe.width}`)}function BWe(i,{minX:s,minY:u,maxX:d,maxY:p}={minX:0,minY:0,maxX:0,maxY:0}){if(i.size&&i.id!=="root"){const{x:v,y:b,width:y,height:T}=i.size;v-y/2d&&(d=v+y/2),b+T/2>p&&(p=b+T/2)}if(i.children)for(const v of i.children)({minX:s,minY:u,maxX:d,maxY:p}=BWe(v,{minX:s,minY:u,maxX:d,maxY:p}));return{minX:s,minY:u,maxX:d,maxY:p}}function Lcn(i){const s=i.getBlock("root");if(!s)return;gwe(s,i,0,0),PWe(s),Xe.debug("getBlocks",JSON.stringify(s,null,2));const{minX:u,minY:d,maxX:p,maxY:v}=BWe(s),b=v-d,y=p-u;return{x:u,y:d,width:y,height:b}}const Mcn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ucn,db:ycn,renderer:{draw:async function(i,s,u,d){const{securityLevel:p,block:v}=Vh(),b=d.db;let y;p==="sandbox"&&(y=Ir("#i"+s));const T=Ir(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?T.select(`[id="${s}"]`):Ir(`[id="${s}"]`);Sme(_,["point","circle","cross"],d.type,s);const P=b.getBlocks(),R=b.getBlocksFlat(),F=b.getEdges(),j=_.insert("g").attr("class","block");await Tcn(j,P,b);const K=Lcn(b);if(await Ccn(j,P,b),await Scn(j,F,R,b,s),K){const ee=K,ie=Math.max(1,Math.round(.125*(ee.width/ee.height))),oe=ee.height+ie+10,pe=ee.width+10,{useMaxWidth:be}=v;Ng(_,oe,pe,!!be),Xe.debug("Here Bounds",K,ee),_.attr("viewBox",`${ee.x-5} ${ee.y-5} ${ee.width+10} ${ee.height+10}`)}_F(zFe)},getClasses:function(i,s){return s.db.getClasses()}},styles:xcn}},Symbol.toStringTag,{value:"Module"}));return um}); + +; +function css(e){return"rgb("+getComputedStyle(document.documentElement).getPropertyValue(e)+")"}mermaid.initialize({theme:"base",themeVariables:{background:css("--color-neutral"),primaryColor:css("--color-primary-200"),secondaryColor:css("--color-secondary-200"),tertiaryColor:css("--color-neutral-100"),primaryBorderColor:css("--color-primary-400"),secondaryBorderColor:css("--color-secondary-400"),tertiaryBorderColor:css("--color-neutral-400"),lineColor:css("--color-neutral-600"),fontFamily:"ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif",fontSize:"16px"}}) \ No newline at end of file diff --git a/docs/posts/big_o/index.html b/docs/posts/big_o/index.html index 8998515..837dda5 100644 --- a/docs/posts/big_o/index.html +++ b/docs/posts/big_o/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -228,6 +239,18 @@ + + @@ -268,6 +291,18 @@ + + @@ -717,8 +752,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -729,8 +764,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -1485,6 +1518,58 @@

    Другие обозначения
    + diff --git a/docs/posts/collections/index.html b/docs/posts/collections/index.html index 9741b05..faf17ac 100644 --- a/docs/posts/collections/index.html +++ b/docs/posts/collections/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -64,13 +75,13 @@ + - @@ -234,6 +245,18 @@ + + @@ -274,6 +297,18 @@ + + @@ -747,8 +782,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -759,8 +794,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -787,7 +820,16 @@

    + + + +
    + Part 2: This Article
    @@ -795,7 +837,7 @@

    @@ -804,7 +846,7 @@

    @@ -813,7 +855,7 @@

    @@ -822,7 +864,7 @@

    @@ -831,7 +873,7 @@

    @@ -840,7 +882,7 @@

    @@ -849,7 +891,7 @@

    @@ -858,7 +900,7 @@

    @@ -867,7 +909,7 @@

    @@ -876,7 +918,7 @@

    @@ -885,7 +927,7 @@

    @@ -1897,7 +1939,16 @@

    Генераторы словарей + + + +
    + Part 2: This Article
    @@ -1905,7 +1956,7 @@

    Генераторы словарей @@ -1914,7 +1965,7 @@

    Генераторы словарей @@ -1923,7 +1974,7 @@

    Генераторы словарей @@ -1932,7 +1983,7 @@

    Генераторы словарей @@ -1941,7 +1992,7 @@

    Генераторы словарей @@ -1950,7 +2001,7 @@

    Генераторы словарей @@ -1959,7 +2010,7 @@

    Генераторы словарей @@ -1968,7 +2019,7 @@

    Генераторы словарей @@ -1977,7 +2028,7 @@

    Генераторы словарей @@ -1986,7 +2037,7 @@

    Генераторы словарей @@ -1995,7 +2046,7 @@

    Генераторы словарей @@ -2169,6 +2220,58 @@

    Генераторы словарей + diff --git a/docs/posts/csv_json/index.html b/docs/posts/csv_json/index.html index cbfe4af..2dba28b 100644 --- a/docs/posts/csv_json/index.html +++ b/docs/posts/csv_json/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -65,12 +76,12 @@ + - @@ -234,6 +245,18 @@ + + @@ -274,6 +297,18 @@ + + @@ -741,8 +776,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -753,8 +788,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -779,10 +812,19 @@

    + + + + @@ -791,7 +833,7 @@

    @@ -800,7 +842,7 @@

    @@ -809,7 +851,7 @@

    @@ -818,7 +860,7 @@

    @@ -827,7 +869,7 @@

    @@ -836,7 +878,7 @@

    @@ -845,7 +887,7 @@

    @@ -854,7 +896,7 @@

    @@ -862,7 +904,7 @@

    - Part 10: This Article + Part 11: This Article
    @@ -870,7 +912,7 @@

    @@ -879,7 +921,7 @@

    @@ -1855,10 +1897,19 @@

    Кириллические символы в json + + + + @@ -1867,7 +1918,7 @@

    Кириллические символы в json @@ -1876,7 +1927,7 @@

    Кириллические символы в json @@ -1885,7 +1936,7 @@

    Кириллические символы в json @@ -1894,7 +1945,7 @@

    Кириллические символы в json @@ -1903,7 +1954,7 @@

    Кириллические символы в json @@ -1912,7 +1963,7 @@

    Кириллические символы в json @@ -1921,7 +1972,7 @@

    Кириллические символы в json @@ -1930,7 +1981,7 @@

    Кириллические символы в json @@ -1938,7 +1989,7 @@

    Кириллические символы в json
    - Part 10: This Article + Part 11: This Article
    @@ -1946,7 +1997,7 @@

    Кириллические символы в json @@ -1955,7 +2006,7 @@

    Кириллические символы в json @@ -2151,6 +2202,58 @@

    Кириллические символы в json + diff --git a/docs/posts/date_and_time_1/index.html b/docs/posts/date_and_time_1/index.html index d4dcf5f..8d5b82a 100644 --- a/docs/posts/date_and_time_1/index.html +++ b/docs/posts/date_and_time_1/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -67,12 +78,12 @@ + - @@ -236,6 +247,18 @@ + + @@ -276,6 +299,18 @@ + + @@ -761,8 +796,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -773,8 +808,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -799,10 +832,19 @@

    + + + + @@ -811,7 +853,7 @@

    @@ -820,7 +862,7 @@

    @@ -829,7 +871,7 @@

    @@ -838,7 +880,7 @@

    @@ -847,7 +889,7 @@

    @@ -855,7 +897,7 @@

    - Part 7: This Article + Part 8: This Article
    @@ -863,7 +905,7 @@

    @@ -872,7 +914,7 @@

    @@ -881,7 +923,7 @@

    @@ -890,7 +932,7 @@

    @@ -899,7 +941,7 @@

    @@ -2237,10 +2279,19 @@

    Операции с datetime и da + + + + @@ -2249,7 +2300,7 @@

    Операции с datetime и da @@ -2258,7 +2309,7 @@

    Операции с datetime и da @@ -2267,7 +2318,7 @@

    Операции с datetime и da @@ -2276,7 +2327,7 @@

    Операции с datetime и da @@ -2285,7 +2336,7 @@

    Операции с datetime и da @@ -2293,7 +2344,7 @@

    Операции с datetime и da
    - Part 7: This Article + Part 8: This Article
    @@ -2301,7 +2352,7 @@

    Операции с datetime и da @@ -2310,7 +2361,7 @@

    Операции с datetime и da @@ -2319,7 +2370,7 @@

    Операции с datetime и da @@ -2328,7 +2379,7 @@

    Операции с datetime и da @@ -2337,7 +2388,7 @@

    Операции с datetime и da @@ -2533,6 +2584,58 @@

    Операции с datetime и da + diff --git a/docs/posts/date_and_time_2/index.html b/docs/posts/date_and_time_2/index.html index 62c65f6..bd76f3d 100644 --- a/docs/posts/date_and_time_2/index.html +++ b/docs/posts/date_and_time_2/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -67,12 +78,12 @@ + - @@ -236,6 +247,18 @@ + + @@ -276,6 +299,18 @@ + + @@ -767,8 +802,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -779,8 +814,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -805,10 +838,19 @@

    + + + + @@ -817,7 +859,7 @@

    @@ -826,7 +868,7 @@

    @@ -835,7 +877,7 @@

    @@ -844,7 +886,7 @@

    @@ -853,7 +895,7 @@

    @@ -862,7 +904,7 @@

    @@ -870,7 +912,7 @@

    - Part 8: This Article + Part 9: This Article
    @@ -878,7 +920,7 @@

    @@ -887,7 +929,7 @@

    @@ -896,7 +938,7 @@

    @@ -905,7 +947,7 @@

    @@ -2107,10 +2149,19 @@

    Функции calendar + + + + @@ -2119,7 +2170,7 @@

    Функции calendar @@ -2128,7 +2179,7 @@

    Функции calendar @@ -2137,7 +2188,7 @@

    Функции calendar @@ -2146,7 +2197,7 @@

    Функции calendar @@ -2155,7 +2206,7 @@

    Функции calendar @@ -2164,7 +2215,7 @@

    Функции calendar @@ -2172,7 +2223,7 @@

    Функции calendar
    - Part 8: This Article + Part 9: This Article
    @@ -2180,7 +2231,7 @@

    Функции calendar @@ -2189,7 +2240,7 @@

    Функции calendar @@ -2198,7 +2249,7 @@

    Функции calendar @@ -2207,7 +2258,7 @@

    Функции calendar @@ -2403,6 +2454,58 @@

    Функции calendar + diff --git a/docs/posts/deep_bool_oper_python/index.html b/docs/posts/deep_bool_oper_python/index.html index 5bea185..b62fcfb 100644 --- a/docs/posts/deep_bool_oper_python/index.html +++ b/docs/posts/deep_bool_oper_python/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -95,7 +106,7 @@ "keywords": ["python"], "mainEntityOfPage": "true", - "wordCount": "938" + "wordCount": "942" }] @@ -226,6 +237,18 @@ + + @@ -266,6 +289,18 @@ + + @@ -503,7 +538,7 @@

    - ·938 слов·5 минут· + ·942 слов·5 минут· @@ -677,8 +712,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -689,8 +724,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -853,7 +886,8 @@

    Приоритет логических операт
    print(not 1 == 2 or 3 == 3 and 5 == 6)
     
     # Вывод: True
    -

    Согласно приоритету операторов в первую очередь вычисляются выражения 1 == 2, 3 == 3 и 5 == 6, в результате чего исходное выражение принимает вид not False or True and False. Далее выполняется оператор not, возвращая значение True, после него — оператор and, возвращая значение False. Выражение принимает вид True or False. Последним выполняется оператор or, возвращая общий результат выражения — значение True !(считаю это неточным утверждением, ведь оператор or может сразу завершать работу после вычисления not 1 == 2, что подтвердилось в ходе проверки)!.

    +

    Согласно приоритету операторов в первую очередь вычисляются выражения 1 == 2, 3 == 3 и 5 == 6, в результате чего исходное выражение принимает вид not False or True and False. Далее выполняется оператор not, возвращая значение True, после него — оператор and, возвращая значение False. Выражение принимает вид True or False. Последним выполняется оператор or, возвращая общий результат выражения — значение True.
    +P.S. На самом деле после вычиления not 1 == 2 оператор or сразу вернёт True, не вычисляя правую часть.


    @@ -917,7 +951,14 @@

    Цепочки сравнений
    # Вывод:
     False
     False
    -
    +
    +

    Основной источник: https://habr.com/ru/articles/824170/

    +

    Доп. источники:

    + + @@ -1110,6 +1151,58 @@

    Цепочки сравнений + diff --git a/docs/posts/frac_dec_compl/index.html b/docs/posts/frac_dec_compl/index.html index b9b6c08..f59e069 100644 --- a/docs/posts/frac_dec_compl/index.html +++ b/docs/posts/frac_dec_compl/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -64,13 +75,13 @@ + - @@ -234,6 +245,18 @@ + + @@ -274,6 +297,18 @@ + + @@ -713,8 +748,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -725,8 +760,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -751,10 +784,19 @@

    + + + + @@ -763,7 +805,7 @@

    @@ -771,7 +813,7 @@

    - Part 3: This Article + Part 4: This Article
    @@ -779,7 +821,7 @@

    @@ -788,7 +830,7 @@

    @@ -797,7 +839,7 @@

    @@ -806,7 +848,7 @@

    @@ -815,7 +857,7 @@

    @@ -824,7 +866,7 @@

    @@ -833,7 +875,7 @@

    @@ -842,7 +884,7 @@

    @@ -851,7 +893,7 @@

    @@ -1310,10 +1352,19 @@

    Методы и свойства + + + + @@ -1322,7 +1373,7 @@

    Методы и свойства @@ -1330,7 +1381,7 @@

    Методы и свойства
    - Part 3: This Article + Part 4: This Article
    @@ -1338,7 +1389,7 @@

    Методы и свойства @@ -1347,7 +1398,7 @@

    Методы и свойства @@ -1356,7 +1407,7 @@

    Методы и свойства @@ -1365,7 +1416,7 @@

    Методы и свойства @@ -1374,7 +1425,7 @@

    Методы и свойства @@ -1383,7 +1434,7 @@

    Методы и свойства @@ -1392,7 +1443,7 @@

    Методы и свойства @@ -1401,7 +1452,7 @@

    Методы и свойства @@ -1410,7 +1461,7 @@

    Методы и свойства @@ -1606,6 +1657,58 @@

    Методы и свойства + diff --git a/docs/posts/functions/index.html b/docs/posts/functions/index.html index 1e76fc2..0cfebca 100644 --- a/docs/posts/functions/index.html +++ b/docs/posts/functions/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -64,13 +75,13 @@ + - @@ -234,6 +245,18 @@ + + @@ -274,6 +297,18 @@ + + @@ -791,8 +826,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -803,8 +838,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -829,10 +862,19 @@

    + + + + @@ -841,7 +883,7 @@

    @@ -850,7 +892,7 @@

    @@ -859,7 +901,7 @@

    @@ -867,7 +909,7 @@

    - Part 5: This Article + Part 6: This Article
    @@ -875,7 +917,7 @@

    @@ -884,7 +926,7 @@

    @@ -893,7 +935,7 @@

    @@ -902,7 +944,7 @@

    @@ -911,7 +953,7 @@

    @@ -920,7 +962,7 @@

    @@ -929,7 +971,7 @@

    @@ -2069,10 +2111,19 @@

    Функция zip() + + + + @@ -2081,7 +2132,7 @@

    Функция zip() @@ -2090,7 +2141,7 @@

    Функция zip() @@ -2099,7 +2150,7 @@

    Функция zip() @@ -2107,7 +2158,7 @@

    Функция zip()
    - Part 5: This Article + Part 6: This Article
    @@ -2115,7 +2166,7 @@

    Функция zip() @@ -2124,7 +2175,7 @@

    Функция zip() @@ -2133,7 +2184,7 @@

    Функция zip() @@ -2142,7 +2193,7 @@

    Функция zip() @@ -2151,7 +2202,7 @@

    Функция zip() @@ -2160,7 +2211,7 @@

    Функция zip() @@ -2169,7 +2220,7 @@

    Функция zip() @@ -2365,6 +2416,58 @@

    Функция zip() + diff --git a/docs/posts/index.html b/docs/posts/index.html index cefba11..9b6ff64 100644 --- a/docs/posts/index.html +++ b/docs/posts/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -468,6 +503,123 @@

    + +
    + +
    + + + +
    + + +
    Устройство памяти в Python
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + ·1796 слов·9 минут + + + + +
    + + + + + +
    + + + + + + + + + + + + + + Python + + + + + + + + Memory + + + + + + + + + + + +
    + + + +
    + + +
    +
    + +
    +
    + + + + +
    @@ -523,7 +675,7 @@

    - ·827 слов·4 минут + ·837 слов·4 минут @@ -632,7 +784,7 @@

    - ·938 слов·5 минут + ·942 слов·5 минут @@ -2294,6 +2446,123 @@

    + +

    + +
    + + + + + + +
    + +
    + + + +
    + + +
    Коллекции в Python
    + + +
    diff --git a/docs/posts/index.xml b/docs/posts/index.xml index 545d5ce..27858ca 100644 --- a/docs/posts/index.xml +++ b/docs/posts/index.xml @@ -7,7 +7,17 @@ Hugo -- gohugo.io ru © 2024 Иван Бережной - Mon, 15 Jul 2024 00:00:00 +0000 + Tue, 16 Jul 2024 00:00:00 +0000 + + Устройство памяти в Python + http://localhost:1313/HFK_website/posts/memory_python/ + Tue, 16 Jul 2024 00:00:00 +0000 + + http://localhost:1313/HFK_website/posts/memory_python/ + Конспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python Компьютерная память # Как можем видеть из схемы ниже, память в компьюетере разделяется на внутреннюю и внешнюю: + + + Марк Лутц "Изучаем Python" http://localhost:1313/HFK_website/posts/mark_lutz/ diff --git a/docs/posts/mark_lutz/index.html b/docs/posts/mark_lutz/index.html index 1685621..c3db7ae 100644 --- a/docs/posts/mark_lutz/index.html +++ b/docs/posts/mark_lutz/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -95,7 +106,7 @@ "keywords": ["python"], "mainEntityOfPage": "true", - "wordCount": "827" + "wordCount": "837" }] @@ -226,6 +237,18 @@ + + @@ -266,6 +289,18 @@ + + @@ -503,7 +538,7 @@

    - ·827 слов·4 минут· + ·837 слов·4 минут· @@ -699,8 +734,8 @@

    if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -711,8 +746,6 @@

    $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -931,14 +964,16 @@

    Что нового

    Unicode — это стандарт, который определяет уникальные числовые коды (code points) для каждого символа в различных письменных системах мира; UTF-8 (Unicode Transformation Format) — кодировка, представляющая эти числовые коды в последовательности байтов.

  3. -

    Существует стиль форматирования строк, в котором используются %. Пользоваться им нет смысла, так как существуют более свежие и быстрые альтернативы (f-string), но полезно для общего развития. Пример:

    +

    Существует стиль форматирования строк, в котором используются %. Лично я не вижу смысла им пользоваться, так как существуют более свежие и быстрые альтернативы (f-strings, format()), но полезно для общего развития. Пример:

  4. name = "Ivan"
    +print('Hello, %s' % name)
     print('%s, my friend %s' % ('Hello', name))
    -
    -# Вывод: Hello, my friend Ivan
    -
      +

    # Вывод: 
    +Hello, Ivan
    +Hello, my friend Ivan
    +
    • Забывшееся: в один принт можно читабельно (без прописывания литералов) уместить многострочный текст, обрамляя его тремя парами кавычек:
    print("""Hello and welcome to the Los Pollos Hermanos family.
    @@ -1068,6 +1103,28 @@ 

    Ответы на вопросы + + + Устройство памяти в Python + + + + + + + + + +

    @@ -1150,6 +1207,58 @@

    Ответы на вопросы +

    diff --git a/docs/posts/memory_python/arena.png b/docs/posts/memory_python/arena.png new file mode 100644 index 0000000000000000000000000000000000000000..26378670d58c99a9ecb24ae345461ed60aec5f71 GIT binary patch literal 20014 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena.png.crdownload b/docs/posts/memory_python/arena.png.crdownload new file mode 100644 index 0000000000000000000000000000000000000000..26378670d58c99a9ecb24ae345461ed60aec5f71 GIT binary patch literal 20014 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1024x0_resize_box_3.png b/docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1024x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..879a8ea8793bbf4c5c1eceb9c10d53ed6ca5abd0 GIT binary patch literal 21173 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 VHsj$29$+$H@O1TaS?83{1OTxz4(tE` literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1320x0_resize_box_3.png b/docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1320x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e4035ecb9f0c7d8a76ab66c58e4369d98a2a2d49 GIT binary patch literal 27298 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

    =ftUD&fs5Y!~%v=NLHm1c!=pU!A{rx9QoF!g} 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_330x0_resize_box_3.png b/docs/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_330x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b663325d30a922d659300c6d5221808bffbc6e3a GIT binary patch literal 7923 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 Unrd#W@D0XGF*(tK=da%WKL$Cc`Tzg` literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_pool_block.png b/docs/posts/memory_python/arena_pool_block.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee14fff884f8f81134bcaf00c84bcbb7b7d1782 GIT binary patch literal 31084 zcmd?R2T)U87d9Hi_KJw8fYJp)5doDZLI@}rq=*PghZpIhAiWc?(Ytg6rHWFd3xS~Y zUe(Zp^d3VCgpk~Q!1wFlU+$f`_n*1UI8t)X*?aA^*Iw&c&vOFr-a*nIVLbwa!RT)* zDcpm>_CJQf_Bk9r2!0bueh>=&qj9{4yaCJaWS;{+?6;IxlZU|y!|BK-2f)vNJXO+l zgu&=eLjP!BiOHv7Fn5~U3i4WRMoS}fPw%f+&k~GN9w9con@3CeetO0fyc}b z&v4F#Jo?uf7hF2qtC3otoKM*hk~N-w&@3rkN_Ggj@$sx|{u66EPwDIuBlwYKO|y_w zN-$&O*e}(6f1GorQnqVqTRqPYcot9x7q%00i>WqGii*W*s3JAwAA%nRZh^spud$HF z+tBR57qa^k&F(i(kJ7X4egkXz|LL#H#2fmrz+iH8soon2x-u_czP#$OW`zce?yL3A zgcb(7Uh=Tv$Uv2Qv09Ii%{&3IVvmab1QF2xkMe!2llz1GU zYgDbbTun5}$H{8@zq`^;$aCtb zC@$(|lLdK71f{!NF~hmlVdukZZfsxJ~Rx?*n)DiY<@QN8c~@srEdn z*;%q1^2)+wTe3L+INW=%qtbby{mkv9rD$Xl!gbW$GCLJ)ps}A(7htgNS5$}hQBfyW zuiK9+tbTC8k3K;L_K9l8UefKgExu*lH(^X&H(t`yA3WMqfX&iChB7`$k)do(WC^@J zypx=r>Qh;FFrvI`^o-O}4{@y~r`RHNg;j@?0IY4eyP$gAjn9cr7pez7xt0Z`oJosA z3hYRZxa+-^5Gc`o*FnFd3ZJ;uW!t0JHAa}#73L5}mK2VQO9ur9PxTA(9`%u)^Jp{w0iK0tyXSmY<7xAs{v;wJ-6YS!^e;L zm93Pv4KB9)p(_3;pGMPg_>XbQRS$vJK3SvsO%sM2-_8`!WEf{}ze~+Y%~ZQc|$3;;o~2ADQbvc2-caKI)xCVDJAng%#f6LOAtSoe?dchEaNEbrOE` zX&t@Gshaxt;&9W()g?O=x{mGC0%eY&DVIQ8 zpRl{SG+5deHkchJ@4QhWxPxC`+sHjlwRA2u2J0mT0Ea!fDovQpPpi{0qlxE+(ZEvrf}Vl8%cujo50 zF|*!(u2IDDtS4?HomRH{{85s9`48`mGFO+N(YmbSokwa^X}#3K393x>ewD8Ix#pV; z@NZsJc5ek&PhuB=%J#%;j#7$U?4{O>_GML)Fux7rTllach|_R9gJ{vyq*orB`zo|1 z@>^0D;asuF1Wxh^{~T|dbfvbMD@Fud5vM={!b{vuXXFQw;L7nJ!9}Hv%F4m8;jx;W z!W7-Q(3dnYxuV@=6Jix^XlR&z9F@-uA8Lr6?Mw5xk$Q9r_4;#4&Ulal*Lq%DIN!p- z4j7D^bS>T!qB0F=B2sjn~?;VG!L=teAh4#>}9m{V{P8;FN3sHP3Cv2C&KrXOK zz+egn3vKVNdtBGDp`fx;BU`h1N4!=$rrWtPaSMbdE=gjOZn^E7Eeu7m91gYOc z_F&!Tk5SL?=U^@=CrOY_WiVJ$84` z#p8NSVI0w5=e9-iBHL}AJjwGu1O_eF&vfck^Cy$K$?;$jiGrK2juzr!3Bj-EZ)6u1 zYJB+k(Hxs^xH9UAZ&@BeTX#eAWW1-Nb77(>JTCC$`PLVIoXq(AS*NJD!gqhdOK{oL zQaLWR)CSvnKGo}CIrRB}%Cs~d-A{k|y?*_=Ur27V=ac+}#ergEYinypQBkjL1vdg= z+!)Gsp7!9;2+GcO61J*JW?L9s>HEpX$|^!L`%cSTUv|ewiuYY(V>?{6Tvw%TiB)6> zhx89ynp!Z{&2V&?APvEbfpOOWvj;tXlC{2K~GP6I8^pzrBfQ;oMeZwPQ2!` zI@1+5WQ*>|r}?Q+cd)ZJY%5w_Rv<~zu1vo^S<10bO)_C}sK6M3W&&5sX?_3xy+uW& z`rHDxAkJ~7b0CigYv33<436pP5HIc!tNt&yo5H!`P?Q-|?9MiENQfu;ym~AekI{d1 zjN{R+0pyZpg*KWHl)@^IF}MWBtE6-KY?_=Avx*qm_u>#e+qD^B4hQNEvCWV6&?0lB zl;d0WQHbTHAmiBU0Lf>Z=-Ibs9m;r{J`as-C3ink`WLg^9=zWxU9)ihk!xJq8_8e$xi zWtDhZ`y)?36D)m5aZypbntz4BY4Abc(b>N2@L^Y+w~Lw?@YN#6nLFr%pF>~K@5A=@ zU$FU+TWG^$Oj(IDuMc2!fif%%`zUGkGp||Ni}f$Ywr~2GwuRSHDYn(MX4_Eo z;PG5~Hi`I5xa9ED=ejW1Pb3EUE!Uvpp2U+uv&LW+kyzkI@mI!pIzP$3y;gTH;g-lM z@LJ;FC6malpa-O zBQLMBKJqSs!?=f=i6C`{P6g|yEqrlGw{Hi^Z1kI6b(~f$?m!Jn!MH^u@HDU%=#=kW zOz~VU30Z875;2x#bDn`ZH9pl+MbaQQUtOpEVxa!{W2=q^ zb}!tE0X9nyqIrac$7+j7-K&Ap4eQAKhBD?ciYM1>=vn6^=JhvBKS|=Gb&?cmRvEA5 zB}8`KK_W&@e}#VbWal+Wf>(S_;CEX2!?y@rO{20HvDZZEBJuW@R=% z^AtZ*TR1tr)q@@J?{j@ZiR&a?Qi5{LgK*3~P(nb15!f9JrEkcefy)+YPfB6_rEI6O z^-WVf;k?VNri@d?YNxdM_Ye1{y)%(o`kth@?4F7%~_+*P|DnUwKR9?tW-w zZJ$SEvFbo$zt#ty?65(SU)H!@uUe5cc6KWHKH<$k#nQqmp#@Sp0NI3}lyMy1N?J{& z4i8(t6{qGbkNgxFB;s*)$dQ|j46v4)V7TXKq2V&(Z*z!L{dz{8*RF~B{!u$AJ(uGR zX>>q<@P>dgTu9R6S5{8|b2|!rG2+OsFRqEX7@iOc+o5)%PL;wb>BW?Sg-%O1q$S;v zBkh8)x0Zi%#$y7)!V(3Pq}ydpRI3Nn9eOhH%Iu=(+G{ubbTp;l5G>;m51_-Yfn!R@jHb($7AGhb+w+9U!fbdP1qa`vF)6!{4qv?wuH* z?TY}p)03d5@SsYwmZ<3`ILbzO$48`kB=LyD4zFD5gK@;lhoP#j`=XYelL3OT{l1U~ zDL>E*;h?qFHZl@sVq&r|(9^pJ4hB(E?p#if*>}^LUF(g}@OMPP?yj7?yi)zaY{`;u z*%2j3E&(*C2GKuc;T+V$CQciBuKnS%DH0kU-?R~jU}-PB7+#!2p}18+G=Z_FXICNC zziDzX&v?9c0^Z1hDJc1jRpb&HO0-RqcFo`7Tw=n*eAl>fw6N=SXCw}v;;?;dL(v@e zbhwUAVJ-;nMb>Vt*%!flzwzK`bDD5mhfj8bAlqc!vn&LEcK}UXKZS>l2?OW(68>s8 z-ot!Np~MdQy7ub-&|mR?6le_dD-jeCi3ZC$ScDGM zoZQ?Jec|S=t~mRN#ui^1+6)wxGA%A5(uJXe+5S_0HjO5cJhqn)c${+SNmIP)vZ#aR z6O9Bz`S5hsL zLmJ3~MI_A6&rfE?8AYuxVB0DjXBHns+T>T`a`3Qy69;fW9(l(%qg`W`i0uRe@AdC4ADi{wWe*};OPAsxqhGgb7H z^^ES{=ll2|ugK;nh)vfn*V7{oe!rpS=$kUSMjUi`TgnXVi&CfqV zPs@TU&ham9aX#gsXXBRts9jLT8>x|gD?wA92DY@_>5Ab^M~0W#@N^-lRU8#iqzvM}-*9NQ&n0R1Ma>5%9 z5y`bc72w2IOj&>rzMZLkjraQm4rwQo?Tsaub634dP8FNu!Aq>Lw}Np-9yyQ`<_A6= zD(eUvh76lRrwKBnXRqkH4^TzegvMxKBNM1+0W|{StiUX5cXU?Z$C<%`-TC(ITYMAR z1KLQ3K^l!(op{b58v%-tA#qobp1dX2M&SJ}1H8&9?Zb!GFa_btS)Mc3p1uVM=Q(8& zAy!Za7@m}JnvLM7cn;=O&GHJ&>klxmli7FP6s2#9aKq%fHXYw1$}69NzqkDK0OLCM zpTkU{AZ4=&(W;IjX^LVt25qL$xSjknhnD&aO&vCWnMgTI2Ds;en2-N*0DN72+<#f~ z)9gaT*_(^f34WW7NgoO24pYhlCDzerM2xC*K>cmnn9q$%Ki^C|d}0e@X+Yhk1$fMJ zxr&s_#@_4qw;DuzOd3&CB1!~D`cd9~?F}m%TV`dY9>@&%K(d*#I9i?bOu+029i2IO zlW-LPfgl%rc8Y~X60yad*oCm;CA0ir;K&X95Hw8eQE2i2J_{gJ^ zp8Es6QcwSmAFmhw5S`ue++Hd-2XNC$%lXuPq2~RHii$;le%&`?_lWdE-!1|1XJAeH z2`zFYUK)w%Qr*1+P8LgK*d2Og_fWZI7pH)rV03G%GJ5J+Ra}B zf*kcl@$*d>I+o9@sLAb(NPJzWS2%Yh-m`Iihn8&B&wcmYS{c|AmdrJcI+5R=Ht6JV z*;gd95v0&eCQ;izPSTx+oG2w(9D-m?Ve(kd1QFxL4Xa#4dop^ z$ub`9g=5~51)-Jk+=@5W0EhSzo~=L=_P(GXj!E!A$%Rq2;^Iu(+H+D{2#i3fXhEhM z!xbT~1q*MDJ3ii+mO;~$R~u$rkTE1s>>dzx=AG)Mprg|s&nn`(vI+EaewJhAZPdT9G==j6kyI$)SOW5u_Qv_PEHSW@3*51{u*zl>6NCiDutM{Ymv^sI*R08kwBC=eZPj zuFds`;MHhKh)qF~sn2xEhYuHZOCQA;s#Lp7*lp0)8}I*o9Hns+6ArSEXCMi#4L(Z0 zf3|_e__dIJS%0YxLCiWaIZ!Boc_#sD2>+hnpssD}&D*TSO?mq)sOG&1Mt;v~$7P{; zEe@5d8+pv}q51D29+e~$IJV?Uk`u1poJWQg*$~d31}FPa=_D^@EN*!-n01pt`Qxqh$c zK^2v;0D>`rsoDmCjZ9~%#u$XZxaghMlmho`zjh`7;lvk1U=eSZbb7hFJ!ptviFzOJ z#^m11D-PBd7wxdVpBrgtGcmJ{zpLwa~;IEgY-VV zN1MYh&tKaNULNJ4L-N?$r`bvyi(hwSDUt&}&Z z#Bf1soFPzI5qRV(eIO5xR|%ZwPr%BFefaR9h&QtF*$ogIu=zAXb2$s4n9XZYtX^j) z_$y@cP|{v)y;9g)?J)_kV61PhJGX{CJa7sdl}<-FO=!BK&WM@~GuyKi$8IcQfIx+a zTS7n1ogz{ZA;2}8Flz3}#iNBu%$8?srmSY^;~ zt@`q5X{$e1Wf%JI&(MjS8n`Vo7FhE|K^z*%^uZN4fdyRaI|?#_3=MDZYK}m$si^@C zl2zg5t?_qHVwXRce3Hwm$7EG2;^>}J+$%b^b4@MRE1s&k8ydcWrZw~GeIsPOVL8ls z3grDzvF>|V*K0jyWox*Fq|6o+6ZH)Cj> z!ZvAp{kL9mGooM-?4Z07Lzlcw^;&4H31qs5b=6T=y0((KGQ5p?V&sDwySaU=Te_Yr zLbhFUf8ZvqZ$0ooo_P}12UkTV;wVX8b`uhs>;gh5oXHYBA%0+&`L3B@&MMV&!PeM8 zwdYXzPJVQA5;2(~DbbQ$O0bEmaT|ELdL)CDa43Uem0q5Q0( z{)g@*W*^AQcucRC8af|U%BGI$PIols(tMoq<<}xTHnFQm+Yq}%@=@PRz4Hz`&I=Ey zxi-!)_r)vN6m#JDW-u=W<^*aG(DG5g((gH*!NC{DY@v5)M4X_UU?^5q(cEJ*=)CjQ zT05yW^W!)&n7x`}NXPEI@45D`xsUk^8->pg#y=T(m%1(Ym}^b+U_AvTL!=mOAG;U2 z$xDGuF|8jFfEZ_x!$JekIuPvosL0jZy=ac;=CPrwc_~MG<9?E6y0g320=h#niCHAP zGx1U55+R7apt+aV*~75PCk!(`QAgtCQbq4Bx!z*^r+_|_yhA@!97zTgXKAK zv+khp73l}p++V7x)k$p;(D)(OC>1;5Sthuv?WXIhcZp8l6tR#;sl0lt1r<*$4d?|8 z4B4ja->8CdsO74Me}W3|4ceaD5-+1kX9 zqk%4_)9t0kf_Jww+#xIKo=gKpUm&G799sW~W9{YFru8rHI)8^YmwJCZwF?3I$Snk{3`>_fy`>M3b&$%<;Ow)1g^h1jdpdf0aoulIy79vufkpL7`)ZwFjE z00A=u9kRDCwKxd`u6HYUM3)0x%~Vob$7XOfW=w9R`a|&f?2>@qq@z5i|7AfcL12`l zqxAVjKfx2|u#ww#hx-$kpKG%}K{$M?BDpt&G3&Mr;`}9SMX|31tN%zFJ$-x*3EW1B zYnp9U2<$+x05;H=KW)wnE-6hi9Fi?bpX}!p^s3_3q4N%JeXLesP8{vi4AAdG`d!?S zY`LDP6P__g53AnkW23#NkjeF*7DPGx!d6^CxInC>-RB3GN5Kc-q*YJPJm(^-$dwh0 zn|wz0g@x#|RlNGj<hpk|x6FIj!D8kIqzXNQxsIbJ zGq+udY)N{jG$=baSKRDpgdkIVBTOfhLw1~-Y2Duz{NHH6F77MC6} zeHp0z-dTYzqm$D;=Vj0HzDnVUwe51@+BK>lrRJ_-bpg(pSSQ%un}ZJ%>b0ABAj%KC zp=Ry2ImlWy!?&25ym%=AHTjYFkwK8&i9Uv%)>D}6qgx*Sg`XzPhaHJC>rPsRbLtOz z20gd+#5fcTgm-Sp)3NSIb}f3;sL^Dsy^mpj26w;r!Y5@pwKv_;!z};f4f^VvWJ5Xf z+3)doESGV>kI}xs>zE*jIPHfY3V_RI9f{%=Ueh0L-;?x?J%db0d9e6KFSp^2`Vr1> zqHgsLyY|{pkp^jb)Vh(5MfkP8ZAC+fXV9ii@aBR}(L}gcmzOEVIm9c~qu#iwnP|Jj zHP&s!5BKp!L#Mr%+pj;RdyT_R-JLZk6S+k$?9&8!0q?+GJ^?^Cd4MD>LnmJ(HSW)i z1U+!L&WOByb!=&;j~8Sf$f606NAY&E$9|^;icng>$a_o4);9ml3_F6~L6~w4`L;Co z)xj1i_u-J$)z!@R@0&wBpKsnwyT`bDIH&C;XHVHcMI5@avSQYoahnj+c&lammz>wp zk|@vjgY^Nu@hvSaS0+ZeDG~3r>UUF-3;&Rc6hqx9joi1_bqFRzf2goSC`CV-JAoTtd@S02G3`8>0vcXaPAA%cK4E`IG>G5m-c!4#1a&_sDmf1W z^j%Jl`H~K|uCA^{vghLaHPnQgi`Ae zcBy;Qoo{TgYkwU3-s{@LjDGcg4n4uqLWH}lZw%SR{jBrGfW=}{4v@~?Dx(XaO+Hj0p!xI8vKVzGLMbMs;UEU+WC z)=cNhouiME*W0d+QLFf+sP5k|Y}t~}s{qeU?dbl@kDKTV51LPc@;|&L_(#qBH;)D=Q8;@84fG6=DZH3d_d)!;h#Nivtk3>7K5xb$N-i?HIQ;`*Hn; z1#0ARXJwZi-4=tAn+ih!z~R&%)sAeEwy&Xfb`uxsaXI(NQ%p=P9InG> zi!C~e^oJG5=2>r{a$IU!-(t6L*xsnXpnSOiSL0Zp@ux1C)exv-=$VJOmZSBlLk6LU74I%k zwcOe*58)Fe3XKoIzAv2c!2ZUh0E+=WP-+wRUoj~a7nf^yo}Q!BcExP+;#@I~n);+d8Y2*Cl%F6GXjT@Qyk2V6zE)Bg-+7K$n~Z5kA^<)+kjdU=66Ta^QmwU}m+wLj47F%>St_LwLb{?dg~Nz;9|P!llJ_5tncRxy`C1(fn%L zu&o47fD@R37MP0=xWlZ&+1)!B{=Ngt8P>zye}m==$E|zCq)zG|7b1xkpgleq2B+pP z)|AVAIF7n2zYAKt{T;};pi>cm^yfvY*P;wh=5UGYb#8`vaqD%eCY)X8MGlm1o;(T& zI!k&hjHq8Ku8^P6@A)gk3py}t?mfKT@wvZp$D))Ay~cgV9qmbSckp6j^J*8u4%vbv zzbkdxt@XQEe;?z39dh_La(@*Q6~iZPOcLRdk|H=OXxru|W0r56tu}2sHc;W1ZK%Qt zG6!YN-RCatp(fm7P@4ARZvg(fY2)pQw_m}tvDd7Wg3n96j)@u2Z~*Cp>W95l3^ZV& zqzy_RltkgZ&cDXKZU&8(rY0H;XaBdPmHB{{{5uYsC7Vl1 zCN%2gcXTaby9l84@9dNX%1-r8-8~B*cb=Hyoy-~FTM{N2oetp;`{bVLy!c`DB}>p^ z2FtIrh;e21EF&l}2H83{E*ftr2M{04UG%G z9l;C&Dk-HnNfGK!Ih7wb^tt1dqH=K7p=>oVQ|_36o80U1mQQKy55q=4p!7|)wTh6G z-D0Si2~}IMenK9c5;2k(uG%+ugMD94lgx9vfSWKSh+;3aSwOG89(~l7P5)AOtZEEy zXGA-(z#O|?;4+cJ;Gwm=U>ejB&5~06Q*Tv@^kJdW5QqPRswuF>>XpG_e;Uco6BBP~ z-(LJDqrZLqS>FwS8+1RT&K>YnPX?uP?=#il3^c!yKymOZNft>DA#^_C+R`JPEkgz`egakI1@o!;15y*BrS5mY(}G`u0=9XGU>0IQh!s{`F_?g}XP( zIMUcFvG1Eb4VkaxF5%AYjeJ3Mi5*V$F2Mgjx890*F{Ut0<@e);d#T%TIt0g7GFsuT*n#kWc@~6+F=k>7wprjGGP2hm^%Pmv zC1pKTk`QvM;4}}Y1$MgwYlOS@C__q3YM`Mn^W_1TQzCb- zPcSLu5#_P#0SU^=J*T$qGOdmr`*&Yh2JK0O*UTIg#c-LqQmjYor{2ET>x8(LZ_($^ zUqBHisUdyzGmGzM$m-df3xw!XYSy>d8yWqTz)aXzFX_~qu-hNr1H`_f`f4`r&@G3i z$iU^df)kd9+eH}lE_*bjNzIEpr=8)|`45wjqsx)$oj_cjdSf)qh!2RB4gK0xgKD|B zxOSVtqeR`BkRi#U@CjORup>-UDty7x&^U$cqM+F{=Z8ioSn|1uxWk{sM-CNS81$KZ z@4mho#4eN{Ra(RFWY{8~PupYlX7yR_XE%Y}l;G26R@=eu24gn;PZ$zdPi=r9H3JOE z1j3N~0fyweiy_76guk5&rB(q9Y2Q7W1OMudO}j3Fj3T#Tn@+VAOBx6omo_}(T;Hm$ zZoIBra?Rb{xaxSXX7qaC@li&h%%SB(w@j(tj1sw(ut!_gSEe{(5)H+M7t3Xtze$hi z(p}s!5c;sj|0=L|2fZDtCKPm@N;$h#wYkbX9&t@!#eKC+Ki;yvm>V?Fgm!0RqpNns zP)=xRX~o-HTj#VVNp^)8MlSBGqKrl|tQ{;?oJ8-$Wn0Fb(>iSRwFo$@rc%iU z2#O`?`PMz@;mePgzUs)2Gg)!;)V?o98a|R=8!O4D?9Q(v zrB3r`)8MtCitiz!XLqCTf_;1|$Op4IS1)z0yHB6Ro%EM)Ji9fT2O5ze0rh>?@LaZZ z4BD9aAD7?%dHZ1X!01F_W_7mYY}t$;F>z=1F;_`M4{EhNpEz_%Ryq8EHBEo?d4<`T zIf?-MQ5JHt@?v)cd;L$ac=ukqyU?s&y0-g+Z`f17mSieDMz$%a<_DC`D-)vHYEhsk z*nX{b&FLZj^+O>Ck9)IjRbBH-GoRCNv7x=L#5kB5f6JXR)KqN6=%VNKB?t_>BEv>CrCx%UtnN&8^Ra1r6LK%)rJ?f$Kp^;i=Dcv^` zcau*mfarh*z29BH&Dd`SsKi$Rmld6*{`7q;M!KwDTtN-Tfmg!d3qO|Qe9)k7AI|3k zfOn14ZZB^P@NIWn%-{gur=_PiI37mcaj}iTc+g%`Kx%3(T4HXKs?j610jY^zfKfeI z`t2;`xY=$Z3JexB*I1!IK7iWpS0)Xdu84%=8lb|aol!MhE)1RYUO{6?Nv_qQuvb%Qw*gI#x3?Nr` zGNH*Fl47W|&uR8jI}mNYILt*UkqLae5x+#l{6b5m!lNM@dlTcSr64Sk9SEKkP>$jEXzi{zll=SlFn-(33=H;IQLDena0IF`s_VV^U^1_lM1VaI==6X-L zow4)@DL^jc$PA}E^PWzyoCN&L=p@_9+rkx-C$^8(T5SIM>9E=%*%rhk2tcK+z|{sc z59O*q9bu;H-41EJm=|=FBQNdkXftLA@HfCer2@HNB&1LasaeYuX#vzin@0H$`T4Ox zC!zu*A`rC+3rgc{VS~5oh7j@s$lt3UUgF-Xd3Yec#jv%!w)rX~7~lJgOS} z-_g%B>AAL7KM{{w_H(O3YInH*!ySda18tE{lW7t(VL~!)I z6LR{>4F^ZZj!p1KzhNv4R+|sLwk)zp*L15Hvuq%SnWqULgaGy+&GmQKgPz&;DblWY z${r6qY=rsNR|85lzyHOK94RR&i^UTV!OQ40Ab3GH7oM#?Dnsg5fyoi8b~c6pbUx~N1n_G*umf3uKGXt9*hguOB-Lu_Bnwv@?L{yb)|nzR{VAuxkVg5*O0J*I&tDRJJ?hwZ++1nSML5F~Wjhy@e21Wy-kvtvqrHI_zOQQK7K16X*e)(G* zg;}-OIC*XU^tUi{%%1N41h|uO4{KBKG+59&Jt5{WsgwZNzJ@0u%qv&Fyb}ye#skmd zUGj0}F92Sg2pD+WS4_Hyz6)R~BX@VBB~kASbtSF_Xd;e3@yNJucYSN6O=L)jpgFM% zyfbq`^Vi{@^88{BCS68<~2_MW4tXgRmECNd2WqTNRFGTc&w4B<;-rs>PM%pF! zl5SCb{!3_i23zaB7(NF93ZI%cX)O{$gqXAqOv(cuk5=g}1DtMEfe{wK+Tjh+ECF9; zP>9F0F(lHT%SQ)vb{1oQodt7MNl3)gXoIh8L ziz8?(#9%E2#4<;P`;IukR$TnCX-xoX#MhA2;~$8kx@sOYJjWycg0-uSzd%ZhYpP@_ zy-)hB&?xJ^tc0dIAIfTK+~Q+WI;?gH@L(aRJ1p0BphywYw%{t{?0ziNnAq`y5e5XQ zb`leQ5f7yS-p{@mfj>0EuLGPV!T2%9nJW)p7GSLD=V|wYk2Px$M-$ zsq}E!qQ3{V;U@0rf92|C@wEdvMeAUx&D2CVqD&vgU2Ls69wxmEvDycOdH_;zTs$EP zZ~c3ZC&XW7V`H1zA>t$($Y4WE7I(=O<6&|Zr)9l9yHA!fFKHXOXPTLt54fg5jNU%; zhnQ@W=YSjeTu$+<$pdZeBsQ%dKYl1fc*_$jt55iSzC&v{TpqgWCMNIPt0$vW+Tr@$ z%v+pt@rrzZBLgeNLtu9A%NoRSewjw-dl>A?6;M&^ez60B!|pf#@BJ!zPqp)JVj8(m z5|8`;jNKRp!dwd)*bA;LPK~JVP62D7JCVH+!EuH_JRfMsXes>J#_2{2na+raeAs+bS7JuZK+Eif|)@* z25yKdD3>_m*adevS7bkNOZt%tofqDT1oet9;kHMK?GoN1j6hH)iFBFiO0~mKxF|ol z+OMOo!Q|$F55lSe3JL2~wUd4(b}riFGzM4>qyyQNtsMRW`hQFB^B~4Kk0BEaOWTMmP6&k0_qw)~ zbNt1Ibaq0uJL((1Wb?&5BY!t!&Y|XLw4=9`a3KFCSf=FxREqKvKyM9 zE+Tg3)WKT`l=y*p-%3K}4YJnALrSc3?)OOb16*w|lgIEQ^W`>J;nfdF{q@_t96jeF z+{oE2+f7E1IL_*VXT;_K;5SLyFgg6LXbOlQVfX4id;OW0Ji=+J5BV{#DhJzC*T~t7 zRv+WPlWb)qJuX77?)w=--1?B7p2vyz+^hkz7H`NV7r`;=E7o)V<*de!R4RF9T9!6% zOWhfN4Ap}{QGKN6IfL9_N}P~4KrKT^_%rVY@lCaBNHO5G2!rhAOS9jIop%E9A=Cvu z+_$S5z?%OkvJptjE?kJRvR|aSQqtcq5xCy0qYPbT>!h#i-@W^%5e*Cut#Zab;JQzt zlgxb`r&`lve6gVM4QwVc zyX}qgnkPnZkDw~;hy^YhQppKwr1r?PcYdOjBR|rBh8qT1OZ%TYnSZ^2;S81`HpAf?I>FoAZfk^+z}|EW zNeXtH?;kh$*lGCGPEK~p{HJT!^bFvQ^S`_^8>)p#Rs%nrhK4H~JBU^VZhvW$&Oiy^ z>{D99)ztCP=)QsV5;w!wvM0*2!=r%+2?SUrIE5k?52|_CwL8Hsc5{CS^;Z{UgX>+P z4GJ1-|DOfd|J`u@U$7X_4p3B0{`y(xFxkwws;94SgQJ0!|GOCa%gwMu#~*046EwEA zX%hg$bze;2AI1N!jTRWCF$)3N@flDgs3u?208y43l&Mi~INqFeX(7O_>Yj3tp=X1L z{rfNWotPf7s}X{#0d?7}dRrRb_6OjIhLSJvz6>;>HDjOfdA=D+z01D zgSUA=snJN3R5KXL{Zo#A8_LNO)6gqC#wDMQ$tA!&%T!Zk4YO1e9+vNuv*<5-l2ipU z781E)YPc0I8-F4m7d?=lsjjY-{;9jUbI9+e=NWZ+A=|EWi#-C6NmBoKhS&z zV15x5Qk;<3NKW#f8089}gxxKDk8)i9224KNjr{t^s0!qPKy&?@Q2uZ^{5U@tjg>&O zgUoRWDDV8=(BsI3L3$j%CR!8Vq_eMps#pUmFtFp;>iK=JfWG9-P&=ZkJ{6X;Cy_1(2@DNhH(XGi<`k41eWwZ0q^Mc%%67S zJ_*%<8u#y;BY9X1og$C2U+V^i%ZbdmGxV%t&G~`5jk;%wV4$Op;!U&(zTmlm;7tSr z8ss=ea88k>zNP9vR{(#Xe0l}^o%^3LhQDNg|2OnFRsSQj(wks{XfIVr^y-fs_UK>;<07YJ*e#9R^K|y9; zpB?DLjjiRCk6uN!pFkz>z29`af{UJrJhFF((#uPNpzG`B05>^UiuxzD;lI)$Hs*Lw z3>|bedxH?swd_)Q05N<#A2=LCF%P+PVm$pg8TJ2qAB6pL*`GfvW>QoxP!dV?Mve}P z=%;=k2{R8d=l^cC+L8ho2*a)GFV56cK;74Q$tSe%Sr;cbQrN@I&Ncx8 z(dP0WeVBbRd`F%tfB>AUQ<$cB78n0U$oV9HOAD2tmh;A4=%rVHHKT##La@Wi!s=A} z{pgGqSMM!4kt%M)=2r&Qqx&0z5va2T1Xqh%vy&)iKI4oChAV(Raip1$5Xuf<%L%`B zz#;oj^a-upfa{`9VjGw_+X&)n~fyJ0tX;ZUpfNIfyvET9>~OQK>45N z2df4Gz9REBW;C;42ESUgXyJjLG{kD<$Lzt<&78J8yCVrl>bbP;f(zTPT-bYlEqI~C z@d)qj4d|^NW1Vq;m(vifURY?KEq+2vPPwhvbj3UiDn$ULeW%!v35~3eXgq zXn#Vqz2^Dv9|6^QccoENRT$@K3I6#RS1D<}Qm^tOCK%6w zATA7oxY!WJ8x6!GAyo#6N4AH=x%2J6$mNKTl7Gi!h^_h`uUn-){0Ck|A3OPg+h4qj zBk`t6`+r*!lz4lRocDj1oW1cqzW$9)|s0yaVVIEb8lh^#4q!u-m0m+&=D+u}i1uJN++o zis*}Lm0lT#2rNL&aX;SFzP<3z<0yMT-&X(|4bUk95B{c8@Tk#c|BX%|1c_4LNZnTSuDgm+k4rS&8`3{FS`0oJCya8Hy1b$H?`rznMc913ddm)1I!X(jTHl+;d-RLY1^iPkrVc)e!c+@jMkpjk>=$*T=PX_-*eqWxHzu zz;XZGx%7UevL-+F3^)FqHH>on^23R%>W1}pWcu{?ExpR zpAzC-&K6VA@JIq2lMx!hu zVQWt2-pVgrU#rZOfgNWZCMzJ6SjB7TqxYvf@`D8nz2tUY_>uKHem{6r5ZZJ?)rBT$ zPSj-|Q_bLKtu-hmPLbuRmyq_&V03tedHS^Dr8iZd0mUL52vq*B_RcgO%C~RhB3e|^ zBC;n@$`Go_T9G8F{7bf!EQJ)4tQnFbWf_ts)jwM+Dbd)bMWh)m6j`FoU}TGIS!V9v zIWt7dbKftX=lT3!+}^||=9;;#^E$8Jd7Q`h_^JG15&wHbh1em%2gp!iIc}(sP7eQu z3>A@$3y+AuwYmAA#M&_u87e|$!BD}!dXk~yT+REDn3KCi@aZ%kHx1lMlNMpP zSKVc2Vhd#s)R_9SxSSpIs97v7$Gk1Ul7<+J$Qpp&XBaR}Oi1nYh_cH*RbGmO|wpc|A_kQWk1TFIUq;1B^ z{o7S4pQgz@4=)+MQ|}k1Fm$9^{-j5jDm93I(aTjibvDKDq_^`;J{Kb z_)dngUMNVcArflv$3NjY)qv+fx){Q9bP%2+o$@Q5vp}h&#wN`Dyciqv>DF0?>Wo9M zKXM|OB)>fM4bjPd~K0VUZ{-{2nIN!`MV%F?{%l>6{M(Qf`Djh|mv`_A0wy+j`$|J5)-Fx3f3* z2w1IKZH|J$3R=QRz8uD83Kkd}cKvFJikTDDc9%*AyQyXC@-lZ0x!_CAPceRyT~?O1 z0stNC&9yweCDuaSXHT%|GqLcA_1RB+&fxF(9CX^JbLuUa5Ps!z;{VL&{8W7Yme0|1 zPuHAxYa*WmXL1#%o-&7eY672g_-8)n)USLF6s{wjYmb3z&*pOyIeZS^Pkc^A^h7=f z#!Y}2@Hy0gH^_1_fzP=y&gZQCH+&AfhMq9{bcw(yoqG>yBRx&zrgIAE_bhaK1jHi( zNPY%A{T;Bz1sl0Ky$WMke|8$|1u7pbe(_8|d!?6`7vvGRFTe+ekj|%S*GiMTWWU0| zbn{h>WYyLYSh((Ugf%?xp`croWR@qp25Wqkz&Oe<;~VMUU5a)4;G*}TNrJJBFCG7U z#QA~K_S(DMCefzpmdgYAX5Y6cPb(Ol--wa>bc=F?h{FNtjT%zkNAtU|0T z5J(-ZWoLo7m56)10LiLdXssYVZuxJ7hsUxz{h#$->QH&DAp^>KY~Aq+BR3#)K6uPs z1N*v{AS=>r&z-%}+TTl!FJov6yDwp%0%!18j4Z}dF9d8AITnh%NBBP=Ix}XCBRbP1 zCL%hD%_hJ7EK84rrD4&xl0<*Q#s=LU_Gtg0jD_?&F|1or zKJ4MvczinbOS)AeMQ4NvtO`!~DuMcTK3fR#K@U>U)tkJZ9zVeR4Xg88y=o$>!`79? zlqvLbhS#~y7W7qG^n^19!|xw&-G$O#AfEc{#ucZLKKOb&{>;#W{I>KwTbRB3tvq0y zNZ&zA_DqTndwAPZXCaAbj>nGS0VE*8cBUNi36Xh?utc}c#sg>ps@gOVnW~jpby*B7 zG7;{KeA`4#88c)YYBwvzj+i;uVo@NLuJc$R)^i9Kc?6i&AIEe1Ri=;k;)A>>Y*rV*n;oXdVaLJ;fz$diNnJ||0vQmy& zvNi?fyX=xq)y~T`vyP6kzKU^3k6&t3*haSY{LK6PiGbgJ8!35UmvEX$6^N;3PsuMV zVbf=tn6{rKgkn!YDe51Wlqp?(wXw)=eXN zXG2*hnJ&eC3VwsfH1~=Ab~Cd=Ut)U$slg@W2na{Ccb7#|ZZf&@c;hzXv;QPA0fmp^ zUf?PBc5F(5rRUW45Vq z#Uk`XzaGjF)pWA?xO*WB_a)4r?dEqP;#G}a6$$BvGAM27R~#WrOL4eMB?5TV|H?}L zm6iVAWhE_|zIDj6cZMfG4Z_xg8swJG4|^H}R#Dy8*9SJ+=t~aztx3GkXrX7b&2p)* zVvd_P9N#Z=5;JS4r3r~tiSJvU_BFY?yF(hqhLWpi*PX{{&5062Dy;_(_KH{+Y^eC# z!mXtHqVaY{G?>)0%=R&BF4*53%&;cFntsimy~i!-N3?zax{^^>n?LgTlYYOrlyZ@D z#A3>-NB--k`qN+uf2}%&ca&yf$}qYUn_Kv7qhm=VGrFao>GZ8D+Nk7!ODx542leV?*I>}Ms<1GI+^$In80JfMV%sF*#w zr&x|DJ&>Pipmq0xb;-zc@|grvDJuYb)M72h!5)aWXe%-q{VTAxScse?YtrO_AGp}u z2H7mPKYDVXmiT*kDAwlNf-{gbQRxebDY-6H13pigr)L&ONVe*+=!!MXd&F=G9J)dQ zkqV#igeUd$SO1&Iiq#cY=*C0RhH^!Qi%ftH69U)EEr?Ii*gQ|C_$ktIx4Ho^DCkX zoG4L7q>_pU4)Lc93hrmrT$Z>?rdl){QLM}I_c~trmx@ccDcv(DM&fRT6SWW5yIZ?T zy(w26GC^}OaB`|I7heDeeaI#_eWAoAZa@~MMyvz<>U?!(W2u6ROg$V@)g8%(w*~mn9X@Zb;{Z2K_t?%Cs z>?OKi5)bip|Et!C(&u_@pLDh}wQ~D_+S?_;+$)5O4j2|m6M~5E=iwCCKlr1J2jF$w zSiH^>*|=W$m@!@lpW-iI@~YWyw2pa3%riG3y0S^z~Xi6u+>5D*u2gj;C1v_ zybc|Bohb`}*YW4@I@Pfju9UkRcIygTUy=fSX=AJV2k)VKWo7a&YXjs7Fb#yqq&P<6_ zS!2A8f~mKRZUL6V>&$Kz!jW0Ljudj&{gV0Om!E_(U&z4gH~_Cx0huo)?97+Dd&5&( zjZo%G0?)23Y+eVZisl$LK4t?qv|x(<#fiL5P@u$=p@M>X;B|H&UPm6GP_1+8-;VJ* zUy`%-_Jke#e)vF>_}?5}XURMDKC@5-;C1fxo*CzLW-gz|>$rL1URuOjQ11TVb$tHd z&&gX-J>0^~&o!u^QE099mlZ*4H@G4HrqQmc(kk`Fp^msnpo-QU+-(tujU!&c z&(>8@l`eL-Y=tdKm7G(t77}h6uEMrro25%UmZC}yOgNkPXPi9sBvF*{(emKOo!x|4 z-qeDUgN8oFZf}mfHtkd!ep{_|XlD|$InJspXZfjU31Yd;JvrmhH?J#3O}wWXg}-v& zeMcG_{0vU`()qYH?&dwmSU+%ueBzY3_XoNjR_%*YbE=H(j=R0g;A5|uy_lW1W2T39 zrjUl_a&L`#hrWKC<=dm=&8>MpX(AZQM>|}IO+qT2%WjY6@MmoK<}yH=ymdFgY>uL&MjO=#2WtIK`W%fA9g{`wbaKcYm7mF-)JfzHs9UgPJqLywiOJ;7hH-MI;NOuuQ*bMv zau!t6kwVtjTA`0ZFHJ37gFY^SOX@$1(Pv1=IU4@))V3s+f~41@rEw@H_`Hb9W)vq} zN`_p7T^UJ(qFYAnR7b1l4E2!%N~{+|P?JJ9ix}8kJ@yz<7@I&7xfG}3P_s%o&Dems zmbsG0Z}=8X4C}mhNxPc>ei=^{$;K~xNTr{?{N=b+y|n^>mic&*Qb~NZT3Sct{{Kv3 z(#yPltE=(?VYoW2Io|g4CX<6nG~c1j-dccEKs=f?sGVW(3NP`ntGM-obQg)~H=k!i z>k0-RquH(zb9$tEE$C3{qNoam$W~-B5wI=1lPavvSDv1qZ@FT{3d-KlV3ehusc@=> zG|>*%A*`YMg@4)>>f;UNMVJF=wp9?>Y9c4ge7F4YdRL0e5huu=MIEhhMnuDTAtYSp zBPR%q3D$1$?7rmQbDCBh6PB#bu%ryoJbT$2)C2os`xjnA^7|E~z zXyEr;O~ssSHFSfl-FVjsh=XVXOXDsJ3k7Ir*8K4Azn?%LEq%W5%$YNj!6=^ZD5&B1 zPJY-v)eRw|4%{E%Fn>S2P&G`MDvPizy`H61w}Ap|G!js5}eFiC9} zeJ=mbo)(~U&erTiF02SK#W5F_vQ5$S(y}r&Dm263bqnX=nx2=No7*g!@FmHvFEv(C z3fyR2#CU4JHn0oPPw$g!Pb~KW4|ZIB5NFiHj(XL@g3cu5LUa z$a%l&gWDcru&?p|V0YgBf!*n}k46W;R&fq6m7S%<7-`Wa>r0-r1wKg}d+d`xqNYyV zwNrGT0Y}KitON&}3QVEg9QaX*nwq-I3o?$q;-_;R--x5lH`X}dmO7rLWd+t$|IQgE zu&DwJcEmMaexWUU_QZ&o?%rK0fFInX!pD_GQ`6KM`MT*rI?)7ogN#mmtP-5~J5X`W zSd4W`rT{Mhsn<1G1}K^s-k3yzzy9&Z`*v`a#UQG)@lHwgu=bC#MmY_ZKr0|zu(Z*u z^T_x(lPk^%V8CYjt>!`*{V<3wHld9x?oWf@4aFr;1C&Y~%R>bN{87&v)F!2^fQOYy zb)b=X^s6Xnyl5n8tmuap75TOf6_UJjT>x;n1g=Y5v^(fvZeKrb7=Fd;P2I;V^LZ8~ zCLp!qI)SS4xl2G7Y*ABJn9NI+2!ME96%uXzYPc6 zY@RwhJ4X*R;2Re7C#*R_c&#-|DdgdbI{;*1b9a^bV{5Obi-e08?HWpbVRXkSR{Ss# z&z$i9I+4}gxu2cA2g$2Wn>GcWT*OtEYRvW4&=^Xt%PSX`W~9_{PVgzaKHb7V4^pv)AOC#Os~qgD$efm!-_Z5WlwbQ-x0nrVLnKT z!H04wq9#DIB{V*S>7p2HcAp?$#+eJuqk^buz+8Defi{cPx$`ECnQ##BMrb+|0(!XG zgn7|blJy(Qcbb~YN#aK`MOs=~455RA2#Wp>)PbugKNA-5Je78ugf}I(Jo(q4~4~Z znj)!t_uc?zt{S>MK@Ts^ui0I)S_XX+)=~iwMGd9OP!}gI!skV#!Jy09`1mZby)>mbnkD2NTjS(mf!e5Ya99rwB@S!#Xul7P?F(As~T%p6&$k(&ls?f%d zi;J$F@E}I>STV4fcF^b&LZw0UzYk4%P;XG^J6GXz@Jmv@=6J0* z1sQPCqGMvRA05nFmb6yH?|ajwj+nue9Xa*hx2<@dN-GFaxC@d)1vI|;6IZ@eft@{KSK)9n^gB4gkN!3bV!j;|18Z{KZ+~3E$_6C5rLZV$w0j;9 z1%pSCIr5shk`;fhduF!iGSrcwiEPcd58Wf+%XKKLdeJ`54XA?%yBsWJj&_kzXrGW2 znByLsfdZJSUWmfkWw%FlGDog5D~`WJ<5jm7;cana$buYjpOtoeE>_;-mr#eOTQ@iL3%@n7S>5ke}e6 zi=y1tU$}4qZA~ULm;HbX;a7vt0p(=~nC;3bp`I&_PEIM%t1Ewv zs_F+1bUsceY7s1s`s_dfdKf_2aK?sGQLr39M}}Cu@b_ci0ba!V`o}i+gAEkc8~ne{ d@;mo}IgNbrOe38Xz6Bl7KySNl`o{gI{snZnf!6>4 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_pool_block2.png b/docs/posts/memory_python/arena_pool_block2.png new file mode 100644 index 0000000000000000000000000000000000000000..62b0bd07f5f82e395f3071000a972bd46401f556 GIT binary patch literal 14949 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_1024x0_resize_box_3.png b/docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_1024x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b1441327a1cfa9fb4939fcca2f11557b06175395 GIT binary patch literal 37396 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%0DF4oGKGM;}Ju9g@bom1O)zL#as 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 EcTkm-r=G_S? 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_330x0_resize_box_3.png b/docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_330x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd56a651ab0e530ac7d108e3b9f582a1887a904 GIT binary patch literal 15125 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_660x0_resize_box_3.png b/docs/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_660x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1c07a12a115580cbc31a0dcae48dae14b9fd316a GIT binary patch literal 32817 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⋘CNZoh^}cy1;Oy(x5O+5$l^VV?Xefflx#ZU%)f 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 ISFn%&4S(K!D*ylh literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_1320x0_resize_box_3.png b/docs/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_1320x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1b4758d2202853d4b949dc580d020eecbdae3734 GIT binary patch literal 19387 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/feature.png b/docs/posts/memory_python/feature.png new file mode 100644 index 0000000000000000000000000000000000000000..036495638d325ead9aeef1f42634cdeb6737b3ee GIT binary patch literal 777651 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%0Dr<05^!=&v+U;e&s|ohtYJ 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
    1. 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 z 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 PT6B#`?jCtc}A8Q$onWX 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Πu-KA1FdjRvco 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%0Dn9VGq>|&K7Q3}i~ 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�*lpNm1f|iLbf+m3F0Dzc*6y0TOJfdLCJKqGq@G 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�cPG@b8Kh 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

      l+8Wfh*EVWNy??U&d?P}uni5^ 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/feature.webp b/docs/posts/memory_python/feature.webp new file mode 100644 index 0000000000000000000000000000000000000000..8ff9f2ccc4731820a54ed4764aac0e013c8d88f1 GIT binary patch literal 91602 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

      t-20?=m1PsA=W#QZAhsD6Mc z0b#?WYh7i=1;O+nbGV9tOSxVtM99ik&sH-yi&0 zHKIwrZksm=f!!F5Llf3>{6hlkeocc!%-q~5t>rK+RV2@LRGP8?YS{@`W|G{xtQsV5 zaq<-+Zyxa(w9=jOTpiSQ(ewg0snujsuwF?L!YrJijLh;Pf{!Cs*@LV05iwN00~HY@ zuZF@!NF#RSClZdgyy+|ol?2{aNy(r*jon%izQwli;`o09HN&{jdEb5Bp!z|5mdA%D z9M#Fzq@mhyIBp52kf-$`ze>aDXtm*Dqrd~XuxL?KQlw9BrfbO$Pz|`BAo|3~lp`7t z9I(#~#c{Bdezr2)&T|OZtT==%vtErfoo)I@oS&mi!1jP$6MW?v6(JmWaQfre> znH*+5%(n#ncS;Pi1_J)-Bn08B#?#5s;~0Q#`ao7XU)P19iX%)EOR{HM{~=gG`@O63 zn9Jn>j`Xi%2*mGhxMyB0^Tq^>2LabYTqT+4LZBtmhcV*K)b&81jt9?h%6~=x>}Ug8 zHn>*u6zJ1&98(^^ceVs!1h5%Eq}i^O@NUa*>ygXi8T^ByZM;K|_JY`YB!WBPICCeiyd$)aj;#t9H~ z;pqZCEDfc&Eb_Qm@T;J>1L@k7Qo*fRbvP=ao@UC=h0B#*ZaiC-7ki&9B6~RERp}9! zVd4Ro+28P=O~3XQ`>qLqL@*^KUV*)W75QZw{qsV++~GQ(miG_Q@Llv13w{-Jw>mcs zVNT?(I1h zz_u_sIYIMAV7#=qaa7~X7La?s&KSi6c#hjR&-~2#(Et9@6g<%iueZ!$IjxS$|9#>_ z;bucmeCc~|xy5Z1dqtjRj5f)KjiO<&7st~J`P7If@bxh7a6dBH65LXZ zlv#o%TD`O-;}ir&NIJj(A(OrUAB|!#yKLN_@U+8*@%ylY;r05y)x|&k%=9qp2@P<@ zZb!N>DfCtU9}Gh&u>py<+eZF$h-WUL4M(6^>4fY~7*hvk>|8bMuEYty@NsgS&PFb_ zwy`LhftV^;jhvx>Zc!p6keGCR(4Kn7$pKGnK#c}a$5560a#9Bc@yzR@5S5M%hOE$z z(J+oGNuO!!`&}O}V3yQX`VYz*7)%mf4xaYs7!~CBKU!Ibc=SMF723>Dhq@kgJ(@cU z3WUWqWc#|fA?ta*_nQ+3(D9?XP;x%n{j$2?R8YLgNGOnOAF9UZHv;hE z0FGMXqJhz?6rTH}8bs5lr)zXIcn3}dL49@nnJ<`{VSBY5+$*E;d9Ac#+ zmv_n91g@PISQC!>8w}Do~Z8uxED37W_{TZ*`BQ%|qMHG(uOx-FgO?2&oJ(@(#NYV{8urAC549+j&_#;NdP>uiq6PA+68fJRF zb|#r``~tcZKJ+tXvRZH~s&ztT&c$m#K@9240lIAh%F_Z+2t^8J6k9b^6G}l9TdajG zSl_QtDbr-34u$Qr@?A70`?Re1S2|j>ctP`{4+bX^BL2GA04pDeEoIiuK;R-@NHfzN zh-Q})ukWd#h{d{~(ddDsK=~tG6NAhTI*~k?K=0)DR!qr-eKpUm3n`^1C!|ZTkIjxO z5{;;s5r?9yxhDj=eqX(5vlre4$311CpRdY~7xxPpt9 zDwWskOunTdo)m~z%|ZN>S;-s>@hR*Gs?X;37pCd3_gLsOusHXzH)G|nM*~5^d|pb5 zBb-q%`HWIVwZ;9p&T&?$S$F;P%k2l&X=zL69ir+7EdW-}Lt^NZaExbeQNDn}UYGlU z%@GC$S<}G7Hi9PmUdy0-jrIl^^u=F~>)iFG+;aVdE{pq-=SlwZr$3@B7>@xkP&LC~ zotMJmemG?2&NE+K$1S5a?3e(wf4_$zCR6b>{mCpQDBWnc9oUnTAPvZnL7Jxeg9wG! zdIZX=ha=I|n}NnXh&1n;7foFr=!>_{E6xaEBXN|ugs@IDhb|#+ojj-^o(Z%hxmCB( z(p>$Z#Js}%S2SSxgnut7hRCJkcO?bkvS&fLN52gS$oA?Y4^2i|Xtvvr+he`a2)OH_ zHNjBuasl|ZAk@qe_2d^O5_cmAxO|d0PG}4>C5_6U-1^WJn~wT#XQ21jgogu88M}9U zW>XYAC58lJ5qBpgJ(xzv?PLITwst*R8szCL&2_G$nWo?Kw6)l>O&2z^X#Sf5Kin## zQ>9|JH~ayL39rbR)!2~GqRnzIleKkSDNO~tb5~`sZOhkdI3~zHk1wT)HDGB`CktT5 z9lr6dW`~JcB0|zm@qnbkz&}~i23>U)d{$QdvMV}Q2Q1%Ru|5~1zjWkhG9vjws~TKK zSwOWR9XYN4!+Eo!>k9}BrPLko!0umdJS3HE!9o5alzoHYIP&UIn-Q@>SXYcrVt^13 z)mgSf!^6YFk;2sl2Ga33@5j#W*m8gYtNbxWZI?w;asrIwe1WAN$Rp%#d0K~cZ3#3? zsPa$4^?ZlSrs6)PRec;Ysy6Xp#=&rIXhtJ`Vd3NQ-LCm&Ab5_4dH}h}JBVp#lW%Th zi(Bl<0;EwTS!Vti#L{OvsGJKG&|>hjxnzl-RA1dv{%bc}AEb3B5OhjVDV!Bl>rHVA zBAMZ|adhgkl%hTbp!_#0r6)&aZ2d8fH&43v z$DqKNqDUJojk3NoRHHt#{XZrO{hbWX>-Vj+4cA~qHKgMN?lMa0m4zUo*1|}5euVde zP{&h+#ii!ex~WTv13_Xt0@#Eg_smm`AtFa^gvl#W_n+=`{x6A6_8!V zh&Sbpl@3>WUg2)%|C2v)z*c&&i$91&c&>JxC82W;*>gf8Xz!NMxDp^@-v{Ino*j?`yt(cfjH!wd!8(c=?*^SAs}P`( z)vkHr=c5R`cuZ)vEXubQ9%_~PO+HkaQ4Ost7LGUo$SzD*_DO9A>wBGc?NMEo?qa*v!{XgS}sz`IbY?cHb5Qc$-gJbbo(-6~aQqewV+ zE~~H&e@HFxz=gEL&Z|1lL&OO$+0F&Skho7|D4EsY^_-!WW#A1TmF4}+SHzpj`;$1p z6-*PF$UAQaPPJUGxqqa5sRI3&H7F;{1er>G|9?~uHN0!E0py(~I38?8k@$7vCBNBB|Y7>rfPQ_`G@&TYmY04*2Lu+kLOjifB$ z@h4bgC7;Cnge81X((BMHYX@@uCbiUaIbUjNZCbcmjln7a=YHzJ2OS;LwHtM~Cb<@5 z#*t#IFRM&wq4Q7`rBXOLew>_Mm)ET@42_x_IINu|izLgGF*_Vt*ZAfXJA_@y;_t@= zozmJEqc&D&n6M{7KtXJ2<@Cb90g&~HneWi-lyJEtc+XU0rT2J;7HC3JW!t%5T!sY8 zq?g8sOiCj7*vY4_KC~wvmBUfZB`Gq{z&o}7&wU>=6P9)6*)tam&pW=qiTnCVV*MvQ ztfU+G;8=%r2Rq>BuKQ}tP-|oqMy9+TNYsLiF9T%#dY9f?kuOjPz_l2g57u5-!u+_1 z-9m6JbdD0;SJg$_1@s52oDO{v3gaEIfGG#aiceEfOSg zC@;isfx;V+E{Ze;AOZ(1D&W25Qri?%Q9sh%=(eCl}YAo4=)JLUk(d z!7%RUM+tS6cQ&O1Q@0)|0;2p4m zj^P``CH?Tft3P4lVH(uOM+oj+uF=q`oP7TzzVM`O64myPl$ZGB16qINS%C)Q zne3B4kbbxcygaI!d^yD-tm2oS$T9g+h~oQZ%u{m}`~|q-mRmV~I6CU$S5X2cRVsiVZ7m~a9jT?d^*Lg-zVx#QSh zxjI-}pPoXrwr_5y4tdMabnh6E`Iuht0&Dt7 z@DE^GJ4fn#B*$G7+}T2po6SwUt2mX-i!e7)LHNyUM4AHB|~&@N>`qPDYh5UcFtPHq#9r z41Q^6RV7+6;jr6`#aB>IwgbbE6w#2cwr6ggx7@ty(jBl%U4j|XC62Z%s5ZOVQU9bf zfIKm0zJ}x~>{IMH{uiu)aXf$0-=8j-$gIXHT>m5bi7nO(Vc4xjQ#Iu~p+dC9Xr%`m zQ%>%b)|md4R98xQ+g-ouIxBkgWKHn9?rsS90!fR_xq?TZ2xB5i+gp4)UGPBtv}7$t zIOtk79*QOW^kI~Rhv3KLgEO#lNh|=+%xnWG#D8t}7-m$DR=CR7y_!TH_3u?{=YKmK z(%~jwJ?Lz2@UyN!XOGLI99Drzii-;YvNNSivFHEB^E#|rSbin?%TmxxPF>OU!3b-) zpw?xem{)|*n!fT{z2YDA?}Fdyu$Hq|N?N;BT_!-6FD<#8O}k_cxZa8c%pA5vg(PY? zY>=9nb%J{n;d2d{cGe%K^)lsc@T?ws1QC{e^~(@y$ZzI;noPw%AfCca3#o{3sVpUd zjED&(&;{U~A7Hv;w}&J|0(+31X0x4|3b#ujcPe&RGxuXHE#-<;ZXQ8M8W5aM#B>W+ zJQ5M+tqrChco|1UC89($0CWq=9Ts}VwKUUu8%b3WzR4_G2i$3Q)b$8mBEZ0LVk()q zg+?g2VTp>rHA*q2QJ&?CqI-!v(k;k}9)g=9)%z4>FDy0%oc3j0vNj-+pc%b|9Onf54Vcp8AhU5<++~jTjA0v#`m^yB8RLvD zKhFJ+orHgXTXeO3T3Q1p^0sK?9a;VbV#`p=X6q{2WT@9n<55HFw)mtH%Qd`OI%ye3 z5zFG+MbHJXh&(?YHB!8Q2ZO=)OYz06?p6Bdcxf}E-6oS_AlHePGg9%p>8DiAu zSg?^+h(l6c0iJh46)N~)_y;But?%aV5NdCR+9-`5^+T8G5AB2(zO42UEG;Y(wN!>K z;COTL`mYjm=8nEN5GZBN6G$q8sY^(w;iOxF!DdKJ+~zA518Rv8G*yPKB7BAV=aO`R z#g`S|hcrhhKUa=Jk9!x6Au$)H=b@|bfkW88y=|lTA7-_xDsE{91F0PqXOor(Fr@vU zi&MA9YVNKnUOr}TKQdqouMAbX&H|DSadfMI5VCPHQkzRAx*ZbQxd0-Cj zUzBXt7BUMCR|%mC5yi9O2L^o6f{EZ0SoeMbV0ssGhD5z&LuRZs`r_vBBihRC#-e*Z zrgtI3ZC%3FO)+<1K#k-QHD`)Vh|uf}%dz<#<&z7FNnM=Sec@#{`f-`)>CjG}-SNH8 zFW7gpa+Em#Y=*PRWDd31vjES@cA@Md#fgvSFY68U{j6ntNRp_nV0-BEQKr!s+v?%f z<#nI)gKzLdRw&er2{YI@CK;k-=&*bsy+j`|r!pJEWt^(2L z!<}odshr943N4j6^IemTTTmV}?t?2K#)Z=4kmB}imD|j9(Jb-&DKLj{}bid}`ZG2dPIFKmmT1CMO3s3Gz z9Ylu0g)FC`-&;tzB|jr##rFQ+wzkATUIGR*Y4KZgkEjpL zM*K+b+xH00U2vqV5H6QMhCf`~wafE5n53-HvV|mO(cuywn;r%k)vf%3Rq+OKUN7da zOYsW98&djPwkw)P8ztbEQ=v2{25YZ)M&w{ZdJlT;;5t;J4W5pUR#3*RDo(K?9@hEJx`na75 zdNaAxN#uu{=QI&@#zFvo?#JCH=-{bqkti5HQ9VIEy_gT)45qk0Hcg!>>M4oF9B=|z z9x-K#xjmr4iO5^pTYeVSAjR+n8f4|lNZTC5???s^44Fo`hon4F@`>7 zA9gQ9A`sp7_+##fy0({oh)49xdNUS=L6axFD(ikI?na?+LWjk8_VHT%AtMJh7Jqql z#$PGG4(-PPi@}3#wS4u7m+tV*G64afzNrkgc)RX9prEKYMrLMfckI(|ePOAon~T1B z`W*xI(i6+o7c-xj2s!H2+*)LWWk$NayF*7!+QT05T|qa^SE4YIFrbgS2?a7dI`|HR2i}bk2K) z(1vEMK4VVBLa*AzVzorgB*n;$fXv1~LMy@x$<|P4Wc@wh?>N1@OKYU@ykMGr(^xmB zk?R@x^}+>i(mKS^0j|=_BSQQ^eoL^Drz{|xysIb!lb1dmggW}uUnNiJX%a=tuJ=|T zifB*G-d6)kraEzOgbq<+M*mAjaP4{>E*yZBLL5@55zgi&JR+R4Vs~^IH&k{YBIalV zzKI@*o^;vB!w-}fRUE+V?%dbcl@md+7V-;S_E@2ZW2ZvNb)tf7h)r+mNg1(Ko5xB$ z+`2OcV(7Fv!dt|z)ed441n0j#k%k|GeFdA@&V_K@29OqXCu2qA1(|w&R`XXGL>0%tEne`A8v=dS=?0s@ zpVZ|7&T1L9;=H*W!@yI*(D{Vr@^-8gY+L2T%JgLaBsYyMJH-(_3G<|+FU|gs-}r%^ z_uA}?Xg=ukJb>MqR>Jpl2OvOTC9nw`iHs4AXh)T;nl5Tw@`=8K1uKFx0lBKK0l5t9UK+p?%bJn&w~AG5Q4Jg@SaZ}vqjvb4X4^`3vn16d z7XwIM1Pr2lbrf$5s*X>dGwl+yu&B<1?S%I8Cf!z28oYy_Uk!%L2hxn4v_e0&Nj?H& z1#LonQv9_QjPitMC4aLE5R2)3M2t9-5d5jd+C|$KN$_-oX_V+P;^F18YG09E>aOC4 zJ-mNB!mZPE%{05F9Wgj-ERX>?!=kDGUnYSN-}7@lO3-X=ud9Unh8Mtoywu}-{LvPG z^Jzm4fZ;JR{#r_&ZYM{0ynFg%3auF50Aa*vad}YJEM|Dye0InTHzaWl(Dxs(G z=eRj|5$1~_L1qBe(_3V_b2i}lbs?jd7Mp)JszmHX z2KZcpk307y&#&z)#nR=;h#TpuI(B5H;lb>OH=^Tm5&f5Ozo$DLOH;jJe%?~O#n@?8 z@0d%Pt?7A-gX2<4fR(UD_td0I8IK6_@?Lufi?w8_m6P;q;&`U=w zAV&SodzJyAJ>tM+IX)mXRdGkr;1lWd*mGN~o15Js~F&iRlYDfsNpSazSIIs8U1lCi_OX=er_00E7U(a!5BT!gs@Nkiai zc%5r_Yn45=zyK6t&Aa=NN&qiE6S)8L4sU>CiEH^WO7EzAi%hn2Vmm7nj@Wv@Ak8^e zO`=BAjBtvYhZXC`?|@>p@`QIAxuRcDi$dnC6XJif_o4W!pnxO@a(|6?=a{{4Ou+zV zeisDOScQR#>8>4B9VUg2W-0NjzR)%Jrg}<2hvM-%TY(IeHw^KFXzl7LLP>Hlg`2D_ zpyc%K!HqVNkSe)!Um!04g%gUbz4b}62l^`urvZ$29+7rIGeIi=a;AIt-2gMd$_&j$ zHj}F^BMiEeLClKd`)XoRhRGVy<4*QSdFSmVtZu;TjaxP?3!phJ` zhI6hteP99RB5p7UjNYN#ZKSvPM(cijNFx#KA|s?GUNhGt)g36yCe6|dtwL*5K&X3U zRenHUTH?u4?_BN7POed$GayN^hp&>hTdQuKV%dU+P?(4oe0_+~0E-f}JG7gbf6nJFWw zXgp3mpdY)U1u4hDAaKQ@^hlt$4SF%yodW>ReWD7_*aH9=-3tB@Gv@llYBaqjgb4bR z&EHQyTy3RQj$|;5%2;&r>SytHwh1kU`w0@V~2^50B9zeuYnACBTzl z+ExZW{hbtmylMG%d_iGitt+*Dv9^i;6D_gO>T2+kWy5CQNk!2V01#=3Cs%=8#! z@U1pF&11!RfuGpxb^B+U#|eY3g4GwiiX7Tln9U^#ymwu~Df)AzmbF>+&pYWcZC zub>66bOVcC;gW-XSi6*zo2XhUMNzw{L?QQ!fbjhpv(Zn8cDZ-R zBe&;-i&8ss|zdSO0=baY_gzBKf2jphDjK5a@?+GNnT zyS?%h=#kir{eht!F81J394-p{F2&*7R%58T}N_f z9Md)UAqNfB$IRSHM1Qq@*py#hJa2n44U5lRh_1IrPg=;`c%g?L{qMUc(XGW%t2- zl!(Q55wN9{I}Ubmfii=^w7j~uI;2|bs9Hcrl5AXHymE=3n!6()*3=wmu~S3iCE{q~ zDX9V406cd$&SAjYd>5?tr~SdIuD>|BWP~n-4}iowt_)&jrh9m+X}JAgt1d!O3K^IT zf7k2twONC4<}!Tks~XTX3rB13fO4uq6LuUV!LN8-#tiS8*#S-5h*b;q{J_YTtI7&v zN;4j7&MF1-ZQn6XMkUdSM=lq7?hrKWJDAxH3>5)pM@qXUv>I_4rz@>R42KxpZ}y${ zPur}9Va|p%>QvY#a2aH)t#xu&o|qJM8ZSF`pMF-~yakp}sG5>`D-8tQZG>Tff@P&! z^RhO=Q835life&-tFAdEZG*Le2!6+Fn`NXk}dqQhz8N&2a} zTFMggm+sX@1|H5vK271n>J2c_)Wb5!nCqtrojhVLk=L>{J5s=YWA3*GxylH1RPH0+ zX5eCwTW#H19vKpwyL@k6h{WEmhEd8ye@;u8pzO5Ld<#NPArB#kpsaTE*U5wBxW5|&V>!z8ba=ubs_Fy( z%%(n6SN7~kc7gs9&y>@79z~76bR1zDuHzksKd1EPr{(;W$$u{|? z@+Hpc2XbDF9dy@~HE;LrM-MlA(!rSyQ&2$+Rj~7d3?N{QKCW4@vT|XkI!5q%Xnyh3NEg4juS6#*=~Hx%A`A~=lY8k8BpyMtQ%pVBIEWb5ZG|OrZAeAB;2VamQg6*1I(JY&HE~8Z$>PU(5$!(p7J!+R zm1}ex#&Cb9iFcclW>@LZ&D`pP{8rGHM|Uvi0XU+A;$V>K@}8yT2}pm@rbl?l!a;)H z!j?BlmHx^XKuc7#A+3DqJ)43l9sc=eUaAv-T3aU0{Y}Pey|q3HrEK$8D{v_7BY;>9 zInoPm6%v9q@pu>j6SYy-sO0B;FuL)BCA%ncva?+kjNwJN*8{<1sygR=Po08&#PjZlr677o(L|0o6Ao==36Xo!Ks)j&l;3V zefdc#Jy)MPNe2o}y#WPT`Cstg3%Q2{)&T)P@LOs0fd!jB#Bk7GZWI^Pt4=8wC)CPE z74y!_-G8LNLl(y)yfz;BZwZZ@KjuI{;NZ|N8F-vis12?XqzG4cP>z0ffSaNrvvaZ1 zl6%!YbYQA~D2xf}=d{k(ZIraa>XUi6_6z~dN*6g-J>gIMh3t2gssm+CAB!cuY{8Yk z9LILrffNz>vx#;KBJzV|*Jy`c&2kHIvZ+H^;HMM?@7L9fWandgavg20BLBeSIG7~- znH&%tsqM;W=un=VEXQ!kQZZgdt#uGKRNxZ537Z$2gw{)v;IJ9?YOr7O3OyQ)o2{{~ zg-bi^3E@^_)ILMPI}t{@wG!gTrSVoTv}tqO*RWw#9DwUhG z29}z|aJ+hSn=?OKl3=teC)$Z46d#2lHf>5hs+M++I`qhUHp(C^!Jz_c1M)Fg@`Dz~ z^o$CCybfS{OGASp0XF{OSEs0J}gMI_$cnX z>^dS%xv8M{Di05uS(x%BQ_V%4g|7|yu<8=g6XqN-O||^r3h0I(4mG%n(3+J71F#a{ z3v)@eyQ9?RN_Q5$VznI=#A`GfT(SIt>Vp#o4doYoQ{^nqqLbs9jkP*}YUlYzPcQFk zy;m=9o_t(>jUt;=f}z|-wPjfOh0it(c5mO}gwd%@TR%L)EAmqsIgkJ#T>qs&a0x|@ z(R+8ha=b~xmH5qnf{N)Gwb#dtblolV&7xJU<+-=!tc0`eLcR30Xa9p`+ZVUybLr8Y zOhWl40f4^LU6eNeW7!1RK&6?{M}7$sO{?&uhN$2c2E9dqpR{G*8v!FBO9TGjm~zA% z$1g>3>K9)l2J;n-g6roG$#DR#(Z_%Rm9Ue&vO!S)DVZBEIt|%)g*(C(O+;LVG0&oe z%Ahk*)u#kJ_L=nHtg$;Pap|jv5i`d0w_AVSo7vzY(aJ2{irwBV;C@F9`hBtB+fTQ3 zna(b7^7SL`*@4SkXb9Lssa<M00?!0x}ZQ^G-^h4?u^*6#~_#SX(&9kd2Y(4ezTot>G2K3}h4 z??kj&2I7O}kerWe?cK?9;^}i2biT=cqIEXZ5 zwT|}ZE@pa@|G6?Xvk(CpD6)Vlh0CnNC8!_Oq?r!Zbof;-W$l9B8k}$|4f6HmoW87R z!UOe$Q>@bV(bFM7eHRskLEc1~Y(V`8amExru7&trxqk&!p4|`#lC}_W4}#@1m#H9j z-RA}A8zH;Duo6u!MzIq#gg_-N_U!F6RW`r?9&+($m6>njty$d6G=5cT(XKOxqc2bS zemClPS6S0VNbkN*0ZQ^hq4LvCJP(^y*>S&v+wgB2o8&|!D@I2?B-+&yO4K$e*~d+7 zHJ69f-js3I3;+_>HRK;)b*~&He8IWlrndQ>V;ry<5+tS<2--4lg`xnw{ac3vA>G3i zh3csl6}F9>3y40rGBH|Pd6CI)xNc(=I&aBD62Sj6q%FlCrXAv-1 znw3@IJw6JGLg`Ui%V4HOZvNzdjb&^D$Eyw8Fcl#m=$JVDzO4Bf+uUfBqwe^`HjPD# z4 zRzXb(gpG-#k~uQ^#u}%F;el7|x8LMEfo01tVpfY7ku_dUy4 zP`f*X=fh$iN%$jd#)bEI$T~??gG4*3xso5-%b}Z;sGqEFesN{quOz956CfcTR~ztH zTcST58EGCqn{pC!u@n2(cBBwzf%e6<`1cWL?`iHa)^=NDx7oD)dvQE6L|ukLq1A#a zKaqLX*9Tu`C?AWH44Ue6w}|T8{(^W~P&Jvfeo7&I101+v@D&9K(yZT+dDhyzE*g?; zOmy{{NzfNdzmJ-E@LKG$qNP9@lf$!BLbKOlQ7%8bQ##4DB=ddsy>Z*onmWAq*=^uz zUYDLiQ^6%KG#FR8TL`G(_*_1OR;Q+7QLgXis-qa9adEJ&0v(DRa`c8uoeXw}oB4k7 zN*&XiLUVm~%8bZx!gK$0gHi@(r=sn*!bFYJ{=iljTdf+GY4_|CXbSAN`9D1OLo7 zM7^FCcenz7J&|%n4nj!q>uOsZc_iqoHVtLoS?*aMI-A^q*d7VY+tY{G8uYDT}GtAa?#=Jduy8s{=!)G5^^PDwI_X+@%6Wt(Di6BEo2Am zdt3wMMUk5m+=%o)=|iizOR^bBTqW9lE^KJDzi$POn%`|{4=S@|Vo##&F#b!)@!>qy zRcomVxNJX~RNm3`Hk&FUXL?C9Pm@4$wtV9Mks~8$B-3w0h;agz5uJG6sP|n@u=a4D zuKeu>{dUYm0x(7g(SHt>JNYsuOF_EQ-|0A5tNgu_PX^|$A=3V#M5c+Ir4}17r_OK< zVhKHH%0Db#~-|+r3n>Vvaay%*C64Z}@?)mAwq%+`+nwlNjsgh-A6F3CO%KMPuN7T+Vy3 z2ltr&^NmbSIidcA7Ys%pJA}*}v$jxnE_$UXVy0cpLghWXA@suU8kdH2N{kZ-qOw#+WSE1>v!NmXFh{o;b0 zYO~~9%Z1p_8F`!+5fKWC`3%}QaB@XrfH9og68hli#0c4w4RjT_M_CT;4An7E%$^@h zd_n*Pvqf<(-u3g&_6xkGkKe@&s~`Wm0|`qC6m=*$LYyhQDZpaIddI79sr3mR3vrV?17z%^$O$o@ydF3qnw^kx zm%A&lZ{PtwVc*l2hvc|_oiUH+9#yw=gwUrOH^@3%Edy;@p#owEW6zkEG@yJ@*q*w}Ih zJk8r>^N$@_@kxVDZ59Ey(tvj_rhrCPp*k^x>*tY}p<64St6KJ`gUfO4k zYG}*9v?*hy_Ag6>ZG}+l+diU+6s0sH$H`?|AeBl%5EAzslY7sYE!gglxnNSZ7LQSGoDk{dmH!?sEjLgR z9wf{pmpvy+TN|H{JQEM>*0%WAR6g`qpya698S_OZ`pb!2nGRzSJqLjU%oURxL|8a< z2sd|uvVS*j`Uj&E^cQbK8`L~`gN1FqedQaikepA&n2y0Th8Mpg40IRA@>-Jlo{X^ zQ_B)s+iCH&VTm5man`anDW=$)mkIk#PB}4-WdHy=e^yV6sT9#12#MuJ2LVS6xe|_; z{7nwZ3v5c8VSpATsXjqXfEB`?vSs*i{`CcFc`OukKWQIVwf=!xV=3n&9$;R{`z)7@ z<#IWVF%%g2FEM^IW$f)2#SA*ir@Tb>Yyw9yHX9bgJ0)j?Cz^&)HnB3wh}N@p2+AC2 zFz<(%b)1REA1WUga4kC2z>JX%_{CIZP?m&D4a&G?FYCiU@C! z%GeRs!E!Hpn(mk6(x`GCYM2Wp-RcYGV-x)LLCXxw@vmm`6j+;F7l zWXRQL5W_rW83YNhN(xb($)EZ)9Bn4v$TpKOycEJv_dNjh5=_9Ep?V<*l9(D3IUbnP zq{22AwRp1f$|v%tk&aa$B}cV<3;h0UCyyrU7Gq(0+~APa@h#t6jS5UE5t=0>sm)`+ zAQXCkcuHL6Azerv@^fOdRC0B}Nyhs2sC8b+h3f2RSXkhf4wMl9mqPtp@D&;#pK|iT z0~^I1VbP5qM@|xG10nI7K-TnK^|tUeP(3Kwi{Oq5H>N)JN8zMfd_3sK^c`feyj)aA z-lR}n>5|BR?>D|utB^=vOjw>Ke;|e-uCOkAQb7V!F*$*G=RbG^4&dl1r!D^Iie6e! zcF<%eim&!gx3a&R5Ctzwj-30HFcS=M3Aw*xYEUD-S|$b}HD z%SzsF6O5`ce#X7;Fx8z*gQQz>yI|(xtFH+-uJa!Oi(Nq75s*tg|PkbwZ~9q11NU@5mm^oxrdUH6pv zni*OHXfwYU9A)&Ov?{U3z9bmbfysM4lS~r3vJ{e*(P^kx9+u$%l1QOS$yGRODvo$Ze%pkGc9nwrsWY>uuDSmQ*f1DXW2g zVK-QkRO1p!*S@XwjE|Y*iOD_Ang%^D1WQ8)D(y^jl#g}<(qEyG;ov-9E%C`R99=aO zP#3l}Q>RDOyoj~A`?IEYJHAlu&uZml`H%G{NgFO-V}H04GE5Iki(EtVD>>9i+CwW) z76&+vX!^@{g>t9;;rl<(WS9_wG!XZC_UgB3r#3^HD=sL+-N~AciS*1RpFyw$;F-XN zb|m^iGuVo!iAq~13-Gk)*j}^DhmvCf`V~2D5yEr2C!k2o^e?hiOy4CD;|duFl*G3x z>)bbOG(l2a%5Ok&$#PxaJJ9`fdU}n*z_vlOF5$FE_emD2c0m(F&FB=Fs<{=OSNmI> z%f@XoomE>16cI5eh~&N! zDs-Blh4U_~QW#I_Ee`{ZA2!DX6H`<%$)`A*_C|5{jzoH+^)+BUf(lD_tXg2b zPe=f-7cU=ohOOY}5zW?L0EC(IR0bIE0KjUCf7<$iA0t4R4(2vp}U(5BFs)uEK{R--F4a2VAUwjnhkqyWdt-yEM01D#< zu}udSjWJ1D6Y+X;$}FA9sUmNK{E_C$6C;mHsuiV#CO=tTahSXMe7W{LY3xY^Nu4a>2KF?BbYNn>=8z`%R?-)cjL9~c z)D%U;k^75gFVOJA(1LYRD z7e0n{X!0pT+dYp+w5w>AYaM%>{0G>VGcwn`|BQRlyse|-2)md+9OdrkVeqXuy(LG` z=~IO}Rf1}1IBCDIJ%OEgqla?j73A)0_ZT=QjTXM~6~Y3nl^{r8SdS>(gTw=ry65d@ zupbQSL{Yx{?yW1UL8X-CsGZAa{~g&~6$?HKd{U>uq<5emIRf5_#rVc#!DI zVXn^Fn?oEY)%d5izKY^ud|Q7W=(mMPftsYK>X6l5*Pf4N1e2DwWQu4Te*{Ira;AF= zi@E52U>D;)*ISt)Ix@e5H+H_q1%*m)7GaMS(Qh|E;=lSYw4yXMT>TfDh3K2aEcV|H zm$B8!$ou%UbCSJuCSFaN*M@HQP#_T8$?RDXpEQ?gs&@xD3UqwE6nKlTJZ%v6QPiDj zU{G#Lb+$Q7fN>JAhlb=Zg?y6ETDkQo+V@?J>E)zQ9H!um{xBvJLoWaU9vtk1GxRu% zgcV82o^{Kyt?&J=;?TBBGC%NRGGiOz!+4r~sdIBurMcWebo0eBKEP6<$q3c?hZiGu zE#J*|D~nvW+_wvJ*EJN6){;HEHXozmVW!w<^ODUEu=tQ{k|r7NQujAbtqp*QRnqZx zZkFb;oi4c$ozkix!Lk4}a-;=rt>%APy^%EjX3vW8RJS7)#@aZyGGGTyS>`SRqvz0+ zQ1;WbiNt^fUs05Nn~Cuxp2lH_rN0)W&cmPDTr5Dg0nHZW2&v-!(2t=1bL&-icU*_- zZvj%N#1YKn;`s+(R=0+}kR{1Lhy(tB8i&}CAkhf8>`9gLvAk6WewkMm&DpksW3|Td|@L9ZU%93 zgft%aC4+VQfHnU4;{lj$2Yzh^d4 z6mx@B`zv|*&`rfyuu7y2;!hZpYuOa;J9d3$t^S>^kzEy?+sKnPuGcsv^0}7wCbv+j zk~|6)Sup?OiUU%CQR|yb+$m4IgR5dF@q0L+A zce#-NkqKWw#&w{pF<+8vp}1G!1}xna<^(eK4J;@S)n&ft{Trtcvua%Tk3Ic=w zo^vENc%L8cDqqgR6+UrD9YH=%X&|lk{TY_3IZXPE^L*xO6|JphFD?j^7AT_7aAqI8U7LSvq@A5 zZWC!#>ELjGwFU9-!aCJ*oT;`Wtl`;2Wga{K(h3hcSQ<}6043Hn=%2x9dNlG?!%%75fCr2PhTkYyxJt`Geg5g}eO8I08~jVezEuk>8$fsl2GKYA>V z{_*gO!1?S@ry_o05Y(3h$df(F_Wsx* z|2Z#$;>-b`g~7~I8(xA@+7Av+pM!9qI_`B+tPPUsMxyjP!vKFcX9pao z#B)xP;Q38sEwrVXm+53-dw;Da0Y#)PVn z(&aadA-X>d+C&w16Gj^a53x2_FM)!9%Q6C-?}}Q`2D^Gy5aY}ps{Q>@hY(8p03i2Q zJ7VM!SHATwjk4gwvLyWsVbMeJj+MAeaAbZ3eGPdfwpo=*MdGpK#e!tuw4E-^Oxx^e zbQ{ee4Tp3W-$3u*!DWZ6oY;#hw+8~$P6atMNfQzyDkd}qF9msMz+HJ=W|N!a++cN# z9FbbPr)ImU{xpxc)4vxmt&e5XPKp~tMR_h+Nrnxp;8a}|L*Py8f7WW{M=I(Nu%zH1 zmkD2xMh5lsrTg^w}u(rz%)lbooQr92~kv4j2a*wgpZ z%w#751<`l9DPZH(#V0?kcvsCFq6B&CZ6_NA=a>Vf|xj+ch?jh4DY6jiELoS^SnqC{cYrD%?jhX@RvaNqq5F;*e?*5(B&>}Y@&07(x z87>7FQ$zqqD?r?FR_d$k5bu`bTy{_Ll z@jQ~t)Ie}CkbZwwhxrYu+`+}8zL+?ZcL+eHdOvRjQF{{`l`fqCGk)y#B@lj$#;)x} zBy&D9J+j{pfKid8H;#Al)ws0HaMg^Hm?-Mt<=>8 z)>-&ve5NUeyM$S6{2T*X(fZ(J9@f8ONqp{yg&#k>l^)Q_F@{cR z$0XH9iXN4i?36m%q3mz1P*iM_a6kboQ1rt}v@G>HR`xLXP*g|gM{a!hbdJb7aTR!t zz-jGhdXp#UZwKm#{GCbBhs#9!0WIE8w@7?9n8LepFPcS>SsA~46G`%c`r9YeC}&9I zyz_&{dteC>FIhC^OQUP7Z5hUqcJtlsa3JxPf`i0 zol~VO;O;{I_xLzHj}Oa>SO;(#v}P+^2nKgBb<`o0vM$wrMR(~?sHjAJc?{bPAB}~b z;N0X;!TZLmJ@fvk(LZ9-ncBl*VC=qk+cjiEUO2ux8_~<~89Pd7BTES~zYN(Iu5awz z2AjhU#o4FYCJMS(hJ00w@(*k&G1dRZ^iEMz**km&0URf`T}XQ_^$ZCs>+BcaT|9rA;!rHIC`-s+_k@R%6XudPog zbo(z2&0!v-JuyFxZb-u!6C6^_wK+885&=%L$b!{u7+&qDZo)BmQEqtxSfntANu=H7 zl_S=Yy$$x4L8ofP&4E@4fb6Q)3T8*Aqc5(Y1QM$AYsSBbU23a+emy47h4nF6tf&7o z3LCGkuoh^xHH}^%vl1y|dmdQ8;|-Q|co`FY%%Ev=NU9e>y>^CsF{eOi)~6oC4m&@LY5Xi&5$ z=5rLorlMu{)&9oR%(kNT*M_aBd`ead%Ty@b`e6KtF(sT)#`uqxdEfFTw;U`u5Ky^N1-TFdVSX^1P{HgA&Y+LD*v(OP9`yd0-*YWv{BaijxOx z1k*)$$ZJ$5`PEEM^^{&~^0EtVjwW=s{q?8Ii^yYb|498YIDyd*zZ(vTjm1xl%x(dV z^>H#$#r^VyN&|FDqyy<$A|?fx`Q8T+`jJr}@9>{%`t!oBn5) zMe7oL+MhisbOEuImRNp&YHNt9X%cXMzPwCri9z+w@HF}oq+SfjY?jXKDeTT) zghBq&@#+7T7Jd#Sigbsg_|wFj-L1V@*UtfPq{T7Bg=Fj>{>nrt?4ln>&h~TJnAS#{ zWk4bMc_)6k#hInTqwt*TpBlFw;LmpZ$p|No{(85*oB>JwI07U&_*L}M&0L`&a+z+$ zds)e^kB?Qr?85GGv0sUpnRjj%Dl2JAKTNo(WBwfNvUv0qU(*b5C=gUEQ735_M?~1H z>!yDc&<9~w*RG(MFcxYQbXpCg{3c+N0l;sGpIzGvvJ#&4Dgnfk{v$YDldB`J=DujZ zF_IDXs5AGM$~>gT0-^{;{GFrilMqR4G=SVC)bsSb{CR zshgIgoOWc6Vl@5HdAf4yr0I3M4hZhDq7(;ArWC{4cg$eU$nbKf@VlmJCE6==IGO_( zR$S_IwhH+a@O$I_#{p1dF6C6x@0(%=vBpKxGr(Ra4-u}-Yp_1O#n&L;DoFtAKF42G z$c1-jen(JDb-TzXqss^bj&Kv6%*$fFKSx0(91uv-M~+FMxiAYw|4e>(k-{&Ct;o0r z030v{W5`^qs5-#et~dt>xZVcICSj=g)bD)Bt<|noP*o?a7}*%S+x;WhHSu6 zF<1H~E%fsj#j z5jG@O1f$Lj7#79Y3QWtVbOR?(RenV?hMCnlyHwh%21JTpI2x&&?({97Xoewq{9jav zN?QA07vW_pJU8New-|lRkwGpTcVIbX1P$;wlMcXmul|CI`U?tYkPMC{s53SXwgVF;V zj>qfmGu9@ywYNLD1k0kBPmZ?b?pIbnLp{5P&+Zp6!Zq+j0^F$ZY32X%Fr+Y)dtLr< z$6#+(I7SSH+dY+Nk~9CCUF2D?O~(zyTl*2I&AnqGY>8LJ+$)b4O%Cp0BmOGMrfOHI znyU2zSQ2F-Q<2uer|;ZC&#aVI0F9mPZE{-3-pN@ZrRe9->{<#ADllfeYqA657+2`_ zkkSdrNhC&<5sHDH^cT%2@S9Ki(T+G}iM3vkuhf$kzfRUwY12J+D;>?=~lbU>Iz6d_(XXjTEyM)OCetDAZsi zbORslGi5NUduEa8qe_MSp=fLuHMqf>DTVnQf7PUP-w8sVC1`oO5C+h!prehcw@i=E z!wD#QNH>*GP0gb3qP0M8g^ZM9s@zA|U@>y{I=tra3p@v4c-;u5h;CL+^Mr>nr6tsk zlq+|BEDJG3>`rVJA5ckT=!AnH{?8$G&5Qv+F8ZN3p#N4@EQ;Dzr6%08)2@8kHh)u7 zo2G>6o3qeU*9JJg%#|Q){33CdOEuX8T z`3b2GmQ20;xA)-`R|*p-Xwe<-6^bY)ivGkqI)w6ca!J07Yo!)HCD*msc1XFGpx28j zB!LqJd*9zQWEwMxF^V+{e|Pr3zHF@G21MLCdLt5n;*eu9gW2{*L1;4p)Ws3bvV-go`tb_HY z{ty7i5@iD$2?Ox)*{8X*(4C5kC|s5ufiBDNYozs zVpNSK+wsfv)TaH?m!1DoHoDg7&r!=m29xtr-2nwSpN8kl^x_$>sROmoj3P9DQ-&p; zjb9g)1>ajh5z4$wEdZQL(VH0ujyt0b$mw0cc9s7!Olu7GCFR1~9)=(fDBN2)%sHi} zicJn{$Dy!0HLxIk8qHq`@57e2Jj3h#KmjlH00D6RZZvLf2A9Eu(QJtSRD^4kAQmjQ z8VcWWS)KJe6vwlgEMJR&eXThgbju!F7)LdYU^MFgsabZY$RmS-9GRb}9EVZuCL_hX zDAroDlx!}72=xxWYxYR;1a>}$T)qRqJpzH)sT^rQel=Si96S@K3*Fq%e;tjut9N>K zj-OKLF`FqG9u;7CVPoC&PH0Cw70cHfW!tMt$|j+8`+?|W3a$JZ&;i*Z$`tU*?{*}pCY zqZqpYO?eR`r0Ee)qF}ufz)Gku0-Ew(@L9tJhZIH(3XSCBcogmjMpCr_s)8Be6eQ58 zx0tB^Q|I`{Q-Yhm)dEf$UV#v{AeUN$iO?}+uO;KlCgtBy;{daz=R_LQJ?W7EK|sF0 zt;sj&>CEPHm;JgcD4GFPerfGJ1{R?2iOX)VttA|x90A;)e=k13Q@gwEp9{3FMQKlD z#!+)dh-$+u(gaL$jzD%J3mGAepiF;#cViOm%&6tH7g9x1G5>sp5DZrcy( zj(*9&MCpv%7paxGcmM zucg({fJRDYA-I#>Dm{-SV%TI#9m-s&#D(;WoB5{0lUIKE?Qd!~;r1{RnXZ&JcW8T% zcvx(9y#{8k2lcKm*IZSL?qq`v+`10w=xb$+FVZ)X6BvpSQf#~&u=pks(|%T;QpYLb zw{4S@sR}X3)g=+?4wqz9JeA}0XhO^bUQgVQm97R`F{veQHgy8Vvc>{n6;TvZGwn*e z_$0Ps!TdHOiYGaOrYaUNpXh@mW+jd`3Meo*ZopoUB6jDL&uBWe zVkV-6bO_fIeOCg7F|JJjwlJ=;^q61oMf+2M20&<3Cm(}kl&peWeJ~UwW(?^t8TFc_ zwL1uTfEgr8Ng7-k*1r*BZFsRcAnO!4cXvJ>Ysg2nD3*%2W-d!pe$;=2E9jwB<2;@= zs6D?Y<`Rwio&ZFf5P`9X1bbLF#5Zz6krf(QtuoWuxq8F7b*rQ~60Pi6&w$(&(pY!wkX&J9$i6~`ql=SdU4nk-%G*UQ#YeJ{9{b| zjA${B(l+5jOEbQZE+!X%yu&@Xgt%42JTgY2$3s1SP<3ClJS{}bL~bt2*UJ4Rj>v`D zQ%rz&gOQKaWtg5F0TZX^nl*|BL*fDTL^cm{tO$9C5=AElLF;}z!_r>2;lt;65>F!5 zAAMcbus^yHX1@!-n8vg)5cn-}Jr#8%t zdx%kLkd+C!nYREyT`4LEbC%Whx!{TxhnZ$F<1!ey2yTzI7&)-!)qp-RsZQzAEiupV z0hv&7^QoLhIRp$@oVLzWx-8i*1ZDHz{qyrP&K4VPWB>){X@zU4-k^D+c}Sbg)}hYi+8Gl|k7y1V9kZ)$*8 zAnGTS2Cmv|&RmJdscaSj0A@!MKQVXe9ne`(k*`i16#_Er@%kVG2GBl>O52*zdP^53 zYAUao`lk-B`xqaB5e$~GQ|#E=6MS~k?i_`a#xuz)8-k7;(!t1yrHWw10Hfw|P z#fq)f0$^;QW`*lT6$z(|ATEKzPM25HeRhzvq~ZC8KN=WYu6j>{q}`w9+(;_A?XGWE zpgCi`#rqU;Ng@5jS3N%BL8To(gDiA=LX?7V!RvStkq#`V11>i9$M`OPavht40oa`) z77H?MtFe{oXE?6+jm`wimB8py?dN*RZmwzA5(e6(|V;ZVMQs^ z3xG<%@SG2fmLM||*t|~&ZEdx6X(ff}5iB`UyNfgX3hZLw46<}ysJpX@ZJ)GDNpzG; zaCl9%ZGuN^D`K_--8g0{3$KJn8H?^8x)RI^W6sOyQBn%UQ|~h%9lcL>xCM$|c^Y$E zhVvZpZXlUg{yP{PL_4Ra(1_+8kc-j?l6l(`HOP;?A+@lf{yMQ(I6b-SxU&LSZNOk@A^#P(z{6aQy zmK+2;qs!z#z3~!ML`GpjqRHXeEVN)zYNzr9hgTOfy9{fs-&k4jwq!_Feq32f?0p>& zJ!2w)P+!O-UZM1oXk0^+!8ACzxKz~1X?xh z=cP&}k;R6g!bV<+n_L!iSS!91q-zK?k>=wH`n${D?Ejo-wFGx71wYW){eR?A{_+sp z`mQxE-)FVW{3YlMNDR@C30ff5v{cu4T={A=6e3G~*199(FgXB7K&k2o#IK2< z1l;Fochmn!5vbz%fTxV%22qHc>FyAJ(v9>#RZr!9Zr2R{WG5ZoT80{N)ujPG;nqz} zMoxI3!doFKn!jUv>}dL|wvB~4PwA3(po!b6W^4d2Rlc}`8+KUH#v~*F6i;J)U7`Iu z%b(`^2Lf18Kt+bSzE&{%Pg8VEGyswR5wa8T8i0ROqI(QmaL7T~t5~cR(67U<6^<-F z?U_Dw%%JMSeZwV0-+-}fm6~@tv*~MMClrOoID-vK$CFKotpR@e?-TGH=6r_H5QKO_2p+Z0g;!puznUD4u}OPp8*h)t^(w z9*5onlQ$3;8C~K&Cu^zO{{tCj7@0zcOgJmflmMqrQ5NJr$g`0Xd7D zXan-ea$DcXo{*K~>9xF7!Uji(i8=c|SM64wn?bi&6I-C)BIHnvSd@|G6xv3z3(Y?1 zl?Bjzac1JdyV-L?lM2J8wwl^tq*bHJDv7D1ehnOL1A%to&K1UNor6<#!tMg-A1Ah| zW$+s&UL`5pR{g^I&3h18h7FFGIgwv3bq)F)d${3orxIEds5V8nRQ~g}GcmT&vnKU# ze=OLp9sf%!YniY+=& z2_Q8)s>ITN&9#ie?Y(fqYkslRv|nGMB{>Of_eSJbzs@N|hcALl-QQcc)KGy1Jb2GrMzN@!Q3wJ>YTnR+g*ihB&+J zQ3u1ADk@@w^uYECi!V_)RTy(&?eU{qDc*Lk9bUb?YF4Nd3-C*8Aa!)=Ivj{S1*kkBDQ|WtL8eQ4QzmA6oqkq(MXb2;PdZ zs9eqHa%4jFrMvLgDtuQ8{%_0#`ygpvhHBFeIo;V8KOyA!=|9QFf)p-bB&N#xtXor9VPqt1{rb*aQv(WC)5lbfD=4xF z(Zr^&bTOvSgul2$;7*Z|qwx%oL27JNp^)phw5DVm$-`lV&ZEy`05(`tBwl@#X)Am5 z)4L-+YLkZU%usQ5FXi@>>YiaSU#cb`l)n*xh;SEiuc+zu4e5QP3PU&@i%M>&L=glz zlR!Z;3-ilU(+l~gXAr=|zKvk(04fojTl7^%jX_iWZc(AqD?>l1+dGwjG!uj<=-j^U zMPohc>hTd@pXMsh=fuvu-sU7qk1LF0qFq~JkxM0748*Dp9Rns8Cpeh-4=h=Pvt#5= z;^5_A#C+%Ll_H+MHVdUjNy=Yso2j?-n`Whvp1fZvh}n_`A>L#H&|RLoQgrm% zZE{+RX0`~q%i28-F)Z>SLa|VhGJYL!Arr~cQiM&4>PT1D=G$uyPuJv7fndH!>l457 zaWR3Ak54c!00ttR;BPi-mL)!`_?30|a#_oEH~KWr`z24t<2WVA-1LGwFgKVB&}`}U zT$j>`!gx;n_P6!WnebCI&D*ZG=WM_r5Q!Hjjkb$Z)bZXK_D;6fM4; zU!JK-H&$P2^;7VEe1N7lF2C3Pg;bNCfj~p-jUty*R2uZ=|!&)yAg6GJwQRmJ1v=iZZpOyq#%bb z@ZF&fTs$I~3Y-`A6>}tgh4!Q^_Xo6@RASyrQ*$X7b$55ozcis&K62-zhTv*IX%QI; zD5Ed&K+)Wm1jCGLmp#_;84sw%@IUUwY_sv@re#H*U7&lPrk>5Hiix3Mzh2E)xsO*- zkxHCXTTN`UqFzM+Z^)?ZI^0EKB*u8Q*)D>Ek8-ht#(y|LGi2-u}#m8i@96Fp!C_Pw&gmM*5DGX}FtcuzSMdws@s>!Rmuk>BqzHCqAzJ4q6-5=C2 z#dGF)MR1EfqI4={9x!bGqIPtEm0o7id}Bl-a}}4!1cq?0X}qr4 z%hc`BVp21Ux+O2i!T|tuOA>>`$3i7}3RZTLlL|TMxtL1~aZh~mI`5h=$qkXbE1hM! zqZCra7{CBSHrED-adS=)GAuSe?Dh=cXb;5`S~$;VS06KZ>t)DnuTrpL_*0IOs{H=8 z@RZaZY}i0T+4uNnhfSajCO)Px;Lqi9R~2tf!-9x0ScKm&-`j29%g8=iE9@fhRZKQu zedOVI1UHu0#@vS!_eb==2Jmdh)v)#}!tarSJcUlQT zMVs5uBusk7H^mKhv@rH*J^8@+EvEAX=@2OW7^=+!l$wXz%O6D7l+izrzau!6aZ zqC^}8c^3xYKhzA<)v2VjVHLwp!Czc$mD{SI zia78cSAN_GvLb=PB592d+*wK`0L6#5xTx`jH@Oa$NYDf19HwJEn=9KBg_v9< zP2>8PmLy`}Mi3_^&-#>HM7QlT604N=6r^SKDBDSXDo+E+*#MRFlpp^eRTgA0l#z@6 zPOI>Mvo>EnzbMS_uW2+RkMS|Hiq>}F$R`g~XXPCe$I}+}TZ!o+Ml|&LCa;wByxg!L z&O18d5b0#eE*)sv1lB6RBm5enxOSbB=lQU?wW!Os05ul_j7#p9sMT8jwQ!$dY7Vth zBEdT}Qdng&-pqvbd=1pqX})(_e)t8zeMlCzfzzSMG-IPk^E7^;g-M%c^jjL)CH>FM zoXJVGGyV$6{heF_gx?v_bU{d8u#+f@uOmXW6^sujU-ouvjjXT>(eFtrolAozJA#DI};vFZ~(r*B%(f zn3SODgb_d26xi!m-3VPLDsBh3jMWvC>wgy9tb&q!FF#0!)NkXs3F;9FRGJJmZ;#?x8O06A=gUjQ?ei& zBZ{gff$9}yokSsn|6=aXRuC#w06vGIJoY}3tjbzpy#3_R2(6w?85rB7&KfZ_s?RWZ z6CKSs{O)#J%Em7M68A<{-kou(3^5o-<;rnF3#EHumYA+>3lY1|b@Je}5_eFtPGv=^U>4Ief36AUD zuR-c2EJ$bLTa4?PHzdV6kZIOEFcydIUG+r29pKq`w>$2J>2*EK8)XNOj7vK>*I&=oNQVE^3PpFnEUg&&taw| zyPcu@7@;>Tx};aCFOYn~Qpr%!^cfe>%q|C~)n1MM;6fypINTEhA! z3B&-&q6RB)F9V0KO36uX|JH1FWg*K8UC7yeSq=r z+GyARbj%c}EJbKmET0V@WBs69;pW+|6k7!oD3$6)Cb1S)QUtaWI58Bcluo13jLho9 zjBXpemX#z+d@#lU z{N=;b&FxOyl=ZvV^)(|l7_GTe7PuM%@)#6~%l0;MDNIX<^J75G`+s0H3cq<8LHXmR zy34^FrHfQ~vaX}q@Rm4f-zZFRb^src$FE>zz{(R^cO6kDwod{0+3uO)fSZzOUUh2$ zznt6vJF|xR?A)_vx?k(J{QjMsM4xaCTf~aN9r)dqfpbaBRf4A0JlH-)o~LXjQO{8> z(Vd}EI9@_NAJgB?~Wjv98!!Ux1O`Zzhd}b9`n#1@c;g_I#R;+uS-b%avD`yAF-LGb8 z==hwRJdpdkvl!6?QNCM$bk@_4sD;KhkfoCc#O?-+8wnGsGJjU+6VQ}LHb7Y#sHMvr zA27g});qiU&`*5QJoiBW!Ug^zNCC*T&cdQp_@`F#Iry>cd-HL*YZ?R)%IB?}U7GC6 zsOuPE?%E5!0{hZc86v|fkW(N-&6D2APhg9fO;$3P&T3RLC)HaBwv4n?y36>@>sTdp zWFK}j#eby3jSP(@{P!-QR3xHmC~&>Vt#!W=+56qJ0|95S1UB`r6+3zxzUiA(;dBAv z=(j0scHIdntKfA1#caW+bi+&}&9f6GVZaj4TfDpahRjtJE$Y5Rm2-RCrM_1LvRm|R z3X`npMP`*P)9`_c0b)XTo6-7ToZN1CIk5@CO8B*vqaJfCCDi6Uu(AyRZnecnYQgWt zKD&5!k~1nk+nGiDOSu1d5^n<1vzVeMkiX|Ofy$f?pkHv7A1A1Xc)x)FyNv!A=r=GO zIWreEd_9~fA>5QcISe}i>Jwfl)eQT6l}ErMvjF0)_YZij5fxLom$`3+0zHvC%hb(I z!F;BC6>HQrPa&V%m;9d7TauvhXy7%H2PN?O!8P5s6$40!1#8?wRkgf1ipmX$lA&Z) zl2h(zK*Od+UF;~D%RjG2*nx*lQm)@Lb9u}|$|~0FFUiP07Z5Xp2Z`Utg%s`T#7G?b<{2`hLIvwFZfuQX<7RGV=avF7z(`Y(=?VqCr0=wUC>@}kBd_%%UU2DU)MEYoRER_eH$DDD;|69pNeP`)?jA#du8T@`Szw#@lU+X1(HVo z0egiIM?^1+6$jB%&kgfTnXD{lRBG(hOW3?PQ5=6#42=eLwVYnWSfsm>vf*2}Cui0a z!rcz{#7BGX>E9H!-|sfG1KaJs%h)RE=Pkh9M>U`k>?0%%~cY zk)9Rf4^6|y#5i^nRuE!RNYAk1L-Xb88qu0iam(+wpd~9?1Rbn(iRZ%mbqdDnIt}*B zbgT{FAeKJ^fdk+WpW9@Vvg+4osT3wkr{<+Y>!7z?bhDpfE;1PG&C^~xN36r^Kv=f* zPD>FUAZN`;$Tx&s%;+nBpT^a7jwiwx%YHr0?e)|NS{JX9=^XU2uw(-))t5 z^d6g36GEJiD4;%3-QqbrIx9LGm0RpNKY~2N8_YAWBs(0de)UnZz;ZdEYq%iyBOaJw z&^CzQ9O&WdEw6Fp7-u%;0^|3elp-?7iq+CE>K1%Mpa26*)$)Q0U5wrbpVGfZE@5p9 z?|J_{%g(gZ7d4Vtyz@(l+9Z0J=!uLo6 z_wT~`#&GQ1p-(IZN7DCyuHU_ zyvUUchpSIIah1X@NE$80i=57B`k@wee{fBh(N1Oj*j>2q77 zi8w{>47BKf+!=om0HS^A*;m?aJ2Ns@vUo)qLA_p(vPhAFud}Jsr9OgW zu7iKyRybHBobi%5q`Rhlqjl#`WN(3yyL`a{ZfeR(-nnXxpcmW|UBaK!(1%kPPt)A? zCn1P(*!-z{a?dlRbU-X{WaM&^b3jTtVhs4VEtuO;zmM!MM-H;Q`0eS!69NwK;c9** z(v8Nfj*tp|1#O^vf?tM2cN>r zt5Pn&hx1ubwe;BiM#j9>$N(GfVAlevigA)4EP6eMhd;w+YWZvb9ye)nhRp(<;uHU8 z=1VL>6dsLV`|GNb1(m<(7Vxi*6m3k3U>BoK0W%z>93|(#ZRB=vKBi!%Tgr1mP2DuY z?VzrBCwxWP7E{dhpARy~1BC!-jZAGH1I%(FsZQS15ZrfFJjX7Fu!>5_^Evl=6Su%C z-oUK8@^z_}bJ_KIgs~WLANv5j9)@z(3&y49iKzG!^O6A)8 za1!UQ*dU86q$h&vOZl+FIFEAGBf_6GIcil#xl#Q33M(b9!MyrEOCaQ;&Kz`PDl4A- zmPGg6@KvM4U*Y^j=H*^o$D{HIB#9dNGi^oukKR!o*m(USH`;u<0)wiwS!RduXnO~} zqNMpQj}KbCx9XsS`cNZchJ%umD)&->9RfEp@s63~f{ha*E|wRP#* zGdYaQdNWrCVAa_zInCca|4=5cL61l}OK&D<(RRkg6lEnG*d9 zqDA)nIy$8X7O1yr^jjeEh# z8p^7rI6DavZa1A#a&(GSx^kL|@wX-4yBz`!rW3d4QXu(3DvCMlV8GTXYo(gRBN>~H zNJ03B=#f*SpJZMG0tqO@h<;Tq^NNPh1E799Q1_5z9}PIrqn=5Y*;2!OHW(qqM@NBj zpD*AQt!Nt{4m6LhLIfM+Bu0%LN*KcmbIY2?BK#2g+t|;Apmjop=MMZfyh?Ulu(e~o zDk$sS?rt~HRokyWM=WXJ}r0uVC_{g#00btW;Yn!PLQhALV094Er$ zkd}WILXPpz$#If342B6T;f&rZC~*CMs;-`FSwR zl%p(N@e`5En>Wl)DM8GJq8q(D<;a3}A+bQ3!n%g&T5|fU!vf%JZehldgk;or>kjAt zGI%+78~HsWfk#DdfM9A#vh}{^25huO;X)T|+>*y$J9v;6fPqd*hOBH)Zs2c&M!v=Y zyp84c<|G2Yu6mWlo=GD}23=ep3H7_UcqnV5-;;Fzgi^7X**F<~*0yH!Q>!i1;vUsu z3hOJxGRf;gw9Ji%W04LxMQ=$$N%K#VYk%EqL@*?~_>Kf7wwhsgO@W`#$TgsoxkkFo_F#=~JAaF1@Ii%b4wMmF z?%zQU4(h?}k;FR<(3<^=Hh7O<0Om0_L`JmJe~l2CZx(12(-uN8 z5X$XBo{K{kIuGPQ<&iH3F+Jal8a%VH_wqcElcD}P0xd1nZPT{5Zt~@1tQv;i9+Mj(i^N2&hX#J1yOUAV_i~M$pAbA+KW}QR>~&V+x{V)(ME6d%lKaZ z>q6FGc#It{(m#MyOhz6M53h(uO!0FQdcWngJy>yB1GCk6)Ei*i+Ya;47k-MVT$}=3q zIqc0B0xWNq)ooV?|JNXvu3L=^k(k5@s6K>1n9R#AFM&Pk4DgiHALt(U%A8o#8r@LU z2N6B>STJzNJi1N`%QR4R0N^2ZdPlkgk}NTWwY}z}IHXzpEOdmE+*9uXA=rD^Pb-4c zRLH^5<6uC=(Kn@3BqK(X4W`C-DwK(4;Fvy^7O!CQzcK*63kF_8|{{wpd0#&&tA z67QtTRS{ir^XeWPFoV2JtM5N|b~VmJG1ctNx)0Jzk@9KunzNqXnI6xt<&M}7Qbcv5 z7j2i%>&V1wgl2GIjRJIEXOSn=56TznYvKouDTrsB$RGlcK6O_$H48N_sg0L4N9D;A zDtPfIjsk`gasnte*WNCBM?X?6-(ZDqXkY#^rOg9>FaKrGQJP@zplEQ2fHR$&-;lEb zal?ve<-@=9u5x32gP6$YKLmR@C?5(4@{~;2QzI8$U!FItND<9;imZS}0jZvcB>{_U z*FM^R;HH&?@W5BG_x98NhkXl^p8NDZALKX!X>G?{q+SyV?oD= z_<4miSJuZ4`C*hicQN%KPkB2T;*{Dc&s};B#yp*Ve9#m7W@xy0Ee_7-xx7J<@oo-i zT%C#`G9P9x=olhuA-{oUKNnx#K`4nl+?0QtQsU`p5$JkzsTBY^wE#%1Zu%ezNN2NW zFV6rr^dD+y0VnLJB-D_z`7ON^TxYcUS89@+d+XvN4XEMTPXUw3uWVZQz<1)e*9`AU|uBiS*r?Aq-Z!7r!SdT z9YnhE4;n=t^m^--$_$B&6bevX%sVMcu+EuJa*I0?HRm(C7!>@%i0ihc9h1W88hq*& zeFk6K+A9aCb8n4X}tRfp2ZAJ#BLG!9PuxZ0LIVRHq|?nu`Rb$R zD8lojX|<3cCVe1 z#IOVs!7H_g3^o()01dC0lJGRhx1L4dVKn5P*wlDeJ`UwG!xOh*7}JJ1@R$6#Ie)tx z_$dAlm=JVMk;YRDh$|v7)jG#dI1Y$pTjA+K>nZ4;h=oAQm#3+@LTo#8ZhibwR|uYx zR{9vRrw6GcGP}ueFTI$tw=Q1v@9&E>4^vuJrtwY*k{?f6Hr{;mXRbyHXLZov>kYI# z#kf_;q*f8PDZNXrCnIRbO)s)+HU`G?>3nfEw>#5n&`P#peWEkB@zhmHT4wTLhBg_?0vPa2 z)Ks_Kn@QU|8}rTap9*@xgI_`i14_O_sv*VMnC34FuPPPVV;CX7vpYJ_^g)Sg1B=*s ztR!-nJ$4$3Jti88sl~NLcQq)MIm!!L&xCr0zOlMV2^T)6XCtViOsOF~fCY{VZORT* zOEuKuGTr{qV8q^irlU2+G(fbuTH9`(xvtsO$3}0w08pd~nk=3AMLV1se z8Ou1>u2W=8-q^%GZXz|bG1Pg#VTX|0U&$iSj3l(+7-o(eT%{YIG#KeODTtJeSp zk+dhWBBe%I{1Saf!Bn7NGN$OAe+O3NMw)Y<Samod;Ft2eJ0 zx7SR@QJm8`1)4Li!f7hE(It$&-nvPqKnoQmynN1`@^G(csJx(tOv~^caE}^_W=}KY z6_vr~byzwiZO;g?&%&~@q&SpCTW@lBCh*g*dg6Mx@iGC#;`NUO5%M{Qh=`Z$yFK>* ze%!G#KSbg{OD>B$b3a|N3G}aP(5?Ig1E&6*OwClj9lbYx z2|fK?iu?T&E}sWhQCTE60g% z(ZfCkre`Fe68!+#yEZX7JCXC&+Wt(D$xs-!TB)kDGUw4TFFPzBUQ&&QGo(j~jm)Ax z^+SJ08lXw@=PG8dJkSv5hJ*ulaE`Ms}@dXxwfM3s8gdN_?39H!|4G^HlRK7Lw?N|_RTTPY;s}Nh$QbUe>0h*Mi{UYP5X4)YtgDTRq;y0+o31y8O-&Pr&d25$n7TWEn-W(7e}v4W zWriyF+W`0>ea`W74ziD48Xz`yb@eih=?nYiK+|#rm<7Qcnn)_8X-Jafa?*4*|JkPL z;bWofJ7Ay_PIKV*Hpng*01!4;dC!|J3f9g zg#CZtHCTgF3KSAcncx!QM}^}RrB9iw*FpG zJF2Ak#O_P;!Ae)ec1SKXx!#t~*icOAL?RpV7|*Jn(b~4cX|livdw)4++WQQA%z|ja zA^PkqtcKSL*?!aD?HmWiq@bT3%uf0yfi&j|HgJII$O;R@kvTYth_n7|u;8ycun?az zkh1`rCB0~Q^F`?y*CN5(?-bte7sY~J3QY-Dw)L6f^qCzm|4#Pu``c6i4Ae+T**d_} z1wZ5#SO#3!z*Qh85HD12@w_&~N;M}BqeD(@-1K)?x>|i{_KhH>3^oA-OAf%>g1#9B zCs3I(S^x%c4962gB$GObQFJPj;eHBs<3yRW3HRU$da3_mV7WoAk(>j5(L_<8jLSkJ zS!|`@-kE5IXxbx%Dh(n5;;R(s>Tut$ z#eP-Izi=w7OroA2rtU}V7$$Zsjb&l=GjYJR@WE^e^_)u{V`Vq~^l5e#IaT$WG}*JffvvxA$g(f2t=F>efffk>zHq#9t3q& z(NEqeO1S3fS4=KUbOxFhSrcBZCi2H&6KY2-(Bul$K(?>c!gMbr>|$X5pTimODY(i8 zWl(;_{OGp>IN{w#zmIfC7jpm$$rna`<7n2EDE=s*-pus^{^mz89i{AZ*rqQj2bGy_ zkF$W(4bHiX9sM{UnIT@Veof!=_+n|Nn@R&o zu)!CPxnIh#F;4Z!qT;}g2mbaE)5)fp+czIynVrsTw+|5)E-Jwg$2QlZDVG%Uo&fv^ zc=YWo7T&jPH>*Z8<4f1;1GnfkC3b!$IXnpG@oEkupp$-O?a9PqL$^aSWi`Wz))~p- zfzv#wIA*lXX}sSXw2O2(l6c5^zkvn_c=A@Uc^9WDvxzQCCG_JFwyQfCZCS?uQh9$t07x#3cH)Ql`mD4iGVowGef>W98$$=1*l@Q82}XgHU2?#^ zmD~j%Od6XT_uj*OOE}PB5W4SDIxDX31_FUy#~_WEDm)P1pz?X{MpFF>Jvzdy%Z?9g zBc*4oYdI^F(ulN18$J#>&UB~Dxbs#L@5(gGBbnj|BQLQbX)nmQK7*3Ze=ic(3U+XC zG^x{IA%rieS>5n_FQxtT*MEXDfmX_)~kzmzeBTr=BpGJ z6PJIl<-m0$K`HPPL;~yIE0<0_hdFze6r|f~{~tk`A`5m5n$%itzf6B;>mYLl+Ju7Y za&8=o#*4xc3u2W_xdKQ=ai&6L8L*N-(!#xeTI7P7`w|IxuBGh+n(^}VfW57IN$OyY z>bItWVW0Y#c)AS?bfU>Cx+nn_!Vw<;vL?XDlmf~6<)hDSvqBVGuUG8=&~moUXvkPl znTXSW#K1E`DBcM{tbc+2n_KYqLxNRVxOd{gNxQZ}pOBTAz`WM1cw@oMdtmK8>47-t zUYjzVlX@EYo#*rD=6~$Z9+z!@D@m+3M$%kYl9QzS%)!pAEu;J4Wm-P0xOLlWGSkG0 zA62&5KP&_PNMBANBZ*IYSz%adqP)LBQHS<1QgxE}M_alp<_7=bEbC~x8`#Vsdn8NtS2)l=g!gQP&z*}f!l2^q}RWijxSF6zwcqg z3bMz=c~a6n7E6VGjBw|TOr+b^vTh8F!7~xeUH{C~{Q`%qK1dNmf7Z~B z`MUv~y`wOtZ@R^@6`g*bAN>u30hEa}$=k%{lKFH`#?KU@Mr;MuqZeYmePglaSn=vj zZ2)AMfudEdwT9Bc(?afBzVBF*T_4hwt(in8zhTm@$mlnmA=^R86wbDxc9tDhaNFJ2 zN6XLKys$We^8PtZ?PKo-^^hW_c#%zC_KWZ*49Waiv1pdn{e7v6FaQRj6*ujL^OO9V zj1h~}gOS`@wA;>MPNF5Z6ClD7S_0B^27&aDuB2J(=p}~SKS4k(PISGJxbT(LWYM+y zXJvH@dzkP((b`zsE|SzNXqrDDzwepy0;mJsa@Dwt9kx3Z18{^znap*gNDA;&%g|nQ zYuLv)SyHpWnhDT*b(q=ucqR_*-$5$!#)LRm2J@_K3vJMSa~+dZhefZlc3y1`pi-CN zefGbxvXrsMHI+{V$XhB74TZ-?J?@`X-K3?Tf|cCW=G$a9`uju->P#ybxZ4RRH-%{9q}?@$ce7$JGsS)!A&dQ zsBD{JQY5POH@-yA(*2Bs8d}!SlD$foT@*>en6UKXbAK?7ke3>0?j7h(g;0Pz;x4rp^ zp~U@&Q*MS!rI*XB*WE2h!Zo;Tq(0uZ0LKU}r0;?BlR240o4*d$Ez?%~tead9pX?be zoz7K0gRlkiTnBb;QiMvvSq_8X2R1edCdLH`+Y&J$JftEp3ol`V3(y&3SHmPwSWI{$0&SJg zEA;08g#25FB?$?X5Me`hTk?!8)3?zm&}sEUtQ3LpcT1|JE&;n?ERY%WIw_*} z&83`?a&l6#gdXj2)jXWSWDhM}-CZ|sv|tp#twhCqBmkjlG>!(T*AAsyFGt`gue3RX zyskGG+!QR77*yJIm6cx#d2WUcxQ7B)SyI5ANLrgqdI;X5ThxBTO+e?scKp?Y!4anH zl#o49DgAI<-E-GYmw`=if-OlXYy-M=v^fH?F5oZJ4Ja%Xe}f>6?tZg@^)3124ZX;5 z|2K`~@ts2o7Q0v3+#$1kBE~3MP*Fm{;rQEgi?^9BUF(NSvZ_AZLz0j z&1RNk<7mw4w!WR|Xledp*fyumR5mv%BA}j<^AC?&alK3d6R@~Na~d0fP8UCy9WGP1b?NW3j#()sK&wd*-RfBX1gZJU(AksUS$F<8cd zCyCy9wnBy6TOae`g=eT7qt|y#;mQ=dB>p$}!PBgJ8Fc1lIP(NeP}}X;}ps?#`Eg+QXod7*R!oPPU`DnnIvOgz#wB)-ZpTF*@GBv6z-n3gUMz^`W zEjyL3N@y>!Fkuh2hm zHC|?eKyNq`IjnDLN%kZ2?P;lqM6Zzy!h@LC>@CPZUyhUVsU0@ zQs+Bis+CnkRh=kL0x$IDHUFroIkw}DM@b|Y?fr50O)2v5~Kp&{6G@V6PZO+5r~Su8kMReCBt%6Z8$E|i|)hsd~bL? zqUCWIs9{JZ^N<@XusrbjoyXR;_jp~kC(5|WHyA`Z?&txe@a?>~heH?bD|tt!9uAd&lEDho<^4vJo`a(_2T=ADhwJ zpLIfRM+G_}u5H4WV@-k&8n})V+lAem2f*3K!F(vie88VKP@z?K_UZ>F^VHz0ZEtKW zo%@6^#HOCZR3h~^GKxLhPaod?U;b@(r&(*Wq+NPHXYoHr+4QY$e4L* z?{Sft6;Wx_3=qVcIzYTLHTt1|cT!!s!Ve4JrmvgdK>bq0Vh|3$I);!$Q(;vW2>3 zufLH+a6F1EEM}>KG5TJ&VxrXDr8IUe;M}gfOZo@gM|pRQ%cm4XATwtqirU7c_8&aCD53t;|4o*V6JsW_REv|Fd zH$Kovm~bEyRe|B2fEQPo@1gad&la=6Gxij3|mrY5C7k#2t%di5* zP&l3{?CS~VQgddZo45$TGLR{!|1$$z=-%H_DwymykBqZfDjNc6wU z8{Ctd7fXAC%Vl=ZJ_C}DA5GwJ9l7=lhe-+d00VEh%|}rGOHxB`{?1)?Zc;472QMa0-4r?!KmSi|N4dz0!4`)w+*9KR- zaoT@)C{&T@?g;~wXXGlhR-q4G_KgKpgZ|QiTdOSDI@d2wmE~4*M!#jPt%lCEr||2f zUl?;()SSW1k%6Y;F@ZbPB2cqzBmshj=o!+@m3w^=jGn&Iudrh_LBEIGi__sgr_T9^ zQJH(ozx+*Sg5CT#AbRxrLOY=Wo4_U{jQ}DA!;zputow~VE$D&J8Phf_9n;#~E3Hxl7 zRdLyrN_~Ox;0@`~s>l5c4ywQPNEoc6Zd0Fbs)({m0 zKbErrLRNc*O9oHM%$0fHC}OV{;JQY$bol-_=L6C+VvyNcMuDcf7+MX>wXCS$63aYp}t#=2G50@$`E zAZDR?PRuflJ$k6(cvt1k$+R-(RV4qMs+)pT!8Z^80<9jU+MefOP2}MWMcN)9LHF>= zxze#r=(IZCUxsP(K5!Y8NbzUNhr!Onf(`$rvPlqot)zc(V>iHOKDNo9p)Ue$N(A3X z%3yQ&!A>Lu@(b($u-hK?eqWb)|2|Ts3{iM78&@-k*3n=tE_vJ~GXPdL*k$gY5cEL; zk@j@}^K8?MQxe~@s0JWcDCQNS9{mV$O6%Y796csi5Xf%?vn!JDEM^X+%r zu<_FXr{R1*XDirV&Ljh7_-!b)D9~leN3WQ4L%V89$gY*P?C#8 zI=)mg8qC^UI3*4xBi7tbKP`P#5M=~eIs>os?_Bqmjjer70}8vcS^Z(3l#CP8v>Lgf z`8O(`mZXeq7v_`{ff3&o0$BCZa@zE!b-Azi6H9epgv5Wx^o%N7Cb|;m^${CQQ#fpE znBsdRG8jV3%-A8}SujUx;G>Vf01()TB5CX=mP7MG{9}$LXY0m6xJG#nmjP0-24JNj z0~t~`B)Ju%GQ#WbD*Dw2JnnUEC6x}&MapMt`9qw%HqZ}5&xIO|QwNYT3vC7H#vK}%eV+{jL396*f03aKu?NfOq|qLm-OA`hTQZ0v z>oij7Non$?HiH^3X$%n5;blU?5;NF(EmB>W24|HC`8O99@J`#i(~5Pe^}eL0jFB|V z2II&y_43qGG$^a=|0mVEb)F#DZesU-4IX=YNp@VVVdR$EJ+wz8Jv3?gNPFgrgYUfH zY{dyC?Oi@fsS92u?2o0m-V2J~u@hu`CJr`l0c<}3zC;_i!a95!&~|tZL>yY3iSshD z%0Qjxe6erUnd69Ps#z>uNN6G*@wh7FFPKrK;nSN!Km`?GV>Q0%eoPqH#rkH6UO&7V zrXjr<(r6|jx>?#RbzCK!cTCJDTWCKmhq+rNp#B+GI#wy27KdBQ@XbDI^P!go;xb_D zzOwqa@`T~d(CQW;?yLs&%Un}rdr-7-ec-I@=Pn9_2!Xa|>+zx+)wt5(cky(gKHSBE z{4S1ES|EOyQOaedyt_Nffegqu07f;N&8 zGlKl#K&w~KuU?^N)2)R52+Ft+QE5Jb+-lZUHPM9N`p9Z|50PtQ4#^qSl!(kx>DjWaIg&1o@!SYH>&3<*Qyb5Y-zqZWI~k>OVFFUU^xl zk5SEw-3NTsa!)3km)f=pWAzZ34?58)xsM5t`_RR1SbNtdT?;H*?_91Gb|Qpuvc+0V z2MU|XGE~?VXWFb{$AM`2QPp614g9nvThTc;l{=az!gRs9Ufmze&z3<2)|B)#E<5hI ze-mi&c4h8PFJqY1IHUl_XsxW`%Q2wUTjv02WcfcZU@;S8FscR1C5xHuSjah;N2vu_ zRrh3?lZ5BlyfKxRXwQ~BYL%PR3r)Q@2oiM((4}ooIGt7z%ybiKCa;HgA?BfPR#~5O zyXf#!eQ-ez^H?nf+ol+Omq?viox0;Jl5VXw@?Xpw-R*q-K0c+JeTgya*&9kY)S5qn zy->IE@{NZ53NB4L#vJaSn@BtKzLS<8xG)T!{zGJppLsguTGdD%sd&J_VfF~ZHc&Q8 zT<3EW%mlH_&7YS?dYYSNgbyA0?3$UE8kL@+AJE6bMKOR=n6hEWL;bgel9+8zNuMRzU8*!C8e#H1@xw8B&T zfINh}w2HJ!ADezY%#m1Gl!F*EoD8)4*}}^Hi=9x7{y8c|;*D0Sovf zC!E4;;D7-WX!30`|BYgY#|~D~yIdIoyb1Kb6UdA~suf7abv<)deWyt-tnn6ik2hp& zx$?x!sKn+dJh^(KvAG=0e;7#2wZwe~mq}Uifh2&oq*xsYH;#SQLf9Tp zwsINPS}Ww5vZe(O#h%7VMxR;q#nQG{20WsBA0Ssme%XT zG9eJJh11L8m8OBn12h!>vB2WjyOG};47uZUMTd)@*p;BnU$0YScT&cMy$;7GdS_NYeWCOw|dZ!YK~=Q4X2H7)y$ z$4lqqfyS_PubR8fuNz*TGW_Ig5v}g@3ySMa^6SPm#dc>}Cx}XiMTw%{@!iG$5St~b z#W{n7MYnDmW@aPS=wfrchr=QhDjA1Fh7bF{(-CWCMb@KQXzIs^qfJ;=c;;%boc$w$ zwM0AOE$p*h&2K3s`D-YjLU}^YLEgh=r{!9z44i?T)GQ;Gzt;Q9$A-DY2taGJ9)ZNJ z{&z14+2G+0kzw9E@SaSViN-<21`kmoc+fcG@wShJVzc^V|(Do*qm zh7v^_Mfz%mf|;$+!V_8*PcIGeH3|-BZ+t(52(?K>b-`!Gj-W4n5PU*a{dXBlh7PFB zi!z>rU~p!pincsKWS|^=whO-~8Unh>ofuJX`0p?r<*fU;#;Rq}K3>T_-60LS7@Y4R z@W_O{U=E6hR~b_#p)iNFa3Oe+{dnmPw1)oXz=UnMCCLmyDjE+N?_M&Kce!E#iUP_r zgrW=MAKso5a`9&x3S6zhNE}ppXLE2ohX|##gF+lK;`nGnsd~xK7glGQN+rEiF){gUq%>LkPT3x~AZit~ zy{8fARs90pS{qvdqCXY+!ZY;B1JBMA<`G28FaksG49d7WR?roHJzw&)mvuBKa`)CI zY@u@hQ0^stVw8HxO8&q-ir4zIk+%^}LhK;i9_kjo{w?mj;>yPjD)1af{lL{7IEw42 zUdnwFBnb}{-W}D6i=KyiYHt?bTh%+OcEVKlR?O+6B5r)Oa+%tYfQ`jYjl^abrYGB^ zQ@-WKiBRNg>-18_KY6Xa*kBFu{zdM8--CduN|u)@8-)c0%_^+TXE}GJHXu0y>o34| zBoquBc=RRaQ-@`QdHg)X%eZqwzw>z*`suV3M}jy9XX#Ts=l=Dm(xXFEatd4iq|d?e zbBgogYzUSNu`lqLuwJE1K#|;=D<={>SU(P+J7Mc&k3ivr%e^ms7-v)!pXM?5qI~K! za-Rh2YNlPug3-+$*Q;)2ZZT0DGgTCzPsxBen$lkE!P|L0Noxc?qhEI6q^#(c;Ta7; z&mpU?FBaw<{_DwpC;DP}o&TsO^|+_K=U*Ax`{=bM!>+S&J>%fd!HXK`)L~=tC%&dt zFtkb_&2qT5e|5M^!zJFCsbEzU*TjZ7lZyqo6S!UtXe=XG@)h9+ykVE_`&X~BqG+C= zK~^z-c3Qe(*PqGCMmP*i)a!EQ#d@CeL%7OLz5{1{+kS97wVDc|(sz8pE0o->wW-#E^PB^_*=Td;-dRosRf;^cX$`>wCzZR?T(VhIr8 zwMcFVWbuZcreK{w<1B(5St&dtK$ONW8?%z>Tvh}zEFSB$-4KhvM3%Nbcy8X|29K(d z7Jwb>Z5Uo>aXd959u22;!i-;_QlD~&^-K|>^~y_LS4HE`Yl~)6Om=flx0iMj{cHN< zV02d<`0$IMjqOJdtlxVB(+`F9&uBxTZcygzzUMLk6NFs*7jNAaiP47UA=IWe8ax;v z45C7{8uSF}r^Ot4K(Sy??-nPJNou>>Ij*Vd3zoNgNfPE*%pq^Gx}pqB`@;kFue}G` z+mfSP6Dw$QG7X5@5ylS_BB^>;7uY3nq}6ZG)&7~sj|&2cquMO)5F~BHi z5uin-+Vto&c2yJe2h1b=3W26Nn}xC!0w138dmGqjP&3QvqiUGP0tnmVk<8)>$;Ht| z3Yx5CBeUj(&Dhd~;jI2s4QiVYrN#h{^iozt{9?fOI$2}2cgI)S%V9z+VZdX(Z#40M4RW8iWNG;CMj17&HiRm}EwP!gF!vGr z5Fkx8%9G@}yjq6qrm;MhCnZG^M!px$gRwSkoOp$acKI!w^(_4U<6LM|FtMWO~~G$z{+zj+eRCR=)Pf8dJgD(7b6i^C|1Zu)CR_GRR^-U3)otn8f zD_hgIVb{)FY+NKFl#ocr|1ZeB0^}G~pXn_*{_-L>hKG%^)EMyw?Zg}kG1rZOX|Kc$ z$8*04Pt5|GLyp|j3mILGAnOhBxvS2Z3C!G;XUCo}Mm{YWf*^5P1=j5TLez(}4>3H* zRum_ZF$0L%fjng6=K8cSX6;1q`8B!#t71w#2kd`+M=2@O`0n%z9VW?b1fEIhi8ar> z5*kPdqlg4iVukWc^DDUaT8y=eJ$zD_f28#q->i$`4i06_Egsrx%7MaQu>jxqx%Ys3 zJ$90=I4gkx89k+!M<{d{N+EF!nwLeY5)=Z_%S=_!j=;^^?-(^;y(j&r9&^yrEIz@Z zKj9eS{1v8;3OL(k5I#110_Z~o-U;~@#jdg<>lF-oz?S#u;;e}3c~^~MqUap&JQ7nG zsJ&OV{&7ID`YX=4AoiUT_7I0WBV({{7XS`BYO=XD31y_nF7WFPo1t_mH{CPsP(19^ zQb-L*o%RGTlr3LOpfWrmQDTOmi|r*d+gY695Ka`-?XUIN%ocGcjIMATtEX57V>aH$ zMjgaa)FvR@!p9T+tVuUSKRRaxhF*H27=l}L{1@EbdAxwyul6m6F(LRDbB(C8bx%cLE?y7fdD%mceCfq$&p} zKTFSJ^k2-ZrhM{lZ#z?n^S*)jQ)<&uSIYZox!Gxs6Xup{+NqXtU10M+7d3#5g8Pk> zvmi+R_;DE68ZioyASHtjQ5q<@HQL)GOJb<6Np$8!6#fvc=<7AA9cb`{MTJ|AlGF>q z()Loxv*0BWM#!1`-qU|JfKbQ70$1@bfrXuuEQIwMeK|?FqXVWSg8q}-I^jK33J|fs zJrFFKeLNZEtUR%Zw4tv-8oAb|iNc8qnXHrb!9D`DO zn*Pepc^VmYF|J!8NsP&jEYVK@N6Irm0c*P&yRJnVp zQ~oe58A{6F5NIGag!DRqt?Hota!=YsNa3;&B42Tfl4guX-q5i?z1wXtYK=-wdXms! zXvbS6Yog_V%Y znT!tj2Byoeo}DG@M&Gm)k5;uVJ)l0r34KhMTvm9QMW z;TCJUnYZD0HwPP}V2d5JW-w?DzedabC{$I?!^G;{&%jhS_eOIH(tZ`O{>&44LJq@F z(aJX*WncdT1p90Aa4}v`wco9rq%!?*G~0iSi$@*S1z6-N2yFj86UgKVYVU#jlfF%Lbb=sYq@rJ$bw#n&t&U{-yf$BQ>(xK_ zd*6I$rZJ13N|y?F3ak+-L6(tSv2OkU>Q$8n-ddG%Kjt*cm_K}|6ZPkj?K3lsQ*kW* z@*MBs`@eNUbIY>FRd^mXofXTG;VVPR6S0z@fZb`nibV#9bX4I0=zlZ`umMLrXWG?ZZ?pmP0o;k>{cIb-EepNn)CmxcYw|5

      Hs0nZ>TCtYo-_W)F)ZbEA@5I& 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

      o~wiFb!V* zu@d*z(B$|YDtpFsDZ(%;NXW&gh>)eS=~BKZ74wS*d1|&#i6MeiKii4h9Tpy0qCza= zB)Ik(LTxP6wLlSOykum(6o@ufoeItmg;oXu$fk26TSkJEPO+5AWXeuh{N2&|I1JW_ zBVZi)h7c>@=F!x$m~%n7D!`cQIF?b5x(^ze<9L}2s6OuCNqG8+RrlSq_{TrLDwktS z?KPyXUEjxs=B)2a#IzLBm4X3C-(?`rIsZ7NSZ7q^9Mls(Y1*iUrtIPu*M0EAC!}l^ zJ5Y?Ia659Dx^I2=|K51Rf8KTXuSSn)o-u8Pt~2VA-cqcBw=W7zb3o)U$1_ zz^`N)W?fyKb})AC*tUQF-eVTN_nLqHmQ)loO5D3PtUNwpl`xk_wYp#ZM>Cx&I3*>~ z6OmDE*qOTPVd;2T9f1T^nUR4`UCRI5rwl9QLz1+ZK>GH7{*phr3M7+8V##IA(%1hn zGi^#=oS!Atp>c?JBm&EbFlwPew+JC>mq=?LRyAZZR_?6zMYwkj!fLJX8Vot-`ZR>H z%ZHTT1+B4L?rf_(Z9%>`Xq$gDD$p@uNJ?6A0b=5}s;@^aOt1V2BVmZ^$e;VvPr1{p zWQjzXV1*0>76E-_)q>UAy@$s7g&*BBayI1q!B>ePPOQ*1cK_;$b4F(7jw^QLw?Dah z^6nK&M~@B;K1oG*;Ke*41T|HJ7D9;Ha+qoa=> z+nhEa-?h7O%mmMIBv3BjU8LZ#L#}IJNkbUCG?;hZ*>it?&+=E6Z9M7tNw#fkbO{4f zdASACl3)Awr*Hbf?Kl1C`|tn2ht7T9`G&??zQaia+p2fbAS$k2wPJN(_DIHNkZ~OW zhvm}B6OnP>7wW(%POyZ|u7M&f62@t2^$hF&idwe^Q+BEdB@x-eAm~A23{#S~@7?p< zu0QG>-3KxEl=D7!!}nd5)<AcLh2|S3^NcRsrisyqzU;AHnHJu1eg| zf-rzG{k>C~E#zKLUQ8O@vU1~|1+yot-n4t%@P>T8xVx)x^3gM&eSO23$Ip3g*~*bE zP4$_k?fZAk9-CdZ$>F6E<2_2NY7nRE$s*SN$zCTSmolS9uvk%;oBa4Qmm;A9cD% zvDabv(+Cxiuz@Khk^HSkK?nPKpDyGJb@f@DIhrzc#4*Q@ePPj?C!R3#n7P9x3ps}M zW>{Bmo^bS}r>g6xMnM zf@j#aZ5Q0QUZ@=!F8S?et0og>;LcUWBD|qeIrN6&r@np6nbr;P3A!jh_d3H=)%S4xfw?`nJ>I6!!p0 z%l9PN1RkP+LFCQjf}3j246}~4?k`n201-(e>YAu_1h`?ewzd`vMHvOmSVm$U`bau4 z1JcYDbynSfT%PBU^^~d#AtZ%gDCASA3^$B-uN6F^4Pi8@uwxkiGx4v$`5x8U_S!Sg zp)`T}dUcdaZmvETB~R&ZK6cLPRlmCZSC34;@d_)eaxGD#mIU~_PoA-B=e;{NEVGG8 zuU~OR;i{F}CQq0fyMaWMG{4z;cG~I3J-6t!;s;LvDoFA(*^KHbP&^)>fFaO%)n_li z{{Q~_%GY1N@mt^i;&oqcsIMECM*K6ZqK;A}8XR1wuP>Er1hs3hy87vJPY8B##w^1G zEx!lgdyel5rKn%F=heqVG)+rM>}pv6St^yncFEugEN|jcN*KmHk`T-o`o8P?e#%M#;t)-Ds@)GPuR7`MC{=+JP651vm#?Ym~7>MlqWtH6;->?3zK*y-?E&cycXI5RRvRM#UOT6r^G47&yX%`tEb5@C}$XHDarFozVH-` zR!ad3Ke&gg7g%^g_M);Y5gwAt;V8*Mu5shI8TOjj^K15$46EB}-Pk(2l9)}4Mmf#- zoi>Wop8Z)VuF ztn3nE?K}(CdJz{700)csh@4U>l}hml78I%tznl8$-vx#+>6;D)IUz(oVaBXy9`N_< z=^Hy%Bd<_`Uo4f1oWJHUM=E*&Duf#qaJ~ z^x_LEOTKO+GM;|&)epV@7@ZPPY|RlqB(jU=yl>vKPrdfcGjE)K&b+?OId<9`D>mMA(+{q@{>!;cmcd`jJA+aE0 z=X%Ht3<*S}AXoTS#?a4{VcJR=(5sl&0Y`Nm50R<3P$JWHzEVt9qk|$LeL>PNv;sb7 z$UV2jSSV7TIDC|9RXr84EeyX&dAiXvsoZEpQDI^u(Qyz2u?E2US|ow3f1E z_}D4)79ud=m+JTKVqqT$8rfz5!H`KQhmRU%TDG?4qsELi44V|y0;3R9LQo;ht9tGA zmq<+=5Yo_uUn@3ldedhW+N48(W%OP?0Gb=J6#1U7(R{IgHPkvlEf}c}M!G(S5(ae1 zmB&DIOcH`v`%6MFZh5m*9}SshP*J}K5iEijt$4WT7{yjcIN0N?xqn#T>ZshTlA#tt z_v>&dZw4$$0{jFKlj@aA3?)jZXJb8&;qx#@CNlBEn@IBGN=e33N=& z`x~45P&lOgX3bJpu0$eYDwQtg3vu1^uuP4jkQzcg39DaMzIl+slnzWqsZ>a1(osIC zcG2-j9!I_*9F$q6;>HopnYX~_xn--@j2?F^4_65*4tjOsi5=rd=Dd3N7#u^q1=3xEvz_O%hCvPL19c#)obK?r6(S_XWiOm zUeET&e*epPr@XIq#F!x`06f>}?e0P3zE|w;?bE3n4p=DkhXIoyySLx6T#fcf_4F9r z2F7G;2qT*Rcxe&FhEU`(S=$PAX9|U)<9Q@SvFLEg*Z|u$CkFy zI=dCrm$j>dd2- zEZ)%7<@q3_BBvET>+dZD5u;>Wa@(M*KXdNfc_V-Gt3|J`*iUE^`Wnpz%n4!$@X~2< z(tz{DW6>SYu zG>}^ViOL@aDU|lDwxB~;*}xXsR+OWw@dWSPx$Sqi{CM}KH_&Hy{Ng{>y!J{YK|JV) zJ!pyvXcS?kh=?sH1RFA9p$3KCJ6QCnMlYk|L@${ZuTXj#x;&;p@MHbo6uv+?D7c1nmjGvx6;$XLad;bY6<9{Ig(wFm zt_)YNoa%wV3|n$+Y3k^G1(1bgQmPJW45b%39#T!{x&rs;44LEbeeP zQU(d>6bj_~Of7q#z3rF&4vr(&5UN4tZX&{pYGDORQ5UNC-(UO9yk|c8#}|Q81Yz-_ zSS;rI`gA8f0$N$?nrkl}JFfL#e|Y~BPpos$^npp{M*UY5eQU7AvxC%cd}K6sT=s(> znZI>Y`-2a>2#_WwgbH_wL`PTCNX!MQeE{be-uu|%v)^}VQow*J{)D{0tfAV0f4vp$i&hG%QOq?Fn9tELxgOX_v9Pm;@UG&K_m0?yI5oOrwfX}L$60$Hl zSKaDV>&O)^)k$dyS4CeQUl-}(aM+H`B3`}Z4XJ4htI#o8%tYBUS?doa7nmx43g7dY zr064+szr`dD3)AwL3+ovHJ?6nT*?P0aAJ&;kC`!havKub5{C1_*>gt^YcLsd6a87O zsZ);`nX?+hARRS_k`ESxR7%U`Q$7#A0IDRnp}uk3md)7k@~hL%-g?^Sg+=3^zvbwy zOO78ie$KE~OTl3^@1P)%o z42VgQLb&83r+n)hzq|FG41 z_uK#Ug)dHSn;_ueE%z+gDL4ldoV>u*^^usgaz~wT+NGbodfL(R(Lx)@ASKfm1xr!# zl{kq=V-}f#Ox^mb{VSxJiF+bZatiGpLq;JTVZ{oM%V6<6(PB)4=12h`vBUDHil|~- zWFmdh-&{HG*aecOT?rN>OK}y5Lgo8N&9on~bA-=cM1~&rT1ABpMGz(x$r(k>50t!& zio?fIf4QBX!p@gqN+kMWo`QzdKq!M{!q*ZdBc%_<4K2Sz5;;qf#$f`;UVa&dw)$Rh z&J3-96ZhT4RT-hbHqn}`zRWbDLsh>yeyIc~LzjY6Rikt$trOT|t_{|~c3}!)7fRec zWQNkl7)XU5e@7*O5M!oo$9@(wjPgu+9{3(1I?NY-ani^%jI!R?Q6w^u@e_`ji4-_- zOfpjzPd%nh@H(|mh>;D}sIk-Dcxw*;SG^y~oZB31GvvoCM$PrHAq@WEjN86+=K2@k zYFp5L(v?u^8~)PIX75-rYsAQ@bt6>ziEB8O_NTdN>Q!jqpb(SjB13mA`K}6kKgi(R z$Y!&}{=7=h96=^WQaB4oc#Ksw-bIFR&=Hap0r=AY)b-!^{L*Lcx##6CUH^f)oK~Yo z0He3J(8w*zFapECQja|FvSrCJqlQ2F!0X#Lv|shP3mWPyU=GTv35lx*ik_`9C9ira z^d2ie{`VJr>np#0@V+Hiedb)tV2}OjRm+4+Ep2MfpAI1x7GTUjA{#gH*kML+ert6iTs>bWawK$of&X!lMLjsP#e3kkOL6nCm9+Vu18^Ex#z&itwoEw2@qaa*! zLWWq4C6VNDBgKrc*N`#a3_?0jqAwVjJi|>JhzrThTvN$+gjXUVxaP{^4AP20O%N1I z5JPIio5p}jQ@1Ufu;s~ZO%u1BbOrdmV;BE?&hA$yHML9`J>CPQOM$xaJW8yiF*vfX zdSEy=3E?K9!Lhi>BtE7yxl*B^V8BO&EetCZ>KUxDWgNld$Tx(cZ$Xv#-7>RG=)$7f z{`lC@)U*_r4e2d}GfwpSx)KtjS-y z?$&jy_kaCMw}0S63r{>{VkX6q%88@IMyWT4nwe7K49AVHJM+9_o_K8SPi}f>+U#*V z4|HC1@q+$*Y1!h9=gyx$dDOVR-u`Sltp&*#2q^YW8s7AcYrpjCd+)pLx3?```tpZ9 zeA)ErQ*{$$&1PqT1`$60$bGLo`$Putsr&DG?b$_AQy_uf#}w3`xWtfBuy*d7s)8Xo z)NjkT0lBJ}sQ`l;!OWJOebX>yR8!Osv+KGnH=i3=&Ab(7#*R$bZz zCb5(%@T%V_nU9k5^>5$M+ubM7_d&e$*h8-@`V-TaE7him!a#6^PfAWw@AY9%OPF;F z!GdNQ*<>qIgD85dIKd%192?)zrSMsQ2LCi&7Z$#uXh=pt`$ z|4puB2nBe)lBAcR+Y$9QGR#k3^UUb|Yu+4t;*OL5kvYz^ML!#V;0+G6qqlS4s#i_b zj;!!M@q}pBajbf>s_sPS&?(QN$YfonUS*rhD}mK$z^@+2FqO$T#X{f_9x(&y5ag$i zuyN!X!VtWRWkiA;1aM7SYCYWV@YsdteC-GSeZ$qCxb=>w{_bzjGC5A9pX%CG zxc-2`4oMlt8w1Z+#=aXwmJccrtddYBwXSqpaNC9uBVi_*XI1nhImdK528W9?6T^V!jRUtcrrlzk_B0>GdC>`!NPyg75m zT+6aq1h)$1Oq7b4EPLx=IasxVa15DxFgfiJ<4_QO*VWYvAqYu#B`J+8EcE4VJIx2L z1!`23mB|ze1t}zdI{~VH>3BEAgGaIeCJmo|qSNHt#Wq)}5;k$pk z_>l)+KKp&gpK6bS@t9+nx|njJZ6MoVMkv(G$p+kZWTNT)75 znQ?{$k|8H37K&2HTsDiE=Gk-Hp7sT^kDBq78*cv1Z4dw9{@vTRT=93Gs;jFv2Bh4w znaqbjd}#!6WYxK=@+mTns~#Mp9zDVF>BrcY@*Ao{2?TuV*=NFOCg}@dn>^}!Mql_G znQ58iP_jeZb3IL1Gw>wFkDu`Ik9{Iadm<#yR=1kP*cL1U8yJvDZl}mZ-vg{oipIIW|S6+Uzy|@3Ovrp*nD&2kOi_OisPh50SR(i$W_LGmEebW3BUR=83PftH~|L>PR z_=lx4k7_&S=+SfMOdm6zq$qv3n9oI8cMEg^8=grCk@gyQncKYr>dr`>bU?Q7Po zeSOvH)`sR;Gp1Nk?ZI&z&vCN3x>QO@4L`c~(y!P~cni^>w+$ZjN9|jv(Bkhl&@H&|uss z_PUB(jeFoRVy;Iaj3$zxIh38Fp`k(R*s2`6=5`=F9YxI^ zY^Lp=lHXMzUvX&Lwzab}FBr3=G*hXPfDK)ql4`J0mI+QfIr~)^J+S;yK&+t11crnn z%LGXoy?p+_bE8Tu4uXgebO&VY`J$=CLVS zE+nN>ET+=ws0*d`dgYvFvYAr8k1BdJ|Eh(-OOZ9~0v>U)lQ;rZ1?S6p)Hi79UQ3fl*zl38@m zo;CfP6OLd0*19L3eQNC+8&<8{%h~IrM&;%nJ$A;du`_43rLttGMsr0#8g^We0&e&Y z+qJFzq*ISUfVOdMU%d8TR=vLJ_B(F7LPiKonJn{1M=@cr1+-&b(lhWa|i z(~amAsn`9;`4@~EKk2r+e*24?f3{@t3;*z`tLp3Pp&G>w(H>r&o$^dTyrqQLv!U{S ziT`2}4^t~ts@UwPb}Z$(u5H_abE?Q_LT%5%u`}^zQYC(d5cQnb_;z&BbPzqqRUm#O zPbeZ{@=0p(SV<(oS4M<^5D~_oOOHHH(&04wYCQmXK!(44gBTBc3ehJZN9C5ea6QR* z7!y~;g%rlGI{O-LVc6f_S1k5KEgoTdtg_x#6?B#J)#~RgdI~hrBvU~~czoMR=}bUU zgQ+adI^ZS4L^mWQw562TgKgPO4NY3usZ?@$x;p{N>P{@NsV7N!4(eFMsnLqu`@!r2-6#k;DvU zbaWhud1GvV%+T`SL-9rhb0&Og+o^0eJ5bUru&GiwrJ|ilaXtjql8Os6 z8K+Q;T4ny~w&>jyogVpyuoklnz(57$*x|wmv(?nx1Y909dwfs#fnWUm;qj9ucK5+$ zmmTks_rgnSj+r&}*tTh%eZ3rwRLZn1TPYSfve%t6cJwiy`iFuPTX*l;xntjk%{x~t z+3@(E)-Z(Oqv|J58Z&ib%h+*^Z4;Za>6C&PNLSFUw?9(q7xRxfE@Y-9cFfVoPMtCJ zfrlPgwCLH}e*aM0h%qgVb=-t(HZ!_m*ofi7#>p|+R4SWFF~xpGeO)I_n{wQ@ZhZ8G zXP$og$*+C&OBY`Jfm2U8%}!->#zkLgg7*@ja@R}D#=$XLm2aq)Z9DW;oP4M2x~65? zDLd}suZf*0mx2ZyOi??PrPK$!)D)PELOerN6CO!~8i+eQyem4CYgRPbnz&U-%9T5( zBh?h$SV27MEeTxzCCi@g>DjAoSY+pt5n;6e1E_vJt&^`h^tG6r#;{02mI%pIL^F`m zIXV#5ZUPF22499J8n%0~_g{2rrmjJPT(s!%?w-AvgyBS6GDbwqQS~vAJU*O_nBqgB z5<)@k`6+`%ktA<0v4SesDhoSH6oCdKJr5XB9zlGTLAV!BPKb$8+X!+As+5aNqF_qB zFGM7SKq^Ia#w1D2)2VD|?Fy;(>p+$hMKbWuFyY!@Y#1?Qfe22$A=7x?*%u`nOLR;e za^v~FlP{(-8DK-@NEu_PY^GEw9WHso|BfTq5Jt2zk&O$sm5^UbMnA3o2$W@(38=22 zPLRmu>@&|h<+bHopL^ythVbUPZF~3j6#M-5oqDF=T=(ks7oGk>!Q_EOOs6tjN||?U z#OX~JqiSFc{Re8sE#_V4G+eW5F<)%ou+=R&h}c|Tw{YH3ryM(P zctexHjo`s3&;6NpWdb4N|y$gzlc6CA&9Bgek*YQ--ypyJKIWCy0s+ zt`fs2wbd;Qt3EHkE9VuN61RQh*Y*Pa#ow=WzwttFF#0Xip%s|+Vc0Ib-wZokw2p2>5kHID4? z3Xi_ItY5e(pN$zlV&d45FTymYg|+LUTf%X z#2z6-2&hV7lr#KVQ7Jf05+xx8#_aylp<;Wf%J8CCC|K#tkl2~vd9pL3WBM?7T@6CXHD9-0Jmf4@keSzNy}GJ<3{&JDBOr zixeWC_Y3_+!?IG@w318$DLg}X_n&e0)X9@4PMA=i%V>RkpJ?ZvJ#VaC z^YjbPKm6<~&n;hf@mVLGIBQP5omS76@ZCIl?5dA_;@H`<@3{Y-JAd=5XP$iO6IXn4 z`plWiEmgI}Xe6OA@8l>~Y)sSS75gAsrs*nmADtw0UDrm-vaDFVLJ!aN3~nf4Jm~A` zS@YJq%H!8621hUTrqbV^5B9=Buh+H1Wd>D7a^S$I4|}y%1uAyuQg5%4L6DyB5W$WeJ7i@7PSs7ryjgo! zhbF;^Xi*puvp_4I#%z}Z_Ee^0LmFM*bON8YWc!=#9S5ciA2+3Wv+KDvH|&tZB? zTb(ooC+2Gf5gd>@1%_~-(6es)29p^J#!qjtGZgCfDPM(Yol31#%9MO5*Rd840xU{# zmaz;@EMwXjQXrsE#c#!sr#&(r888?uyC6d;O*M(?GW{rPQPB%QW#>Z$@xa8O`>>1z zy&0eoqEsj*xUC1d0Sq(QOd(%@zcem9)KOF`@WXdK{Kry%>9k{x%cN75 zX#$B9NYU3lf7Xoo$A0gTC!c!s$v=JXU%z|&@$)ab=mTTh+7v@d*tE*tw&glV=`a3u z^bgZ8iDFr6EuMfn9U6y#j^o<4ZKv!~u~hjTI`c&9*1z@E_iywAo2Yuz6?nZ?g-LDY zp{3^_kptx0clI3ErsVOEOC<6&QFBEEiNTKD-%b+4-G+S0bwrSe`5;uYiLwn^(<_b$ zLGPQyqCh}nKv|fx~j1QsY940(%T zpDmmr4 z&SXkTrvhqFI8u0*qzrCTT(FiXv&M`X#W@QFW)M7*((_%{RaHlpvTW0|6dz0Qbb|m{@DPgig!3j$IDX<3v`pZ< zy}QRuTj^BFD7hp_6nc7#eZl^r*bA9q{@ZVF%huPAZJqS$>a{E1+;H-|V?TSv6}SBM zjt8G!)G~bd^pRtHqFsA;2M(Yn3uWe*mJuJh^zuJE_V9}3OP4QSI&JEV6BeA9tE&sQ z{zP)@FPyre2$Un7r_P7^zRztd?5}6&IWA+Mbt+<8sIW7ZZQHs)sDBvlwkXC=s=x5` zHXw&7)*kY(Sa56b2rF^lo}Rn_u2u7~0`xCU15+83p`UPIwWkyq*>o^VR1-8b0AzF+ zzpWZ9#$KP7EZTMK*=()b>fuS&4z+#3ZE1c9E%jI$}n5d?yf!;j#cat=m%!jNA62Q z`bEP9AX{)r9z#!kMyDHvAYY}B4Fpq0H=M$*kIZr88^S|imZ=`$dp*ZTfmRBvw3s}pwb1W$b#?W0_X~-wW9vRJ zc458%+qWIqwtdg)P3xAfeBHLqF{4I}7%^gOOH13ZmgeRr&JArIgeMAa0k9CPOM{_d zn1*2>CFiDFZ=TRL+4b4>bz9eOYo9u8 zdUyB!r(b??@oUS@IsJ?mm%jRkXBJ)l-gB0$f8+U;uOgTj3Xr0!3S+1ZGQrvno7b-2 zpwWn`1ftk#DB-Ju#==V~H!Ovf|`+DV;#n7-*Ss?HeGWR-} zCX@`5sU8<_6}_@nbW$Qvwr%U4isVflKO%GPSsY{?pa4eXK%qlQtkHdsVD8)FNNGv% zbxx@q{UK#@W@AGN!Bc6%MC^r*X`tPl1Mq`C1l8%*s^sfo{I=FPDxwoWQ^`Pul_CHm z-&1;VMTcTJs2~j?f&t36)q^nXK;(c^TgJE?cXS+ZK^nf-V5S6*8ucp=lAtN4Tsl3s zZAyk1crJ_RU>N6v8Q_Xbs&#rXwr9wsn+Ds|$oLK+!7o${I?T?UGI`GH`?qfI>mVUh z+~9UvAa=TWCF2px-H}EoF~+2XjFmce?9@h{5>jaYz{Kb*qH9SGy)Vn~NvQC7Jm7Ao z$yZ0fVkby+8%B}}Me)EUGO=Jc5rX14L<^V+3@gB+$U)kDJMvajv3XPqkQe$yes?L| z?DB>*daTsp3QrCn*M(LSxoqF&6iX4$awY~63{fqTCj{_4zmP9vvKbcfswdq4z)dX_ z3SC{DJ>8vseZBh*?CC4?l}d&FeBN=KLMiY2E)nWPv(`vaV#3HxLn^rpW*97i%2E2% zBz-@K6Qrm4&!z8!;)-D5ra^{bSf-UpXBx9Dfssb>(&87#jcaRcZX7v$L~~PfrN!drZXJb+BerWHP$yZ4?EC# z;JzmwkqT`8+0+Pa-M(UkxX6V zx$nPB2+`TG4?sTl(7mUgdEQx zW$;K)43|-{E1>6jT5HL5U9DUZ%z)!smX*n*i={G{O(3L7UC_0m`~>?T`)adM`UHMI z=v`3ZYeG^IPGCyVSyN=?jhiCZJ#b_AJC7kRLjVC9W`i*~0hD3Hf-U~fI0fYbp~1tH zEt536an#KEkt&yr19A4{Q5n9;AbfYUrXJ(L|Ky>aj*N5}t6YL4QFpC#2F-SeD7j`g zlB6kHRJ(db3x6nytOc@B3u$7bl|H$3hThW|;|hwT+oDiAe#shPWITd6&l9e%nkYEK zL9sj)6D6vnQ$mNc)u&w1%`Jv}!P5JR$X~tmM!|5T(>d-JpY3ivcH`ueL8TLc1W$3( zva60dOuBO(`fmTkIj>%D9YLz~%|&w_`{B-`&fGEjXaqTL>Ai)HUEBWV#tyT-#p@k+ z^JnW?CVIK%y6vw55tdU~6=0dF!4Rb{O8rGUlja6jOrxT!t8>%(H@9wIzjepvj-DRL zbXD%Hzyay|b=kToTO<%9GoYm<+tidT z75uKw-h5xb<9G~V^r-BpF%uWepXPhko;|(WckbDLpsW2r@A{4V){2b`OqG=P7-Cah zeJ)#7wX5 zth4?0pWhVLv7~gI-e({E{j*O#rtxefB}4q<-M@P5zPnWv%RRSf0^N7pO%L4u?;a9E z0n$s=*ENkEDV0`k$i=CN#H1f~zo`<6t|Le-wIBpy1r3d^CFmH#b3Fu1*(nDc-}kkt z40|dpyX2IV{ETAEriu-@nt>mxe+7v+O*4r{AcFE|tMhmNGh-kRO8FN`pQN0ZJ-n0B zqC^oKMzL!rxoxz-QgEwds}Lbu;v=ZSmkf!%lt%3#8)b@2))1PDwN6@DHCDD&QB@e? zmVhLhkwwx=7=LLwu1C;RDHLjkR)vxpyBiW6sA?o~V){xo7x^Jkj#aE31S%nSf_TVK zcqJx+zz=-JmBtgLy%g zwd}e~)>c8XMdTNIySqB&fexp=qr12Bxm9m0TltzH9~d@l*x6^Fd&U`OnC!45sNTVG z#2LbPXcaQW_n_OR!uIv}4RO{Fh)cbopbQBog3k7RjAKJ%3PFjvgo-&5Kyt>jS(eK- z6EwT7)6>)6-|rWTj-(PA-uSVpabqVj#ss0~;epPsj?TWmo>E^=KA$i2=ZkxL5A@|- zK=jE(2^L5ub@R0Z4ju`G>@+3Fv|WGlIUlV$E~h9qO$4rzYT9=<6l_EY)hT62G$py*^Gbc2-|X?o2M(^|`%>zN(BLKz`Mwup zNf<-ZFnrHftrB60T$Q<^4Nb;@020WO>kxur8Nk5vJXGp+uIE~oZCO_E{19;|l`u%+ zb`JtltFmqJ?T^9q$%-6cMaR}(2R%O2b4|(r40d{92~3Uh4->kKVJbpM3VWx^d5{nn z5g|ah=5j;ioc$%9H_|~+4;nSWBC}R`Qso<08C;U0;bcji&cLH96DVu4AW*bR=m|oG zJS6tSh!p1_mlgekm9JBSP@`NF#xRwNQx}lpU@#zGQFjkOlImbu-x~@kp(+qC3CkP8 zZm`Cg4Ryn`BB|%x`@rvCU$eSsV0OY-8aq}t4=>s#^L_ArUqZi1Y+68Wu_S#L0d3-( zm_&3e=2|8ihVHv1CGErw(+zjlh=`Gr^PQyriDYL&+!XmFdfZ}#$g_>P zT!S%YLf&)s^>t@_Pj>E?dv@>GyXV%s?p(6+)h~Yb+HATyr2eanBg+t07dxV!z*xIB zsVNPSuN2Zpl>4Z|)w_Gg1_plfs2oWHnXB^Q@#+%sg0yWMKC*uJNJcW)xSf($D*DBu z=eff3eQwGzmNk0hFd#iwfw7Qa-1Ot$A9dn6*M0Y=Ti$%*tDpYx#TUK*r1>WT!-pPw z__?L8e(cK6ayy&J^e8cs|so1z9rfDNxN`~AJQef-LQ znl|TT8Fun2QFRcJe1;b03oV;O;v~DaZ@T^;E@Qw*09QhBNa5z|3xUimZxYBjF<@p8 z#BtqtEmix3CI=@2CF4v#QAzQd4a>Ea|lq=bZJ0V0A! z5{IuA&O_DUq-|joVVBPkb-psq!Q`sUJ7`I%I62Vly-ZGVL_(hS@ax_1+z%q&R z3{Gs*mJO@cE_WwPX`DN^$K-w7Kw`G%3&%BCB&DS~Y{~a@>_&n6uG(P@PRd)?%Tc0K z>I95PZ;moC-&LMl;-y-SqWm)WWJfWdHci{K^d{~xwCr?N_#MT5HfpRG)oM!*-dg+C znl~PM@~KNNzTgmU(>p$n2t%l5U3PVJYhL_v8b$H7d%iEp=<4WDjlmMi3kmc6{eon7 z=bi(5w?ztA;r>cUYu{Ls&RM?T``Zf)1&h{MH4Fkm)(;K%QY70}wl1Z8AECOSRk=&K zKoTej6w?wU$5g4{OF_uMv`i~)6Vl#&`zDN^T3^>h%p^aEtvdGa^>|=!&bs)cqsLB~ zIB`<8x%F#5`elD#-=c@_UcP+k!V5ptU&{CI%Y$J}m^N$kTPt6GeG)}UqcBlaX! zr_z591t=JMyNE_=f@Ok;Gc;<+%Rh+eWr|y{20LBo)&_qIDN!8K?5SjiArFgSf@8Ng?UT<|IAzMpkrE}5A}Qtok|2l$K;*Om8)j#wLsh-sudBLydS+(>C{n^7 zS3e5EE@rx`yQ}L>&-*+PL9}J-DX(aAn1(ntHgNU>JZ&d!`(kF2g^`TP;D?>%$ytmpxt_!Evp0msXVhQ%(yib4`ge`0pws+4 zq^hrsKJfp&D^uyty3KeTTi{>3_nny3V_FVNpaj5s-~BP0c1fwAT2>;<3K_O~0n7sG z7-vdr23hICrk!jzvORe5k-Kku`^&yZs2JfFzWl{6eCc0VqC$rM^r1h^ZHft?o>Ijq zXo52pA^rZ_ejc)F7ilEA{Y#(8&2gbzR3hSOaS&hs%twOqylLvpbBafhK-Dt4sV>;m6_hkKny@ie^&dV`ovXE_` zb3ocH2x>Tx4pV4V{$fu>s#Ls@ryUImJmW^-u0!t~eTjEt47VxCIBBKq` zY1oiFa79`w)|u%$cV3%wiz7>ZUXlcsI4-FS<)XUmy4%1qHW!+UUoGbxH}6U3zHfyf zIEMwiE^8V|lhj&kB^G^Jsc3S1nRLER4=RK8)%gp;)_IbBd}*lGJ9VTyeT>D=z|>-p z;&6zR@VwF0yE9D~OtU2|42UM~GOqm6vs@f3lRqK?DNBsr+^m>F;JQVWyXDx)E|wyh zQ7@6Bcus~X+j8R=NL00Wjc9g0dYRAb_}LpmFgs?g5dw!z8;9KV^-$O>jOesWj6IL4 z#|eFjg{5)EHL2w+jxY?5J#%i|hLwXWyDX8?{LiGyxt7I)lB}X>PtcIb7TIFS`3auR z$H8Yvmdy8T`|()}`y2#{q%CW?vS)4k;BvpX9B_ZVrXG3fNHFJWT~jG_mCc13!PX?9 z+A=U#uzJ>xugVp8mXQRtU`bdqA8L=+9#rKHWO9aDlT@5(;mF(oD{aOJx-PoG-E|`~DR~YQ zFqFp*_&@qKOR8mQRWb9mT2vLuDt)${Lg8X>MMtnq?)y9+G#d6nyV`7vJF(@waz6tp zc}se?97g1y(zqZDp>dVsn10Kq)x}irB}syjPWUg3SIXM6PaU|pvOjH}ByDkBEa?Z$ z1)S)mu!O~IKCGdg8Gm-JcKVr#4eJIkxn!8-n24LFz!t{+Y!gPref!TIIXYp2MBDRc zX|q^TV^31N*>{P>eqJW>VxTF&62bM{tWxMfn!dpWGcrl2h*{W*am0}*Kd>wqOLf#S zA&*MS9?9EJ&62;h6f85rInh1DCSox`0GZmK0>y2rH@08){msIU#LI6{STq@@S}0Mt zk30>>$NNx#rQsH2+R+qkS>tb77cu08b2MZK9m3I*jOYeyE*xwyuIYohK`v(7p0U`Dk1!80%JNo zR#Pn#oa==y>HNq1oG)ZJ)%KSw>rG9cSo-@obmU8TvvD-2v{D+EEV$Yj+EDgAtBYJ@ zCrMra1^HkR>rS!WH5idbMII?++;LA457M`Q*=ANF1D#|7+8SN5rh7=7HtcALmg{J> zek6ap&&R@G?tA$oJ(nX{waMO2$YW6F;WyoJ>Qi8D_gz3`qK+Rv{$X zym?JpyVP<$)V7eM2^klqqHVWg1X}7SsCD!~Eg`)H0CUH4Jl8ar5>qm01WFl+Q{%s2 zGtWcWj|3Ri{08zMm~PB8DL;9-)e+|9W{@+dSnNU`-*&0>Q=_L3o|+C=!6j+Y9vai^ ziXkh(d}f7Y5u6%xBNj)-f>cF@GrV9Ff+$TqT6@kFqM(`}stb>&cPHiJH=StEq{B8E zpuD64Bwlw|h>lCzp+Ezd@I|m@G;6U8@n51YDd&U$@C>Vf&%jr}B9ljD35N%= zT!Xbi`fvetL3)~%C8~l#mqG;enLx5UoC)hXGxRGg38v%kR-`1tX|L!(Y415GO$G)$ zsis9CicdskUA=#w;lxG;wsJ+7Xja4~ohj21!Gs&37 zqtEJM+rcvV!3aXe4M{>0>{S})*#1Xmw5;{7IbG=+D2QPVjYMq1phie@EmQdkQ|1IW z{~!q(8MdB)C(cYDPu^~`S7;dpI+CfNiixJ@S-$*_81KKp zg$pxthSrLa)=?ND>BW--u^|+$a2zs)I_disAe_9QgZR+t&Xojtvda9-}Ka-FZgZAy)-By8?*d_=@*T zZ+S5QZoc<3gAadm-wnSs>-3nJNXEf41OhFj+Ju`LH2)SH7{~a8JYf z(L23~LssU`6uM&H=8CJX0WO%ac~9+q^6|pZQ43hS=@2 z^yPnWcH2!rwC&!{Zocnx@Av%Wsz~TSM6x@;?s`}a{q8XA4VWSw7~z!pHSMLqGGL4frf8n#>c~HS4f!f% z$HO((UZ)uR{Ho&3&~je3E(c|_f6SQ*G3rKLH6`9f6wtc&*c}4y4n2GrMwuX8L&heN)b4% zykgB|lqd|?QFT0Dluu0u*6O|fp{ecI}UaEA`5t5veG=acrry#iiCV(6hPx<5k z6bm6>*s|tz1wtT_B!HD74%PSxG>Q<_xG=e0PK81wc$9>m&3oI64rdrb!KgrDfQ&TM zMFCh5Fp7PdVyVG$%vct{sF-4eT=-Z7;R5iG@e+|@E}#p-2V}ZXuGzbli{%9|#kc@2 zc>&N1W9L_DE|6f?L!Xb$k^%lkylA%wqZ=6Cj2}MuprKCI@mzE?*R>vm05ZTf3wbCM zq~MY?VBSlmnz2zeOdlAe!HbY_p=<`R%w9m8ySO$RBSI=(y(XC!o_oz{#!VCZLR~UIn!i9(r=#f`ksiiu0 z$KLuQ-|F6Wd4Lclqy>8Y>Cx@?-|A>kEE+oS$cqmBI#IExeZi&D{+0K9yl3*b>7b?3 zKmYnRDhLgpmXpAp_|AxY@6GbSGQiD=1uzA|){j&|jxCjW8LT5NQN`|M=HXF-^U+40 z%$i%9i{gZ~2%s!v!R$fiN1YF!Gr&~GAGIk`Gq-P)$$uf3y6oFFDTgKvi#|2>s z0pQiIe(kl_-AIUE|K>OEz4xKg)=h-20*}DOG)y7m8CAIy?H z$nj!r_>JRxN}G3=)^1OU`jhYK&g#L5hsBA{J$g4;m~~4QY~Ek&xw_WwyY4rOMJqFA zDpU!9eY|teHNr-`kFX?-#)vWQ3jy3@W@4kM!DUc%7TP;RGjmCp{+Hk$3!aHt6=eA8 zbicx8_Se32nj7UmY2)>R3z)COW^hU3pi@RVn?|x_IGa^MC=~O(yV)>cL`ZCoaV#aU zNNP$8aOJX(Cr27B}^@(p;!bPZnfJRGMZ65=PTPl zI=1&^3_t&||GDR$AG&d1bf6&>x-Ch7q>iR({ivxpSv-Fisi6~ zi!{esbjn$}MY;o!T4BPUW{FNBRo*_|6;7b`1m+ z?mGHldE!{3vgYWjZH2xyh5g?@vwHK?$}JTth;V$>-g_BDGn+0uxNi60xua+Z_U9Y+ z#lbR`5tuW^O^M%jLKE@JyA+)51 zEQJ~@@}otuOF)UuVgMmT@qUR#G8f zy)!m2iB^owxV9!U(wTuPCdzAo%hYSmZLCUy2$F>jHom2VAS3Byli+diM2cu<3I9MU zC=1EG#q94$Oo9OIK#>Dyrv8y8Ni6SU7DE$DH~RP&0u+y5G8LOooAEPPZJXIlUiJ8m z#kB7;5ps%uuQ><~UKupD0GY^yl1A+vlUXJ(e+2Eh?9{;O&@r8{Rkr%L=zC!q zM{>a5C5=50X-!(|rL#RoQ(}G_{<9o}&5o+9QWvl0c*{Pp`iiOR-ahW?@Sa;QK6NPC zdezLC)4db3t9%qp96dITPCphZ^~83B9z;#WuOcY_Fy-PYJSaX9Q-d35)yT&-3r zIyHRp*o|)kr^F_o9(?*PpSliR{>rmltUGsP8B4Zj6+*EPv35qVj|{;fGl;1vzR*F6p(}y zScZ*kC|L*t18Xu&k&3z%_w@72^RWDJK^VdWFJoTx%PzaTIy=n>XJ_kA9U2`N95f26 z;(3P`Et!T`=zC!>J2BSZ*I(}IYXMF#{H_u}4HThLCr-DbCO9-^Mg7DIDcgzzsC8Gd z=p`ay$zX&G*euahLXAqXCVV{IQI$;OK3adn9}3!=!(r%UTK+GPC<+ljZ{yS zc&Xx|7e{ZvjXN^ub&U>fHc9~b#go2cz?p^(XZM9gmvNr3;SdU7QMu<(|43$FB(!h0 zy7}-EB8sHsz_K8;JzvpwxcJ7mpktnG zXlQ(!PTx(?*NYxDesY@Z73;JquRCW!p=`+~@9nBQz2tsItP~lPR zW*O!dq5uQMC;$l!0t}0);3+raBKA4^~J$5_RT66DqM1L^awGn!7-3xX2hWs zf*-%_BsAKdM%2c0OyM(35I9D8SfxRDT6w~@&L_G%*)vu=A%XS)S;OHHfp1KdII1f^d z+)Ab9r$opJhd_pgk5!}*L+ab+zs-_O%)%s5xmrwK`-{~zyXTeAlV&Iedd2ZQgU9zO z1Kl)MQZt|~?wozq@71v@>~u#su^#0+`@YAFer@iVX~oN9ul~I%PxvOE*~%}?&!li7HhZT3(XYB%*m*LOa7kOjm2D3(%Hx>Eh1QlP zc_ho!hQ_O4MBPH1d*%N-gWdM!5R|Lin2nxC^re6P;5TmljH5%$HI61xC}DTs&^!O^ zZ@2H-ZH2{`kxHC*FN_t$j)2CtV;L+Fe;&{=&te!7CaVi?eoDfF#lpuNI;JID&VMHR zr3IZXIgMqP4oyg-wT>b!r72`<>j!YqE2j_1WB0?c!m9DJ1Qa3YEmyL#m_7EGR*u{> z;*DIv5i9w62kMgM!zT_*R;vK@{@GJt*iY@G9N@##leHuF3(W_@abf!_j8%~cxve92 z=}UoSwr$`2yBjxu^7H=^6?#@|zBI5mh`5qrtu{&VteJUQ%^F<@DQETt--7e?OlIy}P^Hb6aR-YV~@f(XjodgnH)0{>I6tKm36Y z6idbD1EKmX#sy>uGwYG$k<6wNF;s+3dj$O)PCEx`&v84YzgqOILlX;F@CWBeOev)k z)n)~j1{@QfM1m|o21qPK&}f>%%!*782t$$dlsEA9{~V%7*CR@cLPbl$Lz(J=w%`-Y zxFX{9sTq34xs6zpT7rPcC15@ArCn3WWjM=^xO@W=Qyy^8~jTySvC&n;9wZY>+q&kFMVeS zh9KH}phESdpZH6|fEZYZa(;yj0eeR-#h-sOX~zi9+L#PNY(mt8Suq-OReeg*IH9@4 z1+!<@7`R6s4!{59q+Zy`erW>6@oS&|1aDF@Lndgv}C9^F-^};JUA+OPT9uvZHr%gHzaEvUwVxSkQ_qCy8 zEJYrJmI5@j1s{wdHvv+%6QmA`-Iue5Rc5eJOIk~O|jam^y7wXqM@DV{EwNl(QjNytP zWQ3Y<Z@4&CmsvMWJwfy_i}=6|}4b9E`OjN!aDS}}#9!`RHs#OWh@^A5 z3e!HFcvnzL`hFb^>6%s5V2nk6)jF$oYa)WVf@cJW&5bodsZNbC%Qb`L_0HNSMo{xS z!3-~0+FB!}48zcDmK*_9b;@B-C>9o{NBU`w3(FAZtJWD=EpH~wpO5rt`eKnKx<8-d zEkPUEjm@su8k_BrH~ANp{%h*`nkEoz-{P`^VgzC?-bGCnE$LM^1k1KFNm-R`B2e6b z9l(23uEWNoW3&uUEwbs|r=Ra+s5UsrBH z3VPuOVK2L`HFNo-h7hof%wwpNx_igwFtRA92%w50;%=ys0XnD!g!Ud}L*;IL`Zp$# zMd&IfWE3Ur(xik)mXZnez;wLF&q^w-C}AuxE(FtnHJdxah$F|m1RJ#a#<6$9nUTUG zqgIvHM9}v6^$xFp--kceHMrUuMh>~IVO&;wmbHQi;F{E8Bx2_!9~NZ$qus%p3~IIu zw^IzMZFdj|&=D?zydYBM)Qt1AYiO}Pw6$mou} z^wQNYziJ0bZ+vFv!~c3$Y-Qs~^M;i3AB(+$C75N*r!;_HJJ+a98@gmdG8j>?uWHJZ zk-Cv46BAoZ2@usWNo6NFZ>mAlF*h(z)F~fGqK0fyyQyp6cAIU*p~|?{5g}xt(4@^K zVZCA`WlvXOIl=u;ZCr4MFt@rhF8_{tbI;Y;uvsfVU(Mu1Zl=wbn>WvSj#E;WzAE=mOc2&-Xw6(@NR%p&2&9{+(!2#Mw&+?|_k$(=p*MT3@zetiO=``?F|V?* z(v#vy^YN0lomVN|GPWdi>R@fE7ND!wZ5uC?*A<=SW3_-FW`sQrv1$sKCpU`3GkfQ1 zHLCQ_46PG|;(#zSO^NnWUK^z|#pVRz7Qf!(b91CfBJ+`k9MD)q^8M-L+7 zJuB877v&H{WGEa4g9&!_q*5$cyZww)+}cx2cmr}z#B}xxrkg<$k@b?B4=*wCUh!Rj z{Fglgt0LgsSRcbq8yhl1?L(dPc3KyPrVJe;5k{v@9h^EtiDp|;VbQrbA&sWeC6`p$ zS{h@_onnZr=y*T3apxj!>e^T{Vbi-Ucc68V&eMw^N_0Rh*XzM^XP%xq?I?g8aIy6| zjh>g*_9o7uy7%zDIUO-dlwfrlBATkU0bgLEq-fBNDY39sJE4Sc-|!p6i}#B4TUHh- z3zA9c*xqx-@(3noxTkGr=eb6>8nC~w`|dsaYt?Ausv(a~%zXP3HLu%=6w}KX}J48t}3f zih*AblibYt4I5P3b=ALmbN{B@ff0>iL=ZOoMm0rr#~%#CpfNYc)1spWhJqI><=E-r zJa!5cB6kWsz0xEYvfO9eo|p;XWMOOmU#*K%u2c%1o5#TUzCT-?wXFUnqU!O{`pHqe zkR<9aKtq^NiX{9=P5IU5=Ul1S0a@wK^BIX$YMx>$-RqJ*^+j?U*r9(mIfem|Gr-Uo zDpx>Pxy(4zgtLA)7D`0$07^m(luHglQ9*=Ms7;Q2^Ix!fs;C_w)xgCsVHdq%lCg5* zEc?;taq6tc!-x;`UHQt=MVBW*YCPN6M7dBeQW$WifrF9&p+l09GxP8dnTU#->Xl6+ zx4fBEdN7l*k9Q=|LxD$8z?6$V=m-FdB#TjP_6MJ3T6JlxAHH<>Wp74MX(Y#hgr_49 zgEGm8JC5{241l=~AdQX5u}_t`4_FFU@9z8gHzl#D{U3+23Q9UQo|1#3>Jea3hX&6I zQ;oW>DP-~P(!-$7bL_t95bvKpJ@)N?ackqm`2-2L>Xj3luW$f29ev7w=$oZzT%hCc z8(wwGTM^bL@4vl7#$5_HL_SkqTK;$An{C5!o!XrEkA{}7eEpjvVh5gh*zy8eTJy;> z$IMnGS>~6|bBq$2Y1=iQTk7Y+#ti69Tebm-l)!;fsVZFVk4Cxo?AbGOv(uC%)aS1{ zYn&1W+}8D&H~F2WZBQqvRY5ixH0nUYsu|5Yl{t~NsS|tXxhNQujjk1|dbK2sTnh`5g9ctC!34yGEcUB`DebNw}^WkJQiVY}w zwH4c{fd?icJKqh?7@^pvkByxSWf(E1(Wu8hl;t}LgV3J?2yN?LyeJ}t4QZ=;2}zUU z@jLBHKp!yr(Nx)B**4L~K8)-*c0 zfBpKA(*M;XJfHDAIuE8N^(Q2wvYQLb6*!g{DH^#od6d@r?B5(B*AkS>2di{ot+Le#3#NbmD=bPyCL;h)0cxM};A0-Br8%C^~)T zq41tBmS6ktS(XkVy6D&=tM}iDGq;r7RF8yY|0MKc&RuKDzPP0B`<>*KNzY`SI#TTz}FJ>l8?>RUhhPlq0OV4>AWrd<&cd78djlF-Cj zL7QW=46dyU89MXN6G)}nn#Y)7`+DKaUv=r#H?@H$+j^hc1M%FCXnM(K&Yb@1|MF*i z0ZoH=vQlMg>#99@V+|qcgq9(_P{4>e2d{eN>B@RUrJ2?y31K*cfNR1?)dFrsdNHTD zf#k^I;N-w&1C(i3lL|RIxasN{&C`NJdmh=&Y_ak$(B6HIee`r>=Cyq83kCdp~w*7PFW!v{l zjx$^SWK*+z!9&=u5GDhks;Hywo2L0|-?by={%a@ka)?PjACGJfuv zE#=}3y~7cy?vfj!k+Kxg;Lf$`o`a3a(@?CWnO&dB$)3rh zQkUS(?>6Rb?BA3 zR;%{jUeST*9S+V`*IcoE&h;xp!@c_^!n4Ov-e9tB8bEnWcTFFYDmZ)PE6)kH+^B7M z><8X(Z-jj%hqG;iq}7_;+fMHtk0!@x&1TYM^FLitqig!)>9v>4Uc6Hi^iCe`KYVZ3 z)@!CW?!pxth&v8Iujlr-PDI)QXbtRJ24hEe^$c!wiy_iAy(9b2KD{A2N3*^!8!Io~ z#8){*<@6k=jGs9i-}ENzf^;xmnmcpi(pULj+0%04lix3>V9m};vDmv}c)hUzECt45 z(m5J$K-Q6AKBne#@spEkByt z_%r+Wf9aE-c;_GffvNry>jcs`< z_~@CVC%d-}%~h*Yvom7#a7pt_Nx*hSoT#ikaM^31GTeW5bj2gzg}#lfg8tz<)y!O_ zRGK_`it9+1%9sorfM5glGb^@EU-bs?Dl4A)Ue}R_{Y}@L>t0=es6z$Q#2HyBH#|PK#f(F#b$Emy~&#uM+x-`N|C z^&CF1y84V7+)0S1tCCrFhniV6KV4#NPLf09r_$#8XQe@$ z7l(Enm~^anV8k%~3KM`1hsr>&<9U=MmTez5rWa|gAZ9bqjAFrcR`(ATxI+dzHh&Md zG)&_G7^u zPg9ehf+eUala`FbLng@Zm>a9FEY#igfb$ey72irJIJvI07{KM-E2}HloR1;8(nQkp zRKcSh3_>FLkz?B@kU(k1vBOpWti}as2vdksGU6v&pPjAEOgTi0Fw2~v2P6Y>Wg2b?*7K; zS09WV3H2h5T!wwaIC(6G@-d5E6<{`k9uXiY;?>?2a^z}${Gokcxu2v^bx+;&qR6z+ zr$tq$D5jwSk%F28&n+qi7}eMAq`mi_yk~UmiNlRXsQHlId3nIH-6P$_2q7qf2$cZE zm?ErhySjK}-=VKRS}GNyS-)NwF0R>@ziH+eZiEP-1XP}K9D)Wpb(B8ne#h%~9FsZ( zPEAgqIb?+$S08%t%YU)|?xMzV9ypt?A9H&>Q4y=Q`NtoB^ve$l=}5m+yZS`}SrL*e z)Ul;!8XF*!3ltP^R0YB)zH_$8kEf^tW&j|Xfj|({yh%2TkoO;Q&m2)H9ZAWueXx@~ z;RJ)j!@u#a-_|L=V9J!<5rqY|%FYZ*=js=~@T!|%5a9xr*u;WF9l4h*vmxs+ZyOFK z@6XaBv6u!O106PZvMClpSS(iF_3qyT;VNZKdIA)n6dZ}9F{9(jMWSmqZv2(^ygL$1 zS7#|#1GS&jN~^RTB{wVRK=+fo*tBQWw(g=t!Quy;tNlk2L}9Me#-fPh`z#2!DQ26_ zh?K0~vY;gxR~g$2OeF+5#nlMQlAb^yiQpRpi#C;Nr=FrZwJG5mxtV76NyZ;Vi^H-T zE+K?G-Z;(USgtIp#P&yO=?#mVag)SP<4b5Tth4N?P|?u!J%8Yj^BotUA#BrGiyf;I zPdpV?r)++?qj58}6Xj~(=-Y7sMyJ>TyP4x#kcrF+wuWUTp|fL zTPV1%{N=_IKa9?vsSow&i>^bryVC0V8LG88m_7(oPBA#u!w^V}Rk|<#xz|lTdiSjF zcG>z%oQV>W=1X>$6|>$Ms9i~9U7iKd_XfXd-ZjbYqxe&sz+&VOn}g%nit4r zL(A&q{(E%uVlc;17durA&&>-m5UASJ7=V-FR`Sa_eu`2_#IzYcWkG1=YG(%dXCYX~ z3C>MT1isJED&EaoScd#S0}ZYm;zC#g%4T6Qw`eoO3TEnf2%QX7`$!gmYVN8_7w`=r zwUf=U2?A~3dc#P=N$C_544PEz3s&a}j>j{{pq`QGDit+Xc<6}t_872Mu?K}!y{L!a&P8On38ZD zzn1HBz0+r=2R0@CQfwaLod)AbjQYm+pDC~W$)X}O-T`F|vZnDSUQwJNvRr})j)_7M zv&a-3LP;1QmUNOwCIS~kplx#$qlGoT@?%~J6E$M&(`YDarjy={_#JVHxx^G2a;#;^ zE&o)k4dv9oi-bQo6teIy~C6y)d%b zExKM9`=skoD}bWwXm1Ox+TZ{S$tiObLRh>WCEF`6sPLBW{|zHY14*V>VPKV4iX1U^ z$t}f;ZGSP8Ar;X{yS=!U9#vm{`+v7sBSabY4v)A6RVqiSfDk&IX@-nU^OhwMZe0E3cip|;v=MR0 zN_~t9p4Emj#J`FAZu|3f6orFKDDE_N+~n=N(PhpI36wOzz+=T4FNT-AnD2Oj(wsBi z1I&qi0>wNt0 z|8B$D4I^te0YyK)_l`}Qw_b6>O+7;^q?DCP+1@}Nha#2+HGvZ)+-*{30zfTQ5X{oL z^DjJkIeWUu5!`T-g<|@ca0(%V*!XG96n4jtCVn;na2}yTrqe9r$|2TWhCoIPLs6Z9 zK9#H>#wsOeaGWtDt@sz&12x9WiZR=1WnZP)l`qWY4MY$=4{&_On;B9 zp@OaPJtyhPH2Uk53BQo~CX#Uh8p0-6M#Zn45?YEV60G2E-35r;wsxnP14d|Q|HFGf z`PY*XzU8k!*SmhRNj*UJP-8dQywW1wVkDv$)j$6y@7R6wYp;L%?*Quw%sH*fXO?P@ z5Iv<8D|jwfI8|^u0`yv9AN=(ji+w#p!H53O?FT@w z<^d;Hahq-i)AOg8RHrG@j45qYSBbXt7yszjUam-@oQQBY9|B(zI}e#kB*0Bgt2!<9&`PpfS*Eau@jDKKTP(3P1G0n}I@rZ1c&U2?N#u zRRPLT$q;?%%LhMu>v5wq!N3uUG%CpuO_*|iHE)a6;w~Flvu4*7*A%GK&JG+NyKKkm^}|=(_3&YiQ0ZFHd-loM zzO@mvpd&@Z({A-;$uL=1Q`_^9Omox=WW00ObPF^}@K*L;I#PU`*PztT(Mi5F9STXt z`yObVFHiTg9~Yn@Y!1U@ti!-pWM9hozlI;!e^l`bActX}5NG#4wEu|*e)YqjU_Hae z-9^oCHV9H}^MvY?8drM}X%fRRRWv@kKuM$v;noQ_=+3BAX@|*7#<&&iK^Y zLSZxS%j8>G>>F@K=qhEj&N*m3U2jOFfqwTtec-cKT()7w@EV$(Jow2EfFdsurniSq zv>pTqO%6ml^dkbCm<|5^A3yg8zxI*>)4|l~gP-^-QzS6&VTP|I5Gq0}Gvc*IwLyvt zefHGY|M>K6?|;u*8Blf4-Q!Q}L5Nr?qUFR-Fw_hRTKeDuD@1;T;B-~GzVf{%9(e4~ zJKpjlWa06zeazS$Y;&j0?vQ9Dm@QZ#sq9)bOOO~k-gvkr`$8mPU=N%*k_1E)1utjJ&aBD)uG}&T;pc%haYruQ{bfTM?2GI~I)Bg}D9T)Ex&WxK@F10fc+t;St&B@839H>P;)P zh64wgM0RBJRp504i78R|*pCi-8XJ60ijoFz* z_?_~VvhI9@g|z&Ljt(}~mCL=P>SqRl`_r51VrGq4O0 za>ym0baZa@E&vLduBkWx%$l3?jZKNd5UPs986-r~O+;r?9-uh^Tl+-NDz=&AYN)f~ znVuo=8;Uc<6e@R?xee|jNG-~IXrneNyC&&xjH!uU6)E5Ane!z`;9PKyiecR=g-CV5 zkoEY(8)U+0MmeF;IFJ~t4A;UCkbHrR5usP(MaDTYp}PjDvLfUp8CkL^$1rsX(32o0 zR&9g1InY)l2J3=Xg%>&yQE9e!?W|Ks1sy4&c+t9SQd;J2SY8&wW{(pj#5Bb0PG;Q% zw7gTOe6O$G2tgue%?pf>IMb+nXq-qWG~3*DyN#4rLZQ;SFi=BIjw@+-Ub?i_^wHZE zPb&Gu0KWX0&s@B7=SyDk@>3^{e(sZ>e9=o^VaX`4iS%rOnGIq^XHCwXato~!pQox1 ztykRkT{6mF3BorM2buR3ns-WMO-V0GC%*T=hen@xGz>!`eB-}+$C}P-{>+BcAI#=L{?}KWsW%?mKhUt31?~k3L#L{iEyO z7=><^oV)yve<)8KVN*_)Qnd#UnR8@#D|kI)E4JKq&Fj`XY}0+8udcb~$5*}vLeYJC z&$WBLuA%hUrT?~9)^;Dft2SLb{i=6A6RA?z*nQ{68KF=fp){Bl%f^e#Y+pd?5b0Wc z3NHS<<{c@mE-dt~Xtx^P4!zZ_i$s&n1QEmJv&p3hVlHtF;3Fqc>H>=jFF-@s1j`WU zCu>yzA1-taDC3n!NK-*$PRc}&AxR9O03-b2 zcn)A`-H0TO3Ze`;nZp1Bpd@|HuQN!}O`Nefpkj`}uX9{X7t~Z^kV&~nlYR=8v4LY# z+QxZe{VrH{2}lV+)B)0#wCkGmrl+Ckr7!wliOpXjvn^dJ1mCw!xTaEQkxM8HorO>c zC^hJbwL2c#aZ3Wi%-^)wo0Q;3hMLCwgCefbFqT8WVc(XQ%=WI&t}1zou47VF##}8E z{g&UMBXfaPL@;-OiC!b6DZTu+GH05}7An>h7m!tTF~hAOEa8M3W)^5I#_=3Ve_&|v z-M|0)-}=_q|N4V}Sr+V9-|^1=m1{LA6Fsm_~Xi^%;na=dav3>F{;PWT_7}-2}69)q0f?GE#om+A}4w{lt?s zY)o(14zj0So0tVHgilyAFJSCzbE8oiOOA^0L@yqp4Z&;aRb6NayB zO!}g`P$;54aq7&AfBpX<#(WD0Cp{B}(^_-JdD3>oED+BXUeR$x(wImh)mCeNB*c8u zQ@$U>b}uPn5TMJ1E->9$Qm37^3Xutc(ip>zSB8n#hCGLJOAZqH5Jje?ZN7(QAq)x} zV+HfSJ}(a|^iBVhAy|&%ix!l8Ykj*}P1lU#iTU-`&>@LA+N&`6{ZJ_gd_&$Qz&M7@ z7Aw${|6W_+Uq$ANXwhf{`LYLfpsptXuVA{K&%e}R<1`sT(183y!CX)UsSYB||85SN z&=QK1#AQg%=7wfQyvHE*+Z5?3L%W+FjvYO6_SA{(J9kc>J@d@y!QTFr=*7XYc@9qoLRuivW{%bwQvObVeTz7*&fCk)#~KQ)3YAgFzv(TA_|?ySikZE%Iy+5Tvx2vdRB}sfV!%*u^96$5)=6h=JsgOo@FcbIkFc#YfjZBn07m*a;>aE)tF-@Qm15))MsA&`+1Vmx{ zYwj2+gR+1gH-3SnrBzOFlP%}9fmL10nIH%)_ACL28crzJb==|t9r)U|>$F}5I*y2< z4z@4{mdOrg-(`ZjZ^{B*Hl>!cpo*vDawrs=Y}AH&c)>MKtqCvWaby-6Ir{~^BDBLG zGCPu49$F_82?MAHz)g!v2hW~I$OC3HakJAA#`doffaV638T%wmkhstJSLn<55QG4D_n+&hL+ynde-SM5<-t;SP>mKZbD7yVS-~G}T zKKF~i^j6H3<*3z1i@$C?`ep5qIuDjfFNmu|7N&WHaqMh_@JxdP%H=f}8chj7$m10O zsLV@jN@DSoo2}Q!=B8_nxk7h|K=kzXUv}m7i2B|;Zkw8#C332>jZiYDXEu>CN}5`< zO+_!~@@$IR%$+eVEE=33+Pd#YW>Ex8QxVyYAAAx~AVaMp3{I^bJHygNnXic0n}Koc zrxZAB;^>v%|G3s#n6{6tr}oPePn&5e;8?li)?o|ZLja$MjX|Z$WQYy@l0o;F0uXbZ z0!JrkG@w&ILuarIE)JGiXfRHUQ=5#caTdY`yYE2)85^+-T1x4gm(Zg(zh!ht*jx)^ zR~!_(@s(kTLAY(3+J5P>>&HKhaRC~_#Rd^MoE1FJ2HncQrfm=-Nmqj)(k2?y8behd zePrU$)Bf}%DOF%pDOY;ejtpM1dti8Drqj}vs;+B29fVPu49u2#Y)l=7%r*8gDG_D* zg$YNEVJ%MDo05S-h(+SUmVpSq1}Oj|pfCker1PT`ktG}~xVAGS5d~~7Shn4=<_Y4z zM-A{BR^``N+&CO;-#3_M81kePg*@INFpABmZ+f5vfMb(j`Q3m_*~-yc} zL;GlMl@OYelQ!chG+>2YHHa^M(Oly%ecKi)ak*Jj3Vu@ z%{zB)-LV7FV8a~ume;-}idPyaCH1oih;tK2rn>lr zrspzZRze#QBca{jdgt%Q4iuACzBZYx`Dm$BvJa>=KWH@y9K|IqRS zBtV{|Lde=&%>=(otzN$Qcx`s(cV6=fp32=_Fm~`lG=xpCO!jm3A0n2$Le@=;3DO}B zlxltuDUFDNp!($fKm63cIK_d&&^o_oZJ|;|rKma;KJ?V|SH3zh(EY~W`n}@NX4`L? zfeHepXZ=PLJD6>@Azlgba^xJ0?wY~fwLuF^LO>}Z;Jj%G;`s4YYM2YFUoVk7NkY;4~}xCe~je z%YC-Hz!r`y+@AYm8z27mC6b5e$9oD22{Kd zvD7d}$~TPG)5W35O;-a6$>Iw%d!9DUp&|*5vDFB)tQ6U@l95_y&lVll{t4lzrtjY( z0+951A^YL&w_kVD3q?=2QGX_8NUfBTh@eS5@ZkNYPM%z|b|X=~90}QOwGd7xULQP; zj?$D`3s@%ak+n=aHX{jqOec;2E~c7hgI&guHIvQ>dwGiT;RLJJu9Z<^dSZ;EQh=c3 zBlrF&e(jT1LA_VS?9Z&rtFWZpi%s=k zgE|%{ipCb|1eLVtY35%#L8DPuVF*bTHd!1VFC*~S`Jud86yE2 zECiN8D@9f;mHGxwjy~N#JlxeYXm(x5suir|aFqRtu`82!g;qTVpt8rx|A5d!^}Up=j;FUcO$pF;}~@voD1fHQ2N@m zJ#_QZhT&aTF*Wg(55E6b|NL))LQmR5!$JkKL8#Db$7D61G)IeAES88&?#J?UL;42U zq%9`iyj3U_qIqLYy%1V$;XHyyY3Q0z6=sjEJ-ye{1&r5aLe$SF+s`fLkR=F~*2pFy z1ji(kXo1(15{6lJ64ziy0iyu>tHWDlxzF5Qr7VcyN7zV-|Rv{FTl?+h; z0t`4)nS|`fo_!Vj{5D zGTMX`l10XuZV6*po}9tPSdE7N#N!X{-}8{xBoGxd%EHO(0SYzatX{2MbL~w)9Rf;B zA=LA=Fp)9FS>j8zV#jiyYl*T9zy-2aBFkLKTE07P0=CB}flH8WTrmcaK`z5kYt-lJ zHI3}#*^|HYD{ud~8()}U1|WX9?)vc^3RJZ==Qe7Fca3X%lx3Kv_%-1?hv`X#q-?K^ zVFsgA`YE$AsEwndm2T7(+}hl;8z5E<{7P(6D{wm{zCl?=;}7AIwP=ZvcRT=<)A;Y53ZgKXK;F$|wF; zW%%k71G|&g-&llM$&SgM%W4C6fAM3NyyaakN&Vk-iUpUM@|)$h z=dE6t%qX&0922W-qtO)m_(9YN0>a$n;}t5>J~r{lz9YZ!x|>|BA3r!w#d2fk%~hv- zYIyskl95zNVJc;d0OkVMMew!8Gd2G=Uv)#h4l{Kr-15x!YmQe2X8JePqbQ0p;wOMO z%wT{XfUgi{e5eKWUwhrPk3M-6iOV$`>Z^B6b`2ft8mLBLBAAw8RZsv!mxmnmfs^Mh z-?C==hJpP@&jG{9k*mkM``OBkQDs0`p}6I>dt>5oF&TyRz;vc&v6p6`3c#rd0U;ar zgLk~<#<~v^Ds1?r5B)RG#hKaAMgra;Rt3H%wHBlZj-L+aWlKBFhaqS4Q&ZaX%C~&b z^C~x9cOwUME2Wh~D~C3YKmy7k25{ook?(%*J0l~NB*ZlOB$V&GS>Wspt*lUfu%w|c z2`dS$LCH8#FK9EOwiqN$ z6h#pb6^doXpG}?;0gI&~`ayi0?3W!6L^&lCvw%F$ix@rX!Xck8$AP)!!v1s^>nxqf}*2KL#Pu zY~Tl^ZCS$X?iy<~80Tu?wMlc$lC^Eou=RsKp&+uUZ)RZ#8mQ5o8S2)f~Q=6`i z%6$z7>Z0d=-*zCv8fR{Uxl9ZG_?@ezbXE>^IfE6gDTkk&@cK_|xDh;6EmWpN_dnjY zw@c9sI#IkM&6J+FeJjYZRXakX!9Vh7@Knnr>Bbl^9zp$r03iMcZT%D ziLNt;yh4R~)_KGN*4!fkCX5U*knUF?eFnu=3exr7^fU z(LY+oYZix&1~np)>XFof>x7Xr{%^K0cw*Ddz@jPPonu}9@a-qNG|ZqAa)-b<`-Bq2 zJ*NxfI9R6~|M6Qdxb@J&>>)&^ft|%($)e_&BjZbVdn-%)#Ca=2oI?Gd# z=4G`dv(6o;Wg4O-7PMQu$t!DVH$yU;q9ugD=8~e+O2@y6q|~))p;#1-^K6>kned7n zun~nJbed)lzp2l$kc}FhQgh z%FLS+0+JDeu+(>m*SzqBnozQaP8bj`tZ@Mv!lj2@lo8QP;0M~W!ZaJ{Y+N)pxbyUe zKOP=fSwA(~(J?Xxfdyg**E z2$^DM^1p(l1;?D3ch8&{ntCeX{;+}urX$>89CVsoO@RoDA!Opq(-?1jvEg+Y*NNP} zGW#Iw=EcWW?~Ka*P#k{n`d{3kr~4lIS~$G*f$M%b3`NiBJ=Z_*>8^>>T{sz1#3?1G z0pP{{6I*To?M)3|abM56t#hYF_I&TuO>aH0Vmm6ee*gEkJ$?J?Ge@-Im>NPOsuz{K zaALz10Oir$uR5X5?VLE;bKt>!zwjT%WD#Vr`@zqwKl$XaI;15sh_LAkqjdX^4z4FL z^x$=G9AJ$N2kwJ&r=I+UKdU!1)8TdB`j8vcos)+c%6Wm>0(Xbvb7+d){62{N4Qa@D ztc56h=T2;X5vbDa>Z|VS8`)Yrz5cP=PTl-VPY>;&_yTX=Hu|G-Zyys*v#Aeb`y?E0 z;SU*iJEEwcJ2%%jvxw8e7-Nf>6KXCKYb)j&dmns6TT(IeXR_}b?Jp}+_w=bVmtK1_ z7;Q_|DH_cae%PoknGB%T8U^bBbxxUO?BIaBJ%U_t*c=*LtozoM04UX6itYFH*I#ew ztra+qVm#ywn9#0Eo+CNmxOMA>E!$K|rjQmIlWDghdaNdri0?HfshHe`AHOXsu<$oT zEEJ1j!^chnQ<$~TX^KCCjEQHng(9No6-X(gJ+e^f#{Pfy-aOortGW+eYww!QId|wm z-I7{DYE1|YMgmJ>k_liiG31MJp6&4R0?*++C!h0WcKi~@;pN445<9V9l9xbY2L}Qn z1{)`Mz%d342s;6z2?;czd1&?AeeXR(4STQkzFK?lsygSMbNk*#!uJnv<5r(ORduR% zRqZwX*6-J?&NL&6BF@qx&(ZfR&GrzJ#|=QV!y4w?+r!*C4nB|K<$dc&`tQB_UBmpW zG834QH$eg&{nYzDu>ZoBNU}vJo92VRcE#9*hHw@vv*|nk_K(VZc4!8`>Bww4fW7f0%_Gs2aFVLei9 zUCXFbl+?K;(D}iij9*ks01(rYi+u;(cimPL!J)ls-zz>>oQDFWKliHU-(?*Ni3_%Atrs`wPldr$;otb%KMoNZTWM6^ar$ADW0N6=dL`u$>3_$OleZ9@n`o=ioa zr@fvOR(HI>qr$Y;2vs~& z74y{}pS|3QfrvrN1Mf3)ED^nHf<@8j4fzmmc~nGR%sL(rqL|SjdmO)OL17=>iFH+; zotD8$5@So&B)2Sr+Lje;?m^QKvUzZm5w#(PtK&i`zxg?16c8MNio74H!Gl{|g-kNW z3~YdujG5o!t`%gb!e~${YAdJUVo(Rt6~z;s_HZ&TBJD~I);`q8g%loMl}rHpI)K}tmXhL&kkb?z`5fU6HLz3P?% z%n&SJb4mWsfBvt1_uu&?Gw8{xQ7F;S$a<3g3x z@1Yez*ANegBX!}^58nLrA37x;UuY)Y4%2aS?8X~jLEJB8PwlwII;W_ZMyT$8z7BG)tyXco z&y-6Ke4%iJljz9O!2n;99k}cEcSF*z-vpy<&cHDg2)zVS!>Jw&&t7}~X9?vFwow9p zg(SPStg8nq$*YxRmGk(F70Qk`sEM&C5%otM}|g6wyUxrgms_#Z;$`lCm-32 zW>m6voNLV@K!ae9Jo@ObfAm-X)<1l2C3VOJI=bzj)}0mFPk-{058QkA-+J$R0jYl8 zC} zy<#%LIm#K$wrH#!4M%CO-))-O!9Yl|6t!we`aDtKR<=Tr-w|e(6&~?2ixMe#bK>EXSLmxuI`Lg`Nw^YA6DY8cYG^Bp_USwZ3KP^h00z zwU@p1M~q@sJMi}4MTag(d!Py+3nEFrc$}m9YmC*JwHEF2+R#$MjEYMY*Ab4bnsUIg zD_;HS%WuJ6oFz#Hw&$Ak0;4@LBxY##w^0Hl&fKu8Wlysypnp^B2K z+C;zU+t9Y*6ANHUUv$ag*M0AwCXK3tiJd{ZHy_=99WTj^-+9Xg7hf!N$riyjU>Tus zQz6U*8+v=F0V49O43it`+yK}e4G)%)?4;_iuH62%?>&6ob#ejRP1AK+KKws9JZl`@TIFoH}t-+WOmEtJZDDV(kl9+k7=whKT_tlW~u;Bucn;w3ddW4Md!4 zSKKRMt({CpSucyC_&i7$P+<}$&|$h#-k8lr{D4msxW7cg+KU*;5@8&}DxYWDy-0d( zb$h%0WUqbGn{R)^8~)Z0yyI;@_=Ar<_VDFbzie%N{p_(*ulnvk_2tihK|y5@|LmXt z;X_wm<=R;rzJs}JIDhP87aGDjqp5I!Lc@0b!LNP&p09k@U--+!)uVUbvHz+!-g|uA zQZ%PG3PP_-)2m}EZHm37(6I(iT=gr~>b4v9eE5O;Cbw^Je;G7opa#7j%gWE zCrfFM6+nwnSz7^Df}w~&32?wpQBER9s1l5vw1fp4Tf1u4u6pj9gWvjDlhDfe41u}w z@jF(Zzo(S;1&^m=NR&!cq^R}|3aff%7%^Xc_ivUDd>Z2D!nLC@oxS86zq?wWl8;Vf z@nA9~)aAfLWGLEGp6VAHH+=eEl@XA}3ywXm%F(TN|9Y+nBtz>8@)1xHMM@ATBCSKc z@v|9~*L?ODA_W=3fD3c%*&Dw68*$K85a8S7E7kt{G5q_T2D zLv{5%|22Q)vl!`pXOC4j`k9};U*otAkBHy=I(pTs$)kpK2GJ^X^KD4yLr~K>@0b;4 zy<1;(TkUuFDwq6PC~MAsbcE2-nRm%cF1hs5Lz+knf0rbwB^C_Of0+}KhJ_af#?ZWh zb9*G_4uKbeBwXWHf7k5_k=Qx}knx zd;uO^L~OSf3T>ilD#v5YAdXW&$g+MunJk(fX;G=?FrVbTp3?KwlD9Dhf%urLLfz;h zRb?5ay)AO*F2_EbwPk7OWUxC7z7|BjZHctOi)shdz=(+N`0Quy|H_wMe%tGwKXT;M zv&R6;?|%H_k+QFN%UcMPMbFsWJ=`vg33s6(oCVAHuAutXDoy1RU;N!C@3`ZwKmJqe zTJ7a>?YU=GZ@ld2@uPsTz^~Yc5oAMJKd50zB|RmZ+I+D7&6i$x7^0_Y10=rGr3bP4 z+|!fcdT(iuMjm9TLd>nL$^z$*U(bw%sZpvIvf5=6fgy9^`6q|ZKiluGmeL53>TIuq z{pArBHfsNr)aNPBBnmplweHI6O+m!RIan0PK}DV!SawW+9~l z>%;B6U=NIibPn?28Dxsn6|Gzd$(9`heQZowQT(#!bCh zmGxJ>x@czBJM`GF)GB*ks^1oYGyxa?^zZ$(z_QAomdq(FV7SF?z~nMiA|rw%DlIG? zi!LUU2%QWgHs~06O9b4!34|Q_JV=}-KMNNqEQ zC0=o0o0E!qR~UiNsgwx=hIHJrqwREWgVY6^8LE9RGfiI}WSCmmT9ZwX>CTG+Kt*w^ zBi$bi%E_1)P?o#jW1=F@d%eErirwj8DDymuds>(QoeOEIsvyX+Z0mX4WLnPC(98kL zZ0AVz{jXE}o%5ZANR^!PAw8<4edRZ@y-t|~VDq65{_AUQxcPs5*Iy-w87*klUtR^J*4NH{@<08DNACLa55Ds~pyGb7Ulc_p zC&>WEjy?B#zxnaE{@`DD>CLygup-H_D9x}k<#_bV@BbHI==L|hz29HbTIKn~N`(d) zpLpUMU;N_l{^OtcX~Vr76#*{|`bm;h`EW8``)5D?*I#<$P1oIWd%xF1z{z-Qe5*Wv z`HP=@=CKF=+CTay7Gha!xwo={3W|-h_ulnKpZLi8Z+q>VFTdu7Ucb*oedLi?>}I4_k}I!c)K!B-#X0&W z+ZxDxsK2MGO4C-@I{)RaW7GVrTXRI3-i2h=ZAKKQNpGMKBNdoT8LTlvu!#*&CAeZU zdUiW_{0aEr^6HstG@MNM+?1#F?DPF?} zfs+0p8=#YZzW@j$+$P@ zp9glvLso@$yz%*fxH1JWXIVyzkLduf%}00d&!b{F2Q1@1&5z zA!4jr@)>sNksY$$eEY_3G=ww5y@(k5o6jTbzSgF!fld_Pc zi9Er^u9(qFPd{|!`n|9Ej{W^5)20L^Sri+(^fmq0-+n8U_W=#Xd^%{DMlgLU4)kKw z%95Srg#jrgp8Mu4S}eFYdHn0Y^E;L+AMqikfdAzK|5nISkt9Y6$5(;x-}$OtC`Slw z8)1hQ=+T^;g{FUiyE4Q6pSl|hueE7sMKY}^@FVyB(NBNvE=f08hy5VWn}tf#NB`r$ zfK4jj20`ocV;^}Rd_+e+3C+ZwRE#tu@iQNMP(g<#PLe8u$~N!)vHv{+WmF^}Mk~Q8 zI+El2zV-+A-TOZkdrIF%^jv|Bx%z*8>^&;XhGQs@XsJHW|M`XA{-3}9DGxo6J~~Ds zBn|w~yv%10LRc;br>|B5Lfghx^;b zm9>V6r@Y#YsBx6^DSfg(36$6s#5GKPnvWaro!4}yhR5<6n9iUJYiG~3YuU#KB?x6NG~ zZhqU+jC(+&q@%^!DJ6M)%?)SM)_Lha=CKP6;byQ50rKeClMfYl{iXMP;+W19lW5s5EGftU zC%vSXVmvnXbTO85h&69#iWY%o5Upi27hHdNcHzEoMUF#iDpK(2VCM(&^vl_O1hIMf zJ3ogVf~uAQ&Z%zdc1Kz9RLEGdQ;U!VoK&S5pTFbYm6u$!@4K##NX1h~IhX0ubzp(M zgSitVW1ztle%+2ecCZZg^V6yxHv1Zx1jT{T5GZYV5a)}BjGDh9aKVu9bl0xTQk1>srQZ>W zc5PLe`ex1#Z`z*=U>Vq+uo5^N(Bo%M-h1o`Gv$yi9PUy6{fF<(yQMC6jI>q|)>6n0 zD!5EDPA7*hTbC=Yzq|FamtNFcsvpO5*9D!aor{F=ceyBY22PShE9mtHUCp5OyAPo4T>A`u-Q^bC;^w`3 ziNCBcOEy=>)3#Z$P_sekoJIkW>!1g26~>f^SHPG>hRAxcQ%AoQv1?ajZHe2f=!`Z_ zM8|;bs#&$kufvws{<@9X9a_R+ujJ{@lTbx+N0hH|wj^zv(|{O^P;EjLStNHF$}?Gj z&l-_&KsCiPkjohh0|;8xq3Tu&LR`;GNYl3IYlyT;C_~_LsA6q<5I~H2Db7$kT>{ts zQD2ueB+(POa9OdV;p4#1(#C_#tlcd^)l+fpbx59&nDjZUpdX55WruC0+A8FTAwulO z>4c2k#x!94YEwV!$4p(;Yzv0iBFl45j_AUA@Ny>sgPjM9yeJ|@Iu-(k7I7VNq;uZo zAiLtqlC#xZhf^!dlDW2pN~vDImrwFVSN6hSXXXv6OqCZ&FXI=j6Mg;z(I%fZk8Z-L z`3r}zdl%wkrp7KbgtK57=M^5j56<`~YF5^A&B>VzElyc|tc?S$cN7LAr@;Wj0`H`Ony$(f8 zvyMJ3N!Qvq5B)DgkwgZGZ>pidG0c>tT*sZOcI<+ZzbYh8wnA)lBU3U$xh-4}q9&zN z#ObjNqfYDX-;qyx6}1CZ7(*Ut7Lz0!%cv$skVO)~1B%mYn^ zw#*;6>~wR3N_*cgEe^k~n80?TQnG}6@5Xf%@KBHyEE|2rs*JFk!+~QmITg8ad0nG0asw08FR)qK&iZ#=tJwz8;|ntcmJ-L;)*jW<25X9!g9{j^VL_n7Z~#<8aY8I z^Y@ba!(t`Pl+c<%er`Rmpm%GP9#J$=%dF0koXCetf(I%Y-1W}Ag&I)DB$nH@7B+h5 z=wSn6^yrT&SM;I@NK#H7JY~k+Gt((8aV$^D%TrGDmEner*)DGtG*E<>#=PNts}A;z zBV=m(kr*{@Io$&3`+F0f$;N8**ZIUVW~?4jBr`Jo&U5S#!PWej2{lxLOttU<(xp!P zOW%iy;<%_}85GzHefSLa<|KRxm$YIADl*k;w>PG=w6~!k(-{8uz25J4{_-_2bPE2@ zZH2-{(6YXjzeUz%`1;(l>x+bUE;_;(%LW7NwCw4?`-%xNg19BciatxA>6ahVC|-6@ z{F2I(+>@W;E&7%=sw#OI7TD(17)AkQYjQlE4;?Tqz`l7)5oy!d;H*+J!zY^H%*=*RM|uYM@_!`&M4f{LdBrcL%5UY>vqQn+s$zyX%BXR1)%hT594vl`n-4x8O~8wtM#Y)cm)D zv#_=w->x5pq^F?xGc+k`qZa5{3uPpmCgzU6Qq9T^HTdZ~Vwu}m zkQEh=(jd*3!j$>bNh|?MR~rhBJgdWxKwRyA>)`&x#KK{6m4Gp4+B|s$OORvL=NCtH zR6A9!d18|+W$7COR950-fNcnvpe}MOUA||G*KFa@A(sMu{U+cP1;~;iv-p$$(zfWn zGja9`#u*<&xp1uIYZ3A1dx3EjKs3=>MU!_TE@`^Vji(xnFcx{)%C>tKKsD=~-2jif zsM1Kj52?XT=?EkhIPSM>u93^p zZ1nP0Zf&WWkP^X~mZ})3V84wr^v}uuawm&0k=DR&E{}R)M&$fvR1LbTV^}sXoQ0xb zZOh)X3~+F%%nLzXL?l4i ze|nFysz%~fKIu7+l<1H0aS#4-+_YNl|9&W-Gfi>owZZ+oW+W^C3y17|$6l?!-t|B4 zJlabU4`R(F^hrI1)+Q|j-}!%5O>B7#ji}+jHnTX{RH}l35mcwZ>AOB??OEwLyIsyr zQ>%J7k@(#Zp5JGXZ%m=y44hniq_XHN7P=ZB-Hl@_Y6^v}?L>wm2D0;z_cf7I|1I;U zC)FArSa4lpw0$mz(aJL8j@(caX{U8m^;@UIxtK{vh?VWiiDORYX~H z#F(?;VLtJ@EODl&9?`7RPsyst*=>U)Y6!mi>&QqL!V=Zv`Z6Z~%&%6S?B{RFg9%zV zJBn2?RpUdj7FlGn8ln-P zIi|Qh7iC1WUR7}>MXaQ$DUeGhS7yY6V;7tIXLAELpZzulJ4P9jh^cfknnjwMwFBKC zCt7n96<9`kE#jh;-8bHPTkW})1Pm^93`XMxmmzC|s7UY&NRp)Y?muj|Ll}^KQ}{YI zeRpfqLg(wmUB~5-w&-w3zfdhUMq{=Iz-2 zhgy<l{=XmbR(-;HJLS*&iBZdRMbH60G>{Qbn)`SViTjW(KflW3{K$3EL9e%HMisFY<{(VMTKe z6%bEA4cG8p!rDhk$gmnQ4@>ZTpb?49d6a0!0QVQABeopl>qh1BE$M%O0c?Wd%>`B5 z4->F*4Sy{012&|gm|T|>^|O(49ro$3Bu z@K@?Or>!jxVs>{8t~ibE3>sKhnUqX#>}{0Lt)6_Dnu=wPR8TfGiwGl;HF;NUegCAbv9Z~E54eY@MsX7-XYCA)M0HB2$guk!_Tjr9y7as^ zj@7BRMUZ=;|GP3cn`Qvzz&J8r)&Z@CfH_*&>TOc+Dx3uAIT1{7DY;)Gzn$;#e#e@F ztLrq4ohkP()DLzmEH^VnT%}ciK5wl@ACyq6&a3$}$c`E~`(-Dx5Q*Wh(P1}TlsNh) z#refCVN$_Un8$ci%q~=dGkW=c4Eh4UrKHFA`JV;kAd1w@Bt}l^bj+9|q$Qp&usI1xhN%Shw50F48_zXc|dVMds|SIFZ`VAwSht6+F$ zY5xG95!Me<&0iTx{!_z^6EvY=&{p-mV&|()&X~7aUDXgIE@v?2b8$ZMQACkW7&FzB z67?9!1jlde1wHf5NWc{oxu)U$`NzEea5$Gunm1AD)uPh~@=(k=&gxDKx#f`GW8dcR z&CSfitzv=LIu6G9i*TMf>uYIgHNd5x!V-q}c#aOZ&&7hqq`mk(G3#%3b(()IQ}$s& zw(PUzSJ@A($A&o!K$MGR+>r3PTDbZJ9(FD^g^%ZA7%$?qXJswl=2sIkPe7 za(m%g*O!}#_dWEZh;|$}Ro6@fxVn8ngJn#XM>ea|bbAc9C#V0G_Q}?S;xw79K)YX5 zsL|kg68Wj7_M+!8;*KHn(IkC%iabhThO9?4ry!K3w9d$vTU;&>s`i&!b;>8-| zZ823%R#iDM%EBP%V(w`M&Bi7|QRi)kU#a!`G7AI*KoTBw_ zq-{On9BA~ikVtcz;B!pLo+>52kiZnx*D&=W#+AQhBQ4 z$dZ;qfq97at{2qf=e?iDpPTgF+Zl9SF9xZ46^zt!NF{|<9`A#peBXm_<#avIrRRmk z$}+Ju@C~REr{Qj-vCJr#yH45(HCvxf*!*5=?IH>-|L<|%{O=eeH4((W6ZU-5&IY(m zV-Wt1>N~bnWt2W+YQ~qoW&BZ%mQgCzxc*nYbJUBd(=VI_^7bF*{M{GZC2UW7m3E)c zSGPA7hq%|D2fkg$nt+8E+#_ZEjy#!g9mGgXcgn8!Is$5Os%bbv%90! zDiV(yl!g_nbHw{}ckK>H#Kse%>Qw!4o>+oMGG^41wiUaLglEuer%`|~^^W(U9e2;o z+@M^m451iLTq&npIZiN$394;cf8WsS6ETiwKTt(&7F$jmwkIj315C3N_e#}vLzMpx zBQ?ZMfR*WbtPNloia@bJ(Hc?tfTH=X+aVC00B%4!{ONIm;Z$)|`59%7=kYkohVS53 zg%q#(rLOEOH@I(}V-wqil%S(%ENiM85?86BD%)?1A)2}95y#LC|8q@qZ^rt=?708vj<;y-E;Jn|Iy;~G_S-X7h*|-k9`25R>$G6^Qz-`X}vhKrsBv1 z93CBzR>To&1l_HMf~;M-dq3R2&Cymg`S=8FeYadATkh9U+x{Jv8cnZMkUiwWmPrTi z(kE)wGgYvS&6fu~z|cYuR-4&@fB6$XvHRXJr|b1r!rrt0e3hEb1rAME08LzT>271q zzHA6$3aQ=2Xa7oU({Ybu?{(j6aNpgR`?XW^n#&ivL5+06Szk^RChvO}?07g#m}PNZ zvZnj<=BvL$Y0HhsXv?0uIVkegB4BFuh@>z>n2*t`_UEL6tFoI03q|m>m=h_lDT>9F z>}VaTXZDJ-$O=7}%>`MG(b74y#v6=l{9o%fWA7eiiZgd4y!xPm^2ZR!G@t=9Y27}h zg-A`XO0g%E7hH7~?3lX*&`f00zx-?K*eI^&)SJ@5pyCu!>KPm3nF^W(C-K8~oq@7XhDMwt!lT>n;P)n<6i)xz=|u zV^us4-0E|GKd#HN!C@|%@UW#d>T)-2Nhcw@mM^5)@JB2Lz9hi?qs?K6A>xQOA~v9v zce?7dGzYc$UI{BCQb`XRs3jqWS;bmT_aTQ?^y_uu`kUWCIDxx^k&E7LwU}l2iNYhr7~hLrdS|zz+r)HdU?P8LxjChJ0T8PrTdk z(*Vt7#_6Y3`eChzvD=onx_Ff=&vdpP zkvZhT=(&bCWHY5D?7pG(O<2(dXuiX7oTvl7=ZCQ~D>F7T)f5Q<*kQw@a#_=vGPfw6 zjLH_XwS3+}@?XyuD3YyVifh`l zr@7`qKb$fyy2Q1q?t0xpc@hC-G)05fG(s4bKL&d?HZhL59XCbKU!K+TONR2CSvL~> zrkU!h8zE(~0;9^I7IVDSC5_3?UNg)ZC>@NWE49AVJ`k9`UuC7~IGh3iGhF@!NZ!8&34+9h)YmR}S4b zN&18mC3K?ZpHvNX8Z|I!MHEkBP{S3!zsKi42c_mkUv-xOBOE<0a<&dAv^^A^P`lHq)>1(T>gFCzIWOGIQyUX zeV^)^Y_@Ju*P|h^_-7E`aB=KcSe*3erMQHnt&O-%{&}|Qx)H%`-zjSdN)jN{hCdaZ zC2?rbHJ|hSPC|5*{U>*66h`T=L{Mq~%1fSWV^bzy(4ptT8z;*gEHVvM%3@unhYIPj z1x8-0KYgdrU{93e?xr?Irj2LKD}vmlZ;^s94D5z8KLdB+2`e6+eqqvN#w{c*-U3Op zv@yDX?xnlD3)p>-uvRch*O=t zu>fUke1-mdRao?{O*(cuKQqHZ@jmyoBn@I5lsGVenXCIu{0I}V@_2UjuI-L<2N3gH z82jaDqs6x#KwD6&<IM>wMnJ_3|ji(L^lSD||b1cEL zhW)avYMcUM8!2KG{Tl4j3!at7UdAHlGm#Q)4++kmekKsK%YEZg6kYQTbG$5bezbmJ z+UT2f=6LYW?+=5mLXH_G@O;wJ#__32t4HbSomgF$43fy;wu$qVUd^^l@sDa$q2Y4f z2m+ej=X2H3YTNadR8{fTC3){*m6Z1sb#7N%7QDJ9*5Gd>fKkcr;xslkw)Mw9EV*K` zkqf6*+u}xDj5_!*V3sLvaUZlij1g1P!A-)}wi}VDW$?IYM#3u&&2jyjo3DSU=e8l_ z4l@X`VZ*OJCI2;2O!dW!+NONP`oBT5cfWX3)gZVlfFfE8ZPWJKd0MvYFW8dM3YaRa zgIX7=A3zXFS%X?%nwB?4`<43!kR*4Hm@dmkNg=i!o_MEgwdv3X8P=L~4L zpb$lHEO`R8|6+zK#8Q#vL2v`(-?w-m?qB&Xz%TnF+y0#y+sMI*SEv@{fFRlsD7BB) zEV%bSp4G@K^Y2RI9daHMC=y*R$4e^rZTqwLH%ycBcA}3w2IYyyVZmBm2Du44S%<{T zik-!v0!6e6-uvcSUFZ2pD#el%IzSNUVPF(X6 z{}j&_^Nj^Y1&y;cm3w*V*qrUQq$C%ma6^z*nI>8gINd`x5q1A%X5Ka!C7BP4Ba&P- zf>UONJ12pj!6;Z)bviWGZN+nJ z)2caY?tN44qszWHSY3-!EPeT1w4Z~>%8NnbacPI6i*TxP#ZL1?dc z!YaA&ydu`fxN^BsWX%GBnPw$QZ9H2!q{KYsz7!MJ#n+kq_rIAsZ|G2yJ+>ab3g|@` z95cj{=wwh!IRzCr+u(?Ewkhvjrm>9W4Dj=uF8ufg|Yaa?vDyj3M1LGf3rVX1cuU7RrpK45ejZ;LsViEU z^4+}#Wl;;Xv@EKaRSf1sj)hoIULaJH7VUvqP}*6*=s{71A96QoyC1q15ObXE27J0G zScMl0-rt|(d>=1;@9>ors<0I7EH+lK!Fr{E6Iq26JU=blO-R*vx$TGi{%}jM_UBZxsgb8^!{;hV34rEnUQq7q%sp3Mk z{*lE0V2X@eV$mT#eqYx*Of@rrL&Frbtg#xRj1FcrW6FHXzf3s_vWp_dcQwWPEA{}^ zP)@bGzTVVbnId*{e0;p`u!GS=nZEk3Vl){N8OF<3AmY%&)YR10Sh&5;>_k?6CTdEX z$5|xzLaD+4xGrU23&foXd$e{ZHZ>4_hp=CTVrjiYA}-Zb1QC;S=t+>n-Pmm zC>}|KxxnvK|C_t5=LQyN=b_aZk$iUA!KjbWqe-<0G{sd&q7+|$!aZJAsn9u&D> zCb~@*q1Tul9RKG?2Gxk^+6`UjWtwLM2h49^BG>(ZaL~!sGdpbU zdmKnxA?ycR{I6x02hlpD5|u&>Ac=6^ODe0_u;08N;NJdh;J=Oi^qyTa_e+*JkVNR~ zNHv8t!0AOLNjOj+STzk^tTXF>bok$0^gX!0>N*HwX+wJv=v;>agK z6fJ!8PDot%o6iJE7I%Dwlkvs8j2dNzQec?5u?)KXwDEq<5UFG+@Rr!9nFc% zB^oi+s_B%Bu|beSYsv2BTiPQA3$6)Z0(9P#xbfL|2kJ}OM~ge;q{^`e zi_?HwcIz|FH3GS0%4mQ^jpfGHBa>4B1uc}!e?%-r{QFYbS-zWbfbKZdTS z1pXPL)-N-O$WMh+>=}HLQ~T$(8>4pCN6$FB z%hr@b2a%gJB7$A+w~{z~pTuu&2%Ff+NA^XsSe;{6?fNeaw!AGq#Xg~(SaZ0R_AYL7^TYV zs4b%!`xm9!9sw8J3ypcM%;63u8R%IggDA}xdqfiev$BYHWo#i<-5$Fgh zFXnNsV*dj+ zLZrklgRvRwV3P7qDRshW7eWU(s$Y_M+=oOu(pp~m=2cOJIYm)_T2*-llT5OT*Qq;< zDx{hAAR+0glxdp2q63WD`90&}*R_8)8_N7X$^Aew#th{1J$t=Q8diM6Z$IIGN>P%& z3Q~`HToqyBt(qw9iqo+w?RmE*Oup{Hla9X+``!b`{62+g?zn`fX@h{rTP6YNw3~n5 z^*Efpc!XQ0aeSAkus+VSY;t^&&sUkFn;xJ6?MyMMknU`7Uv>`d9IBQmQ0o63D5D&x*eP_I_lR zG=ilvxm08<1SO^M=B~L$oEI1+wBLp4f;U+(teRY&wiDRK2Bh7Rk;Pe!5yD8R8hs7MjyMYf}~zXw1yGd$BaPR64O)83Vn2nDsoZA@VlDy z2sjA(yR5->v4#h`&ejs(3S!pPOSB>ZYH|yT*IH#9--w7&}O1|0^j6!}~Q+yf? z?UuWw`p82hb_b1mho>Hf(f0y6AL$yiE0k49N>q|20OS~|c0b^#B=pjlS~{gT5`F*# z8wmyB3rE}tFdm2hml+{yy`G@0_4GE#1Wku@L{dgfoUf7^mb)^^c3jPM-<5CMq;dFT z@qApTvT9T2a;}r8mo=j0o|-6az4j>i#hyDj0G#T8=WD(4gYNVn2*-`_xBrhcoSshw zwGK5sTt8h^!N|Vtbio|OIP$5q)e^)_sr3r>9GxTgM|ffvD&bnwkpzLlNRMBR=@yB+ zdBOcglm5^3Ugdf~4T_jNpI4c+V#bEkm`n=&SpvdZQl(rzU+>HD9P@BzCa4Wy$X?ZtuhE zcD8Q4!z+aQqHq(D3yh7D`n}Vj%&iSns^m)+qS@dI*sC~=u(9iPx`KrcS~B}fh5rg} zfpJw!r~8)7l(Zh`?*^WqdDQYm8w^$V{p_OzEPC!Zr_1Lv*rLeP8z4`Xn zh~2m`|H=ro7mYD?rtTTJ^yo#Q}c>q8%e!peaVR zQx*P4CrUGu30OVlChIK)cpmIFm0t#35-?jG(Hn`i!yt(LXhg7}zBzAJ>fBbL39QOd zA|-gZTC(71-i|{Y;qb=g>)5a?y|IR(Z|`t8 zeUkl3JC-=JMX&ANy=(3pk%i*1w2C3Uuw3Td?gsC8UI}&|msxN&<^HC%-k}Ht^fmo5 zoZ=IH3^V&lajQ#Fjv9dTRX)&a6g2T$zo+R9C<^BcFT~JV4?MQGh-!(KF0?0S9bh9A zra~N}XotMVSJic;c%+7kA#wfplLXY9E{GPA%s@@BA>M}(Hcne|>0`L#L|r^zw;>MPk!o6hb6%)hI?f3trsLPqr9c^9Zv6 zrYY7Yh*p|&!uy!8S%nUN_bjM-chC*EOS)&3*CL{t-4q~9RQlK>nwDSnr_-L%0!#%& zQI56nJKyg>)pg+7QQsTwJ?${ba9jage6AW*JJ%O zX2gV==z|>uW;BDb?z668#B<{D77kx6krthY1uq{D0NhY(TRai7RiDMu${NtCjWQ?9 zdtZJUkO!YwFWX=8x)h>b3KcDnnWIj%;JBXVZip|&_cZajrtS8qs5^Fw>U*5UTkRgq ze^?yJJx6DdZqK(B_IcC?f1=H~4BacIPrr3@Ztxt$Rr0vtPH(mtjGUQiH>*~Lcm!sy zZt`Na6XkD$q6;q5C8#geGgg87XZ6uWnzjA5n_J+?F%1D(1-g!Pwt~?HC~$Z_b-XTM zfYOsA$-2I`ja3=J815U&NZ3G$giTnJ>7+%~V#QlNwJCJDk6DH&Sze3H?PfT!6j7{3 z$IHf4N$Rr919(wOMqE z?q!w_y*hKy&?$7ZwBlT79J{+IPZi6M3Zp!Q$4x6MnNa_jS`5>139dY?5-2?A*&|d8 z_YkY9s+HDT42l|$zZBgX8;)k>IPhG8u@t>4CQEVB1kGYcfe3SOBKdwZq=p;n->-4*q~g(lyJJsHLUr+74KI%8< zL|Qg!2?!`=1CP_p)CmsnjyWLq_;Ef_*om)Jpz^-5q&fY%ndY4HaaqJ29O${r@q9%6 z&9Ck74H_1Y(rg^tDAw|bllUAYCqg)n>L1Y4uP5BM)f`8oVOyW+V&m8F*)r#_tnBR< zBm%ZU1q#2DA5>$ntfC<&$9I1mVk2Xd@2eA1BLOmIT_rilRV|y2(Yo&30+2e|E+>r9@MYWJOyGDL%wt5(9km(FdR6K~1N;xrc7y?xY(z{x5(h0@W zlt_oC64B$5P~P6U7GSEHVk#%aV!(@`eb-Ppf(R5O;#sKOY%{vD&VlQ9PHh~~g)Hj& zWQ)^=7J!v1JPy`RC3N)+zTz>if~W$>x#t49YHph`dYph5%BOhFasK>q=%hOfE<|c( z_F{8tR&Ln4JC&9q2ecxa&GCHXc^%iysmk`8s7SqY3%g2gPJ=D>68%<6ICJ})i+_Us zl_%xOCK|iF!4Q{>(xljcc2L}rnC889_#f|y%3Vs9gtqxwbT`@CW z(-6{YODpk(KkW+D5WGs&i9P?hnQ_KK&$mF!X#4##q*H-)jb70|9x}EwRpR< z7n`rBB0fSY$zUQ^-cNbOx?X*+T3Fphlktdv5JiG1l!eSkg%7MW&Z$hrwrf*kZ&Mtx z+5PC`twj8$OW4wcB7#Ot0TTc@Vh#JjL6Qb~PNsa8qHOn;i#RlRDS8+*`$|J#=Vzr( z^>s_3`>re)N+|t0=eMNY5T&5mU;5r5yj^~%nE^6-!z52`Mh= zVC%U@0x_ddhQA_S8AeT1nhQMn&ic@fvBUu!oT;-a8UP@dT4%&A8d z&zKCk7ULzyb=l<6Nb!3tE$1S}dd5B0lR8nV)hdJSTWJcwsY#*P!wMZ}#Ya!cf=SU! zLaWS3`^zZ(WR7Z%y6OVe&Pw)1dG2WI&fw7FHbM8lq$>F*FEySF zg7cM!CV4{(RK(UEQoEm8GIXwe;kG&_8NEuubu4YlyIGu^DnaKZaie-FDe&MxhR6zO zI9;y?7kyz6jeOKbxPqotFIN0O)DDIDEdy>AtXvLyiAc&I)6dlRI>!C;6CJ;KGh4dEQ zsS_V@ahCc5YA@QV-0&8jC%8I!XlsTI(<_MJ*bA*~kLOj_%>5nQYI0yPeRT_z%Uvp| za0K9$TNAjKdthP#r0@2s|4y);&EB$5G3qGVf@0EmYg2#7{axz0c}RhF(Colb?MoL; ztgYcUP?V!mZWwDePLCWJse>YjI-rTv(Jfi`yzD?ZmcRhl}1PxE5Ee3;=gTW0ZM_bZ`O-FTvFXvU8KX zdA{GgFt9H|_#3zP?Q2C=2ESr5DYS$IM8Xx;+?E)Bsu0=+{(veg)WpWu#H68$fJk+W zNJhIACf1SzM+RehOpdP*{TGO{)U01FVC3LJnqz93-hYHP%-+d}r}lo!_GD!BkF+Ey zCn-K*Xcv@h1QNYX8R1*@7Mve1CGslBpYM39z(qwwGH%X_b$1C4kUBG3R|aqqYgSL+VKe^Q6@!rH7Bd1JuUVEqEsaAO~wu zG2zV(rLnetRyA_-hbSEK?l;wNsN(yGFd8g0S5WF+ud$F8jr3PIk@4pus#(8uqNhtm z9>t`A4(}IaY+{9dxtTR%t2yE1(fz~gDuAqa!TS3iOnLJsTZa{olzN*R6u%!^NTYZl zwdXRsOmL%AQj6^&u{%EGsld9e@o=B$;nyIBP&fcl+pwz#au%jjbhqda0n1;=*Ni54 zGbf4M6=e!h*1p6!MGAS@17_OY1t&@G6%rb4Y}PNwg-m(>QO>CC$H`?n#G}U&xVF%0 z7NcSt08i+>iib`AR^Vj_d)r}4dN~m3#hHB9jeiO)s`($WkqX=eL`>pT(Mx{JnAu@0 z-skH>IEXOHSoCH0PRw&Rn6ZN5aW|RB2hC;bMmU=Tf%@#9ce<V z;+8}RemAtDJ$jwfi%sJk&ZB|_Qk7nW>ZKO|giZl16%FO97iDqgcFEG-WRfYxJ*0r2 z9?vbZDejfbKhHn|wPB||moISvSNPrhny;Z2F;%K9WJ68fy^=&1oA$w582ozIl z(!-Xub;BrS#dA({L22DJyC9K9-0(xG?GAU`kd7xaF4}p8Vh)c&hX{)q*qPfb-bhHm zT{MheKp3ynzR2QvTei8>+&Zo#!qq=Phn4S2lS2|r#b^svXFbDe-zd5^WBTDaF2uhG z#+yeXXLy>S+iZB`Tz9*5>!Gxp z2EMSAfW>f0$wWTR1IurS6nU13Sq~RyLZf+C(vh1+??R>+smV>biZO)sT&s$B91MOh zKdGvuMS*-C1?S*lS-eaoqKg-JPlnidJgrwatE(4yushGrKEjJDA5jaOn{v$Nw*?vK z>DS@3Mt5fw8`0|kOMA=QDt$PdxBcu2hzO(oijTvrsR3ead@fT6u1^b!XR1=GZ)R2- z%=QdaWFF?JM05+PJ(@k`$6M!O(QR8Ri=5FC`@G^fhRh0z9Ld8p5l0;E)V0FN6G6f@9y zpn5wsXv;=K&IXC-ao=D{!=svowrKEL-}kjyV|FIDud9tliU^pdn#u{7rf7%H0_d!9 z*7VhAsQA&L$&?md6efX74YVC;;~Hrgsc&6gXREI@{x9!hBHr-J@*(u5l?>ogh@Cpw zG5CI>-GmKB@K4&5kexT9mlOsLmE2|+_w9GidQjZrbdvN%y!jCgSmfq6xZ;k-21|Ck z7PB%ru?G7Tdjy=DRf>Gc+8>5zc#R}IXrUDnVV>bV=%u+FXXPI^)~3I`knDJ_)4C7~ zj5#DN$0L+h6c*17=&Y^M&HFu0YDm&tCqC(J^>n6Sy*g5@k{$gp9wIXaxjAg%mv_YX z=DLPV3VFn?3OP44+!WlQ2HRI*hg3k6YS-1SOM|trsvfT-ZQUUq=Ew75 zgSh;ss$&U-R^1a~JQ2XIa-Wy$a@DBeEHG%ZTy|pPe)OS{bQH z2RFB!?7IuEEJ}n&)+9J0J3?OziGZ9oe_iq>oh<^gcuC#su-dXarZR5Zor+ys9#xng zo-S1E5g}9#xxQ=k-WxCN`mWJJ)er_-41ueEWRi>fnwJH=STg$(*q*9rqse|Nft^!C zCYhMd>EViVCw00U@(>Sl#J%X$=hvjtkr|KFI}#um)%}f#!yQ0?Y)8+$+Wn3)o_8hX z`?EvdERiO%FoIP(94A(VjwH5;Q~~g00>S$@sJ*KIT}aFf6RG(sFBC3;8_Vx-VdbZk zs8u5ik(ch^u$&-kA(ivV z5yoA`Gtuld_t-(x1VUFT$)|lf3g|N7flF?gG31Be+q|uqBQ8X-WCz*12m2GKi5;8q z_Q#EzgFQjXQWDLs;EXO|_B^WsD2CDCQn~bDtPrCSl{UJ>{nlRaQoSKa_rAD&ILxQ& z25^+_n$KwULUrw&W9RKSzBKWGi|Ew-QDK27zw|w_croO?0$$Qd3#&eH&dKLV>;lYi$&^!VGUcM(MZaZtdMtNrXK=~Ehww*={5Fm&Ml`;d6s+7W;WjQT=-nY- zmD=5)dua#KwcbCUeg0pr9e%A_c7`7Io(%_m11EP$Qh?U`q%ln14U~Rb0lSScAy=ug zKw5bouI9FVWNoFC@`wTRwhc)6?uuV~rF=;q(=HW6WY?ZAX+q+^{&(HWENS!;$ZPEh zjm4%uRfe~`5H^IY-@Y5I2}Nt@(b9Y7;FLyPm>5PVGA<4x`4)P)b#d*7mi!gxwAIRroCvqxZ%=;iV;Nnm1!FWPB^tw1W@SHSVr{7`WKtLRm^% z9gQ?IhoTjQ^WJWX#UuDlt+@P3mC}wAX0b~bGTILe$yqL=`<$&?Es4^0njzXerbP}S8Y~8MAb9cfNYc&5^{b+)1$nHB z&-!UKCvC;?`1g-vg4pDOP+l+nO3gjQAbNWB#$J2!V?Q&gR)htGI$T=#llY@p(Usp1 zHI{F>iAJp>YM_Vy^d_P+!@OH8>0GF}eZ?n4CA+9F=|+je%hQ=uSFrWdlE>>dn>M5w z$+!@+dlI%PgFC@-d(l8L%@9lmLzOg(-`3=>UppKxC8`^UKIdtpSy(PY{wEN4LTl9W>4$NO zbkn`Mb?~X3TT#LiKc0^N6O=?uCqk3Ez{lkZuAmdLnTC<+za@UGT#bU#^&ZjVU9S{n zqD5mb?2y|$xS$3^vyGum2sFdJn=C%`tr|6l90&I0h_|Sy20S!Ps4a;0Ka!6R~qP>pE3t zzSLA?E$XD&Tw+Xz<{gRFf!0L8*(=5sBu6KK-qR4QosG-Bn>FL7M({~Ze$&zM@|3sL zc890_R_5Sj$0K(63?&AEkz2O5{>2+;OXWG4UvjT{Z&;XQj^~J2j+j`_sb-v0r!iZ>#NWX10fauc7;6 zyVL)}=hm#R(PY@Zy?Xa&(wANDEiyM#gq}BG&420@qi82jr%oA`x5KlYB7e7CV@cVv zf1ur)Bidp zzFYXh??n$X1pqLxLJ$G~$iVtfiBhoNh5;4->GuDM1wH68lR~@z05E_c1=CdPtUMOL zSrDUt9}5#0>eS8iz(XSh=#TlgZ1gdlRf2UCIVASmPwC%gJvG1R?d(ug4 z(v>BuW5xXmiIW80uYTnwQ*&$JzLxXVLN%=qWxNIx;b>q z`_~@$zeS5*1eta})<4geKxIMpVPs6%k|hlL-H?6*mb_VlP)>`Fv_;UW>!tjQK2{uj zJmlY1G+@ygArT!5ssFhRtKQKdz|jK%{@pwVq%2!5%5?B(lZaIfmk+=~QJk6n|FcOT zPw+VSuUaLQwXUSRrR7`KIi5LQjUcZ%2>;zF-L~+T^3v1xtFo9^D}W5)xHO|BaCb=Z zNr}6qLAz2fpQ`@W5G*=#(IXA8?6L^MN5PYxxr$ziar9lZNw#I}-org7H;S`y10%VC zal$A6^Rx7w9oDYtS(SJDXzV>Zi#C&m9y`}Sicle`gWgXbu%Z(=RA8BE?D|M z@_R>yT$Sd`FPla0vTas2d7U`zTx5y>C^-2yI!KD%WZkIJ+MXk|#K&yPmX{_>GeA+s zwnR(qmU8LB^_yP1ZV{IYE`2X6xX6u>A8Hlu1ZFh`22WQ%mvv4FO#qf?|KR`t literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/feature_hud5cb1f3bf1960a52b1188d5ac859d6c2_91602_600x0_resize_q75_h2_box_2.webp b/docs/posts/memory_python/feature_hud5cb1f3bf1960a52b1188d5ac859d6c2_91602_600x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000000000000000000000000000000000000..bf3622c054935f2caaabd669c3a5f39e4750baf6 GIT binary patch literal 15076 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 r#YZaqv*gUA9bi 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 literal 0 HcmV?d00001 diff --git a/docs/posts/memory_python/index.html b/docs/posts/memory_python/index.html new file mode 100644 index 0000000..6a35816 --- /dev/null +++ b/docs/posts/memory_python/index.html @@ -0,0 +1,1686 @@ + + + + + + + + + + Устройство памяти в Python · HFK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + +
      + + + + + + + + +
      +
      + + + +
      +
      + + + +
      + + +
      + +
        + + + + + + + + + +
      1. + Конспекты/ +
      2. + + + + +
      + + + +

      + Устройство памяти в Python +

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + ·1796 слов·9 минут· + + + + + + + + + + + + + + + + + + + + + +
      + + + + + +
      + + + + + + + + + + + + + + Python + + + + + + + + Memory + + + + + + + + + + + +
      + + + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + +
      + + Оглавление + + +
      + + +
      +
      + + +
      + + +
      + + + Python - This article is part of a series. + + + + +
      + Part 1: This Article +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      +
      + Конспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python +
      + + + +

      Компьютерная память
      +
      + + + # + + +

      +

      Как можем видеть из схемы ниже, память в компьюетере разделяется на внутреннюю и внешнюю:

      +
      + +graph LR; + A{"Компьютерная память"}-->B("Внутренняя память"); + A-->C("Внешние накопители"); + B-->D["Постоянная"] + B-->E["Оперативная"] + B-->F["Кэш-память"] + C-->G["Жёсткие диски"] + C-->H["Твердотельные накопители"] + C-->I["Оптические диски"] + C-->J["Флеш накопители"] + +
      + +

      Посмотрим подробнее на каждый тип памяти.

      +
      + + +

      Внутренняя память +
      + + + # + + +

      +

      Характерными особенностями внутренней памяти по сравнению с внешней являются высокое быстродействие и ограниченный объем. Физически внутренняя память компьютера представляет собой интегральные микросхемы, которые размещаются в специальных гнездах на материнской плате. Чем больше размер внутренней памяти, тем более сложную задачу и с большей скоростью может решить компьютер.

      +

      Внутренняя память подразделяется на:

      +
        +
      • постоянную память
      • +
      • оперативную память
      • +
      • кэш-память
      • +
      +

      Постоянная память (ROM — read-only memory) — энергозависимая память, использующаяся для долговременного хранения неизменяемого массива данных. Содержание ПЗУ специальным образом закладываестя при его изготовлении для постоянного хранения. Из название как раз можно понять, что данная память предназначена только для чтения.

      +

      Оперативная память (RAM — Random Access Memory) — в большинстве случаев энергозависимая память, хранящая выполняемый машинный код программ, входные, выходные и промежуточные данные, обрабатываемые процессором в текущем сеансе работы ПК. После выключения питания компьютера, полностью очищается.

      +

      Микросхемы оперативной памяти монтируются на печатной плате. Каждая такая плата снабжена контактами, расположенными вдоль нижнего края. Для подключения к другим устройствам компьютера такая плата вставляется своими контактами в специальный разъем (слот) на материнской плате. Материнская плата имеет несколько разъемов для модулей оперативной памяти, суммарный объем которых может принимать ряд фиксированных значений, например 2, 4, 8, 16, 32 Гб и более.

      +

      Оперативная память бывает нескольких типов: SDRAM, DDR, DDR2, DDR3, DDR4, DDR5. Каждый последующий тип памяти представляет собой улучшение предыдущего и позволяет новой памяти работать с большей скоростью. В данный момент в современных компьютерах используется оперативная память типа DDR4 и DDR5.

      +

      Кэш-память (cache) — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Эта память испольлзуется при обмене данными между процессором и оперативной памятью. Алгоритм ее работы позволяет сократить частоту обращений процессора к оперативной памяти и, следовательно, повысить производительность компьютера.

      +
      + +graph LR; + A[Процессор] <==> B[Кэш-контроллер] <--> C[оперативная память]; + A <==> B; + B <--> D[Кэш-память]; + B <--> D; + +
      + +

      Современные процессоры оснащены кэшем, который состоит зачастую из трех уровней: L1 (первый уровень), L2 (второй уровень), L3 (третий уровень).

      +
        +
      • +

        L1 — наиболее быстрый уровень кэш-памяти, который работает напрямую с ядром процессора, в следствии чего обладает наименьшим временем доступа и работает на частотах, близких процессору. Размер данного кэша обычно не велик, а количество микросхем зачастую привязано к количеству ядер процессора, при этом у каждого ядра кэш свой собственный. Размер блока может варьироваться от 64-256 КБ у десктопов и ноутбуков до 1-2 МБ для серверных решений.

        +

        Сам L1 тоже имеет свое разделение. Он делится на кэш команд и кэш данных:

        +
          +
        • +

          Первый содержит информацию об операции, которой занимается ЦП, проще говоря, отвечает на вопрос: «Что надо сделать»;

          +
        • +
        • +

          Второй хранит в себе данные, над которыми должны производиться вычисления.

          +
        • +
        +
      • +
      • +

        L2 — второй уровень более масштабный, нежели первый, но в результате, обладает меньшими скоростными характеристиками. Также привязан к ядру и не взаимодействует с остальными.

        +
      • +
      • +

        L3 — третий уровень. Он более медленный, нежели два предыдущих, но всё же гораздо быстрее, чем оперативная память. Этот блок уже доступен для всех ядер процессора. На третьем уровне временно хранятся данные, которые хоть и важны для продуктивной работы, но регистры обращаются за этой информацией относительно нечасто.

        +
      • +
      +
      + +--- +config: + themeVariables: + primaryColor: "#00FFFF" + fontFamily: verdana + fontSize: 20px +--- +graph LR; + subgraph ; + A[[ALU]] <--> B[Registers]; + B <--> D(L1 Ins + cache); + B <---> E(L1 D + cache); + D <--> F([L2 cache]); + E <--> F; + F <--> C(L3 cache); + end; + C <--> G((ROM)); + +
      + +
      + + +

      Внешняя память +
      + + + # + + +

      +

      Назначение внешней памяти компьютера заключается в долговременном хранении информации любого вида. Выключение питания компьютера не приводит к очистке внешней памяти и её объём в тысячи раз больше объёма внутренней памяти. Минус такой памяти в том, что обращение к ней требует гораздо большего времени.

      +

      К устройствам внешней памяти относятся:

      +
        +
      • Жёсткие магнитные диски (HDD — Hard Disk Drive)
      • +
      • Твердотельные накопители (SSD — Solid State Drive)
      • +
      • Оптические диски (CD-ROM, DVD-ROM, Blue-Ray и т.д.)
      • +
      • Флеш-накопители
      • +
      • Гибкие магнитные диски
      • +
      +

      Наиболее распространенный вариант постоянной памяти — жесткие диски HDD. Они представляют собой один или несколько магнитных дисков, вращающихся с огромной скоростью (от 5 до 12 тысяч оборотов в минуту), и головок, предназначенных для считывания и записи информации. HDD являются надежными носителями информации, позволяют записывать и считывать информацию огромное количество раз. Неудобство в том, что они очень медленные и восприимчивы к ударам, падениям и прочим механическим воздействиям, особенно в момент работы.

      +

      Почти у каждого уверенного пользователя ПК в наши дни скорее найдётся SSD, чем HDD. Их популярность неудивительна, ведь они имеют гораздо более высокую скорость записи и чтения и невосприимчивы к механическим воздействиям. Их можно было бы назвать идеальными накопителями, если бы не ощутимо конечное количество циклов чтения-записи.

      + + +

      Управление памятью в Python
      +
      + + + # + + +

      +

      Управление памятью — это процесс выделения, распределения и координации памяти таким образом, чтобы все программы работали правильно и могли оптимально получать доступ к различным системным ресурсам. Управление памятью также включает в себя и очистку памяти от объектов, которые больше не нужны.

      +

      Существует два типа управления памятью: ручное и автоматическое.

      +

      Ручное управление включает в себя, как правило, три этапа:

      +
        +
      1. Запрос памяти у операционной системы
      2. +
      3. Работа с ней
      4. +
      5. Возвращение памяти обратно в операционную систему
      6. +
      +

      Ручной подход управления (как в C, C++, Pascal и т.д.) позволяет работать с памятью максимально эффективно. Программист точно знает, сколько памяти ему выделено, зачем он её использует, и т.д. Однако помимо преимуществ такой подход имеет и ряд недостатков. Ключевой из них — сложность. Управлять памятью вручную — сложно и тяжело, поскольку легко забыть вернуть память обратно операционной системе, в результате чего возникает утечка: программа держит неиспользуемую память просто так, не давая применять ее для решения других задач.

      +

      Автоматическое управление памятью (как в Python, Java, JS, C#, Ruby и т.д.) берет на себя самый сложный этап — возвращение памяти обратно операционной системе, когда она уже не требуется. Восстановленная память может использоваться другими объектами. В определённых случаях это менее эффективно, но позволяет сильно сократить трудозатраты и повысить надежность процесса.

      +

      Python — это язык с автоматическим управлением памятью. Причем для управления ею он использует несколько механизмов. При запуске Python программы создается новый процесс, в рамках которого операционная система выделяет пул ресурсов, включая виртуальное адресное пространство. В эту память загружается интерпретатор Python вместе со всеми необходимыми ему для работы данными, включая код написанной программы.

      +

      Оставшаяся свободная виртуальная память может использоваться для хранения информации об объектах Python. Для управления этой памятью в CPython используется специальный механизм, который называется аллокатор. Он используется каждый раз, когда вам нужно создать новый объект.

      +

      Обычно мы в своих программах не оперируем большими объектами. Большая часть наших данных — это числа, строки и т.д., они занимают не такой уж большой объем в расчёте на одно значение. Но зато мы создаем их достаточно часто. И это приводило бы к проблемам, если бы Python абсолютно все такие вызовы транслировал в операционную систему. Системный вызов на выделение памяти — штука трудозатратная, зачастую связанная с переходом в контекст ядра операционной системы. Поэтому одна из главных задач аллокатора Python — оптимизация количества системных вызовов.

      + + + + + +
      + + + + + + + + + + + + + + Для больших объектов (больше 512 байт) Python выделяет память напрямую у ОС. Обычно таких объектов не очень много в рамках программы, и создаются они нечасто. Поэтому накладные расходы на создание таких объектов напрямую в RAM не так высоки. +
      + +

      Аллокатор для малых объектов (не больше 512 байт) использует три уровня абстракции:

      +
        +
      • Блок — кусок памяти, используемый для хранения одного объекта.
      • +
      • Пул — страница памяти, содержащий блоки (обычно 4 килобайта).
      • +
      • Арена — большой непрерывный кусок памяти, содержащий пулы (обычно 256 килобайт).
      • +
      +

      +

      + + +
      +

      + + +

      Блок
      +
      + + + # + + +

      +

      Блок — это кусок памяти, который может содержать только один Python объект фиксированного размера. Размер блока может варьироваться от 8 до 512 байт и должен быть кратен восьми. Все блоки в конкретном пуле имеют одинаковый размер и находятся в одном классе размера, который и определяет размер блока.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Запрос памяти в байтахРазмер блока в байтахИндекс класса размера
      1-880
      9-16161
      17-24242
      25-32323
      33-40404
      41-48485
      505-51251263
      +

      Таким образом, если необходимы:

      +
        +
      • 6 байт, то данные будут помещены в блок размером 8 байт;
      • +
      • 42 байта, то данные будут помещены в блок размером 48 байт;
      • +
      • и т.д.
      • +
      + + +

      Пул
      +
      + + + # + + +

      +

      Пулы состоят из блоков одного размера. Каждый пул работает по принципу двухсвязного списка с другими пулами того же размера, поэтому алгоритм может с легкостью найти необходимое место для требуемого размера блока даже среди множества пулов. Размер пула равен 4 килобайта.

      + + + + + +
      + + + + + + + + + + + + + + Ограничение пула фиксированным размером блоков помогает с фрагментацией. Если объект уничтожается, аллокатор может заполнить это пространство новым объектом того же размера. +
      + +

      Для эффективного управления пулами Python использует дополнительный список, который называется usedpools. Он хранит указатели на пулы, сгруппированные по классам. Как уже известно, все пулы с одинаковым размером блока связаны между собой с помощью двухсвязного списка. Чтобы перебрать их, нужно просто знать начало списка. Если пулов такого размера нет, то при первом запросе памяти будет создан новый.

      +

      Пулы находятся в трех состояниях:

      +
        +
      • Используемый (used) — частично заполненный, какие-то блоки заняты, какие-то свободны;
      • +
      • Полный (full) — полностью заполненный, все блоки заняты;
      • +
      • Пустой (empty) — все блоки свободны и доступны для записи (хранятся в списке пустых пулов freepools).
      • +
      +

      Используемый пул содержит блоки, в которые можно записать какую-то информацию. Блоки полного пула все распределены и уже содержат данные. Пустые пулы не содержат данных и могут быть разбиты на какие угодны классы размера при необходимости.

      +

      Допустим, нашему коду необходимо 8 байт. Если в списке используемых пулов нет пулов с классом размера в 8 байт, то новый пустой пул инициализируется, как хранящий блоки по 8 байт. Затем пустой пул добавляется в список используемых пулов и может быть использован при следующих запросах.

      +

      Заполненный пул освобождает некоторые блоки, когда эта информация в них уже не нужна. Этот пул добавится в список используемых в соответствии со своим классом размера.

      + + + + + +
      + + + + + + + + + + + + + + Пулы и блоки не выделяют память напрямую, вместо этого они используют уже выделенное пространство в аренах. +
      + + + +

      Арены
      +
      + + + # + + +

      +

      Арена – это кусок памяти размером в 256 килобайт, который обеспечивает память для 64 пулов.

      +

      Арены, в отличие от пулов, не имеют явных разделений на состояния. Они сами по себе организованы в двухсвязный список usable_arenas, который отсортирован по количеству свободных пулов. Чем меньше свободных пулов, тем ближе арена к началу списка.

      +

      +

      + + +
      +

      +

      Поэтому наиболее полная арена будет выбрана для записи еще большего количества данных. Такое расположение арен позволяет снизить объем потребляемой программой памяти. Дело в том, что в некоторых случаях, когда память освобождается, она все еще остается недоступной операционной системе. Процесс Python держит ее распределенной и использует ее позже для новых данных. Полное освобождение памяти возвращает память в пользование операционной системе.

      +

      Арены — единственные области, которые могут быть полностью освобождены. Таким образом мы понимаем, что те арены, которые находятся в списке ближе к пустому состоянию, должны быть освобождены. В таком случае, область памяти может быть действительно полностью освобождена, и соответственно общий объем памяти Python программы будет уменьшен.

      +
      +

      Основной источник: https://stepik.org/lesson/624148/step/10?unit=619836

      +

      Дополнительные источники:

      + + +
      + + + + +
      + + + Python - This article is part of a series. + + + + +
      + Part 1: This Article +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      + + + + + + + + + + + + + + +
      + + + +
      + + + + + + + + + + + + + + +
      + +
      + + +
      + + + + + + +
      + + + +

      + © + 2024 + Иван Бережной +

      + + + + +

      + + + Работает на Hugo & Blowfish +

      + + +
      + + + + + + +
      + + +
      + + + diff --git a/docs/posts/memory_python/memory_graph.png b/docs/posts/memory_python/memory_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..26a004c0babfdf98e11201c91bbeb7acdd390739 GIT binary patch literal 37969 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 z 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 literal 0 HcmV?d00001 diff --git "a/docs/posts/memory_python/\320\241\320\275\320\270\320\274\320\276\320\272 \321\215\320\272\321\200\320\260\320\275\320\260 2024-07-16 195233.png" "b/docs/posts/memory_python/\320\241\320\275\320\270\320\274\320\276\320\272 \321\215\320\272\321\200\320\260\320\275\320\260 2024-07-16 195233.png" new file mode 100644 index 0000000000000000000000000000000000000000..26a004c0babfdf98e11201c91bbeb7acdd390739 GIT binary patch literal 37969 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/posts/os_shutil_shelve/index.html b/docs/posts/os_shutil_shelve/index.html index 680081a..14fb042 100644 --- a/docs/posts/os_shutil_shelve/index.html +++ b/docs/posts/os_shutil_shelve/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -67,12 +78,12 @@ + - @@ -236,6 +247,18 @@ + + @@ -276,6 +299,18 @@ + + @@ -731,8 +766,8 @@

      if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -743,8 +778,6 @@

      $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -769,10 +802,19 @@

      + + + + @@ -781,7 +823,7 @@

      @@ -790,7 +832,7 @@

      @@ -799,7 +841,7 @@

      @@ -808,7 +850,7 @@

      @@ -817,7 +859,7 @@

      @@ -826,7 +868,7 @@

      @@ -835,7 +877,7 @@

      @@ -844,7 +886,7 @@

      @@ -853,7 +895,7 @@

      @@ -862,7 +904,7 @@

      @@ -870,7 +912,7 @@

      - Part 12: This Article + Part 13: This Article
      @@ -1284,10 +1326,19 @@

      Функция shelve.open() + + + + @@ -1296,7 +1347,7 @@

      Функция shelve.open() @@ -1305,7 +1356,7 @@

      Функция shelve.open() @@ -1314,7 +1365,7 @@

      Функция shelve.open() @@ -1323,7 +1374,7 @@

      Функция shelve.open() @@ -1332,7 +1383,7 @@

      Функция shelve.open() @@ -1341,7 +1392,7 @@

      Функция shelve.open() @@ -1350,7 +1401,7 @@

      Функция shelve.open() @@ -1359,7 +1410,7 @@

      Функция shelve.open() @@ -1368,7 +1419,7 @@

      Функция shelve.open() @@ -1377,7 +1428,7 @@

      Функция shelve.open() @@ -1385,7 +1436,7 @@

      Функция shelve.open()
      - Part 12: This Article + Part 13: This Article
      @@ -1580,6 +1631,58 @@

      Функция shelve.open() + diff --git a/docs/posts/programming_paradigms/index.html b/docs/posts/programming_paradigms/index.html index b2b77f7..19822db 100644 --- a/docs/posts/programming_paradigms/index.html +++ b/docs/posts/programming_paradigms/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -226,6 +237,18 @@ + + @@ -266,6 +289,18 @@ + + @@ -687,8 +722,8 @@

      if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -699,8 +734,6 @@

      $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -1127,6 +1160,58 @@

      Функциональное программ + diff --git a/docs/posts/random_string/index.html b/docs/posts/random_string/index.html index ff77955..c084746 100644 --- a/docs/posts/random_string/index.html +++ b/docs/posts/random_string/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -66,13 +77,13 @@ + - @@ -236,6 +247,18 @@ + + @@ -276,6 +299,18 @@ + + @@ -705,8 +740,8 @@

      if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -717,8 +752,6 @@

      $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -743,10 +776,19 @@

      + + + + @@ -754,7 +796,7 @@

      - Part 2: This Article + Part 3: This Article
      @@ -762,7 +804,7 @@

      @@ -771,7 +813,7 @@

      @@ -780,7 +822,7 @@

      @@ -789,7 +831,7 @@

      @@ -798,7 +840,7 @@

      @@ -807,7 +849,7 @@

      @@ -816,7 +858,7 @@

      @@ -825,7 +867,7 @@

      @@ -834,7 +876,7 @@

      @@ -843,7 +885,7 @@

      @@ -926,10 +968,19 @@

      Модуль string + + + + @@ -937,7 +988,7 @@

      Модуль string
      - Part 2: This Article + Part 3: This Article
      @@ -945,7 +996,7 @@

      Модуль string @@ -954,7 +1005,7 @@

      Модуль string @@ -963,7 +1014,7 @@

      Модуль string @@ -972,7 +1023,7 @@

      Модуль string @@ -981,7 +1032,7 @@

      Модуль string @@ -990,7 +1041,7 @@

      Модуль string @@ -999,7 +1050,7 @@

      Модуль string @@ -1008,7 +1059,7 @@

      Модуль string @@ -1017,7 +1068,7 @@

      Модуль string @@ -1026,7 +1077,7 @@

      Модуль string @@ -1222,6 +1273,58 @@

      Модуль string + diff --git a/docs/posts/stdin_stdout/index.html b/docs/posts/stdin_stdout/index.html index e25f963..77d7f90 100644 --- a/docs/posts/stdin_stdout/index.html +++ b/docs/posts/stdin_stdout/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -63,12 +74,12 @@ + - @@ -232,6 +243,18 @@ + + @@ -272,6 +295,18 @@ + + @@ -677,8 +712,8 @@

      if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -689,8 +724,6 @@

      $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -715,10 +748,19 @@

      + + + + @@ -727,7 +769,7 @@

      @@ -736,7 +778,7 @@

      @@ -745,7 +787,7 @@

      @@ -754,7 +796,7 @@

      @@ -763,7 +805,7 @@

      @@ -772,7 +814,7 @@

      @@ -781,7 +823,7 @@

      @@ -789,7 +831,7 @@

      - Part 9: This Article + Part 10: This Article
      @@ -797,7 +839,7 @@

      @@ -806,7 +848,7 @@

      @@ -815,7 +857,7 @@

      @@ -890,10 +932,19 @@

      Потоковый вывод
      + + + + @@ -902,7 +953,7 @@

      Потоковый вывод
      @@ -911,7 +962,7 @@

      Потоковый вывод
      @@ -920,7 +971,7 @@

      Потоковый вывод
      @@ -929,7 +980,7 @@

      Потоковый вывод
      @@ -938,7 +989,7 @@

      Потоковый вывод
      @@ -947,7 +998,7 @@

      Потоковый вывод
      @@ -956,7 +1007,7 @@

      Потоковый вывод
      @@ -964,7 +1015,7 @@

      Потоковый вывод
      - Part 9: This Article + Part 10: This Article
      @@ -972,7 +1023,7 @@

      Потоковый вывод
      @@ -981,7 +1032,7 @@

      Потоковый вывод
      @@ -990,7 +1041,7 @@

      Потоковый вывод
      @@ -1186,6 +1237,58 @@

      Потоковый вывод
      + diff --git a/docs/posts/turtle/index.html b/docs/posts/turtle/index.html index cc45afe..9a615eb 100644 --- a/docs/posts/turtle/index.html +++ b/docs/posts/turtle/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -64,13 +75,13 @@ + - @@ -233,6 +244,18 @@ + + @@ -273,6 +296,18 @@ + + @@ -700,8 +735,8 @@

      if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -712,8 +747,6 @@

      $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -738,10 +771,19 @@

      + + + + @@ -750,7 +792,7 @@

      @@ -759,7 +801,7 @@

      @@ -767,7 +809,7 @@

      - Part 4: This Article + Part 5: This Article
      @@ -775,7 +817,7 @@

      @@ -784,7 +826,7 @@

      @@ -793,7 +835,7 @@

      @@ -802,7 +844,7 @@

      @@ -811,7 +853,7 @@

      @@ -820,7 +862,7 @@

      @@ -829,7 +871,7 @@

      @@ -838,7 +880,7 @@

      @@ -913,10 +955,19 @@

      Методы + + + + @@ -925,7 +976,7 @@

      Методы @@ -934,7 +985,7 @@

      Методы @@ -942,7 +993,7 @@

      Методы
      - Part 4: This Article + Part 5: This Article
      @@ -950,7 +1001,7 @@

      Методы @@ -959,7 +1010,7 @@

      Методы @@ -968,7 +1019,7 @@

      Методы @@ -977,7 +1028,7 @@

      Методы @@ -986,7 +1037,7 @@

      Методы @@ -995,7 +1046,7 @@

      Методы @@ -1004,7 +1055,7 @@

      Методы @@ -1013,7 +1064,7 @@

      Методы @@ -1209,6 +1260,58 @@

      Методы + diff --git a/docs/posts/work_with_files/index.html b/docs/posts/work_with_files/index.html index c77b9fe..4ac7617 100644 --- a/docs/posts/work_with_files/index.html +++ b/docs/posts/work_with_files/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -64,6 +75,7 @@ + @@ -233,6 +245,18 @@ + + @@ -273,6 +297,18 @@ + + @@ -754,8 +790,8 @@

      if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -766,8 +802,6 @@

      $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -792,10 +826,19 @@

      + + + + @@ -804,7 +847,7 @@

      @@ -813,7 +856,7 @@

      @@ -822,7 +865,7 @@

      @@ -831,7 +874,7 @@

      @@ -839,7 +882,7 @@

      - Part 6: This Article + Part 7: This Article
      @@ -847,7 +890,7 @@

      @@ -856,7 +899,7 @@

      @@ -865,7 +908,7 @@

      @@ -874,7 +917,7 @@

      @@ -883,7 +926,7 @@

      @@ -892,7 +935,7 @@

      @@ -1458,10 +1501,19 @@

      Немного про буфер + + + + @@ -1470,7 +1522,7 @@

      Немного про буфер @@ -1479,7 +1531,7 @@

      Немного про буфер @@ -1488,7 +1540,7 @@

      Немного про буфер @@ -1497,7 +1549,7 @@

      Немного про буфер @@ -1505,7 +1557,7 @@

      Немного про буфер
      - Part 6: This Article + Part 7: This Article
      @@ -1513,7 +1565,7 @@

      Немного про буфер @@ -1522,7 +1574,7 @@

      Немного про буфер @@ -1531,7 +1583,7 @@

      Немного про буфер @@ -1540,7 +1592,7 @@

      Немного про буфер @@ -1549,7 +1601,7 @@

      Немного про буфер @@ -1558,7 +1610,7 @@

      Немного про буфер @@ -1754,6 +1806,58 @@

      Немного про буфер + diff --git a/docs/posts/zip_pkl/index.html b/docs/posts/zip_pkl/index.html index 0de644b..e32310a 100644 --- a/docs/posts/zip_pkl/index.html +++ b/docs/posts/zip_pkl/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -65,12 +76,12 @@ + - @@ -367,6 +378,18 @@ + + @@ -407,6 +430,18 @@ + + @@ -846,8 +881,8 @@

      if (active.length == 1 && active.eq(0).attr('href') == '#' + id) return true; active.each(function (i, e) { - - $(e).removeClass('active').siblings('ul').hide(); + + $(e).removeClass('active'); }); $toc.find('a[href="#' + id + '"]').addClass('active') @@ -858,8 +893,6 @@

      $window.on('scroll', onScroll); $(document).ready(function () { - - $toc.find('a').parent('li').find('ul').hide(); onScroll(); }); @@ -884,10 +917,19 @@

      + + + + @@ -896,7 +938,7 @@

      @@ -905,7 +947,7 @@

      @@ -914,7 +956,7 @@

      @@ -923,7 +965,7 @@

      @@ -932,7 +974,7 @@

      @@ -941,7 +983,7 @@

      @@ -950,7 +992,7 @@

      @@ -959,7 +1001,7 @@

      @@ -968,7 +1010,7 @@

      @@ -976,7 +1018,7 @@

      - Part 11: This Article + Part 12: This Article
      @@ -984,7 +1026,7 @@

      @@ -1512,10 +1554,19 @@

      Модуль pickle
      + + + + @@ -1524,7 +1575,7 @@

      Модуль pickle
      @@ -1533,7 +1584,7 @@

      Модуль pickle
      @@ -1542,7 +1593,7 @@

      Модуль pickle
      @@ -1551,7 +1602,7 @@

      Модуль pickle
      @@ -1560,7 +1611,7 @@

      Модуль pickle
      @@ -1569,7 +1620,7 @@

      Модуль pickle
      @@ -1578,7 +1629,7 @@

      Модуль pickle
      @@ -1587,7 +1638,7 @@

      Модуль pickle
      @@ -1596,7 +1647,7 @@

      Модуль pickle
      @@ -1604,7 +1655,7 @@

      Модуль pickle
      - Part 11: This Article + Part 12: This Article
      @@ -1612,7 +1663,7 @@

      Модуль pickle
      @@ -1808,6 +1859,58 @@

      Модуль pickle
      + diff --git a/docs/python/index.html b/docs/python/index.html index d2be245..204c1c3 100644 --- a/docs/python/index.html +++ b/docs/python/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -220,6 +231,18 @@ + + @@ -260,6 +283,18 @@ + + @@ -742,6 +777,58 @@

      + diff --git a/docs/series/index.html b/docs/series/index.html index f39be93..02199e0 100644 --- a/docs/series/index.html +++ b/docs/series/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -442,7 +477,7 @@

      · - 12 + 13

      @@ -520,6 +555,58 @@

      + diff --git a/docs/series/index.xml b/docs/series/index.xml index a3e8922..7a7cc55 100644 --- a/docs/series/index.xml +++ b/docs/series/index.xml @@ -7,11 +7,11 @@ Hugo -- gohugo.io ru © 2024 Иван Бережной - Fri, 12 Jul 2024 00:00:00 +0000 + Tue, 16 Jul 2024 00:00:00 +0000 Python http://localhost:1313/HFK_website/series/python/ - Fri, 12 Jul 2024 00:00:00 +0000 + Tue, 16 Jul 2024 00:00:00 +0000 http://localhost:1313/HFK_website/series/python/ diff --git a/docs/series/python/index.html b/docs/series/python/index.html index 28f1e0f..0d537ae 100644 --- a/docs/series/python/index.html +++ b/docs/series/python/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -447,6 +482,123 @@

      + +
      + +
      + + + +
      + + +
      Устройство памяти в Python
      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + ·1796 слов·9 минут + + + + +
      + + + + + +
      + + + + + + + + + + + + + + Python + + + + + + + + Memory + + + + + + + + + + + +
      + + + +
      + + +
      +
      + +
      +
      + + + + +
      @@ -2031,6 +2183,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      +

      diff --git a/docs/series/python/index.xml b/docs/series/python/index.xml index 6927b44..cb5f692 100644 --- a/docs/series/python/index.xml +++ b/docs/series/python/index.xml @@ -7,7 +7,17 @@ Hugo -- gohugo.io ru © 2024 Иван Бережной - Fri, 12 Jul 2024 00:00:00 +0000 + Tue, 16 Jul 2024 00:00:00 +0000 + + Устройство памяти в Python + http://localhost:1313/HFK_website/posts/memory_python/ + Tue, 16 Jul 2024 00:00:00 +0000 + + http://localhost:1313/HFK_website/posts/memory_python/ + Конспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python Компьютерная память # Как можем видеть из схемы ниже, память в компьюетере разделяется на внутреннюю и внешнюю: + + + Модули os, shutil и shelve http://localhost:1313/HFK_website/posts/os_shutil_shelve/ diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 208a138..193aaac 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -4,13 +4,19 @@ http://localhost:1313/HFK_website/ - 2024-07-15T00:00:00+00:00 + 2024-07-16T00:00:00+00:00 daily 0.5 http://localhost:1313/HFK_website/posts/ - 2024-07-15T00:00:00+00:00 + 2024-07-16T00:00:00+00:00 + daily + 0.5 + + + http://localhost:1313/HFK_website/posts/memory_python/ + 2024-07-16T00:00:00+00:00 daily 0.5 diff --git a/docs/tags/algorythms/index.html b/docs/tags/algorythms/index.html index fe999dd..82559a4 100644 --- a/docs/tags/algorythms/index.html +++ b/docs/tags/algorythms/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -648,6 +683,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/big-o/index.html b/docs/tags/big-o/index.html index 6df15c9..a7a58ca 100644 --- a/docs/tags/big-o/index.html +++ b/docs/tags/big-o/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -648,6 +683,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/calendar/index.html b/docs/tags/calendar/index.html index aca28a1..f63beb7 100644 --- a/docs/tags/calendar/index.html +++ b/docs/tags/calendar/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -664,6 +699,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/datatypes/index.html b/docs/tags/datatypes/index.html index fe5b08e..7715488 100644 --- a/docs/tags/datatypes/index.html +++ b/docs/tags/datatypes/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -1039,6 +1074,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/date/index.html b/docs/tags/date/index.html index 50a07e0..eefee83 100644 --- a/docs/tags/date/index.html +++ b/docs/tags/date/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -664,6 +699,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/datetime/index.html b/docs/tags/datetime/index.html index 750a07d..8815b5e 100644 --- a/docs/tags/datetime/index.html +++ b/docs/tags/datetime/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -664,6 +699,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/files/index.html b/docs/tags/files/index.html index 48c9660..73a6cbb 100644 --- a/docs/tags/files/index.html +++ b/docs/tags/files/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -890,6 +925,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/functions/index.html b/docs/tags/functions/index.html index 43c5a16..a9c10e0 100644 --- a/docs/tags/functions/index.html +++ b/docs/tags/functions/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -640,6 +675,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/index.html b/docs/tags/index.html index 020e349..249358b 100644 --- a/docs/tags/index.html +++ b/docs/tags/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -557,6 +592,22 @@

      1 +

      + + +
      @@ -618,7 +669,7 @@

      · - 15 + 16

      @@ -792,6 +843,58 @@

      + diff --git a/docs/tags/index.xml b/docs/tags/index.xml index 30a575e..29dd90e 100644 --- a/docs/tags/index.xml +++ b/docs/tags/index.xml @@ -7,11 +7,21 @@ Hugo -- gohugo.io ru © 2024 Иван Бережной - Mon, 15 Jul 2024 00:00:00 +0000 + Tue, 16 Jul 2024 00:00:00 +0000 + + Memory + http://localhost:1313/HFK_website/tags/memory/ + Tue, 16 Jul 2024 00:00:00 +0000 + + http://localhost:1313/HFK_website/tags/memory/ + + + + Python http://localhost:1313/HFK_website/tags/python/ - Mon, 15 Jul 2024 00:00:00 +0000 + Tue, 16 Jul 2024 00:00:00 +0000 http://localhost:1313/HFK_website/tags/python/ diff --git a/docs/tags/memory/index.html b/docs/tags/memory/index.html new file mode 100644 index 0000000..b70215e --- /dev/null +++ b/docs/tags/memory/index.html @@ -0,0 +1,734 @@ + + + + + + + + + + Memory · HFK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + +
      + + + + + + + + +
      +
      + + + +
      +
      + + + +
      + +

      Memory

      +
      + + + + + + + + + + + + + + + + + + + + + + +
      + + +
      + + +
      +
      + +
      + + + + + +
      + + + + + + + + + + + + + +

      + 2024 +

      +
      + + + + + +
      + +
      + + + +
      + + +
      Устройство памяти в Python
      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + ·1796 слов·9 минут + + + + +
      + + + + + +
      + + + + + + + + + + + + + + Python + + + + + + + + Memory + + + + + + + + + + + +
      + + + +
      + + +
      +
      + +
      +
      +
      + + +
      + + + + + + + + + + + + +
      + + + + + + +
      + + + +

      + © + 2024 + Иван Бережной +

      + + + + +

      + + + Работает на Hugo & Blowfish +

      + + +
      + + + + + + +
      + + +
      + + + diff --git a/docs/tags/memory/index.xml b/docs/tags/memory/index.xml new file mode 100644 index 0000000..b8b083a --- /dev/null +++ b/docs/tags/memory/index.xml @@ -0,0 +1,22 @@ + + + + Memory on HFK + http://localhost:1313/HFK_website/tags/memory/ + Recent content in Memory on HFK + Hugo -- gohugo.io + ru + © 2024 Иван Бережной + Tue, 16 Jul 2024 00:00:00 +0000 + + Устройство памяти в Python + http://localhost:1313/HFK_website/posts/memory_python/ + Tue, 16 Jul 2024 00:00:00 +0000 + + http://localhost:1313/HFK_website/posts/memory_python/ + Конспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python Компьютерная память # Как можем видеть из схемы ниже, память в компьюетере разделяется на внутреннюю и внешнюю: + + + + + diff --git a/docs/tags/memory/page/1/index.html b/docs/tags/memory/page/1/index.html new file mode 100644 index 0000000..2ca699e --- /dev/null +++ b/docs/tags/memory/page/1/index.html @@ -0,0 +1,10 @@ + + + + http://localhost:1313/HFK_website/tags/memory/ + + + + + + diff --git a/docs/tags/modules/index.html b/docs/tags/modules/index.html index 76457f3..4d046bb 100644 --- a/docs/tags/modules/index.html +++ b/docs/tags/modules/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -1454,6 +1489,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/os/index.html b/docs/tags/os/index.html index aa7c6d7..83f06da 100644 --- a/docs/tags/os/index.html +++ b/docs/tags/os/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -664,6 +699,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/paradigms/index.html b/docs/tags/paradigms/index.html index 85513c7..ddbec3e 100644 --- a/docs/tags/paradigms/index.html +++ b/docs/tags/paradigms/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -632,6 +667,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/python/index.html b/docs/tags/python/index.html index 7f665f3..32cb201 100644 --- a/docs/tags/python/index.html +++ b/docs/tags/python/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -447,6 +482,123 @@

      + +
      + +
      + + + +
      + + +
      Устройство памяти в Python
      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + ·1796 слов·9 минут + + + + +
      + + + + + +
      + + + + + + + + + + + + + + Python + + + + + + + + Memory + + + + + + + + + + + +
      + + + +
      + + +
      +
      + +
      +
      + + + + +
      @@ -502,7 +654,7 @@

      - ·827 слов·4 минут + ·837 слов·4 минут @@ -560,7 +712,7 @@

      -
      +
      @@ -611,7 +763,7 @@

      - ·938 слов·5 минут + ·942 слов·5 минут @@ -2374,6 +2526,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      +

      diff --git a/docs/tags/python/index.xml b/docs/tags/python/index.xml index a149a5c..e9d3cdf 100644 --- a/docs/tags/python/index.xml +++ b/docs/tags/python/index.xml @@ -7,7 +7,17 @@ Hugo -- gohugo.io ru © 2024 Иван Бережной - Mon, 15 Jul 2024 00:00:00 +0000 + Tue, 16 Jul 2024 00:00:00 +0000 + + Устройство памяти в Python + http://localhost:1313/HFK_website/posts/memory_python/ + Tue, 16 Jul 2024 00:00:00 +0000 + + http://localhost:1313/HFK_website/posts/memory_python/ + Конспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python Компьютерная память # Как можем видеть из схемы ниже, память в компьюетере разделяется на внутреннюю и внешнюю: + + + Марк Лутц "Изучаем Python" http://localhost:1313/HFK_website/posts/mark_lutz/ @@ -25,7 +35,7 @@ http://localhost:1313/HFK_website/posts/deep_bool_oper_python/ Конспект посвящён скрытым особенностям и неочевидным деталям логических операторов в Python Truthy и falsy объекты # Falsy — объекты, которые могут быть оценены как значение False. - + diff --git a/docs/tags/random/index.html b/docs/tags/random/index.html index d32eb7b..4a2e455 100644 --- a/docs/tags/random/index.html +++ b/docs/tags/random/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -656,6 +691,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/shelve/index.html b/docs/tags/shelve/index.html index 4aa95dc..c270e16 100644 --- a/docs/tags/shelve/index.html +++ b/docs/tags/shelve/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -664,6 +699,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/shutil/index.html b/docs/tags/shutil/index.html index 59e487a..552a1a5 100644 --- a/docs/tags/shutil/index.html +++ b/docs/tags/shutil/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -664,6 +699,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/string/index.html b/docs/tags/string/index.html index b4b64a6..eab50be 100644 --- a/docs/tags/string/index.html +++ b/docs/tags/string/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -656,6 +691,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/time/index.html b/docs/tags/time/index.html index cb681e3..ddd6998 100644 --- a/docs/tags/time/index.html +++ b/docs/tags/time/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -664,6 +699,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git a/docs/tags/turtle/index.html b/docs/tags/turtle/index.html index acdb051..2a43cd5 100644 --- a/docs/tags/turtle/index.html +++ b/docs/tags/turtle/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -648,6 +683,58 @@

      +
      +
      +
      +
      + + + + + + + + +
      + +
      + +
      +
      +
        + +
      +
      +
      + diff --git "a/docs/\320\260\320\262\321\202\320\276\321\200\321\213/index.html" "b/docs/\320\260\320\262\321\202\320\276\321\200\321\213/index.html" index 4206edc..907cd15 100644 --- "a/docs/\320\260\320\262\321\202\320\276\321\200\321\213/index.html" +++ "b/docs/\320\260\320\262\321\202\320\276\321\200\321\213/index.html" @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -504,6 +539,58 @@

      Ав + diff --git a/resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1024x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1024x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..879a8ea8793bbf4c5c1eceb9c10d53ed6ca5abd0 GIT binary patch literal 21173 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 VHsj$29$+$H@O1TaS?83{1OTxz4(tE` literal 0 HcmV?d00001 diff --git a/resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1320x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_1320x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e4035ecb9f0c7d8a76ab66c58e4369d98a2a2d49 GIT binary patch literal 27298 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

      =ftUD&fs5Y!~%v=NLHm1c!=pU!A{rx9QoF!g} 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 literal 0 HcmV?d00001 diff --git a/resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_330x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/arena_hu456aa2ebc988d7c2a8008e239d104a22_20014_330x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b663325d30a922d659300c6d5221808bffbc6e3a GIT binary patch literal 7923 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 Unrd#W@D0XGF*(tK=da%WKL$Cc`Tzg` literal 0 HcmV?d00001 diff --git a/resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_1024x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_1024x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b1441327a1cfa9fb4939fcca2f11557b06175395 GIT binary patch literal 37396 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%0DF4oGKGM;}Ju9g@bom1O)zL#as zev0Rdv@I6C$Fl0vv2!vKRrRDNILjl zI9glTVgJFFVF3E6%0|FaSLt4?Y;*J5XKee@8st>Rv19#-D>j~?YVLt=!If8F{z z2>%{onxh=sWVyOL4c**=2kN?#LhqdjeC_elp#d(QQJ7In5PhMZ`^$!@%wyQG((e@& z+Su~q>+U}L$`P3)r`C2i1C*PD$WS?H4y2=b7ON8WjxU?&6{nntM`wCk+hv!kl%&60 zxl*$(@7K^o?F`?OnQ|y!utJK8ULeM?(N+8TO`E5otftBzv7+dqlGl)T>Hc*SNnsO~ zc&8-_iCD|9vzIBbep`=+SF7hXw%@zg8LrUL+1+rCBaD`l3qT`1(rfE-vY2k@ZbN@N zvbsF|)s36QHL)~adXd|vpV3WLR`dfEWnsd{EAv*!8#*}Nbw%s)7vrO7u5HzQ-T@{p zdms-%QEp_l*_6d%hD?YNIB)bh}E-KdNWMjP9J4CNLnBmPI7Y+8DUHdo_0vy)O2O^U(>j_|5_3ogwqrQBirY^X}a~j{jB>Ga@#JEg^ zu|M1ee_X55)U7(eG|Kq0lOldqvZOtLah5nOIL2#hi36b6>?z z)&p7G%*=&GDS{4c&fB0j0&&uNPOYMP;OrrzTfQ?``4K)32>g}v3iz&4NUF}r-^l*( z=V7cJri9$JBDWwfv4KV0$}+v7k3HtI!iIK)5Dm9*j(^&| zR?GI=dFq(g26L^DQKfr6U(j0ugyuNi?e=CJLZXq*seKsP^tD8Tl7$uJ?45&0uDF)H zX#W&PbM zCP@~a?Klkr)6P*it;wdX>mMwh^KoN!Bxq`-J(NnsI6>U0!x!yyH@wR10fBdby>W*Kj;AOdV2+PgoE}P(e`{5XEMwJUHKE; zB-SUaUsx+=_6<|x{>Y?4Hp}704PV01sx+4{{zhL*;JD&`T_cYYt;^gEb z>?G>=uO7<1YLeLv4nEQIz&qY51{<|uU=^IOE*0ei%>HBZ3fJYET(J7+kF(kqt13by ztZg^)wa&cGPlm&6;$2mm8+R`vm^Cb(YX^{>!O#2xBc)MJd~p&jH1!Qa#)?&RaHpiN zR=R3%6XOGX=gz#U0pQ=fbjp?=@DouMCN2O|TkB_4$Nf!}ZIW#Ci_k?deT9Z8Q$qcy z!-qw6skDyYs*g0R~4}TOOntrqBp24s8v6!#2;A-!vgt=&YgE$TE|F%?@g z97o|Xkzh~j{VGq=^z_P%ZMFT3kj^gV`kacvrmW)V0WIS7e1iDYzF+aFB;B!GBCxbsSK$FqNRy?HVNY)`70HFQH~@jH7N!DJsiBm(s)|bJ>@H{ZxXIIhimcXnwy)9ZyxuB* z?~&3A=QOo#7{;s0nGKGL-8I!d#uxql^f7loW0c*lgm8bVa_i%MEd*yLE@R8uWt`wQzpLA{Nz=) z8!NF#>xpD86=!|FSf_F6p}?ocN3^Y=gQ0O)k*nN(L|*2?;u(N6&Xk}g#r zz|R+xlM}?&oY;+ZMZ=dqsYuJ7`*%EnulrhBI8F|&3Rk>u@1DM+3p|(Yvg*2i4ReBj z$9Zd-dM|e47fh?SGh4^A-MND@c%$obm2*RSXk=L8?AMIq)FO!ImaHBv;%sUICfTdE zx7PtKM5k}WT3J-Y19d$aD)~xVvCJR zbqiLb{={{(Aob_~=!XwkuS%bN(p``?JCEi01Jr+pm(t*Hejcv<)30RpKtJt_qrEov z?UI>WarkvM*jeJbt0*LT$4T2bU|rtOP?R>|WUSx?l<=Lzp(Avc+E^#8rjFkvSY);!^1-d z_^9dCN_OrPvq4Jur%#^*??0AKFUiC4O|Cfm9mQwyWyETW5JbO-{;Vi$cOKcF=CKd{ zD_W&@p149q<;+(cZvz^!OExp_`N2;K2N`LC_dQ$aotGUdW)?B4>6aLPkm~gC3S5Cx zP*QG`{UR+GpQHStZq}1^Vg66Rx$UhV^`9tMMoVi1-d_b*pf_ z{antHzk+Hh-ydYBl-n;+#ImE?&jXNzl4e!kOEwOM^Yl0e>ub$2)IfOM^e4QY$1%vq z{5v4N2NH*3#oYJ{MjiA{D8oJ<4lOSaN)&o7$Xpfsm6OuV36-xlp|tdJ|GF1 z%4V;|Z*tq<*#ctKeQmvRBb_ptH8kMqvk#MWW(A}0Z)|WCjs8S1EVpToeMEU1VEC^C zIo-@R*z263aKmH6%}_v|VEJjy!aL;!^1`H0r;TC4>B4~f%WC*~2wHDEuw%6C7du*k zPTikeJXlfq?()RbHliS*?`ZwkRwSo)d3Z1@8HtOpnz}_X#PCH*WmqhaY3PU*1%Yrx z-obbE0_pS|!4EE5{@1t}F#O&bU>1G?yWjs~W1duB#I0Qt~kFR;xeIx?dDOGOsUb%T)}p8mA$HlB#{Hv$K? zysTK7I1HqRW#pde*<9V`XBWC~DU2EK)Zly~%;gQ`z^nHo`z`sY z0j-h}@xOw=;ip1C@gMG`s}n}zBTK7)#o=q@yts|!{%*^oFL~d8%^L$~#5eovlZ;*` zT=A3+U-b4@e8oTR9}pD{vb}grI#8t; zN6>ZY3^i&uc!<~!br@OMJU1D^XcoWa$mT+%9yel~i_F*Ds=i*_O0o`UaT>>p^ElYV zO35dbEQ$wYBH4qkM>{Kk5eJD#SKztpBf0D2KyORZdn_-12c$G`aCEh`QCOz(8iQ0Y zLC4jn;LtpL=vS{_b`&%V8yxhYg)hGSeIz3#RS$Gj36CR(i^`u1Co-{Jkv>qqMneNm zdhRw!i`y;RR%M+sTPYim=Fn)Z z3iZ6^1#__F1X#eD-zDR|6GuSWJq0;-H*%#>6Cl;LufLy%o0~;BE-EoG5u4K%bV4M2 z4gaRoAIfuGJ?m*;U?3oS$-MQjLW?j^mx1mFj1{#>sM0mw7^E=~VS(9Ou#x#A6b3FG zQ8kT385(ODFsOzGk5mx__a63s zDvLv}<^<#l7W~?^f%UI`kI_%$XPS8cBjVnBfQW@NKoUN?VK&?<+4M*#(^6pDAH&knZ$85eFBn6%wi?G zg5qY@7?QFjV(|+6{R4pemY?cU)TmpHmxKr%$)QA>x&UaMkpKpiyu$>umRGC${P`oV zA8Zke->YV;p7R&KK&M~))H{$ZGCBJ;C0`ow+-9b#GX7cL?0^oysuVca6k9uwe_1Qhq3{p{W^A)k*!2dSZ(;9FxLGPOvM* zhsVb&Jx`Bp_K#Y#G(CS1=ejPJY z53k>}vb1yuw>flWvN1Mpe2AKNu87eq$+ulXKL5Rhy8y+vQMr$0jlgJw61=NAiJVZb zuC6W}<4^*iwrh5Qttt8Oqh}>Kx|F1gQ}s^onoH6XHhdes2fUauElE)L0202cz8@A3 z>q?{C>xGO#9Ry{iDy~$<_LXTzHYe1jpqh6sTYmI^T^f)=rjJfA-7Aef!Ea}&F9NRG z+~4#n@j_=xKhSor9aCFai=S*Z*wh^QD+6t!j&!vC9e$H_D0xqod&oZ4@%H-O0*=?R zVfg$TR{J2u0u4SsK9F=s3GWE!_BXvOY+db6ywuH~p`6lR>AYcWZM|5;*E>yw`ydZ#C=1!OOLQt69-$Wx$bq!tg0*6@DEH1daliP| zukrYGWB?^6=D)}RjRK0_h^wH1$K;A19DV&!jG9oKK#;iB(C8=vBodIWfvddEkEiq2 zzoaXIIqhO7ELe`}>gwu@6$qN7(UZ!c_&oeqMCHmfCv6pJm6ZLpsZCato;NDFyob2jt&|MI6=AX>|1Pj zF*-mK>+y!%Un!?R_x#;oS>TVl@|w3VFdI83dTX$PsHo-JZVL1y+hd5sHl+FSClSxT z;Sfm39;T9;x*mfSq}V4Ca857*_n`k338m@|)F|5Na> z&M6?QtF6Gz=eIffj3U^hGs9Q@SAQ6bm}mFrr{DFbr}=rgnSZmleNWDkDg*=*3&8h zR%iGQSs!cR(gUC4Zw);{g1jb0r{lQ8cp0j9i&9c$f@$J651ZfSO&+g-NlFY8j)+7^ z&P@i+4P-Uvp0BvS>1~FY^V%*J6dWb!QmGcD`cR6w0WbA58S?g4jUpH6PY8`C(YpUw z;@q&#&|s17wV6mypKOL{bF*cl-mRxRv(st*E7#M@J*g*R(Awgbg6CZ;_ULHE89>-G zPJ0AA>GbvX5hZ^w`hf;E4|Ilf%J($hVIX6q4l^mim}Ke?*nb9;Vj?vyWx7V~6J%vF zosH_29_Eb4h9Qn0OR<0k?rf4jxbO`pXhFW^D`1e9#URWl z3Q%8H=0`Z;{fd{JIE?nKCQx?W|XEsg=@yTYSACHgIbp0e0| zb^fFbNIMmPgwolF0BjlQ)ImYfgJM^M7j0GZzK>=r5@tVowlDVvX-aI^vX9?BvP^kn zJWmzD7e`CC3}lOr;E*kDb6@1`=oKE8#s@wk14CP0yQVff1}x^Yt4tMU`*Il;V^WRdc4{2}A%PxO>4X3jA*)CIO`ZD7L)IkVOj3Q(4%G?pdI zUfC}a2*+P_J37ld`+hu1i-2(H0TJ)gLHS||Edgj&Pd;b(_H{(osBrgS{NnM2Ab1zF5PJT#|-CQ;>`Gt3>4k(gdDMfuH* z8WAv*UeP4gti4t3cq#ye*PU76sBbILU`>pt;t$%U(4sSDd+8Ra;NUwJmCK%cUl22r zxKBVzFcBcR7kPA$Zj1FOG~(pr-!FNLy6kGNdlYHj-$% zhqFVh0k}NbtT<|_UtNBdduP9Rs@?UDZlr5ufb4c!NHEXfcsCW{G&3|mF~@DbgADRK z1B>1p6nVt{#kP1XzD_A5SU;s?UH+>`2BDOE)w~a*Nm}na`6ba!F!HX8&|2lh`TB}I z7()fRD$N%V_h3On6q@w*&iKh(K37MJ+IG+Xh_w!iuU?=NL|($`M2oDqzsDp*XOi$e zm#r?pdJLDcj(Sn8>E-kM5eW?c#kjz=?wH8WNJd&7iMzA%Ew_)d!EDphjTuvWY|CG? zpIZgn_*@JjY&mgdhi;FN1HU#LkETpNVp~7k2cz(MfB=@=USpi{MEd=x`RRFg!U{Pb zP1#Rh!GO$i>au73JO#u1+U^TJp9XF%tvAl&U|)QeYL8;d(KDV5%hc3|`Lk7VmHjG( z8Cwz6qdv5(ZUI??97O^oadM;DT|Rhbpd7$wDTtBX@Z4pfre(pMLr9fYp&R~;rh?A% znQPUajYQc|wqLkf)Js%YhRWCDK&tjI5xo)y(>x~3X@E57U~O)e#K2I!m6hTEX-SEQ z3>ao{%3FFq8o>~?!;?t8%BoTQle%7QKI0pFwF?vRRo!@I2EzaDF3wVH=tL_XBY#}v zET1IfE1RXd@{XyUUQ*Ig+F?iv6hTPN7%=?)KuFm2Arw28nIvK(V`tH4xB>R7nDD%p zdFRcxqqCZT<_21-pV?hM!Z!}2_MJzsTW;@jYO92N(E1duoOjS)T|?Y`TEvJ-_0e{; zFwsyP7>aSVN!d&9$J79wBOsH@$AbO=!l4Lz|LSmimP4 z{#`N8Pp7|#E+UBf)e=x41nSvB#BAMF2_~-{1`bPi20qJX4PeEVg73@nM*}a667e}L z6RF*Pm&|c=OEt~;&X zy}5Vf*;FpVg-9yMtF34+h^oCimTJ8NZFx7%O~fPd1vgdqoOsC6e9go{XeJe2l&woX zjSe1?pojJ;u`;9q$yCv?mQP{1v9uiJJPWjD$!yG$`@y z=~lAeYBi&xNZ06p`OtB{)cI=9sWVWvGR7yL=svWOdhTeknDXPQ&Debsn%ny)4KnQ0 zW_r1*S#hbdcvO@W9m%DZck))Lsig)^=r|E|snrcIf^RX9l0*X&|4JtPAk6p!_{ z*Z-F~lTVfGWy_gbvU;R{KNuZ#XDPF{&g`=SDb*JK{V&yfy)Vf5yqf267L$6If#7pJ zdk}O97+*BGb)0`pm3`dQT@n3)f&Cp}XVw_}xRx-(C7)tMzu2lW zFPYZ&A)r~7R%{8yz`11LUB;=6s|=4t%*aj#PA!Rn+sx55JQYlx;HX=Ce`N!Geo^TJE`Hy; zd%)9}SGWQ5n#XZ$Cyj`RBnyvVkXXs@UZX77eT-6MsooqSV5zcyGNiiY;@dJ1b^Ys&J9kJYS9GQ$fMUwP*R3=m{7haR zwcB*qG5%Rj6~k@I@XBT$2MKhBx>}I*ES!uc%WqG`yG|5fuR78EW$(&Dg!n(&4cGDa zmo-f=+X=%?5gL%(iShCo&%!MgQ3Y)RC7`$okKKj`SHPA6@b0CyMC6;C;K2gQcLG4% z9E83TP^N>E1j96eiW0_<$Xnefe-#|VmpGFDiafA=`26{EQW6vV{kLKHDwk187X^cY z%-o%CPrrdY$Pogttdzt z1$lBHocsEeEgGw*{3o2NW8KDJR(uP)u`-iP|2J0OTeok&(fZ=AXr+foAnkZM&SmlC zSAJR_NR<3{RB4ubUi>xYpSbqUojXaCQZFxI^Zh;Fy3Y&@46LnlPb&bEEv<+G5>|DfrX)yUxD*y| z{(Gz#+z=k7x%sISrwp)<;#aR+*#eKv=>53zQ(~G*?b%(YptL3vqO5NO=f`?0H~N6C z-~k9LM`8M<-HZ76=iTQgWFF)sFifBq*{C#`*!tY!|8gM~b=g|B+%Y{QpTYReKmouaVw{S+B{|)pd&US3Y+$ z+sV(uPK}ci&jg*WljB>h5Ck(JD6dl>~g zt?&Bn<$h7Thr^s`Ph&dGNw^)%$2edAQB0x_+tKa?4+D^Q@$vJT?+G`@aldge6oxyg z^BN~-tkLOyTdf2fab&!L5Nzo4=eK`^7zfkUXY5O(7>{^-UDuVbpa#+gBzk#||CM60 z$6q|F7DFF`BDu=bz40asDhQDOJ)n$_=<;Q!^$7%^u7%|W-Nma$YgmIm@UQ*Mx$==e zM0Q@|i1I5!X4LCp|FliznXA{@t{yn5*ovU&=xA{(Z)w!i=7c9kWLY9o1k@q#fB4JY zG$wtGx~h5fHg`wpL?H@vG(h=P^#r|Zd8`x2>5c?qnRJx$F4!^HN3TpT{`Ts|Gb$h) z+O);8+e~EM=OE+fZ45YjU)Z%lDblpp`DqZ<^VIfT8op}Tx5+Fz1wx(Af4uGm#Z#09 zCCbu!*xCs}TW_)R)zIGxjPS)!@JJF+D+Sa7EwukZ5UnHIyw4lKc^sI?pf4e%&XScI zgROY;#Yp5Ik;QupR15b6s_F)K-vKprpePL#l!0;=P^#>rQ}pBZty`do_!<>e|L`u6 zS!WC%X0a1gd*x+jg3@DL8!_8!SFcWhF7{`rXl}Y@T)=n$LTBMku>c%Xhe8q5W{l+MEOqpCVdN5OLynhdXGKROE}jQ&$fgXz@}78YLieSm;&0VOz?m5b}6a+D$q zqt(r}F1dU7dXgxamaFrvt*yA0p^HACmT1}vH=b>V$vDO6GGqWU2Z{Z0{I)>t)rE^M zb12+gT^m6KzK#(u%?bhgPxOJhn%ZZD1wSGxms(K1UPetrlhSQO@a3P;{`Fu4Fi==y zSb7o41>7Mn%oyYiutg|%cV-Q)f~PTntP8+a%X)X>)G2wK?hfxfXR62E_A*o!2nzZ@ z4YjAAC!=X+%bDIST_Qt-NalqymMLVY zvBqYnaGrkv1C>mQWP>vgIPr8jG4)tnaVt~EG%oCd)4oK&%5_N=X1{aoW1uy zd;3E^`TDN!@I3c(Ki7R-*Zq&M>bj1O0-Y=nvWflx(crXDT3X7e^yJACvJt_m=G4kc z4ljg)8z|NCa&j_z|1FOKe+Q5oT3A?sel86pOo$DrncU7DfCZK}Pe2FwnI)k4S{$_LN|Yd4 zE5mQ+qrr{i&jNI~la$ENtrgkArI_Rs;5Qz3m`9 z0hr-Q93XKOEL&&%)Z;+RpBSVeW~yXNQM}JG~}nQ3SaV9*Q*~cVt+2 z_%88o^cWB=wM+yKM z*$I8d+y}wi#X~phvsxv)N3jY(Jl$m#mHWd*Zwm^d@k9OnCBFL@xW3PzW+Pr-E7YZl zT9oCHQpuT>uA~d4#l=z*5;vBzyv5P|}R z+B@x(OP*_!t5BnW*=CI|vT6fWXbQF~Nt)KH)>aCCu!=^xFWm+KJUshXO-)T8yC3(Q zi9q4kqaa?iKT4o@seVjr>^tbD!)`YtYcE_RMHqvVNM&m3UC`lzl7lB`3xmP8MAAdJ zi2)Jjn>RWA_Zl7f74EXIu*?-dK$@feU5h;a!EPqaYZ6qpO!D%>=Ajo6wb%TAlThja zB`O0f9*9q{vJwYH>>AJYlae)Kkzb6CA2dwiLC}Py1@(T7v#EXYwItvXsxOH$JrlO((e=ouvk1-~CneQN-#Q&D5k%J=n zpDOxcxbYnrO<<7#24C>Nki@gm!r9_(e5f4B1Nm}xw!O1+x242UT3SQl6NQQ7^elb% zO7yb(=iNXd4bEBLGu6yXze%dUl^Ai{Ug!rA{%FBwZLwW1ZYmrdEe^=IisNTS)ROq?X*haOzs#r)^tpsQIPDy;YN0~$SBwc#|L$*g*9{#sWS+hKA)XGffca%s#*V z-zFme+eGAlNfQwQ3bR619=(hG$b)5+5ELQ@4l zucc-R_)hd@8aUBC{+Ti=IylPyU3v%eW_)x!M*7QRhJ<1RwyW%u8%mU~hghC{WnmWs z9!pb&rAEl=-El$}y2c^P3LE>+*uT3e4hUb{FihA;JrUlj_xS!>9paKm#KdDk>>l>`y1Op4%sSh{~L zr7lHw9mun;UUy7=BJ>=J`1l%9WLk1J2-YFfzG7`UsYmrQZQy6$d(O z$c@$2Tj~7PNUsy@!SMl3LPJMKG}5VpT6Ej5bnT)EQdkp~+zFWzq|%AYu!)CkjCjEp zBbsN9`Owh6fwg}b^v+-xmneOo!AF=o_0*L}+>!7fT|r_m4r_032TQO)KlVK^a3XqO;*v8(zDA*OGeJRQ6R`Js;&-rU zI#Y~7?EWZonQ5r(U40y`k9&iakB*KmaG6nkM28SW`jJF);SM2gF0LI}qc_1cmR6wY z5#NsaIHM;gNU;q5BVWZ3t%2DH62WUa_AWUaB*%r`-}EGoBxzZ)zosTC-Nf|`fp|~J z_V))SMbbY%q@IMqM*Pwx`|IiI|0I><&wuC~llt>7;&cF51;UrY|F4rU@M91P*MS~$ z{=$U{P|{zxuA(%eB9~5F`T6tbkhj|plztV z06zlswHVealbX9<1Hk+O{8hnnO8nV-QnKiyuiDOui;K(3%8HBY7#YDvjf#gz4;B&W zXl?xgzBT>#n0%g@K8CYfeaF(#&|HZkH~E@3EtXCNE`AVV~D3a#h)iVZYRCGnq>P3j!0 z@OTv)+Y?Gt|7iBY1knWQHcK4noQ3a{O9=?ff(;lR3^_pTP08a_bKtJ5To3jhK+;m- zV40@lE`Dor`0!zH4vo>pDVk;ag|J>#cXC<E zp{tnDle6{%xJz(Vy}iAgkeViR{04)sP*)bh!31G!WCS!dK{1!7>7E2B`*U*(XuU~g zJfoLWyTHZ0CG9j`=`bvD-WLo)bUMqctCLr7$~cnCJmxsX58Vg_1wbjNcmVwa9`dsx z3lbe7+fGzc@&)}30|VC9UHpni4IJOVr}yXh+ATO9#=8_-2NA+B9%ok&2AV3kzXg&=F*2dD38;_Vi;(}8ghPfgILV0lAEHPY$y;>s@HpB3g?WGd3va){sFie|OnbD?f z>F8kcHbIEz>NIh^JbDzNIRgPRC>nB3EY`EI`4EEl?AfzILgC|Qb?3Z#u#8GMdfDBZ zhy3k=CGe>ZwurlITSokHat2F}5w)@jSKJqkWtUXRt4YAU$#R{-3RaezcK7dtx12yw zd!mf?QX%oMW}^LJjo+QJF9qu|Y!T_BK9mUlBiC?>>u}Y&b5k`z(O_d0E`I{S()_#d z?OPS%fhoZ6)_TY2sEVL3>u%sWPUmqbh1)*S=dbW_xBGE+m((4Cq7?d ziD&|F2l%n@9Tv&L&`rLVOYTZHC8VPql!9yh%2H^V2CE5+#7ID#AhRS9Pm8s`9m7b3pvGn62b4e|O(?|desnb{-J(*yQr!6A*BMEf`n` z=W7ovZo8S=+J@zKy$Oq``FeM9-QpOUmL5H9rorEf4TLq;Kl)>C?${?AZ5T}Z&#o{_ zGo(zOWx2TL?BOZfV-}B#v3Ap)VHuF+Gz?W998P29OzT49)|n^ z?lhWbnd}@$aV2#Bb+P5Y1KW{nExgq0bVsJeE`*`JQC8pQal`*?yyO{SLgRewR6cL+1WYuboHP*LbeL{LEQ{AiVr2h1_wxq*9} zU`6)k5M6zkyp$ZP8mG}dE%WhsS}vN+JYAv>Pe@1z(az)G`fD*iz6S;|4)*Fg`FG`t zijp>&**arGO+S7w8w-fjETTu7aN~<4V-l=2w9e_i{2+(tHYlSJq$JvRK+<5ErxA0L zV&Fbf^mb%Fl?*b3)ws%?S19<>MX!yY;Dxrgx99n$u_0zyFJGmqY+by)JE?6SIV5P? z!fWs8$+A9sY+6hVnXA{aP9X#{qmGS}(|7*ut2~n`b*}R{9yB>ZF6^fok*_Mfw)XH& zkJ_Hg`N`UWRco7A4dhgwyUwBY>#;E%NvMLXhQNbck~3#jt_jDFRNT}VzI3p4vmwPa ztY+!GG@jea7NKw(kTh$cWAa$?p7pxBe1ORx%bnT|u>JV9=iaiZsbm2Le@ugcClg$? z;%$;Ye@yTvX|_Jr}-!Dn^$xhZ`su^)uIXn1Jo+iou`^d^tiRlI$? zUTShz^X<2p;w4^qs~P+H9so`T>!!bz8aMIc1@PRyaPbN?`(vw3)f?s=pKsYWAfLtz zuk1Cw_rm>NBf2=rqP4ud~jJpt+&Y=5><1Ph6Wo*%-K? z2hq<~9u_p9EVGzaooNq>281I_{zP)&xz}+*ti1&PvlQrf)g3$o;hog)7ZrI^rj#Wej~l_?|t9_kHpy6a%i!s=k*nC|Fx#OtK(#;@msy^xP#kd z7pHvnVP`NdzpKG-P`%zfeOx`PrczJ>&wUEgA2h52S&SKlF3APrg`pWIldtyLx=Dr3 z_}jHy455tr$~`n!n-bd7>+N#M%_yLn0WGY>6NGJhdUA$N0+LYdV1K`gfU3nbjE{w9 zO|N}5=(+d2W%LL_zd<@zh;UyWRrWIo`l0bU?(bt2=tmV9OxT@$ap_QK^wbf5^*6Nj>0*c(x^?=s&mEC~x|}yrtnI*iTyWWo%FDNVF*7 z48qWp^aT2L+FE8d#AFIFm?J}`)-7_+_VE91ByK07D4e^H&BxH?hrkw#O( z5I}hx{7T)?H{?f+<5JI^5*v3ge?3cGq`a|>Y)BP>^S z9xM(7>v?w$Yl@B)3~^N0;YV>~pTf<4EGz4K?`s#2$-3>g>AYsKzHivtYN_F^Yq?Wk zQG3pHdT(g)Ao70F@v5IHQT6LxR>%b9DOn8qfu{4Q+t5SDHxV@H=ev_B1p9f%qPmZd^{hu19&6KsqJPK|9t zQR-5vylkiR_>2a!-c>t)G@oWm=N0({!zs&XQ0{DKD7a$GbUgGuxM{i+Q0?KPNDHnQ zw@%-A1+EyS^*nnlfU%k&0%yh@z7HM6ftsb;FExLyZXVg`(MK;LW~m^OFAF56|P@TLWhd@p~_CIH;4OuQ}bNv1qd2q`*$P4O`JL=*X#yf zzgI9(_0az$hIES{yF`u2EIm_oaN77)0eswWD{q_m1L06QDfYT|z7bu+euDAo-1rUG z3apVu`jsMG4wqEO&leV}oo?EI6 z82ce8g3?9@imGWJ;L~>{Sql!e7g%;)-#KnXXRTb;VdKOl#@D9(`rHeWKxgdV=O9LA zqJE+kn_-!H6;c|EY>K98|8^voMuL=Cgt<9O`48EVhcA3%@|beYUjN$ZG5g_&_vpev z@BqUqN!G`6^)Wr4&TR-7W%Mfh`4Y#|UF{3j8kot-t#}%ipn83rfT&hjje@5TYbdrW z({i(F=O{vlfq41ao=!dLlyZH2byLeW@Dh<3N*VzZsN7QP?uQ|(OafZPW2yEDchPJ} zw=c;TO;l$~s<^Lou#*&9LYP|mt*?_naeqAVK}SlNDl8)1_9cG$lx7;ACG6aFB+cR9 zmh|7=YOJQ~6XmwmrsyyjS|Y5a*p%f3_b+1{)2J83aP>=E7a>%C%U{7SdB-FvV%)cv zjopft&IwuU+ui-BdzOE#8ug@wL}q-}rX9>=+UB?!ZE8r{msK=VO(P}x`B>vt3-gvC@7>rXSXf(m zpPu7i$o0{W9h-yUhRVCMQ!!0pRFv}5CVyi*#IE~X`rtiMvEe+X!z0wLMeT)7eSI#~ zzCvqCsl*ZJw_9TMD@i6W0$o~vR!Sm)-V8E?u8|9&ssXZcw;~;x33O};UmDTfzs~Cn zmU(?0y*pELdU#``LeF?<{-`v**b?IGKkExFr>bN#rzpE(Np7V1mg($-ZQ--aCGIuS(5zz84aYr%hwxHaxZTFgdb& zmbTLbMP*4J)tnpakVJo5?0=O=K^_=E@V0LX+-$;MNul{@X&s1Mrw9hH5eMezZc6ow zogx#9YTAo=H5@dUO^vp$8khMaW4nEhTnQLMMu?j8P8|cUZM{ho!t*~YEhM|~QY0Gr zdfeU!!*`rI8BkH#Rn=tptNwqa#+|1E~oumP!z!QcNftl31NfN+j;{TEv9SwkI zZB1F(dX?=Dvq%{qW({up=i$61%2y>VH~(aZ=T2=@OrHylamg-Hu&t7Psaf=s9gP{N zQCt_*xUnmyf(!P1>ip+S0F~pOMsU_tJ+;1idg9YU+BUvpn1L*;+Jv#a%GICwhY>5) z=l?QeJ&IV1IuPxp9chH@w)@|zO370`jvS9V6D(wFEP4l>uk{YRnrRmziY*hSc+$7*W3E1FS{~TmVE{8m-vYiD zIr$Bc)>9JG`fq=ePW)M#7m0})l{T^Sd;1N@$R|N}?0FqM%+1q9zg;kic-1~*W|%<6 z&WY^>>jzpn85xjZIKDr7)EI2w7Sw0Vd^Zy(G8vD}wjO1&f=6j^5vklbAGT>T zpD{f>O|)>3#C-#l6=3ilyO+<y>K^KRw9QLzKoZJMu$;`zstebd}the!(-pDwO z1FY~(oJNcbiA1jG7Y*%9^lVR>M@rW94L13%+0?|?m9!GbO+Hy4o$eBYovqXoC7_1PE}3CQj6Xd!?QBpRA;Zig)d{~ zYO3BPF*#|dv&O%89CPhyoN!T=;hlc7h1XLREG$AJ^-@0~mFN<6$?84|I72Qq{dzh90Mx5`m_c^jxMdCu#e5tQx#0l; z0YE(xF)Y3sD4!KZXy?Yeer=jCFN9`lE8{+^DmcXe2mrFhhRf#pz@Y)EO~n`(JukUe zwEbf6v1OML{uRk(L_d;>RFfe}$I} zjL8Q+E`Z0|+uumq zX!-g10Yhi#R18@|3Mot|+ZO261XjFZ*g!HO6iu{=W_PN*e)DGirJ0`Kh}$t2$pf!& ztx(B$x}CpHAt;j2b3MZ1HZ))1q}8^$k_~lW7-lX1E}(hS2pZ_%)b$os2tt;8FNB3P z6cuq+Hs52CWL*xeQ&2(fpZ4i5r2L6)Y${}G^lhZda5}BJR-Iu&e4Mqfa?-$j84MyY zh2H_nbgpTQNtxVUTsxjzlO_~z3Hvg@FSKrJ ze40|?dysMTpHG@}I}g0xJ9>JmT;(N(HhP`Toj3j;;Ai#x!OaU|H8Ed=)jpr&d#_)> zVKCgeOMP^#priDYd(Ii(9&^LOVMf{xV*>Ee#G$njdXClE&ECttkCO_3u>Gka*FvKukQlwge4kKBN zx8pqFkw>1Np}P@sH?ZJOZ>zH}jl|y=al_hcEn9k5&_*cflGjG&s#@GAv0VcU$kblJ zc=|^g?$E)eF!WRow0bnD@#AcZQ6Odjw{VKn5CHsv{q(1<+PT#}RT*tkW+)%B`AY6) z@B9{Yq67Lm@44Q{`fILt%?_TeaWI)x8s5W;j+}H>Ar`OBZ2^B z)iX3)INW=&s@k1{)oyTJ$n&P30B;l7SUS+8VT8?dY##*- zSzM>~&@GnqqLtqZs2{OwG5%neeDwt)BT(&Gd%`thSJMV0b;=MnN<@n$kDK)fp!$O6 z@Z8L>1*Tt;`C+RIWzy@%2H&`OvmiouzQ@SjbWS03vqrFLQ&cqO&^Y`njr<4To=oYm zwm^rt|3TfET;4|J)k>?NcDqiapti)~2zAJStixB3vZu9*& zUr!+FDWyeUbL75?`HY}PA0y`2m5^gkuF*`U9Cs&)%Y6GtQoet+MLWTeR=PCAm1W@d zT=Rny2fuM|%d7F-?JiOhuH;6D>D5DTZp#*aRHdX+oU*NYS$xg)+ z+T5C&xBV)I8-m1br^uDQb$9FNII)SvYc=mX7uhuWUa*KEe(*}u=D=(=rq*QTGC zHo#Z+u|J1W+Zr!DDERQ}?oH~X&ZjappFaxf)(7QZJ*Sd)EfHt!93@gsL=j~~@2vaA zh#04zH7Cfd()NohF3_Xp5>DcSqEUT)aNFkatT!GEn$mvf^x0kiO_9qA+hfN1i>A?4 zo5vmBoxD?g&o9^rfJ;)^nV$Z$ zb70`Bbf@QI;xqJzR8=#ed0(+4TRF2gL=k z@r(5zk174ds)y@19qsn>7urgF&Ki{n@;~c5zgAahBRH_LO=#ZLkYtry3(kj{d-6Af zVrdb+A?%g2X4cA{z5Wr(fFqV9SNF)hINQc7VjMP;KRCbA^*Rts3OfnDyW0H;El(Q$ zZxQP9w0|Mg@8lBd>#2C)5yE(Do$oX}qoy%z60J*z}?J)b-YqNkvd+1N?_sd zuuN}ua>fS@I^OTtKe1BC=b>qMPU+i#ir(Iya!0N}-UN&Dmvk2X=(^oJ{2vt8#DtQ> zWTp#{7~g}sUw3EF(|bqXjoh&fpQT3=o-%(RCq7>QI+RNBff1;K1qI;8z-sa=SG~yL zjwN8>L&m2hcdub~0~{FZA9XuN97L-t!F0x(?|uhd902u?ylpV%wo(9P-8$VPJ@_pu zD#d!|E~it)I+P^hvnsdJRu>2@Ggcq(9Q4)&FBXR;T#!Xm=7P^g EcTkm-r=G_S? zR$hL$GJ?+(^I~s_)Yh48iz(uoQs|2|byao>0*!Fm6LXhwqzxxly0)*qK?Nz}xVj7g zxF<{y4lWL1UuC|{(JbP|r;0-$_KTF)nciOu+F^gQ*_nCSf^3XbcVG%F?r7)LKT$1@ z(YEisIrOjvsz~qbpK`uy6~Oz+H!gg2+Rp#X6mHrN9sxNymqx!gE%y$6l8PcX|vJu^n&=%1f%%@sB6vkG+NdKy{|;(R zP(%7r{8CBdkgsZfZx2%!!1|B59*U!+z5jq-Z%3wvjC^h-p$_(wwbiIgAEupaP(p3GH^Hutb>WRDFdd;$~mgT>Jj?v>GGW|ZIS`FTty>BESxkvgn62*AVCR-MT&F;CRp8e5`rk47+r?h|WNp@i`j)wG+`Ym+492h4p>QXZz}JzqhbQPUo) zmP)J_5M&r*7qIOgN^+MJ9^I*$1*#?wUP6VsIrm;*o|^lBCPu;!(7og*?AQD^;8uqd zr^G%jm0Nz_tOc}sD+pENb+}^uG+^RUtb+f>#LZ>L96ML7vVZ#=Q;0L|AF8{yH~pcf z&cGu5`Z>GlGx*2CS0M?tz9EarKJ^~^084(Cx^z6@t5-4Ndk|EqoEE5MHM8?Pa0Sts zREy+LcsO@3oF}GDm%2!5uc=$GIp*~-02xs9Fs+1F#ERcSkGv{we}~Sf1V@!8IC{}!B2L$9&w-CxYjE-E;Y zXd$2%aY8G<-&K~}qWjlgtxq$#?zI3Y0t~2ZZl6zDMe*PR(t~I8N~HJcLt!B4z2iN6 zLCjG0)kwt0$A89A%Tt+Ng1oHQ%uaUA=YjpV#)E_CHO$U(N*yfXseTT()>F?V9ay1y zSk^r;>ABRojQLoX^rIxK(0jT|?XsdS@#VG{#X7)H%Fop-dd(8DB0LH&dfd?UiPr%Z zYv+E-zkWq<*F3xFL?;_#|FUy?!M*UNut7bhJqVIHhhLby`=xNl0xFVv5%_gd;nDr0 z9S;3voFz1mjtS!7$W<{8R4=?V0XFcvw`o8hVVtRv772cUOUlULm^K|8OgX{S!h?t9 zb-&b|1mX-!*%A70UG~{eaLIB#?it0Etvm7IuadG*)xELa0As(nv=jbl=6fuxDlnVF zQ{bLgcUra%O?5Fp%axp~n)4;hce^cqf`thp(EKx4GOb-nPkF^-OYb9#mvgHYc78V0 z72euB!(nvJUbA>2RGS#+DUJ?)7A@Aw`B5Cah;%RbvwCSG#i%g>O0~>W(=`CTcToS{ zt5%uA*4*)V_4rdL7vpewa2oU`<9*H-dJ&FN5ZWOHxFvbE z-9GzBzk#gUlnlP2wQJwRh+k?QJ(qnDqFxY8?Sfm}+cTBD^;HB9sUDEw$ZG)q1zc_} z$Q|_gQQKp7GPxCaSMi}PF$hsr0*_d#q`ws>9w#E|W?4|MdeA37zX%mR0nV1Mzx5nz ze6=+$T>Q*0nHadAln|#WSw~26q?IlqD@maH?7Ss5FMs4rDqL3v5misiVasI>1;|%( z23_!F+u1%*?jo!(i7XI~waQO%t-mtFWmovj!@MJ=BX~Z3{_j-F{_TDOoNixam(*YO zMPYy7FHQUdfZuWD4OX5i>re0~HsJvLY9pfNK_BPjeUe8JA}Z5jS7zwZQ{yMe{_r?L z5hMiYQ9U2zJ|qfB_LU0_R?OTY@$?l4vwOuR>OT&L{Rim-AapT4K0aaLXY}cd%RG{0 z!;EAaGp_S{J`c}BlPy;rr%b+Hkm5i0cPyl;>@FKC$Ac8#B%cnT`0ZG%h077122+#c ztba=Zs1P&P2M?OFnyM!Or1}p~d?j07DrLa4f3C$&r74TV9rXbSNDqQi2-^SG8zFkI4<$*W zTwJ2}5x$pJII=aEFh{q?F|MW2Bz4Z#A@I;MTK=?(VKsp#Px!y6mp>|8ACx&~YwRjt zqHFS>FgU2dfI!{E=Kq=X&OGZOn;gLml%S2ZwX3HO6cCh@0tS|$``4-3xw{PQ+l6jF zfBh0#I<6p%XDhvsvs^w@fBip+LoaiUN+Zu9o0s=Nm1f3%KvRg$k#sT{;yi#AYj%BQqGHER06($mykbig5 zsRGHKb>@WtqCeZ68!K?DFEU?i=L0$MfDJhq;$ijeu7C2U?!%9zujN2z=BQ=ZQ|*P?efD&daJUj^M~cfErFUL89)SR(79)W+BX3A zQ}vPKXoqO;`6mEF$7tnoyjFEQ1ldA z$j+u&0x_B1M>F7zkWd;RC0HU-a+-*g03`9Ycb+K!24MGl=$`$x!quAkzQHH*qF%l5 zIQA#IG&LlBWr5EO2EotGSWGTKAI{Ny%bwMmjKwc4ZK2sGZkn z*|vKs%Ja0IU*Xp_OX9pvz`mxT?G9~hYy`yx(1tH|*5z9gLG*WA878Aa58W@Lu{MCH z|1i?O&75u-VH_xxH%&|n7h;0bIy}amVOR=|2N}6mW6X7wj_YP>mV3G=E(TWt4`Vx1vJuYj@ zd~uGXmtf$WiF~5ig6od4+uN_(+sEOBq=+Anx(%bA`w#bxI}^q{v5zJo+Eu&169@D6 zjji)auS|?6JGZ5_c=BHaG4)107hYWI!8<-5kV4ZTFV5}bhS>6I=zwkvEdrrcU(uso z*FuVu5`Pfa6#&=yi6mxXcW715D*6VZ!k?O2>`wU>l+5&Wb=R;ht=5INK?xlvW||xu z%QS6(!VFn}fB40R3w_Wh{lfY4N*6tL!5{y2spD9>%2TOIq{P?XXHT9CfHkGQX=2KG z4OhiG_pX=gteDoSWy5kDFACt+;-9qxG)smutls zuJh_Zv7t!4xOY{u*=sOZIM&4u#jRqKs7rf->e9j8FCFgQ#c}9Jrzzb<;h>i}&QAhR zcjD~+ho2owG7fl?a56JO^UTY?bot(^ zpl@nz1!^$pIr2eKfY^XG@Su8ucCVj?g|{kgaa24&H&yDQMr1KTNvsG)@cjL;a_Aib zmZ#-2B#4IZeSK~qiI<^>4n@ew*YG;plJ zi(Z2(E;g3f-yPH^Og_elCl9ygdSJZ>xO32zD6`tgYkJHL0H9__CaqlHs^4mC4+ zNH(A#0@grRx!m2|tHHGbv>FZ`9;HLdq&hDXWt@O`-J4&9Ve=tGz}f`PA+KMv6ox?N z6VyIl<-^AWWGfWDT7;%!H zX3ow9WA@V}m`_DT&^^<-#88Fp2QR#SWXl=I`*0I@<-b9WG(2lm zHB^6s#6J$l$r{;j(2|P0XXf2;3h_ ziugt;3Z1Xu>wlWa?LR7b-=e|01eeg-?C5&=@@1e#Oj58RcEg`OJw=r1 zKar=0U+PpRCnL`*mMSQabR)iLJ2-$gC_i5tBsK_y|3=|a#MmK{!wRI_C@DYS)WVmN z|JYCQ#18YQ!`R2<3VtvM!Ky0}1Z!+;fW^ZBf(FnyTtkC;3Pj zBX}u|Bsv=eXx$H7;12zu{X7uziJwVZ9!gXTW%M`zm11cM(FKq1*1dZRu$IhkK_nu| zM8hEr!J%PrrOD8olRoCf3kz_DN7Am*9QA*8f2iQGJRd(gy4d~5l+B55(4Mm%Dwbayhn`Ek8pvE|9Jq8~{{}Kw$ zu;OZ?4z~8T7q_Zw=q|3+mew5HH^!TKbt42H|DQq@Tj@l|e4xu`Ba#{Z^jj^+wb1y@ z6d5V0f-bPaBK8#bt}^L!d8`9}*bFr*%<4qfB~5K@F<7yoL<=oa()y=wi@_gbpMaN2 zLPEmE#s+95ceb|+yPUQd9@=sXOCg@z__w05W)|`cFqwMs;zfjN##NYZu#&+V?y!^K zc_!^|hBL)|s8N|TRe>l*A{vMziDT}Y>VKvnhtmAX6&}NT16iGR()owbEg>?J7DQ@r zt;W*~zl|pHed%sGvzx527td3^ICTA^dM`xfNa^ zOM}do_@$uY?85Trr~m0%)&H2re=gvElxmg$ZV&`Q)=%>KLoTKY#E()_(Ylh0G#KhB&5-l`;<* zkNJG}QSZ<5e%9~#l5Krvv?EL!m%d4?5HTBMc z^}~n1(j-IJ>na->3>6q2^;gu~bgR#*sHmu}zOfrpG0@+i^N`TL+0W1KzQWU)e2l7h zbaXTmR>eZa0<~*2{?f}46CckcAQg58I|L(r#O+~q@G6N#p0Gi+-SV+5MKJ!OPtu5ECEDx8aV{dQ4U>f_KR&bG@rQBhIBA1ln!8$wdyr-QvzHa9n!1#S9m32iFi#;q+UYS-=W zfqPhMB%{Z4oY_XwjB$KIf}r(Ch0E#>c$^fg7?N?U?BQoAHc$RsO$ywp1wZ!G2* z#z0U|5QD96l3qf1!>xuc-wE76uG!z<#wMIHXst6W9?93&*H27I;bG_I=59unl$AX$ zsqeZ6vskIe7$O-r-0DLZc<8A&^PDF=wH)7D@N67lCMO$L#>*at%-0-vVOuCg3)tu< z#>V!)2eReWf30;|TH8BdKWR+4f4R6WE!v?+1e0S%PfMG4!~RERjN$z3ta49oPL6iD zX%|W^R?yba+to< zV+5a8ZEYAjPopR=?|Ig$CVAcDiudkZc39zNynrPv&Zfu=tSV;G+j|(XF=R7b((H2G z<<6bvwO^k}Nk}Sf#`D;eSa-fSQ@j3*lnU*+c;Ujw?(RX#VC-yq1ff-3NJz+}$9mV{ zOj?XZmO?@n&z+>&Zbeu)!WNCLf0+`&4bf&joeUN9Zs}}QhLa9P^rgr5_s@2p44?W| z%Wts@%fb5l$4m%4w<=Lw{zBLS12dcQ@Ul&2MMeL@<~$`)okzS9-|&4oIk{{L_ABt@ z3pj(MZ*r?ycro5$o=|sQ-qtZ5!yPld={8iL!-rbY)z;2YVlIA@MR7+w0!C6JPGtHOQxommNfZv3W!TlxaWleuf9g@R>74O|fPet(xvDMoPOK9Gfn>zl&J3*mH2(6Jt2{gyw|W*9 zmflJAE3O3o&0)-feOCAgDpA};tuBf0Zr;*se6JI`xM<~woxfmviN1V)-(yN(n7w4y zWzFbdUTfaU0ZhuhlUpkXzgs8=#y=LgI3o~aPebyLwgPo_3vBk8Hk!JD;K9)<+lc-B z8%pb}FYG5bQ8T_=ZGmiFIY#;if{i;}K0_)~veO8JM6d`f$kUW>EWhL~32;(OZH?Lv zWivA|$?LBv&uPgTRok7_;vqtuQC!3+N*nQnS0ffSGkpK&^XDXQ1+|wr1Xty44>Z63 zQJJ)~_eDt)Rdwag4i4pXd;7-_cIR=gXLH)D!S4I}zP`SXN`}>TsTOsGv$qBwb{<&_ zoOXec;2u&O!aSy|o~j4MTNo^io@gTj8Bc|QGj2}VPxn4~2L@5E%4Wd!je(k)!)HSg zHxTT`-Lr2}Q_nJz*^E@=s-I(TbI#4pB_{N*udio+{MlfG_rm4NYFI7}4Go_9jh9}Y zo72yK=@ey#6JcO_(F=0R~duTNNLtp|`Z zd+mHS%B$}Zh(DHc%W+=4d_u4j?6DK*CSi#l&DK+px9oxfd5P=RBM*8R5ePf-t3^ki z^^d#E?RN2Ve$AsI>`r&Ndt+9Ux;&*hzJvIx4WONF%PwCMDQ&n<|k@5-87mme3xPl0`&hT@k zH5E1%e*T|u<*$t~h!?uuDWa1g8zUnl@VB?u7-I+X|8~i+SW9AUeSLjx4gN|+uv%k+ z5UHyHZ||lmi;K5_ZM3wo2tO^v&dxsy*Gn_Ps;H`7vmW86zR1nJxpy!(cY2+aIb(Bc zYea;w8ZeUAZX2_0qL4$|vM+9hJfA;*u34b1qN!<$5qt6YQJry_Nqe~UXr+RLg{5WK zIv*dOr$G61H0RL3&KRnnI-CN|N z{#xs7tEZQ68{168MjLrvE_(Rp%?uJI+t~E{e9QIeE&vL2Rz@V-OU9D2M22w2L13hX8U)Ke?1Snwc1J(78YjF z4FZ3-lY-Te0DUmU%);G1c3Q=T;Qc12Fzsd3L-4=bG=7Y zi!z4CsNu<+YAq1~Zp`=LEW#2QX=!&w5=FfaX_RgmW8QqzZAo@t7OHLcd9XRCXM3=M zJzSYXXAiVwf?3w9>|6$bgg{hj<`F-;3+RA4@)eg-R%T{Ybo7YG)oPk5nj^G|!?8gs z1_tBZNy3|flY0}GXdWY*g&^EqQ(eFL5>0m}Kbcu=IiIU{1#8en#{r=kL-Hi;H zSA&ImW(zpM^U=O_xIOjZ!v~99fw1v&egK8f(eG_7~3-6VNHC46rb0=%b%BSef0h*G2n)(L%Y#R>q-hD z+~8;7k=7O#s?PIXVkRKmFn0B=-%a>)b3^gzZEbBJjbBCBt4YEH0~VWn@h$FmCknYT z)k+Tup#a@B}sL|-F;o^d;>DTRf4C@|^Eff5ZnhHw=vu$Hum4)4Z#w2|2 zID$g5`6)U_LEq8ze3+m-ygFPEzzxIrH=~9-`}$N90vt%Yy1KxD9?S?kHGx<2BW`V} z4wjoDr?C$QumeBz_ag)Yvhwrg6dpW$_*H~H{ z1{4KCxe*8t#AlTzMra0Qp`HhcTW}K4D85QcDpYcIavHfwk6T!upPEKSSRBM1dApFC zovfM=w!`Di2}QH&>+eXU=S$19Lc>|l06Lc+qr!lWl= z91H}%prGwowTgtH$EsxDV%srjadnB9)4zd{+d}&R<7!MylWWH_%NH2M$ z;3uObf>Bw!`R5xOgftR-x3rt(V1euJW}<;7fcJlV2-y?Oe)rCGsK@}81z@O!qPe*_ zC>i_*z#BV{QGH2P7AGSa0LmPHzRw*U)dS={8Lz(i<#r>|PyV7#M$~W=BZF&cE4d+-kDHfMxdrJHUd&y_KPeR}k-vytUKJDYYec~}FBp|0AMhRf{aA4h?e1@mU&+N=HEUN5P42ZuaFu%3C`ulr} z#eJBwzd>*n-~|>f9W}M|$}5}Zj!i#NCck$))Up*t(s=hKi4dk14T?Omd8TdpNR1@2 z%dylr@kJcT9~*YN9lzVC&Se!gvc+_MhF3A+x^)S`{Akjy{mV9SUZOF_bogc@@|;vC z&vC>|kTOz|qrj9R7sX_mwK}|cLg1Aj@tF@0l1kr)Kogy%pjT<7gFWEeHGZLT%|*zuYZf%1xGIXLA3okUkI6Y$VgeO+)Ki9+WuHrn@$* z$~N|*hR6{_eJkS{`ubKj&HN3Z&4^wIwqD4;U#?{FwIA(vVRU6YK*&w4Z<=quZ@w-w za4g!eSg_;lF)?->Eo2xEu{$@sE+G!h=zm_pv$*`u(gK zrEHKaxT~Otu)EU8+2Ln?#j}kx4-^%Jg!n-}zphSS0W@==s)?6`(BI;)KUXb8z{1Pi zJa>dU-Ns7z+d~&zd^J7kjXj{p3L}~x|BAmrnw1x4(O`(w=sMa(Sn=vXP`P?0YS&*; zTJI}Q0PMiUmI51ZEsv@`oy?szniGhYw-$m6~9IXs-=?OqKQ&FZ<)dx%LkfcbcW5C*0t^+ng(yk7so~xdK+ek`PyMytUGQklSpR{7 z@WCc)t8;%^u<>hyXYGimHNWjd-LKCvm`V5aTf4LA^En>@1Vu;FdwO|!H3VJJt$6gc z>>)iR8{%XhPz%#wN-z|cK?+sD_!U-F4K4GYiBnfs2j3$u5q(4vJgyDICktDBUMqfc zKshNl$A+7}h1~YonYmb1q)DyJ4OBXW3e?693|S@-fQf@op|pk-@rP8~ToI0#$|Y#;dLCi^-=TUbd$LqjjG!`a^SCDw533$X~BU_WAs zdsAVrsYsqlWTd8k2Ri_U4_udV3w6_rZI9d37cX9nyKb!uqB*&uq~tuKVnQpAu$N7O z8zb77moanMDGjS_%(UUJ+a}A6|;I&_x<|(%m9St0HpJUSR>59Q?Qpk`1F$c+`VBDF@%g&^mJ+<>j+@o zB7<5tH@E(M!AXzuh6b;tk+*SiaZVBTCty|uQ)K`gg4>vj9)mlWN%1z6P)xj$I^7w| zJJl=2#=>VBIxdd?jrH8UQ0>zDA0oUq(hK#fo_|ag50v=%O6j(_jg4WWm#2+Q(Kvo6 z2?325UNx-g>eLSlyNJtLMYr}A%enZEu<&59QO`XN#O0qeGotzL_Lgf05~tcDL@{Fy z;{ef|Nn!hfU-uKxAPK?*$EJoF4;@WR(hu!+)_z6YTKiaH++xK-ix6ba(y6i;2RddT zad&r@LBNS}i5_0#bHwyw=8yP zx&Toxvi84$JFQ;p!F0jLvA`0` z*iJThzJ2?a{bh9YRx6E?3l33>U1GZJvCZSPN_z0U*`KI!`v<9>6fJI-&n6lnk2wI6 z4t~au1IKPIz=egfiB15pmo}&2l&{uHXSErv>{_Na5N|&IjX#__)`#xeA}fMQ`0Zp? zZm!ID`VU_s))IFK#F;#L5Gp}h5`pX2S%safAVhPbglRPeC+Z-NT`p<=4~2a$nB_~( zoRGsbpjSZBh!>^taeQWZfqR&hDtC#yFphlp6&UAHU1aN)W&Z}mhKsBeh_N@57o}{S zmn7i=ZN-zK@aax*3 zq0Q|fDXep#gJSdXEALaMr8OzOhTrl&^Z;%Q;!XG~B^7AUB256^QdCrwhlfX0)O%yL z*NKvg-c48HX_I!x!shd!CErh>;t({^3sXB8NgsHE(BDn>4_O@T-8GPsPn&KW`?HRAr0wA>5L_h$^$!j*&0r`N^gP|x*4)d>-1q_m11MvR z3zX?)YuyBvI(}6YU7ph_BC|9foZiT3yy>~S(H6!mCo3!QU?5M!SFEYc-V2nWxM9~q zTUQ;mQL!O%I(b0YDptYdNn=I6*4`oi@q0=kyvWMz51todDU7egvfsx|YT%A|WicKA zN>6lL%f;AefZ@T-L#$MvfV5G35_%5RvV?X{~ek zi^rQfvYpL)9~c1rvIoK3;(0ka!=)yHhe-Z9+x*h}?eJx|nNz;vp|rBPu0$&%BdmMr zW#m=y<|kz(e&+fFr&W;}AY6)K&BqJGrpU<({);d_krNq;-2Nyv--vDXrb)=HRo(o?=^cP6=4V2B;H}j7I+=( z0@ltaqKc-ci~WXKUhZNw-_$!t*w&O&!Epn*EZ!{7?sh0CVMMU89}+Z>?;{%mgTq=} zA>l-^w;K$eJhGlR3eo1V z%9mJa0~Xgdz9x-mboJ*xO7U2e8Gh!_m4=s|C7j*EiTpHMwv~Gd-$X@sEYNR`qHSNV zhJ=xn(^p0np2rF^6mWEO6n0+jXLC}x)ZlSoX26m3nQz8PAvQy_ASdV1qen;#cc`z5 z`B~(r&o~i7<4;|ql^2xpXy!o5fbnPzXk)IP{uN_1nC*TqjQFbdg9SUP;%}5*E{>hn zyDdY8?puvztRkT4)1j`Q;ju#}}MmkNf)(-+h-}OiQ#O{Kg7g&C`b# z=DdXP)Buvu!!NIo1i28d2+Q};A>g}$%=jR1A+|{wq9j#4z0v;ue!-~Z30@OLA}tU5 zNLVq$WFf7-K8cLd(pAt>`>V>C9~c=O2uaMopzmvu*TkCI3dNG_2JK?#^rfp zjeUdNee9@6IFTH%g<-|d!Hz7kl3wXONU{{X&0E=3%4?%d#i-SXzAt+;w%atlJl>QI z?718NgtX&d+Q(VxN~Qaa5(&&xOJiB``Ytves5!A#H6CK zPLOb>fpDa?vf5_UFpowWri`2TKD#?%nc$gaEp?I+L*iPlKpeWKj8uEdi#-~M_Rc@o zbBy>pOt!9Ko%^01u4A)T7cdEmUwPB+5IlD9@*1M0-Wd{?iZH5sfU(=v-!vFql#67! zLEXpB9!?^EMo>!PG)~2>qykb=y3N{1$ySwov3Xi~YMJLv%1Gazl2c*oL*T?X-9(a) z*BP7<u_YZ`(-0NKFy+CZm-+bMGbk}RG36rI{BTE%yb6X_XAIA7EymbT$toQkZ? z>SUbFH;`zUoAodnW!_OVFmZQw#&Vs0B$Tfdu^CPk>Hd~&?z?8hqdk6hBF^}VoTeA_ z94sW90Y9UCQ&D&&kSP2{Yf^vi(7q#yy^Q0V(XJ>PX7a|3VK+tWFGFj+l7}xk)KO_N zAtYqxz6r`mUJe{oF!ohZ!D$8p$-oy5%OYkC2IblF3E|zg zH*ZS*+?yf+b9OqfzIK$6vCmIkyt(zo22bp9LLY8mPi}l98WEAx^b&ki)NQeAeK-2} zKH8R^pOMeryQF5SDr{VhXxuVY1Ya22A(zilA>XxD=D$nCgJ>cn}5Q`pV5~5 z{*UXvBa5TTx8)2*v{cZr==8L76T;^2`J(oS_AIm#JVhHVWh=jXAuZzOV`ruqcqCo@ z+1^%gnN4P9fmm+L_fFaGe^yOmWpt=Iga1y**jzfwt$eLEhP*b_Bl@r~FQ+0%nt!rnK5Oit(fDGl&u2(%DMl`>&bBv7 zV!4^S?gKK(_Reio8!D07qxMX!RQQed5q*)s$7kC~`m20!Id>lWc*- zR?0#yAyU*-x_$9f6|uyFuH^Z%2QMhki6A+%Bq>81h#!%K%7%=b4n2z$SCG?2Nt1>a zT#jW=E5>s>49ge$32wQ8WOj!kl2OyQq$ok-3~ME={J>o`A^SeRb;hdfE=|5*24lCUKk+LSEuFu8mUH zeebkL);8Q!LLH2Zrk58b}(eu@Q18ztp*%R zK~Ic(mTZoN*75R@DQTMOH9)0HpoaBf-2eNLlbb5NBU`*)JOt$m(z{L=ZLcHBf&S|xV+hFf@pF9d=J z`nrMS1vXalYOLu1Jqf4JSwLrt)LRDbFzwNH=Hx!Fss`sD+hR7|FMY5B=|&%RuKJEe zin}$8TvMJL+qE2hyU@_u=CT)Ed{zH`!WmOAF-jpp!zURJ_yh!z^Yqon37_+kX4%sr z8?H}l`1qMeeE)v(Z{nm5;zTQ5*%btt>NM5z` z50|%mX6VC~RUZ0|L2)Ss`49&@oP#@qH+uBY%h)`cbd>HLp4h8<0huVgPk#CF_!NB; z+oh}W=Q>OqoNVET|ILq#ZRRq`K?q&O% zUf;$>g6_ zNYF5<_1#5L#Vrx=SBeDFP1{F7wO*q2+2p(!`qw+RPR%!@o87!Q_3o9dY%mpLdEb4UjjK5w$qMM8 z3isJ5b(0z3F?Hl4ymUn$e(;kSWfJuAZ%2^@sDMH|>b2qk22G@fH=RSX`Z#UA*akb0 zv%DB)P0y47&z8dtibjjN^oz0VC%4FfdKrUUX-RuD!9)LpfeEl>V}ec3WJC{Z_Xs@> zJ5~tQEelUuiI~+ro6DDKR2@A&PwLf#5%F5>^I6F;sQ&d^tvoxIJOci%IyGhFzJiA;ik;A{sf!>6|>%304*60h+>BE()-eG|2XUk<_4=+Rrm0! z{>4ZFHAe*;johnsj3mpT^AZknDkBG~9&{3@)hGH9S2F{aI6gIhleNxlQi#~|9C zw!M#?e!UiMDXQC5keVS<$Yvkw-q`*im+y?#Ik3Wl@iwld_8S)=((R#`i@pT+TaP$P zFRcQKsJs%}p7nriqe*+!sLFowY*ciKrEq?QM1yfPNvN#cuoqWUbn1k^6eTQr5EY}g zE@+4t8G)L_hDK8Xq$6C^kS5VSez_DkD1oE44u>qCv^IplK6_sPvO=CIH@G4h2iAro zeu=LEb`edk@@kyx-&4rms7=mUS(|O_-K1d}ILY3)k6L(lB3q8 z7mvnUw?75e@<0j9^?iN)qsmDHj*88-0j|b^{a}qMd|K8}eD~Bu+WBGjLcSc%4W(Oz zZ9^wxpK_mF-Kc0ig@ePKUc{AeP;Hz75Y-+}gS4r-phf=$fylwQ2S$#JFEI>fv~pYDVCLSsAp%^VVH%0c*UHK=SOCk>H5PX>InY2mVj* zvR?z9#keKlLtP>>1eeQ>+}x(eaiLu9nF3T>9Z60F6{9n-t-VkY_yCAxi}z@CTZ}d; zxN{+8u|TK%hyLqidb}ykxPSz0f! zQ#bRQvou$PqozMu2HuE{iu&+QOoW^LWiA0{H^F8M&x_y zjfz-0+`iQ$%n_(jk`bWc<(ggq2=mk|($D2AQ}l>({E@#A!T|iL{0px`tLfn4Yf2uO ztn(?46E!XR`OWQV=ok-Db#NP#bvZLd)KZ^7zEhL{9rZU7_2dKs(Rq2SA$P)XZfVnV zA1hJ&koKjvlG5Z%j^`WpYrqsXPTF?(aanEvRE+t8pPu=l^(eG`RuM3{^M%Puh0Mzq;S9aF+=3uXK&E_Z*Vd)g6I8V)U8NlK)P1q zo=2(D-PF(J(_cldl1bXy4*Jeh2U6xqtg_B5l@cm4Kp(Z#*CPbg3O z%H^xnpAON1K+g4tik`k%5^?G%nQRZbuWXJQLjDf0X(@w%~^h+6G*fbPy}oKr$~tX<-`Oh`&W0-c_Fvz^!??0*BvKHD!~U8{O*^r{EK5c zQ=L2OGsOnA*P*`Y82%SDJNqSM-$Yh61Ztt_!>mVkhkA6q7y@HA)CNR@$J@-UD9OHY z0`JfSHUP?~<{*Q>BJ4EF$Jbpsy}ydll8TsP!X_oJY)fWvH7XZPsu2bEGLt;y_eNt* zCEc9csWAtN%2-J|OXlZ`zszNH!|k7yb>FI2MJ88Y(d*?jJxIPeCvxyM=xO&`Cak99 z`Q{@fFxd>a>zVSblH^AAk#)b;y;T@1^kjqI2N=%lQB)YS;EC7$bU`n^{dg(#f_S>D>W}CoGvc)eF&9fAo92?BNH4{p!-%f zDfbbn2+~b=_qu*}W%!LzH*RG5J?EW!TU{JT+)aHLv(e1X%F2n5nSstPT|JPjD;4C% z*^F?o`&vrgbt8(O%W0|xL$afODA`J! z?^6nk;DV~K_^QQ6EPq!Sc}x!Isb07{MbLJlH(l!T<;(ebc~JSg#Hx~a`O1|m@CE$y z+C$m+7Da-7blOcSJQLw4`pw=O$Rnf2Gy^XGERq69lq1IYj+@)AdKc6cKozJ&MrLMa zdips=GN&g`o;W*?iiinv{|Tmr)Ujiy<1YHB=_i;l0D zO;D$k>9x{OBOh@@%1*wRn_Ep@v@y8u6QKiOuJ40QY;8gX1g z=JtQQ<$o)fht>SQ-+_=yR!fB7r~;Ey1*P|pC557sCr^e&P7AKP)k7VHtE(&gO_z!Q zimeo}|as&Y<9HPd1LWBFFJyN#aHXrxUQs7dY74z~a|} zOoYJd_U`^oq9h&FJBs-=zX|flqK-^UOQXB2`5IUKRm3bEk`7flBHZ0%p?f7HH=f(m zDeo{)&lKPR?SB`Q=;KGMjkD~}cp%X=pk+iCIWnROU;=4|L zOTbq_d5qluHn)=3^fXfv;x@TSaXgdE|7AYqc-wsdDZG#Be5Eg4x&#?*<3t*!}T2o2|m;MI*!+clro9o0+^RyT?oxIZ`U|Ked^gDj@#_BVgI=qsfUrHy@w$yY`# zIFO2OUY-z0TJcD0AzHx_31- zx+yfWN-LM%Evy-oyNR&s1qN8Uamp{oAy@yENvXXa5mdJ`od88!mP18dot^TX(y;3i zl%Yq^>1b?YUtA}NB*z~!w+^EN^7d`Tg$lU9$##QXm4Wzbp^lyry*_!AoY93i_`m*dS+JT)gds~_(rS%)lJ>OEmgAW$4k z5LxS^^nQZNm#BIy_3^Yvuz4@Po2d~Pthd$H#lek0HC*IR7FswZdyTe}V<17~niYst zl^fj`^htWgz8`k~Ly|0WH7-B7g@9|CEp#yn4=K zgwsG87@ zMxZa8cZ_kkNElubpUL)3PlM+kR3-0a_4RRZb8ib`r2@#y-Iars?%mrP7pz>OV7;{s zrEalh-#nRcc4>500e#*dkptt~;R6gT4UEtBqau=oIrHk_aLCN{b%a5imp){MxNMYXO zkdROZJ_=H<*P%#JAv4>#GZx)UXQclVRxHM>JF0@88uDScphP;6R2}jyZHd0`PyHJx zL#Aaq^dwH!1Hjn4z$c=}30@|qargXM-(UqrHRz}Jrs4Mqou`z@SfjUhA}P2rqW=$c zH`PY{U_EmhD$U4 z(;8v`Y5#eSs)46xef$Ym&w3plCrYB|+0BQ6Mc&n1O39(FLT+$#NbcY9v;0c@POak- zeFV59%_%2JM2QZR0>q!N?`6;;-6=!!7+v@J!HaB&hWyH|-4x|f+T%C@O)qSr3KYYt zj)yHtLk_jH>F(K;w_UfkUpWHNCU_v5gfr zzl+_$qPI686kcTPeS`N-2*~N@LHj^u0)0^Ce#5h9x5#=cbA;mbeH#4#q(x#qsO|4U zU0i^@ixs$W)iH1^tw(mNex7j`b? z7=O|#jo{q5RAl^Vs6}bbI!2-ta#C0Sv#S7)ebnIHb}yRsVoO;5q$fBl+;jLBg$@dX zLeXAPSo0>fk6pOYo~`LvV$?Ui->n8ZIKG&eKu=aWI!E+JUq9#F`9kp(Iwot2ui&ei zNQTMG7q-$n7G+m=*vlR^*OmOt|1I^(gSxk+n9E4wp4%;6E~95DKihfU-3L-dA9C4t zPYI?-v=oVR#QTA#;!F|ZqBO|`@^SfXXiZ?F^mzps+S? zcf@+o9m2GbkZ`!VQ=yb4{dO2oTQ-gfUtOIXAM&0yT>9(+588Fio8li7zKhM=_s>$p zPwuI-pZqR*Xg%q$oWy^-z<;;>qVv4bmXg*o^Wu~0M-4+Qm4w5zL0za)6}=a&gf_oA z{Z0+u(TVXG$sW#dvHD2%jsGZjz_apC?m%l=ekmZc1DJP04@GxpO!J@v-&$KI@|KQ@ zL%)+)r_`@glxZfGO(c_STEl|_7$aG$7phQZrEz~sC^T;ClWI{Y$dEJ%JXU0I%p+|m zDgCjRTc8mOp7Ue|v2%C_@2?Ptf}VUOscMh>kuxWRUviI5sZ0f1l0NQx>i(7-uaZ!n zSKDeCZNn@Ms&kYjsF%@;)Yz8s+E?Ye4wmsEpxLbxd(TCN-IkZ8$d$}RwI+q_JkO_Q@?b?|m+WT&N+ccS_i=*ut@WFufP4E`)e?t8ZAeV6x2 zYh997h#MsT=^BCD=4lB7cDbecMQ=`RvH-VL#wng(?L3tqM16ok&M{gAs@RZ4@|`*M z`!)k}gDZ9VgAn{vsY8szn{>6!wu=%=di%O)U~FY%z(o&wZd z!nL^j0!yRa)LkAvq8-(qEth`Gf$w0sv3I883(}wAWIw}09Z-!0W5q=`%hzgs_lj1M zpIz+iA}hU9R#J}&cxEJ;KD_ah#)~FX(dvf|E#fjPC&e0AQr35t&*Kl@tS)RbxV+g+ zJlxxrZRxrj27JAR7k2MW&R$Yp*J~~_g%C52rSWmFVEN6rg!ZmpKd+EshBGPJ>PU@= zG#M}LZH!@~Q2E>^t?v|L)q_QBN4ZK zusD-Xp5$2v!G^nYg?ncg@xB*P5A}C_qBI~!+ToE*=2+Xy$C9)<_T&-)HS_&f@h9Uv z-nJmG>|EOK{4q z=KJ_JNdDbh5pDcbw*su*mQc$v$8sKMr5B@h3gE+d+fHEu1(ob9_F6 zX{QTddB?E0EcC_ANm@`%XxPmL-5@?sRSo{?v!CleBO9N{bNvkQ<%%n%sGoddQQ-V^ zgj0F)N3VCxLd;VYxuE?u|H2veP|YxoL2s$hjUMOLAZlJ72_?Drc4#8pTT@^fPgy1Jbw zju77+?dDKd2-AQvzXzZQu=__Sog8?YojU>0?_}JN=vSR`(+}@1KpwHJ@ESRr<^BB>ty_2mhM;mX$!{SM3yfD<#s(QDCw;3(v(4Qg_~RwN{eT(b2)->b@$L|1B$S zbT(Ca(6^_I!ow63gko9&^*OX~q#X-A#rLD}Tb^tPiF^$`gc=pnSk}bR=boZtx2{VA&rVq(1AULnQi{e~fR-Omt5NTAJS38bf}O)K|t3M@+=B zGR8oZBJ%@RyJrE8@H#F;uzLX=kQ@t~DqkAt@6mSytz)O+QPEmM{pR{QNY zZv2o2px*hUZQ9R#?h@)s>~YSEAfwyh z76hRdJt^qc&d*msT#QtG_62cw96M-fuuUWzWH4J;J{h?v>N&epBhz)_I3BLoDs$zX z&G=1RVdRTwjxXa6<>l_FQ5*UFAKu-S?KN z@`d8Kn57PkXL3XrH~Lx1-JdYN&R!m#b)GzRuq?c5+RWlSR_b-&7SUFNA(sPLqA<6= zr8HhTCR%4b7SxY#vQYh!jDSxDnDX5CQ<}&^LxK&cr2t0uHWYu7c-=ovh_vX>QGhO} zBig2B#oj$3=)uZC&dluh@U`0F>0iKRj=kvZTP)m1mpGV({q39`>Fn%0P9_F51vyO_ zRaJ91N^|N$tIrcr$SYT|!YQv3QoG&Q{q<;`?-bkG$1#mqF( zx@%`@1#SD8G@N;Ioux5o<0nJMru+OEUN`a7&}rM<+v#dt_1TRSNtWd9@2@Ga2WI@k zOMM*ZHK}Ry&YltW>bp-$7u%`EHDLd;#awxQ|A^IYVe7h=}9G8N5%6LiJ14#UY-1? ztZ2g%XrObkenHmlADVkJ?raMUv@;(SM9-hRQwfQr>`dF1U;FQEn zL*?N7(~6Fc4qPGl#vJ;4Pqp3c_4lqq4|{&ADy)d%GL5Wmv#HSg-5QZCN*CMQ*H@*G ze%@>BV-of92)HMqn0zZP_A|jTvDY_+g$K^ZL#_yRWRZmoE`BAH_xIv8 zNc0M@_o312J2NTZQV`YOLBAK~=BOi~d7F~?dgnwlL^e0#(m^SynQS>qe$iq-aLfaA)NPk|YKIXHp=&(7jK^@0y5+Ht+RszxqVt@NPaNXmG5;*th zBIe0_|3&CsJCg}*Bwht7l$&_JsGw=5`}=PYp%7e$3kWH6*3(5!OiVyy zl2Pxl$OT01EZpCCxLNEj@K3T8^Tr03xuELiiS>C0jZB2lj|Fl-6A6X%SS4IzcgE>~ z4lf|v=8ga4RH0V~f$Pl=ZhdtZA< zNJ*_(dYk@plM3#%qR!GMbA2>iinzAOKsfPZWo~XK(0iMxww<8qz|GwqJ0*HJC5l}a z9cY1+U&u!#uQi(5c7Y4fUsB6q(0sfTd@x2E`j7r5LRlNuyM+}L6dJcb@IY_74dx4? zTFuNXJID&u2ikos6wgq(ES9z}vJMpjSWsJ^MiB+!UGSdo0NzrD(S4KfmG zY3#*AmJ6t3H&oo+_XOjinU{R~>C2ZVsde63Xq2s-&Vu$lHK-{*bDe*}uKd$0E?YRX z1WZtv-~?49luR&VH9dI~Z#v3~j-NoJL7(Nu7ja5BVQEx^3JrRs-RcQo0$T3IivO52 z_Qz070!9>|!1S~!oHTIeA{{+FR5-vrN^#fDb8~kse~*oT)~G8*JV%uX=g#Mp(_~v{ z!nqA!zQExRaNNdOcBl#m+`&n75plajyDQ^fIbJjy96BGT7JdV!-h5bo}tNMMRj0 z>He!3liR1;w!Xy)ncX()zQyMKhA;4)$H%(0!$eFXvkw{6)}0~e7Z4!uZ_bH=RH7h% z;^-r5Ymvu4KYrOPVnHH!03G|_&R>(p$8OnTonVWNu@+m4UoG0Dp|`Z7U7+rd&})iX zSzEI>c~c;681sX(&{yTV7>l@e91a`6ZP2$fxHAQ8arz9W&43cs<2sa=dU!?HngI z`F15dA01w3__6w0_6!=kFX9Njz5!^ihGer5oP+@l#`#^ciWJ9vj3w#hyR!&=XmP#2 z6&PG94n*1l@@Tuz%*VK!2%}(NYS4`e^R(y!oDQma(1cGZpLA1TYcHPxrpdubrU-4$ zEQt`Ld@8g-WF*lt$U72J{b`5KsNdh;2M=EH_HEe4aZkncC^+K)6dca03K(a%g5x#* z>x=^n3*0)c!(jw=aK-^Y?u>&_bv~M-GY)e8o^b%F03Jqj(#LS@f(2!05M)X{v3rw4 zwb1o#fm=j4%zy{G#sj(?R%2!b2OU5PY@^G*$r`>i4YFfKvigVACc%F$Q3d?f#x|K>@VBPlcICS!s3kaE;;8 zDt#mzeSkZ}prXOzaDNB4SYWMlDGEKHL9Nhx500*w9UsS~m^QP7=aHX{pwAZCG9i%+ z=OC%`!oX39KE8A3v3CYk4i$Q&{xWR`i%EaEhCKKoGD^<2OEzSsLcf4$G! zYFRCv$8jFVci7*(_h)}T`$Mu5eV& z9ZsN+40X}G7?W?PPv0B-+Jv9!Ar22t7zz?nJrT7=5yM#p47uzw%a%bwB#asa$jXt? zoCcRmjr9i1qJ*vXl9_Ynw2Vn>S63bIWh119j(%cc2$qe%K`8flRPySqz#I!Z(O`f| zpvBoD^nOv0J{neo&2Z@ztBhK|Z;wwCNO_3YjO9c`mohxNwNglD3$$Z!?aFG;VvI6N zfft+|Pow#%bU=Q&c$o{~+KUB3J=u%qO!>I?MxP$T1Q3sjrjZ1kzqtHi22Ajb2k6Po zGTg$@>x4@1f;c>K`7#oraV2cOQYqM~N!hyH*-32026#tos^=Oegf%Xs&wLa zU)$U1=3Zc2c$IiHb|6Ng<~8i0MwoYuE^u1!5e$T`Ng;Dbu*ux_zE3jY1Wd<eurZ2(5^}`i9i#%RI zT%}PiK8^Zs6$K11N$dHrPeH*>MZ)KJGsV@}IcIE8JY^edtB7iLKz+qpS66pu<$Ic< zHL{}uYv1MPuWYn1GFJMed(KM{O~M;#G-6@Q^yLgA8iNh6cVI6=s?_g3*vfV8GXLE! z^kEmGzouW>4?)jhfi9mDv#L8dEPb7ENrJ8)%E}f|_cG;4BVqN~18tlbbPiMzivVlS zdB|PulNzFnf$_IP6X11pbd=fR=ky-DK+p^eZ3R(1L?+0CU(73Cb2NNeP24&2ZDrYz z3}5>xjO)c2M$Hw>%#(`XT9A|8biFT#D2d!At1Tosy6GnmkBUJD`1;8rA^ux=^Y))? z1OMO3o49}KUM4U6sfIiM_h}mNr^eCYZ~4yuuWs_jrWc&e3Q%wYcrv)Oyu7@u3?R}t z22zYcpcyA{n|+yWi_Vgd<93{u=xvncRcE~tg(3C!S$eRkO%k>g2pG`(b)GmBv5Fwu z6>08 z#`B`ZxWNJQMyk)~?5qD`0{sO(VM>fepk+U6tv!PXC};z7-^?sy(eb-@zw9#>KT{}f z(PydAWc6q1c57@0A%J3#mI1Fk8wIp%m{fXEpXy+8a&m--{&Rx7Y z{A5*3JPXdh0ZJ2i^ds-h@irHV8CYGX|S^J53Omh9}-EesPCXH_cMB^Hd4oRoE^q&`Vi ziJrHLn2M96G?zI$KnqEXMO^Y*CeP3vwe+Giqc8uYChVDi(vRnZll* z5yOE*Y6raCgvTSujs2kh0pv26QIg+Dm{uVYN^Ryopnru z_=GaOMd4C<-ZPdLm@6BBREPV6bs7Zl82gq_7D-RFN+<~f9{Ifl)i`MAJGS6p*CVMq zD4W)J>cz)==N@56GMQ75wXXqTqy2pk(v3YYkc9C48NmrLWZVPL{Xn9}t;PUc5})I} zc`0d@0Vd0W=u8L|#7~CAE<0KbAIjy!pECO#j7;PPP3(2L-j$P605u1x1Sl9UXXqXJ~y3yqJid^3V80)@wAG{N)q*t0e~(18?e_Y_7wJJeX~si~#E zR!R}EH6^Ts%^{nFJ;?wg_f8S>3P`*;^>=rt#(dN}i$T?s(WXxF?|Ekyn|EC)6)}vf|yFqebdL))z#pvLQSaqmzP%{cE2HAuPw?#h4O&dv_x zHrBz>e9j=u#$-cD9f`=-f>IkIGbrloqpclRNuQkuMQ-3=OM|$B7uek%m6A$%#m z$VRV{sP{}bA1F7bJnp(<142v^+mgXDva)SZ%dGF*{XJ*q64k1r}`&C9Zo*R?iPNZHQ=qi*~CeFg|W zN!+v>r9OjA_nuoFg+X*kd1VTch;aFwT5D^zAO68SXgd2n~Z1M3(qXauMdrWOY$G@ ziSy2IjisZ)F-^HOC;EsjE9b8~SEID4F5lylU?EiBJrd!qZ%|JgPG||INR{i)0g^_O zN0RBT+lk7HUu$W2!U^%7!E9(@r9tL56LW?LZ0BdFg~s6s^Hz&g^H%}mnH_B|*^xU? zugu~<3;sdl^6Ki?2U}fm(GAXZep$L=_^ssK+lili0yhYk61cu~802MtJ*u`_DQ>KF z(E85}_Ng3Ab(*11Hz+k7NIm4%$zZ6J_x;qduHvik_hc(tNE_nd$_O(phy{Z*6bF>TPR9AcNl7qq6%}}Pm9Dr23YkxwLSIC zZF1Q`ZU)aKQ`&CGz0*@CQIe)AVunoR{-|g7U`qBqcCYdNc5c_B#XC=6P4_cSMgrWU zZh!2j{?XcwhdD{|vw?5l)%3ooz4gbg)G!N&kbRH-#yLR{A-4k z=#q-0{rJjSXTzOo&%Stwlw+6^50tHSaIi{#8T3R^I_bQ{H1W{0G>RRPUP|x2eP1oC zNyI}#-~GBXw?1K#dQP-hL$*h~0;IBbuYo3pftsVO%G1T$f7uOEsyj&+T4gHA9Y6{1 zTaLHZR20-@qcz!&>(kS$BkenAse^i^X`05dR4EVWNx$YUcED@E9b#f4m?+ij=;J6Xd*JaX7=~=0! zag+1m!X>#a*~o74kPwT9au%FENCFNHl3d&Kn%+E(UP4E6naGpix3zVy9S(G?R{uGb zK2$sEKOrWx+&Cj=L@YH#fjrartk#M>$P&0ov9O=4`w9T4$cTe{kwa>3{MIAS`L9G& z3UJH~UC_HxY~dm{fo}$~Yd5PckPBW=b}9RJli1>g@tyS~dBn6mp#7@eO}65}TV76b z*$W*1^15GuLx^PRu9=xRv)5*Y=GD2imR)QwWY@kVk`fFkAE(Q*iUT4}b03=$EEI=r!6) zJc*J%mSy5>p|L_JyZ;7`@lV?iE#m@tWYj;4T{TW~Bh{ymh8NhAEIqC{NGv@6l<-FD zAgD=;kNZp*>tZSJTw!dIE$mkcO4$52Sm-R&FFbQY zK770$etidU8N9j(MFRf~&R3MWV40dk&J9r?WFteV+LwP9Tzlq`EewoC0Re%&JF(H< zgxC`eUpTMEqv(|UP-WQ7jeRi*UPjgaLl$SMjJxvV|FVfw_YZ6MlO}|~CS2ZivwW}G ztJlOopus)hz`$l?M!~51YNDo*+`q5Ow*(uI_9^v8tCOXZ@@Q^c2HIjEEOi;3HTU%( zt23UuI~Y^)si-!;lEg9UTXEo3O$8E*deq@3g?hqUeL_+omZR>EM^5o9I1e+e_s)#M z3jOrd5Ko@KCxJZVcjA%QQXm=@S6E)I$-Z@PbY-_fOy$16=svnCV3kUGbJ%jvUG9<+ zZRPQ1ca6|1{KM~7+2ZKp<}mtdLU~tL*M^^|y;1S?*$SK4=)h$8(BO)zoF?`L#B6c( zZdk>xkAqCQ@|UoSI&;OO96Qi8V&-m6Q`Mgv6*ifEnQ87EM2>O)yz#*)@Q!$j!<*H| z2Fb7a6eZSDw3lX$?hmC!9?=zJ@%+|yNIz{HQPGsF4tzTd2Rx|UW6zumKNxX$4QX8x z`yP+pd$6F<@M$}AU(>5B>C>eNvYq)Hw}er%YU>N+Bqu@^JP&bFp%rz@{qp=V(f);XFZ!Ffj^DmKmx(A z-fTeYk=#u$<~N0XRtHCSG;qIAdfWCyU5Um&^eJQi^?5FjF$KL8pfbvrQU9~f*L;yr z?pe!032I2-jyGcpo!j2K!2+5P6fsA*W??Pu$6NSh>z{H;1lT`J7@0fIURFS!(n;Aw z*^*{xs0u*RM`(s~fB=v0iOiMj)u1vL|#(p{csIxr1(X0jVcCFVk!HNNSV1|18q#ER-4+Eb&Fm-5?TnMu3< zq(s>%Xc2}=ny&AKecdn*)sG9HnftiQtqbXef_hKqj zFkQ#RR*UC6tpjUE1=8~LaT!w%a+%3#8Qsf2-@EkL`7qhpT2+E!LYHnZV*g!_e=!%k z0H?>JZ?y0g#7{6xqDAT%mV7sK|M7XEFx0Y$+j4$xAe>VtW9yP!V~#1B$F*Ngyg#)wllxn29m)Cmg=RB$3wns7Ju1durxf<5+I<-z>Sz?n z;vp9p@^Rdll?`QA(x9BExTMU@+UmHT{;2j=%}_HOm*<$-*$9iVqQ5S_T-gz~X<~3J z=Hqni$Q59S_j#ZRQ}sd$c}Ipi)Z?qJ3YQN*C2~6xj^t|dti>xoXjchLM`s#J2B*JgFPHh+{HVZuE(_57B!GJH%>j*ut zc%3`3SiUBjcsO#$9rcZiu6H^aoc6QSgpy#GJh7tdC5N4iR_=x_jll6z+6bBfREva9 zSB_A_`w5jI4Yrq2JYMSqjFTvtK;Z(%tq*T|*57y#^G0MDZbN`^0m_C-;l19NO ziY5TgyHD?6a~L1w3&htiB#jKzYe^gbGYwQ%)(@oJcRE$9D!eucOD{6ZZ=Uw48^+}S z=JVH5QC~H~Wm?9|v?;UoJ_a?0NyOz-bpGmmo%>QzD+-~!oLoKJ@%2Mdl$Zhc5qq?) z?R>+(+uK>qi1>qHDIZJ}HjcwdM+h*mNaC-eHH~0ixY8k6=lIQ>{4aaAH%D(pI&B-P zs{)U_y`A647chEQyo~7b&Dhx%s&Tr_%?xi2dp{3n)9LdapXBnVyzJXRQ89a91jbhC z9JOu_8AYt=_*sKHFm@vr{n_<|-p>`=ztwwr9bfeXV{pd^V+Z6eVFAp$o_>a}*}+Cc zPLUggSU2A#n_nqCH25`RL)BAsr<`vNgORH9ScnzqR7gtP4!C8u^rapQxYfd#!noZ7 z4XOZ&$X6FX*L~c%ZYVhL&0%gSMt{sIk4gE)F{~#z@tSIhA{f4!cv>F=S-)0Pcg%0g zOVgEmXR_@w7p94(4zgra1~2x&f&vq&ro*I}SW5$Dj1*?7uk8i6d9Mj2Rzkc_)|Lvv zc4sb@VdX^_MHPP)BA33wtbK=*$jxlT2~@|_)erudwXbd~jAq5k-|eaeE3GTSx=%y6i>T#(3o zfQo&`4ZV;1HqJ>5jqoeR30=YX4uUZ9SnQs+==1TE^wdWIa>mGO7;b!KNk9%M~8~n(LPUGGM)PKYrw%HZ(NE7vWga+^j%+2&Ers6Qa)BNB1nU=ECpk z;#nCm9<3a^h?nf^i`9s)#4y^_QJa)nv4k88lBL&8IL;W4ab3Qd^tunb*-d9_u%LDs zyT_PFKCHBf!C?u@R77=Zw7B{bj!krY9@PMIj!x{Vcs|S0Olim)40l z7|u=Me1M^rf_U;Ivw>LdRwoc3RVJuiyKzuV}I-P z@4$Cgx4-7nG`!ZPXa)76Rws{!*2)1haMNFmOT^x=RBf;~9;?2<$zZ-J7IpFpg!eU9 z;?#Mbu!EUXLA-28tCf_L9PIBm>(#P&dq;Jk$r)w|o;K^%Tw{WSG-wSV?lw{p^q<~( zvO4a~n|NV^Fc+9KPanaZ4t>zjjsfR&!+mrdWpATD^Lr&eIsR)*&|!xb%2^wJKH`B| z&?=l>W9bt&8k5e1kr#ptrDyRFdDcGw2N1M%$;u{0`%RHRqchyzWw9qiw)Pd`?dP6v zAB;co+dY$Oipx85v74i964m{`0(LDUDfv`qz5K@BNe3bne&Em|@uj}0cc(;9wf8P4gVt{)oDODD1L`wS|%xy zE5a??L(AIzRK!q9*D?0v9Tm%+Su)d`0jx8ncEX$c^3AYIIw7H_-;`iBtYSA zGN~*W|KEXU{ToOyA9#tBC3-L3`81B^6=q`j>wQv;w+Ult*Sv0>PfbnA8>mvPt|tRi zHv*}crty2{pVvUpz7b4^M4?-;em9_OoiHBKvjCi-#L+oFMgvl4=t;?9JRJ<5&;2Nd zhFlKNROkOJ+K;jI!0-zNg^eGO%R#hVnVDupilQBMhkNESTb{bXOEYBCyFy)Qsqtrg zQlv#e((Yx7*aS;R7Fu44dhK7-MfN)>A+nmmxeaX$NF#NDblTGiVX8Bk4E3KHNd&oa z2u+dtnk=j^Pak%iCL|5P!xe)c_Agxw0pQ=43pBogC({##4a2>qn(0wsz@Y zA2Wkq;RJir@{k^+Lg*_?CvL9(J5e)9X~GO?p*_K$)%Ob8ZjGt#wv^+ecVE|S0DN#? z0xW{0uUFMVg#AHRqN+9Mij=r-n)^O^ltKsIc`RP~XVhUh>!sR*=ZY{zQZ26-0>gzR zdydqSPzO>T1v~qcOw{ZiF z3gTL|&6Ez(H7zfrtld%k)WT?fTCn7ClGPjtX}}6nRa1NU_|!t_LVfT>*q^peM(HKu zMe=4w)%PE)lmyp=LQ3AiGF@?8?{of=h5-A3Ku+(SBy6(g&;5Q=bF;IErUZbC(88hI zAkI6rW*zE}_M2pDGF-RDR4y@j-+MOKtkC*`_Grq%WjO|GqWgRAF;5m)8)_8xva{1Y zaY+0jXDZDDncADT_-jgkKIiT+eu6LG`MuYDzB5>6*SHF0udaq<;)3Zt^;tt|NCmd7 zT+P&yZjc>Nm*lcVVclc%=Smel&#=p3*VmTKWNE5#S_netV6(AGXDEAxGBheEeDf%K z_%$PRhC}})b4p&2_fyHK4aup7x5tU+(*jTx`Qyp?&+}^YG~X8)&}`#D!WwCn(JXf1 z#jkE6#jraY=F#2jtA!2q!chkgX`ntQ_rr9hRJEzckp)Be5`m0OCrf17HGm zSNyJPdVS|`KG+u;M3w|L<3>hBMM*QbgXYMWEinmP^YqfzIk{Ug%nAJ1moDxH=`QBh zyNRz1kx)X;{H3R{C|pkZ(L0HS{R(LsAZc`%kRkqe0Zy8_x_TKj(gQ(tbxqB|zCM7- z;u%yjuX1n{o>Zg8Lo<*rvw7^L(rlB9XTluW*q8Dg?;}>bD!d)B+E8iC)!tFUHhBuP zF3tl)y7qji)bbwW@`9n}1#no%{S+1!DqlAB@H6I z<4XP3_~;w6%lCJ5*AWUBqI>xqvF}XAM8M@mGTo7-X9!;mz&K$;5!s@s{|H+sr!fA7 z4Dg4+F?6H;=hgm|AVrM0-~Tmm`X8A5C0H>rkE;KIxhzh(X&V@fzr1n}QO+^@@)A6U zcm_o#Cq#sSAA~cMBzlCAyx6^Fx?&3r1)Al2HYQ72>I>m;MmnAeYJ?^-P)u_Ra26n` zNIvPnWQK++lId_*LE#D1Z(T<~y@z8Pf{0Wym~HvCt}ab*rv^_B0MB$uNY&-Sksjb= zq?bT>VGL3YX()h857%7l1bvUI7yVDP8CF8iB1;dB22Bl(c!oiR^v~*`*`OFIcya)! zk1~2<&afdtTQKCSu+jx-?I&+OXB0giwk`^h0nV|rH#*iI?Y)0VX|bzgwTos%^k%v5 zSL#QNTOt#v<=SNHTG({S$y~Mtk-XkZMF2;Zo3+3G_3I(&_XoyE#7_i5vka6{58_a;vGS0ggJfQ0lk-2g(=* z6rY|J2h~A6lwYTz5_jM}He?dyJ@rlp{UgC180x~%%?ezt9GVcwcr3uXBFGySL=++T zh@$lsrYpoqZg=OAI=F6Q*R25ip+EUXj>Hpp(JugWNeO45yySZIdIN%wH!8OglHwhI zF5f3;PGF#Y3ysIdcGUC_n#WG3c->I$>r7D}T(PvZ9jkVKq@ohpixmvi7}#y>e?uM@ zwiiFUt>DT3C*E;C0#3^0V5EbAJ>%A>yXGIfW843~;2j27nb1&zs%}^Ea>K{2@VlXq zNO!zN0l0~^QP}gV!eoUhkP7g$iPUl`;`D5 zOIR-MXen5^F2IY|Bq;#Jh-Dz3cCl5Fbe;XBxU^6Kh#<=nQ>6>UX6<94Y-i*JDk=8{ zz!F_%Prkh(e8H@Eg7i~<{Mt#b7Y~w8I8c~f3*Er>@BhsIK4^E?6k7Vow(b2mP03ax zEVP?^d?N>>$VxdIyJd!?uvSkJ>K7GT3^KrBxLGTzdgV0OO?No6-x#9z2R%O8H>6K~ zIS3=hZNv9Ds2XJTRuJ`qy6jbNUwT;5L<9BJ4EH@G>?Br%o4X-m@PM20a%M_nrvpj) zWd4zuoG?2tFR!SGQR~-U(>%d(KbqB~8QwK2I%#aLAVE+IkzzpV;eRzdlR`e_GxIh7 zTh#Y85tHs2ZBkqp2O?%Pk&yR+tn)OKV9W5IKVG%>&3g@y#%dA|pWcm6TW^d49J-s5 zzn}8H`Vy%KUk8OnxIjlp{Iry4=|#j~34aY4(nY5A;?&!ae;^W7LqlI^Fyx<+pI`WS z$H@^zMe^~3>30A$n&!_%LZ=eIoLTk)*@hDdWD2D3)&oIOVT;lV}1gSJU2b%=@ zn*@kEju&yAFyi_O`$zE;AqK?Ne~T48OV^;DZ&`fuOf?#D& zGh^$S17XX?Cg9p(Gm~Cr!K(WhKodHm)>!0s~}KFI-n8)cwsnylpLTmN-7gdHdP6x zst=Dx^^h0|-lBo8b`SqH(EWb`GZ^4SZ|vLp^ndL^^H?{3L!o;g{(vxAA?$$!V{&`P>W1ea0T1C|JysHjFUqXayb+)M9G_PctqxTjJlJA~Aw&CqdMQfQf z6DNlcjEyC&doGlwpXf7`74vo7Rk*}C{$hG4@A(ZjtYmrk;*0Cg6pEEL@^eiUZMKv< zTAH6DfpI1}>ooUQ$XT&7*gd9-gha+f#9{5RqKTZvzp5+WPPbFO2`n_oL-L|G zyT391Ao*a}hufJmf!b4NV7r-zWyZuEKlFkootJ)hBr~aAocSiks9!T3=gbItqt<|9 z{UAm@c`HEd`}C*Hqr)z>YrF0!pERr|bm8O)k6S;!Y{Fqk!zv=PBNDP~kqIWkaGh3u zRA1ex{NU$a5oFai0jz->4AZZU#m`VeQ(n?6Rq)r%_1sS7%WUiE^yR=RufT^`hidP_ z!;vVWi8I;OrNcg1FW`A44HHUDzocW<8QMPea@<>LnXlV7A}^PNY~s%p?fs6Z>5XF> z;SbN1CtBul3`ABatfh==T;*n7t-vq!1~gifo&Xvq_X=&)px53 zySTDTNt|3?*XNby#jsNDHn)ntsAs)GZ<1z^;DAv6fotFws`ZoDc*fj+xYMoJDyNdN z^6hKL*63=hdZF`ay3~I%TDllge805Y*5H2nwP$1Yj+*oauii(2FI6A1T|Fy}Q+4br z9-_)jh-44jFEruAN#Oz~<_ZFExKKF1ashy2GOec&t7r}VQfpGSO23Eerd4*+iBs?! z)gT{TU>*L0YLtwPTiT4%eLvzBexJG?Ag28$+o5e%7Ohpb6;i`1ZfIxg))%q!Ur>$N zWakpG->8QD9`&=K3uz1WBe5>@ZewUItfHPm+Ei>zM*HD3Or>GlslB0WMu8Bb$%l!5 z^yiUNyQ1OC;%B-ar~9U?J}IY!XPFD%D;7gD)LC|=Y^k{5GW$Y)a|LpEb+>BV;Bl^I zQT+^0jLuYmMHl^av+p5i-wpz11Z-_5qnG-{Tiy~!)5-SPCAul;H!2I<99 zyx?8mPOi(vLT;Qd&CFOG>Ef(kIOMNs86gm>ouSVtL`HYOp7f%&IHX*LjIMs}U-*S} zaW$kaR7Eo@vmQnXSVX=sAZj>33#MqUDRfl^noo z%cW}5H^5Tt-_mrZTHmr9M?`8^5`c_|$n9?IvG4xqaip8 z3MN{C1Sov+&_Vrkm@r)G!rPfKLp@mGZ5_f8ITKSxp#56nClz zGn{XdX-QtcUxG-OoBh;Aa+i5hHC>?-3&=pw#rFq(KH`z^(ST*BFNYlJMT2Zj09Fh~H4(DVvSh2%spwE#=6u&efCr7}?&BT=A+` ztLf>=dJ~2)IDl@6zQd1urM7*xWm^aj$R4eq%k*cxN}9JC+a@$od_aLnsXnxuQ*@Grl(iaq|<`15d`OE>-65is=ELW6q* zM`G4%(FeDp59t^l)MfiVm@xWS^}c^eEKWysEBW$L?X=bM)M5rf6pgIK<*nUu9p2ci ztCWTD+F!Q)^_|RviMajCWQOV7UTvrP8`58*MO`7bi$E7-LnO59c##hRROq{XBqS$};R?t)qRm`0@h1k72ac zBGS*>)IF#PU9@hgRqlw2p9wk|1>893sHydeX;2ElsUP&Abm6)NJN=2qSKeOss}Cx#UuFjV2q9Vin^xz-hw5#Ou|>v9mqmjpW$E3H0#uA)Ict)_)lIN- zMB>*7;w_BNX_`Yh7bqV&fTn6a1%OM3@AGu&!_5y&a|-V{zgukxba&0MyL<3H?;zlw zg^AwtjHxgE3ZBR5&*Kk%Y)xki<9$+|@ZTnI98;eIK%&4osIRacvkv|0RXad@vCqTL zp-+VnjW#dBFfB6+lE2y>a`n+bY~1inZV$uHu`H)a^Jn8z|E8wBEcXX%|)YjI5bJFK;<+!))Tb=S%x(*C6RCOq}(`EU*(iF{zIL1XG z`;XWiMO@J8u7tK=PJxw_#^Jb&Yc} zRlKl+7(DB9ilSXUi+lzj=~i)wunsd){~SgZ&c{6lwW|Gh2FiAyFW$Z9XnU4_i&$#6 zGQjG#?+o6%+MD8-X{I_hPC8M9VSJ`WD?IG$&-9DCO10J7ONWNIk(4}Cj@SW%)9TY; z(#;ZjvKP)X2mOCLi?7Z0{y-Z44G-9Q66svfzNIyJp(cdWvM2q?L{p{vZ6l$t!~QJi zkU}4t1_ZY-Kcj1|ejyDh^MQWH<`xz^C{*}IFWLQlmIU+_p;jvV@Q)ta5)U6f1j06% z4NzX8^RHpaFpP#*d&#gP|X7{@ejy_gK#|D-gRGB@zw#^5itPpb) z1oVFpiQCJAMLT<5R<{m%o<6QYTYE^z+%Xlre$XsJnbK7bvI(A|w-F@5|02{=fOY{O z5n24_JzqiOM9K$fTi7DkDN9hkLS_&HA)Ex5e~m4Mw&6$Ld~#-K zzhGl4dnci$fsTe!97NN183e2vWhLVt zBa-QvnNkwX-Uh5w>tz}33K0Yw3qQMrl?B(GB>0{O8+D-K75RPon0Txph0_K+w!XflGn$+WJ?%#QiciH zPTjC@Hz<$)S-q)Pc4^+J{fTHT?^J~S9-UGw1HII&y%5*Nm@9%2pub)zGw)2imB44e zEzQ645rAF)D=h4V^Y%h2TP@|z09kVh6mD_atXzp&%UUvBG7)ux{Zg4yw;`dHq=uBS zA*qc(uKNv7pz$P!q0fv%MJMs%zY&B$+#p@Ee-MP+BH02xXjKW?A)vaf%87wg5MGl5 zCBcz}dehT_s4r@eX$)*O0Qg``mDQe8l@%3#&0M{_$Fg`pHtD1?6l`u_OmsBT0u35K zKH6Cu^Dx_fy4`?2-pMagAXdD-T9qa*v7bra9-i>xFW&vesg;52xV32|S(}|nc!o9+ z9*xG%{Pjl4YCATwR?7H&YGMcd{X_Fttd z3lTT^>Zop1{g=xMZYWE!5=G2l8#Fh4*18H`!zB$!&FER`dLF=y3m-mugnFo?q=YY0 z4C)n7b`6aV^C0C9)Dl};g-=0Dfz#8|ziHs^n?LsSTofU1yx$gBPo35Cwl@CdX{ne@ zfLAgmX99bixj#c7Q1v8oD8iuccUHBpD|evBH1`j+ffqPjH2_%5^?5ze&=?pa1ql^U z%%F?}y<_-JNX_*3Q{X>Uq$wNW|CbAcaU9~F-}sK zY@+=;nJk5w7MlJE;ZKC~_4I>W&epG2SDBNOXA{9T955Mp!b30zz5h#?VK|XnL(W@$$%LAlO2T z9)d*nsDrYP%ahNrVQGK+j{V0 zIP_+v_~cST`&KIl>VekG+&11-=yOLo1 z-?=os%*cXgA;(`GDsJ2g#t`$Nay;61Ce^NXEB-Er(g|g8Ci9ci3QgaD$AHvW&v+ma zU0*{GqmSG6igqt>h`K>zLFAb-iL*aeHEZMX;R2uI1QA)(>&&1 zwW?eSbP7X;%B*7+Z=Y(t237Mz<@PB)yU=_cTGZ0fcPr$|=q$5Hl8HTA4gTibqYk_% zeT`OW47#3Yemt1;vk7M&INA*N&e%`Gi903e3?~r zuMMW>fyV<3p#^9x?{(vjy>cfstp#!a<1@W!bjgLlwy?#9c@q{xNIkMIAm30 z5JSGo?F($34|Zd@&kyqp3Mi0$t7+gqS9iQzCo$V1dh7^TkFXSwzrpLR+wU*h3Ss{O z@bn*g;G-E@3S`}v4giA^LlFMc#P=UHSFZ6#;=>oFwhZ8a+!eWu}gBPAI2DAhabDG;p znQpF4pi=;9-6O-pz~GYrsRI{h=cjl6>NUZh6ad}#lm5Q&(;jmAOx)H3*LnjU-qp}} z4flDAEcbdDH3&oXS%vjj{8=2k$xl|ndFY;K`u0667YvLYpj~1ZF@w{D{MY}FNX7qw z+sg2K{P@u-H7l!SOAC2UL2W)q2<$AJuC0^*^XQOZ7eUl+2x34O8K}PyL@LH`==ZdH zR8h%*g!44d{RZqZhq*5ly(Wl}Uoo|T^$I8Vw8UVwx>9>t11tAS6ErO3-xXsSa&gi`r>62aVe5wi# z8PeYsO>x0n($EOC02%f-@Ik){)Yew@R*xL;-kIJrz0J@6y7dNmQkieCk3kYf$Ii-X zKg)NY6*-zf@Fi{gFK90yCE*1&{7i4aV+bXfZ~rmZK3ezgl~@mQr2YPA32YP~U+2t$ zb*tcSfcxJ5dju{+$nc^W%*Uf&v$ADXx)Ls{!@wHaNn<=}-Ks#IOKbn&z!y|FLR%42 zU51GAk%;WRS#hTQy{-)N+VPSiRHDmaiGiT z>n9nUJA(~{IMX`^;m-*S00gDetM%G@N@bwzStn@OC5&Qe3R)WUdDkJjQWj>8vZ8P? z|JrZc2?ZWtZsUSM7U;`<`4W!s01Q`W>PBG4Z$A5pm&~}02Yn)XGZn60xdM!QxxEFr z!=xF|*nwcu^u5F)$XgMbQ$UmJTWsfYnrfxtzoEbw>;!+tKXovPi~h)OvB1bOxX(uB z=Cbu--EM|&3TT*GhmDa7&7`fYbaZtUfP;&HL6cQcQStu0Dk4Pqqa$H{a}U;i9B_57 z^o)*PV}iE6`uh4HEtHpcl^j2g0WnQNl4GHQ|2AnS)hU+&ph3PEgVoWI_v9b{_azVh nu}=Tj#TWkjlN_UAkkDvsiPWjYi!=|A5tEfvlqkGo^!R@Pd8hGB literal 0 HcmV?d00001 diff --git a/resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_330x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_330x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd56a651ab0e530ac7d108e3b9f582a1887a904 GIT binary patch literal 15125 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 literal 0 HcmV?d00001 diff --git a/resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_660x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/arena_pool_block_hu4f8df82d1e5ed2dd36a83ab9aa551f28_31084_660x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1c07a12a115580cbc31a0dcae48dae14b9fd316a GIT binary patch literal 32817 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⋘CNZoh^}cy1;Oy(x5O+5$l^VV?Xefflx#ZU%)f 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 ISFn%&4S(K!D*ylh literal 0 HcmV?d00001 diff --git a/resources/_gen/images/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_1320x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/arena_pool_block_hu93a11a9a9301d0cc52846a3295cec3d7_15814_1320x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1b4758d2202853d4b949dc580d020eecbdae3734 GIT binary patch literal 19387 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 literal 0 HcmV?d00001 diff --git a/resources/_gen/images/posts/memory_python/feature_hu3b5d3c7d207e37dceeedd301e35e2e58_0_600x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/feature_hu3b5d3c7d207e37dceeedd301e35e2e58_0_600x0_resize_box_3.png new file mode 100644 index 0000000..e69de29 diff --git a/resources/_gen/images/posts/memory_python/feature_hu6785e7d13b937a3d373dc7f35c296573_777651_600x0_resize_box_3.png b/resources/_gen/images/posts/memory_python/feature_hu6785e7d13b937a3d373dc7f35c296573_777651_600x0_resize_box_3.png new file mode 100644 index 0000000000000000000000000000000000000000..01417372d6458bb238f752425d4f617aed78bb9e GIT binary patch literal 116604 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

      Hs0nZ>TCtYo-_W)F)ZbEA@5I& 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

      o~wiFb!V* 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 literal 0 HcmV?d00001 diff --git a/resources/_gen/images/posts/memory_python/feature_hud5cb1f3bf1960a52b1188d5ac859d6c2_91602_600x0_resize_q75_h2_box_2.webp b/resources/_gen/images/posts/memory_python/feature_hud5cb1f3bf1960a52b1188d5ac859d6c2_91602_600x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000000000000000000000000000000000000..bf3622c054935f2caaabd669c3a5f39e4750baf6 GIT binary patch literal 15076 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 r#YZaqv*gUA9bi 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 literal 0 HcmV?d00001

      !?Oa;c>Yh!Od_+HkGM0%Oy0 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

  5. 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 z zX~|ddI4N;Xq3SV88+Mv@6SP8Ui;$70%k-93u)UmKf0;bb$OkLrd4{QLP$nuImBkxD zTp;)wPpmVnjfwRfgY1f_h)Asc4!GcVDTEi{y~j(KekaaL;zrA&q$rD6UZB}_kiZ+? z_@+74(|*Y=w>ny)Ct|N>bwA~fMuq07leS*j)z7`1?|G3q>9;{5QpCdFhN^V88`PbHx5c4tuVPS~r&i{2x zKuJ=bACCBz@BD5)_Rsza;su)-`uzb_Q5@MnAK?hE07nGy5sq*R!y3zYJf`38Q&uHQ zgB1Y&%>UuP;S(SK4gT@p|NG>FK3Q+T#mg6%5D)|BFJGYg%2T}Iecwy}p>JWlb&1L5 zCAQ8#&*lqHl1PmkUZ$65(l$%7&7=~Kl4hctWMsV*A8NL@u8?LKRt0nt!?U&Y@HQvp z16GCCdd5X~c3bwo7H}eX@5o-qBrwdbyAB%P zSlhqa2!5slhMPkIqh~d)uZILaLKh|yKGH0#gO2vjK_SLPD`wo(9#RxdEvt^DU9%9M zLnp|#cz3GGqjiEY2}&9zZ`LDST7?j;kG*qIZLC5=2#*;}#+1bvV>Hfrd^L%I=}?m@ z)AU0MjcpVGpq0j`XjL6Vz`I5#5fxuvN)k$3J!Gf406}xUnKNjeV6WLYa6@YDRxQXy=to-6lPJeaV=%l!uIzI&o7F7Z-x`@)zDP{cS~vBXL z{@!Y6pNGYE(I)rZf`_~drjy{*w%6I~F5%Mr+Yp0RMYW>u+`~PsW;+O7HIa(rUl-Tz zLz;f4Yqh!1giPn72MJ(@&hdB47u^VW1y%Qy4)fgk38$a_9Cu7El8iTydW>n*Y@Q?% zd~y|a+X8fRo^1kDx3B14_x%Xqs9wJf8uTIIB@kSrn6sMuJBhh=uA^LNtHk6re1!=W zD^-DBAe=054l$SbpcGaKswoM^zGJ5c?eW2*CB>t8?%9Ip&w)xT!&(@+isc@><8gS? z!^hCo<+yv*R0p`q5<&!aCJ*!Lzxf1pVi}h;A~_<8m18GZUR~qzrLCBhx&Worwa2Cd zV6o~8TpW(Bz5~^)ms&Cyg_eLJU|M_h;G@^MbZV-HjOoO0uV$*+m~5-a-Dm%Y zRln|Pkk_DqyhSDx#*>l|97zJ+ClD;>&u#L=6E9K7S>FHNZ%1W0)K@>A)($!&a_05i z*f#sFRtg8CYsZ;Pwpdj?E|&%O^_SV)xxzqc@@)A~r+$PZ9AO?u1n?1#aEqc{Iu%?_aJY4@3)}G8~oZ&{~OBT#p(V6nuj0%25OZ}C;XGTBu^C8<|PXK6!mBW zP#CL_WQljb?~mZ}Rp>84(qm{7d^TW+VXN}gg`!F_CPvsEj#zJ$FO`mVWy@M)CKHOw zSI8u=yt2ejF=qLW2S|^dWk)9sF)C;k$dxDY6ULX$VJS%xaHS))mNz{77|>V&0alr* z{hSxU`9NytXHps%Z*244uX_(qJo6;EO%SbPtqN-X?T`OUf+(!9+;#s0JpAyZeBgs0 zVs&+m7hZUtyYIe-#3uBY1`M}%qH0(vilSgR9P-RFPfhn_WPTx~Th*?Ds;V)@V6Dda znk2DQzUDVS^_w6HBOzwGRujJKJO2o8dFVmzx#KLVuIGXysY&_t@BJQm)}wM2&O3T} zpZo5+ALnD;)Fa%QkRZ6=u))3}a!te&f~O7vX@>Y%pUz)(#BUd`K1701d%Y(a-I9^5 z9rSBO0=EGm9R!gIR8;DzPEb(4&X(Xtdr$`ts$CD1XlkwTUZz&KExM{}m?wc>sTzEd z1op~PSM~gRN4O4{h6FZEh(bVO?Y^42p?HPp?m8db+WllNB!nz{Mtlrb>O>Kg!Ao>V z(oS=ZJBg^`vgJtq;nWg15vb;wx zAApWYCapcJ0N$1KlVy~Y2nK~LkOuPs+DJZIKv9(yX$s;5n`o->kfI!sWsUY)94C(* zV`XIp7h*70F|!uD{m@#AFVKK(eZ%%MH$Y#nI<;n7^7mF#PK#>l-6@H4!{+Z@rF3XM zV`Oi#b}vFWZlh5^?_s0d-Ogbz#o{q6eqA48d%KT$?|tmG?HlR9(5?BauA$&xv<-i4 z$lvxkYW;U#pJ;8NV;P3|=U~6MIW*6^26r6<%%TPM;`6bqa>Z3HziI8P_xO9<_`fYDpoH)&8g}lR!S17DJR?Uc*PJG z8?LEYdUfdObJx~ZZ4)xuWUo$t-XVY&71#a%`?{5}*!LM};upck`{vlyN6jY@%vzfk zPoDRfR0SfMUVlJcI>NN?n3eWW%5tr6u-o;}nOI|(M$Idh&wl9~o1+A0mZ<%Nh zD!lg_0l7RIuiAtr*(2GfdBz>f{OZS_pmcCy%aQg4g29R6jyvzCD90?;Pt`ZD#=O!B z)g%?~r!1b4!mmX=(pT4q$aFK+ZU?l90iqEd6KR|ms2mvZCLw6WuyU*n2K0`fVR-p6 zmtKCFQ;+U&_mbh_$Pu55Hj7F%SySzg2G!UlH~aIV+UmI=9=s#kJl8~vd^nH`j5OQV zO^xf|<1y^pO}E=SL?3uHak?0o)D+_iV!AF``t{` z;+{KhgPq#!EeV_ePCU9Z=1F_bXdJ@jil0cjEX-u4KCW*$^jz`}32!G)({zX3alON+h{mL(p z8XlPP8cUW&b;$m+13M` zii@~hX_mC7e*TNR_}mMakYcG3GLK%Md$uFUONf9a}&l#M42%oG&$Vt7BcwwMnwQqR#%b%yX{2Xa{1xYMf zo)Si5-tf>v*tVu$XOR@iEQK!}&IF7}0FC&l#>s8M+u!zfe)gAtk?nKmP+6bLlMz{# z(oGO7!VwFHxqnVhoRq;C~HWBHbE{6?4z3BiGL zRHehL^|49HbLU>*-1+m2$3wK4)r0-Ow|@}tJc)UA7Y(m>OsnZOcAeKkt1vN2?O6{x z617du-RmHMr*((gIx5ns8El#wUDrVH0b>oduTgtQCfZ=SHhQYoyj~LcAi?;(f?tj( z3o+W_t076QxcJ=jR69EaA8Sr2V}Nkg#rd`NzsolC8Uf;IM((bx^yYP#Dfs61a}e8a zg_2lz(R+t;k?5b>PP2be9rbM3$2LnDR1jPU*d!8Qsp*jpRyg~}8>zgXCaEl*idRiN zQZ-*o^G1-s)9s>g%I&f+e>Djl-H>h`)mYs%0U`8FvwJ)Yv{J-M_hHww+U0)Y?bk>M z2pSUvucHO0N27`Tm+X^KzP~cjH*td)e2DcFE%-()*aYNe-9w|$1Z-;YO&u%&JTc+K zrYSaEW&j*J(VkNbxNHtLFebtKl5#xZ^7(VI&Zvn&I%(<;dMz~i7El>Z8moOH7!ARD zYF|%}TgL-N`7y<$q?l~5jp4%dd5Y&a7%Va9^;lY3ChhfDTU#UdIcaaeq@Lh>iqa`G zZVb91ZoT&uMHR&Y9t1_6_HgwMY2Tnj&Bb%ik!ua!Q@M)O{(yJ9^PL1&VU5AN8qsaQ zu^A%{&~Ln&Pz&uxOG~QEH=xD#q@){)IZQ}q_xX4Gqs1}wuzkn1YN8&zW@;y3I7K%A z80~#Ct0}jJ{Of=F<7{nivVQCYANlpA4_zy|b-?F_ zW7%5`zt}FWIse;5iq5~@_wj1lYn#^5t?BKN=#J58C$+25iDfw4=DFvdjcyz|Zo#?E zJZ`TN-LHW3vO2m|k<7;G14BH0ze5lNLr7!aEQXrE1cT_L@j?hOVOtfT zCLj$NJRNtga>0RkT+&Fl(!ryw7MnWNmes@y=-KzN4GxJP|cr zw>SmbT2c|bgeHlsB_;^g8p@*JngseDSZu#u%@WL-oll<+ zp?!YTo>%k;N4VW_L;xS*2)7O914yDgwNo5Bew;t~{Xf86ci+Rm`muk3D9CJvE(3n& z3NL)=)4bu~$EdxgO8S%`P~llSbvMsG`4pK1bbuPf|bHH^21eBE2#%3Y`KK#J{Y&@qx>&6Sf_yV6yT zG)9{y@RmBT0 zKF7Ip&rfSYi8Yko@%b-&j-r?}L9HfWp5$D-a*_38C%Ce8nG+|DQB*_vg8{{)z+$P# z6ISy96ho?VL~u2|UJByS)}rgE)Ju9fAOFqYVl*6*^-{7lrw*Ru$4`=^DQP;(_&vg{ ziK{6r4+EtYCa6gEXdTxf2Oz8#$-Ll03}Wfs-;cIfae-XB*TxRohMGY?t34u`dm04ULnU}!5REbE{PwT0bT&;= z{eHw)dt{y%M9)`_lMOPGB*6#ABX4^f^|)X%-k}^%7>`D{Nx{x&i=r5jraeR)5~^sO z?u43HgEzFnc?omRP-|le^{)6#J>22Sj&SMafCNP`8MAWy6#eB@1kKsIA0X)s7%Z=n z^m3BHN_;k4jZ|Z#tU+6pGGq#}MCch|G8~aBk4`K$c(PtbF`n@7!;hhwq=O)Wx*a@Q z7qEAYY7JsA;qXD6gW#3c%)GfUv7g?ft1QP8e&iqgJ)VE+3AD9*;R|12do<+xf9Stp z_1HSYVgk&Rz2?>SO1?p8RnJSy%lxnZum2}6Kl?19a@aIsduxk7^XL8?DzOa_(ahyT zhX4_{UhPIZPf=#KHTbp0uy#xhol+Sw`5awu89(u$((oez5*l_8usMX85WMS&Gdl4-1f_24x)rRQBirA=UJ z_qn%PO(}&WyORpF%v)kF!ZwefTbOoq6{lCjwZ4BX9CZ7;zSp$x+QbAOr415da-Eq= z^4vY2>b`3_^M9oTQ66grV-r;E@xH|1qms7kcD`#})6_J@vlu2e(>w$XsK)9xlEh^Y z#H4uVNL9&+HF)=1k1@!u;D+&gQzfZHBB<+fkuO0NpbW?PjZa;s6bL4zaskl^+GZTT z;|}uvfJ;{{%X3_{PwT0ae0&HzxbbdaP=5(N#V0)fKY@xJf)F!}LgJa_p5>%9|< zMq`3^B!dC9o4J*V3UeK)QbLj>7^Mhx9UaG1EFCZIKFGohXlxiy9wqoT^S46w3t>?%jr*r7BlqP($9(FC-321>}hN7o}>e&$P9 zS0EuUN|reLz?)FZC#anvm6{Akk}AsaCKsRh3jJzAS&lF|&`&hkpwHVLe=EUN*UV5X z%YxpZN2|z)ft#33{+2hri8sIbalZKES4geJiN|Z1vy~F%3989QRvr~JhS|c;8jDE4 zXhYu1sV4=_2|i2N81G;c8wp?+C*wsq=Gckj?CflEVs(Y_)@Aa3#@6`@8vmDaE_q{dKIZt)aET)z#q| z*b!cJv?Oq%lBvRSKPaV;5Ut&mQizuu>I_wuCB_;Ol9-6PK=jSk1b!7s;F!T2P@zJq z3IFb2{$m(j=H%*tda^-KhSemaFc#-`2bo&6c6+?R%^!F7{ETX?=4N(hdqQ+40;Cs6 zR|UaMN#*YL0g?l#FM=q1F>W>=0~A(kW+9-cc%FSeX8nq^49xE9keP(h@G|Rz0p(-YeEtc3;bZ@tkAC!{cslu}pGCbT$sXQf0(n`N;)S8v`<18<&VNAmE(lNA6&`E+Zma-TT$QW&0q8JVFw7#K97OzL#YBtY@ff2~_oM)bX3TrfVRbjN@_dor+{PFMmekPO2 zE|TVUC4$@Ib!ElNFTRK`YX!AYtc+M}lE4j`zp8}dG{0BgvAn#@XdFvBJ@?!*EDe^Zi_tWY-))1YRdP4d zSLYmFC5?soOrf}+Do{7>B`lCzyN2Ow2-M~F(e_xIfa<0;9WRQr4$ww*H|hl)umAdJn{H@D44JNS^ zwE~-Q`i{FfdG;Q5#yeB@qoDSfMQYv5;???W2(M^z+W?tw+m^yDA;kCyuqI=<1 zMmuwj?ys`7d5M!s2$K(F%PR`_N|G zaHT`M;C!_3*Q$+qI6QrPIK{_5`Bgst@ry`yf^Yb?k8tl}Z{&PYliD6y8|r!z*X?2d zQdMmwKG)bmYiZo?g2xzx!XW#&)#=-8u6u+d+^RStfRAv5+ZakIHa9oPdO2C1^Ud%5 z7Jl+$|C-WOnADOg%TOHN$H0mAf<==wN}V*bB&our%OuO|RLV5gEl~k1;?UwrC18Rl zh{ISzQ5(|!3PIax_In$g3?X!si*fQ{3FzPn;xXc}2>sx=@Z^^nUO2~6s;H9zEZ@P} z-EZK+*rD?ji^u8;V-#1;J;(UPr^)Mz)ukmiE}tinz&jp)2anu)A5v6cI*aT*Y@dAa z)OC&4NmS=5Pc^AAy^Ok?@I4>?2v7W-FHw%i7!)ei1Z^4{I!Ln~)p!B|D_M`ySB(!< z+(}{$qj7-)Y~{&}p&X6qC99aU$EYk&5}m!3z_^;QmRZ)8mMAAfde$Q2F>6_h)FoPb zmeZVKXOlsi@W5U7qJt3X3Z0~2G?S{JH(22_fAB>vZd@YkFHsgF^3;-MIp6e6?o;F&^^F0uGCduy{?Z(sTQo-~QF1 zgF{54wZ@vH6U3c;cg_NOs&J&qM4mrMCxQw>uh*w8hU8W=ND`{luzB$%5*%?H*o|o& z(g4^<25Y0S+Td?sRM~2SZ;}qWimM~s7(`MtyrLlb-1dUJB1_8s5vyvYHb?6e@di;4 zv;}P;iI#s_r?I^d5GsPQ};XLHx;^? z@lwaMC2t;3i`xJC|4)49Kl!d+RcfKJ+mCG^2LqT-(>i;GIM3o1>n+d06O&r?m)gJZ^20 z+&5Nprm>n+a{){597Q={X?Y1(I#yTL$nzYn^$qP?Zv})9a79I;4WX>)r5Q^rDh1QzXr0neMV5~-KMXD^@!!3H&M$2B40}D#T(5MZAG&SdEZP6NoNWe*8 zjsy-1eXkr~?6?*QY%HvwWhY-{$HS#8g8+Telt2coh+?si*GeHqF+gFo1s%&IBub$S zq_VrTL3gZEhqduvczxJ3jl(|a*V_If(F~Dn4#2scZEB_2)=d4am*z;td9~+g&ppIz zHBufDI9qJO=1YjH@S`j7BVq_@rasi#Hfx8@+ATEoqC59LCiThmQ@Z&rlI0fT99hp$ zjK`!oy!RXKAXP7+T(ouWwYzLY2BMlhHj3b31vWXxum9HP2pU`fV{?kKBrz#>JopGs zStjFRcAUyjiMIHhT;F7Nk^G(2_uYSv(vr||ebOeV-mFBR{hryjyu|At-9jOU`j&Kl zZ{U?D7^7uQxj^F>?-@%PXeDxDQ&tvaD&YNuyt%PUmKu*S39E9k^ zMUY03>p=voOe8mTlhL45wAPpQ-$NX>_mT9qJ-|SvnCz4>QG(V9Y_FK!LVN9y$VwE5 z*@FOXTv3F$uV(vo5YqfO+eL}Cck+qfdX69a$VeA7Y>r+*Z z#H954DcjrI*mN&<$QdFLtPpF#*9*^%-sPxp>!sKo;Rv@cjtJl*9N|_*Tfeh;xv0jf zoujU6mY0_qjz|2`Fa1Y~a)eD&#^VwB`hd}>rq}N=Bu-RU2Lp;rm+09Pqa0NYm+CPm z?mvxF(fDVo02Yn%fy^2b?Li8PLgSKSES)%o7z+}&>wLg_hcOn_)QGH&L`y>nh_4x! z6O7TU=NajEhi9LAiab%&ShhpLJKpylY?uKmv9ZpK8#Bn@!ZTmx{8vAN-MK_=fm&e$ z+;RLg?|S^LESnT^@KwRppq0i|j@%lQ5g?$fM;k>yPdK}Dif{V*Z{R=u%CE83>rn)d zhWxbxXV;H&^6qu;flC)JQW!_&9CcmANtF{)+rt=*)s`?WSr$X?4Lju|E`CKYT5u9L zbK*FcuUuw*Wto8BM`KQ|tWZ>Ar1lu)u{e%rDUUw#C?EOIhq&|987^IZ8Sg+F%eW{= zR+sphpZjToj&(O2LM?&EAA6KjCyq1T*}{2Gnk-n(T&KnG5pF($50phonx^OlyPH=l zz^$9QP|iEF#5Ud58r_QoRw%IGohLN)FT0D48+F`X#brtnG`(~Q`fI#+@f^8P^i+be z1|K4EW0?nz!hSw)65pS0S^2r(q>UXVB7zT|AOWk*!2<>= zTFr}i#QEKpV+%pOw)U|XY3lLJFP*ivI8oGPAh8K`T`{h%;44SgOECm0353p)d#{?K ztwJ|xDB~O5HjUB*qcPT8)e2fEwVOzn{lg|-3ovqRTf*A|O`y@$Sjo^T)?}6@%PSL@ z+M~5ru_nc15TH^4Jk+95DnXJImB6vVN!C@ETCiKCaK(gTJfr}51l(kV4;7F!r64kt33%@bMUC+>6(g6>9Abe?3PP>f7+oUxCJ`e^FiP-s ztXKT?-|$ULCS$ZVa|w1@$FQr?abB{YBI;JcRGB0u2JsfUh&JhP*V8)Zs<4RLaPFeI zNkV=~cB#g=BZ%<9@BA+V{L+T5{?3gnR-!RHCsqZnyQ+&HN9bm!$Z*x*9zR1&wJ_ht>u2gX5z zhp|BPt7$!gn;WbZU?EAs>S%S^$$+r}qGdL&1(~Z)+&iSoa^^w?KqdLU{)$5K#s-WsTDXhPE?a%qX^Qt z3Zbcq^9?O(dMK)`iyPv7oQ>HHQ6(vfI)NKs;p7Uu?;Bxt0ZxO;(RR$erdGeY-{(Dqflt$Y6!> zXcCiPQ~+bqR#A%}c@L5vwI}v%N<|B2bhADUoptKM$xPdxZ|1%ldnAIph!V!*e<8VX(AK?hM zF_cma1_P?9;^UwAI6w2#KZ$N?#wnX{achhF-uNCWrSV#mAPl!RIioZ$zw`n)N2NV3 zT_QVnl1k~$#6AwV&R1+*dKu*%Rx3P)WO)^xFX1F+iMHe~v=e1Tr2}3CLY zb&N<%0;3D((UTEcDXvtSGjDvHiB9lnw1C2sC5mErnHRqF8LIQoaYrgFr#ahKE^&Nm zg>QcMH*n9HJ18bYmU?-#XxqoSNlVPScD|;rG+ECgB4l|=QI61APCee?kN@HC<;gGq z0T-@p5k#Szz^e@q%8IrA3a8hPaqr1Hut`2u1hfI#s;a2#8hju#mZB&yS<2SVHY0JU zEaAnCOT2jTB__iy)|QtTZ*O2i;2m#xjQ4-bx6;pY2E7dDDppoj$ZSThpJT0J^U7uN zBqgy)LnOg3{PHjIg+KTrw%21g9x=Gk+`y4gve5Q5Gnrj*Mu%^Bil(N&B zpn4CbWmf^*l3LNKY_~mktuj&3qIO%P z6Q`;{2kN?hMeR!O5hOYcM1$PW(D6-%3ZO&u+iP&M>L!XvOaggTpqs!#JTDbu`=8e7 z?!=&^`HV+T<3A=eLC0njTE}2#((hxkHI}vK)ZO=hstILH?LCv79m=9)G8y6~W2&7k zycJYPaY~^uXhjUhn}kfq`gFm&sY=DPeM((7yEfB)LaLf^U6Q34_dW1HJcTd|^~~&M zZy%-GHK7h~)%bdWhIyf$5B!nu{U~?ea~BuRU*w*9?&F>Z?jy@{(3;8XsDwwfuNJ=T z!yo3cH$2LhzwkvKeDFce+;u0bCr>aOj~mO;CIG0_9&zP^X@a~6_8Qini|Ed6+633O z2YqdVkzt`0sc#sF*WgfIC4BFn{660Nwzu)+r@qW1Z+HV|?!1SPSSI4oNrDrP?hu); zWw#jA)yavr&T0F*Zr!qs!G)+G`{*D2V=VPEe)Sjr1EcY%nSbss!671`z!(D|T0(mQ z&VaHpK`Hhv;T4y4*cS>KU*H9Wot`oI?dRtHH4QPM!6eaIRjKLt=%6k3+k9T;ZtUc+ z4Su0bOb&ZJ4%w!zz5UMp%yI}0iUMj6Nq>HS-RlU4BY<^?%0z9r5O!Egd&neehNJQ} zZp%oV9kuh~&?pt#HIS7!PZEf#Sna^K5u(<`BOavIDZZF+_e1c_-}ET1{xX#`)6dZG zS&hiR2dG1QZt8{%9+!9WpFi~!rG|16u(l@a^~sjkIC7AiDj?dYRePco9G^i%DLF}F}bD4;5? zTJm=eiWo!)K0Y{QkFAX%I=>rFf>WBHLgUZ1S38|s{DAUk0k;sp=&sdbvT#%fyWsGm zDSe;c{qz(3)KC5*lRD?Z&H!1vn?LiH{%2Mmc!V9TD7405Q4&Qvhavx8)tc1%q1&gn ziNs%{>yaaTZQ+OjKEe@h1MD|Wj>>}I9NXL5{Ih@hk16YtrNJ^=qixca<3P^Y#~!D& zIRS%Gkd6y-DcL^%B1^i)X+^rU%G&8WDb*}EY$Vpm#XBy(^dg#?%qEPyX0Wo3?XNKM zfjUHcHXi~`3#rkh4M|a{Kn|GTkl?Tya%(VE#dFU+Ls5(|NrqoL#py@iN+p^UhbWDu zrk)IW=1ZT4t&6OxiY!SPjjph|G~f*nKgJs$c_V{7XZzAN6YsEgHgGRaE`lOj4>?b1 z>uBbxrWI^35;(TJ#;C0Lum02z^LPL8KVoM*p^!iia2hUOxy-pV$9l!uUY1-*WsEbTFwOb9Nj8G3o2?VT-_`m0w9BZ9-uXju=xyHhv4Zf&& z-d+SkXzFpr_e==55b)09eLbz`cEB^oCI)L061&Irt+W3YwR1RE;OhB>V$k4Rg|Wh~ z{PNGRoGoFLWwgD`(y@~VJDg@eBAVa>uCbfCStM|c!-&BK}Y!C-aoTog{eCU z9@1FX*J!j!0E71ikr;5nLhsl~dcdj(;%kndSRuHAVz@&+-e&vK#irKqhOsUeoq(D<0~-mTjmG~$Kzl{N0X^UnA;X11tGD_mV;lcZ67-P)~hFI-Ixc*rf? zs13a)Xw^#H>rqrC`BKKikG+vMKAxhK!6pflVuBYz88fGbd!-OHe+>_-2tMfdRhN`# z(2ho49Ctr(KX=@BZ~TMN?9?T-1ag~_1ced7+5}v842$Z1e*hAAssKLZ+$l7*9o;m^ z^HvG;-+paBXm*uE6eWaa&AC_NZXtn__ua$8?|KUtFJHng_bKWs+WniTS~McJd=2cD z9PTDwxn|~&T8pnM5~HUHetF(wINrt{^0b0)EPJ&<8I303{VZKgDTR)V0Lol%eadDZ z!Go@&RVhTv;xvmVI!APLk`#b? zQ@1BTnW+4IO|wU?iEe$@>p#w*nmKZNy03WpINyidxVhatW}=k#fDbzc@BR7OIeNW5 zXC8bLU;W(gb3D&@{>laJc=WA&+ebXV_VYi@#b-Z@PoBh{yqBf*v*gR`WTnEGl%x@? zR2l+?oz2Un#TB%a^kbP`FwHM|kM;WE^_sqpu}O>rm9e#>`K90d0yRS%1H6)00!Q{Q zqatee-xm{~=jTI)R3{Y0gq`6glS$3zp4eh@2w8ufovO#FN8ZeL{NSJAzIS{hm$k-e zLr@yQ#@h1Du>@k$h~1}swQJ7ZBhc+PuQ|dIZdV);z(+X3Z3L095P%3=ymXPj_E-PE zv8I?dI0UZ^y0=1p{61v;4n`P;p(53WerAx3P3qAG%4(cSaM=>+@-me&bNfmNXkT&Z z;zb5%lrebG*rgMgYz1Ejw76*f47j*5M3f>CNJPK~l=m2cL6R~sP+h#pg%_S?8OMZ- zd*1X`LVuOYmw?CONu^|T=>;x*`3v0H)8u(VG2Ub)&sgg9c;7d_7foO?8ZuZKU{Him zN1Gy%X?>PfF&ED%PMn-`lx4}F-=ioi@~ltoYR2U@N?9Jd=YIb9_x>?{e4mV z+X_<4ljojiI4*ebu6sF|uV9RjS%Wbe5vb~lP)-=hn537Z>p(BH=zKsa!nhc-wRIVz zp%O=uCe*Irt&hKzM<0HKzO`&@Y_c@y(Ki`oS;o3MKG0uYWjNkuduNDAaxPD{`T1Y@ zWiD)QppqW_evc$ga9;5Pf9g*&91Tge!F!KU3a|AM349x(C4r|_%df&>bx|=oJ(h+9 zw#H76rE8DXDuGjzG8rG%K<#i))}T~Pf2qgjrE{EGU1c=hLEDsUu)^g+Q>uj702h+u05NhoxMX02nx6|{1Ub=)26GRl%q+ldbEqQrkhgvNDYQgS> z;J=8>)qlQ`?X)FwnL|IDRXRxxuVC@v4o^Z## z50fb&(a}or{L2?9%aSV_8(g_`k)j+^)+1_HpnZuapz)~SvCZ?8=Q)F=6|yXj{qx5d z`&z9OKFBKw1-^O+YIlgLtA;xQ`1al}=Ul$L!P@F7Wm(3g%DTd)DU;ENEQx*JK?tu~ zLS4~84B~diTcu(kI%r5NrmFExEyb#NZoLl}Q3M|d-g7-XpVA7nI*@zHV#$gw`TLq- z8vJgKN!{l2cWEQzptYfH$So~_w)%Qdt+i?(>*ZY8+`!}+!=f?7HE~T7aX2!d+wUBb zOT2FEPDYOBEI}YK)Ro8RjA}Gtd9cD{Qet(2qTV%!YRdp9B$k-e3T>L~W-oXb;@F;; zX`A=Rd@k4?%8C90s5V5Z@c3*BqnY%D6SM^D(6VD9^>HIQHIv% zA)2V}GA^DS*VT>($Xwuzajdx^o8uvQsId|-c+3G6wA21DwAq3It)sJ&5`&(WGVoNB z5p@p&>-^HM{65OWuh_5?9l%4Q{8Q}tIE zZC_@&-=`jX0+vc^N@Yk)4^bm}qf4k1rj1@Cs_|p)&B4%qE={?(afM&}Wyh#|5=RuH zc-3)|z6QF_glZCzJm59Ek^n3kZ8ct7wniyw{}h9h_w()F_`iPX31cNq zzdVbr+-5EG2uJvu#t{L0gd^NSXo-oq0FDzVtxcp=LsUKGdB$WiCP`9Wc=}oX?%(_0 z*xK5T<#kevPYn~vC|1^Z?At%WMKhpOf@q<3CF_aft519uEhXcL;Fnf;^o?&r+a-)s zWFn|kQ|W-M#z;M8JTB=;&cUD3#Dp4PJzDGT|+c zy^-(xuJ7Sre(WdM-kOlFFHwo3w!&pqaOta`<$?9n+_ip^Gbc}Dl7!$(mY0^Oy<;*O z;|SEDX6y=zYJ%jJ^XFe;r`SdfdgPKY+!?aGy25w;;Xg{ShV7!Dzq*P8#$`#GFEa^_ zvG>@zM9`#JN~PiV|KM}{+^_yBDlvHPsOlPmxqrK27Fb7FLzGh~D-nE3zvz*FR zQJKKJTKL8x;N1>+U*o+)Da+6~w#pK%`XmnyptZC{32Yl_CYh-5om?p3^ z^-OD_stdHONNq}zSd6tO6}KVcrv$W!kBaO(Bk3iK$CD|klw}!3Ii^QVIw?r;WLZjO z4M?9_rHw6i=bXF2H(^&mzO{pP%-ZRVB!SU7jx8p|rb1a2INxR+3rPUqsLU*(shbz= zLzQTx38wklp>TjfY5m#;_+Li|63{o)K5OB=bb?AsG$t@r#7y@(rzC0u;H~m-A^9mR zBsgek`qa)CDNXv9P|pO63Q&qfgZGW1O67yl!!jVrde_|?y16^M>)b#-MG@u3M`&L6YZrkU%gSC7FsAQs7~FjX!c_W9~M8Qcyu z_qEWmMs3@q0%yV;Sy6jP@|00oHMO5(!j6}~V9>vI;!4{gtEke`3)gP(`-_`vr_KA3 zjEnZ}yA&l?`+jHoVQA)}(j<0($qhI!fT?GpE}>NSl;*txDpv_xC-VrvGbg zopT?!w=T&kK~;0dcr_?5NMjQtBG9WR`fhUy}6xXcL6nq&1m%UG!8R+m>%;80G_fYG79h#+He>DX2e@+aJkO1X zOlmlN*JFIw58cVL&pyegfB$!Q`kAL;G~#4mW6YRMDM`}-1dX4JS?OiiYMb2JxCFOJ z{81^`3}m=_(Y)u0H~&fiqZ#xw-uxEWEsyKrRj$~5t1gC$84yh(WE;m27&c^4<{x`$+Gh5W9&nJgug znPF0u^l4dWiNm|v?K!pI^@lw|k+0S?YSlU@hXtxuzt+Wm6y4A?yF=e6d~c{ zT@P~lzDKwe6jf04dOfa;H(1LR{V?InzxxTSD-ml^%g0DpPGOgiF{#0o6Ray4ZST-u zS)pvKfnos2U`0=dd@BlLEMcnu{%(Gst{Hd+%xjrReSDAF_~_(%-5=mvb83%J^o zC>tl$N)tMhdn1l-e8)SafQ_jFLCF| z)7*2{Jyc~C%}@pzVl>M1sf>mE>x26`7eEm-~H4l z`Rr#tO`SfyEBT|s;x?e*9m4Jkt4-~H@QA*mwGGseRS%S+1y=lP)@ z{K1$c&{cHbCW@gW>_)p_ZHd=}grH}Ht7?fZ#q_la3PDeUq=zNqu0_^L5GG}TwKgge z_V}!}nv|4^n?nLiQ@_fJM~f#=H`aF=lcxA8km!_}xWEs-LK}tk0dZ9%g*&SdlfY!S zNvJahg8_PB!O~p{L^HjB7EdY)uL9OY)kSNCH6@o-{KkxEY!n+K;EvL0B_IwZHoi79;x}4QyN1lKK_IaXX$aGvagZC*(s8UmK)KK;A8k~O>=7Q_ zbM3mYmWwL!X`1a=X|W87bKuWp`;01brU2cpqd&*bzM_YlUm(yd3*R% zUIVd?-|e7eY!zg;bK=jU1$6TyE|R}oAKiHP3Y378n{4+xd_)Z%erp88aca$V_pmEx_BNa8Nqyn59r5DxHt(LQcRwe<#X zr}Lk|h@nQNbxT84<1|F8OM^udM4^=;YW!kg7b5xE4Wzd%aV{v^@v4u>Mu8xHT4P#k z8dZCIz3VFO<#pd7QzAdI>{8 zo~BrrVDM-)LW_rx?x{3Y9pX${5@sJ9)>ig~^eZ|*5R5=ALS5HLT~U*ut-;s3kJhOKw@A6~b^gILR?P4Gs{}D<8Q+ujTIz`#VUmlj-bs<3H%B%dzLj$!Kt%nNd^O6I)8!9?F|yISQ{kV z{pMqweZ!k5w=U!B9m--zT|353k!DM1Z3&e_S3_R>%4fOo#OJ6-ThJ1uO^x?MqjHc4 zcRcn8fA+q2!1~>>aJH%;vxtw$+-h3KwwYVC{k%yjMkN%MMEAIO`7%HMOP}DS3%^0| zJ-+h?{u?TlPj@#Qn-YW_Q;N{vv%qf`H5rf)Fq{JWLXA{t-NcT92OI5UlCM@ zKd;r}CT5m7a)cwi4sk>PAK?hMD3sEqX~J+g!Yf!>8c>!cJEI{loqw6X{#XB3wk8FG ze2MYa6-Hx6);qzrEc4b6{z*nF$G|}@j*+q$fwMaBrO*Br>F5f<)u@%z-1pY6XKV*d zNYP2c=6J&TV3~Y$nL)9Ed+`a*_Q83_1=Z)w!;jNnT4AHC@S`D$nvL`4SsL_7#Nf4! z0Ve^_oymz{UCsIDp5@BcCMI2C?T&|8x$8lOUdW7MYvM>#jo)~Y?I%9VQaNUQWsR-v z4VHAmy=U*^J@0ronKBsLP7b1q!f1_6GD2P9T}?%WY8E=(4D4?3w5V!yl3=t3rBTw7 z3;_k?0$=y|o4Mn^{|o%BANf0oR}42V)9YnSq@eVUe%fPae2M3uI?rcc{0hfck8#)8 zJ2|#~jPYbbnpnnVL1GNs#e`=sU7*won`ER~D8~iA^V^@|cRu}loWHQi>ROKEmhExH zZ~XShdD9yoZ3)p z@{88)RaN1AjRZZ-QirI3*$?sihQu0-v7P8=C*0bsa6=GuqZrh#j(_vfO1dtF7$dkc zV64R;BqC%=n9vOwcI}?J2eOc%&dnu(yRceALjrq|DJd)L9dy%5fscW#GL#^i6k`47 zJxJgf#F)h~TI;Oa2MZy>sf6YAqW$u5+%W5L)sVu#t(e@PW%i>4bWn|5rp8DBrTNjn_rJ{t&0N5TXz{JJosN@U zMdeF({FtiD_PCy{J!XPJRL4>^2%(d(b1>(F`J|g}8q_QMzMmt1+EeoYHrCCq>Kd&S zYs)KK*|@+;e<`YaWtJK>pOn;;ed#E@4m#IZB!Am;yY-*J+e4uebetCi1*m8ns|`p9 zlp9z0cmMKVFm@GQ8AJ<&4gripX+1Z$blx>dkFzkAUbxTUkU{qw6>DDXb$FX?O9-)2f(j^Q zrpcmOg-EV9ZWCw~GeeY`x)T5g>Qb{{$i2Z}$i2mS9oN{}%*N2J`m^(lUF-VncP(!g zZq|NgWmFD2M>)h?W>11GmX*->Sx>90X6;fDn%cUcu}V$%raDDo+p;r8DSYz@Euf8n zwFDpNFRxK->`d!hx5;jM_qBWUQA*DU;0D9-guJQyTLZ^W-$8${LJ`8Wj=R^5qP`aNOFerTPWURyNtLgk5PI3xED1FvR3TJ6((uH(46 z+rQCJN?{U1U#Co*;G9R4zF{PA7sK(G!C=6H_uj)~Yn9@qb8NX1e9dychDviXmAxws3QgQyJ7a4mCF1n3rT&$Ds>UqXR$?hA_wnqW5VAo+hhI|AA3v!<6 zHTR&T0&z_~d58(I8X^&_L8YXjz}MiU&#AQ)`l*l#WTuZ~OB8xW02f6O%99zA7!$1hD$|FZWLBL12k(s;9h=# zaQS7V8l$s5554QXuzs4&8g{%xr-tP$Lyvb@(}5>{_mlKwj4KQ3WI)+l;lzWFQ8-T$ zgxVGKjZkb~Au;zbRsm6-N-QE##o#4Q#zh>y9P#WkPk^%cywBPU*%OwTEQ7tv1Wor@XO zS}VGBi=egGiORuK>uda_|MUOAPyEbJ^Xbohj}>eEIxy z0IV*rv6}TLws*+#9;TNv!ILlbF-c0;9x>>zGOi|gU$L}4KoUb8YPlp-;9Z_7PqByg?b@m|Yf`g&jh z9Rgm1))s3GS&|Y$RDvjhOXr^Dg>%nR?u=Po9#BknFpc$B8z{DEQ+cbdcL$GEn39}r zaM?LWmiO?kMyY_dvuTw`m?I2jp-_5!8He_*SZQv{#MQJuyfA-s+^rwV}k!2dr-c zw9ls2QT;NR45Q_zb1_9uE3`Cj4O$&47JNJ5_0a+k58o*9910}x)i3=45Q!?SVjteB z&2@u|))cl-c zaei^wIp!-(@abX~3B1Q=jL}#u-g|6fFiKHR3Y5|~A3Y>MO%o?u#OoNE@{(~b?U5MJ zGczL3i$DmozQyRNWqQ{+XiEOh_O3_^+x4f6KxwXOSu@h*mDJK>G z;b;E?pa0xvIeF?B#iYiX4C$>f>Yd`$H+=^ekKKvXu%t3-sWB2brUboti6?*OQ`Ex| z-WeWv{2iQn_%U7*i%)WthJ-*Wf#U=&e(8&BKJx@_>k3J_%x0yz_nq%SmX4uAf)v}F z>L+~V4?d6e6LJL?Cu3}u#|1^ujEjP_AyKqIwX?-!Yl95U**ou}w|bl%WurY&@GPf> z>e2;9=bvU!@8Ih|p7$tSNzj2``Q=~W#L`C@oHwz_dS!QtukGyJ&X!TayWAzazI z%<}p=zwx`D;z$4aPmnBY(w?Q44cOk^W^HYq@BdRjG(9hqBu92duVaW0IPr)Cw9!+- zO=}%VKYjCu_pUW{sVa;$`;vUhC=wE!a#Jho8x8Nnw2RjQHn9v6OF1s7M?+qI=^5Pi zB@%&5G%z7CQ8iqZB_Rl=nxKt|Huj2zXUNa$LJ3%7NS9KEqbnpzVGMIca6*tdTf)6n zMH;m@F8SGe^KUH#0z-&-D>c!<0M9JM(=2G44M+%NS;*c_GRRNjF~8CNw~mc_cqRRIudGQwO3+Xg0YR!!h8tk$uv zv(k;N=!_&Vol7RplO(fakPxVyi$pOts(^1nOvN+{mrfK{kI}x$XcHE0(aU(tKt#X` zHnDiywIJx$emlT+7GB>j@sp_H+%JXVfQ{!CuFch|-@H*cC6H>I@suJstuPuamY_nT zVv1ytQhHjaS}Be8YFbB9D@DtlEsh>tNR#LxK`?3|aJ{I!JJ1;1HSoP2h2{R=?^^UO z9%l#|spGmrxtf7Zuo^O(B9+4phs|~HonZe=*>$aPWxV!Ri=L4P3wfDDu zeWMZ!4x#{#pOMIsN=&9ML%=qqtj7@~;9KkehQOVE-v^RwSlq^%zj|I-b+vx8o$E^T zb2UYlwtVsI!z`r(hNBHq39P6TRaWG-W^It-%WC@Z)#ghHGloo_IY~TuUR}LCfTZ+Y)iXX z!}{9T?`dcf2Ab>H7AnxhemItG+PnSEq0jf4qzL z-zW`17*!=oE5-p-l3=Ytry0jqm$AWP8&$YcvEJp>|m_TI#17QN;ax=EB04XFZ@f@|G9&M83J+vDm-l5fTMng~V z!}!c8&70rxZZ4Xc0@y69(UmfcgF|YEXoH{#wMS_)NB%B4CS9+ces}zRwVWT0aD=Z_ z91*}rIKnNAx~f=PU1e)~o0XLnzVLbQu$TBtevl_3xUAbC8&EEaEx; z;xh~^p!(c>-vd*w#3_vthcAX)eEvy7F`}Pal(US-WBRL0jEf1ckMM>^A7-VuL{XRg!P8Ii@BaNy(_giCG~$JgjV;#KSNZ54`+n}f_kN0E!ph1D zMNu3nfM4ejX#&McHGweSSi8kwa$}Gc14oCbg?ISlkVdh*aclX@bgOE{Hf=kVXq^ zA@~WQuE_HY(`3uf7C_PBvV9#ofr|KcBz*LKUR=8vp83E`x37!an15ekk>+ncc*^k( zDUfA-w9%L#2s0Z_tu<#)o#y3B7y0{t{r}D1``dqmuYcbMc>f1J$XyRSLVxWfS|`*R z#={|5YWEGAb_49M771*c;1oy`WNPYm5f|*iIaF$z_)N96n_nM@jw3Fk>ffeQ1eEilwi~Y>IIcynsam zHDF@3b*%`YoYnw_7=#ZZ(=J^)3gD|j5#|W3)&jcwi75^+{z`{XP@OuxH{$zU8bapo zY3#E@h*wApBp7^AQz7%IFP+slO+bZ zRRF|e2yvd$xL7Hpshq>KiOg1Gl-hTGVmcPST|}$tKoAISR-z^NKyb09D&9vT;V^R_ zo5Ip5hWRQ;L8TR!yn*1!tS4lO6InK`276GYSdYD}UF&OnFS*A12gQE-xz_gE^HWph zuTa>8t-9p$Xu`OzB6+uu8uq&EPp>wO77aoF(%yp;6)cz`NOwGAW zU4=rJ?$RsG^4f{%{9Z&Ti}|Y;b~!1`zfSu-I!8ic3^qwwURh>&u)@Z0$b89x-N)&b zOl_#kvShWl8cPcpLkMm<796g;(NWFcTLDU|=03z2qSltoYQQs5H6e7ety>G^8-$?1 z>k#K_qDdt%bdIEPqe!(yDMO-l$70_!E>o^EhrbRe2Vy~*1e)%;zpYuNeN?E}H5e*b zzmLfa7r3;u!H?wOf#9&|64tI@5{=0Kl~AH_I>qX^CJ)g!3nSp1CxjZU z6OzP|8_T3k(h9=OD7|xpBOKw?!w~^|gd-dXuf{;9=Yk~wnN6swib1c(3+G(vVDOsf9lsrMq9B)%it9H^h4bF&Tr#FnxiTQUKr##<>lwu zy!bK?-M@wn9&IcZjhhDIXD|dt+gC6WFiU;<%c~UP$V4;NHj>607rFAnldPIp_pI_Y z`PwR%MpwxD8C4ZXQp2zR*2me}*xX-^?QqKgd#+g7-{(&66)Y$N&E0|BUm) zP3)i_9U>QNgH`o+B`CCR&nDDYY-j z*Cm0)%mN43i|Ic6{5IM}yZ1F^S>s%RMNqybPX%ohWi>&RW@)L<)@X=I6~X)FyMbw_ zqoXJeUG;>5BunwG#z{?@^{L8oxE z)V)5~nP$c$F~iqdq%Nq&B{uD$I)=tYSpu*=$fzb;sA|lw|ICl^%m4mk-1E>I`JO-d zr+M4gzn5%j6%sXdN@)AG{W5=FEfV;8ptL3ghpV9$qMi2ZC~s!J=SxJ;dZswMnfp4z z)zN0VCo~rGswD)DaJxbaLm@q&a{pU@$QYZNmmf{z1^Hj2<0 z*A`#z1}zULbwfU{@%XOA=V~6aq>7W6(++WeH5-JNUe#Av91cQonJJ` zj1q*5jF`)#g%dLfqmU`4vIY6cg1^b*6jZYcLt4meP7&q~t}@O%}Pz z_O5kk2c0Uu(o?+Fey+BC)u^1C{-ahJ5*yb8&Hxo888^K6!G6aqfJrzP9Cu76__1Il zAqj?n!Kt>dYsQ{E+K@IHK_d<6CF18U!EiE(-)mIsCZ8v3HBnJHBlPEK^hua6yOs0@ z=q#l|b9ppGEv{$U{=8MhPip|j%dp%ZaAN&fOyc*BM4LJC_nPLT^pZKW}6>#j#=lGuQd5{mk{|#uhfl?z1U*WBzQZ+SD zq9`U6AvnY)*d#uiA;gG5lB5K!kpM;QkgCM)N~Boq%Z}oWM>xXmf+GU>2uIihO~Uc3 zjNO&d>bgc5gG2bl$A6t-GQt?m&Ui#H19l|iP4E36a{pso3X$wdi3(gJ0b5PbVZtAL z=J#TK+_jUu`-9)Z3*IsmO&J1%G=uS&V;Zt@hp&A0w<*p)$7-H3^g`&b@z}fH3&&2Q zT+MJiCX^GFD3S4yYU3jI;kQr+iR6xG(k7FvJuj^UErH7yUS>Hn+;Q&%Oq2l?>pW!y zdJ;JI;?v~5V!6LUJ=($8l+k2N-s|J*in1sps5k`@Wx|C`cRonU?$& z2}c2~uR-jpDf=q*X2Az)YOL6)64)p`R~xuX0@qR_uP`vRE9j?ZLEq72#AH-MaIExu zq(%|y8imK21m|nkPu_{sSC~{K+627Bpu7nlt7MveJ4@%71tlh-4C$5 zvfg|)x(GHW@rS6b_~2bbQ#JSAj?2KoaKfgA3=v5OAX|nudazxvHuD&00i^e7PQk;qMuS|*768g8C zl07ti=|Y>4Zk@>2Pjz4wVxZb;!)lr{SYO5Tb86K&!%iool#W)$ZQav_adYwYUQJ{= zzf}PVu?}Roih^l(@N}le+Vh;QSz~qY@3)CedLiTxNrLA0MpY72Y`QJM<$Y)fU`=W) zzN$%$Ww}3?66f9HyV{uYN^1VzFm>qHD1sNtszB!n_ntn>iS=Ws+F^{PEK7Px+BmRC zM|l_(UP`N&j2vctL+xsmo+qyMYM&HN$sNmzG=|9DMy;bF=sM{ejm~vSRb?L>>eS;y$h3&9q>w;5+u{fW88zECCHg( zt**jV+yY*2P@dU3_6SFK{o#lJKEmq?Z4H)of-6m}hR|5Kr1^Z4_lp_8)7N^=!eieg z%Y`@gbMo8|i{GElWtvHcwHBLaym;jbKl5`xg*6Gr^w`jGQMm zG3aUmi{peYdFHd9;<@La<)Ql@=I(F)HlCFfhmdMbPyz83t14kNlsxnM|C#XYA7DqD zRLjfgyC3GE_q-pyeuAyCpf?z>y|u|81;%5peD%xRy|PCC*ecsWP@1vXn|I37kT zYH=jgl;a&#aMVF_@}7qn>pos5i1VZ_uv|^3&%ekz;3ff09~Cr@KJ*Y}Ip&2Io+BSD zGa422w58SwpZ@$8c=4qd_^$8zUhcc&PRg>Pms*Sh=LK)0bsn^BqES~Y+^4AS6DF0T z4ni6NHcikf)-zNR2ue_?r37j>At-}#hMrdBiQ=)l&+_P9XCj%PV%vM}nP=zr6GZ6c zIV*!@@?K7wrWhqC6hNJlWk8dX8bj@?ST9HbF<2t0`)B{$|43na zI8j`F=|wJGy1!0J#x~i=G4uZ7Q%~{2 zGf(r|pZraJ|8u{`^Upnn7{g9EVYIcyYSP1KMbBu0uBpctxbVzne)R8tm0$Uf|C;~e zzx=a2^4MFkd5>~ZV*ATY;9fW99ow~;hDBqr(-ANjj7bi4&#yJU`cC-OOs$~XpK$H? zo(Q$~hzcZX-ZtGd>Kkcnv%8kPHwugMm-xFh2~Dy`4KUUGeLgrIw`EYIn2?ZoaMZL4 z@}#xxLmiHyU9ec|k|IjSy33jn$K1|w?q%tC5Gc{K)KSxm5D9JHB-gt=zqdHP!+t@} zaDdO;I4q9GvH#MDl}OlWjdpRqktmHMin5GZ30amkbD)HMZUK4o4wju3(<;78X_||>T%7P<+b@XwnsfqeZbQXS3C7KX{nQ3 z)dusfI?tFA7zaBDk*?+E)dFSlc$At~fQf{;K3%m5MBV)xqLQqAnWd3zaACT~MTOU1 z=h#{_N>j!mgs`jTuSH)qDt@i>teaVRH_j1aAXYbajR%Q+??nvG)Yh+F0+s<(V!#Jh zm0>jMZK_5ZRm-wuTW+%D-c1kH6r1pa7`Q-4xIjoq_yHF}NG{0@;Q}F) z5J*S}&Bk=wV6Xvqxl2~F)urh(r+wSrdzJgg+WXtiIWuQQGt!K7K6;JLIp4DDT5GTM ze4gj?Iomb-EHmB+cP;ws^b}oI;n3$;v2;kZBIUy5dZESn- z_tH+hcf-|wo@S=9-~qEJ%#C`;JXd%XTvZ$*b{ z{v}%{HPxS$F!u31JDeYRU?)^#cC=Nh$8tmLS80+U&f)CzI$*YojpgU3kIBx=$6a-< zGFmHYLN(EHK$0dDLm0s{+a2c!=& zIfts}U)7(JByo_LL`i|N52EKn;>{H zQ&0p*U4aG~X{A&U1ZN$Cyi2RyCefN8e$;R4{f(EqVS}9i?E3CpJ%MN8!u0w*__4Lq z<4V+!iGFw{+3*c2Y&+P&Qv*8$@D84mm^85m##w+>K-^7C^g{5XOe@i2|4J`a#<0XJ zpxMcin|vORcD(&e@vXie5szCL!}8i1fAhY-raK(a5)h+kFYV@pO}OUyw=mqjkGv=d zm3(J}Ck>X4FL?0Y&$0W8gIsgVOK?kGcOR z8VwrlIffp*Y2i@>N)k7~_t#1KJyhukKDwldx7_-|7f=)>VjYh?_8?j`HVA%LAZfy> zUXR~>`|t3Ym%WA;z2JqUm0WZ178e+KTyBSG@ZJ*VlJTLRHO+{m2*IL)j{Y!8RmlY& z@iN|i2n27@5*J9Ktd_=ZJc2Eo@xeh)9$~ zpCEx%zn%8t5>_Rk6~nS5(+Q<_;49xcQB@-Fx!;>fkGsvbqeYEK(GUW|iA$gZEM0jm zd#`&YFMPwB2*rT)-U^@i)W>-Dd;Xlye&oX#A6Q*qqtR%S+aWgZlcXADOO8Ht7eD#0 zevq&Iy0`Gv-}DdBX@gF~u+}dax{@SGHcBj3e|ujiR_TkT5?DzLs0SD8f?`Z;9OQbU zQCIsWNlISi(Vtjvv{smewU#tV@B+g!Ku97{FcbKQQk!RcK-(kR{HUPQkAvacxrU?d z`^uVO;;oSc+C;!y+=lJW5|ER4Je4mO0vaOyE*@|=ag=3XuF)XPGRm^VA!JzwM1MQ2 z$ItkUeXEjktg5c+pxBe01h#plN%Zs8{;8W?KPlY`QT@eKgzRSR@N{JIrr1VYYO;xV z9}7^}JN$$BWJ7^{Y5XsQ4<;pj<_w)t~k8*)Ne4)>_kS zwqxSDkM9c_3z+KfsR2KX)suou(avZjRx3I`HCH+lW<7tO==Ji}*iQSIR+Bm%bU3q@ z_W8r(Z~NZ*YW=?XWXGf_%35;RKmwm1OtxFF^*kd)^4QoCZ=m#^LV3K0&eASQ(J}eH z2p~!2u`V&;Z_tJ2J}C3k=gduwqe3KsCtjdFb02L;y5 zGuOI;l@o_R1fyH%utu-jj}|~MO2E(a9I^~!rj=CcwZ+q=_;&|8csgK*G1$RV5~GZv zFwPVTKJdW94^4e;a-!!eKh`K4HC+J=+s|s+ZXoB3!N{r#sh1D<#3w&WmZsP;piz|4 z;Ob{So6E1bid7L3rEr@_3!OT8gh7AEbuV}U^H*KXN*-t`gOiw?YE()m&5*LoLwA3Q z?unzc=a(qw_i*itUqyD=m2}0>vjtfq_s@84J4dP& z!8-=sHS)aRvMUy&?3edZK}v%!EWPd;)?1P=mXB;UQs!DsvZW4bVc?nZuU_@A8`D#lweFUBN?-UryDj%KZ|Tj z-ta;pALb~nFgi;9&XT~jUvNS~NqN>8*P}$AI-6W8oO6iM42L-`HHgm97`&V&KwTk( zfYOF6OHf9m@LYG(tvvJQm(uI6@#)WeiVuF^{S-$J(P%X(21D?k;D*@VDVjR)C%^w& zeDMA6;RpWZk8{gw-#}hC+9sjf&B?N?I_D}XTCD)jqYdlk=e2?Fi;~UO2GXEGDRKouYMy^=Dhdq@8qxkr;;2k_c zPyw_6K2%l+Ko}ERel{=Tybgb{g-JD@sX(+N2m!UNDBc#4$(d@1uw8;D)WpDy$NiRv zGNWdIW^xdbDsezn<fqJh_Kx8@ur$b$JSB)PbDhW)+ zDe87SS=l|B2P=gZ5Fagzf~yHiF3dV$ME*8GoA~$B2^$ER5Q&|lgy2A)QLghan$8JX$k;0SPZYC+MMgyZ$(1Ncd{iX604ooLt z)}*rpU&V9kr&7Oz z!Fb$eQsrp&P=>3}yo^`B?kbKfKg?%8@jjMU9^>$%Utn<;yyCU5#B>a0ZZM5K6hmQH zcuEgRV-73R=3{^c*;UVas1d3?z!h4KK9WMap#?P zO!-5Oh~e4EpOR6a;)x7N&puv*I693MCea*QIZ4uNqP4;6gkBJCdd|(P`zUqVY_&E7 z2XufF$Br}K>CnFHN(Pb-}X*Ebhk(iX=VOo(#OXHNoGzj%*9jrw$!rSt<>?@>7H79~@Y!L^z&w`Iwo$fM5?(9Rl| z0Izt>8+pkqUd0`s`6PeySMQ-H595XddMoSfnxDr7hxV|3{4sv)hrXM)zU{mD*6;i$ zV49F7h&HiL2TL89@m@y0Sr>`~jX~~>S@DIpSgmovkq3=d2?~SOO>|=U+P8iiU;j-2J)R_?e%2gm3-s@8?xt^kuXcmRRo%(OYEF zkDkF7sV6XutCXKC)Wk$y5H1Vtkxq;(K{Lqurn@Vy)T@BASP z1*WQG^&yND2x`=GOc!#>Fkoyg0*FTk%a8&U?+|&OlO!2BX;2iFEX!h6KGPD=v-jUR zi_sTXBMGZCUIJFfgorxm7OKV|=OnYZ5nHJb=>VP(lOZ3k z#_a^oHr6UL``&&9aMh2h%VboPy*IN7og2P4F*j#g_W4}YMxJcczQ}&Ueqi$aFSZ^( zOUMTw2s+vhMA_2#x>S{lqtDH>lX{fUqyKFV336Hmu3#MjPY^%lr#*4RPY3}lDqe$7 zvDs!q`qN2WEv;}f2~As(xRZ7iA_`-Ob`?s;s{akX>*r}9kW}QaGO@~SGTH0W>RRW9 zSpqm8Mglm5NQ}GlH`bm#s5AKh;g0xm{o|1vs@*D_ouIS4Z-95_<3+~ zW2-)Uo@G7GGwSj9Tt}QTloZZkZHY-uB>F=nTp`YN+suP^q2@SK;nsMxH&3vQx{;Tyf>qEbPCEpiJS$cc;mUbjmUAZxe4 z=cCEBQJO}h8GlbRypIb6r4-96E8~jo5YWMM<-scmwxp4ocn_TAmghg8t1dslM{fHt zM~)w+U*t5~8l7kc&eC05W9{xcc;wh2ZhrR7JmcDHx%$9CLQ&#;plOmQg=2FX#xNWX zZ~|Iq#L8YZ4z8H^i?uHPD+&^=NwXBK6U;=GoC{$z*`1xzjVdK1Fv$D(+~b|YIu|9o z1e{6u`@jB6{`$l3N3=m@hGH0{oeS&Ovu{6pm-g~?U;m9U@t6f`l+4O+*Co@pNkEFZ~US!<-PCv zV}AR$ew_#Jzk@aj*5`QdnVWC3vT~gN@H77xx8LHYe;hOCV!2j zxkC)jZXkw6mEE&Mg<@+{&Wnxi+K4=O5NOUdIePpkr}7?a!#>@9k1|-A&CcW6{$xL% z?Ulh+l})uehW8^M;2LK;)`nSw;+z;Ou9!%oMoC(E9#u4U?b^-$r9I45 z&+W~&awgB;+K%O7#OVA-V++wnRAfW~iW{a9@mnNOi974()mb6v z@$*e4o|gfX50t?&bdJ6XlmZR`VdQ;iYx@)tm^hCRLR7wyP*n^oM1v;5+Au086Va&3 zd_a_m{YpuU9c(!k)V{yfPZdCPlsFWJ!v%0D@9g!G)hF&ai=?LTs9V;K1uj&1k|GGhW{?`Dh!9P9myt zYLvJcx2Z!slPLYq84q1o?ZR8jK$o;6R7uP-+DA+WI}aF!6uNTG~@)|^42frOv8D(hAj%AbgV2oK$;L+h|fdqt|SdYURZ*cQ38Q;k^DVfmUZxf(g#ZCFe;z&lEw#SmWLy_N`f;4 zkCGH4Lg`&x%w!o~xc~Ef=p!HE-UseSw^AIi)-PCET;TAbRoYEhSX|`$zW)cApP#2F ziV=AgkFBmozBmI~J9u)SwLu8c|Lh5t58R9lDvBbG0~3`w)4|@#6WDG?4%(BZnnAxr zNlbq5A)r+BcMHKGx*}CaWZpFL;gH}1I?;&HNLf$^PhE&rlL&ZR6txZGvK52jdAGcj zm%R8^{{HXY&j;W4UTm4;t!4MF-K?%I)1F)6+m9!3;PyB1hL@zMAHIVX-h$WQ*;|A3D(+8tFF#B34FeAF&u+ZiuLs_|MP$RckaCF4s`9=#B{)HGK*Y^-~_D8k+M4mZ^e_Eb$T-kKC*U}3kD~aI8M8;U^a(a6s0{RRAo(oNgh?=mJ z@D3kBtT6F)rB_v@E8x7xSwU%w$p$2;#)Uv$I?8;V&wTdwO3%QLu6(WZ@z4YJ@ySnr zg52f2`ZcekVa9WTOKuJz<7$ql8njmA&au*6=aFNFIMG{UfTh6W1(u6g-L20th`ZS{ zZInDRp>$-b?bmCQ@w53Xulr23ia$$PSw%AS_u0zQmd+7|Yn&LYbNtjvZoU4-(*`ll z==pmQLyI7ll}^wqCNK-&6~R}M;+F{OHfg=b4*NWM?ZZzeok|9J!>I~E0ztEJ=^!e2Uf8rxa;)u_>QaK6&=y5xB)%tTYgbf&d8s>f~eU4l?JV2)vwZHPT=Vl+!vxZlykA_w=CoJ zsBy7e4{gY_Ca?bV;{=34G>UD zlO#Y1MfJT4S=k*zpwn)#d@5j36wWhHiW^>d3x^)QkCnss@|(Z;hy1`l`EtU*F_&7B z5RkkJQclEtYbo`a`H;+x(=x6I76pAzzjqjI0>k_y2ligi?p<@Jh9GJcSM+J738#+t z7?e%^;GKWLYS64_9d3Ekn<$i;B5O^klO6)jRh7UHpFQlV?FW$xNw|@$>B26=_9alVg?_!mv(WE+7pN`-2RW_hdKa4|&LAoH( zgC{i&Jc{5Hg)MMJ9;-YykzPI*Y@Cz_T2%#dmMKh{Qdq^%1$OVh8fh-zF{d?mIDeMXsUoo#uIp_;>3MB*|7=_!6SII1jI!WdZF3m#m{>_ z2QNRsyWjIJ)|dM<=Q|7r1)>#=&OH54a;Ue?p$~q5Pv7}zuG)76x8D3Bo_oVhG~08O z#Sl>`gn;)U%AA}5-aGJ6R%CHK!JMi9o~>{h1vnLHLj#ID&w23VQ9k&wkMME2co>rPs*7BhC;+6h+I^kj{C zihz=mL~96wij;6X=9#Ls3k_RFqBBj?O-bM>PvC8k!2RKn)s>Z)Xku!IZih&6+V9n9 zwmV3ovCdKqbJ}TwbDqMvI35^Jl4!h-6`z4(lm&0aV^ouq-4$N{C11rg&$x-V|K4wN z^wIk;NrFhi>Zwz77IyL3Pk)FX`oZt!M}P8XNIPw^q{X0gWTH{Z;*`SqC>J_e)g|Ln z(6PMxImWI-2v~e2o9ht?NTMiwNikRj6j{=se*WnI?JT1h4nRCngk01Q;Utr%=d+2w&q$Z(^1+}=U zB&Z%Q&ld?iIqq&J#JQCR@Wq0Dzt5?)W$ym`T?8dn1-Gu^V|uhEA2o>y>k4HISt8RO zPgN4q=;Jf{^QR?HV@2*}P!q&#^lwvD#g(7hkJ@%=LDf*|AaotbuLJlSfw_aMejRHE=s#mcx4(16w&H0UHDNt%cbX?N z6=A9(e^n%Y69rzWF%P4ps;YaU4(R+K(V8Lzj;@?wH6POGG%Ib28WR=;o7|?2*MB?) zC=Yg%?@x~TzM5NkEpeWu##_`L+y(bYnW=zRLgECi#>rAnKuL*KFvKyL8D5X^N=se* zy#X$SXceFpK>|u^3>qoMpHU&6@3tUreB7$4{8c6r5LmcVOA;ToOfB>``HAZQE&1AD?~qPiF0eO6mzXs z9NR=k8T8r1nHkR{XdDh)?3rhJTy@viNL(PzGPHHu@&MlS_%AxtM|OTIerIv^P86qa zPxV}{-ma5M;$F^e9$0!0MS)5{X)|gNqfu1?UIY>arKbp$Z1I*SHhcVMH#ex05IU_n zPOhDzKr{4#%dWbX=e+PGeDLu7eEN7y^T}rceB`OAj2MMLsP7;G5Pe% z8tr&gqh;xE)Fqrip7)ugZLFl&VL>NtBgK%lQ}@!C+fV6xq@jZj1MGT>;abL@z30Px z?33&C+xvOV*T03ZXBVYZS3u%WQIo-jdQI*qMbMRf)a+H9t@J%xyPqBGU{QLrgK@Y7H;$&N)@DmFT zMHuDAO;j9J8NaHE#*F>_;&K|8l=I1)B zudm|;_U_%oKm69WaqBI&G8_(RG@6uU$)MNAq{*goiaU5>anT0eRh0YEx)Q@unllwR zgb*uGFI3j7tCDWYvK*1Xb(ZdCB(QZB@3vlKo;q=owc{sZfWX9r5(l9CnS0LZXxCkz{S94Cg9IP>V>cEVj-f)dM2n$qP?vG+s3Q+>^E1^ztEt!gBr1 zxA61-?SJ!Izws-)_s{WL+SrnW zyI3oMpG+()EbzcX4+9`t5fF3`Jf;d1S3zSW`k)bTQYAvv+1z1F_{5=V9E4W0RT!I9 zc+^#Yr|}J}d#Lh(;G*Q82bAbo$+jVr9VP=Gvk0m_SUt*$_aW-XMQPLN<5nWui;HdJ zGux3VtEP)uS{n_2bjp`4Ze{PbX7Lho2@qx0;ak-76N6E%(_jo*i zFQ)eBoyTfuCm8^)T0;e*hwh~W<;RIXCQakH_&}%GAh&jAJ}@4?{LG-?Ws|XarXpQc z&nOR5gU(1nqGp_2mAor{bl*qMunXJ{CO01|k)x8jpQr#1%2P-{DZxpYl5(HgR+YFM ziS4RaN2T4$12}RdN`XpDRMV&=fwi;D+W|{upMk7!gfyP~$gU`fM6Wir25%&Pqqg*T zjXSmGeF|fAU8>&&7!IMx0S6|Fji?%DpAekxng?4+bQ{`9!XS9S5he-!v&4248){<6 zg@6&M5>E|TqcQc&DB0fnx%TPRx?Y=1OF+92N#-O=an7QYib)a^mN)V9OjZ70{Jy`F z*ZbV>+h_|&H!o)NrH4Msv z#a+93o1uuUU-PM!a`Qi8S`G-#Nqd)QMyyfd&$Su#m2IwPBQ&EjV@TF*?IYq8bXmzg9!AM48Mr}~(`gB?7Du|ojw z;F5tB!HdCrJ4$36400ZL;6Z-=7k-vgYb!M7n^=LP{gaeNvp#ejyz&`5`#I0ymY2PZ zE3dqAYMaCUfVqVZj~#l9+dlRo?zrRAoH%ieUT>L3tATL=TjnSa&S~EI)^FjaH+%^c z0%9O(oVUQ^1_TQ(=S|Ol2D>|L%3%+5Lg``u!7F*p8N4!EZo3RAviC|J>^cry*~ShA zBLTJ~M1oki=AhZZr;4>`=)WkI8nkXj$T!>aEsHd<)Oi4|ny9S=_)=jvxa zp9jl?zEX53(Rk2t!e$99?c2>g-eb}vPW*$fd=@Q1LAKZ-f5cOUf=;%89}ZX<=JbQ7 zVN!;}A(_!=t?(lPR*+N}21}te-g?RaLmv>WNNhkmFcQ7zByE6G96HhE_=i41@`(>& zUCExMT^zjPDz3inIy#*eyBC(2Z#VH}TudY?2BEAEBf?$OI7sD)i;1H0xKv6bXwVtM zyrh>8ceD;nzc<8||Kw?;1U8l1!hqWc*1KyT2n;EOCT^g-~SH1GJeEWBNClITS z(=^__(mAqb0~hLQsHe{w{9=O;gK{D=^682JRzI~!g{ndvss(E;O>|-IShLk89~Ni+ z;0!_tBqkECQ4;w4E}CjjA7>qT$Vp9#=yA|?oMRf56;v>|U@J-HfVY-3O(}|kwe=P5 zzyE&bR6I}T{pqU`HbIs)M!)A}iT72YRSCgsG$G2M1%NP;D-{n~8Jx2?XPKW{r1a2P z*u__U{ae|0<<-3Foo}a+2#Z;pZm&n9(ctdeKg0k3pMO6;`mcYQ%ddF`YwJTq5|l|u z(gxj?ZuI;vha2Q{p;D@FV`6u^P%2h~BraAJd0z)Yd{jU{#gZBCE6KOGU@ugl6p7i^ zT2mC3hDwn{G3b}H_8sI0e&pY9@bYW<^_Rd8FQLX;d171`>Xt9$_!iHTM0vu&oF3BDytlcXubejja26`-!8=W#z< zLF*{(UKTOIAk8vF6v|Hrf@*jlWs;SSsv%{iHd5Ph)PAGEPwu~pMQ4tq_xTnEoOw<**)t~9!@PqHwLVm3mpY!*hzLb2_*`msDY zC$9=S;z8+bU)c%&G&#d^&o)$gi4`~VVU!|~T% zyOZmpx(e5@ah#n^hC#qhe0kf~=R8%K>uOV0s4B{%*Yl8ou_X=S+6DxZ>>=Ba0Fw}6;dv5)rucEWCn~%Krk9e?m zgkSrePqFLIKE>-^{ajx6nwNq!QL>IGho;2)oU&LYQP5~~P`(6W5?I|wfzcdKGDGkM zjjRo-feRVlH}Pf3J$IhsUGMuC4?G+=wF-G>7ted+H}Lv@_+6~&C3azTq4H5zl_k^Vxska@N<^u~Iep>H*N+)ut#d z3%mC7x-a<$yzxuFj6Z+(pYq`k{Vlz<6*LYL0>PDNgn#|h|C(RD?nV}_yP0B8lB&(S z(CpOoT%LbM6qGq8ou@Zg#uf#rgy1dR;SiTKPW$~*6mxs8V36nZy4@(}SK@)qMYmhnVihd5aHY67b2IfDd@65Oy``DbQGP&gbyNv2bD&|o1;nzTD@ zR{MP#qXj*b1PqGiT$>ZYGvAzJ&>PT5HIE%T#LKgnQaF$Df(}(MQKlEtRy0lmN*hEQ zyb)e{>&v~XQ) zgL9QSR9c~fj*EYH;m*xFPbnpdN=9V!Y$dSP3W!9j2GT~8!j>FAew;@id$`_GT=4l2 z{{H%(UV6==NGv1v!CE6{;z+*fBd;$qSM~RFhFV&x@+sqb>>)ITR|Iz zwNY+5gbAj=Ga^Uf>`34kAP;EbHfvQ0V9Nzj>En5eD-mC*I2g#ZA$O2uO;*=d_`0`z z3;Xx(<=1}h-?M)5D834SWy*5m(fj%5-}gQIhhO_m+Ko2eBp?o7IAoI~h@DE{F=jn& zqo<$drLTMqZ~Lx)if*=IRVm{tw;CaYs1`BEDe@faTowFd>NB$lzU0)2Q!z0~3A1F5 zRC6dLYAPrpA}sD&!r8i7!=NYb+Xh<%@hmPZlBOw2DGKLC!N|#DoAoJ<*I~B8@ihCH z`Rf{|L5P)AM}}P z&SCRDN~IVS%2eCDDAgz;iCatm)o?NnD4*&3K}9d*7|0z5q%Q^J!y!sC4(!`c)@tIa zIDJeS9AA(#1<5v3dYKgE^CRVmnAmeBMAB4mcn#Qg0C&UqF{+Z=iU5vd$2jO;1@>q2 zIV6mT?U8SBfOfM@S>&W?#(cYj9S*0*GhZoaY~}fT2{aq64QZMnqN=1qiTxya+$EX} z;U!kKrp*RgpxJEFX|^f6-L$37wukYUK09E{KAU99R$}re5Y}SS)FR(V~b8@)ON`Hks_&EPmRlnY3Z1;X#1sU)owbL-lyAk3PKCYRS*3}w1kOWYE zNW;UNI4lOSZ6NT&H7vdoi=3ICjIC16=auabKQuVNHiwisIroMuE&-7 zJVTiN`9#83q!$u>Cp0l5B82GUIf6U)`%<;R(J)`l|Hg_f8nB>sVFm!Q_1yfLH<2tX@cB=D zh+_}j!TRblfBfFNdFQ+C;M(iqs;d@w_KnZw>MO56Gi0uF4T*O2hFx^rU4ZALXCSU&MZ{=CHzL9c%Km9Vs zeH(Sg)E4u_(Q|U5xFu6D(O0VBR;$|Z}SN0rt)*uhf~I|T3!E_&2NS6P;XP@t5e z+04lEA%F0W-{f0d-UKz@b=*sg^Ime&}uj8i2yPz`&Oy zFIx$UBzP2xQmN5oaWW_!f=4HsVSg2dJsMe)Tp$S^16W+OKuB=DU}14LtE=lYtBOex zP4J2wXwL5ZKE&u8Z45eTVzQLdTGm$A*uAufv!24046JA6z6VgVnRgSI&4g_< z8aV55z90mlaF!%VSaX)Owc{jNM!VgjXA9EQPz(pOn;nYbkSnjeiZA=}ujFMfe+AaL z=n1OhwVsxio(PCsf)n_sBrcMPV)Vj{zw1qoNvdRnC~F)E96du6o2m-oiGZ`QuO~?| z)yGDplB%kvMd7Wb-(TnCsgoQ#dW>$bPnJ!LMdGOPngPY8s@O&z)>7ZFmkOaF`eupHR883xt}u@D<_NNK=M`g0$J@hF888teVPF_cPC@ zBuzPa@+50(YoqG+*^28)G@DIqKA?H%5X0e+BuUs9WUqXN>*wM~2}7}e-#%286j%4- z`o3*;KXxrG(a0L;#Ec}%M`LLnz~7{OY^(r&VhP~c0B@M80Ipx$s&7rdKH08Ss0mzk;JGU@h z0XWe{&cwNH)|~8wiK4G;SA2*GOE8uiA8mX#p=4Gnx_W=Ml6$M`ykS0khVR#7$5zQ% zx_TbfO6E1eEu)HHPcuoQRl}f<7F{I~F)?18KhNJYVRpSYJLQl%p+#itsd_zjh@gxi zO%l+0L{!vr-Ci!XR(@uv5RcpHI7a409xK<3VsEQM@BzC;TbQkI-cGVe@L{x0^=y28 z_~5HzR#heTJzi1O*#kJcJ0ud_?2V7-J8v4evS6jEbd1MW%b-{D_R4n>Q78$BSJif+ z^@30pO`-@f!w44yrv#6hsP6Nq5UW-djwCpYa#8In$%xB6U8PSjB87ft*S*&2P^T6YYUMgxN74b zWfF``Z&xWn1&xu)QXqh2D_tQz(# z57xP6eh!^x42SE45SNHLOvH>P&!hGdoLE#Ffqc-%lsRc?NqrbeaT!3oBPfm43F-U- ztE;PA9z5b9(SjEtgoJ@IV4AG=SJ>U^;PW9mD2^OG&cc;fV$8;1^elS$kVb2smEIaj z)`VSG@U`Fj&-mJJ`)=;L`%Zr6cm5|IzwN_xduwR#NOgi82Amf{(qdo}LU6dC2v{18 z2I2zNRg!uW0p5DzGwF*n$U`+LGFSrE2Z}+?!r}t`yhmy@#c+V}koN{O5>01rfv@|P zxAC%-g}0_Ax5V>?*+Huyyvgp^KMR_I*tyIYC%Ha&;IE5dG5_O^Tl8C4_I40#lq4a za_cE<&ivdQYwPP6r8ndjOp?GVD2y_Q7S2SF)onReY%aX?b#LSce?0K-fAmL~H-@t4(Qb7}wBaw_{=2;Jg)idPSG}Gr%UE9P z(#~32?{5VWQKs6 zzV~H-JSYk@R_iGJeI`t7aA3nIDI-cct8uk%Rh={$bQuOgk&vnAzdcC?)KcVOlPJP$ zTc0I)&Q$_hZ!>Wq%!~*1F-{%VwwkJ%I(8i*N#U`G2&oW*?rBDnq<9xe`n`cvJ%lEe#xZARrYKzyU3f!Kl2uu0++*cxz02>wX3SuI87kuS^JR|qJUC-Z(0kaj` zsWEZ=FnT}EKb{J4)Osc*O3-K$r3i#g6&_~u(za8y6@nYtuEf8q{Z1u3scLO2Q^^CxG5Sg}yf%F{2~-}q ziAZc?E-EAu0)FOLb)xg7fx0btIXk*~t0CV?950>33g$=x zYoNp{NUJqVO*Fg8mPJ+V8^C$DVeNCS2qEB5C=^NBVrl>7h{-s5><~K1a9VJ#q!dW@ zUcnpQ@-~XKHNJ4yojma1Jq)_5tgf7(-(96aN%wGy*n&Y1?tb+1Q2Eq*8|Qc;pam>~ z4T_*O-ZvPa$kHX+^ZR(_4bS1KXFZp6&lT){)=jKrhQ8@gNlT(N!B%%N}BHhm-0K`V6ev7P?FP$74{^;^&!jhU_1)t75hp0A)}W`SU!_3Mn!@EQ?!Syvhb{e; zWs*JfAf7Tv<r4yN->m5(`@fz-!(UI=+hrU7enT>Aq3Ao_uR>~`}dQkddu}yeP;P^h$Ue- z%qg7*)qupno+X~~sw?=hSH1?yoX>pXHs1T5zu>MqCq- zT(Rc>H{SRhUiZasL1{%I2_5apn)SOil^3q?6Q ztqoeozOa1i1j{FnBRJATQ4abek02+Ics=sq6s^!IK~qV#g)u=RC{$&lrNv`ifliy? z;@BPKkrkk0aH96b4FN<@N@J7)C8Gd-+(kfF5|^d-c<1n5@v>LE7BBGj-}zr;nWjI; z31yG=+%A6omwuK5`}Xtvm%SES)(yuPPOjn`@(U{u{4eQ-z01C{4* zAYSV*C~bFuoAeW{s~nkVy`rkW1$!Y>Zq7I+jT1ItTq$3BI-4XJ z$>RneHY#15W}CC{K8&h|L9ju%?wQYF?f4;%oIH*l6fDiP@y=ngHof&_T8#$Ym6X1~ zq@Kkz%6%Te$3!GFgk-F~u*LIkOKdf)Tr3zR1&n<$5cJX*y=sVuWxm|nk0h=jlRfVi=BfGCCNfVlA(B}yh};i?Uc&b^w^Rd4IsYuIR- z%@&|51)(TAKDHcCco)6iqYtqf5z=Q*)K=T9iXqCv({6wfO+K=?sffQzHr^5Mqg-HF z+Iq~~b|vsuNi^H246db`H$RT;pQEp&n7s`I9TO^NLY;`jHM`Se1xV*+5;?;-UKz1< zLdU2#j6w@xq{O5fE#?noq)Uq&dh`+2^B!x3&{D9cwM1eJrnSh`oh6?4#xJG2zQU>F z$LOst(_21;FLRC^K18rNzDnSzpA!v{k;N50aM=}C(rC@oURc7k7MPpgLwkM~a|?UW zoq3Wy2k0gl)>_1C#48fu)S!pY;&BJ5);$yV(#wqUn0UO>IByZ}QO=Plg_YRnHa zzizVx@$CJ7DyVktU`>WfHW`NK-?jO2CJleDxGIA7GM{ZE2lu zfh;&F@C*gnqwAW4=jW6eWs6De_=h*n5DLxkb`JkKhUttvG({ z2uF_|CfmP{tghk?x>|%zV{vI0>%$?JAH1AAA5?QVAJ-}3V-~MYc>YUn<@qnU6|5yc zc7o4;{`1`VxzF*@Pu#|X58Th%`YJl$=~wWzpZzR<@SDHD;_i90akS8M zPaWZZ{pzps)Boug@z#$dB2T-&2@+T^81wY-1lA$8;ph{p388AgLC2i4GG23uX%0Z0 zjN(UsnKYx7rnof2`4VFcGLaYtb-=9(5Q?C2k#Me)9;Pr}*z1~vB?fE+g$jO5zE;7> zIzh&Zssc>a>p?|1&Pmc9Vj!Z9)12u(ZxVl+4LwW-6&$B0fgf*Ws+uC4s>;u$jfc)F>L%j7 zr}PCO(NI?NQKcZ+g20^l`*gwKQ6;sDzbhXoWn)5^5EGxJO4vKU0q5B&s*M;`{8v9> zqE8IO1%XltK8YlTQdFuZ3EF6kQ3M2?Bgu^DZJGu@9&&4T zKi}(QQdK3yC>4`k;z#1RJ_{E-+AAEs@^T%o`v7#7p^e58z`Kd0*NcC?@N|XQB9ZA# z$(jWX@Ty_ zGQH(x2E8>NS?jXc$e3%SB#XN^)a#O@O%|?t2D=g5U`S>(gSBofo{x^EH05P?!u=HmL*}3m+We`$@3f~kTn~u^|~|~jgi90>0qUrBUVW! z)(3{RBzR~hvZ+nb4tB7Eiyu1#@D45s)C=KmuSa4GAN|-z$a4!x%zAguaqyaF@w(T) ziKNk{-zyjn`=A2NRtpXE`+d?h-C_^%LEmb$7z_$P(Q0;3nehA<+`?7YJ(EZ7xr=tz zpx<33GcEr358uukzx*q~WS|oQv8o{+>+Az@yAz37StZ2_Z+#h|su0meQ}}|_6UVr$ zy9P@On{Fiuv1-kpX1_@wE-Hg%-!rf0_AlJYu}2=|#+wRC% zyZ3R_deUH_9B}f;Bg{YJxn%7HTnHHFQ6a>0mpC~xX~tz&9OTrAV;o%EL%>mBC=gsQ zEbY0RU6&oC_xan&s%px9zsu+Ey_+ld?HwIQ2yO%M9mH|+_z85Y#rpCo{?G6GPOiWD zSnSE z;D7$+FVk)rj4V>(aAi)~Y15jYV`X)fq}jmvKr_ptN67}i#fv|%`&7or<0OQsd!dv> zGNGyl)xkvxOucxTUs~Ct?n0moG<5^jgz=#F=^dW&~D_~WX0d8%HFLJEX)0IqU5Pt5T?QHav#3S$gT3;kli(dFYTuPkpmK90uhsy&>kAS_lyyNXbc z>L{C~MNis_1Rpl|3P1kKe&%Fs5vhELqXVj`l6t%nyiuGQcFCkm-Y)K)GB515FDKVI!qQ7R{4e`|>MN6V#=}=|BJE0IkbPH1Gxtx>3KrU^Z^so{W zwg9ra()VnueJ@4SIlT2V)jKFlC~Z9d$+2a!v0SLK*F>-UgI`sxHsl_U}eocN*O zHc@c$qpCu+8F{15EvZCnO}p7bRmo0g!Ym0qUJFVrHs6E?>k&K!adNa)mRxh)^?dfuySdz3M6%K1#sWQH z-!<3s(1Z7*rJyYP%(v&b=l;+0{O3Q9%XaOJ%g@Y=gdb~j2=E$yCXt=A{j84AyR zcYhXxLMItYXJ{2G!b=}W(+m;eInRC`mmj=>gI8V6D_;3Zu6gdwEFQR=#id<5>%}jr zFKGN>+A$N@J4h06C6q(RT9D_^$OywBk~F{$`1_CjJ&!(cFZpmtLn%@M_uu~oUihLH z(431|d0Cdx@Asm|-_v1{{S<+SLX<{{hY&NEXQfDIQIjUMhuww3sH)aml=qal8Gq2t zVU(tH7E@)Jy5OfsLgyXMoKfL zmtoQd!@-bdyMsspq__aqS@afa4>bvlfh24%_)_CsNZ=aYIZ7LAMNCk%TJsFbf>vjN z(hm9YpZ<^hAK(0DioA;$k1IXxB;)P>`@iwBSH6tSp8b>x+-NEqFjW<^wH7^*#XTZ{ znIwU?eW;flTwQH40TCIE9mBF@=yM!yMC6Pr?8J}$&aEeR7Uvw9_ERZcv+YEQ;7ZFd zFR{LycxNL4RJW5-#VRDF6oWiRs`CBd{Fqn{;{eIzcCw;G7X?~FQQC=^>X<}6-7`^b zLH3+$W!IUi4$g#DQ-kpp30{pB8~n8@1ckMZqA2JOhtVU}n2Nw~c$E+&Chip4v)&uT z1jEX=G2&865c3r=I5UP#5!jbTHS>1h2=uz^v=`>F1dc7A-#!~m9*3#|qspI|U>uXbPpt=A zT?Jg0B`yd@S59!({r94p>4pRyn9`Yue{b`0%(lnL0(CDF{lQC>aCqizZrMk+z;-J6 zLkOqlM~2#0Ro0!DNEg2@ZuOMF)opkOYU_EROKhYMvWWt0mOruLSC<`zK6*qTbKswVo1U z@bLv>AW1=)_=XRW{1pHP-l3dBJC6#24j!w(;YK9zXqUk=dvojdI6J3`YDw=}w;HxV28KUXP@gpoX+a!yNv~+UO zh$C#YVyNVUA6GwmeDfp~p8UFKscy8Y)U!si`Jlk&1vbxd zxnr=rPP^5ivn$Y?YxCIh3gt-39ZG~OO;KrrN)2QtCJrf0NucNBS}T}XnX7zYSPW=q z8Ab4j7m`NGa5x-U^lTTddVZ?fbH;f*o}sfO))TZLnYe&fAbqkM*yBNMb8uG9)jQb1 zrGp&;cn23R)VTU5D8Yt+(u#ZTyEpn5Hc|$|oFLFy*uyh!cs9L3j)YkG73DyD^c<=^ zxP+=|WRxPy)Gt0vRIoU(7L?-pXFZ$Ui+kxEd$@k2Qx=L3edGhY?km1#VnZ;4=^ZE}#6syLrjiehY_Ik0NP@pfxMbks-7? z9qjUe98I$|Pov#NhaM&byd7}l?$5Go@8u+|y%ef}@i9XzRUVI~G%d=!B+Cq|%O^;e z+9W~Y#F9%v+RA9{+eg;fja@lRVl>`Fsgn9m%tE> z(C`YZpc);V4}{3Z5+n($SSvHqtf7c5E;ucGW)?Nz!-!ihGf zBC^guLS+nB@6+0nRB3$hm7HwAj~(TxJ%MY8R)iu{-rr1-fl8|wL^4FOadN-gZHF=r z*21{zDb_6pC@e`U!#T_0Lx*|n&|`=MnyHDOa25#;9Rf-WUeuKDXh{Gg8*)-ss_G<;<;M%lNy*q6-g~f-6jKs2bx-FBJat%L^M(cjLJyn5AZL4^k?|-AN(E?ATt&*p27N~{Mvu{8GhhL|1CP3 z#{`WR4doE)OByD@`#_ip4l54?PtcZtLG)&%!udn(p9c~HR779N*xxT4QRQUZHzr4l zNzYhoEvVB6$4h5pAXx-s%!Y_heM{@)kQhG+IPaq(#nk*{bNI^dT5CNe!x_T(9O~M6 zH{~TqBtWet2_dQ$OuQe*EOlB}jjbeQ&v{|7FjC zy_GlkR)3Gax5YMVQe;xyWm2s{1x6lwzWS+xjP8&U!6^YH1SNPCCI4%w;8_A+BN$Xn zXhWtw3@-u1s&#na;Rk5Wb?BGFn7TW5o-j-{j%=2 z^|h3?Z}963LQG&! znMUiGZ{^7VnI(m4vPY%$T}&*vY;qSm{2UL&$Bku7@x^> z|F7>@-8ZJ@zag%B93fVGs|M>s2Q&z!r@vZ~nUrR$L$j?2*0Fm}Z2$FfT(xUA1MA{3 zx`3vQC9ID!6Duw8jOrHS+-h3>QTRs$<{i+uqbJ@JCr_0 zf=8UAB*v1teoO`6YcfgFSDcJ#Xv6}^kfz-3n)uVS@~q&104_)CgunaCKjUYA@+ZhwmI)N>-nEaT#~-CV*Fd~u_4uRs?h5Hb z0~<7}{T?K3g22k!8Vl_<-EwPR**fUvQS^gi*Zdw1UVlCJ-E})hAG(``Yi?p-0xN?d zi=8=E`~51ur0F|LM;Z1UJjmhC9j1|F^vePUt1KUSkmTSTX)DFnl|RHqz-sR4Wb^FV ze+7fJ0gWXv!K14xh)%0b+ZdLvdIl%Dt7M6=);&qqNjS24l6xP1h?}4FEW}0s4keZ6 znRR5DCeI5}mC{hcsnr#l?MT)dZDPem2m~qdp(OYOT|L}g<*TJ71qYAbe=mm~dyx0N z=g%1ACC_-~jlAS#ui$Im{LSpX`uZx{)K_$}L_ z=;;5gMB#jtWIP}3w%$gwm0_LZ__3or^2j3~k-)XSj6s4r;8yiztu=z1x)=5D!Fent zsZpbq#oWSfC_2c7x4iuIeCTi9MXGYLBq1*ceDH(s z=T#s3ATNE*7jvT5XJKiPygx)#<&UMp6!E*+b@$#=6a^+R7|cjsZ96zuPhjN(L4>@> z$xJg=j|Zx#Lz7!x@+w~crC-VW{^Iuu`GEOO%FyQA_ObVK$7gTj)>nTCD|x^=ODj3MS5p`j!{dnYh@yd zS-)P9l~emUO~f>|>B(cdxXHcEaJJIqq6EF^$Hzo?5MNbMdJvDRf~l8Ei{HG`L_yGK z|J2Q{R{??%Y-uUIqmgEu>UHs%Mj1__6fVHzAQ$i>@^3czC1PBWpn^L`x#LlkcEdi- zESss=>~4W{TE|RD)J7a%jFlQ+eAvDjHSFL8v)YG6yi7S;MZgT(0AuO~kbq}s$n3TvbE_<2VZ zS&u3VF%}raGYkP|0}f9+)g)<(^MUC_uZoIjI;oQAWTfCUWk(gNnb~Qs`Rsbkg|KZ~ zG85vzvh?il%yVjaow-hv(iMc@(3LP(B31InHn+Q7Wse=~UE+z@*-!D(y?ZG;hWXAM zVRfA=(v&rqF#1Lr-*j~(N&#~x!a?2{x0 ztrQxC6WK7DsaPLWRbs0R;V5yQf)ZskqM$RsL~prdFpTo_I%(nxixWt)4!vHFRx2fV zgM`4!@}vCapZzX(eCFf4{)@hZXFls@tk=x97szu*J-#Xg?>*LAymvU~Dv7}|uDBCL zVp4Kv*|m2+FM82S`P|1piW;n=#Da&T#~$UKZ~uK>{L0spYDGD;B%<)zM6aw$`fT!k zY_@22-c|eLoJioak%QJSmYmQJTthmN+yBndn^j;A3Bd^R|f^~L$b(>al8yZ!83Fsi-~$9Uw~ z!NrKW;#1owUu?AE>H`N+M;>G7OY+jt+-#2ec~SEWwJOH=``fL#jqnp>8h}=YpfruN#eCM;mfY?WiAl?XS{bI6?X8!1 zPX|m@^-SC&gMii?+<$<=TY7dl(!QF+h^7=h(*xYp_O?T`&sMFSZPlMUP5TWq!TQPV z2l4o7ZmdQ&MYE_puU$Y9=U!eMrMHx2z$+7NuZ%_qi%B%iMv9dJ#E~gOCrdGQNK-6n z$56VQqU=p23)a_cGO5am!Ul~WI*c!wOEstJ;~$-~nyI?>RrOq*Tz`qT=nZ)&v*fRe z@tq9|izn##)XaEW75E_<5(AQ)o`VmHm7?T`Em_qGOIl;RCUJ2ysev*dl9vO5k5ark zX(IyVU_gUtF*3FP@xig!X~oJwV`DO~1dO+pLP;z#(8P+$-~$~!os?WFMyOiy*9QbJ zmG^tVVMpo^V23$j7!6|8!EAm(~O*CCVjh5v&by{d|@fZ+GjqHmi;UP!bSl z3Av+{q$Em>{B!GmqLikgG|DM*=fV34PvZ-Nx>C2EyJ zI=B#h?TrBul8bD9wu2q)V2m9Ccn6mhj7eDU_Yo~zE}KXF2#0vtbbXq2H?`aoTn6TNiKH1V8}ysNW2jppZm>L>W)cl-{S zR!BJ{Ni<3fz4aC5=GtT?!4-ikwnQDU(2%hd> znL9rD0Uo^nc7FcneulTa^}F~7U;B-;ckcynQ7CFpJB>$l!Zp`k%R}pTGT&~~T{(%h zLk=H0M0>7-HalV5OBJ&fYuovJgo@dyM45T-{dr#yhD~a0wgVS@T*&(ny$P%1+)&A< zqRfy|ir~X}BYln?J<6kxK1#peB}r2P4(B~Mk5W2T5KdHmNKn%fJwaE&nd%Tq7SA6wbc+G3y zghCkRLrgZ78B0q1N?6z~OQX&{Ng7OgbbTyq^SfAt&q$h-eEN-E9Gv6waa z$cNw0J$K#Cv!DNR9y@%TJ-e5p4|7!oyxqm=`5=K$CkH)?`u>+?iP8#X()tZt5H7pn z*?j3&eFMMyo4>@$ppQoAG&|h&>5ucs7w+Mz=e?NBWmub&7=zY|GPhgGxQ$5QiMAI> z;BB4a(+W>#LiSQd9pHKL!ypxtQ3fSFPiv7|;G z*ITHWGp57b1_@)?!V~_2;xttzlWUFW8CNCl3e@*{dWb#~p*-=s#OJy99-}qww6PtP z$tMLn0sb*+-};*1BnSsDzk+77NxrR$?TxbXliNNMX7eD=HgLW%k8(l+dXs1ClhC!2T$L$45}m`@T0>#H;`wv37kjY8XjGzcRl*cub2;VnjXI941Ek)gtNE%W_FZ3P z3n_`o``ED}oYIC%K0#;)J9r9XhXCHeB?S>pqtRlNIa>u7$|5I85*!-m99n6tv)c%e zOiyYjvxRl2Ja%eQcN5=EQ#o=F+^E8Dv@N!tvW;gF0c-){=`Ww)NB;Q_@wrdj#!{<| zANFXsG{+AeWpP)N-MdptJH+;TEOa{bh8E*jc=*#F=bGJ@v0zeiEqFA;Vn~*zQKfi` zZZ1j)p{iVUp2As{tzvHRGM@L6SMYZqd_Q|XeLGh__k|n@L)OI8N>kdULfRcdnUg0S z_FVle9$sIizj~a7PKUwj2_Cuo)9iMhxo15O9fY#k{v3b!hwtFq|MBKPJ3NaAMjRfkG6+o;P zUUl_neVmik1iC&K1IC(>C-B)2P4)S?q9DsM3R`mY@DWa(IL2_8qqL61xT^epTnr+j zG|A{%PG3_mm0#BE>)um@022N4cJIHE16N!{B8sxKnKwL-T?=!gEL*9vlxy$h`aaEOm4^_bZ9ygD z?W~LU>0C)*#w2jPuc@F-{e-JChC{$w8=p8zp+rcVEtZd+;%mO~t^CQKzLR|YC}FU| z^72XM=6CUzfAS8#=f>wDD#3Y+D24Z7Bz1cxIOnR%ucn@K>M2%oRm*&x4Ya7yz4P90 zkksC=4=Rsg>h^WchkH(A*riUKc<<5rsVi%It{4T6gN|YAncEyjb}cj4E~wK?dM=IR zxkMSdr&efW4ff3~;wKJUO-Nu*axY%udLw$KZtacy}Js5$7sT`e>~&IUH<9;&oQl^K92p8&yFk3E+)=a^vy&4WADZ zZILjVAc9hY*Mc$`-CmDDw@1=xR0)|S&IeMh@iwQC8GI=5!6GVvT7*sgr;MbiJy3iUCMNcaFn9+kW%$=}h< ze-fTG!niO%s>D|zTKPzQ>=h|IdcIBx!@}A+B+w5+iv~IekmTOzfvZqiGns23M$lnR@0+{nohgC|vYP#X?2I`4C7LOF)m- z836l01i!tKwhCB^O5$9TC`~I(n4fE5`W7Wo+P79CdLmIv(@(Cqwy*ZJnZAoA7HLFD z?J>4jg+KX>jK02XP#CY@gU!agt*}+U*xvPC=(KpCKVWrjl|4&~fJT;)Xa#nhSfC}A)+dPq7n8REkZ3dItwrk;@D$cg%xm;i3gdRkU@OEv z?IZbH24BUO6(X7}L~rEaLuGvs=M@c;AkL9{8(*v1S$(zLd0X&C%f6=3@4Sm$d-ucMy)?2G#>S~eqEo!J^g_z~ zfoo|$_8_J0AwFmKe2b$;AENZ0o@f@Ydp4bHo|VGJ3TXu%!HK~uhed%(alvx^_1E*U z5B&{;R5SnFn>cvGP2Bs5HH<6Cl%pvImlu5E)1Ty(FMm1UvEnHUiwzL8u(-59lC49? z5g8)E#>rMS>C(iX0DCX*uxH_FZo2+TOrwb;O$Mud?z#IOZvX7(_~dP$X8F__YioTx zJy3#9JcdACtYeFkyy?|$k>`0z*mj&J*p@8a5t2l;CRB#%l2ucx5z?OF6^G|M@@WG?J8WF(>$;fjwgh*~` zQ89S*I7ncCMyp9tlpH^Lj6;VX#g{PvB@(K|O_eE5%m7vnyu@nQdJzlYl-{70Rv&Nu zsnSD0P+IU_;glk2v}u?OrJH2VvbeO5!C=73sb!8If0%`|Lq1qRw2pl?FZtxhKg6lE zlYI4?-@@F&uFChS3Q}ktJ#n0hp5x-FvDL^R1Tp^WMjGbVUN6O&m+9arXMzcmmtf#%GI8 zVqnujYkmP&B>aP~`v!jd*M5P9Nm!bj!?}`=fAH_=uPkHc7BCX!_FSllv@`57R25z?DS35Ibbkxegw}?D=PUs{B77@SudZs@#uz;!%c^rs z$6Jl_kUEGevr@cIEOedB_XNu9Phyf-xtMyA4*^r%XEm`V_aUH4J8C=1R()mW(uo(8 z39(w4Ex)Jc38p^3Efl zRlkh@#-&?vIE9)xl>lWC$zKn3LjQI=OfT&5Ro7Xnb&yuE@>eNpZ`}!i6%T% zQNhGvIoUiRW_G+ZK?oC7u(R)PNRsj~$;8=$!Ub$mkoO0Oby30XNytu!i7T5HfzLNgfVK5? z_RKHPUt49*T!+7U_q#c`Zyz_@a0A6~fKHRq6Q+K~$37ddWl0ePF$qRp98&B%*uf6Q z*dc&-@RWl04xOZwWgbZarSZXUX@@x*T;Ft?OiyM<*=5`KZj{idx3bB$Lr&6e@H7AJ zC%F4_x1%M{ZZ>d(KFXG8ZF%+UUdo%l>8m)fe>d&c8@cDMPqJ%qo|DT1+GztXHCbfu4Y$x}H2K7*KFamayOllr zub}UR`OX|Cjvr+%&B)7uYBsp+;58iSoxq+tOe0aur=CIg6sPXFgN91kef2X?y2a4v zSS2_WC=h~5u_P#;;(=_jjk7~~M-H*FIL|fLKa)d`JxuZNBP1au3m%`B+;jguTzUP~ zTyw=i42IM+@gcB$YMHq?u+FoxdX#qNkxH^V$YjQNydPOJMLI1Kl|VUQxOM_#n!Mme z*Ykpx-^|y4)7P-JKHx(i`6%ys?|XRYp;PD#aEkTe8tp~~x=*ST-t!l~$6vqi&v@H+ zelOqtkG~J>3K)&n2BQ;59Lgw^QAnaOMr{a~oe3K%}t5W~Dr zs!hCRiYnA6Q?)GK`&eOW3|c1TwG>{-RB$~a2Ho*dzRAUP9GDnVD{Mf5MvTI!=xftx zEwCqR(`+PkkKWH>XAgtCq`R_8+HAAFc7%KH>GAGA*L?9;d;@#-9Ka59ymhgf#VaJl zW0z4jx5tMlC6#0;E{`e|FMaLndH)CA$DlYt(3ZJoi{mGc@!8vM<0Y?r!-i;Oz!8Y@ z+)Al&1@37uMFM+sRz9Vhc>>RRKyQY+QrXbJ2TRsy)6Khl?Ki!Z-}=p8Ay87<9(Y(= zIl*T?{xNQS?Hd?*D4Ydq64*HhVm7d*Zk+owrTFLM(wYEoo`5zRjFnCM+IC6tI&h_s z%E#^8#-np4;m@S$IvbQdTMgJJ`}3nVIyu%Ao$shy@S74G9@5gEmlb_pS3z3AVF!DtY)q53m*zmx+fH2HnbD4?Gh7FBU zDk{ArQjWb0RnS{Shf~`ZIXES8F!ds$oR_!jqZ2S3d_X7Wy~dYYzlh zVw8@Ael=g4Ok#7eX^>x}nlt-=_ZEvK*0GM^w=@5lJ+8Ank4@_CCw`kOT~<&XWBtvV zAg=p~R1H*NV%@0%FCK!%dzf!Fu`JL&*`nJ!g=?oE(f4@NWyE18NHQ-`Nk9k9$O0v3 zCgo&ZRV^x`62Cx@IDV)gglb`_h(xllw&8){RORNy)yB>mQYw zB#EMxr6{SBhM#y$lE2%H5nN2ze&uhC$2SKH;>nAgJRf32#l-J=4N|pzT_qxG5$qYS zXqDhH^RZg?xd0IqbnprRGk zBnd3_aaM`yPmP@I9qize!le}d+QAOa3?B$4W>qz0?638BvE7N0gpE}@Aq1qZ*cy?? z5~tbX`A7eA{=tmDTQH@-ndRih17rjbF(- ze(zn(%{M800H;|$`~Y8AUg4kgKf^RLmWPaB?-IXp$*5K4&jRViPiPe)wSY2Kw zA9mS2zsQ>PtaVRv?9SUTWuMD$cn<4g=z2v^8YKxn#5^}wO(JZnX)U(to_LI74{7#a zeL2_O{5*6`i}>8#_wrZo{VP83;ZLxT z#=u-Y=o558J27bE`5(Xb|MH2CeSq)#r$4}r&wBx_ETPw1XReXa&HI={vA(v3a~tLB z>LvT*^%dE{`N3rHF$9nEVKm40E=sC~N-lM?Dip0Xp^~n1A&l6fn5uW?8>fV^~7O@#R?`(G2&5) zq8P06xletJgI8S3b6@ac78e#NZ4oO#bPSA$uibsBU55Z@lu9U_#hd?+z5kB4WVy=w z;ctcR-g}=o;fA?UR}uu!%Nc z6Aah_fsMgRNJ8=EJ9qNTnRCt#-Cb4d{iCXT_ueN@o~!eGK0R}G>aOmtu3EL8wVq{I zI&zE`zv7j=>+QeCq^!^doH%}zpZ$p+ zB=A9M0ypjT5~A9}IM#3vwc;~A_w#tmul_71cnpTsr3HTF=YN_{`HatC;;(Em*jyVQ z1f%wrF21c6oMxI?79^7YJJ#L4YC z0sNNlbmx?t+X1$&b>_aHXTR6Pn$5*wZh<6%D%N=SQSk|8)Si?OoyIq@AL%^;mbN23 zt{&Z5k++_`*o9IGC$WB__t6GcMiZ1Gc-bS#GNypJZUDEMT^sF}aBm)yE4>}Fk6Cw3 z(7pb?Lx`n%*QzO11xBmH=c#G`Z}t^pjAE?jTfN@saJbW^DM%!Ilz!Hc^tGmw_1nqPZu@`w?synq8U-dx`%z$W z&MzIMSh<&>SbE-(`9NhVycU!)7-b2;&IIKMlbMX%1}$MGhMv?c)*JN2A>wexP%>cC z_Es`_Gr+g1KHcXvbh3y;is-Ce%^>fwG+1Ua@3FG7 zO0Pe_hfxf;y20|ZUGi5YLi1Kp#kt|O;*M((9|IT(`}T8a6>9)16>DeRAfu;^lk5<{A`0Ic&r^?wLsC`9l0W#ZpW|14 z_Fu9{kN)x^GTub|I+r&q{`$9lIj?!`OY!w7jvceq)fz?@y!O>EHgeJ&ev+A66)xlc_vT#u~C>5x+L1 z3c>`1(n1(t#OIc=9dPu%qkN3y{O)_-$7ik{p;r`?Wyzr5W8=~W#%s>%oRt@UEcK|u zojb*7Ji#g$$OIGCIsd0`#hp9JJuiP1{lz=E9AMK0=tW^SQI1+UCK5Pt|2=G!mpK2# z`+4}oCwTCoXY;`Gp3ABCy_-=zM0<C>9sVvYd$<@%-oBO>Q-z z_86-6J_X&$nTzXUOtYX36I_b=^*~)_*ldZ+^zoY)>1CQ1zwmxu{_?-X=l|LJ`K4d} zRo?OTM{z!89uAfVY^+~qbzzCe-}5fM<*VPoxBZR3#dz~Fi_41?S}_@oC@Y7x1`&r( z#-~Yz;hKKr=4-+>i~n0=E%6bHSweWLK9NXB#(0RCnn4KSTdBtROp!K&rb7aURQvB% zf&{^N*UAX*O#(OP&^?d9WH@ADagnO3xOnLTPd@r65Gbs{2S=u9f1@O{`4cU4Y72t( zQNj#s@IjH~23M6h?=hLC+*m`~#>8nHa*fwa5wIAh_o8{Wl*GC_UIJPi{lyhF%bMY& zL>Yqt`WSpw^XtF#vpnyi2bpBT!eEKg2NXKiqt%u=M42+tIy$R~WVJ1FD(?v@@RC=& zf%^(kDU4-OZa3)8T%wf%FI2(t$jK+UG~B>s8Qwco zFgxZjN)S+f+d88S_EQ7(MxtqJ^ZYjL+iCr_8zCnW9fe()>&#@-zGh`$+Bi%VVdOyo%_7Ue!8krLCMV1&}4Tua^P)sqYj#8dlkpxHfvU3=G)ru z;8ne`{X|PA$Vw|pVbi=03;7~F(4Z?p>DbRkRn0~zl%XjGfSPKhFx${s|JZ zX(dFdw7cs$z4iCo9_MNsn#gDsBKfNVZImiLW&UQVIeJRMlfK_H*@r0k+zlXB zo>sNN6tH?9Cs*#|WJu}~0yA}Uw)4F;*RdU_r|YLepsXrhBO@;VpZ`WLT*k?S(k$_$ zS>=Jx{R;j_uRy*)jEc1}%7J8y`b}P5p5&3=`FZXeog@Rq#?Ot7W4~1z&8$ilOvmK` z3mA$1lJR)V>2s&a?>IqE3AKr}f3K$v)SVxcRw%7I@dE)p=Ys4iW?Y}(pjkBYO7}>y zUOa3UKipiawpXa8w*2hpdty&J-D4!+FK^H*9iz2N^m~1LIgX#IuEhA&!!`X!0%(f^ zR8?U!P+3OPuMJI5OrTKlok3n85*V0_QapDYS;ns(;aC6dzvb)S^ffTBTr?VG3_5rQ z)^fR;fYDq0*&)O%-&|`pha>WSZ^nKxNrAvA0q@AN3{8|q*U6StTCjl1EGjn)s}dg^ zK7?%u^LQU@+m6}xY*lQT{?3cg2n>j;a^i^NYzyIMMu+*# z=?H5s&|f%0RaU6NP`Q$kR(OFt1cHMC$T})qsF390ud~uZ!gM~ICIrl{Rh#ESr1}2d zg#IB8aXaFW06xSs4sAW&tEm6G9ekP?>|RDtyN(EHK`*V8jY1Q`1V_!|AAC1|`)~Xu zj`a)HFK*Hkp~#|S+!uWQ%X#@LpM!*p6a$z{Hp#O-WjP}6FY>0Z`ASZmdNYqbzQ+3H zOPGGfYJZhJFy1`F<9~9B$KLlgCU+c1FRrq*w8~2a7B&9--eKkPi%{s~Niq zS{IZ_a?Q93k3%mlaBf^OSUt+8z4Dbje)?&|3$Of`kEW^vChsv(8ZUu`!7BH@{570= z@4LD1@CV4;7}E=c;U)UkaPi6aQ%T_2FMlm}9JvpX6v1X}ifZ-vEaT|$yI6boAG2&V zXCM7A_uu;fcRu(W9(()|+;A9!Ta(-D{qOq#FM9Ed=?(e}$76b06TBkN3#w|2O%CQM z_R}AlMGyFD2*!ccC}ZQo$>n_XN8itb_kRm-`;*7`iJ$n7T)MP|FW2Z9h4v*n7zW1h zqd)ZhXk`hmqI47T%yy!{_jbx$ulgQ`*dJuh`7|R(EQvHiqVm8t&Ys{MUS)BCxXW0i zltNiWMut=FrpQ6>1`#3nfMdTTaELWo+jEH5u|HT~GM;eZ!dWg{xWLZDK-k&mq8n#y zB-%reNSt_Kabbxd!ld>*{n&@6nIEn6q>3`eX&<)Zepfz`#Hqeo5Q(+0v_@$~VRH!5 zW+7<_SS|eSfB!YU{Hwp7@nnR~@|dM!6d@QC@puvhuM`%I3jw1H=tv42z4H$4yz?$L z&z_<%n!2tjY>!7C{xj}+_H$|6c}-18t#x~C_d7atWfxuTq9oIGs0ln@2eJ8EC;jcg z(hARe(Tlk2#Qj`&`hzUk0&6nH!!;g#`28He?;(_AofNTy!E`Q&SCHN2!)H~N)DlqE zP!xSkh&8ORYDekreeyA$*u21|@)UzXd@da^kYpQ(L;^VM z@Hy;1fagY`t;aq`0B`5))@gFy$<5pBt2>`$Sx#M7Tn-h(y5wc|KIa;>{K~MO^<|g* zy%lRPUN5K+vv*^#9hf3VRW+NVAs=}9G0v`E#2Ym?hRvpihY*9cqRnO6Afxu%HX#+>w8;aW`5t)#Z+qERTtlP;(6++$FakjhwiusE09Zi?gDd}&mo33CoNqq zpc=)VbZs+}3RWp7dW#f;1unIfC~uG1W(&I0g|Sg0xh|n9cXkITuKyG>e+)@;n^s9% zzKHErIzgMrWl$Tzjabr7t; zaI}e5n){C5!9b~~2y~tAV@v)Xa4d@RpWI$*MArzS0){{}o?wCpUq|w{_0?T}yQUV! z*wyp_vW%?r@HCmZDg;)0ed@aA(s+at%hBaUiu)hn(YL*gfAF1uoxk_pf0tr)2`T!R zyvN$+5ZlWzT2X~CLjs2osHzIBHH(XjQQczBz7wrb2wuV1)#OSeN|7lIodgyGWGMR9 z;%gzOSj+f&1w~oWI9IY>Ry_FJ=kg8T{7wAKoBs~~lFBVU7EUY?EdUEYq5_YqwNqMQ8*-k5AhL!E1hVX-*wHA z-6oCsj}!qViaI$$G6k734A-9K`@j3|lG7to1A1B!T*Ud`$?KAS?+BA)8Rj`9OD-^a`Z0oE1MSFqJ?hJwY(DiUmwE$^zW|Oe9p{46ak1J2 zmSQ=6=iNMN3fyFq`qFvMKlvyRz3`lh)w21lWCU-t1bQb&^Ed5P%4QMU%|B&ktF@L zzmBM_ZtLmZ&Lpt$DRaI7(#(V7H?j#Epg=d#JH(UhpE`cJ5r13bgUsz2$%W z4_^D3e;$)EIU3n|W6X5XxFyqJ?}f7uKGqM)u1!tg?Y`5H&C*Cyi6;cXd&BDTF<$bD zkLCByJ`Tnb#N*16x4z|fdDSPsep(ml8Z8dn8o4o;WHh8-Xnd+C zuDnB;KBi-xsGwp$Zpcybi2x3S6p&_i$tctqM1fX6GFPIa^6M^nk$J^JMiL!;iuGtm5g`|)*$->0w65>~U<(uhZQ@5h$Z$GIyg zf)!1bNN^?7_KONA70?8TANrdJOV8K>OzV-a*NMM)J9}=MM0DrPX$N-q!~0vvBK-2wH10W02tSbs$V87;EVD z3P$5GRcdb&9MCB01nFc*E0cJxL=4T1?Kd_9e%g7iHUoIR&$nlh>?yC(e5<48#Mb4* zG^1-{IO5V|lLvB383Il96{9uA?>t9{@?^n*7%FX2mZqT&9-U8MR2 z@6VZ1A4hZIYsFmb?^igi^jOL_dS!A=HNQ+E&;L> z*t#%SX1uw{W#@R-$GnKo_`)yYw}0tp`M2Nuclirn_s!h(%1>sb44daG`hx{3ttmwa zItD{}3FINr*I6XA6K*~0{Sb$E=Hrk6KExsRfde_C=Ok* zU-%{7@_YZA^A{@$6J@7^Q)Hsa#DE_YyhEI@yt0D#j^G0&p3NbgzI+<@!S{2=^FNy7 z&v_BLzr-*Y96CClC+ie>PQTaV?mO(9|j#Um^joG)u?t!d(JYI?g`! z2*)0L9t(G#;OP%UA4<#+GL&x22R{4(9Kzz_GD=yrSQZu+ufbhU_4!oHxT$=F)&`4V zQdPL&CQA!&cn5;%mguX?&S3i~F3Qzk*YHV#oyTIu|yOPoJ{p5b_d zzRj;7Lt+X=bPm_9Mj4H-95%B|$_awPWCaEtkCB`Vnv{(+cic!+rvKZIJPQkpOeSMc z4s8lT@N}K5DrRw7V|ng#p3fiu z&)-I@Aq}Z-G1i5*o@j&YZ-2brf-H_0vc{?2ISso+S;^A?KUH+ zBzf2b+0H$Tfh1i|z!HPWT`#Bcix-n-`g}>3#mq8 zghz|YejTB=(i7=}jU=&@;*s8vCs6qBk%ih{6wCvIVx4Ubp@llpmB(7;B1eDSo$qVq7c->vhRBl=Il(F1_0cz*5D2x^|0dEwAvOAWV(ILdl z$5^|IqL&kb!`Cse;aX?^Hsg9T&UeY*E0KM_k+|vQ!&I}Ln?7$R%txy|B1u^rQkhGB5Ur`N_oX_5EEwiw5B|lq%K-cD(a{{T~1I z7k`Q+3%Zm@)aJtS3Vg#ieieB(p>~c;2b2!v*5ZAQQgIPn)kCr#49oKvZF$32eh#mG z?MwK@U-$+7@7pg@+ASO zd-Ru%a`b^kKHy8revTm;(Jllw$79N>qE{3Yd5^Mk)Wac5dBzyWW?hoyJ<8yyS64Xk zv9F@)8_qrQLHzn`BUU%<7TjEFQUwaQQTudG*0 z>&SR}t?kNoJr<=yXiH)qaWWMQeGs%n&0^!p3c z<1vGLfyuZ;n=Fya8YP~(uF2G`6TyFoyCJ-l1%CK#V3;o89Z{8f^_(QBc>8(Z)JY zJ^mPX-S+^?i%VQs+rXFtqg3L(qSHfCHdwPM6>9=L=ef^iarGEsvW8ZQ%1v;WFLL_) z8Sc9O*;J!3Ru?Gc&?3;O1-zZ)a)Ykpq`600=@?xsa#b~fn@r{1NZ=4$E8(b=MWMk9 zFaOwA5kzBsl<~I4vVQq8PoH|4<99uXw-%`adJhd}VcO=V25>X)Y80p_TWwI0Gz|)+ zn>vHK<3Lu^QgCr+?fq%)l}X=key6mKb2`)P&1>zBRzX@Bajm0ct+&uaT#bk)A$}vKs*$&#*+OB{0SjaA-89 zGd2~bhZ132RZIlD&e7UO;vGj-Bm<-v2q74w3mT`(NJ=7JHRk|29k=e6^ z)D4AB0p=}{E|6KsGB7$3rc9R$vEC4vJU$F%4OQJ~|JDGzEjMVdfXXfRGj!hfQ2E%t zB8yqdS|!_FAzH|Fj>e#^rYlAOs2wS{riU$nq)|L&b$j#j(5Z=j*@i+xh8#@E!cdzyGIv_=E4{%f9iip;qr> zZ4&*ar7P+82UM=6CJ+zm>QA zhkwq~?|Bzr{8#=qn^J)Daoub*CeQITR6hF4B-y@Jr8?!z`rmhZHV=v4LmcAjaYz6k z;t*Gh9UQ-nq?I6O2`C9L8S>BG{5>of6Q!IBgHi#-gunO~zn**VJBA8F+%{5ST4yMu zm`o-p?dbLTl;sdV9&`VFD}3j7{dGR@@G1W1TmBDk`@ipIWxSj2G7~_C zl;a959);!3N@a}m%jw1 z1XtJSL`-xS9f#S#wr#1jHQps&S_Rhj<{(3ewrJ!-@O`X0* zTZ}a*7r1!o0w4U~hge!&Cd({kS@PE3e+%F6&EG;bsp#iD>JS%Lam?8MzKIA}*ifRHk zB=D{^fwkaVjFt`|u+(2f+=N~};Cavc7#@4yJEv^|PMbnE&9hZ1s07CQzK(E z8Y1E`R)d?M)YOe59VumizO^hAhN`LvF4ooFdEp$eS&CTqHR3CBv;7i5C+}}lg;oWH z4K)k7K{|af1nFelZ@s5I+oNYdJzE752jsK*l)`aO!=5?n>;#w@QMiS;#aBN*vk zyX~&~PR@9Z3W?xqWdU!Ed2ly0&P5FrndX5L_p!LT%4R*GuvyIRcUNcQ-E7&(odS+z z{+#As&nthl8C{*XLkQ9N7@~}=)`rX)q>5wCLcf1QoPZ`NUd-3G-w7fC-zdUxqq9_R zEwlj&l8El$>1TZ&IB_ri!9r40Nna5`2fghzZXM=+`~G&bq2>ZVo1iq40(!%I0K{Cg zy_yomElCt4lIH20=cvv2o{d3hM|z7C7}6r4mA&1KK&drc)RwHj!UyyUn|Th#rJ*_1 zYHjR}mVlhz&s!SZ>l=K`@T=YI`vNyLXrhhP^RXRPC-T=aQy)r5*}fr?zkx{pPO2!c zd_$0)(=3Z5^)AnyP61815XoNKvEC}CB(R>n9~v;)l4ltY-FF{7qfph(B?2HSNCXwj zAqNFkY5LldW8gX|XDOx8Mx&KF@MF*okZNAfhFE@Nq4sqwhXgn`PePs7{N&kle98aw zT`b)55F?YJ@&)oNJ_B{_TVi%EG<_rx?WN#qL`UC+)wZ2etxToPjWJ+zR1nHgBUd;- zb|s^0rSK}w7edSoE;Ur5QT+vmM);zy|I7Ty$)~8#J;ew9_$~bS_c^}s>;4KyAAE>) ziRvvmiV{UdRLrZ=dcYY+Zf@c@e27DQgyN6@KExre6Pzeq%GkOfIv$bSLA@3BGb* zJkNUYZr=EnpU)e=@(WpCU+2+BKE(Rk8sp&@=QWQ#@+jpvP)cv@K9FfkrZtlw^h}gF6%{CTfRK?Ft33N-Kbgnh z`G*7o{gI`-d=asV-r`+6`S_y@PCSQf*)pshs<4RB^cR8Z%UX6>oeaFMHWbIkK`uQ4~xzM{(bs z$k;>NI#5dCy(D>C!Fh*4V*Mg(;^Oui9_!X8fn#kKYi)eqbV#z#QK~qEnu`}MaO(7F z#*lvY?3qhQ^n%{vT?@ybzUv)azI>UySioj|f)7XtSf!{XY@41K zLLdMO{YCD$=LF|ZJv#IGhu;5Zy!=(KnaNmIO0`6*@d*8c>nE#O|7<901LjKo5r} z%t_E|{HSKpW`uG~Hrn9c#Q|&QFXAqop*P5Ot>=7*n}?ui1Nwq@Y;0_xjG>ps`7bk; zTr@T}Xk)H8W7XW`v95WxO&jo#h|)xeg=St&k6B~Z&Syf2$X4~G5THw>DuprzQ!phC zeVEE|UI(+NOa3-(*a^)!`Bb(;B(#bK@wbL+pL2EVBXqKxGo^8*W2vwdgH?iev%z>` zwk->yRjduXo5IP>#C#^cY87Q-d*`#e=d+tcgLl3SP;8zji$aMaX{W?}rQeGPqJ+#? zr1mjeG7(~=tn%F?F^oVKDi)0}s%yymv}@`{PI$M=duuF1W)WlVX=~&LAM4N7F3!W< z^>nxW*Q*<~B=6k&Ds+zDkiSLD{Oz_$nA#DFNSu~++^$8oTGoKd<2h7-uMJa??D(g%!_EtgJ0R8sOXJ#GU_ z41iSLQ<3K2jy-ub0Yl9^qfJ!4QFCQW_JW8^$F`)36cd9<*C8M_LMrqr|kr!hj74Oo8gm3-;9{UiR_-}xr) zSutGt(?8-r{*yC&?zes?N1pS1L|f|hb!;&}E87Owrjt@Gx8@l$;8Lnm2Z8*%j5-BhCqn-@>BdiVVtDHbRNcA{*2HDTffW55|rX;PM* z0?^TT$qRBU&wk0vc_Nh5CrfNTKvd17TxWd#6qimt&T{tL=q%GYMi&%=1!{!cJ948q zfA$PEc(TDFChJiM)b*IWV;dTLTv&&irDY4MaeV+8x)(LoM$A6y9714!*QBydn6*7x>dizBT2eWl}qQlX;+ zV?>o?#-?Y5)ZWluqt=070Ev5Td=^nAIZF9yt&=ZA)9K;D z2@)JdQDAe!hd=xwUi9LZQwNXMwsn9grQ2a+zAm&<3Y%vfJ9?bpA5{-M)t7Jg>pgkTQq_SX&nc@C zWik-Q%4(GGG|95aJ7%=4@3f_ zJ1#`RMC0p%(c1J-1WCmR%bu{D!#4lcwRRZ1DG$xzzH+J&UDbkxkw z!KQ6*;{?cx0$^n5Rt zO>narz=)t^`d&knO53UCZuTug0L$ESsI-YCCmMO&U7pjRiSq;oFCh_W5^EthV}s05 zb7{;sHUkNi<1x0^k0iO;f5`+Lgr3e&L6L;Tnach)GQG3My)BlU3P7N)qx3TZ+D-}a z8*vVeP{sW9Yh<5E@({*Cp2hafOIJ6t&x+_+nUs;x7Jv2Gzw_kpd|S6WpDdpSv!(Ov zj@crD@e*x9@zVe}bR>a;O(bxLu`p@E$T9;p)Z$Ty?AsZ=^YxWCAu_zPdn*$=&!3y;2s^5RMU<#&H4pY)aA%4=T#r7RZ(d6rRzSSCh^MpPW@ zv(7`OR165W63?xhiQ8OB?;;7Tj36eKH)^huPS3DG(=!$c6%N&jyxYgMY5!0JAIQ** z0b?{a1e{W_T}rXJxj}z%nKRC?_}~lq+VA@N{M--yBNlXtUwe`tfAinxOTO+~_}EYQ zB&uS-<;tNT#WP%()`E5NbP&yX;|SFs$axH6R`ttrb(WEmh8-fwXH z&OTr9hS&20-~Z1M48x00(d+dXUVMTR=3^0)69Uv|vc^Hvy{<|jCK=u0DO{2u?bP9^ zWy}Om)-QPJt6t0hy>uQQCRhT67LI0$GY`L;`=9@Od}Y`a%c2=jn2ZcXu5x7T$ZXDd zyg_#4DB5T&8Y3Dd(OKL`M;cKC;K2u15zeE7p<4lCezKpJ7n*k>&qJpLaIAe65T#LQ zeCeV?Lwg7#%E<_kg8NQ9z+d~8uj4hZd?`QqQ$NYmPYzkTbb+k52pFe3=vX-;YDEs5T>N?ZSC74a2e|x5d;MPIRio`r#?Fs6$5W zgn8-fhAeJs0y`fiy}MaY`$0njH`(gl%xi*fYruLRC<@DXT=L=**IuSZZS(vYGYx>yYFe9CD|LgMnL95cWxtC{)i|~^uJ-ivJ~A0& zlh~tXn;Mz|$}7YKs5j%>l`fZ&RBO?PRNFETf+tqp5{k@#R4DIvAc5mkVwH|bD@h99 zyE;iYThJa+HR!mhAgDUl(lW%LgP;sj4l&9yu(Mh2yP>UmComaLSXfw~swz;?iR9G| z3;Vfj;jJTZ_wy+cp`;gou3}%+A%?|S?SMd4*Yt`WK`iBPjLrf|2W+w@8ardYP4mHZ zUB|uAV0_G8vTR}%tSm2Z>EcE7kpbg!NTox1=HnHa?*eXae!t%C#(9U|)WI^_j`_Z- z8nOX6n1ko$I%jsWC)@u6RAn7&p@$GjeG!6lWU031Rjo;GPzLzCBfY8p9TK}aomYJ1 z=l~}{*uH%1YgSF86Qs49Vm6ydXfNQ-R7Te}iT}GWEqQRg)^kcLjMjSwz;w}M{=zg{ ztb5%=xf6oUMG}rOQKQCGm&y})R2ZKeNIK)TNb4uc< z#2QT7s5)apoX&4Ho8D26k$|JIqrjSEkF|4`OlxGP|8yrvE6n}xx5(;mUs z2$1JC1_aH2ugP48HX~Rhn!CYklrB)JAUBqAY~ftr>%4AAOXfbmnP`a(JtZ&|G4t0u zaGvBeNx=gLZ0}W1m`%GHVmD03Yz-KbB$bnV_ss8P+GY``LnME_B;}GuR$=aV`)Pj@ zbk*2H%1=pVXgW)$ojDXmdOsaQ;(9I@-IfAreqg)j(!K0P!@?4j8BESYIff9(lul!3 zS}%t{q4O>C+t%@3&-^)42VSWyibPvXi^PWg($;|yAr1emjur?iO?AxW( z*L+}!nX~tVj_so(xo4HaqN5s!jzfHIG`<`sIpo-PM#EvO39J=WU6XbCj7p@VRe}kc z&;+Z9$92}ccDviL!8(@Idm(L-UJ z%-rvQr{C{k#4)NJ6dBKc^{4XjU-Bfs|8xJAB^h$GtoW}#@;yBL*cb8HZ}?gk7LRj& zeG^+Ov9z$vWOO+O;%h}6qMxL-B~$4aC5CEp5u01|IHaKHE3*UIb8CWj73ldOg%s4% z^kp53As*ro&o~_R>q8vkx*E~Hl>Z3yiz9zVekA2nidElWtFsh=e zCh2#Y5UMmuO((k6X#nYcGjpu%HZ9%PE^ev>H3mIqanUiE2qrj|dj+}F3@@K!Ia63a z#t>Ta7owxC*%~+nnZ(V`ZQ!YKR6(dPEF8ZJrwx_!7zv0ULbXY?u@OlFr>W75MiZ0; zqco;<+D;cyDu9-)Mu4cAV|RdOgi$s6deo9s&Glr1TxkfNWOVyFUjfZYDewrU9-%0LQ4XtjOzwI^~Df8 zZCzzCEG(@sDaVlvQJP+_&&EcS)YgYJfm$d+$Engd{X7lvn@J!OkEXlT?PkPp*&tw) zU^7iwjws6s)@H5Lq>+G5jv2G<=82_i!%TY`ngsBQ))75R6R!f2}hO}aKkb6Xp zLWUAcp*7Q>fo>4@4h_DQ&^q=ZpX8-Dp_7$ zMuMZ93=s*GzG67qpr2bZ9TPN6hmf1k0G@fRn&8N`Wiy*i>yEh1+G3t~-zx8^)7iuJDUA*a>lLfZ%T&V{q7(z(V@TN{g>{HSTsaP(oP%B z1^nUfzlFyi`ydvDRf2>Oiwp4j&wCw5mLt)pq#))m>A8j8{ulXLX1Co@^U!ne=I%RV zITo$@1W{yK@$mcJN#8_Aa;<2$q0#L&QI?5nCgfdPg`g>cdmnl>l`>Sd0}P?8sH+j9 zwM*FGqr{@G8E;-DLvNFzo32Rv{#?e6^4xRc-n6K=*~44F)f;SFehP7ydFhKE;&1)E z@8Gqc@KS0SF{&<8)nlA<^!o$Gql)kS$N!k${EgqG$QLL}pUCB#eIAEs&=|rYY%guN z7i#ZgHmdh~)=S+E^CVj%HyA|PEY7L4agrizq>ZnKgR&D00Wd1ZoH>1xr=EI>(Re)b zS=)ZCubKoF0z$xq={9?;KoCc$YJ6Q!GpXkm+eTtty4=|4d2D15?EwuZdJ)8c*B4HK@t-eHCA4c_ih}on2#j`6$b)JoWH%VRYQ6;nZH*We0MEz)$>4OL(SV#x8~!zO-koH`I`t- z*@4uaCn&EqbckEGy^ZX%HALCxE@Q7FgVxrDP~cpu`J2e!roD=*Z+~m^G_U7u$jr`? zzuS!4_1y7A33cPYQprXXh>Vwl5aR9^7U>Tb$k9;GmPOJMvmS4DfK-?Ky%M5UL~w38 zFU+ffeI!6Bh3H0cEJ_}W_e?f62`*r?A^4i{<~p?M7%`xw@*blh)I)ORFa%tZNp@{u zww~GI8UP%6x+&88vzy;#tCYqGlwKHxz*vMz>vjuRL}!GFVX3!7kuBnukMOKly_Q#e z_Ltz7PcWQ}x$o!^&ivm$;J^IPKjQH}_;rrCON8Mm^1k4e+Y;Qf-B#(i&A+ZRj0g6z!_(1TE|Mb&8g+;Nswn>pg zVFNFC{)0St?_Jb>%*JrY(W9%lTG7@?lb!c{EuaZV81by@ z(~rKF#k)?>U%eNAfQd#^B37G>I3=1|g`gTqiMPo^}BOUo=SA7L~+ABmEB3}j4( z>kN+7C|_d4F&Ph0#7sDutFvOoqEtYKGD*r9P@u)*Byh*^<1std-|PV{Mj-ZcOF24^ zF>quxg1E0K646JmndY%ml?0rWj?;1l=ZDxf^5%cUgo@%YJVh}Cc z67$Wyajr(E*Mr5y_*w86lM#TmwM&Fl@h*h0r^IJS4sm4_y?#Hv>p=-d48x5Ll!~8K zljH>20m>*WHV%3&W@vY1rw@YQ12r{P5|MiV=VnU+i$#L8?QkI$FL1$QlwxsZnQ}6r zhsPLAVR~$AZpPo{Ic4p)w0+CD+@R=r-6UJ6>Fb+|klJFWuMdF6QJfbRSFd5ISh4}D zH=^$``6P|n|G5U0T9Njh0eSkYsY_@Ia8-?yKA9dMCJ;I`ANPA4h|g774p}|2!iBYq zWCL4nl2v1l ztQ_TQzWh!6>_2@!=N^7P1sYo{;JxQ3-~11G-B*4cAN8u&Aa#uwgZI(b+jp*2YRd(d z1(v9pT)x24pg_uTNAckr*<31g_PL)R>O&mjnSnzB_z)iv*vSdMn{#tNQYOA*q;9Qi z1`BzQ55M;vyz^~;#C^wCS-ZSRVHKfg3b!60N&(ed7q$dtXEm| z2;NhJ0r%@w4t(2m6 zBeb@Rh8M_tOY{o(%+Gi=Cr%vW```Ryl;bg?YKH5MrNJ`GOUu0FEx*I5Qz!Y>zxhd&-D4tOss)Pl7({0p_N7}jcD2OeD5S1 z97$9aGilSpxv6=yH3L|;8Nk;rU?3n8>v;BhJ)Em}`qWdLe)=hDS7EJUb90?c8&C?P z0;1HkhKy2}G$w>VyiTDBkKg`yunqk=e?lF*y}P&z-lL6a>i};DtuAox6%;|K=<{jI7$|y05%-t+t`EM= z$o5*HGJ7C?Xs2_DzN}Oy8GtA+S8x06Sr`DBb}Pg5UTTT{JCm}Uq;bw&!(n-9Q=|)_ zZR<}{O6^&*ek**tUoDVl8cT(7fj{>O_`EOp7;HY_@h2{m*(I_h%M9DwN+JPq6O4s^ zZ$N*khloRDf>kiEJ?gq*-JfD%<)xfHzsm3a&kykXe{dR=4e+97oS=ILD z=O<*n3`amIORk6HI`DO0ag0xU^}Sg2M5n>|?C#VyvW6`js1c~O&iC&JR}$nbs{bN3 z^N;5LzIVuf`0?Ll{V8FvaFq3p5rf6WNcyR(b0+k30o7%ES@MDxF7wF48;m9;%d1OV z-n?`R1S0GYZJ7*-l=zl$wY^SrPG8Ym2hSEapFG;@`Uf9c!c(bhWqsawNRXuHaAjvO zTfS!hxKSBk`^o&B|15-nbh21)M0QuqjN9&!xb>BS+KhM~rt{W;yVK2c%+3=z+Gtc; z6I5Es_uUZdhK4q9;GpF1{PVC=#pi2>rcdp3-NW4XZV+0BeRFJqs*E*%8=^II*wQwr z>jt({t2F;N?o^t*xD$wr2j7ME)8R z$zP-6`%ORXUOxp$%>`d`FA&62hy?>x5Z-=y4T`&=AeQEt@9F`LXBkh2RF~9iqK$s@ zXUX}RzYPv7``jViy7R-WnhD&DFITH15K=dFDcC0%g$fo40gZ6#iKhr1)6S@XF^Z?3 zd;+awU0WlN`wYLi$uIuUn;AM!W+3yi_OMql$@CUmvQ?beQu}v%3GQy2yAYAIuJfoQ zb#Ao=9fJalXbK-k;F0lorJ>e{E6MW;TaD@4fDdE5p0K>qWBtOT{Mx_!LEisIzt3Rx z7^BH>rmbop+YP;kiTBh@d3s6=H;>hvMtY=-eWG&sSQas8^yS+=?xYcmNnXB zag<4=8I6T7sVUE$;y?e(@8#LgeIC-wAZUDW7#&NA#d2KnIJvP{ z@35{yRTpDf9PKfZ(UjZs+G4`3`8*xs5VtZ83E)E<;(DNsD$@Mo&;2JBdjp2+>kRTf zxvjbLF2nI-i(Fc}K%Os==LO*LZB&y*iA@&LbzJlY;d#$_HZS;?2YAoBo@6pHEcceF zG^~#<^1(m&UG9JAMVxr>+1SAnV^=XOOH9^dVP%C)R}<3WS8Lm;@zgAA;>27kFl3Cx zQ!K48Iwj;bLwtoY1@$D>1oXZ_d&gwB3E~i@5x&M~s;UN8cVv~OOJI}MN5_vJOBs;2 z!tfT*Xp{s{H5-@Cv2?_-^KCc$Ix2Q&kJCd+&aYV1FcPa??eKwc2mjRpb@qIjLjIGoE%U=u8R-G zc{lTVzHPl;kGd{7edcLSo_vy!$X|41%|h^z@D4)DhBnX&i^h@a!)mU1$*x9bS^x=Q zrq=J4@1_O6V@d*d(GZsoLFyU_F8!{_!0w1zYn2wFdpr1ca;obzrZos5E{vMslARW6 zT@u*4{ne)4vX7*?;9Zm|H#W)vAEb}P1+yin=-^RC;UzhHI!!WYRPdmoEX!D1x^`*g z+p$b8$g+1cnZO+bD92~X z*h+G>uTwmN^I#QZ;Sz(8lI=|*$UWo*401Sm?p^%hTj4!_2H35Rn}fGM$xQ=Z8K5Rp zV-~dMYu_;7(>`t$!k_N$Pu%M>)%jb1@FdirbD(}N4?jBO=YH-n&Ru|&BLgn((s1A2?;b}=~FoH&6c3A%A<>^tjuN_mW6q7dTVb+@<0=CeI6O$XF90R3(gt zkS#~a>-Lx(@)@pAX`-vZwW|5+!Zbak3H%vla*YZxB3Wq_!!<$-AkR=U_y5$B zPsH(6XLuLz-jj)N>OF6x^bUMYCSa2-QDtU^*zB&Cw-UfxSIqO{b(i>V?3^wEY|=Vb zsaU5v3poLpWKji8Pb`C8pQpxWS?u@8G>k`M`pW~x<(TE7zy;y-``(5Qaj|4(>aQQn zlGjSjlvoJjX0m!)#gZMy4YOrH*}I%y`%O^<@3C2*)76;F_ORA68IKt(_PH?Lpl3^h z_pA*)D@X3cAZ!lTSh0PcdiVdrW~QABRmTSN7>t^#pl`5c@`))URE<>veG?HO|6hT)*YFe}|Q&73vK~FEdyipYTba!1D5ds$ApTnRBcj zTj0pi6~?16U?D`J4^weHoz@`;d2V>qSG|Gnee(OM&IOb}5j=~&qUT3keD@!7`NMz4 z;OGhNeDJv(T|Gu-EgP3Fpl!~?CWFXmLQsh4DG?kLwHAWbRA`35v2^4p>!KK#96|-I zWU{_aUnwTRA+Bb)eu)(oVpg;@7~7}FbE>K$gn%*%G1I8hMh4ngxcB}OX_20xnoQj5 zb_I8bPDV*w_Xz!7PH;6r1w;!EJnIC1@9+J8`Qd;5L%iob?_<1KbM&rN&YV5X(()qZ z#wKrm^LO)&-|)@6=*1t?MvZHuQ-B{fQNneYuV9l(F zuw}tiSDZWjG^b9T#QBQ6A%6k1#JVj?;Z-y?wv1$2rCMqvnM~EnHV1WZ=YZd34G?9B zW4+yWp)t333~hTX-nqGJsE`md76k}eBjV^~Ig@IF$#b;VXdN?q1r>?SeIV@NtU7Ql z-fKVtw`~g{2IgC^!5%0JSXtHHbgN_E_7b9VVB24Huh%tL(9PKkjnnp8`CNtAheG1C z55C*^Cu0A5xZ1H^R0#%N`C53*pM#bDhoA=IpicfsyUj7$ECFceUum3^HrZ6kFROf% zNj~#r#vlAi&F}tCs0#=Si>$8?S?Cx0JddrpPN7X6HYmw3YDi%c`TMF>2oG=F&AcJd zeLdff)`shRH^g&92Auiu3jg{?A7jnIpbrupy?()@novz@78aHXKGw6|DWf9nnB5AQ z8ggU>KI`M*b+7v{I+4F7m6zxS!K!5B1s~h!L;PtX$h3)BnNCk_KpGOb zr@_V~hj?!~va3c=MolH6+pOqo=jYq+o~}jB-}#ac4f%Ue3F&KzCLAK9xx+WM^L6qU z`7QHPytak1h$w0w2n3Xp*hABo$D1P-76xc-C~F59*eoab2|Z)LSab+vCawpXHDzer z4wBXhTl!8Q7NwbM(>C|Gu}`N2@buorlbfDnDJ7yjwyL5!hhAd1w#MqxGWBo>XqFe3 zxV$+e8!V6&1?Bn$R*xQ`91ZccPeVYnzKO@&ud+`wjVc{)sMR(m?L$(63#}^Lc9@UJ z-&-oXZ7d`qs!|!BP{j@Y+O3apg&+#X}l7aj<0ZT?JT`av$V9tWOSLu zyufBTB0?>0rhGz7=24I&vYi%uEi`IeMhp;ZK5J>}jZdGe!;IiV9Aa-A62OPJP2suO z-PfzevDck!QW|QAnY;hzfBY_MXU|adEtyq}HZNhU=cO-sF{9xcnFc4(6~4K#iMB}w zq@B#Jud%3uAj-3{s`*Rb`i*?w|L@;WjxPhSTnwlt>l98C#twJU^WKw>L)NFivVvVX zioNqV&Sd17C0NVy;v#vTlVurBgqlDdG-Zg{S3%Vj%S+TgI$m6G5DeA$GFsQzTF`Dn zJ={QB!PPZh^>8`|+oKw7;6nw|TAP;rQ{Rz$V5h4p?4rS2U6TT>>O7;yaOO zyTB@8REata;owY%SVp!ZGZhQ^9#T5pZSgd_B&j-u*Q*N%Ste{pigs{^3P#XF+f{4V0kXLx+(O$P)$CWyVy7ym_Y?vbT znKWi~AB%YcrjZ%+z@X^OemGZe{qe^i=H$sIajs%{u}@Xi1l)AN)Y-Qe*>=QkYXSoS z6=k$lXv;@UkIT+#pv~9jLtUH9CAtf`?HzAkO&1<*jpF%d$xLOMY%4(@5UEj^7?_e4 z+0xdu+Ankpo{3H&5kb;*P$3}GV&MD2^&o+*K3Ep8QM PT6B#`?jCtc}A8Q$onWX zHiS8et2s%wIfs_fYD!w}aH($B@v(6VToHk$JSqqZODvTzBG;ae|0MYAPk$Ci^T*iO zghc}jeK>OgtVy?S?s7FRTgQ!xenWKRBXw%4S3nOgufy;EpPJu&3(&LFs>j;pP5R6I zouUA?fkzU{+}5~~R7j4BTy4@*@U>sj=hHs!evl7L8@oq;m|ml;=ep&@3!sAY53lf} zKXHnSm%!&arl+{HUSds@ftF#7^OH7Pf9HLg)>+kzOPZQYN(Kr(^;Pg?U-*2q{t#zR z3wZ&R3v73JR`TlQ8V zf49TD#OGdUGJkJwHka=>xNq&+!(H-MZe#MdL6iC0*de=R#BV2i-X(tzaiwU;U5UhR zUB$meP3P|$ae3zh#7KX)iC`2cOETi1r!E>LY- z>@~J^$lpdBrMO;Wl0@wwngnL9)PH?stjYpeDhs?x77(-u2Ls2yZy>tS6 zeJq`%BULFX+?3$9tFHOG3;EmlYHk(|Vsl+L-N=nZnJ@sJ`jAP%>=$wDuu_CDQL&HDOf7WxIaK)Ja_ zFB>4WkEPOrBtge0-ycM9c(k%86{WRLUJ6PqeyFZGf_dH1Pz&-R= zSEv!N7FBBq4n>LIILjR?CpdljB**g}s+!R654cnd`RWPAriZW3VN{A|R6Z^yI`{bn zAALVcM^eUnzr`>(NDbwtzV8-74L~%`H$+!=pGlrI8E~T0Vkb4S*UQtsC)6X4)&sPR zSRCZM>5XsX-us@-PyF~#u(7^LFCXBYTzaD_9sws*B zAz;&D#iup!WISPcd6}xNX3ptWcBXzLqLFcK7LPSG7CR%kIRE_ynr5M@+Q{XmpEb3~ zv^Izj1PK`3As17P;tU~^*+s_D#f2CtoEE;_EZkVa$}pacS-X6R3un*J%Pqa!LI`A9 z19^(%G?BFI!0qI)RDjW#w`eziS6*get5c_?4K)B25=~xs~A{;5D39Q z7&6ELANLCQqECMoRzHSvU~;G=CZDL}bKJ{rQUU53@@$$3-6WOR9z3=-;CJ3S;!oZI zlOn_EC6v-EE5JZ|OXPtm5uIeCg}qQ(k)v z)CXd>XudX20B=VK@8&P+`jo;dXP-LC_x*=Qc=9}uXNbyirDvhPhy;x*$JlIJy@MHu zHh9s55Exj&d%-A+uQwQ2__Wu+o8EXIWFLSkwn-F}VV$Dar>@+VUU9Rjm3jL;v{{J< zCCsL^#%P87yZgQQh;#2WYaxWFp3`^^6_EtKt>wA30b{e2cm>9qcD$`OUiQNYXy=5zLd;blYZOag#F(yEz_}R zx40~61J0%qyGjg3rsJJXW%rB`v@#f`i3bLukQ`UngrG3m;=RU8z-og@65C2^>be4Y z~SSxr}qt#Z~mn(%aX1eHCfjrL%iCo+E z{M#tLt~6URmIRZmH{X`daDP`1ny?IX4XoPvTmWRf9<6W1NQn7sH!tc8yDu8HERdB#Hza#v zm_!7n13tJYSrjA^-&e414yi_5q)trhKyT^~9~4TdmIQXVNXP{CO#-+3VCv9yjWpK* zYXa{F(ODeON@85E3Uo*LFyB|_>W7*(nONh|*p9QKJw`}%h-qZ#p1JYE&UpsCK9k`k z21N$$GAjdk<%{9VKkr4T@ZOn4KqF->YU)!&b|!*DfP4VM5>^NCc`0M}V6@)jciuYU zf4>99mBM5zI5Bu7`!4%h*Cor#%UnEnj^&jlsME-xJerE7tfHsj4POAC@G1@JDQ2Vt zrZF*7hv|0bGEWXS?^$3>Iw3fDYLy@OkwI`ZEYZlG-K`5*1bX>-3>w{ahm{v243wh*+2VxADvCw z$#2;@ChXL2Zf1twEschegP5Hf0@P)c7v8B$b?5yX1r<6( zti-nFMf_hvG>*1wmk^`qTpbraEi>2jlP<{>I)67v^35|g%=T-#>Hi_MQO9gu(~!0@ zd%a;w3VWAGYBxQXbUrEwK6s3_F;g#ucrIQgIq5PI_G1H?jeaeysNM8HH%nFFN}lie z@A*zm_``W&3Z)cx9>1H{y!sRPsONlC3J^CfX(yclPo?YE1o^rqqtzIKZ@xF%M-Dot z>?IAn-7)~S2B6OeE3{?2P-ttZT!}HUw3QDIWn(6@3OWV_8oh0Xd6VcfA4ut20(RB| zGC#NI111X12UJf9()nj`d#b$qj6`3uA&6j&B?RAQz&q#3^E?K6gg~BWcpq9{s@9sp zU_ftifnMGRpsE}Ti;GAQV!7lf0iN6F(|zc{2N{kg2Rh$*+}hUZAr5hUaYz6k;xp02702su3%1KRs zP;4^+UoSM77Ih?A)R^OU6ujxHzJSmAtWV{ae(68+)Duth_)}x_q@q_?T;)&=aVzDv zGAhJRS;{jc^r&6U`0_qW`aLAbZR>dXNJQv38Z9=~Mmhkr(crh2 zHcH<}M2N(CO-fUDqm{Q1p0hpJ4c9q;;R5GQonpK>WH9KZMNzYunO&&(X=rYIcTXvX zsNB%DsMDVP1oh0TCCulJWg@dfy52n#bUP!1VKHBxBoDi1`W zeE;*qwIG4J@WDe(B!Lf56L=@+F2Se*ia;I$&ICM~va5`>#kn#i{HBz$;Kx6(hDeNkyC;{5I|hmTeGSkLQwQpP9KhYrn~dQto*$qGOyK;*=kX8!*#{YGgX%5N zQ!z+mKXDn`*7_Cb+lZr#@S+naZPo1h5~v*VR& z#?qUgZ~jare-9#ieygD=OLE&lw)wjWeyZz8{)&%8;!bn@^*G=8eQuYj+>pOT7Bhb( zNj}eKpEcQcRm!GqIA4(z_@A=d=FhK71UJyGvu{gFvNdwlEgIriwIpo&zXY~eu#Mf~ zk~Fn*>0CnEN8B385W`k+vJJIp5*Ose>;zS_%SY>_mpK^ud{RP8fv4YZ? z^Ox6{oIB6JScd7xrmdMA4T{atkPOf|qjn=QlaXgRnTE-5gjLfzw@SqYR*)!%c+XvT z#S+Y+#uf#&-*=J09U&rUty_bp*Na)TwXe1q{UQOKhSlabyTKU6c(_54_we;5gO$4w z=Qw&K=b!w*5Aq{F{L{SkE&m%4MUiC~TX5>>lWc6P^Ur_ihk4T*zmog!zn5O#r>aYo zu`LOl=XtD2dJ8%v4zU$M!i*fW!;z82y0c1Ql-@m~MtR!0QUr_$le(gxg7Mxqjgr9z29VP=97^cH7`pSkCOC^3d;6t3;RQ?e$YlA}Ru z%`IG>@~WYNpacfJjB;|3#SA|F74YSs_Yn9;DGc}>`siF`g>4ZOlz{2MXaY+MkmWGi zgkSshll-5z!%z$+J3{3*n2c%`2P%zGdsFWsv2Nt@$`b4A>sXsc2dU7yqEPT9pOZ3w z`<-WhK7(b~gD{&FJfAU~L`v2-Ucx{4Cx6O@hYRaDOUD+#Os3=G6+lGrJ}@W@)%YBX z8NBXQ@E1P!fk^&#lYpA$DO$;YNm;eGBlhdsjSi%kAnuORf0Z7&A40 zVMbA8FU*p^w?F2|-&+wgHpxwXEV|_HGoj{hmmJ#8VLy*sX{{yfKdX3AV6FL4lTCUP zYOroWm;8lD{ML0Oe{IS%z1a#b4O!Ai!do3{VkkQ$K^1ZGo+o1~iJ8C6Z(H)0_+6u8 ztzFfveM!gX)C4&;ew^*r3QcfGBm10;J0De2Sl=&<^w$r8TZL6X1)T+4>b+T#F{-bAX*UNq-Xo$Kt5HvmC(Y|O(?dTf2{fcO2?WjS*u+silP9mm`q0GI!mQdXvY?>fHaVdc)Ass6?P{{T zhcy|_T|I%h6QW}$Noyz}gb6(xGb@50B1)6@9CzIfcisIUuX^?K$g@Q@E{}QY$&;LX z@(kzCU*gQ^^K5Qhrs(zASii)nQ)>)|kms>h*81fk`5+@J7Rkzz$;ERFiXs{cTE%*U zBCM^gv9Ne2lhK%rXb3K^tTGJ3AS;j{xXA=9DToyv4R=xCJ@?(W%<(%{5VeUCaJ9Rt zsOKiLErftE)5tavp{gp1qR(VJVPSERNgc^xLD0FS8jZ)*zM z&w8+RQq)z&^71n4>+57$HWMM|=MCmt$6xUg58cU5?A8P}V$eqKNVIjwFqIbML82tr z;=(c;moKrB33-;M%y|HV7SH?N`Nt@kH3O!(>j9He1j}m7cr@np$*1s%HM^u$S}=Dd zmzxOI__}e_H?Q}KW^Ty49k0<|1n~S@^9!7L0(g(b@cbgXdwe4SO~ABuc?=Q^Rx}!o zpfM75rMz$CRsp4Ks?pOpZsw0M-~J|}J6`*8c!|}e6)taFiopO)W@&#wRV%y;TrHP$L*3g= zU)#q)m9pe^fogP;qy50EUj|?Py1VGhqf{Ygk{P0ZZaeL>{YVRoPuT<(HYynSm-6es z@h<-49pEkax=6}~efqrxLMY;Rr5!@u21{)f2JkT}#0%7<%wH(%GWEt8dO3WJmo^`0UrfSAFqIA$wP3)|+8DwSOmn-+Ya?+X15dv@dT#N77xO zPVP8TZa1QX))}r;ToW*@b-EukH4q7M&91{4*c8nzY3-8JMwpay?y;ww^xUqGT;wF z4$aFyHv~r)2lY2xiMxB21U8)@0gaWA>NqmZEbRtB-K_C!p7;$OTs4(_)+Um_vK`@h zo!iyDCQZ%X=6$0gF|AcJj@kfP9SKvPB$s`FvYKZ8Hs_!_`|Ucu z6MWVFAL9KBqEJCy(SV?hZZk9w@T(M@u>1OJ9!e?dx~4EOX+pJ<-|=_8U0{T%J(bEn zHRn8=#4(?md$9hp*L>3wygQ70`Eken5|c+p)jzj{u%g{}Lfc9Kf6lOc!1Xtu4+4GGkCSYkfxJ@tDQIGI!i@2ff|^ zoW#n|BDhIK(6M54d_H4DY?c)VI>$pC;t<>8kN`f!A+8uZEI!16)SNx_bjon@1QE1$ z+;Qho%JC+PgMzZ!1m-5QAk?+LYNzympp;;3&Um~Ds-`!{@O7O&jSh6rglS}HiHIZ5 zJr6x}2hV@r{Wz!4x*&K@@P4{z7NM*&e(hKOkhlKNw{h|EI-+X&#*;~nDols?RyZHp zx*8$@hmeaPJ|N1G6$W2bF|##P8090$B7(+~*}#il{2~-JT1u1>YVR=W>W8?l0d9<8 zef=`M-U13suQe$;}Mhbh{2$ss>;2cMh;BMp;RGYltu@SuO}cGgI>W` zzUj-k_rAONcmM9k*%+Ur=o@M`A+s4LPd~*!|Do^W|M`}`!V6yb0>&Fd@;qa>xk;8? zyZXn6xH0G&^df?Ho}dECE3Ap~H~W^NLl}-m^ot%!hDco#>I!W@o1C7}eCM}*J)yJs zH%$fr(2QH9AET5e*A}G}Hq~IM$`X{HBMD=F_i8R;x%qrIN$X(tbb{{B)zfv_&K_^x z!C>}~xSU^znK?$xToV!D{XvPI%?`MNG67u@xR!eA&}iz4?$gQLe9ya78~Q3p;6~CH z;MAFuy!m_oUp6jm;yqZCgYx)>0Nz6S%msS2EB6=#wz9au>C>lJS{e|X(0WXiBG(3G z4HM^YnT*0~3RO{+>nslfFMA<;$>)6(ef1%H34;NQs$Dp^xyw8w)7^oDsCHO;u)VwZ z&%gREe*ceRUEtB!;*G|sfDIPJ#H-(tOgD2r!ddt@-5ePWsR>;meAewr`5!;OuQ+v80PP`JlcUzv%TPf2H z;<)rokfLkI-zIZozi1rd^BF0(0*q4a+_c|*)1FVlGeOq-dZHyfp8>MZ-9U($DP@no z(6SG=PtW!xN`K(fORtV8Z z%6rkAscNW_LX9%h^J+HI{zan6Y7FRV8el`{2)L<87T1lWGjnT$Fx{61tcpanG$#XF z=3_;?-p#SdL%N?6E=rBP!Oun`S8daraFER3?z8QJ zzoGeuMk&0Sj!jpZ$!mbfS&uDyBLw7031IUaA)AM}BY@n}Sr*%)0a1rRWyTc=OQg@8DWj@g0Z@dksz zGFhgXOvV5V78YU#!3cVbeJ%|zG7dF`w&cBNY}>_Uyw#Wh;sr?&fP^R^CL%HWKm-v_ zzu%{>D=If3>lz*2BM7~I#>ai!YcbTwHCo6vPDf)5-p6d|x~|bi(;pPP_uU`hcYpH_ zscOxM2Tt&s*S>~(?mfzM@e_&j-DO##)R86-ltxqI1eC9-fkVEE06XX zwM*g7NX*4dgIYnJWt8I~AA0}0FoXpMwz1)&tNcM?ZP>FI;W>IM57X}&@hFyIb2|{b?LN{aX%aZP-_-(zhKYlv)#vl8zy1N<{!Vacr0k(} zASe%1h{{m}P-XjDB%1~_&}1CX-vgfrV~w#xG0O#f%B$h4zkCI~@TV{WmVhQU(9mWi zXBpTW@{mWTyp2)zdqBP&oil}^YuhSiZ~zI`~OTJf7L!S^yXjRO5|_T--FsFdGA(6m;9~k znEe|h+6&vw^Edk3+RR>N$zN^Lg$|v?Pzqveh~TP*Nge-g$l9is@fN!zNj8T%*4C&- zEQgBYQsY$MiOj?r94vtzfbPfR>M$kBn^Hb1K))BSTU(oW)>qNOC(^wR5E}CLDlT$+ zKV@pO)ea^@f<%d2Ux(|uhEhtmnZMRV^*F8VuH^50d7SRtAT!cA*9Rd5l{Cs;8lBEV zw~7`Ah1M|xcsq4LFS11z_z;Jw#T?ebyLY`adY63u>^;26L!%`fzl1>_m1KaY%im>7G1{r4k7`a>TO97yoy9{lQ5X)8I`Zw3O?G?D%8ZugIe9CHW>REXyDe@kdFOB*4|N0kLTZ8o>4Bz?`l~a7_ zmwg_+-U5@+8bwjycPg?tgGd643TQN1YJ!h-jWG(-w=518`J_*KEqC5^H$V7KzmJRO zH|Z6NgjyIZ^;utE=huGq7g;CjYHfn2tMGHBa>`qT<{@~ z(JU4L0-~a{oAwnCzyH1b^3VJvz83kqcL*6Q3koO5%F&d4q zO408R+T$vt$#mZSZYlvSsZF!bpx$FV(>tal?iafgz`IEtZ->1in1gBvs)NZ<-fT2= zMCVE1D@7w$ZpEULb7kA(%52uB(~;QqfX*yEog-BYf{OD(l9Fr4uI~M6h~H@|;{4Fo z`BG#WTs6j6!@}wcT4e-XKxSj<00C<>kRi&&45ph!?Cc?ZzL%V55Q!OlRA@?i3SRq4 z_@d8w02`j5oItM^RTO(gQcv4qpGNlX&rT&p!{S-|@~?k@cfS{GZ<&pC%|foI>&es+ znF2vXxped@p+8 zWUM!w5i@^trZ*r}GzkHG4K6ut8{dlA7l;Hb?_fzZ*<9DNrckvO8x>fiymK9w+)ExG>u+wKseq_Nd8t5!G6rc7-fi2=EoEPg&N zVLXWv$=0SoMBO2_L&qj@;3wcqSU=C|#dD0#KFM+zV?vElo;!*RR~%(9xP$fH9cm z+EOi@Z1rBRhXkS5@3FkPLXj1%kJV;&b{uNP&g+P+#Uc-Jh>si`62ONz#5F{afH9h< z9)BdgV+cW^5bnDB2tlH3OlEu3A+*tU%_J1Gf)FTug>gA~J}cup?;_snXm1=B(U^>7 zVtks6T}uELiR`r~Ft#;lJ;^rjkiK1~yH+aJXz-p)8GK#08LqLSol5ILLuM>}qo^m2 zYyp(DOok&&(PR1EXR(>Rlb#!6wIZ)I7mZozX}_8*OHye}ng!%n-y=IN?E+97yyz9+66>e>T1kt2A}du_?j<&2seBb zSHnU-C1BV{-ZuN0@z=Nejw*qnIl=UImchm-sT}s;yt|v<`-8`L_xqz?GqW0#=TvHw zkU11N77aR}L`A7U0Znx3YGas8N(PGygmQ#7P3^i!3i`^?&m4F5;Y&UTKJnFePi3E* zw(aI4P;>v!X8;?f^>#f_^f>eA5q|jRPx167Ot5760zUn~lC}G2+;ua=d}sVpSR9Jr z1AQCo#w{)k*jT&Fz`$pJ0=)6d?ule}O(cC`T7!5S|6W@wbcdl}FL%lHcJIyi-)Z2& zY|G|rVaDHuR{4b{ldgT{LQ4ua-@D#qY*!ur`ff;u zm1?es2AzC34f%@(8zMpMb-E#0nk=jMTde?3ue`vC$Nr4|sV7;gCoBvgxDl$X5z*XH zS}^NmXP;!lE+CW3Jbw2>T(qm8a;SW4W2UjW#(AI4p|QFUj zR$QOxCeWrMQ5;gAYYmn*Bihi)M_b#8I zgn*FRsZj0T%_m*V&%Mo_CQEPPgPZ02;c*^O6eHo zCjl@RqsVj1XmgCU1!mitoE@WJZXsv2naL2?>cF1Oh)7Bew4y1a0uGOTEC;oXiG~MmwUK!$je{$F;vz1wOasoAR@7@F_GZQ zOwQeRJ&4I+6e3}rc}=K2k3IY(M~*!Yt#hhsL~j=v?|4VH!n97afU7oGSU$qqg(p~A zxs!5qfscB@1HAd4{s8~<%|F0<-~BK~8`jq=@@#>i6+it`Kf@D`Kg~CN(>G!Z%i6{B zEUhe}wV`q)MNu#ujbb$3GfejMnGO-5sw%Q9BN&MUqmD9%IFGAp27>|Kd*1%eckuiF z{lDR>F-9v~2!wh}@Huzgbr-G*WW{U^@|_6J#?j@~G>Brmzy{kcc&6>$?(-|fP7BVR zuvfb)N(WhQ3Gbp)%FhR0%w@|4Kr7E=;#fU;lrv{eapcGf&W)18$)KrO%q9#Jyx|Mr zHLp~_XBt8Ng2lV!43VeH?t{7e62P!1irx&PAqwUvKjEdO>g7$25q+gzfF4mi)cR zGH?y~+bYw1gi9ngwtq+gKQ|jYk-x3%^Fhep8M)6}+2v=_CaL!3jn7toCdr_;BtuCeIohB(E55dB5C>Fse3WVccIN7x;NY|@5 zN1vp&ozP}ntENp?dp$c@-3^*Zi!`_HM{@mY(8xaThy2|QGjqcYQYDF*%LZxcMN70z zRNLndK3@f`$np&B;&rL23h^P5+#kU<&LOT1lv3E_D-sdPNzKyID#wo=r6`JR{YO<< zkr(+434DnEKYRZjFG+UScjNC9s;bjXlXhokgEmULT4}Ybm9&Z|O9+ra2?-&C0fQf7 zgL#aNc?dQb0mfi527?WLyJD$phh zoP#XO=?(;)xJ`f1rPi3q{O;{Uat!{kQQtRGMBq#mlkq;(Dt4}5c5Z>|Z@7w&-gzI9ijion>2dq*pXA1yuO*5s zjYx;Z)MoqKXr3)h2=T<8UiSn#X@l$GWkS@9nMd(2{>4A#XMg5bIDTY_bdV#2#(0Uf zj*orh<1`y>-uUL%)1GOO=Q%}TXqDt|yVWAgvgt(YJcRe2qA1W_kf^YD_AUe{R#ul0 zMU#*I!$pl1osFFjK zPWj9z_ZQAPv^s5$9C@6JE;`8Zr4vL+gcTrsM3XN2TJTM8fZLu6bbL_CZg$H~Ce-=b z*N~>=rf2w?b1z47yz!v$L4NaXK1a^FnyXHyr}~ zxQ<#mXk{eIG31I{#J=z8`;XQXL%h+ z`4Rc+hgSQ$=lM8U^LIO_$X{2IJG<$4b|coS`Fp;iPX3;ZB73sl@43brC!g|lUnYv4 zeyH%gHhsXMl%^Rx&S-jY6A9$)@>KO|P3hKt&e9Z&fvl|g>lx>BH=C~uIBlb2b*`!; zlB#bg6>OAa9ju>mBXZa)0-;*3V<}7Ww+NG{`XvyQ^AZQ57`0zQyt2eo9(<7b!$+AB zJ))+?h@8P-C5Va^6>)=|5+2x zb5SaPg$xAnnA&~+&82=t*JiMzAHDeD2i~tps==7 zHcv_5DNY`fO8X>9*fT#*k|bgN;M|ZPu3)X5lE70;ah5P8fTx(^B%%CT`v?HMXL)Iv zU{!39UQt+Rx7rBjk=}1i{FQJ{Y-z{2CA`F&Cja}7|BQzoJj}J%Udu~fc?+#p6Kfz& z5?o$vy`PhY`PftnEr3go)7r0v0bkMtJfE#4>wfD$=*YRNOp!K*LhM}G82`1N1=Ek612+bQx4 zNrH-62odp-4}XNbSmm4E`F4^dA&z5gmXjn2S(YKE6Rh(V-g^pT@X`l6Mh7@cr!zx8 z%edqAPjLA0$2c%QgSQ38j~}Pqo+WNHxasDbneEJBoh!+fQI@7D|DRl_*9qV%#Il|M zXmZUsxz0Y-s?&CdlFF^V|5OOzk?rAyQ!g-5(Qw>36^qr11lCexL?{=qCA`8o&?-g> zg@_{tSswOR#ox-_S1AKKNt3y`1y)v!7lJ-VFqBo&0^WVKQJoN&fC8Y^3C@qYBtp?Vlun&nHM96m#|GfIP#`gnG^As^;(c zgvq3ZI{CX@a;W~k$@x!y1RIjrAXRdSHOo1D8S?wNYHSKXxdj^msE=)XBt?X1Z zaaxPo_f&I&tSCrxgSU=Ul#WNWIe+FogALnvYIgHu5Q4}vbbF}Πu-KA1FdjRvco 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%0Dn9VGq>|&K7Q3}i~ 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�*lpNm1f|iLbf+m3F0Dzc*6y0TOJfdLCJKqGq@G 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�cPG@b8Kh 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

    l+8Wfh*EVWNy??U&d?P}uni5^ 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 literal 0 HcmV?d00001 diff --git a/content/posts/memory_python/index.md b/content/posts/memory_python/index.md new file mode 100644 index 0000000..9833def --- /dev/null +++ b/content/posts/memory_python/index.md @@ -0,0 +1,204 @@ +--- +title: "Устройство памяти в Python" +date: 2024-07-16 +draft: false +description: "" +tags: ["python", "memory"] +series: ["Python"] +series_order: 1 +--- + +{{< lead >}} +Конспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python +{{< /lead >}} + +##

    Компьютерная память
    + +Как можем видеть из схемы ниже, память в компьюетере разделяется на **внутреннюю** и **внешнюю**: + +{{< mermaid >}} +graph LR; + A{"Компьютерная память"}-->B("Внутренняя память"); + A-->C("Внешние накопители"); + B-->D["Постоянная"] + B-->E["Оперативная"] + B-->F["Кэш-память"] + C-->G["Жёсткие диски"] + C-->H["Твердотельные накопители"] + C-->I["Оптические диски"] + C-->J["Флеш накопители"] +{{< /mermaid >}} + +Посмотрим подробнее на каждый тип памяти. + +--- +### Внутренняя память +Характерными особенностями внутренней памяти по сравнению с внешней являются высокое быстродействие и ограниченный объем. Физически внутренняя память компьютера представляет собой интегральные микросхемы, которые размещаются в специальных гнездах на материнской плате. Чем больше размер внутренней памяти, тем более сложную задачу и с большей скоростью может решить компьютер. + +Внутренняя память подразделяется на: +* постоянную память +* оперативную память +* кэш-память + +**Постоянная память** (ROM — read-only memory) — энергозависимая память, использующаяся для долговременного хранения неизменяемого массива данных. Содержание ПЗУ специальным образом закладываестя при его изготовлении для постоянного хранения. Из название как раз можно понять, что данная память предназначена только для чтения. + +**Оперативная память** (RAM — Random Access Memory) — в большинстве случаев энергозависимая память, хранящая выполняемый машинный код программ, входные, выходные и промежуточные данные, обрабатываемые процессором в текущем сеансе работы ПК. После выключения питания компьютера, полностью очищается. + +Микросхемы оперативной памяти монтируются на печатной плате. Каждая такая плата снабжена контактами, расположенными вдоль нижнего края. Для подключения к другим устройствам компьютера такая плата вставляется своими контактами в специальный разъем (слот) на материнской плате. Материнская плата имеет несколько разъемов для модулей оперативной памяти, суммарный объем которых может принимать ряд фиксированных значений, например 2, 4, 8, 16, 32 Гб и более. + +Оперативная память бывает нескольких типов: SDRAM, DDR, DDR2, DDR3, DDR4, DDR5. Каждый последующий тип памяти представляет собой улучшение предыдущего и позволяет новой памяти работать с большей скоростью. В данный момент в современных компьютерах используется оперативная память типа DDR4 и DDR5. + +**Кэш-память** (cache) — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Эта память испольлзуется при обмене данными между процессором и оперативной памятью. Алгоритм ее работы позволяет сократить частоту обращений процессора к оперативной памяти и, следовательно, повысить производительность компьютера. + +{{< mermaid >}} +graph LR; + A[Процессор] <==> B[Кэш-контроллер] <--> C[оперативная память]; + A <==> B; + B <--> D[Кэш-память]; + B <--> D; +{{< /mermaid >}} + +Современные процессоры оснащены кэшем, который состоит зачастую из трех уровней: L1 (первый уровень), L2 (второй уровень), L3 (третий уровень). + +* **L1** — наиболее быстрый уровень кэш-памяти, который работает напрямую с ядром процессора, в следствии чего обладает наименьшим временем доступа и работает на частотах, близких процессору. Размер данного кэша обычно не велик, а количество микросхем зачастую привязано к количеству ядер процессора, при этом у каждого ядра кэш свой собственный. Размер блока может варьироваться от 64-256 КБ у десктопов и ноутбуков до 1-2 МБ для серверных решений. + + Сам L1 тоже имеет свое разделение. Он делится на кэш команд и кэш данных: + + - Первый содержит информацию об операции, которой занимается ЦП, проще говоря, отвечает на вопрос: «Что надо сделать»; + + - Второй хранит в себе данные, над которыми должны производиться вычисления. + +* **L2** — второй уровень более масштабный, нежели первый, но в результате, обладает меньшими скоростными характеристиками. Также привязан к ядру и не взаимодействует с остальными. + +* **L3** — третий уровень. Он более медленный, нежели два предыдущих, но всё же гораздо быстрее, чем оперативная память. Этот блок уже доступен для всех ядер процессора. На третьем уровне временно хранятся данные, которые хоть и важны для продуктивной работы, но регистры обращаются за этой информацией относительно нечасто. + +{{< mermaid >}} +--- +config: + themeVariables: + primaryColor: "#00FFFF" + fontFamily: verdana + fontSize: 20px +--- +graph LR; + subgraph ; + A[[ALU]] <--> B[Registers]; + B <--> D(L1 Ins + cache); + B <---> E(L1 D + cache); + D <--> F([L2 cache]); + E <--> F; + F <--> C(L3 cache); + end; + C <--> G((ROM)); +{{< /mermaid >}} + +--- +### Внешняя память +Назначение внешней памяти компьютера заключается в долговременном хранении информации любого вида. Выключение питания компьютера не приводит к очистке внешней памяти и её объём в тысячи раз больше объёма внутренней памяти. Минус такой памяти в том, что обращение к ней требует гораздо большего времени. + +К устройствам внешней памяти относятся: +* Жёсткие магнитные диски (HDD — Hard Disk Drive) +* Твердотельные накопители (SSD — Solid State Drive) +* Оптические диски (CD-ROM, DVD-ROM, Blue-Ray и т.д.) +* Флеш-накопители +* Гибкие магнитные диски + +Наиболее распространенный вариант постоянной памяти — жесткие диски HDD. Они представляют собой один или несколько магнитных дисков, вращающихся с огромной скоростью (от 5 до 12 тысяч оборотов в минуту), и головок, предназначенных для считывания и записи информации. HDD являются надежными носителями информации, позволяют записывать и считывать информацию огромное количество раз. Неудобство в том, что они очень медленные и восприимчивы к ударам, падениям и прочим механическим воздействиям, особенно в момент работы. + +Почти у каждого уверенного пользователя ПК в наши дни скорее найдётся SSD, чем HDD. Их популярность неудивительна, ведь они имеют гораздо более высокую скорость записи и чтения и невосприимчивы к механическим воздействиям. Их можно было бы назвать идеальными накопителями, если бы не ощутимо конечное количество циклов чтения-записи. + +##
    Управление памятью в Python
    +Управление памятью — это процесс выделения, распределения и координации памяти таким образом, чтобы все программы работали правильно и могли оптимально получать доступ к различным системным ресурсам. Управление памятью также включает в себя и очистку памяти от объектов, которые больше не нужны. + +Существует два типа управления памятью: ручное и автоматическое. + +Ручное управление включает в себя, как правило, три этапа: +1. Запрос памяти у операционной системы +2. Работа с ней +3. Возвращение памяти обратно в операционную систему + +Ручной подход управления (как в C, C++, Pascal и т.д.) позволяет работать с памятью максимально эффективно. Программист точно знает, сколько памяти ему выделено, зачем он её использует, и т.д. Однако помимо преимуществ такой подход имеет и ряд недостатков. Ключевой из них — сложность. Управлять памятью вручную — сложно и тяжело, поскольку легко забыть вернуть память обратно операционной системе, в результате чего возникает утечка: программа держит неиспользуемую память просто так, не давая применять ее для решения других задач. + +Автоматическое управление памятью (как в Python, Java, JS, C#, Ruby и т.д.) берет на себя самый сложный этап — возвращение памяти обратно операционной системе, когда она уже не требуется. Восстановленная память может использоваться другими объектами. В определённых случаях это менее эффективно, но позволяет сильно сократить трудозатраты и повысить надежность процесса. + +Python — это язык с автоматическим управлением памятью. Причем для управления ею он использует несколько механизмов. При запуске Python программы создается новый процесс, в рамках которого операционная система выделяет пул ресурсов, включая виртуальное адресное пространство. В эту память загружается интерпретатор Python вместе со всеми необходимыми ему для работы данными, включая код написанной программы. + +Оставшаяся свободная виртуальная память может использоваться для хранения информации об объектах Python. Для управления этой памятью в CPython используется специальный механизм, который называется аллокатор. Он используется каждый раз, когда вам нужно создать новый объект. + +Обычно мы в своих программах не оперируем большими объектами. Большая часть наших данных — это числа, строки и т.д., они занимают не такой уж большой объем в расчёте на одно значение. Но зато мы создаем их достаточно часто. И это приводило бы к проблемам, если бы Python абсолютно все такие вызовы транслировал в операционную систему. Системный вызов на выделение памяти — штука трудозатратная, зачастую связанная с переходом в контекст ядра операционной системы. Поэтому одна из главных задач аллокатора Python — оптимизация количества системных вызовов. + +{{< alert "circle-info" >}} +Для больших объектов (больше 512 байт) Python выделяет память напрямую у ОС. Обычно таких объектов не очень много в рамках программы, и создаются они нечасто. Поэтому накладные расходы на создание таких объектов напрямую в RAM не так высоки. +{{< /alert >}} + +Аллокатор для малых объектов (не больше 512 байт) использует три уровня абстракции: +* Блок — кусок памяти, используемый для хранения одного объекта. +* Пул — страница памяти, содержащий блоки (обычно 4 килобайта). +* Арена — большой непрерывный кусок памяти, содержащий пулы (обычно 256 килобайт). + +![](arena_pool_block.png) + +####
    Блок
    +Блок — это кусок памяти, который может содержать только один Python объект фиксированного размера. Размер блока может варьироваться от 8 до 512 байт и должен быть кратен восьми. Все блоки в конкретном пуле имеют одинаковый размер и находятся в одном классе размера, который и определяет размер блока. + +|Запрос памяти в байтах|Размер блока в байтах|Индекс класса размера| +|:--:|:--:|:--:| +|1-8|8|0| +|9-16|16|1| +|17-24|24|2| +|25-32|32|3| +|33-40|40|4| +|41-48|48|5| +|...|...|...| +|505-512|512|63| + +Таким образом, если необходимы: +* 6 байт, то данные будут помещены в блок размером 8 байт; +* 42 байта, то данные будут помещены в блок размером 48 байт; +* и т.д. + +####
    Пул
    +Пулы состоят из блоков одного размера. Каждый пул работает по принципу двухсвязного списка с другими пулами того же размера, поэтому алгоритм может с легкостью найти необходимое место для требуемого размера блока даже среди множества пулов. Размер пула равен 4 килобайта. + +{{< alert "circle-info" >}} +Ограничение пула фиксированным размером блоков помогает с фрагментацией. Если объект уничтожается, аллокатор может заполнить это пространство новым объектом того же размера. +{{< /alert >}} + +Для эффективного управления пулами Python использует дополнительный список, который называется `usedpools`. Он хранит указатели на пулы, сгруппированные по классам. Как уже известно, все пулы с одинаковым размером блока связаны между собой с помощью двухсвязного списка. Чтобы перебрать их, нужно просто знать начало списка. Если пулов такого размера нет, то при первом запросе памяти будет создан новый. + +Пулы находятся в трех состояниях: +* Используемый (used) — частично заполненный, какие-то блоки заняты, какие-то свободны; +* Полный (full) — полностью заполненный, все блоки заняты; +* Пустой (empty) — все блоки свободны и доступны для записи (хранятся в списке пустых пулов `freepools`). + +Используемый пул содержит блоки, в которые можно записать какую-то информацию. Блоки полного пула все распределены и уже содержат данные. Пустые пулы не содержат данных и могут быть разбиты на какие угодны классы размера при необходимости. + +Допустим, нашему коду необходимо 8 байт. Если в списке используемых пулов нет пулов с классом размера в 8 байт, то новый пустой пул инициализируется, как хранящий блоки по 8 байт. Затем пустой пул добавляется в список используемых пулов и может быть использован при следующих запросах. + +Заполненный пул освобождает некоторые блоки, когда эта информация в них уже не нужна. Этот пул добавится в список используемых в соответствии со своим классом размера. + +{{< alert "circle-info" >}} +Пулы и блоки не выделяют память напрямую, вместо этого они используют уже выделенное пространство в аренах. +{{< /alert >}} + +####
    Арены
    +Арена – это кусок памяти размером в 256 килобайт, который обеспечивает память для 64 пулов. + +Арены, в отличие от пулов, не имеют явных разделений на состояния. Они сами по себе организованы в двухсвязный список `usable_arenas`, который отсортирован по количеству свободных пулов. Чем меньше свободных пулов, тем ближе арена к началу списка. + +![](arena.png) + +Поэтому наиболее полная арена будет выбрана для записи еще большего количества данных. Такое расположение арен позволяет снизить объем потребляемой программой памяти. Дело в том, что в некоторых случаях, когда память освобождается, она все еще остается недоступной операционной системе. Процесс Python держит ее распределенной и использует ее позже для новых данных. Полное освобождение памяти возвращает память в пользование операционной системе. + +Арены — единственные области, которые могут быть полностью освобождены. Таким образом мы понимаем, что те арены, которые находятся в списке ближе к пустому состоянию, должны быть освобождены. В таком случае, область памяти может быть действительно полностью освобождена, и соответственно общий объем памяти Python программы будет уменьшен. + +--- + +**Основной источник:** https://stepik.org/lesson/624148/step/10?unit=619836 + +Дополнительные источники: +* https://habr.com/ru/companies/domclick/articles/530804/ +* https://market.marvel.ru/blog/komplektuyushchie-i-optsii/kesh-pamyat-protsessora/ +* https://github.com/python/cpython/blob/7d6ddb96b34b94c1cbdf95baa94492c48426404e/Objects/obmalloc.c \ No newline at end of file diff --git a/content/posts/os_shutil_shelve/index.md b/content/posts/os_shutil_shelve/index.md index b3e26fa..cc9952d 100644 --- a/content/posts/os_shutil_shelve/index.md +++ b/content/posts/os_shutil_shelve/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "modules", "os", "shutil", "shelve"] series: ["Python"] -series_order: 12 +series_order: 13 --- {{< lead >}} diff --git a/content/posts/random_string/index.md b/content/posts/random_string/index.md index 5632378..843e75a 100644 --- a/content/posts/random_string/index.md +++ b/content/posts/random_string/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "string", "random", "modules"] series: ["Python"] -series_order: 2 +series_order: 3 --- ## **Модуль random** diff --git a/content/posts/stdin_stdout/index.md b/content/posts/stdin_stdout/index.md index 46515d5..ea61734 100644 --- a/content/posts/stdin_stdout/index.md +++ b/content/posts/stdin_stdout/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python"] series: ["Python"] -series_order: 9 +series_order: 10 --- {{< lead >}} diff --git a/content/posts/turtle/index.md b/content/posts/turtle/index.md index 5932378..0f2d324 100644 --- a/content/posts/turtle/index.md +++ b/content/posts/turtle/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "modules", "turtle"] series: ["Python"] -series_order: 4 +series_order: 5 --- {{< lead >}} diff --git a/content/posts/work_with_files/index.md b/content/posts/work_with_files/index.md index 1a411e4..0823d85 100644 --- a/content/posts/work_with_files/index.md +++ b/content/posts/work_with_files/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "files"] series: ["Python"] -series_order: 6 +series_order: 7 --- {{< lead >}} diff --git a/content/posts/zip_pkl/index.md b/content/posts/zip_pkl/index.md index 82e1147..1be2011 100644 --- a/content/posts/zip_pkl/index.md +++ b/content/posts/zip_pkl/index.md @@ -5,7 +5,7 @@ draft: false description: "" tags: ["python", "files", "modules"] series: ["Python"] -series_order: 11 +series_order: 12 --- {{< lead >}} diff --git a/docs/404.html b/docs/404.html index 1f42f3a..36cf29e 100644 --- a/docs/404.html +++ b/docs/404.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -193,6 +204,18 @@ + + @@ -233,6 +256,18 @@ + + @@ -452,6 +487,58 @@

    Страница не найдена: + diff --git a/docs/about/index.html b/docs/about/index.html index 9019420..2e1cc24 100644 --- a/docs/about/index.html +++ b/docs/about/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -222,6 +233,18 @@ + + @@ -262,6 +285,18 @@ + + @@ -681,6 +716,58 @@

    + diff --git a/docs/authors/index.html b/docs/authors/index.html index 3c113fb..5c3c837 100644 --- a/docs/authors/index.html +++ b/docs/authors/index.html @@ -37,6 +37,17 @@ + + + + + + + + + + @@ -222,6 +233,18 @@ + + @@ -262,6 +285,18 @@ + + @@ -719,6 +754,58 @@

    + diff --git a/docs/categories/index.html b/docs/categories/index.html index 87e20dc..2c3d13e 100644 --- a/docs/categories/index.html +++ b/docs/categories/index.html @@ -39,6 +39,17 @@ + + + + + + + + + + @@ -195,6 +206,18 @@ + + @@ -235,6 +258,18 @@ + + @@ -504,6 +539,58 @@

    Cate + diff --git a/docs/index.html b/docs/index.html index e4372c7..dc6417f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -42,6 +42,17 @@ + + + + + + + + + + @@ -214,6 +225,18 @@ + + @@ -254,6 +277,18 @@ + + @@ -502,11 +537,11 @@

    Недавние

    -
    +
    -
    +
    @@ -514,7 +549,7 @@

    Недавние

    Марк Лутц "Изучаем Python"
    + href="/HFK_website/posts/memory_python/">Устройство памяти в Python
    @@ -557,7 +592,7 @@

    Недавние

    - ·827 слов·4 минут + ·1796 слов·9 минут @@ -587,6 +622,14 @@

    Недавние

    + + + + Memory + + + + @@ -611,11 +654,11 @@

    Недавние

    -
    +
    -
    +
    @@ -623,7 +666,7 @@

    Недавние

    Углубление в логические операторы в Python
    + href="/HFK_website/posts/mark_lutz/">Марк Лутц "Изучаем Python"
    @@ -666,7 +709,7 @@

    Недавние

    - ·938 слов·5 минут + ·837 слов·4 минут @@ -720,11 +763,11 @@

    Недавние

    -
    +
    -
    +
    @@ -732,7 +775,7 @@

    Недавние

    Модули os, shutil и shelve
    + href="/HFK_website/posts/deep_bool_oper_python/">Углубление в логические операторы в Python
    @@ -775,7 +818,7 @@

    Недавние

    - ·1581 слово·8 минут + ·942 слов·5 минут @@ -805,38 +848,6 @@

    Недавние

    - - - - Modules - - - - - - - - Os - - - - - - - - Shutil - - - - - - - - Shelve - - - - @@ -861,11 +872,11 @@

    Недавние

    -
    +
    -
    +
    @@ -873,7 +884,7 @@

    Недавние

    Работа с zip и pkl файлами в Python
    + href="/HFK_website/posts/os_shutil_shelve/">Модули os, shutil и shelve
    @@ -916,7 +927,7 @@

    Недавние

    - ·1486 слов·7 минут + ·1581 слово·8 минут @@ -946,18 +957,34 @@

    Недавние

    - + - Files + Modules - + - Modules + Os + + + + + + + + Shutil + + + + + + + + Shelve @@ -986,11 +1013,11 @@

    Недавние

    -
    +
    -
    +
    @@ -998,7 +1025,7 @@

    Недавние

    Работа с csv и json файлами в Python
    + href="/HFK_website/posts/zip_pkl/">Работа с zip и pkl файлами в Python
    @@ -1041,7 +1068,7 @@

    Недавние

    - ·2388 слов·12 минут + ·1486 слов·7 минут @@ -1111,11 +1138,11 @@

    Недавние

    -
    +
    -
    +
    @@ -1123,7 +1150,7 @@

    Недавние

    Потоковый ввод и вывод
    + href="/HFK_website/posts/csv_json/">Работа с csv и json файлами в Python
    @@ -1166,7 +1193,7 @@

    Недавние

    - ·268 слов·2 минут + ·2388 слов·12 минут @@ -1196,6 +1223,22 @@

    Недавние

    + + + + Files + + + + + + + + Modules + + + + @@ -1220,11 +1263,11 @@

    Недавние

    -
    +
    -
    +
    @@ -1232,7 +1275,7 @@

    Недавние

    Работа с датой и временем. Часть 2
    + href="/HFK_website/posts/stdin_stdout/">Потоковый ввод и вывод
    @@ -1275,7 +1318,7 @@

    Недавние

    - ·3145 слов·15 минут + ·268 слов·2 минут @@ -1305,38 +1348,6 @@

    Недавние

    - - - - Time - - - - - - - - Calendar - - - - - - - - Modules - - - - - - - - Datatypes - - - - @@ -1361,11 +1372,11 @@

    Недавние

    -
    +
    -
    +
    @@ -1373,7 +1384,7 @@

    Недавние

    Работа с датой и временем. Часть 1
    + href="/HFK_website/posts/date_and_time_2/">Работа с датой и временем. Часть 2
    @@ -1416,7 +1427,7 @@

    Недавние

    - ·3118 слов·15 минут + ·3145 слов·15 минут @@ -1446,18 +1457,18 @@

    Недавние

    - + - Datetime + Time - + - Date + Calendar @@ -1502,11 +1513,11 @@

    Недавние

    -
    +
    -
    +
    @@ -1514,7 +1525,7 @@

    Недавние

    Парадигмы программирования
    + href="/HFK_website/posts/date_and_time_1/">Работа с датой и временем. Часть 1
    @@ -1557,7 +1568,7 @@

    Недавние

    - ·740 слов·4 минут + ·3118 слов·15 минут @@ -1579,10 +1590,42 @@

    Недавние

    - + + + + Python + + + + + + + + Datetime + + + + + + + + Date + + + + + + + + Modules + + + + + - Paradigms + Datatypes @@ -1713,6 +1756,58 @@

    Недавние

    +
    diff --git a/docs/index.json b/docs/index.json index 3320c48..dfe8c1c 100644 --- a/docs/index.json +++ b/docs/index.json @@ -1,2 +1,2 @@ -[{"content":"print(\u0026#34;Hello, World!\u0026#34;) ","date":"15 июля 2024","externalUrl":null,"permalink":"/HFK_website/","section":"🎉","summary":"print(\u0026#34;Hello, World!","title":"🎉","type":"page"},{"content":"","date":"15 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/python/","section":"Tags","summary":"","title":"Python","type":"tags"},{"content":"","date":"15 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"\rДелюсь своими скромными познаниями\rЗдесь находятся мои конспекты о языке Python, программировании в целом и о других интересующих меня вещах. Материалы расположены в порядке убывания по дате, поэтому ранние конспекты находятся внизу.\nСтруктуризация и мыслеизложение могут показаться неправильными, так как конспекты были написаны в первую очередь для личного пользования.\n","date":"15 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/","section":"Конспекты","summary":"Делюсь своими скромными познаниями\rЗдесь находятся мои конспекты о языке Python, программировании в целом и о других интересующих меня вещах.","title":"Конспекты","type":"posts"},{"content":"\rВ этом конспекте в первую очередь представлены ответы на вопросы по книге, а также новые для меня вещи, которые я вынес после прочтения каждой главы. Какие-то главы опускаются (например, первая), если из них не извлечено ничего до момента прочтения мне неизвестного.\nКонспект будет пополняться по ходу прочтения книги\nОбщие вопросы, которые возникали по ходу прочтения, и на которые я находил ответы на просторах интернета:\nJIT-компилятор (just in time) — компилятор, выполняющий команды по ходу исполнения самой программы, в отличии от AOT-компилятора (ahead-of-time), который компилирует программу перед её непосредственным исполнением.\nPython REPL (read-evaluate-print loop) — интерактивный режим, в котором интерпретатор считывает команды построчно и сразу же выполняет их (выводя результат на экран, если нужно)\nРазличия IDLE и IDE: IDE (integrated development environment — интегрированная среда разработки) — программа, в которой разработчики пишут, тестируют и запускают код. Например VS Code. IDLE (Integrated Development and Learning Environment) — стандартная среда разработки Python. Обычно поставляется вместе с самим ЯП. Низкая функциональность, по сравнению с тем же VS Code.\nФайл с расширением .pyw — тот же самый .py, но при выполнении *.pyw терминал/консоль не открывается. При этом, файлы с расширением .pyw выполняются программой pythonw.exe, в то время как файлы с расширением .py выполняются python.exe.\nЕсть очередной способ форматирования строки, где вместо %s подставляется строковый объект из скобок. По функционалу один в один format(), полагаю.\nЧасть 1. Начало работы #\rГлава 2. Как Python выполняет программы #\rИнтерпретатор Python — программа, выполняющая написанные программы на Python\nИсходный код — последовательность операторов, записанная в текстовом файле с расширением .py\nБайт-код — форма кода, полученная путём компиляции исходного кода для последующей интерпретации. Не пересоздаётся, если программа была запущена повторно без изменения исходного кода и если версии Python при создании и запуске совпадают. Хранится в файле расширений .pyc.\nPVM — Python virtual machine (виртуальная машина Python). Нужна для интерпретации (исполнения) скомпилированного байт-кода.\nCPython, Jython, IronPython, PyPy, Stackless и т.д.\nCPython — стандартная реализация. Jython — реализация Python для интеграции с Java, а IronPython для интеграции с .NET.\nStackless — реализация Python, направленная на обеспечение параллелизма, PyPy — реализация Python, направленная на обеспечение высокой скорости выполнения. PyPy также является преемником Psyco, включает в себя концепции JIT-компилятора и поддержку Stackless.\nГлава 3. Как пользователь выполняет программы #\rЧто нового #\rУзнал больше про IDLE, научился им пользоваться; Узнал как использовать интерактивный интерпретатор. Ответы на вопросы #\rСеанс интерактивного интерпретатора можно запустить следующими способами:\nВ командной строке (Windows), терминале (Unix) путём введения команды python (или py) Найти значок запуска \u0026ldquo;Python \u0026lt;v\u0026gt;\u0026rdquo; в меню пуск Запуск среды IDLE В командной строке (Windows) или терминале (Unix).\nМодули можно запускать следующими способами:\nС помощью командной строки: python \u0026lt;filename.py\u0026gt; Щёлкнуть на значок файла Импортирования и перезагрузки: from importlib import reload import Studying reload(Studying) # Вывод:\rHello World!\rHello World! Использовать встроенную функцию exec(): exec(open(\u0026quot;Studying.py\u0026quot;).read()) С помощью IDE При открытии файла .py щелчком, после завершения программы окно моментально закрывается, из-за чего становится проблематичным рассмотреть вывод и сообщения об ошибках.\nПо умолчанию Python импортирует модуль единожды за сеанс (так как операция импорта довольно затратна), поэтому если исходный код был изменён и требуется выполнить новую версию, не перезапуская Python, на помощь приходит перезагрузка модуля командой reload().\nЧтобы запустить модуль в IDLE, нужно, для начала, находиться непосредственно в текстовом редакторе IDLE с открытым файлом модуля, там нажать Run Module.\nIDLE виснет и не сильно надёжный.\nПространство имён — пакет переменных (имён). Каждый файл модуля автоматически является пространством имён, то есть пакетом переменных, которые отражают присваивания, сделанные на верхнем уровне файла.\nЧасть 2. Типы и операции #\rГлава 4. Введение в типы объектов Python #\rЧто нового #\rUnicode — это стандарт, который определяет уникальные числовые коды (code points) для каждого символа в различных письменных системах мира; UTF-8 (Unicode Transformation Format) — кодировка, представляющая эти числовые коды в последовательности байтов.\nСуществует стиль форматирования строк, в котором используются %. Пользоваться им нет смысла, так как существуют более свежие и быстрые альтернативы (f-string), но полезно для общего развития. Пример:\nname = \u0026#34;Ivan\u0026#34; print(\u0026#39;%s, my friend %s\u0026#39; % (\u0026#39;Hello\u0026#39;, name)) # Вывод: Hello, my friend Ivan Забывшееся: в один принт можно читабельно (без прописывания литералов) уместить многострочный текст, обрамляя его тремя парами кавычек: print(\u0026#34;\u0026#34;\u0026#34;Hello and welcome to the Los Pollos Hermanos family. My name is Gustavo, but you can call me Gus.\u0026#34;\u0026#34;\u0026#34;) Существует тип данных bytes — байтовый объект (строка байтов). Как и str, является неизменяемым. Также есть изменяемый эквивалент — массив байтов bytearray. Ответы на вопросы #\rОсновными типами данных в Python являются None, булевские значения, числа (целые, с плавающей точкой и комплексные), строки (текстовые и байтовые), списки, кортежи, множества, словари и файлы.\n\u0026ldquo;Основными\u0026rdquo; они называются, так как для их использования не нужно импортировать модули, да и просто их используют чаще всего.\nВ Python есть три основных неизменяемых (то есть без возможности модификации после создания) типа данных: числа, строки, кортежи.\n\u0026ldquo;Последовательность\u0026rdquo; — позиционно упорядоченная коллекция объектов. Ими являются строки, списки и кортежи.\n\u0026ldquo;Отображение\u0026rdquo; — объект, состоящий из пар \u0026ldquo;ключ-значение\u0026rdquo;. В Python им является словарь.\nПолиморфизм в Python представляет из себя разное поведение одного и того же метода/оператора в разных классах.\n","date":"15 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/mark_lutz/","section":"Конспекты","summary":"В этом конспекте в первую очередь представлены ответы на вопросы по книге, а также новые для меня вещи, которые я вынес после прочтения каждой главы.","title":"Марк Лутц \"Изучаем Python\"","type":"posts"},{"content":"\rКонспект посвящён скрытым особенностям и неочевидным деталям логических операторов в Python\rTruthy и falsy объекты #\rFalsy — объекты, которые могут быть оценены как значение False. К ним относятся следующие объекты:\nЗначение False Значение None Числовые нули: 0, 0.0, 0j, Decimal(0), Fraction(0, 1) Пустые последовательности и коллекции: b'', bytearray(b''), '', [], (), {}, set(), range(0) Truthy — объекты, которые могут быть оценены как значение True. К ним относятся все объекты, не относящиеся к falsy.\nЧтобы представить такие объекты в булевом виде, можно использовать функцию bool().\nОператоры and и or #\rОператоры and и or не приводят свои результаты принудительно к значениям True или False, а возвращают один из своих операндов. Такой подход позволяет использовать эти операторы в более общих операциях, а не только в булевых.\nДля начала посмотрим на оператор or:\nprint(None or 0) print(0 or 5) print(\u0026#39;beegeek\u0026#39; or None) print([1, 2, 3] or [6, 9]) print(1 or \u0026#39;beegeek\u0026#39; or None) print(0.0 or \u0026#39;habr\u0026#39; or {\u0026#39;one\u0026#39;: 1}) print(0 or \u0026#39;\u0026#39; or [6, 9]) print(0 or \u0026#39;\u0026#39; or []) print(0 or \u0026#39;\u0026#39; or [] or {}) # Вывод:\r0\r5\rbeegeek\r[1, 2, 3]\r1\rhabr\r[6, 9]\r[]\r{} Как можно видеть, оператор or оценивает каждый свой операнд как truthy или falsy объект, однако возвращает не значение True или False, а сам объект по определенному правилу — первый truthy объект либо последний объект, если truthy объекты в логическом выражении не найдены.\nПодобным образом с помощью or можно определять значение по умолчанию, к примеру:\ngreet = input(\u0026#34;Ваше имя \u0026gt;\u0026gt; \u0026#34;) or \u0026#34;noname\u0026#34; print(f\u0026#34;Привет, {greet}!\u0026#34;) Если пользователь ничего не передаст в функцию input(), в переменную greet попадёт строка \u0026quot;noname\u0026quot;.\nПерейдём к оператору and:\nprint(None and 10) print(5 and 0.0) print(\u0026#39;beegeek\u0026#39; and {}) print([1, 2, 3] and [6, 9]) print(1 and \u0026#39;beegeek\u0026#39; and None) print(\u0026#39;habr\u0026#39; and 0 and {\u0026#39;one\u0026#39;: 1}) print(10 and [6, 9] and []) # Вывод:\rNone\r0.0\r{}\r[6, 9]\rNone\r0\r[] Оператор and возвращает первый falsy объект либо последний объект, если falsy объекты в логическом выражении не найдены.\nShort-circuit evaluation #\rОператоры and и or укорачивают вычисление своих операндов (т.е. используют замыкания): правый операнд вычисляется лишь в том случае, если его значение необходимо для получения истинного значения в операциях and или or. Другими словами, замыкания в логических операциях используются для запуска второй части или последующих частей логического выражения только в том случае, если это актуально!\nЕсли левый операнд оператора or является truthy объектом, то общим результатом логического выражения является True, независимо от значения правого операнда. Если левый операнд оператора and является falsy объектом, то общим результатом логического выражения является False, независимо от значения правого операнда. Данный механизм называется вычислением по короткой схеме (short-circuit evaluation) и используется интерпретатором для оптимизации вычислений. Рассмотрим пример:\ndef f(): print(\u0026#39;bee\u0026#39;) return 3 if True or f(): print(\u0026#39;geek\u0026#39;) # Вывод: geek Левым операндом оператора or является truthy объект, значит, для вычисления общего результата логического выражения нет необходимости вычислять правый операнд, то есть вызывать функцию f(). Поскольку вызова функции не происходит, в выводе отсутствует строка bee.\nИ наоборот, если заменить or на and, в выводе будут обе строки.\nПриоритет логических операторов #\rПриоритет указан от наивысшего к наименьшему:\nnot and or По отношению к другим операторам Python (за исключением оператора присваивания =) логические операторы имеют самый низкий приоритет.\na = 5 b = 7 print(not a == b) # True В этом коде сначала сравниваются значения переменных, затем применяется оператор not.\nСтоит упомянуть, что подобная запись будет вызывать исключение SyntaxError:\na = 5 b = 7 print(a == not b) Рассмотрим ещё один пример:\nprint(not 1 == 2 or 3 == 3 and 5 == 6) # Вывод: True Согласно приоритету операторов в первую очередь вычисляются выражения 1 == 2, 3 == 3 и 5 == 6, в результате чего исходное выражение принимает вид not False or True and False. Далее выполняется оператор not, возвращая значение True, после него — оператор and, возвращая значение False. Выражение принимает вид True or False. Последним выполняется оператор or, возвращая общий результат выражения — значение True !(считаю это неточным утверждением, ведь оператор or может сразу завершать работу после вычисления not 1 == 2, что подтвердилось в ходе проверки)!.\nЦепочки сравнений #\rКак известно, сравнивать объекты в Python можно в укороченной форме, например вместо a \u0026lt; b and b \u0026lt; c писать a \u0026lt; b \u0026lt; c\nПоскольку оператор and реализует вычисление по короткой схеме, все сравнения, которые располагаются правее сравнения, вернувшего ложный результат, не выполняются, и их операнды не вычисляются:\ndef f(): print(\u0026#39;bee\u0026#39;) return 3 if 5 \u0026lt; 1 \u0026lt; f(): print(\u0026#39;geek\u0026#39;) else: print(\u0026#39;beegeek\u0026#39;) # Вывод: beegeek Пояснение: выражение 5 \u0026lt; 1 \u0026lt; f() эквивалентно выражению 5 \u0026lt; 1 and 1 \u0026lt; f(). Сравнение 5 \u0026lt; 1 возвращает False. В результате сравнение 1 \u0026lt; f() не выполняется, и функция f() не вызывается.\nТем не менее между сокращенным и расширенным вариантами записи цепочек сравнений существует важное отличие. В сокращенном выражении значение, стоящее по середине (между операторами сравнения), будет вычислено один раз (если его вообще нужно вычислять), а в развёрнутом выражении — два раза:\ndef f(): print(\u0026#39;bee\u0026#39;) return 3 if 1 \u0026lt; f() \u0026lt; 5: print(\u0026#39;geek\u0026#39;) print() if 1 \u0026lt; f() and f() \u0026lt; 5: print(\u0026#39;geek\u0026#39;) # Вывод:\rbee\rgeek\rbee\rbee\rgeek Помимо операторов сравнения, в цепочку операторов могут объединяться и другие операторы Python.\nlst = [1, 2, 3] num = 2 print(num in lst == True) # Вывод: False Данное выражение на самом деле эквивалентно выражению num in lst and lst == True, которое, в свою очередь, эквивалентно выражению True and False. Следовательно, результатом данной цепочки операторов является значение False.\nРассмотрим ещё один пример:\na = 5 b = 5 c = 10 print(a \u0026lt; c is True) print(a == b in [True]) # Вывод:\rFalse\rFalse ","date":"14 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/deep_bool_oper_python/","section":"Конспекты","summary":"Конспект посвящён скрытым особенностям и неочевидным деталям логических операторов в Python\rTruthy и falsy объекты #\rFalsy — объекты, которые могут быть оценены как значение False.","title":"Углубление в логические операторы в Python","type":"posts"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/modules/","section":"Tags","summary":"","title":"Modules","type":"tags"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/os/","section":"Tags","summary":"","title":"Os","type":"tags"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/series/python/","section":"Series","summary":"","title":"Python","type":"series"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/shelve/","section":"Tags","summary":"","title":"Shelve","type":"tags"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/shutil/","section":"Tags","summary":"","title":"Shutil","type":"tags"},{"content":"\rКонспект посвящён модулям os и shutil, которые могут быть полезны для работы с операционной системой, управлением каталогами и файлами, а также модулю shelve, позволяющему сериализовывать объекты Python\rМодуль os #\rДля использования: import os\nМодуль os позволяет взаимодействовать с операционной системой. Например, мы можем перемещаться по папкам, получить информацию о файле, посмотреть и изменить переменные среды (окружения), переместить файлы и так далее. Посмотрим на некоторые функции и объекты, которые мы можем использовать.\nos.getcwd() возвращает рабочий каталог (тот, в котором пользователь сейчас находится).\nos.chdir(path) перемещает пользователя в директорию, которая была передана в функцию.\nos.listdir(path) возвращает случайно упорядоченный список файлов и каталогов, которые находятся в текущем каталоге (если ничего не было передано), либо список объектов в директории по переданному пути.\nos.scandir(path) возвращает итератор объектов os.DirEntry, представленные в виде записей каталога path.\nos.DirEntry — класс, объекты которого являются файлами или каталогами. Рассмотрим некоторые атрибуты и методы.\nobj.name — имя файла/каталога; obj.path — путь к файлу/каталогу, который будет начинаться с папки, переданной в пути os.scandir() первой; obj.is_dir() возвращает True, если obj является папкой, иначе — False; obj.is_file() возвращает True, если obj является файлом, иначе — False; obj.stat() возвращает объект os.stat_result (см. ниже) для obj, как если бы была вызвана os.stat(path) (см. ниже), где obj является конечным в path. os.mkdir(path) создаёт одну(!) папку, путь которой был передан в функцию.\nПри попытке создать папку, которая уже присутствует в текущем каталоге, возвращает ошибку (исключение) FileExistsError, а если путь не найден, ошибку (исключение) FileNotFoundError. В дальнейшем упоминания об этих ошибках будут зачастую опускаться, где это совсем очевидно\ros.makedirs(path, exist_ok=False) рекурсивно создаёт папки, путь которых был передан в качестве аргумента, то есть в отличии от mkdir(), функция makedirs() создаёт все папки промежуточного уровня, которые должны содержать конечный каталог. Параметр exist_ok имеет значение False по умолчанию, при котором в случае наличия одноимённой папки в рабочей директории функция вернёт ошибку FileExistsError, но если задать exist_ok=True, функция проигнорирует создание папки и не вернёт ошибку.\nos.rm_dir(path) удаляет папку по переданному пути, если она пуста. В ином случае вернёт ошибку, зависящую от ОС , внутри которой ведётся работа (OSError).\nos.removedirs(path) рекурсивно удаляет каталоги, начиная с последнего указанного в пути. Если какая-то из папок в пути окажется непустой, вызывает ошибку OSError, которая игнорируется.\nos.remove(path) удаляет файл в пути path. Если передана папка, или файл не существует, возвращает соответствующие ошибки.\nos.rename(src, dst) переименовывает файл или пустую папку с src на dst (могут быть представлены как пути), причём если указать файлу другой путь, он будет перемещён в него.\nos.replace(src, dst) по функционалу аналогичен os.rename(), но для поддержки кросс-платформенности рекомендуется использовать именно os.replace().\nos.chown(path, uid, gid) меняет идентификатор владельца объекта по пути path на числовые uid, gid. Чтобы изменить владельца по имени пользователя/группы, обратитесь к функции shutil.chown() модуля shutil\nos.stat(path) возвращает объект stat_result, который содержит разного рода информацию о файле или папке. Рассмотрим атрибуты этого объекта:\nst_mode: Режим файла: тип файла и биты режима файла (разрешения). st_ino: Зависит от платформы, но если значение не равно нулю, однозначно идентифицирует файл по заданному значению st_dev. inode номер для Unix; индекс файла для Windows. st_dev: Идентификатор устройства, в котором находится файл. st_nlink: Количество жёстких ссылок. st_uid: Идентификатор пользователя владельца файла. st_gid: Идентификатор группы пользователей владельцев файла. st_size: Размер файла в байтах, если это обычный файл или символьная ссылка. Размер символьной ссылки - это длина пути, который она содержит, без завершающего нулевого байта. st_atime: Время последнего доступа в секундах. st_mtime: Время последней модификации содержимого в секундах. st_ctime: Время последнего изменения метаданных в секундах. st_birthtime: Время создания файла. Атрибут доступен не всегда и может вызвать ошибку (исключение) AttributeError. и другие. os.walk(top, topdown=True, onerror=False) генерирует дерево каталогов, начиная с top (либо с конца до top, если topdown=False). Для каждого каталога в дереве возвращает кортеж (dirpath, dirnames, filenames), где dirpath — путь к каталогу, dirnames — список имён подкаталогов в dirpath и filenames — список имён файлов в dirpath.\nimport os for dirpath, dirnames, filenames in os.walk(\u0026#34;Test_walk\u0026#34;): print(\u0026#34;Current path:\u0026#34;, dirpath) print(\u0026#34;Directories:\u0026#34;, dirnames) print(\u0026#34;Files:\u0026#34;, filenames) print() # Вывод:\rCurrent path: Test_walk\rDirectories: [\u0026#39;P\u0026#39;, \u0026#39;R\u0026#39;]\rFiles: [\u0026#39;Risunok.bmp\u0026#39;]\rCurrent path: Test_walk\\P\rDirectories: []\rFiles: [\u0026#39;kek.txt\u0026#39;, \u0026#39;L.txt\u0026#39;]\rCurrent path: Test_walk\\R\rDirectories: []\rFiles: [] os.system(command) выполняет переданную команду command, будто она написана в терминале. Таким образом можно создавать файлы папки, перемещаться по каталогам и т.д. Если команда сгенерирует какой-либо вывод, он будет перенаправлен в поток вывода интерпретатора. В Windows возвращаемое значение равно значению, возвращаемому системной оболочкой после выполнения команды (задаётся переменной среды COMSPEC: обычно cmd.exe)\nos.environ — объект, подобный словарю (mapping object), содержащий переменные среды окружения системы.\nos.sep — разделитель пути в операционной системе. '/' для POSIX и '\\\\' для Windows\nПодмодуль os.path #\ros.path.split(path) разбивает переданный путь на парный кортеж (head, tail), где tail — последний компонент пути (всегда без косой черты), а head — всё остальное. При этом: если path завершился косой чертой, tail будет пуст; если в path нет ни одной косой черты, head будет пуст; если path пуст, оба элемента кортежа будут пустыми.\nos.path.splitext(path) разбивает переданный путь на парный кортеж (root, ext), где root + ext = path и ext — расширение файла с точкой, а root — всё остальное.\nos.path.dirname(path) возвращает первый элемент кортежа от функции os.path.split(), то есть путь до конечного файла/каталога не включая.\nos.path.basename(path) возвращает второй элемент кортежа от функции os.path.split(), то есть имя конечного файла/каталога.\nos.path.join(path, *paths) объединяет один или несколько сегментов пути. Возвращает строку, состоящую из объединения path и всех элементов *paths, которые разделяются os.sep, кроме последнего (если тот не пуст).\nimport os.path os.path.join(\u0026#39;home\u0026#39;, \u0026#39;User\u0026#39;, \u0026#39;Desktop\u0026#39;, \u0026#39;file.txt\u0026#39;) # \u0026#39;home/User/Desktop/file.txt\u0026#39; os.path.join(\u0026#39;/home\u0026#39;, \u0026#39;User/Desktop\u0026#39;, \u0026#39;file.txt\u0026#39;) # \u0026#39;/home/User/Desktop/file.txt\u0026#39; os.path.join(\u0026#39;/home\u0026#39;, \u0026#39;/User/Desktop\u0026#39;, \u0026#39;file.txt\u0026#39;) # \u0026#39;/User/Desktop/file.txt\u0026#39; os.path.join(\u0026#39;User/Desktop\u0026#39;, \u0026#39;/home\u0026#39;, \u0026#39;file.txt\u0026#39;) # \u0026#39;/home/file.txt\u0026#39; os.path.exists(path) возвращает True, если path ссылается на существующий путь, иначе — False.\nos.path.isabs(path) возвращает True, если путь является абсолютным, иначе — False. В случае отсутствия пути возвращает исключение OSError.\nos.path.isdir(path) возвращает True, если путь существует и является каталогом, иначе — False.\nos.path.isfile(path) возвращает True, если путь существует и является файлом, иначе — False.\nos.path.abspath(path) возвращает абсолютный путь.\nМодуль shutil #\rМодуль shutil предлагает ряд высокоуровневых операций с файлами и коллекциями файлов. Например функции, которые поддерживают копирование и удаление файлов. Разберём основные возможности этого модуля.\nДаже функции копирования файлов более высокого уровня (shutil.copy(), shutil.copy2()) не могут скопировать все метаданные файла. Например в Windows, владельцы файлов, списки контроля доступа и альтернативные потоки данных не копируются.\rshutil.copy(src, dst) копирует файла src в файл или директорию dst, при этом оба аргумента передаются как пути.\nshutil.copy2(src, dst) идентична функции copy(), за исключением того, что функция copy2() также пытается сохранить метаданные файла.\nshutil.copyfileobj(fsrc, fdst) копирует содержимое файла src — fsrc (получается, например, при открытии файла с помощью open()) в объект файла fdst.\nshutil.ignore_patterns(*patterns) создаёт функцию, которая может быть использована в качестве аргумента для параметра ignore функции shutil.copytree() (см. ниже). В результате файлы и каталоги, подходящие под (хотя бы) один из переданных шаблонов будут игнорироваться при копировании.\nshutil.copytree(src, dst, dirs_exist_ok=False, ignore=None) рекурсивно копирует дерево каталогов из папки src в папку dst и возвращает dst. Если установить dirs_exist_ok=True, исключение вызвано НЕ БУДЕТ, если целевой каталог с именем dst уже существует.\nЕсли задано значение ignore, то это должен быть вызываемый объект, который получит в качестве своих аргументов текущий каталог, посещаемый функцией copytree(), и список его содержимого, возвращаемый функцией os.listdir(), например функция, возвращаемая shutil.ignore_patterns() или самописная функция.\nshutil.rmtree(path) удаляет дерево каталогов по переданному пути.\nshutil.copymode(src, dst) копирует права доступа с файла по пути src в файл dst.\nshutil.copystat(src, dst) копирует время последнего доступа, время последнего изменения и флаги(чтение, запись и т.д.) из src в dst.\nshutil.move(src, dst, copy_function=copy2) рекурсивно перемещает файл или директорию src в директорию dst и возвращает dst. Если место назначения dst находится в текущей файловой системе, тогда неявно используется функция os.rename(). В противном случае src копируется в dst с помощью функции, переданной в аргумент copy_function, а затем удаляется.\nshutil.which(path) возвращает абсолютный путь к исполняемому файлу, путь которых прописан в PATH (переменные среды)\nshutil.disk_usage(path) возвращает статистику использования диска по указанному пути в виде именованного кортежа с атрибутами total — общий объём диска, used — используемый объём и free — свободное пространство в байтах.\nshutil.chown(path, user=None, group=None) меняет владельца объекта по пути path на user и group. user может быть системным именем пользователя или uid; то же самое относится и к group. Требуется как минимум один аргумент.\nshutil.make_archive(name, format, root_dir) создаёт архивный файл папки/файла root_dir с именем name (может быть указан как путь) в формате format и возвращает name.\nshutil.unpack_archive(filename, extract_dir) распаковывает архив с именем filename в папку extract_dir.\nshutil.get_archive_formats() возвращает список всех поддерживаемых форматов архивов.\nМодуль shelve #\rМодуль shelve сохраняет произвольные объекты Python в файл с определенным ключом (типа str), т.е. такие объекты, которые может обработать модуль pickle (большинство экземпляров классов, рекурсивных типов данных и объектов, содержащих множество общих подобъектов). Затем по этому ключу может извлечь ранее сохраненный объект из файла. В отличии от pickle, shelve более удобен, когда требуется сериализовать множество объектов.\nФункция shelve.open() #\rshelve.open(filename, flag='c') возвращает объект key-value хранилища, похожий на словарь (объект называется shelf). В filename передаётся имя открываемого/создаваемого файла, flag принимает одно из следующих значений:\n'c' — файл открывается для чтения и записи. Если файл отсутствует, он создаётся; 'r' — файл открывается для чтения; 'w' — файл открывается для записи; 'n' — файл открывается для для записи. Если файл отсутствует, он создаётся. Если существует, перезаписывается. Объекты shelf поддерживают большинство методов и операций, поддерживаемых словарями (за исключением копирования, конструкторов и операторов | и |=). Запись/чтение данных shelf также происходит подобно записи/чтению данных словаря. Посмотрим пример:\nimport shelve with shelve.open(\u0026#39;test\u0026#39;) as db: db[\u0026#39;func\u0026#39;] = func db[\u0026#39;not_string\u0026#39;] = {\u0026#34;this_is_not_string_LOL\u0026#34;: 80085} print(db[\u0026#39;not_string\u0026#39;]) # Вывод: {\u0026#39;this_is_not_string_LOL\u0026#39;: 80085} Программа создаёт три файла разных расширений: dat, bak, dir, в которых содержится одна и та же сериализованная протоколом pickle информация.\nНе стоит открывать незнакомые pkl файлы и файлы, которые создаются shelve, поскольку они могут содержать самовыполняющийся код\r","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/os_shutil_shelve/","section":"Конспекты","summary":"Конспект посвящён модулям os и shutil, которые могут быть полезны для работы с операционной системой, управлением каталогами и файлами, а также модулю shelve, позволяющему сериализовывать объекты Python\rМодуль os #\rДля использования: import os","title":"Модули os, shutil и shelve","type":"posts"},{"content":"","date":"11 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/files/","section":"Tags","summary":"","title":"Files","type":"tags"},{"content":"\rУправление файлами формата zip, pkl в языке программирования Python\rФормат zip #\rzip — это формат сжатия без потерь: после распаковки данные будут такими же, как перед сжатием. Алгоритм ищет избыточности в исходных данных и эффективнее представляет информацию.\nФормат zip обладает следующими преимуществами:\nявляется полностью открытым является одним из самых популярных (большинство архивов в Internet – это архивы zip) является очень быстрым Формат сжатия без потерь отличается от сжатия с потерями, который используется в таких форматах, как JPEG и MP3: при сжатии выбрасывается часть информации, которая менее заметна для человеческого глаза или уха.\rСначала разберёмся, как считать степень сжатия файла — коэффициент K, определяемый как отношение объема сжатого файла к объему исходного файла, выраженным в процентах: $$ K = \\frac{V_{c}} {V_{o}} * 100\\% $$\nСтепень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Наиболее хорошо сжимаются файлы графических образов, текстовые файлы и файлы данных, для которых степень сжатия может достигать 5–40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей — 60–90%. Почти не сжимаются архивные файлы.\nМодуль zipfile #\rВ этом конспекте будет рассмотрен объекты ZipFile и ZipInfo, однако модуль zipfile содержит и другие классы. Для использования: from zipfile import ZipFile\nМетоды ZipFile #\rprintdir() — выводит таблицу с информацией о содержимом архива: полные названия файлов с указанием даты изменения и размера в байтах. from zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: zip_file.printdir() # Вывод:\rFile Name Modified Size\rtest/ 2021-11-27 12:47:10 0\rtest/Картинки/ 2021-11-27 12:49:02 0\rtest/Картинки/1.jpg 2021-09-02 12:30:20 90156\rtest/Картинки/avatar.png 2021-08-20 09:38:44 19053\rtest/Картинки/certificate.png 2021-10-23 09:46:36 43699\rtest/Картинки/py.png 2021-07-28 17:55:56 33522\rtest/Картинки/World_Time_Zones_Map.png 2021-11-08 07:30:06 2324421\rtest/Картинки/Снимок экрана.png 2021-10-01 20:47:02 10878\rtest/Неравенства.djvu 2021-08-19 08:39:06 5283010\rtest/Программы/ 2021-11-27 12:48:20 0\rtest/Программы/image_util.py 2021-11-18 12:42:22 4955\rtest/Программы/sort.py 2021-11-14 19:31:02 61\rtest/Разные файлы/ 2021-11-27 12:48:10 0\rtest/Разные файлы/astros.json 2021-11-08 09:29:58 505 При создании объекта ZipFile мы также можем передать необязательный аргумент mode, который задает режим работы (по аналогии с обычными файлами): r — чтение, w — запись в новый файл, a — запись в конец существующего файла\rinfolist() — позволяет получить информацию о файлах из архива в виде списка объектов ZipInfo, которые содержат дополнительную информацию о каждом файле: file_size, compress_size, filename, date_time и другие. from zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: info = zip_file.infolist() print(info[6].file_size) # размер начального файла в байтах print(info[6].compress_size) # размер сжатого файла в байтах print(info[6].filename) # имя файла print(info[6].date_time) # дата изменения файла # Вывод:\r2324421\r2322032\rtest/Картинки/World_Time_Zones_Map.png\r(2021, 11, 8, 7, 30, 6) Метод is_dir() объекта ZipInfo нужен, чтобы проверить, является ли этот объект файлом (возвращает False) или папкой (True).\nnamelist() — возвращает список названий файлов и директорий, содержащихся в архиве. from zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: info = zip_file.namelist() print(*info, sep=\u0026#39;\\n\u0026#39;) # Вывод:\rtest/\rtest/Картинки/\rtest/Картинки/1.jpg\rtest/Картинки/avatar.png\rtest/Картинки/certificate.png\rtest/Картинки/py.png\rtest/Картинки/World_Time_Zones_Map.png\rtest/Картинки/Снимок экрана.png\rtest/Неравенства.djvu\rtest/Программы/\rtest/Программы/image_util.py\rtest/Программы/sort.py\rtest/Разные файлы/\rtest/Разные файлы/astros.json getinfo() — в отличие от метода infolist(), который позволяет получить информацию о всех файлах из архива в виде списка специальных объектов (тип ZipInfo), метод getinfo() позволяет получить информацию о конкретном файле по его имени в архиве. from zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: info = zip_file.namelist() # получаем названия всех файлов архива last_file = zip_file.getinfo(info[-4]) # получаем информацию об отдельном файле print(last_file.file_size) print(last_file.compress_size) print(last_file.filename) print(last_file.date_time) 4955\r1641\rtest/Программы/image_util.py\r(2021, 11, 18, 12, 42, 22) При создании объекта ZipFile мы также можем передать еще два необязательных аргумента:\ncompression, который определяет метод сжатия, который должен использоваться при записи в архив. Он принимает одно из значений: ZIP_STORED, ZIP_DEFLATED, ZIP_BZIP2, ZIP_LZMA. По умолчанию используется значение compression=ZIP_STORED allowZip64, который позволяет разрешить использование расширений zip64, которые дают возможность создавать архивы размером больше 4 гигабайт. По умолчанию равен allowZip64=True Для того чтобы проверить является ли некоторый файл zip архивом, используется функция zipfile.is_zipfile(), которая принимает на вход путь к файлу (или сам файловый объект) и возвращает значение True, если указанный файл является zip архивом, или False в противном случае.\nРаботы с конкретными файлами архива #\rОткроем отдельный файла из архива:\nfrom zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: with zip_file.open(\u0026#39;test/Разные файлы/astros.json\u0026#39;) as file: print(file.read()) # Вывод:\rb\u0026#39;{\u0026#34;number\u0026#34;: 10, \u0026#34;people\u0026#34;: [{\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Mark Vande Hei\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Pyotr Dubrov\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Thomas Pesquet\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Megan McArthur\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Shane Kimbrough\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Akihiko Hoshide\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Anton Shkaplerov\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Zhai Zhigang\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Wang Yaping\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Ye Guangfu\u0026#34;}], \u0026#34;message\u0026#34;: \u0026#34;success\u0026#34;}\u0026#39; Метод ZipFile.open() открывает файл в бинарном виде, поэтому перед выводом стоит символ b, а значит перед нами бинарная строка. Чтобы преобразовать байты в строку, воспользуемся методом decode() с указанием кодировки ('utf-8'):\nfrom zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: with zip_file.open(\u0026#39;test/Разные файлы/astros.json\u0026#39;) as file: print(file.read().decode(\u0026#39;utf-8\u0026#39;)) # Вывод:\r{\u0026#34;number\u0026#34;: 10, \u0026#34;people\u0026#34;: [{\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Mark Vande Hei\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Pyotr Dubrov\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Thomas Pesquet\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Megan McArthur\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Shane Kimbrough\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Akihiko Hoshide\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Anton Shkaplerov\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Zhai Zhigang\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Wang Yaping\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Ye Guangfu\u0026#34;}], \u0026#34;message\u0026#34;: \u0026#34;success\u0026#34;} Запись в архив #\rЧтобы записать файл в архив, нужно как минимум открыть его для записи (mode='w' — для записи с удалением уже имеющегося содержимого; или mode='a' — для записи в конец, сохраняя содержимое). Далее, используем метод write():\nfrom zipfile import ZipFile with ZipFile(\u0026#39;archive.zip\u0026#39;, mode=\u0026#39;w\u0026#39;) as zip_file: zip_file.write(\u0026#39;program.py\u0026#39;) zip_file.write(\u0026#39;lse.jpeg\u0026#39;) print(zip_file.namelist()) Если файлы для записи в архив не будут найдены, то возникнет ошибка (исключение) FileNotFoundError\rМетод write() может принимать еще один строковый аргумент, задающий новое имя файла в архиве.\nИзвлечение содержимого #\rЕсли требуется извлечь отдельные файлы, то используется метод extract(), он принимает два аргумента: название файла и путь, по которому требуется извлечь файл. Если путь не указывать, то файл будет извлечен в папку, где находится файл с программой.\nСледующий код извлекает файлы из архива test.zip\nfrom zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: zip_file.extract(\u0026#39;test/Картинки/avatar.png\u0026#39;) zip_file.extract(\u0026#39;test/Программы/image_util.py\u0026#39;) zip_file.extract(\u0026#39;lse.jpeg\u0026#39;) Если требуется извлечь все содержимое архива, то используется метод extractall(), он принимает в качестве аргумента путь, по которому требуется извлечь все файлы. Если путь не указывать, то файл будет извлечен в папку, где находится файл с программой.\nСериализация и десериализация #\rПреобразование переменных программы (Python-объектов) в формат для хранения называется «сериализацией», а обратное преобразование — «десериализацией».\nСериализация объектов часто используется для:\nсохранения состояния программы (то есть некоторых её объектов) между запусками передачи данных между различными программами (например, по сети) Главная идея состоит в том, что сериализованный формат — набор байт или строка, которую можно легко сохранить на диск или передать другой программе, в отличие от самого объекта. А значит, задача сохранения объекта/группы объектов при этом сводится к простой задаче сохранения набора байт или строки.\nМодуль pickle #\rПомимо сериализации в формат json мы также можем использовать бинарную сериализацию, то есть сериализацию в байты. Для этого в Python используется модуль pickle. Интерфейс взаимодействия с модулем pickle абсолютно такой же, как и для модуля json. Мы будем использовать четыре основных функции: dump(), dumps(), load(), loads().\nМодуль pickle сериализует и десериализует данные быстрее чем модуль json.\rМодуль pickle может сериализовывать:\nВсе встроенные типы данных (bool, int, float, complex, str, None); Списки, кортежи, словари и множества, содержащие любую комбинацию встроенных типов данных (но не генераторы); Списки, кортежи, словари и множества, содержащие любую комбинацию списков, кортежей, словарей и множеств; Функции (но не lambda-функции), классы и экземпляры классов. Разберём функции модуля:\nФункция dump() модуля pickle принимает сериализуемый Python объект, сериализует его в бинарный, Python-зависимый формат, используя протокол pickle, и сохраняет его в открытый для записи бинарный файл. Следующий код создает файл file.pkl, содержащий бинарное представление объекта obj:\nimport pickle obj = {\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002} with open(\u0026#39;file.pkl\u0026#39;, \u0026#39;wb\u0026#39;) as file: pickle.dump(obj, file) Функция dumps() выполняет такую же сериализацию, как и функция dump(). Но вместо того чтобы сохранять сериализованные данные в открытый для записи бинарный файл, она просто возвращает эти сериализованные данные. import pickle obj = {\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002} binary_obj = pickle.dumps(obj) print(binary_obj) print(type(binary_obj)) # Вывод:\rb\u0026#39;\\x80\\x03}q\\x00(X\\x06\\x00\\x00\\x00Pythonq\\x01M\\xc7\\x07X\\x04\\x00\\x00\\x00Javaq\\x02M\\xcb\\x07X\\x02\\x00\\x00\\x00C#q\\x03M\\xd2\\x07u.\u0026#39;\r\u0026lt;class \u0026#39;bytes\u0026#39;\u0026gt; Поскольку протокол pickle использует бинарный формат данных, функция dumps() возвращает объект типа bytes.\nТип данных bytes — это неизменяемые последовательности отдельных байтов. Синтаксис для байтовых литералов в основном такой же, как и для строковых литералов, за исключением того, что добавляется префикс b.\rФункция load() принимает файловый объект, читает из него сериализованные данные, десериализует их в Python-объект и возвращает полученный Python-объект. import pickle with open(\u0026#39;file.pkl\u0026#39;, \u0026#39;rb\u0026#39;) as file: # используется файл полученный на предыдущем шаге obj = pickle.load(file) print(obj) print(type(obj)) # Вывод:\r{\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002}\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt; Функция loads() выполняет такую же десериализацию, как и функция load(). Но вместо того чтобы принимать файловый объект, она принимает объект типа bytes, содержащий сериализованные данные. import pickle obj = {\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002} binary_obj = pickle.dumps(obj) new_obj = pickle.loads(binary_obj) print(new_obj) print(obj == new_obj) print(obj is new_obj) # проверка на идентичность # Вывод:\r{\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002}\rTrue\rFalse Интересно то, что объекты obj и new_obj имеют одинаковое содержимое, но по сути не идентичны.\nПротокол pickle зависит от Python и не совместим с другими языками программирования. Если необходима совместимость с другими языками программирования, то следует использовать JSON сериализацию.\r","date":"11 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/zip_pkl/","section":"Конспекты","summary":"Управление файлами формата zip, pkl в языке программирования Python\rФормат zip #\rzip — это формат сжатия без потерь: после распаковки данные будут такими же, как перед сжатием.","title":"Работа с zip и pkl файлами в Python","type":"posts"},{"content":"\rУправление текстовыми файлами формата csv, tsv, dtv, json в языке программирования Python\rФормат CSV #\rCSV (от англ. Comma-Separated Values — значения, разделённые запятыми) — текстовый формат, предназначенный для представления табличных данных. Строка таблицы соответствует строке текста, которая содержит одно или несколько полей, разделенных запятыми.\nК примеру, следующая таблица:\nRank Language Share 1 Python 31.17% 2 Java 17.75% 3 JavaScript 8% 4 C# 7.05% 5 PHP 6.09% в формате csv будет выглядеть следующим образом:\nRank,Language,Share\r1,Python,31.17%\r2,Java,17.75%\r3,JavaScript,8%\r4,C#,7.05%\r5,PHP,6.09% Подобные файлы можно обрабатывать вручную подобно txt — считывать, разделять на строки и отдельные элементы по разделителям с помощью split(), но в Python есть отдельный модуль для работы с файлами формата dsv.\ndsv (англ. delimiter separated values — «значения, разграниченные разделителем») общий формат для форм csv, tsv (англ. tab separated values — «значения, разделенные табуляцией») и других.\rМодуль csv #\rДля использования: import csv\nВ данном модуле есть два основных объекта: reader и writer, созданные, чтобы читать и создавать csv файлы соответственно.\nЧтение через reader #\rРассмотрим файл products.csv, содержащий информацию о товарах интернет магазина:\nkeywords,price,product_name\rСадовый стул,1699,ВЭДДО\rСадовый стул,2999,ЭПЛАРО\rСадовый табурет,1699,ЭПЛАРО\rСадовый стол,1999,ТЭРНО\rСкладной стол,7499,ЭПЛАРО\rНастил,1299,РУННЕН\rСтеллаж,1299,ХИЛЛИС\rКружка,39,СТЕЛЬНА\rМолочник,299,ВАРДАГЕН\rТермос для еды,699,ЭФТЕРФРОГАД\rСитечко,59,ИДЕАЛИСК\rЧайник заварочный,499,РИКЛИГ\rКофе-пресс,699,УПХЕТТА\rЧашка с блюдцем,249,ИКЕА\rКружка,249,ЭМНТ\rСитечко,199,САККУННИГ\rКружка,199,ФИНСТИЛТ\rТарелка,269,ЭВЕРЕНС Код ниже читает содержимое файла и выводит его построчно:\nimport csv with open(\u0026#39;products.csv\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: rows = csv.reader(file) # создаём reader объект for row in rows: print(row) # Вывод:\r[\u0026#39;keywords\u0026#39;, \u0026#39;price\u0026#39;, \u0026#39;product_name\u0026#39;]\r[\u0026#39;Садовый стул\u0026#39;, \u0026#39;1699\u0026#39;, \u0026#39;ВЭДДО\u0026#39;]\r[\u0026#39;Садовый стул\u0026#39;, \u0026#39;2999\u0026#39;, \u0026#39;ЭПЛАРО\u0026#39;]\r[\u0026#39;Садовый табурет\u0026#39;, \u0026#39;1699\u0026#39;, \u0026#39;ЭПЛАРО\u0026#39;]\r[\u0026#39;Садовый стол\u0026#39;, \u0026#39;1999\u0026#39;, \u0026#39;ТЭРНО\u0026#39;]\r[\u0026#39;Складной стол\u0026#39;, \u0026#39;7499\u0026#39;, \u0026#39;ЭПЛАРО\u0026#39;]\r[\u0026#39;Настил\u0026#39;, \u0026#39;1299\u0026#39;, \u0026#39;РУННЕН\u0026#39;]\r[\u0026#39;Стеллаж\u0026#39;, \u0026#39;1299\u0026#39;, \u0026#39;ХИЛЛИС\u0026#39;]\r[\u0026#39;Кружка\u0026#39;, \u0026#39;39\u0026#39;, \u0026#39;СТЕЛЬНА\u0026#39;]\r[\u0026#39;Молочник\u0026#39;, \u0026#39;299\u0026#39;, \u0026#39;ВАРДАГЕН\u0026#39;]\r[\u0026#39;Термос для еды\u0026#39;, \u0026#39;699\u0026#39;, \u0026#39;ЭФТЕРФРОГАД\u0026#39;]\r[\u0026#39;Ситечко\u0026#39;, \u0026#39;59\u0026#39;, \u0026#39;ИДЕАЛИСК\u0026#39;]\r[\u0026#39;Чайник заварочный\u0026#39;, \u0026#39;499\u0026#39;, \u0026#39;РИКЛИГ\u0026#39;]\r[\u0026#39;Кофе-пресс\u0026#39;, \u0026#39;699\u0026#39;, \u0026#39;УПХЕТТА\u0026#39;]\r[\u0026#39;Чашка с блюдцем\u0026#39;, \u0026#39;249\u0026#39;, \u0026#39;ИКЕА\u0026#39;]\r[\u0026#39;Кружка\u0026#39;, \u0026#39;249\u0026#39;, \u0026#39;ЭМНТ\u0026#39;]\r[\u0026#39;Ситечко\u0026#39;, \u0026#39;199\u0026#39;, \u0026#39;САККУННИГ\u0026#39;]\r[\u0026#39;Кружка\u0026#39;, \u0026#39;199\u0026#39;, \u0026#39;ФИНСТИЛТ\u0026#39;]\r[\u0026#39;Тарелка\u0026#39;, \u0026#39;269\u0026#39;, \u0026#39;ЭВЕРЕНС\u0026#39;] Объект reader дает доступ к построчному итератору, полностью аналогичному работе с файлом или списком.\nПосле выполнения строки rows = csv.reader(file) в переменную rows будет записан итератор, с помощью которого можно «пробежаться» циклом по файлу. В каждой итерации цикла при этом будет доступна соответствующая строка файла, уже разбитая по запятым и представляющая собой список. При этом автоматически будут учтены все нюансы с запятыми внутри кавычек и самими кавычками.\nПри создании reader объекта можно указать:\nаргумент delimiter — односимвольная строка, используемая для разделения полей, по умолчанию имеет значение ',' аргумент quotechar — односимвольная строка, используемая для кавычек в полях, содержащих специальные символы, по умолчанию имеет значение '\u0026quot;'. Чтение через DictReader #\rВ модуле csv есть специальный объект DictReader, который поддерживает создание объекта-словаря на основе названий столбцов. С помощью DictReader объекта можно обращаться к полям не по индексу, а по названию, что делает код более понятным.\nНемного поменяем содержимое файла products.csv. Теперь разделителем будет точка с запятой, также заключим текст с запятыми в кавычки во избежание ошибок при разделении строки на элементы:\nkeywords;price;product_name\r\u0026#34;Садовый стул, стул для дачи\u0026#34;;1699;ВЭДДО\rСадовый стул;2999;ЭПЛАРО\rСадовый табурет;1699;ЭПЛАРО\rСадовый стол;1999;ТЭРНО\r\u0026#34;Складной стол, обеденный стол\u0026#34;;7499;ЭПЛАРО\rНастил;1299;РУННЕН\rСтеллаж;1299;ХИЛЛИС\r\u0026#34;Кружка, сосуд, стакан с ручкой\u0026#34;;39;СТЕЛЬНА\rМолочник;299;ВАРДАГЕН\rТермос для еды;699;ЭФТЕРФРОГАД\rСитечко;59;ИДЕАЛИСК\rЧайник заварочный;499;РИКЛИГ\rКофе-пресс;699;УПХЕТТА\rЧашка с блюдцем;249;ИКЕА\r\u0026#34;Кружка, стакан с ручкой\u0026#34;;249;ЭМНТ\rСитечко;199;САККУННИГ\rКружка;199;ФИНСТИЛТ\r\u0026#34;Тарелка, блюдце\u0026#34;;269;ЭВЕРЕНС Теперь прочитаем этот файл, используя DictReader:\nimport csv with open(\u0026#39;products.csv\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: rows = csv.DictReader(file, delimiter=\u0026#39;;\u0026#39;, quotechar=\u0026#39;\u0026#34;\u0026#39;) for row in rows: print(row) # Вывод:\r{\u0026#39;keywords\u0026#39;: \u0026#39;Садовый стул, стул для дачи\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1699\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ВЭДДО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Садовый стул\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;2999\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭПЛАРО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Садовый табурет\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1699\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭПЛАРО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Садовый стол\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1999\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ТЭРНО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Складной стол, обеденный стол\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;7499\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭПЛАРО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Настил\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1299\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;РУННЕН\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Стеллаж\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1299\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ХИЛЛИС\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Кружка, сосуд, стакан с ручкой\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;39\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;СТЕЛЬНА\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Молочник\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;299\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ВАРДАГЕН\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Термос для еды\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;699\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭФТЕРФРОГАД\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Ситечко\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;59\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ИДЕАЛИСК\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Чайник заварочный\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;499\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;РИКЛИГ\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Кофе-пресс\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;699\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;УПХЕТТА\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Чашка с блюдцем\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;249\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ИКЕА\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Кружка, стакан с ручкой\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;249\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭМНТ\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Ситечко\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;199\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;САККУННИГ\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Кружка\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;199\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ФИНСТИЛТ\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Тарелка, блюдце\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;269\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭВЕРЕНС\u0026#39;} При создании DictReader объекта значениями по умолчанию для аргументов delimiter и quotechar являются ',' (символ запятой) и '\u0026quot;' (символ двойной кавычки) соответственно.\nНазвания столбцов сохраняются в атрибуте fieldnames объекта DictReader\rЗапись через writer #\rДля записи данных в csv файл можно использовать специальный writer объект:\nimport csv columns = [\u0026#39;first_name\u0026#39;, \u0026#39;second_name\u0026#39;, \u0026#39;class_number\u0026#39;, \u0026#39;class_letter\u0026#39;] data = [[\u0026#39;Тимур\u0026#39;, \u0026#39;Гуев\u0026#39;, 11, \u0026#39;А\u0026#39;], [\u0026#39;Руслан\u0026#39;, \u0026#39;Чаниев\u0026#39;, 9, \u0026#39;Б\u0026#39;], [\u0026#39;Артур\u0026#39;, \u0026#39;Харисов\u0026#39;, 10, \u0026#39;В\u0026#39;]] with open(\u0026#39;students.csv\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;, newline=\u0026#39;\u0026#39;) as file: writer = csv.writer(file) writer.writerow(columns) # запись заголовков for row in data: # запись строк writer.writerow(row) # Создаётся файл students.csv с содержимым:\rfirst_name,second_name,class_number,class_letter\rТимур,Гуев,11,А\rРуслан,Чаниев,9,Б\rАртур,Харисов,10,В При открытии файла функцией open() был использован параметр newline со значением '' (пустая строка), который отвечает за переводы строк при чтении или записи в текстовый файл. По умолчанию имеет значение None, в этом случае все разделители строк преобразуются в '\\n'. Если в файле оказывается лишний перевод строки, то следует использовать этот параметр в режиме newline='', тогда '\\n' будет преобразован в пустую строку.\nПри создании writer объекта мы так же можем его настраивать, задавая delimiter и многие другие параметры.\nimport csv columns = [\u0026#39;first_name\u0026#39;, \u0026#39;second_name\u0026#39;, \u0026#39;class_number\u0026#39;, \u0026#39;class_letter\u0026#39;] data = [[\u0026#39;Тимур\u0026#39;, \u0026#39;Гуев\u0026#39;, 11, \u0026#39;А\u0026#39;], [\u0026#39;Руслан\u0026#39;, \u0026#39;Чаниев\u0026#39;, 9, \u0026#39;Б\u0026#39;], [\u0026#39;Роман\u0026#39;, \u0026#39;Белых\u0026#39;, 10, \u0026#39;В\u0026#39;]] with open(\u0026#39;students.csv\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;, newline=\u0026#39;\u0026#39;) as file: writer = csv.writer(file, delimiter=\u0026#39;;\u0026#39;, quoting=csv.QUOTE_NONNUMERIC) writer.writerow(columns) for row in data: writer.writerow(row) # Создаётся файл students.csv с содержимым:\r\u0026#34;first_name\u0026#34;;\u0026#34;second_name\u0026#34;;\u0026#34;class_number\u0026#34;;\u0026#34;class_letter\u0026#34;\r\u0026#34;Тимур\u0026#34;;\u0026#34;Гуев\u0026#34;;11;\u0026#34;А\u0026#34;\r\u0026#34;Руслан\u0026#34;;\u0026#34;Чаниев\u0026#34;;9;\u0026#34;Б\u0026#34;\r\u0026#34;Роман\u0026#34;;\u0026#34;Белых\u0026#34;;10;\u0026#34;В\u0026#34; Значение аргумента quoting=csv.QUOTE_NONNUMERIC означает, что в кавычки будут браться все нечисловые значения. По умолчанию символом кавычки является \u0026quot;, если нужно поменять символ, используется уже знакомый нам именованный аргумент quotechar.\nДля quoting существуют и другие константы из модуля csv:\nQUOTE_ALL: указывает объектам записи указывать все поля QUOTE_MINIMAL: указывает объектам записи заключать в кавычки только те поля, которые содержат специальные символы, такие как разделитель delimiter, кавычка quotechar или любой из символов в lineterminator QUOTE_NONNUMERIC: указывает объектам записи указывать все нечисловые поля QUOTE_NONE: указывает объектам записи никогда не заключать в кавычки поля Помимо метода writerow() можно использовать и метод writerows(), чтобы записать сразу несколько строк. Единственным аргументом этого метода может быть коллекция коллекций. То есть, каждый элемент списка rows в нашем случае должен быть коллекцией. Если rows будет, например, списком чисел, программа завершится с ошибкой.\nЗапись через DictWriter #\rДля записи данных в csv файл также можно использовать DictWriter объект, который позволяет записывать содержимое словаря в файл.\nimport csv data = [{\u0026#39;first_name\u0026#39;: \u0026#39;Тимур\u0026#39;, \u0026#39;second_name\u0026#39;: \u0026#39;Гуев\u0026#39;, \u0026#39;class_number\u0026#39;: 11, \u0026#39;class_letter\u0026#39;: \u0026#39;А\u0026#39;}, {\u0026#39;first_name\u0026#39;: \u0026#39;Руслан\u0026#39;, \u0026#39;second_name\u0026#39;: \u0026#39;Чаниев\u0026#39;, \u0026#39;class_number\u0026#39;: 9, \u0026#39;class_letter\u0026#39;: \u0026#39;Б\u0026#39;}, {\u0026#39;first_name\u0026#39;: \u0026#39;Роман\u0026#39;, \u0026#39;second_name\u0026#39;: \u0026#39;Белых\u0026#39;, \u0026#39;class_number\u0026#39;: 10, \u0026#39;class_letter\u0026#39;: \u0026#39;В\u0026#39;}] columns = [\u0026#39;first_name\u0026#39;, \u0026#39;second_name\u0026#39;, \u0026#39;class_number\u0026#39;, \u0026#39;class_letter\u0026#39;] with open(\u0026#39;students.csv\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;, newline=\u0026#39;\u0026#39;) as file: writer = csv.DictWriter(file, fieldnames=columns, delimiter=\u0026#39;;\u0026#39;, quoting=csv.QUOTE_NONNUMERIC) writer.writeheader() # запись заголовков for row in data: # запись строк writer.writerow(row) # Создаётся файл students.csv с содержимым:\r\u0026#34;first_name\u0026#34;;\u0026#34;second_name\u0026#34;;\u0026#34;class_number\u0026#34;;\u0026#34;class_letter\u0026#34;\r\u0026#34;Тимур\u0026#34;;\u0026#34;Гуев\u0026#34;;11;\u0026#34;А\u0026#34;\r\u0026#34;Руслан\u0026#34;;\u0026#34;Чаниев\u0026#34;;9;\u0026#34;Б\u0026#34;\r\u0026#34;Роман\u0026#34;;\u0026#34;Белых\u0026#34;;10;\u0026#34;В\u0026#34; Ключи словарей, которые записываются в файл, должны совпадать с названиями полей, которые переданы в качестве аргумента fieldnames, иначе будет возникать ошибка ValueError.\rФормат json #\rJSON (англ. JavaScript Object Notation, читается как \u0026ldquo;джЕйсон\u0026rdquo;) — текстовый формат обмена данными, основанный на синтаксисе объекта в языке программирования JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми. Несмотря на происхождение от JavaScript, формат считается независимым от языка и может использоваться практически с любым языком программирования.\nВ отличие от формата csv, данные в формате json не просто разделены запятыми, а чаще всего имеют структуру ключ-значение. Это напоминает словарь Python, но в отличие от словаря, ключи в json могут быть только строками, заключенными в двойные кавычки:\n{ \u0026#34;firstName\u0026#34;: \u0026#34;Тимур\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;Гуев\u0026#34;, \u0026#34;gender\u0026#34;: \u0026#34;мужской\u0026#34; } Преимущества, которые сделали этот формат популярным:\nне занимает много места, является компактным в написании и быстро компилируется создание текстового содержимого понятно человеку, просто в реализации, а чтение со стороны среды разработки не вызывает никаких проблем. Чтение может осуществляться и человеком, поскольку ничего сложного в представлении данных нет структура преобразуется для чтения на любых языках программирования практически все языки имеют соответствующие библиотеки или другие инструменты для чтения данных JSON В качестве значений в JSON могут быть использованы:\nчисло (целое или вещественное); литералы true (истина), false (ложь), null (отсутствие значения); строка (последовательность символов, заключенная в двойные кавычки); список (заключается в квадратные скобки [ ], значения разделяются запятыми). Список может быть пустым, значения в пределах одного списка могут иметь разный тип; вложенный объект (неупорядоченное множество пар ключ: значение, заключённое в фигурные скобки { }). Ключ описывается строкой, между ним и значением стоит символ :. Пары ключ-значение отделяются друг от друга запятыми. { \u0026#34;firstName\u0026#34;: \u0026#34;Тимур\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;Гуев\u0026#34;, \u0026#34;age\u0026#34;: 29, \u0026#34;gender\u0026#34;: \u0026#34;мужской\u0026#34;, \u0026#34;smoke\u0026#34;: false, \u0026#34;address\u0026#34;: { \u0026#34;streetAddress\u0026#34;: \u0026#34;Часовая 25, кв. 127\u0026#34;, \u0026#34;city\u0026#34;: \u0026#34;Москва\u0026#34;, \u0026#34;postalCode\u0026#34;: 125315 }, \u0026#34;phoneNumbers\u0026#34;: [\u0026#34;+7 (919) 424-84-34\u0026#34;, \u0026#34;+7 (916) 928-92-34\u0026#34;] } Вложенность данных может быть бесконечной\rТакже, переносы строк и отступы в формате json необязательны. Они нужны только для удобства чтения.\n{\u0026#34;firstName\u0026#34;: \u0026#34;Тимур\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;Гуев\u0026#34;, \u0026#34;gender\u0026#34;: \u0026#34;мужской\u0026#34;} JSON — это текстовый формат, который может быть представлен не только в виде пар ключ-значение (объектов). Он так же может содержать список, строку, число и т.д. Тем не менее, чаще всего используется структура ключ-значение. При этом, объекты являются неупорядоченными, списки же, наоборот, упорядочены\rМодуль json #\rДля использования: import json\nПреобразование переменных программы (Python-объектов) в формат для хранения называется «сериализацией», а обратное преобразование — «десериализацией». В Python для сериализации и десериализации в формат json есть одноимённый модуль.\nФункция dumps() #\rДля сериализации данных в json строку используется функция dumps() из модуля json. Для того, чтобы сериализовать данные с ее помощью, достаточно передать в нее аргументом любой сериализуемый Python-объект.\nimport json data = {\u0026#39;name\u0026#39;: \u0026#39;Russia\u0026#39;, \u0026#39;phone_code\u0026#39;: 7, \u0026#39;capital\u0026#39;: \u0026#39;Moscow\u0026#39;, \u0026#39;currency\u0026#39;: \u0026#39;RUB\u0026#39;} json_data = json.dumps(data) # сериализуем словарь data в json строку print(type(json_data)) print(json_data) # Вывод:\r\u0026lt;class \u0026#39;str\u0026#39;\u0026gt;\r{\u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34;} Независимо от того, какие кавычки мы использовали в Python-объекте, в результате данные будут в двойных кавычках (стандарт json)\rФункция dump() #\rВ отличие от функции dumps(), которая сериализует Python-объект в json строку, функция dump() записывает переданный Python-объект в файл.\nimport json data = {\u0026#39;name\u0026#39;: \u0026#39;Russia\u0026#39;, \u0026#39;phone_code\u0026#39;: 7, \u0026#39;capital\u0026#39;: \u0026#39;Moscow\u0026#39;, \u0026#39;currency\u0026#39;: \u0026#39;RUB\u0026#39;} with open(\u0026#39;countries.json\u0026#39;, \u0026#39;w\u0026#39;) as file: json.dump(data, file) // Создаётся файл countries.json с содержимым: {\u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34;} Возможно сериализовать любой объект, поддерживаемый форматом json, например число, список, строку и т.д\rindent, sort_keys и separators #\rФункции записи dumps() и dump() имеют необязательные аргументы indent, sort_keys и separators, которые можно использовать для более удобного чтения человеком.\nАргумент indent задает отступ от левого края. По умолчанию имеет значение None для более компактного представления без отступов. Если значением indent является строка, то она используется в качестве отступа.\nАргумент sort_keys задает сортировку ключей в результирующем json. По умолчанию имеет значение False для более быстрого выполнения. Если установить значение аргумента в True, то ключи будут отсортированы в алфавитном порядке, что особенно удобно, когда ключей много.\nАргумент separators задает кортеж, состоящий из двух элементов (item_separator, key_separator), которые представляют разделители для элементов и ключей. По умолчанию аргумент имеет значение (', ', ': ').\nimport json data = {\u0026#39;name\u0026#39;: \u0026#39;Russia\u0026#39;, \u0026#39;phone_code\u0026#39;: 7, \u0026#39;capital\u0026#39;: \u0026#39;Moscow\u0026#39;, \u0026#39;currency\u0026#39;: \u0026#39;RUB\u0026#39;} json_data1 = json.dumps(data) json_data2 = json.dumps(data, indent=3, separators=(\u0026#39;;\u0026#39;, \u0026#39; = \u0026#39;), sort_keys=True) print(json_data1) print(json_data2) # Вывод:\r{\u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34;}\r{\r\u0026#34;capital\u0026#34; = \u0026#34;Moscow\u0026#34;;\r\u0026#34;currency\u0026#34; = \u0026#34;RUB\u0026#34;;\r\u0026#34;name\u0026#34; = \u0026#34;Russia\u0026#34;;\r\u0026#34;phone_code\u0026#34; = 7\r} Функция loads() #\rДля десериализации данных нужно использовать функцию loads(). Ее аргумент — это строка с данными в формате json.\nimport json json_data = \u0026#39;{\u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34;}\u0026#39; data = json.loads(json_data) print(type(data)) print(data) # Вывод:\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt;\r{\u0026#39;name\u0026#39;: \u0026#39;Russia\u0026#39;, \u0026#39;phone_code\u0026#39;: 7, \u0026#39;capital\u0026#39;: \u0026#39;Moscow\u0026#39;, \u0026#39;currency\u0026#39;: \u0026#39;RUB\u0026#39;} В случае если строка для десериализации содержит данные с ошибкой, то модуль json не сможет правильно прочитать такую строку, и программа завершится с ошибкой json.decoder.JSONDecodeError\rФункция load() #\rВ отличие от функции loads(), которая в качестве аргумента принимает строку с данными в формате json, функция load() принимает файловый объект и возвращает его десериализованное содержимое.\nПусть файл data.json имеет следующее содержимое:\n{ \u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;cities\u0026#34;: [\u0026#34;Abakan\u0026#34;, \u0026#34;Almetyevsk\u0026#34;, \u0026#34;Anadyr\u0026#34;, \u0026#34;Anapa\u0026#34;, \u0026#34;Arkhangelsk\u0026#34;, \u0026#34;Astrakhan\u0026#34;], \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34; } Тогда следующий код преобразует data.json в словарь data и выведет его элементы:\nimport json with open(\u0026#39;data.json\u0026#39;) as file: data = json.load(file) # передаем файловый объект for key, value in data.items(): if type(value) == list: print(f\u0026#39;{key}: {\u0026#34;, \u0026#34;.join(value)}\u0026#39;) else: print(f\u0026#39;{key}: {value}\u0026#39;) # Вывод:\rname: Russia\rphone_code: 7\rcapital: Moscow\rcities: Abakan, Almetyevsk, Anadyr, Anapa, Arkhangelsk, Astrakhan\rcurrency: RUB Типы данных в json #\rМодуль json автоматически определяет тип значения при десериализации. Такая автоматическая работа с типами данных выгодно отличает json от csv, при работе с которым таких автоматических преобразований нет.\nВажно также понимать, что при преобразовании данных в формат JSON, данные не всегда будут того же типа, что исходные данные в Python. Например, кортежи при записи в JSON превращаются в списки. Так происходит из-за того, что в JSON используются другие типы данных, и не для всех типов данных Python есть соответствия.\nТаблица конвертации типов данных Python в JSON:\nPython JSON dict object list, tuple array str string int, float number True true False false None null Таблица конвертации JSON в типы данных Python:\nJSON Python object dict array list string str number (int) int number (real) float true True false False null None Ограничение по типам данных #\rВ формат JSON нельзя записать словарь, у которого ключи – кортежи. Поэтому есть необязательный аргумент skipkeys, который игнорирует элементы с подобными ключами:\nimport json data = { \u0026#39;beegeek\u0026#39;: 2018, (\u0026#39;Timur\u0026#39;, \u0026#39;Guev\u0026#39;): 29, (\u0026#39;Arthur\u0026#39;, \u0026#39;Kharisov\u0026#39;): 20, \u0026#39;stepik\u0026#39;: 2013 } json_data = json.dumps(data, skipkeys=True) # преобразуем dict в json print(json_data) # Вывод:\r{\u0026#34;beegeek\u0026#34;: 2018, \u0026#34;stepik\u0026#34;: 2013} В JSON ключами словаря могут быть только строки. Но, если в словаре Python использовались числа, булевы значения или None, то ошибки не будет, вместо этого они будут преобразованы в строки.\rКириллические символы в json #\rВывод следующего кода может вызвать смущение:\nimport json data = {\u0026#39;firstName\u0026#39;: \u0026#39;Иван\u0026#39;, \u0026#39;lastName\u0026#39;: \u0026#39;Иванов\u0026#39;} s = json.dumps(data) print(s) # Вывод:\r{\u0026#34;firstName\u0026#34;: \u0026#34;\\u0418\\u0432\\u0430\\u043d\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;\\u0418\\u0432\\u0430\\u043d\\u043e\\u0432\u0026#34;} Каждая буква из строк Иван и Иванов будет заменена на её код. Эти коды стандартны, и код для каждой из букв индивидуален. Например 0438 — код буквы и. Обратное преобразование из строки в словарь вернет закодированное значение в первоначальный вид.\nС помощью необязательного аргумента ensure_ascii функций dumps() и dump() можно отказаться от такого кодирования:\nimport json data = {\u0026#39;firstName\u0026#39;: \u0026#39;Тимур\u0026#39;, \u0026#39;lastName\u0026#39;: \u0026#39;Гуев\u0026#39;} s = json.dumps(data, ensure_ascii=False) print(s) result = json.loads(s) print(result) # Вывод:\r{\u0026#34;firstName\u0026#34;: \u0026#34;Тимур\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;Гуев\u0026#34;}\r{\u0026#39;firstName\u0026#39;: \u0026#39;Тимур\u0026#39;, \u0026#39;lastName\u0026#39;: \u0026#39;Гуев\u0026#39;} Python преобразует такую строку обратно в словарь без проблем (поскольку использует Unicode по умолчанию), но нужно помнить, что это может привести к проблемам с преобразованием в программах, написанных на других языках программирования.\n","date":"9 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/csv_json/","section":"Конспекты","summary":"Управление текстовыми файлами формата csv, tsv, dtv, json в языке программирования Python\rФормат CSV #\rCSV (от англ.","title":"Работа с csv и json файлами в Python","type":"posts"},{"content":"\rКратко про потоковый ввод stdin и потоковый вывод stdout. Что это и для чего нужно, как с этим работать\rПотоковый ввод #\rsys.stdin – это специальный объект (итератор) в программе, куда попадает весь текст, который ввёл пользователь. Потоком его называют потому, что данные хранятся в нём до тех пор, пока программа их не прочитала. Таким образом, данные поступают в программу и временно сохраняются в потоке ввода (sys.stdin), а программа может забрать их оттуда, например, с помощью встроенной функции input(). В момент прочтения, данные пропадают из потока ввода, так как он хранит их до тех пор, пока они не будут прочитаны.\nДля работы с потоками необходимо подключить модуль sys: import sys.\nС помощью потока ввода можно в одну строчку кода прочитать весь пользовательский ввод в список. Примеры: data = [line.strip() for line in sys.stdin] или data = list(map(str.strip, sys.stdin)).\nИз stdin можно считать сразу все строки с помощью методов read() и readlines(). К слову, потоковый ввод тем и удобен, что не нужно беспокоиться о количестве введённых строк, ведь работать можно со всем сразу.\nПотоковый вывод #\rАналогичным образом можно работать с потоковым выводом (sys.stdout). По умолчанию функция print() перенаправляет вывод данных именно в sys.stdout, но всё же мы и сами можем писать в него.\nimport sys print(\u0026#39;Hello\u0026#39;) sys.stdout.write(\u0026#39;world!\u0026#39;) print(\u0026#39;from\u0026#39;) sys.stdout.write(\u0026#39;python\\n\u0026#39;) print(\u0026#39;Bye-bye\u0026#39;) # Вывод:\rHello\rworld!from\rpython\rBye-bye Функция print() добавляет перевод на новую строку, а явная запись данных в sys.stdout с помощью метода write() нет. Чтобы добавить перевод на новую строку, мы используем стандартный символ \\n. Также нужно иметь в виду, что при использовании потока вывода нужно самостоятельно преобразовывать данные к строковому типу данных (функция print() это делает автоматически).\n","date":"3 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/stdin_stdout/","section":"Конспекты","summary":"Кратко про потоковый ввод stdin и потоковый вывод stdout.","title":"Потоковый ввод и вывод","type":"posts"},{"content":"","date":"30 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/calendar/","section":"Tags","summary":"","title":"Calendar","type":"tags"},{"content":"","date":"30 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/datatypes/","section":"Tags","summary":"","title":"Datatypes","type":"tags"},{"content":"","date":"30 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/time/","section":"Tags","summary":"","title":"Time","type":"tags"},{"content":"\rБольше модулей для работы с временем и датой, измерение времени выполнения программы.\rМодуль time #\rДля использования: import time\nВ Python помимо встроенного модуля datetime есть еще модуль time, который обычно используется для работы с текущим временем.\nЕго работа основывается на общепринятой системе описания времени. Согласно ее концепции, текущее время представляется в виде обыкновенного вещественного значения в секундах, прошедших с момента начала эпохи (полночь 1 января 1970 года) и до сегодняшнего дня.\nВозможности модуля:\nотображает информацию о времени, прошедшем с начала эпохи преобразовывает значение системного времени в удобный вид прерывает выполнение программы на заданное количество секунд измеряет время выполнения программы или её отдельных модулей datetime.time и модуль time – не одно и то же!\rФункция time() #\rВозвращает количество секунд, прошедших с начала эпохи:\nimport time seconds = time.time() # получаем количество прошедших секунд в виде float числа print(\u0026#39;Количество секунд с начала эпохи =\u0026#39;, seconds) # Вывод: Количество секунд с начала эпохи = 1630387918.354396 Функция ctime() #\rДля того чтобы получить текущую дату в более удобном для человека виде, нужно использовать функцию ctime(), которая принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает строку, представляющую собой локальное время:\nimport time local_time = time.ctime(time.time()) # аналогично local_time = time.ctime() print(local_time) # Вывод: текущая дата и время на вашем пк Если вызвать ctime() без аргументов, результат будет аналогичным\rФункция sleep() #\rИспользуется для добавления задержки в выполнение программы. В качестве аргумента принимает количество секунд (secs) – задержка в секундах. secs может быть как int, так и float\nimport time print(\u0026#39;Before the sleep statement\u0026#39;) time.sleep(3) print(\u0026#39;After the sleep statement\u0026#39;) Функция sleep() нередко используется для тестирования кода и намеренного внесения задержек на различных этапах выполнения программы\rИзмерение времени выполнения программы #\rЧтобы найти время выполнения программы или её части, достаточно посчитать разницу времени в секундах между точкой старта и местом, где она завершается. Пример:\nimport time start_time = time.time() for i in range(5): time.sleep(1) end_time = time.time() elapsed_time = end_time - start_time print(f\u0026#39;Время работы программы = {elapsed_time}\u0026#39;) # Вывод: Время работы программы = 5.022884845733643 Несмотря на простоту вышеописанного подхода, использовать его в серьезных целях, где требуется точный и независимый от операционной системы (ОС) результат, не рекомендуется. Все дело в том, что числовое значение времени, получаемое таким образом, может иметь погрешности за счет внутренних особенностей работы компьютера, в среде которого выполняется программа. Более того, системные часы могут быть подкорректированы вручную пользователем во время выполнения программы.\nБывает так, что очередной вызов функции time() вернет значение меньше, чем значение, полученное при предыдущем вызове.\rФункция monotonic() #\rДля измерения времени выполнения программы идеально подходит функция monotonic(), так как ее результат не зависит от корректировки системных часов и других внешних условий.\nimport time start_time = time.monotonic() for i in range(5): time.sleep(1) end_time = time.monotonic() elapsed_time = end_time - start_time print(f\u0026#39;Время работы программы = {elapsed_time}\u0026#39;) # Вывод: Время работы программы = 5.0 Функция perf_counter() #\rДля самого точного измерения времени выполнения программы следует использовать функцию perf_counter(). Данная функция использует таймер с наибольшим доступным разрешением, что делает эту функцию отличным инструментом для измерения времени выполнения кода на коротких интервалах.\nimport time start_time = time.perf_counter() for i in range(5): time.sleep(1) end_time = time.perf_counter() elapsed_time = end_time - start_time print(f\u0026#39;Время работы программы = {elapsed_time}\u0026#39;) # Вывод: Время работы программы = 5.042140900040977 Замечания #\rПри сравнении разных способов выполнить одно и то же действие, было замерено время выполнения каждого. Вот некоторые интересные замечания, которые мне хотелось бы выделить:\nПо сравнению с собственными реализациями, функция factorial() из модуля math выполняется быстрее, так как реализована на языке C. Списочные выражения (или же list comprehensions) выполняются быстрее, чем использование цикла for на пару с методом append. В случае если требуется создать список на основе итерируемого объекта или коллекции без какого-либо изменения элементов, то лучшим вариантом будет функция list(). Тип данных struct_time #\rЕдинственный тип данных, который имеется в модуле time – struct_time. Он представляет собой именованный кортеж, содержащий информацию о времени. Структура представления времени struct_time чем-то похожа на уже изученный тип datetime.\nИменованные кортежи будут описаны подробнее в следующих конспектах\rИменованный кортеж struct_time состоит из следующих атрибутов:\nНомер индекса Атрибут Значение 0 tm_year диапазон от 0000 до 9999 1 tm_mon диапазон от 1 до 12 2 tm_mday диапазон от 1 до 31 3 tm_hour диапазон от 0 до 23 4 tm_min диапазон от 0 до 59 5 tm_sec диапазон от 0 до 61 (високосная секунда) 6 tm_wday диапазон от 0 до 6, понедельник=0 7 tm_yday диапазон от 1 до 366 8 tm_isdst значения -1, 0, 1 N/A tm_zone сокращение названия часового пояса N/A tm_gmtoff смещение к востоку от UTC в секундах Создавать объекты типа struct_time можно на основе кортежа:\nimport time time_tuple = (2021, 8, 31, 5, 31, 58, 1, 243, 0) time_obj = time.struct_time(time_tuple) На практике же редко приходится собственноручно создавать объекты этого типа. Обычно используют функции модуля time, которые сами создают и оперируют ими.\nФункция localtime() #\rlocaltime() принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает кортеж struct_time в локальном времени.\nЕсли функции localtime() передан аргумент None, вернется значение time()\rimport time result = time.localtime(1630387918) print(\u0026#39;Результат:\u0026#39;, result) print(\u0026#39;Год:\u0026#39;, result.tm_year) print(\u0026#39;Месяц:\u0026#39;, result.tm_mon) print(\u0026#39;День:\u0026#39;, result.tm_mday) print(\u0026#39;Час:\u0026#39;, result.tm_hour) # Вывод:\rРезультат: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=31, tm_hour=8, tm_min=31, tm_sec=58, tm_wday=1, tm_yday=243, tm_isdst=0)\rГод: 2021\rМесяц: 8\rДень: 31\rЧас: 8 Также мы могли бы обращаться к данным именованого кортежа по индексам. К примеру, print('Год:', result[0]), вывел бы ту же строку, что и print('Год:', result.tm_year) в коде выше.\nФункция gmtime() #\rgmtime() принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает кортеж struct_time в UTC.\nЕсли функции gmtime() передан аргумент None, также вернется значение time()\rФункция mktime() #\rmktime() принимает struct_time (или кортеж, содержащий 9 значений, относящихся к этому типу) в качестве аргумента и возвращает количество секунд, прошедших с начала эпохи, в местном времени.\nimport time time_tuple = (2021, 8, 31, 5, 31, 58, 1, 243, 0) time_obj = time.mktime(time_tuple) print(\u0026#39;Локальное время в секундах:\u0026#39;, time_obj) # Вывод: Локальное время в секундах: 1630377118.0 Функция mktime() является обратной к функции localtime(). Посмотрим на пример этой связи:\nimport time seconds = 1630377118 time_obj = time.localtime(seconds) # возвращает struct_time print(time_obj) time_seconds = time.mktime(time_obj) # возвращает секунды из struct_time print(time_seconds) # Вывод:\rtime.struct_time(tm_year=2021, tm_mon=8, tm_mday=31, tm_hour=5, tm_min=31, tm_sec=58, tm_wday=1, tm_yday=243, tm_isdst=0)\r1630377118.0 Если кортеж с неправильной длиной или имеющий элементы неправильного типа передаётся функции, ожидающей struct_time, возникает ошибка TypeError!\rФункция asctime() #\rasctime() принимает struct_time (или кортеж, содержащий 9 значений, относящихся к этому типу) в качестве аргумента и возвращает строку, представляющую собой дату и время.\nimport time time_tuple = (2021, 8, 31, 5, 31, 58, 1, 243, 0) result = time.asctime(time_tuple) print(\u0026#39;Результат:\u0026#39;, result) # Вывод: Результат: Tue Aug 31 05:31:58 2021 Форматированный вывод #\rФункции ctime() и asctime() имеют практически одинаковый функционал, за тем исключением, что первая функция принимает количество прошедших от начала эпохи секунд, а вторая принимает struct_time (или соответствующий кортеж). Обе функции представляют время в более удобном виде, благодаря автоматическому форматированию. Однако, автоматическое форматирование не всегда то, что нужно, поскольку может показаться чересчур сложным для восприятия, либо же недостаточно информативным. Именно поэтому функции strftime() и strptime() модуля time позволяют создавать свои уникальные типы форматирования.\nstrftime() принимает строку с некоторым набором правил для форматирования и объект struct_time (или соответствующий кортеж) в качестве аргументов и возвращает строку с датой в зависимости от использованного формата: import time time_obj = time.localtime() result = time.strftime(\u0026#39;%d.%m.%Y, %H:%M:%S\u0026#39;, time_obj) print(result) # Вывод: 01.09.2021, 08:50:32 strptime() делает разбор строки в зависимости от использованного формата и возвращает объект struct_time: import time time_string = \u0026#39;1 September, 2021\u0026#39; result = time.strptime(time_string, \u0026#39;%d %B, %Y\u0026#39;) print(result) # Вывод: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=244, tm_isdst=-1) При этом строка time_string должна полностью соответствовать формату %d %B, %Y, в противном случае возникнет исключение ValueError!\rМодуль calendar #\rДля использования: import calendar\nПо умолчанию модуль calendar следует григорианскому календарю, где понедельник является первым днём недели (номер 0), а воскресенье – последним (номер 6). В отличии от предыдущих модулей date и time, которые также предоставляют функции, связанные с календарём, модуль calendar предоставляет основные функции, связанные с отображением и манипулированием календарями.\nАтрибуты calendar #\rАтрибут calendar.day_name возвращает итерируемый объект, содержащий названия дней недели на английском языке: import calendar for name in calendar.day_name: print(name) # Вывод:\rMonday\rTuesday\rWednesday\rThursday\rFriday\rSaturday\rSunday Атрибут calendar.day_abbr возвращает итерируемый объект, содержащий сокращенные названия дней недели: import calendar, locale for name in calendar.day_abbr: print(name, end=\u0026#39; \u0026#39;) locale.setlocale(locale.LC_ALL, \u0026#39;ru_RU.UTF-8\u0026#39;) print() for name in calendar.day_abbr: print(name, end=\u0026#39; \u0026#39;) # Вывод:\rMon Tue Wed Thu Fri Sat Sun\rПн Вт Ср Чт Пт Сб Вс Атрибут calendar.month_name возвращает итерируемый объект, содержащий названия месяцев года: import calendar, locale english_names = list(calendar.month_name) print(english_names) locale.setlocale(locale.LC_ALL, \u0026#39;ru_RU.UTF-8\u0026#39;) russian_names = list(calendar.month_name) print(russian_names) # Вывод:\r[\u0026#39;\u0026#39;, \u0026#39;January\u0026#39;, \u0026#39;February\u0026#39;, \u0026#39;March\u0026#39;, \u0026#39;April\u0026#39;, \u0026#39;May\u0026#39;, \u0026#39;June\u0026#39;, \u0026#39;July\u0026#39;, \u0026#39;August\u0026#39;, \u0026#39;September\u0026#39;, \u0026#39;October\u0026#39;, \u0026#39;November\u0026#39;, \u0026#39;December\u0026#39;]\r[\u0026#39;\u0026#39;, \u0026#39;Январь\u0026#39;, \u0026#39;Февраль\u0026#39;, \u0026#39;Март\u0026#39;, \u0026#39;Апрель\u0026#39;, \u0026#39;Май\u0026#39;, \u0026#39;Июнь\u0026#39;, \u0026#39;Июль\u0026#39;, \u0026#39;Август\u0026#39;, \u0026#39;Сентябрь\u0026#39;, \u0026#39;Октябрь\u0026#39;, \u0026#39;Ноябрь\u0026#39;, \u0026#39;Декабрь\u0026#39;] Атрибут month_name соответствует обычному соглашению, что январь – это месяц номер 1, поэтому список имеет длину в 13 элементов, первый из которых – пустая строка\rАтрибут calendar.month_abbr возвращает итерируемый объект, содержащий сокращенные названия месяцев года: import calendar, locale english_names = list(calendar.month_abbr) print(english_names) locale.setlocale(locale.LC_ALL, \u0026#39;ru_RU.UTF-8\u0026#39;) russian_names = list(calendar.month_abbr) print(russian_names) # Вывод:\r[\u0026#39;\u0026#39;, \u0026#39;Jan\u0026#39;, \u0026#39;Feb\u0026#39;, \u0026#39;Mar\u0026#39;, \u0026#39;Apr\u0026#39;, \u0026#39;May\u0026#39;, \u0026#39;Jun\u0026#39;, \u0026#39;Jul\u0026#39;, \u0026#39;Aug\u0026#39;, \u0026#39;Sep\u0026#39;, \u0026#39;Oct\u0026#39;, \u0026#39;Nov\u0026#39;, \u0026#39;Dec\u0026#39;]\r[\u0026#39;\u0026#39;, \u0026#39;янв\u0026#39;, \u0026#39;фев\u0026#39;, \u0026#39;мар\u0026#39;, \u0026#39;апр\u0026#39;, \u0026#39;май\u0026#39;, \u0026#39;июн\u0026#39;, \u0026#39;июл\u0026#39;, \u0026#39;авг\u0026#39;, \u0026#39;сен\u0026#39;, \u0026#39;окт\u0026#39;, \u0026#39;ноя\u0026#39;, \u0026#39;дек\u0026#39;] Объекты, доступные по атрибутам day_name, day_abbr, month_name и month_abbr, поддерживают индексацию\rДля получения номеров дней недели можно использовать атрибуты: MONDAY, TUESDAY, ..., SUNDAY. К примеру, print(calendar.MONDAY) выведет 0. Функции calendar #\rФункция setfirstweekday() устанавливает заданный день недели в качестве начала недели. Например, чтобы установить первый будний день воскресенье, мы используем код: import calendar calendar.setfirstweekday(calendar.SUNDAY) Функция firstweekday() возвращает целое число, означающее день недели, установленное в качестве начала недели: import calendar print(calendar.firstweekday()) calendar.setfirstweekday(calendar.SUNDAY) print(calendar.firstweekday()) # Вывод:\r0\r6 Функция isleap() возвращает True, если год високосен, иначе – False.\nФункция leapdays(y1, y2) возвращает количество високосных лет в диапазоне от y1 до y2 (не включая), где y1 и y2 – годы:\nimport calendar print(calendar.leapdays(2020, 2025)) # Вывод: 2 Функция weekday(year, month, day) возвращает день недели в виде целого числа (где 0 – понедельник, 6 – воскресенье) для заданной даты. Аргументы функции year – год начиная с 1970, month – месяц в диапазоне 1-12, day – число в диапазоне 1-31: import calendar print(calendar.weekday(2021, 9, 1)) # среда print(calendar.weekday(2021, 9, 2)) # четверг # Вывод:\r2\r3 Функция monthrange(year, month) возвращает день недели первого дня месяца и количество дней в месяце в виде кортежа для указанного года year и месяца month import calendar print(calendar.monthrange(2022, 1)) # январь 2022 года print(calendar.monthrange(2021, 9)) # сентябрь 2021 года # Вывод:\r(5, 31)\r(2, 30) Функция monthcalendar(year, month) возвращает матрицу, представляющую календарь на месяц. Каждая строка матрицы представляет неделю: import calendar print(*calendar.monthcalendar(2021, 9), sep=\u0026#39;\\n\u0026#39;) # Вывод:\r[0, 0, 1, 2, 3, 4, 5]\r[6, 7, 8, 9, 10, 11, 12]\r[13, 14, 15, 16, 17, 18, 19]\r[20, 21, 22, 23, 24, 25, 26]\r[27, 28, 29, 30, 0, 0, 0] Дни, которые не входят в указанный месяц, представлены нулями. При этом каждая неделя начинается с понедельника, если не установлено другое функцией ​​setfirstweekday()\rФункция month(year, month, w=0, l=0) возвращает календарь на месяц в многострочной строке. Аргументами функции являются: year (год), month (месяц), w (ширина столбца даты) и l (количество строк, отводимые на неделю). Аргументы w и l имеют значения по умолчанию, поэтому их можно не передавать явно при вызове функции\rimport calendar print(calendar.month(2021, 9)) print(calendar.month(2021, 10)) print(calendar.month(2021, 9, w=3)) print(calendar.month(2021, 9, l=2)) print(calendar.month(2021, 9, w=5, l=2)) # Вывод:\rSeptember 2021\rMo Tu We Th Fr Sa Su\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30\rOctober 2021\rMo Tu We Th Fr Sa Su\r1 2 3\r4 5 6 7 8 9 10\r11 12 13 14 15 16 17\r18 19 20 21 22 23 24\r25 26 27 28 29 30 31\rSeptember 2021\rMon Tue Wed Thu Fri Sat Sun\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30\rSeptember 2021\rMo Tu We Th Fr Sa Su\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30\rSeptember 2021\rMon Tue Wed Thu Fri Sat Sun\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30 Функция calendar(year, w=2, l=1, c=6, m=3) возвращает календарь на весь год в виде многострочной строки. Аргументами функции являются: year (год), w (ширина столбца даты), l (количество строк, отводимые на неделю), c (количество пробелов между столбцом месяца) и m (количество столбцов). Аргументы w, l, c, m имеют значения по умолчанию, поэтому их можно не передавать явно при вызове функции\rimport calendar print(calendar.calendar(2021)) # Вывод:\r2021\rJanuary February March\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7\r4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14\r11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21\r18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28\r25 26 27 28 29 30 31 29 30 31\rApril May June\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 4 1 2 1 2 3 4 5 6\r5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13\r12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20\r19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27\r26 27 28 29 30 24 25 26 27 28 29 30 28 29 30\r31\rJuly August September\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 4 1 1 2 3 4 5\r5 6 7 8 9 10 11 2 3 4 5 6 7 8 6 7 8 9 10 11 12\r12 13 14 15 16 17 18 9 10 11 12 13 14 15 13 14 15 16 17 18 19\r19 20 21 22 23 24 25 16 17 18 19 20 21 22 20 21 22 23 24 25 26\r26 27 28 29 30 31 23 24 25 26 27 28 29 27 28 29 30\r30 31\rOctober November December\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 1 2 3 4 5 6 7 1 2 3 4 5\r4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12\r11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19\r18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26\r25 26 27 28 29 30 31 29 30 27 28 29 30 31 Функция prmonth(theyear, themonth, w=0, l=0) печатает календарь на месяц, возвращенный функцией month(theyear, themonth, w=0, l=0). Функция prcal(year, w=0, l=0, c=6, m=3) печатает календарь на весь год, возвращенный функцией calendar(year, w=0, l=0, c=6, m=3)\nСледующие два блока кода эквиваленты:\nimport calendar calendar.prmonth(2021, 9) calendar.prcal(2021) import calendar print(calendar.month(2021, 9)) print(calendar.calendar(2021)) Они выводят:\nSeptember 2021\rMo Tu We Th Fr Sa Su\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30\r2021\rJanuary February March\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7\r4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14\r11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21\r18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28\r25 26 27 28 29 30 31 29 30 31\rApril May June\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 4 1 2 1 2 3 4 5 6\r5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13\r12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20\r19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27\r26 27 28 29 30 24 25 26 27 28 29 30 28 29 30\r31\rJuly August September\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 4 1 1 2 3 4 5\r5 6 7 8 9 10 11 2 3 4 5 6 7 8 6 7 8 9 10 11 12\r12 13 14 15 16 17 18 9 10 11 12 13 14 15 13 14 15 16 17 18 19\r19 20 21 22 23 24 25 16 17 18 19 20 21 22 20 21 22 23 24 25 26\r26 27 28 29 30 31 23 24 25 26 27 28 29 27 28 29 30\r30 31\rOctober November December\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 1 2 3 4 5 6 7 1 2 3 4 5\r4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12\r11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19\r18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26\r25 26 27 28 29 30 31 29 30 27 28 29 30 31 ","date":"30 июня 2024","externalUrl":null,"permalink":"/HFK_website/posts/date_and_time_2/","section":"Конспекты","summary":"Больше модулей для работы с временем и датой, измерение времени выполнения программы.","title":"Работа с датой и временем. Часть 2","type":"posts"},{"content":"","date":"16 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/date/","section":"Tags","summary":"","title":"Date","type":"tags"},{"content":"","date":"16 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/datetime/","section":"Tags","summary":"","title":"Datetime","type":"tags"},{"content":"\rМодули и типы данных для работы со временем, датой и временными промежутками в языке программирования Python. Локализация.\rТипы данных date и time #\rДля удобной работы с датой и временем в Python есть модуль datetime. Он состоит из нескольких типов данных. Благодаря их наличию, программист получает доступ ко многим полезным функциям:\nполучение текущих системных даты и времени; вычисление разницы между датами и другие арифметические операции над ними; сравнение даты и времени; форматированный вывод информации о дате и времени. Типы данных модуля datetime #\rНазвание типа\nданных Характеристика date Представляет собой информацию о дате на основе Григорианского календаря time Представляет собой информацию о времени datetime Содержит информацию о времени и дате на основе Григорианского календаря timedelta Описывает определённый период во времени, который находится между двумя различными моментами tzinfo Представляет различные сведения о часовом поясе timezone Содержит информацию о времени в формате UTC Тип данных date #\rДля использования: from datetime import date.\nТип данных (класс) date используется для представления данных о дате и включает информацию о годе, месяце и дне.\nПри создании новой даты нужно указать год, месяц и день. При этом, как и положено, нельзя указать значение day большее 31 и/или значение month большее 12:\nfrom datetime import date my_date = date(1992, 10, 6) # тип date: год + месяц + день print(my_date) print(type(my_date)) # Вывод:\r1992-10-06\r\u0026lt;class \u0026#39;datetime.date\u0026#39;\u0026gt; Получить доступ к отдельным составляющим даты можно с помощью атрибутов year, month, day:\nfrom datetime import date my_date = date(1992, 10, 6) print(\u0026#39;Год =\u0026#39;, my_date.year) print(\u0026#39;Месяц =\u0026#39;, my_date.month) print(\u0026#39;День =\u0026#39;, my_date.day) # Вывод:\rГод = 1992\rМесяц = 10\rДень = 6 Метод today() нужен, чтобы получить текущую дату с компьютера: today_date = date.today()\nС помощью метода weekday() можно определить день недели (нумерация начинается с нуля: 0=понедельник, 1=вторник, \u0026hellip;, 6=воскресенье).\nЕсли нужна нумерация с единицы, можно воспользоваться методом isoweekday().\nАтрибуты min и max используются, чтобы получить минимальную и максимальную соответственно возможную дату (в рамках типа данных date):\nfrom datetime import date print(date.min) print(date.max) # Вывод:\r0001-01-01\r9999-12-31 Метод fromordinal() позволяет создать дату из номера дня, начиная с 0001-01-01, а метод toordinal(), наоборот, преобразует дату в номер дня:\nfrom datetime import date date1 = date.fromordinal(365) date2 = date(1999, 12, 26) print(date1) print(date2.toordinal()) # Вывод:\r0001-12-31\r730114 Тип данных time #\rДля использования: from datetime import time\nТип данных (класс) time используется для представления данных о времени и включает информацию о часах, минутах, секундах и микросекундах (одна милионная доля секунды).\nПри создании времени нужно указать часы, минуты, секунды и микросекунды. При этом, значение hour не может быть больше 23, а значение second больше 59:\nfrom datetime import time my_time = time(11, 20, 54, 1234) # тип time: часы + минуты + секунды + микросекунды print(my_time) print(type(my_time)) # Вывод:\r11:20:54.001234\r\u0026lt;class \u0026#39;datetime.time\u0026#39;\u0026gt; В отличие от дат (тип данных date), чтобы создать объект типа time, необязательно указывать все его атрибуты в конструкторе. Недостающие данные о времени автоматически заполняются нулями.\nТак же, как и при работе с типом данных date, пользуясь типом time, можно получать доступ к отдельным значениям созданного времени: часам, минутам, секундам и микросекундам с помощью атрибутов hour, minute, second, microsecond:\nfrom datetime import time my_time = time(11, 20, 54, 1234) print(\u0026#39;Часы =\u0026#39;, my_time.hour) print(\u0026#39;Минуты =\u0026#39;, my_time.minute) print(\u0026#39;Секунды =\u0026#39;, my_time.second) print(\u0026#39;Микросекунды =\u0026#39;, my_time.microsecond) # Вывод:\rЧасы = 11\rМинуты = 20\rСекунды = 54\rМикросекунды = 1234 В случае использования неверного значения для атрибутов (year, month, day и т.д.) вознакает ошибка (исключение) ValueError.\rСвязь дат и времени #\rdate и time можно сравнивать с помощью операторов ==, !=, \u0026lt;, \u0026gt;, \u0026lt;= и \u0026gt;=:\nfrom datetime import date, time date1 = date(2022, 10, 15) date2 = date(1999, 12, 26) time1 = time(13, 10, 5) time2 = time(21, 32, 59) print(date1 \u0026lt; date2) print(time1 \u0026lt; time2) # Вывод:\rFalse\rTrue При работе с этими типами данных можно использовать встроенные функции min(), max() и sorted():\nfrom datetime import date dates = [date(2021, 12, 31), date(2025, 3, 19), date(2017, 5, 25)] print(min(dates)) print(max(dates)) print(sorted(dates)) # Вывод:\r2017-05-25\r2025-03-19\r[datetime.date(2017, 5, 25), datetime.date(2021, 12, 31), datetime.date(2025, 3, 19)] Оба типа данных date и time являются неизменяемыми\rФункции str() и repr() #\rВстроенная функция str() возвращает объект в неформальном (понятном человеку) строковом представлении. В следующем коде str() вызывается неявно и преобразует указанные объекты в понятный нам вид:\nfrom datetime import date, time my_date = date(2021, 12, 31) my_time = time(11, 20, 54) print(str(my_date)) # Аналогичен коду print(my_date) print(str(my_time)) # Аналогичен коду print(my_time) # Вывод:\r2021-12-31\r11:20:54 Встроенная функция repr() возвращает объект в формальном (понятном интерпретатору) строковом представлении:\nprint(repr(my_date)) print(repr(my_time)) # Вывод:\rdatetime.date(2021, 12, 31)\rdatetime.time(11, 20, 54) Для встроенных типов данных при печати одиночного значения объекта явно вызывать функцию str() не требуется, однако при печати списка таких объектов может произойти следующее:\nfrom datetime import date dates = [date(2021, 12, 31), date(2019, 10, 6), date(2022, 11, 8)] # список дат print(dates) # Вывод: [datetime.date(2021, 12, 31), datetime.date(2019, 10, 6), datetime.date(2022, 11, 8)] Поэтому, если нам нужно вывести дату или время в нормальном виде, нужно воспользоваться распаковкой (str() также будет вызвана неявно):\nprint(*dates, sep=\u0026#39;, \u0026#39;) # Вывод: 2021-12-31, 2019-10-06, 2022-11-08 Форматирование даты и времени #\rПо умолчанию вывод даты и времени осуществляется в ISO формате:\nдата имеет вид: YYYY-MM-DD время имеет вид: HH:MM:SS или HH:MM:SS.ffffff Для форматированного вывода даты и времени используется метод strftime() (для обоих типов date и time):\nfrom datetime import date, time my_date = date(2021, 8, 10) my_time = time(7, 18, 34) print(my_date) # вывод в ISO формате print(my_time) # вывод в ISO формате print(my_date.strftime(\u0026#39;%d/%m/%y\u0026#39;)) # форматированный вывод даты print(my_date.strftime(\u0026#39;%A %d, %B %Y\u0026#39;)) # форматированный вывод даты print(my_time.strftime(\u0026#39;%H.%M.%S\u0026#39;)) # форматированный вывод времени # Вывод:\r2021-08-10\r07:18:34\r10/08/21\rTuesday 10, August 2021\r07.18.34 Таблица аргументов параметра:\nФормат Значение Пример %a Сокращённое название дня недели Sun, Mon, …, Sat (en_US)\nПн, Вт, \u0026hellip;, Вс (ru_RU) %A Полное название дня недели Sunday, Monday, …, Saturday (en_US)\nпонедельник, \u0026hellip;, воскресенье (ru_RU) %w Номер дня недели [0, …, 6] 0, 1, …, 6 (0=воскресенье, 6=суббота) %d День месяца [01, …, 31] 01, 02, …, 31 %b Сокращенное название месяца Jan, Feb, …, Dec (en_US);\nянв, \u0026hellip;, дек (ru_RU) %B Полное название месяца January, February, …, December (en_US);\nЯнварь, \u0026hellip;, Декабрь (ru_RU) %m Номер месяца [01, …,12] 01, 02, …, 12 %y Год без века [00, …, 99] 00, 01, …, 99 %Y Год с веком 0001, 0002, …, 2013, 2014, …, 9999\nВ Linux год выводится без ведущих нулей:\n1, 2, …, 2013, 2014, …, 9999 %H Час (24-часовой формат) [00, …, 23] 00, 01, …, 23 %I Час (12-часовой формат) [01, …, 12] 01, 02, …, 12 %p До полудня или после (при 12-часовом формате) AM, PM (en_US) %M Число минут [00, …, 59] 00, 01, …, 59 %S Число секунд [00, …, 59] 00, 01, …, 59 %f Число микросекунд 000000, 000001, …, 999999 %z Разница с UTC в формате ±HHMM[SS[.ffffff]] +0000, -0400, +1030, +063415, \u0026hellip; %Z Временная зона UTC, EST, CST %j День года [001,366] 001, 002, …, 366 %U Номер недели в году (неделя начинается с воскр.).\nНеделя, предшествующая первому воскресенью, является нулевой. [00, …, 53] 00, 01, …, 53 %W Номер недели в году (неделя начинается с пон.).\nНеделя, предшествующая первому понедельнику, является нулевой. [00, …, 53] 00, 01, …, 53 %c Дата и время Tue Aug 16 21:30:00 1988 (en_US);\n03.01.2019 23:18:32 (ru_RU) %x Дата 08/16/88 (None); 08/16/1988 (en_US);\n03.01.2019 (ru_RU) %X Время 21:30:00 При форматировании даты все временные характеристики сбрасываются в минимально возможные (нулевые значения). Аналогично при форматировании времени все характеристики даты сбрасываются в минимально возможные:\nfrom datetime import date, time my_date = date(2021, 8, 10) my_time = time(7, 18, 34) print(my_date.strftime(\u0026#39;%a %A %w %d %b %B %m %y %Y %H %I %p %M %S %f %z %Z %j %U %W %c %x %X\u0026#39;)) print(my_time.strftime(\u0026#39;%a %A %w %d %b %B %m %y %Y %H %I %p %M %S %f %z %Z %j %U %W %c %x %X\u0026#39;)) # Вывод:\rTue Tuesday 2 10 Aug August 08 21 2021 00 12 AM 00 00 000000 222 32 32 Tue Aug 10 00:00:00 2021 08/10/21 00:00:00\rMon Monday 1 01 Jan January 01 00 1900 07 07 AM 18 34 000000 001 00 01 Mon Jan 1 07:18:34 1900 01/01/00 07:18:34 Для создания новой даты на основе уже существующей можно использовать метод replace(). Он возвращает новую дату с переданными изменёнными значениями атрибутов year, month, day: from datetime import date date1 = date(1992, 10, 6) date2 = date1.replace(year=1995) # заменяем год date3 = date1.replace(month=12, day=17) # заменяем месяц и число print(date1) print(date2) print(date3) # Вывод:\r1992-10-06\r1995-10-06\r1992-12-17 Аналогичным способом можно создать и новое время на основе существующего.\rДля того, чтобы получить строковое представление объектов типа date и time в ISO формате, можно воспользоваться методом isoformat(): from datetime import date, time my_date = date(2021, 12, 31) my_time = time(21, 15, 17) print(\u0026#39;Дата: \u0026#39; + my_date.isoformat()) # Аналогично коду print(\u0026#39;Дата: \u0026#39; + str(my_date)) print(\u0026#39;Время: \u0026#39; + my_time.isoformat()) # Аналогично коду print(\u0026#39;Дата: \u0026#39; + str(my_time)) # Вывод:\rДата: 2021-12-31\rВремя: 21:15:17 А чтобы преобразовать строку из ISO формата в объект date или time, можно воспользоваться методом fromisoformat(). Использование локализации #\rДля использования: import locale\nПриведённый ниже код устанавливает русскую локализацию:\nfrom datetime import date import locale locale.setlocale(locale.LC_ALL, \u0026#39;ru_RU.UTF-8\u0026#39;) my_date = date(2021, 8, 10) print(my_date.strftime(\u0026#34;%A %d, %B %Y\u0026#34;)) # форматированный вывод даты в русской локализации # Вывод: вторник 10, Август 2021 Тип данных datetime #\rДля использования: from datetime import datetime\nЭтот тип данных позволяет работать одновременно и с датой, и с временем. Он является неизменяемым. При создании новой даты-времени (тип datetime) нужно указать год, месяц, день, часы, минуты, секунды и микросекунды. При этом год, месяц и день являются обязательными, а часы, минуты, секунды и микросекунды необязательными:\nfrom datetime import datetime my_datetime = datetime(1992, 10, 6, 9, 40, 23, 51204) # создаем полную дату-время only_date = datetime(2021, 12, 31) # создаем дату-время с нулевой временной информацией print(my_datetime) print(only_date) print(type(my_datetime)) # Вывод:\r1992-10-06 09:40:23.051204\r2021-12-31 00:00:00\r\u0026lt;class \u0026#39;datetime.datetime\u0026#39;\u0026gt; Так же, как и при работе с типами date и time, в datetime с помощью атрибутов (year, month, day, hour, minute, second и microsecond) можно получать доступ к отдельным значениям созданной даты-времени: годам, месяцам, дням, часам, минутам, секундам и микросекундам:\nfrom datetime import datetime my_datetime = datetime(1992, 10, 6, 9, 40, 23, 51204) print(\u0026#39;Год =\u0026#39;, my_datetime.year) print(\u0026#39;Месяц =\u0026#39;, my_datetime.month) print(\u0026#39;День =\u0026#39;, my_datetime.day) print(\u0026#39;Часы =\u0026#39;, my_datetime.hour) print(\u0026#39;Минуты =\u0026#39;, my_datetime.minute) print(\u0026#39;Секунды =\u0026#39;, my_datetime.second) print(\u0026#39;Микросекунды =\u0026#39;, my_datetime.microsecond) # Вывод:\rГод = 1992\rМесяц = 10\rДень = 6\rЧасы = 9\rМинуты = 40\rСекунды = 23\rМикросекунды = 51204 Тип данных datetime наследует весь функционал (атрибуты и методы) от типа date\rМетоды datetime #\rСформировать новый объект типа datetime можно с помощью двух разных объектов, представляющих дату и время (date и time). Для этого используется метод combine(): from datetime import date, time, datetime my_date = date(1992, 10, 6) my_time = time(10, 45, 17) my_datetime = datetime.combine(my_date, my_time) print(my_datetime) # Вывод: 1992-10-06 10:45:17 Если же, наоборот, нужно из datetime получить date и time, то используются методы date() и time() соответственно: from datetime import datetime my_datetime = datetime(2022, 10, 7, 14, 15, 45) my_date = my_datetime.date() # получаем только дату (тип date) my_time = my_datetime.time() # получаем только время (тип time) print(my_datetime, type(my_datetime)) print(my_date, type(my_date)) print(my_time, type(my_time)) Метод now() используется для получения локального времени: from datetime import datetime print(datetime.now()) print(datetime.utcnow()) При этом, если нужно отобразить код определённого часового пояса, рекомендуется использовать код:\nimport datetime as dt print(dt.datetime.now(dt.timezone.utc)) Метод today() аналогичен методу now(), но рекомендуется использовать именно метод now().\nМетод timestamp() преобразует объект типа datetime в количество секунд, прошедших с начала эпохи (возвращает значение типа float), а метод fromtimestamp(), наоборот, преобразует количество секунд, прошедших с начала эпохи, в datetime (возвращает объект datetime в локальном часовом поясе).\nПри работе с объектами типа datetime мы также можем использовать функции min(), max(), sorted() и операторы сравнения.\nЕсли нужно создать новый объект datetime на основании уже существующего, можно использовать метод replace(), который вернёт новый объект datetime с переданными изменёнными значениями атрибутов:\nfrom datetime import datetime datetime1 = datetime(1992, 10, 6, 10, 12, 45) datetime2 = datetime1.replace(year=1995, month=12) datetime3 = datetime1.replace(day=17, hour=14, minute=37) print(datetime1) print(datetime2) print(datetime3) # Вывод:\r1992-10-06 10:12:45\r1995-12-06 10:12:45\r1992-10-17 14:37:45 Форматирование datetime #\rКак и объекты типа date и time, datetime выводится в формате ISO 8601. Для преобразования в строку нужного формата нужно использовать старый-добрый метод strftime():\nfrom datetime import datetime my_datetime = datetime(2021, 8, 10, 18, 20, 34) print(my_datetime) # вывод в ISO формате print(my_datetime.strftime(\u0026#39;%d.%m.%y --- %H::%M::%S\u0026#39;)) print(my_datetime.strftime(\u0026#39;%d/%m/%y\u0026#39;)) print(my_datetime.strftime(\u0026#39;%A %d, %B %Y\u0026#39;)) print(my_datetime.strftime(\u0026#39;%H:%M:%S\u0026#39;)) # Вывод:\r2021-08-10 18:20:34\r10.08.21 --- 18::20::34\r10/08/21\rTuesday 10, August 2021\r18:20:34 Аргументы, которые можно передать в strftime() уже были приведены в виде таблицы в параграфе \u0026ldquo;Форматирование даты и времени\u0026rdquo;.\nЕсли нужно получить представление даты-времени в ISO формате, можно воспользоваться методом isoformat() или функцией str():\nfrom datetime import datetime my_datetime = datetime(1992, 10, 6, 10, 12, 45) print(my_datetime.isoformat()) print(str(my_datetime)) # Вывод:\r1992-10-06T10:12:45\r1992-10-06 10:12:45 Преобразование строки в datetime #\rПреобразовать строку в объект типа datetime можно:\nВручную, используя split(); С помощью метода strptime(). Второй способ компактнее и читабельнее, поэтому поощряется в большей степени. Метод strptime() принимает два аргумента: первый – строку, второй – формат\nstrptime() – это парсер, который превращает произвольную строку в объект типа datetime\nstrftime() – это форматтер, который превращает объект datetime в строку заданного формата\rfrom datetime import datetime datetime0 = datetime.strptime(\u0026#39;10.08.2034 13:55:59\u0026#39;, \u0026#39;%d.%m.%Y %H:%M:%S\u0026#39;) datetime1 = datetime.strptime(\u0026#39;10/08/21\u0026#39;, \u0026#39;%d/%m/%y\u0026#39;) datetime2 = datetime.strptime(\u0026#39;Tuesday 10, August 2021\u0026#39;, \u0026#39;%A %d, %B %Y\u0026#39;) datetime3 = datetime.strptime(\u0026#39;18.20.34\u0026#39;, \u0026#39;%H.%M.%S\u0026#39;) datetime4 = datetime.strptime(\u0026#39;2021/08/10\u0026#39;, \u0026#39;%Y/%m/%d\u0026#39;) datetime5 = datetime.strptime(\u0026#39;10.08.2021 (Tuesday, August)\u0026#39;, \u0026#39;%d.%m.%Y (%A, %B)\u0026#39;) datetime6 = datetime.strptime(\u0026#39;Year: 2021, Month: 08, Day: 10, Hour: 18.\u0026#39;, \u0026#39;Year: %Y, Month: %m, Day: %d, Hour: %H.\u0026#39;) print(datetime0, datetime1, datetime2, datetime3, datetime4, datetime5, datetime6, sep=\u0026#39;\\n\u0026#39;) print(my_datetime) # Вывод:\r2034-08-10 13:55:59\r2021-08-10 00:00:00\r2021-08-10 00:00:00\r1900-01-01 18:20:34\r2021-08-10 00:00:00\r2021-08-10 00:00:00\r2021-08-10 18:00:00 Первый аргумент должен соответствовать формату второго аргумента. Иначе возникнет исключение ValueError\rfrom datetime import datetime my_datetime = datetime.strptime(\u0026#39;10/08/2034 13:55:59\u0026#39;, \u0026#39;%d.%m.%Y %H:%M:%S\u0026#39;) print(my_datetime) # Вывод: ValueError: time data \u0026#39;10/08/2034 13:55:59\u0026#39; does not match format \u0026#39;%d.%m.%Y %H:%M:%S\u0026#39; При создании объекта datetime из строки с помощью метода strptime() необязательно, чтобы строка содержала год, месяц и день, в отличие от ручного создания этого объекта\rТип данных timedelta #\rТип данных timedelta представляет собой временной интервал (разница между двумя объектами datetime или date) и используется для удобного выполнения различных манипуляций над типами datetime или date. Он, как и предыдущие, неизменяем.\nПри создании объекта timedelta можно указать следующие аргументы: недели (weeks), дни (days), часы (hours), минуты (minutes), секунды (seconds), миллисекунды (milliseconds), микросекунды (microseconds). Все они являются необязательными и по умолчанию равны нулю.\nfrom datetime import timedelta delta = timedelta(days=7, hours=20, minutes=7, seconds=17) print(delta) print(type(delta)) # Вывод:\r7 days, 20:07:17\r\u0026lt;class \u0026#39;datetime.timedelta\u0026#39;\u0026gt; Аргументы могут быть целыми числами или же числами с плавающей точкой, кроме того они могут быть отрицательными\rtimedelta хранит только days, seconds, microseconds, в то время как остальные переданные аргументы сводятся к ним по следующим правилам:\nmilliseconds преобразуется в 1000 microseconds minutes в 60 seconds hours в 3600 seconds weeks в 7 days Сами атрибуты days, seconds и microseconds имеют ограничения и нормализуются так, чтобы представление было уникальным:\n0 \u0026lt;= microseconds \u0026lt; 1000000 0 \u0026lt;= seconds \u0026lt; 3600*24 (количество секунд в одном дне) -999999999 \u0026lt;= days \u0026lt;= 999999999 Пример:\nfrom datetime import timedelta delta1 = timedelta(days=50, seconds=27, microseconds=10, milliseconds=29000, minutes=5, hours=8, weeks=2) delta2 = timedelta(weeks=1, hours=23, minutes=61) delta3 = timedelta(hours=25) delta4 = timedelta(minutes=300) print(delta1, delta2, delta3, delta4, sep=\u0026#39;\\n\u0026#39;) # Вывод:\r64 days, 8:05:56.000010\r8 days, 0:01:00\r1 day, 1:00:00\r5:00:00 Также timedelta может представлять собой отрицательный временной интервал:\nfrom datetime import timedelta delta1 = timedelta(minutes=-40) delta2 = timedelta(seconds=-10, weeks=-2) print(delta1) print(delta2) # Вывод:\r-1 day, 23:20:00\r-15 days, 23:59:50 В первом случае, если мы сложим -1 день с временем 23:20, то как раз получим введённые -40 минут. Аналогично и со вторым примером.\nОбъект timedelta не хранит отрицательное число секунд и микросекунд, но может хранить отрицательное количество дней\rЕсли нужно получить из отрицательного значения timedelta положительное, можно использовать встроенную функцию abs():\nfrom datetime import timedelta delta = timedelta(days=-2, minutes=-300) abs_delta = abs(delta) print(\u0026#39;Исходная:\u0026#39;, delta.days, delta.seconds, delta, sep=\u0026#39;\\n\u0026#39;) print(\u0026#39;С модулем:\u0026#39;, abs_delta.days, abs_delta.seconds, abs_delta, sep=\u0026#39;\\n\u0026#39;) # Вывод:\rИсходная:\r-3\r68400\r-3 days, 19:00:00\rС модулем:\r2\r18000\r2 days, 5:00:00 Для преобразования timedelta к строковому типу можно использовать встроенные функции str() и repr() (первая вызывается автоматически при печати значения объекта этого типа):\nfrom datetime import timedelta delta1 = timedelta(weeks=1, hours=23, minutes=61) delta2 = timedelta(minutes=-300) print(str(delta1), str(delta2), sep=\u0026#39;\\n\u0026#39;) print(repr(delta1), repr(delta2), sep=\u0026#39;\\n\u0026#39;) 8 days, 0:01:00\r-1 day, 19:00:00\rdatetime.timedelta(days=8, seconds=60)\rdatetime.timedelta(days=-1, seconds=68400) Метод total_seconds() #\rtotal_seconds() возвращает общее количество секунд, содержащееся во временном интервале timedelta\nУ типа timedelta нет атрибутов hours, minutes и week, поэтому, чтобы получить, к примеру, часы и минуты, можно воспользоваться следующим кодом:\ndef hours_minutes(td): return td.seconds // 3600, (td.seconds // 60) % 60 Сравнение временных интервалов #\rОбъекты типа timedelta можно сравнивать между собой, как и любые другие.\nНо если временной интервал сравнивается с другим типом данных операторами \u0026lt;, \u0026gt;, \u0026lt;=, \u0026gt;=, возникает ошибка (исключение) TypeError.\rОперации с timedelta #\rСложение и разность временных интервалов: from datetime import timedelta delta1 = timedelta(days=5) + timedelta(seconds=3600) # 5 дней + 1 час delta2 = timedelta(days=5) - timedelta(seconds=3600) # 5 дней - 1 час print(delta1) print(delta2) # Вывод:\r5 days, 1:00:00\r4 days, 23:00:00 Умножение интервала на число: from datetime import timedelta delta1 = 48 * timedelta(hours=1) delta2 = timedelta(weeks=1) * (3/7) print(delta1) print(delta2) 2 days, 0:00:00\r3 days, 0:00:00 При умножении интервала на float число может произойти округление!\rДеление интервала на число from datetime import timedelta delta = timedelta(hours=1, minutes=6) delta1 = delta / 2 delta2 = delta // 5 print(delta1) print(delta2) # Вывод:\r0:33:00\r0:13:12 Деление временных интервалов друг на друга. По сути общая длительность первого интервала делится на общую длительность второго (которые вычисляются методом total_seconds()): from datetime import timedelta delta1 = timedelta(weeks=1) / timedelta(hours=5) # обычное деление, результат float delta2 = timedelta(weeks=1) // timedelta(hours=5) # целочисленное деление, результат int print(delta1) print(delta2) # Вывод:\r33.6\r33 Также можно найти остаток от деления двух интервалов, при этом вернётся объект timedelta:\nfrom datetime import timedelta delta1 = timedelta(weeks=1) % timedelta(hours=5) # 3 часа delta2 = timedelta(hours=1) % timedelta(minutes=7) # 4 минуты print(delta1) print(delta2) # Вывод:\r3:00:00\r0:04:00 Операции с datetime и date #\rК объектам типа datetime и date можно прибавлять (вычитать) временные интервалы, формируя новые объекты тех же типов данных:\nfrom datetime import datetime, date, timedelta my_datetime1 = datetime(2021, 1, 1, 12, 15, 20) + timedelta(weeks=1, hours=25) my_datetime2 = datetime(2021, 1, 1, 12, 15, 20) - timedelta(weeks=1, hours=25) my_date1 = date(2021, 1, 1) + timedelta(hours=49) my_date2 = date(2021, 1, 1) - timedelta(hours=49) print(my_datetime1, my_datetime2, my_date1, my_date2, sep=\u0026#39;\\n\u0026#39;) # Вывод:\r2021-01-09 13:15:20\r2020-12-24 11:15:20\r2021-01-03\r2020-12-30 При прибавлении timedelta к data неполные сутки отбрасываются\rПри вычитании объектов date или datetime получается объект timedelta:\nfrom datetime import datetime, date, timedelta delta1 = datetime(2021, 1, 1, 12, 15, 20) - datetime(2020, 5, 1, 10, 5, 10) delta2 = date(2020, 2, 29) - date(2019, 9, 1) delta3 = date(2019, 9, 1) - date(2020, 2, 29) print(type(delta1)) print(type(delta2)) print(type(delta3)) # Вывод:\r\u0026lt;class \u0026#39;datetime.timedelta\u0026#39;\u0026gt;\r\u0026lt;class \u0026#39;datetime.timedelta\u0026#39;\u0026gt;\r\u0026lt;class \u0026#39;datetime.timedelta\u0026#39;\u0026gt; ","date":"16 июня 2024","externalUrl":null,"permalink":"/HFK_website/posts/date_and_time_1/","section":"Конспекты","summary":"Модули и типы данных для работы со временем, датой и временными промежутками в языке программирования Python.","title":"Работа с датой и временем. Часть 1","type":"posts"},{"content":"\rКраткое описание мини-проекта HFK\rHFK (Hungry for Knowledge) – онлайн-ресурс, содержащий конспекты, статьи и проекты автора, охватывающие спектр тем, связанных с программированием и не только.\nЦели проекта: предоставить удобный доступ к материалам и создать портфолио.\nПланы на будущее: разместить проект, связанный с языком программирования Python; сделать свою первую полноценную статью.\nПроект HFK был выполнен с помощью генератора статических сайтов Hugo и темы Blowfish.\n","date":"14 июня 2024","externalUrl":null,"permalink":"/HFK_website/about/","section":"🎉","summary":"Краткое описание мини-проекта HFK\rHFK (Hungry for Knowledge) – онлайн-ресурс, содержащий конспекты, статьи и проекты автора, охватывающие спектр тем, связанных с программированием и не только.","title":"Hungry for Knowledge","type":"page"},{"content":"","date":"12 июня 2024","externalUrl":null,"permalink":"/HFK_website/authors/","section":"🎉","summary":"","title":"Авторы","type":"page"},{"content":"","date":"25 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/paradigms/","section":"Tags","summary":"","title":"Paradigms","type":"tags"},{"content":"\rВсё о парадигмах программирования: особенности, механизмы, какие языки поддерживают и т.д.\rИмперативное программирование #\rВычислительная техника создавалась для решения математических задач – расчета баллистических траекторий, численного решения уравнений и т.д. Для этого же предназначены первые языки программирования, такие как Fortran, Алгол, реализованные в парадигме императивного программирования.\nХарактеристики:\nв исходном коде программы записаны инструкции (команды); инструкции должны выполняться последовательно; данные, полученные при выполнении инструкции, могут записываться в память; данные, получаемые при выполнении предыдущих инструкций, могут читаться из памяти последующими инструкциями. Основные механизмы управления:\nпоследовательное исполнение команд; использование именованных переменных; использование оператора присваивания; использование ветвления (оператор if); использование безусловного перехода (оператор goto). Ключевой идеей императивного программирования является работа с переменными, как с временным хранением данных в оперативной памяти.\nСтруктурное программирование #\rСтрук­тур­ная парадигма программирования на­це­ле­на на со­кра­ще­ние вре­ме­ни раз­ра­бот­ки и уп­ро­ще­ние под­держ­ки про­грамм за счёт ис­поль­зо­ва­ния блоч­ных опе­ра­то­ров и под­про­грамм. От­ли­чительная чер­та струк­тур­ных про­грамм – от­каз от опе­ра­то­ра безусловного пе­ре­хо­да (goto), который широко использовался в 1970-х годах.\nОсновные механизмы управления:\nпоследовательное исполнение команд; использование именованных переменных; использование оператора присваивания; использование ветвления (оператор if); использование циклов; использование подпрограмм (функций). Парадигму структурного программирования предложил нидерландский ученый Эдсгер Дейкстра.\rОбъектно-ориентированное программирование #\rВ объектно-ориентированной парадигме про­грам­ма раз­би­ва­ет­ся на объ­ек­ты – струк­ту­ры дан­ных, со­стоя­щие из по­лей, опи­сы­ваю­щих со­стоя­ние, и ме­то­дов – функций, при­ме­няе­мых к объ­ек­там для изме­не­ния или за­про­са их со­стоя­ния.\nОбъ­ект­но-ори­ен­ти­ро­ван­ную парадигму программирования под­дер­жи­ваю­т:\nPython; C#; Java; C++; JavaScript; и другие. Основные механизмы управления:\nабстракция; класс; объект; полиморфизм; инкапсуляция; наследование. Декларативное программирование #\rДекларативное программирование – парадигма программирования, в которой задаётся спецификация решения задачи, то есть описывается ожидаемый результат, а не способ его получения. Противоположностью декларативного является императивное программирование, при котором на том или ином уровне детализации требуется описание последовательности шагов для решения задачи. В качестве примеров декларативных языков обычно приводят HTML и SQL. При создании HTML с помощью тегов описывается, какую нужно получить страничку в браузере, а не то, как нарисовать на экране заголовок статьи, оглавление и текст.\nК подвидам декларативного программирования также зачастую относят функциональное и логическое программирование. Несмотря на то, что программы на таких языках нередко содержат алгоритмические составляющие, архитектура в императивном понимании (как нечто отдельное от кодирования) в них также отсутствует: схема программы является непосредственно частью исполняемого кода.\nЛогическое программирование #\rПри использовании логического программирования программа содержит описание проблемы в терминах фактов и логических формул, а решение проблемы система находит с помощью механизмов логического вывода.\nВ конце 60-х годов XX века Корделл Грин предложил использовать резолюцию как основу логического программирования. Алан Колмеро создал язык логического программирования Prolog в 1971 году. Логическое программирование пережило пик популярности в середине 80-х годов XX века, когда было положено в основу проекта разработки программного и аппаратного обеспечения вычислительных систем пятого поколения.\nВажное его преимущество – достаточно высокий уровень машинной независимости, а также возможность откатов, возвращения к предыдущей подцели при отрицательном результате анализа одного из вариантов в процессе поиска решения.\nОдин из концептуальных недостатков логического подхода – специфичность класса решаемых задач.\nНедостаток практического характера – сложность эффективной реализации для принятия решений в реальном времени, скажем, для систем жизнеобеспечения.\nФункциональное программирование #\rОсновной инструмент функционального программирования (ФП) – математические функции.\nМатематические функции выражают связь между исходными данными и итогом процесса. Процесс вычисления также имеет вход и выход, поэтому функция – вполне подходящее и адекватное средство описания вычислений. Именно этот простой принцип положен в основу функциональной парадигмы программирования.\nФункциональное программирование – декларативная парадигма программирования.\rФункциональная программа – набор определений функций. Функции определяются через другие функции или рекурсивно через самих себя. При выполнении программы функции получают аргументы, вычисляют и возвращают результат, при необходимости вычисляя значения других функций.\nОсновные идеи функционального программирования:\nнеизменяемые переменные – в функциональном программировании можно определить переменную, но изменить ее значение нельзя; чистая функция – это функция, результат работы которой предсказуем. При вызове с одними и теми же аргументами, такая функция всегда вернет одно и то же значение. Про такие функции говорят, что они не вызывают побочных эффектов; функции высшего порядка – могут принимать другие функции в качестве аргумента или возвращать их; рекурсия – поддерживается многими языками программирования, а для функционального программирования обязательна. Дело в том, что в языках ФП отсутствуют циклы, поэтому для повторения операций служит рекурсия. Использование рекурсии в языках ФП оптимизировано, и происходит быстрее, чем в языках императивного программирования; лямбда-выражения – способ определения анонимных функциональных объектов. Сильные стороны функционального программирования:\nповышеная надёжность кода; удобство организации модульного тестирования; возможности оптимизации при компиляции; возможности параллелизма. Недостатки: отсутствие присваиваний и замена их на порождение новых данных приводят к необходимости постоянного выделения и автоматического освобождения памяти, поэтому в системе исполнения функциональной программы обязательным компонентом становится высокоэффективный сборщик мусора.\n","date":"25 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/programming_paradigms/","section":"Конспекты","summary":"Всё о парадигмах программирования: особенности, механизмы, какие языки поддерживают и т.","title":"Парадигмы программирования","type":"posts"},{"content":"","date":"20 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/algorythms/","section":"Tags","summary":"","title":"Algorythms","type":"tags"},{"content":"","date":"20 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/big-o/","section":"Tags","summary":"","title":"Big O","type":"tags"},{"content":"\rВсё про нотацию Big O на примерах базовых колллекций в Python\rBig O – нотация, использующаяся в программировании, информатике для описания сложности алгоритмов. Она характеризует, как быстро растёт время выполнения алгоритма с ростом объёма входных данных, используя для оценки верхнюю границу (наихудший исход).\nПримеры нотаций Big O в порядке убывания скорости выполнения соответствующих им алгоритмов:\nO(1): Константная сложность. Читется как \u0026ldquo;сложность порядка 1\u0026rdquo;. Время выполнения алгоритма не зависит от размера входных данных, т.е. если даже алгоритм выполняется постоянно в 3 шага, то он будет не O(3), а O(1). Является идеальной с точки зрения производительности, однако зачастую недостижима.\nПримеры:\nДоступ к элементу в массиве по индексу; Вставка или удаление элемента в конец списка (очереди) фиксированной длины. O(log n): Логарифмическая сложность. Время выполнения алгоритма растет медленно с увеличением размера входных данных. Например, бинарный поиск в отсортированном массиве.\nПример:\nБинарный поиск. В этом алгоритме на каждом шаге половина данных отсекается, и поиск продолжается в оставшейся половине. Это означает, что при увеличении размера входных данных вдвое, бинарный поиск требует всего одного дополнительного шага. O(n): Линейная сложность. Читается как \u0026ldquo;сложность порядка n\u0026rdquo;. Время выполнения алгоритма пропорционально размеру входных данных.\nПример:\nПоиск максимального значения в списке: def find_max(my_list): max_num = my_list[0] for i in range(len(my_list)): if my_list[i] \u0026gt; max_num: max_num = my_list[i] return max_num O(n log n): Линейно-логарифмическая сложность. Время выполнения алгоритма растет быстрее, чем линейно, но медленнее, чем квадратично.\nПример:\nСортировка слиянием. O(n^2): Квадратичная сложность.\nПримеры:\nСортировка пузырём; Поиск суммы всех пар элементов списка: def pairs_sum(my_list): summ = 0 for i in range(my_list): for j in range(my_list): summ += my_list[i] + my_list[j] return summ O(n^3): Кубическая сложность.\nПример:\nАлгоритмы, имеющие три вложенных цикла. O(2^n): Экспоненциальная сложность. Она обычно не является оптимальным решением из-за своей высокой вычислительной нагрузки при увеличении размера входных данных.\nПример:\nАлгоритмы, использующие рекурсию без оптимизации (рекурсивное вычисление чисел Фибоначчи). O(n!): Факториальная сложность. Это самая высокая степень роста времени выполнения алгоритма. Этот тип сложности встречается, например, при переборе всех возможных комбинаций элементов, что делает его чрезвычайно неэффективным для больших значений n.\nПример:\nПеребор всех перестановок элементов массива. График сложностей алгоритмов #\rНеусщественное не учитывается #\rПри оценке сложности алгоритмов лучше игнорировать константы и несущественные части, от которых скорость выполнения практически не зависит.\nНапример, при оценке 5n^2 + 3n + 2 можно откинуть 5, 3n, 2. В результате мы получим O(n^2).\nИли при оценке n^2 + n + log(n) оставляем самую значимую часть и получаем тот жеO(n^2).\nСложность операций в Python #\rРассмотрим некоторые операции, которые часто используют для базовых структур в языке программирования Python. n - размер структуры данных\nСписки: #\rОперация Пример Сложность Примечание Получение элемента l[i] O(1) Присваивание значения элементу l[i] = 0 O(1) Размер списка len(l) O(1) Добавление элемента в конец списка l.append(5) O(1) Скорее всего это неверно Удаление последнего элемента l.pop() O(1) Аналогично l.pop(-1) Очищение списка l.clear() O(1) Аналогично l = [] Добавление нескольких элементов l1.extend(l2) O(len(n)) Прямая зависимость с размером l2 Создание списка list(l) O(n) Прямая зависимость с разером l Получение среза l[a:b] O(n) O(a - b) Сравнение списков l1 == l2 O(n) Вставка через срез l[a:b] O(n) Проверка наличия элемента в списке x is/not in l O(n) Тот же перебор элементов Поверхностное копирвоание списка l.copy() O(n) Аналогично l[:] Удаление элемента через del del l[i] O(n) Перебор до совпадения индексов, а значит зависит от i Удаление элемента через remove l.remove(...) O(n) Удаление элемента через pop l.pop(i) O(n) O(n-i) Получение крайнего значения min(l)/max(l) O(n) Снова перебор элементов Получение обратного списка l.reverse() O(n) Перебор for i in l: O(n) Сортировка l.sort() O(n * log(n)) Или sorted(l) Умножение списка на константу k*l O(k*n) 5*l =\u0026gt; O(n), len(l)*l =\u0026gt; O(n^2) Кортежи: #\rНет смысла составлять таблицу, т.к. кортежи - те же самые списки, только неизменяемые. Поэтому к ним применимы все операции, не изменяющие структуру данных, и они имеют такие же нотации сложности, как и списки.\nМножества: #\rОперация Пример Сложность Примечание Размер множества len(s) O(1) Добавление элемента s.add(5) O(1) Проверка наличия элемента в множестве x is/not in s O(1) Удаления элемента через discard s.discard(...) O(1) Удаления элемента через remove s.remove(...) O(1) Удаления элемента через pop s.pop() O(1) Удаляемый элемент выбирается случайно Очищение множества s.clear() O(1) Аналогично s = set() Создание множества set(...) O(n) Сравнение множеств через ==, != s != t O(n) Сравнение множеств через \u0026lt;=, \u0026lt; s \u0026lt;= t O(n) Аналогично s.issubset(t) Сравнение множеств через \u0026gt;=, \u0026gt; s \u0026gt;= t O(n) Аналогично s.issuperset(t) Объединение s | t O(n) Аналогично s.union(t) Пересечение s \u0026amp; t O(n) Аналогично s.intersection(t) Разность s - t O(n) Аналогично s.difference(t) Симметрическая разность s ^ t O(n) Аналогично s.symmetric_difference(t) Перебор for i in s: O(n) Копирование s.copy() O(n) Неизменяемые множества #\rПоддерживают все операции обычного множества за исключением тех, который изменяют структуру данных, и имеют те же нотации сложности, как у изменяемых множеств.\nСловари #\rОперация Пример Сложность Примечание Получение элемента d[key] O(1) Добавление элемента/\nИзменение значения d[key] = val O(1) Размер словаря len(d) O(1) Удаление элемента через del del d[key] O(1) Удаление элемента через popitem d.popitem() O(1) Удаляемый элемент выбирается случайно Удаление элемента через pop d.pop(key) O(1) get() и setdefault() d.get(key) O(1) Очищение словаря d.clear O(1) Аналогично s = {} или s = dict() Получение списка ключей/значений d.keys() O(1) Создание словаря dict(...) O(n) Перебор элементов for key in d: O(n) Для .keys(), .values(), .items() Другие обозначения #\rКроме обозначения \u0026ldquo;Big O\u0026rdquo;, существуют другие обозначения для оценки сложности алгоритмов:\nBig Theta (Θ): Big Theta также оценивает верхнюю и нижнюю границы временной сложности алгоритма, но описывает точную сложность, а не только наихудший случай, как Big O. Θ(f(n)) обозначает, что время выполнения алгоритма ограничено функцией f(n) как сверху, так и снизу. Big Omega (Ω): Big Omega оценивает нижнюю границу временной сложности алгоритма. Ω(f(n)) говорит о том, что алгоритм выполнится не быстрее, чем функция f(n). Little O (o): Little O представляет собой верхнюю границу, которая строже, чем Big O. Если f(n) является o(g(n)), это означает, что время выполнения алгоритма ограничивается функцией g(n), но алгоритм работает быстрее, чем g(n). Little Omega (ω): Little Omega представляет собой нижнюю границу, которая строже, чем Big Omega. Если f(n) является ω(g(n)), это означает, что алгоритм работает медленнее, чем g(n), но не медленнее, чем f(n). ","date":"20 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/big_o/","section":"Конспекты","summary":"Всё про нотацию Big O на примерах базовых колллекций в Python\rBig O – нотация, использующаяся в программировании, информатике для описания сложности алгоритмов.","title":"Big O","type":"posts"},{"content":"\rУправление текстовыми и бинарными файлами в языке программирования Python\rПрограммы, которые мы писали до сих пор, требовали повторного ввода данных при каждом запуске, потому что, как только программа заканчивает свою работу, данные для переменных исчезают из оперативной памяти. Если их нужно сберечь между выполнениями программы, требуется запись. Данные записываются в файл, обычно сохраняющийся на диске компьютера.\nСохраненные в файле данные обычно остаются в нем после завершения работы программы, их можно позже извлечь и использовать.\nФайловый ввод и вывод #\rКогда программе нужно сохранить данные для дальнейшего использования, она пишет их в файл. Из файла записанные данные можно считать.\nПрограммисты называют такой процесс сохранения данных – запись данных в файл. Когда часть данных пишется в файл, она копируется из переменной, находящейся в оперативной памяти. Файл, куда сохраняются данные, называется файл вывода, потому что программа помещает в него выходные данные.\nПроцесс извлечения данных из файла называется чтением данных из файла. Данные считываются из файла ввода. Программа извлекает входные данные из этого файла. Когда порция данных считывается из файла, она копируется в оперативную память, где на нее ссылается переменная.\nКогда в программе используется файл, как правило требуется выполнить три шага:\nОткрыть файл. В процессе открытия файла создается связь между файлом и программой. Открытие файла вывода обычно создает файл на диске и позволяет программе записать в него данные. Открытие файла ввода позволяет программе прочитать данные из файла. Обработать файл. На этом шаге данные либо записываются в файл (если это файл вывода), либо считываются из файла (если это файл ввода). Закрыть файл. После использования файла программой его нужно закрыть, тем самым освободить ресурс и разорвать связь файла с программой. Типы файлов #\rСуществует два типа файлов: текстовые и двоичные (бинарные). Python позволяет работать с любыми из них.\nТекстовый файл содержит данные, которые были закодированы в виде текста при помощи такой схемы кодирования, как ASCII или Юникод. Даже если файл содержит числа, эти числа в файле хранятся как набор символов. В результате файл можно открыть и просмотреть в текстовом редакторе, таком как Блокнот.\nДвоичный файл содержит данные, которые не были преобразованы в текст. Данные, которые помещены в двоичный файл, предназначены только для чтения программой, и такой файл невозможно просмотреть в текстовом редакторе.\nМетоды доступа к файлам #\rБольшинство языков программирования обеспечивают два способа получения доступа к данным в файле:\nпоследовательный, прямой или произвольный. Последовательный, как при проигрывании кассет с записью на пленке, выдает порции информации одну за другой. При работе с таким файлом не получится перескочить сразу к нужной части данных, сначала придется прочитать все предыдущие.\nПри работе с файлом с прямым или произвольным доступом можно перескочить непосредственно к любой порции данных, не читая предыдущие. Как проигрыватель компакт-дисков или МР3-плеер перескакивает сразу к любой песне.\nКодировка файлов #\rКодировка UTF-8 самая распространенная, рекомендуется использовать именно ее в качестве кодировки по умолчанию для текстовых файлов. Она довольно сложная, и на кодирование одного символа может уходить до 6 байт.\nВ операционной системе Windows до сих пор используется однобайтовая кодировка Windows-1251. Чтобы избежать проблем при работе с текстовыми файлами в Windows нужно явно указывать кодировку.\nРабота с текстовыми файлами #\rОткрытие файла #\rФункция open() открывает файлы в Python. Она создает файловый объект и связывает его с файлом на диске.\nФормат применения: файловая_переменная = open(имя_файла, режим_доступа), где файловая_переменная – имя переменной, которая ссылается на файловый объект (такую переменную называют дескриптор файла); имя_файла – строковый литерал/ключ, задающий имя файла; режим_доступа – строковый литерал/ключ, задающий режим доступа.\nКлючи режима доступа:\nКлюч Режим Примечание 'r' Чтение В этом режиме файл не изменить 'w' Запись Если файл уже существует, содержимое стирается 'a' Добавление Открывает для записи. Добавляет данные в конец файла. Если файла не существует, он будет создан 'r+' Чтение и запись Частичная перезапись содержимого файла 'x' Создание Если файл существует, произойдёт ошибка Ключи режима обработки файлов:\nКлюч Режим 't' Тектовый 'b' Бинарный Чтобы открыть бинарный файл для чтения, можно воспользоваться следующим кодом: file = open('file.dat', 'rb').\nПо умолчанию режим доступа определён для чтения, поэтому, к примеру, файл students.txt можно открыть для чтения так: student_file = open('students.txt').\nАналогично, по умолчанию режим обработки определён как текстовый.\nПредположим, надо создать файл с именем sales.txt и записать в него данные о продажах. Это можно сделать так: sales_file = open('sales.txt', 'w')\nУказание места расположения файла #\rКогда в open() передается имя файла без указания пути, интерпретатор Python исходит из предположения, что место расположения файла то же, что у исполняемой программы (используется относительный путь).\nЕсли же требуется указать путь, то это можно сделать так: test_file = open('C:\\\\Users\\\\temp\\\\test.txt', 'w'). При этом вместо экранирования символа \\ можно воспользоваться \u0026ldquo;raw strings\u0026rdquo;: test_file = open(r'C:\\Users\\temp\\test.txt', 'w').\nКодировка #\rПри открытии файлов следует указывать его кодировку. Например, если открывается файл на русском языке, нужно использовать параметр encoding: file = open('info.txt', 'r', encoding='utf-8').\nЧтобы получить кодировку уже открытого файла, используют файловое свойство encoding:\nfile1 = open(\u0026#39;students.txt\u0026#39;, \u0026#39;w\u0026#39;) file2 = open(\u0026#39;customers.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) print(file1.encoding) print(file2.encoding) file1.close() file2.close() # Вывод: cp1252 utf-8 Закрытие файлов #\rПосле окончания работы с файлом его необходимо закрыть по следующим причинам:\nесли файл изменялся, это позволит корректно его сохранить; если открытый файл потребуется другим программам, программа на Python может его блокировать; не стоит держать в памяти лишние, уже не нужные, данные; удалить открытый кем-то файл проблематично. Для закрытия файла используется метод close():\nfile = open(\u0026#39;info.txt\u0026#39;, \u0026#39;r\u0026#39;) file.close() Чтобы проверить открыт файл или закрыт можно использовать файловое свойство (атрибут) closed:\nfile1 = open(\u0026#39;students.txt\u0026#39;, \u0026#39;w\u0026#39;) file2 = open(\u0026#39;customers.txt\u0026#39;, \u0026#39;w\u0026#39;) file1.close() print(file1.closed) print(file2.closed) file2.close() # Вывод: True False Чтение файлов #\rДля чтения содержимого открытого для чтения файла используются три файловых метода:\nread() – читает все содержимое файла; readline() – читает одну строку из файла; readlines() – читает все содержимое файла и возвращает список строк. Предположим, в папке с исполняемой программой есть текстовый файл languages.txt с содержимым:\nPython Java Javascript C# C C++ PHP R Objective-C Метод read() #\rread() считывает все содержимое из файла и возвращает строку, которая может содержать символы перехода на новую строку '\\n'. Приведённый ниже код считывает содержимое файла languages.txt в переменную content. В котороый будет содержаться строка 'Python\\nJava\\nJavascript\\nC#\\nC\\nC++\\nPHP\\nR\\nObjective-C'.\nПри этом, если методу read() передать целочисленный параметр, то будет считано не более заданного количества символов. Например, считывать файл посимвольно можно при помощи метода read(1).\nМетод readline() #\rreadline() считывает одну строку из файла (до символа конца строки '\\n'), при этом возвращается считанная строка вместе с символом '\\n'. Если считать строку не удалось – достигнут конец файла и больше строк в нем нет, возвращается пустая строка.\nЭтот метод удобен, когда нужно управлять процессом чтения из файла, особенно если файл очень большой и его полное считывание может привести к нехватке памяти.\nЧтобы прочитать содержимое всего файла построчно, можно вопспользоваться циклами while или for (второй предпочтительнее). Сам же файл позволяет итерироваться по строкам, поэтому его можно использовать в качестве аргументов функции map(), к примеру, или перебрать его строки в цикле, не объявляя отдельную переменную с содержимым файла:\nfile = open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) for line in file: print(line.strip()) file.close() Метод readlines() #\rreadlines() считывает все строки из файла и возвращает список из всех считанных строк (одна строка – один элемент списка). При этом, каждая строка в списке заканчивается символом переноса строки '\\n'.\nЧтобы удалить символ '\\n' можно использовать списочное выржение, лямбда-функцию или функцию map(): languages = list(map(str.strip, file.readlines()))\nЕсли передать в функцию list() ссылку на файловый объект list(file), получим тот же результат, что при вызове метода file.readlines().\nКурсор в файле #\rВызов методов read(), readlines(), readline() перемещает текущую позицию (курсор) туда, где завершилось чтение. Для методов read() и readlines() это конец файла, для метода readline() – следующая строка после прочитанной.\nПосле завершения чтения всего файла не получится считать ни одного символа. Все последующие вызовы методов read() или readline() будут приводить к считыванию пустой строки.\nДля повторного чтения данных из файла, можно:\nпереоткрыть файл, тогда курсор снова попадёт в начало; переместить курсор с помощью файлового метода seek(). Файловые методы seek() и tell() #\rseek() задаёт позицию курсора в байтах от начала файла. Чтобы перевести курсор в самое начало файла необходимо вызвать метод seek(), передав ему в качестве аргумента значение 0.\nПусть есть файл languages.txt:\nPython Java Javascript C# C++ PHP R Objective-C Тогда приведённый ниже код даст одинаковый вывод Python:\nfile = open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) line1 = file.readline() file.seek(0) # переводим курсор в самое начало line2 = file.readline() print(line1, line2) file.close() Метод tell() возвращает позицию курсора в байтах от начала файла:\nfile = open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) print(file.tell()) line1 = file.readline() print(file.tell()) file.close() # Вывод: 0 8 Менеджер контекста #\rЧтобы автоматически закрывать файл сразу после окончания работы с ним и осуществлять закрытие даже при возникновении ошибки, можно воспользоваться менеджером контекстов.\nМенеджер контекста – объект, реализующий одноименный протокол. Объекты, реализующие этот протокол, позволяют использовать следующий специальный синтаксис:\nwith object as name: # Здесь нам доступен ресурс name. # Это тело with-блока. # А здесь ресурс name уже освобождён, даже если в теле with-блока произошла ошибка. Весь код в теле with-блока работает \u0026ldquo;в контексте\u0026rdquo;. Чаще всего контекст подразумевает выделение некоего ресурса, например, файла. По выходу из контекста ресурс автоматически освобождается, даже если при выполнении блока возникло исключение. Как только закончится код, оформленный с отступами в with, это будет означать, что контекст закончился, и Python автоматически закроет файл.\nСледующие два блока кода эквиваленты по результату выполнения:\nfile = open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) for line in file: print(line) file.close() # ручное закрытие файла print(\u0026#39;Файл закрыт\u0026#39;) with open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: for line in file: print(line) # автоматическое закрытие файла print(\u0026#39;Файл закрыт\u0026#39;) С помощью менеджера контекста можно работать с несколькими файлами:\nwith open(\u0026#39;input.txt\u0026#39;, \u0026#39;r\u0026#39;) as input_file, open(\u0026#39;output.txt\u0026#39;, \u0026#39;w\u0026#39;) as output_file: # обработка файлов Запись данных в файл #\rДля записи используются два файловых метода (файл должен быть открыт для записи – режимы 'w', 'а', 'r+', иначе произойдет ошибка):\nwrite() – записывает переданную строку в файл; writelines() – записывает переданный список строк в файл. Метод write() #\rРассмотрим текcтовый файл myfile.txt, содержащий следующие строки:\nFirst line of the file. Second line of the file. Third line of the file. Если файл открыт в режиме 'w', то его содержимое сначала полностью стирается, а уже затем в него добавляются данные:\nwith open(\u0026#39;myfile.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: file.write(\u0026#39;Python and beegeek forever\\n\u0026#39;) file.write(\u0026#39;We love stepik \u0026lt;3\u0026#39;) # Файл myfile.txt будет содержать следующее: # Python and beegeek forever # We love stepik \u0026lt;3 Если файл открыт в режиме 'a', то запись происходит в самый конец файла (результат очевиден).\nЕсли файл открыт в режиме 'r+', то происходит частичная перезапись его содержимого:\nwith open(\u0026#39;myfile.txt\u0026#39;, \u0026#39;r+\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: file.write(\u0026#39;Python and beegeek forever\\n\u0026#39;) file.write(\u0026#39;We love stepik.\u0026#39;) # Файл myfile.txt будет содержать следующее: # Python and beegeek forever # We love stepik. file. # Third line of the file. Последовательные вызовы метода write() дописывают текст в конец файла. Приведенный ниже код создает файл philosophers.txt и записывает в него три строки текста:\nwith open(\u0026#39;philosophers.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: file.write(\u0026#39;Джoн Локк\\n\u0026#39;) file.write(\u0026#39;Дэвид Хьюм\\n\u0026#39;) file.write(\u0026#39;Эдмyнд Берк\\n\u0026#39;) Метод writelines() #\rНа практике часто приходится записывать в файл содержимое целого списка. Это можно сделать с помощью цикла или метода writelines(), что удобнее. Метод writelines() принимает в качестве аргумента список строк и записывает его в файл.\nПриведенный ниже код создает файл philosophers.txt и записывает в него содержимое списка philosophers:\nphilosophers = [\u0026#39;Джoн Локк\\n\u0026#39;, \u0026#39;Дэвид Хьюм\\n\u0026#39;, \u0026#39;Эдмyнд Берк\\n\u0026#39;] with open(\u0026#39;philosophers.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: file.writelines(philosophers) Запись в файл при помощи функции print() #\rДля записи данных в файл можно также использовать встроенную функцию print(). Для этого нужно передать ей еще один именованный аргумент file, указывающий на открытый файл. При этом функция print() автоматически добавляет переход на новую строку:\nwith open(\u0026#39;philosophers.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as output: print(\u0026#39;Джoн Локк\u0026#39;, file=output) print(\u0026#39;Дэвид Хьюм\u0026#39;, file=output) print(\u0026#39;Эдмyнд Берк\u0026#39;, file=output) # Файл будет содержать: # Джoн Локк # Дэвид Хьюм # Эдмyнд Берк Немного про буфер #\rВ некоторых операционных системах невыполнение операции закрытия файла может привести к потере данных. Данные сначала пишутся в буфер – небольшую область временного хранения в оперативной памяти. Когда буфер заполняется, система записывает его содержимое в файл. Это увеличивает производительность системы, потому что запись данных в оперативную память быстрее записи на диск. Процесс закрытия файла записывает любые несохраненные данные из буфера в файл. Чтобы принудительно записать содержимое буфера в файл, используется файловый метод flush().\n","date":"17 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/work_with_files/","section":"Конспекты","summary":"Управление текстовыми и бинарными файлами в языке программирования Python\rПрограммы, которые мы писали до сих пор, требовали повторного ввода данных при каждом запуске, потому что, как только программа заканчивает свою работу, данные для переменных исчезают из оперативной памяти.","title":"Работа с txt файлами в Python","type":"posts"},{"content":"","date":"16 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/functions/","section":"Tags","summary":"","title":"Functions","type":"tags"},{"content":"\rВторая часть функций в Python (первую может выложу, может и нет). Типы аргументов, некоторые встроенные функции и lambda-функции.\rНеобязательные и именованные аргументы #\rПозиционные аргументы #\rКогда мы вызываем функции c позиционными аргументами, значения в них подставляются согласно позиции их имен в определении функции. Например код ниже выведет число 7. При вызове функции diff() первому параметру x будет соответствовать первый переданный аргумент – 10, а второму параметру y – второй аргумент – 3.\ndef diff(x, y): return x - y res = diff(10, 3) # используем позиционные аргументы print(res) Именованные аргументы #\rАргументы, передаваемые с именами, называются именованными. Чтобы передать именованные аргументы в функцию, нужно указать их имена, которые были заданы при объявлении функции:\ndef bar(length, char1, char2): return (char1 + char2) * length + char1 print(bar(length=3, char1=\u0026#39;-\u0026#39;, char2=\u0026#39;*\u0026#39;)) # =\u0026gt; -*-*-*- print(bar(char1=\u0026#39;-\u0026#39;, char2=\u0026#39;*\u0026#39;, length=3)) # =\u0026gt; -*-*-*- print(bar(char2=\u0026#39;*\u0026#39;, length=3, char1=\u0026#39;-\u0026#39;)) # =\u0026gt; -*-*-*- При вызове функции меняется порядок передаваемых аргументов. Когда функции назначаются соответствующие значения именованных аргументов, Python учитывает их имена, а не позиции. В результате функция будет всегда выводить одно и то же значение независимо от позиций переданных ей аргументов.\nРекомендация по тому, когда стоит использовать именованные аргументы: если функция принимает больше трёх аргументов, нужно хотя бы часть из них указать по имени.\rdef make_circle(x, y, radius, line_width, fill): # тело функции make_circle(x=200, y=300, radius=17, line_width=2.5, fill=True) Мы можем вызывать функции, используя именованные и позиционные аргументы одновременно. Но позиционные значения должны быть указаны до любых именованных!\rНеобязательные аргументы #\rБывает, что какой-то параметр функции часто принимает одно и то же значение. Например, для функции print() установили значения параметров sep и end равными символу пробела и символу перевода строки, поскольку эти значения используют наиболее часто.\nДругим примером служит функция int(), преобразующая строку в число. Она принимает два аргумента: первый аргумент – строка, которую нужно преобразовать в число, второй аргумент – основание системы счисления, значение по умолчению которого равно 10.\nЧтобы задать значение параметра по умолчанию, в списке параметров функции достаточно после имени переменной написать знак равенства и нужное значение.\nПараметры со значением по умолчанию идут последними.\nИзменяемые типы данных в качестве занчений по умолчанию #\rРассмотрим определение функции append(), где в качестве значения по умолчанию используется изменяемый тип данных:\ndef append(element, seq=[]): seq.append(element) return seq Если вызвать функцию так, то мы получим неожиданный результат:\nprint(append(10)) print(append(5)) print(append(1)) # Вывод:\r[10]\r[10, 5]\r[10, 5, 1] Значение по умолчанию для параметра создается единожды при определении функции (обычно при загрузке модуля) и становится её атрибутом (свойством). Поэтому, если значение по умолчанию изменяемый объект, то его изменение повлияет на каждый следующий вызов функции.\nДля решения проблемы можно использовать константу None в качестве значения параметра по умолчанию, а в теле функции устанавливать нужное значение:\ndef append(element, seq=None): if seq is None: seq = [] seq.append(element) return seq print(append(10)) print(append(5)) print(append(1)) # Вывод:\r[10]\r[5]\r[1] Функции с переменным количеством аргументов #\rПозиционные аргументы – *args #\rРассмотрим определение функции my_func():\ndef my_func(*args): print(type(args)) print(args) my_func() my_func(1, 2, 3) my_func(\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;) # Вывод:\r\u0026lt;class \u0026#39;tuple\u0026#39;\u0026gt;\r()\r\u0026lt;class \u0026#39;tuple\u0026#39;\u0026gt;\r(1, 2, 3)\r\u0026lt;class \u0026#39;tuple\u0026#39;\u0026gt;\r(\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;) В заголовке функции my_func() указан всего один параметр args, но со звездочкой перед ним. Звездочка в определении функции означает, что переменная (параметр) args получит в виде кортежа все аргументы, переданные в функцию при ее вызове от текущей позиции и до конца. При описании функции можно использовать только один параметр помеченный звездочкой, причем располагаться он должен в конце списка параметров, иначе последующим параметрам не достанется значений. Параметр со звёздочкой работает, даже если не передать аргументов. Если мы хотим просуммировать несколько разных значений, не упаковывая их в список, можем написать следующую функцию (списки и кортежи при вызове нужно распаковывать):\ndef my_sum(*args): return sum(args) print(my_sum(1, 2, *[3, 4, 5], *(7, 8, 9), 10)) # Вывод: 49 Именованные аргументы – **kwargs #\rdef my_func(**kwargs): print(type(kwargs)) print(kwargs) my_func() my_func(a=1, b=2) my_func(name=\u0026#39;Timur\u0026#39;, job=\u0026#39;Teacher\u0026#39;) # Вывод:\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt;\r{}\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt;\r{\u0026#39;a\u0026#39;: 1, \u0026#39;b\u0026#39;: 2}\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt;\r{\u0026#39;name\u0026#39;: \u0026#39;Timur\u0026#39;, \u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;} Именованные аргументы получаются в виде словаря, что позволяет сохранить имена аргументов в ключах. Именованные аргументы можно передавать в функцию \u0026ldquo;пачкой\u0026rdquo; в виде словаря. Для этого нужно перед словарём поставить две звёздочки. Параметр **kwargs пишется в самом конце, после последнего аргумента со значением по умолчанию. При этом функция может содержать и *args и **kwargs параметры: def my_func(a, b, *args, name=\u0026#39;Gvido\u0026#39;, age=17, **kwargs): print(a, b) print(args) print(name, age) print(kwargs) my_func(1, 2, 3, 4, name=\u0026#39;Timur\u0026#39;, age=28, job=\u0026#39;Teacher\u0026#39;, language=\u0026#39;Python\u0026#39;) my_func(1, 2, name=\u0026#39;Timur\u0026#39;, age=28, job=\u0026#39;Teacher\u0026#39;, language=\u0026#39;Python\u0026#39;) my_func(1, 2, 3, 4, job=\u0026#39;Teacher\u0026#39;, language=\u0026#39;Python\u0026#39;) # Вывод:\r1 2\r(3, 4)\rTimur 28\r{\u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;, \u0026#39;language\u0026#39;: \u0026#39;Python\u0026#39;}\r1 2\r()\rTimur 28\r{\u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;, \u0026#39;language\u0026#39;: \u0026#39;Python\u0026#39;}\r1 2\r(3, 4)\rGvido 17\r{\u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;, \u0026#39;language\u0026#39;: \u0026#39;Python\u0026#39;} Keyword-only аргументы #\rВ Python 3 добавили возможность пометить именованные аргументы функции так, чтобы вызвать функцию можно было, только передав эти аргументы по именам. Такие аргументы называются keyword-only и их нельзя передать в функцию в виде позиционных:\ndef make_circle(x, y, radius, *, line_width=1, fill=True): #код make_circle(10, 20, 5) # x=10, y=20, radius=5, line_width=1, fill=True make_circle(x=10, y=20, radius=7) # x=10, y=20, radius=7, line_width=1, fill=True make_circle(10, 20, radius=10, line_width=2, fill=False) # x=10, y=20, radius=10, line_width=2, fill=False make_circle(x=10, y=20, radius=17, line_width=3) # x=10, y=20, radius=17, line_width=3, fill=True Здесь * выступает разделителем: отделяет обычные аргументы (их можно указывать по имени и позиционно) от строго именованных.\nТо есть аргументы x, y и radius могут быть переданы в качестве как позиционных, так и именованных аргументов. При этом аргументы line_width и fill могут быть переданы только как именованные аргументы.\nТакой разделитель можно использовать только один раз в определении функции. Его нельзя применять в функциях с неограниченным количеством позиционных аргументов *args.\nФункции как объекты #\rВстроенные функции имеют следующий тип объекта:\nprint(type(print)) # \u0026lt;class \u0026#39;builtin_function_or_method\u0026#39;\u0026gt; Тогда как функции, объявленные программистом, имеют тип \u0026lt;class 'function'\u0026gt;.\nПоскольку функции тоже объекты, работать с ними можно и как с объектами: записывать их в переменные, передавать в качестве аргументов другим функциям, возвращать из функций и т.д.\ndef hello(): print(\u0026#39;Hello from function\u0026#39;) func = hello # присваиваем переменной func функцию hello func() # вызываем функцию # Вывод: Hello from function writeln = print writeln(\u0026#39;Hello world!\u0026#39;) writeln(\u0026#39;Python\u0026#39;) # Вывод:\rHello world!\rPython Присваивание переменной списка функций:\ndef f(x): return x**2 def g(x): return x**3 funcs = [f, g] print(funcs[0](5), funcs[1](5)) # Вывод: 25 125 Функции, способные в качестве аргумента принимать или/и возвращать другие функции, называются функциями высшего порядка.\nФункция, определяющая условия сравнения элементов, называется компаратор.\rТакие встроенные функции, как min(), max(), sorted() могут принимать необязательный аргумент key – функцию, определяющую, по какому правилу будут сравниваться элементы (значение key должно быть функцией, принимающей один аргумент и возвращающей на его основе ключ для сравнения).\nnumbers = [10, -7, 8, -100, -50, 32, 87, 117, -210] print(max(numbers, key=abs)) print(min(numbers, key=abs)) print(sorted(numbers, key=abs)) # Вывод:\r-210 # максимальный по модулю элемент\r-7 # минимальный по модулю элемент\r[-7, 8, 10, 32, -50, 87, -100, 117, -210] def compare_by_second(point): return point[1] def compare_by_sum(point): return point[0] + point[1] points = [(1, -1), (2, 3), (-10, 15), (10, 9), (7, 18), (1, 5), (2, -4)] print(sorted(points, key=compare_by_second)) # сортируем по второму значению кортежа print(sorted(points, key=compare_by_sum)) # сортируем по сумме кортежа Функции в качестве возвращаемых значений других функций #\rВ Python можно определять функцию внутри функции, ведь функция это объект:\ndef generator(): def hello(): print(\u0026#39;Hello from function!\u0026#39;) return hello func = generator() func() # Вывод: Hello from function! Мы можем написать генератор функций, который по параметрам a,b,c, построит и вернет нам конкретный квадратный трехчлен:\ndef generator_square_polynom(a, b, c): def square_polynom(x): return a * x**2 + b * x + c return square_polynom f = generator_square_polynom(a=1, b=2, c=1) g = generator_square_polynom(a=2, b=0, c=-3) h = generator_square_polynom(a=-3, b=-10, c=50) print(f(1)) print(g(2)) print(h(-1)) # Вывод:\r4\r5\r57 Вложенную функцию (square_polynom()), которая использует параметры внешней функции (generator_square_polynom()), называют замыканием.\nФункции высшего порядка #\rФункции, которые принимают и/или возвращают другие функции, называются функциями высшего порядка.\nФункция map() #\rФункция, преобразующая каждый элемент переданного итерируемого объекта (можно воспринимать как классическое представление функции в математике – отображение множества в другое множество).\nВозможная реализация:\ndef map(function, items): result = [] for item in items: new_item = function(item) result.append(new_item) return result Мы можем совершать преобразования, используя функцию высшего порядка map():\ndef square(x): return x**2 def cube(x): return x**3 numbers = [1, 2, -3, 4, -5, 6, -9, 0] strings = map(str, numbers) # используем в качестве преобразователя функцию str abs_numbers = map(abs, numbers) # используем в качестве преобразователя функцию abs squares = map(square, numbers) # используем в качестве преобразователя функцию square cubes = map(cube, numbers) # используем в качестве преобразователя функцию cube print(strings) print(abs_numbers) print(squares) print(cubes) # Вывод:\r[\u0026#39;1\u0026#39;, \u0026#39;2\u0026#39;, \u0026#39;-3\u0026#39;, \u0026#39;4\u0026#39;, \u0026#39;-5\u0026#39;, \u0026#39;6\u0026#39;, \u0026#39;-9\u0026#39;, \u0026#39;0\u0026#39;]\r[1, 2, 3, 4, 5, 6, 9, 0]\r[1, 4, 9, 16, 25, 36, 81, 0]\r[1, 8, -27, 64, -125, 216, -729, 0] Мы также можем строить цепочки преобразований, несколько раз вызывая функцию map() (сначала мы преобразуем список строк в список чисел, затем находим их модуль внешней функцией map()):\nnumbers = [\u0026#39;-1\u0026#39;, \u0026#39;20\u0026#39;, \u0026#39;3\u0026#39;, \u0026#39;-94\u0026#39;, \u0026#39;65\u0026#39;, \u0026#39;6\u0026#39;, \u0026#39;-970\u0026#39;, \u0026#39;8\u0026#39;] new_numbers = map(abs, map(int, numbers)) print(new_numbers) # Вывод: [1, 20, 3, 94, 65, 6, 970, 8] Функция filter() #\rЭта функция отображает часть элементов итерируемого объекта по определённому критерию.\nВозможная реализация:\ndef filter(function, items): result = [] for item in items: if function(item): result.append(item) # добавляем элемент item если функция function вернула значение True return result Функция filter() применяет предикат function к каждому элементу и добавляет в итоговый список только те элементы, для которых предикат вернул True.\ndef is_odd(num): return num % 2 def is_word_long(word): return len(word) \u0026gt; 6 numbers = list(range(15)) words = [\u0026#39;В\u0026#39;, \u0026#39;новом\u0026#39;, \u0026#39;списке\u0026#39;, \u0026#39;останутся\u0026#39;, \u0026#39;только\u0026#39;, \u0026#39;длинные\u0026#39;, \u0026#39;слова\u0026#39;] odd_numbers = filter(is_odd, numbers) large_words = filter(is_word_long, words) print(odd_numbers) print(large_words) # Вывод:\r[1, 3, 5, 7, 9, 11, 13]\r[\u0026#39;останутся\u0026#39;, \u0026#39;длинные\u0026#39;] Функция reduce() #\rФункция, применяющая указанную функцию к элементам последовательности, сводя её к единственному значению.\nВозможная реализация:\ndef reduce(operation, items, initial_value): acc = initial_value for item in items: acc = operation(acc, item) return acc def add(x, y): return x+y def mult(x, y): return x*y numbers = [1, 2, 3, 4, 5] total = reduce(add, numbers, 0) product = reduce(mult, numbers, 1) print(total) print(product) # Вывод:\r15\r120 Встроенные функции map(), filter(), reduce() #\rВстроенная функция map() #\rФункция, применяющая другую функцию к итерируемому объекту. Имеет сигнатуру map(func, *iterables). В отличии от нашей реализации она может принимать сразу несколько последовательностей, переменное количество аргументов. Под подследовательностями имеются ввиду списки, строки, кортежи, множества, словари.\ndef increase(num): return num + 7 numbers = [1, 2, 3, 4, 5, 6] new_numbers = map(increase, numbers) # используем встроенную функцию map() print(new_numbers) # Вывод: \u0026lt;map object at 0x...\u0026gt; Вернулся итерируемый объект \u0026lt;map object at 0x...\u0026gt;. Подобные ему объекты называются итераторами. Если мы хотим получить список/кортеж из итератора, нужно воспользоваться функцией list()/tuple(), а если распкаовать, то * (при этом сделать эти действия возможно только единожды, т.к. итератор \u0026ldquo;исчерпывает\u0026rdquo; себя).\nФункции map() можно передать несколько последовательностей. В этом случае в функцию обратного вызова func будут передаваться сразу несколько элементов, расположенных в последовательностях на одинаковых позициях. При этом, если в последовательностях разное количество элементов, то последовательность с минимальным количеством элементов становится ограничителем.\ndef func(elem1, elem2, elem3): return elem1 + elem2 + elem3 numbers1 = [1, 2, 3, 4, 5] numbers2 = [10, 20, 30, 40, 50] numbers3 = [100, 200, 300, 400, 500] new_numbers = list(map(func, numbers1, numbers2, numbers3)) # преобразуем итератор в список print(new_numbers) # Вывод: [111, 222, 333, 444, 555] Пример удобного использования функции map(), которой передано две последовательности:\ncircle_areas = [3.56773, 5.57668, 4.31914, 6.20241, 91.01344, 32.01213] result1 = list(map(round, circle_areas, [1]*6)) # округляем числа до 1 знака после запятой result2 = list(map(round, circle_areas, range(1, 7))) # округляем числа до 1,2,...,6 знаков после запятой print(circle_areas) print(result1) print(result2) # Вывод:\r[3.56773, 5.57668, 4.31914, 6.20241, 91.01344, 32.01213]\r[3.6, 5.6, 4.3, 6.2, 91.0, 32.0]\r[3.6, 5.58, 4.319, 6.2024, 91.01344, 32.01213] Встроенная функция filter() #\rФункция отображает часть элементов итерируемого объекта по определённому критерию. Имеет сигнатуру filter(func, iterable). В отличии от нашей реализации она может принимать любой итерируемый объект (список, строку, кортеж, и т.д.).\ndef func(elem): return elem \u0026gt;= 0 numbers = [-1, 2, -3, 4, 0, -20, 10] positive_numbers = list(filter(func, numbers)) # преобразуем итератор в список print(positive_numbers) # Вывод: [2, 4, 0, 10] Функция filter() также возвращает итератор.\nВстроенной функции filter() можно в качестве первого параметра func передать значение None. В таком случае каждый элемент последовательности будет проверен на соответствие значению True. Если элемент в логическом контексте возвращает значение False, то он не будет добавлен в возвращаемый результат. В следующем коде значения списка [0, '', None, [], ()] позиционируется как False:\ntrue_values = filter(None, [1, 0, 10, \u0026#39;\u0026#39;, None, [], [1, 2, 3], ()]) for value in true_values: print(value) # Вывод:\r1\r10\r[1, 2, 3] Функция reduce() #\rДля использования: from functools import reduce.\nФункция, применяющая указанную функцию к элементам последовательности, сводя её к единственному значению. Имеет сигнатуру reduce(func, iterable, initializer=None). Если начальное значение не установлено, то в его качестве используется первое значение из последовательности iterable.\nfrom functools import reduce def func(a, b): return a + b numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] total = reduce(func, numbers, 0) # в качестве начального значения 0 print(total) # Вывод: 55 Анонимные функции #\rlambda – безымянные однострочные функции (называются анонимными или лямбда-функциями). По сути эти функции являются выражениями, при этом они имеют такой же тип данных, как обычные функции – \u0026lt;class 'function'\u0026gt;. После определения их можно сразу вызвать: print((lambda х, у: х + у)(5, 10)) # 5 + 10. Общий формат определения: lambda список_параметров: выражение. В теле лямбда-функции нельзя использовать несколько действий и циклы, но можно использовать тернарный условный оператор. Применение таких функций оправдано в следующих случаях:\nоднократное использование функции; передача функций в качестве аргумента другим функциям; возвращение функции в качестве результата другой функции. def standard_function(x): # стандартное объявление функции return x*2 lambda_function = lambda x: x*2 # объявление анонимной функции print(standard_function(7)) print(lambda_function(7)) # Вывод:\r14\r14 f1 = lambda: 10 + 20 # функция без параметров f2 = lambda х, у: х + у # функция с двумя параметрами f3 = lambda х, у, z: х + у + z # функция с тремя параметрами print(f1()) print(f2(5, 10)) print(f3(5, 10, 30)) Лямбда-функции для нетипичной сортировки кортежей:\npoints = [(1, -1), (2, 3), (-10, 15), (10, 9), (7, 18), (1, 5), (2, -4)] print(sorted(points, key=lambda point: point[1])) # сортируем по второму значению кортежа print(sorted(points, key=lambda point: point[0] + point[1])) # сортируем по сумме элементов кортежа Передача лямбда-функций в качестве аргументов #\rФункция map(): numbers = [1, 2, 3, 4, 5, 6] new_numbers1 = list(map(lambda x: x+1, numbers)) # увеличиваем на 1 new_numbers2 = list(map(lambda x: x*2, numbers)) # удваиваем new_numbers3 = list(map(lambda x: x**2, numbers)) # возводим в квадрат strings = [\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;c\u0026#39;, \u0026#39;d\u0026#39;, \u0026#39;e\u0026#39;] numbers = [3, 2, 1, 4, 5] new_strings = list(map(lambda x, y: x*y, strings, numbers)) Функция filter(): numbers = [-1, 2, -3, 4, 0, -20, 10, 30, -40, 50, 100, 90] positive_numbers = list(filter(lambda x: x \u0026gt; 0, numbers)) # положительные числа large_numbers = list(filter(lambda x: x \u0026gt; 50, numbers)) # числа, большие 50 even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) # четные числа words = [\u0026#39;python\u0026#39;, \u0026#39;stepik\u0026#39;, \u0026#39;beegeek\u0026#39;, \u0026#39;iq-option\u0026#39;] new_words1 = list(filter(lambda w: len(w) \u0026gt; 6, words)) # слова длиною больше 6 символов new_words2 = list(filter(lambda w: \u0026#39;e\u0026#39; in w, words)) # слова содержащие букву e Функция reduce(): from functools import reduce words = [\u0026#39;python\u0026#39;, \u0026#39;stepik\u0026#39;, \u0026#39;beegeek\u0026#39;, \u0026#39;iq-option\u0026#39;] numbers = [1, 2, 3, 4, 5, 6] summa = reduce(lambda x, y: x + y, numbers, 0) product = reduce(lambda x, y: x * y, numbers, 1) sentence = reduce(lambda x, y: x + \u0026#39; loves \u0026#39; + y, words, \u0026#39;Everyone\u0026#39;) # Вывод:\r21\r720\rEveryone loves python loves stepik loves beegeek loves iq-option Возвращение лямбда-функции в качестве результата другой функции #\rСледующий пример показывает, что анонимные функции являются замыканиями, т.е. возвращаемая функция запоминает значения переменных a, b, c из внешнего окружения:\ndef generator_square_polynom(a, b, c): return lambda x: a*x**2 + b*x + c Условный оператор в теле лямбда-функции #\rОбщий вид: значение1 if условие else значение2.\nnumbers = [-2, 0, 1, 2, 17, 4, 5, 6] result = list(map(lambda x: \u0026#39;even\u0026#39; if x % 2 == 0 else \u0026#39;odd\u0026#39;, numbers)) print(result) # Вывод: [\u0026#39;even\u0026#39;, \u0026#39;even\u0026#39;, \u0026#39;odd\u0026#39;, \u0026#39;even\u0026#39;, \u0026#39;odd\u0026#39;, \u0026#39;even\u0026#39;, \u0026#39;odd\u0026#39;, \u0026#39;even\u0026#39;] Передача аргументов в анонимную функцию #\rАнонимные функции поддерживают все способы передачи аргументов:\nпозиционные; именованные; *args – переменный список позиционных аргументов; **kwargs – переменный список именованных аргументов; * – обязательные аргументы. f1 = lambda x, y, z: x + y + z f2 = lambda x, y, z=3: x + y + z f3 = lambda *args: sum(args) f4 = lambda **kwargs: sum(kwargs.values()) f5 = lambda x, *, y=0, z=0: x + y + z print(f1(1, 2, 3)) print(f2(1, 2)) print(f2(1, y=2)) print(f3(1, 2, 3, 4, 5)) print(f4(one=1, two=2, three=3)) print(f5(1)) print(f5(1, y=2, z=3)) # Вывод:\r6\r6\r6\r15\r6\r1\r6 Функции any(), all(), zip(), enumerate() #\rФункция all() #\rВстроенная функция all() возвращает значение True, если все элементы переданной ей коллекции истинны, и False в противном случае. При работе со словарями функция all() проверяет на соответствие параметрам True ключи словаря.\nprint(all([1, 2, 3])) print(all([1, 2, 3, 0, 5])) print(all([True, 0, 1])) print(all((\u0026#39;\u0026#39;, \u0026#39;red\u0026#39;, \u0026#39;green\u0026#39;))) print(all({0j, 3+4j})) print() dict1 = {0: \u0026#39;Zero\u0026#39;, 1: \u0026#39;One\u0026#39;, 2: \u0026#39;Two\u0026#39;} dict2 = {\u0026#39;Zero\u0026#39;: 0, \u0026#39;One\u0026#39;: 1, \u0026#39;Two\u0026#39;: 2} print(all(dict1)) print(all(dict2)) # Вывод:\rTrue\rFalse\rFalse\rFalse\rFalse\rFalse\rTrue Если переданный итерируемый объект пуст, то функция all() возвращает значение True.\nprint(all([])) # передаем пустой список print(all(())) # передаем пустой кортеж print(all(\u0026#39;\u0026#39;)) # передаем пустую строку print(all([[], []])) # передаем список, содержащий пустые списки # Вывод:\rTrue\rTrue\rTrue\rFalse Функция any() #\rВстроенная функция any() возвращает значение True, если хотя бы один элемент переданной ей коллекции является истинным, и False в противном случае. При работе со словарями функция any() проверяет на соответствие True ключи словаря.\nprint(any([0, 0, 0])) print(any([0, 1, 0])) print(any([False, 0, 1])) print(any([\u0026#39;\u0026#39;, [], \u0026#39;green\u0026#39;])) print(any({0j, 3+4j, 0.0})) print() dict1 = {0: \u0026#39;Zero\u0026#39;} dict2 = {\u0026#39;Zero\u0026#39;: 0, \u0026#39;One\u0026#39;: 1} print(any(dict1)) print(any(dict2)) # Вывод:\rFalse\rTrue\rTrue\rTrue\rTrue\rFalse\rTrue Eсли переданный итерируемый объект пуст, то функция any() возвращает значение False.\nprint(any([])) # передаем пустой список print(any(())) # передаем пустой кортеж print(any(\u0026#39;\u0026#39;)) # передаем пустую строку print(any([[], []])) # передаем список, содержащий пустые списки # Вывод:\rFalse\rFalse\rFalse\rFalse Функции all(), any() в связке с map() #\rСледующий код проверяет, все ли элементы списка больше 10:\nnumbers = [17, 90, 78, 56, 231, 45, 5, 89, 91, 11, 19] result = all(map(lambda x: True if x \u0026gt; 10 else False, numbers)) # анонимную функцию можно упростить до lambda x: x \u0026gt; 10 if result: print(\u0026#39;Все числа больше 10\u0026#39;) else: print(\u0026#39;Хотя бы одно число меньше или равно 10\u0026#39;) Следующий код проверяет, чётен ли хотя бы один элемент коллекции:\nnumbers = [17, 91, 78, 55, 231, 45, 5, 89, 99, 11, 19] result = any(map(lambda x: x % 2 == 0, numbers)) if result: print(\u0026#39;Хотя бы одно число четное\u0026#39;) else: print(\u0026#39;Все числа нечетные\u0026#39;) Функция enumerate() #\rВстроенная функция enumerate() возвращает кортеж из индекса элемента и самого элемента переданной ей коллекции: enumerate(iterable, start), где iterable – итерируемый объект (колллекция), а start – необязательный параметр, задающий начальное значение индекса (по умолчанию start = 0). Эта функция возвращает объект-итератор, который можно перебрать, преобразовать в список функцией list() или распаковать *.\ncolors = [\u0026#39;red\u0026#39;, \u0026#39;green\u0026#39;, \u0026#39;blue\u0026#39;] print(list(enumerate(colors, start=1))) # Вывод: [(1, \u0026#39;red\u0026#39;), (2, \u0026#39;green\u0026#39;), (3, \u0026#39;blue\u0026#39;)] Функция zip() #\rВстроенная функция zip() объединяет отдельные элементы из каждой переданной ей коллекции в кортежи. Также возвращает итератор, который можно перебрать, преобразовать или распаковать. Если функции zip() передать итерируемые объекты, имеющие разную длину, то объект с наименьшим количеством элементов определяет итоговую длину.\nnumbers = [1, 2, 3, 4] words = [\u0026#39;one\u0026#39;, \u0026#39;two\u0026#39;] romans = [\u0026#39;I\u0026#39;, \u0026#39;II\u0026#39;, \u0026#39;III\u0026#39;] result = zip(numbers, words, romans) print(list(result)) # Вывод: [(1, \u0026#39;one\u0026#39;, \u0026#39;I\u0026#39;), (2, \u0026#39;two\u0026#39;, \u0026#39;II\u0026#39;)] numbers = [1, 2, 3] words = [\u0026#39;one\u0026#39;, \u0026#39;two\u0026#39;, \u0026#39;three\u0026#39;] romans = [\u0026#39;I\u0026#39;, \u0026#39;II\u0026#39;, \u0026#39;III\u0026#39;] result = zip(numbers, words, romans) print(list(result)) # Вывод: [(1, \u0026#39;one\u0026#39;, \u0026#39;I\u0026#39;), (2, \u0026#39;two\u0026#39;, \u0026#39;II\u0026#39;), (3, \u0026#39;three\u0026#39;, \u0026#39;III\u0026#39;)] Частые случаи использования zip():\nДля создания словарей, если ключи и значения находятся в разных списках: keys = [\u0026#39;name\u0026#39;, \u0026#39;age\u0026#39;, \u0026#39;gender\u0026#39;] values = [\u0026#39;Timur\u0026#39;, 28, \u0026#39;male\u0026#39;] info = dict(zip(keys, values)) print(info) # Вывод: {\u0026#39;name\u0026#39;: \u0026#39;Timur\u0026#39;, \u0026#39;age\u0026#39;: 28, \u0026#39;gender\u0026#39;: \u0026#39;male\u0026#39;} Для параллельного итерирования по разным коллекциям: name = [\u0026#39;Timur\u0026#39;, \u0026#39;Ruslan\u0026#39;, \u0026#39;Rustam\u0026#39;] age = [28, 21, 19] for x, y in zip(name, age): print(x, y) # Вывод:\rTimur 28\rRuslan 21\rRustam 19 ","date":"16 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/functions/","section":"Конспекты","summary":"Вторая часть функций в Python (первую может выложу, может и нет).","title":"Функции в Python","type":"posts"},{"content":"","date":"15 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/turtle/","section":"Tags","summary":"","title":"Turtle","type":"tags"},{"content":"\rГрафическая библиотека, встроенная в язык Python.\rМодуль turtle #\rДля использования: import turtle\nЧтобы открыть графическое окно и держать его активным, нужно использовать следующий код:\nimport turtle window = turtle.Screen() turtle.showturtle() # Какой-нибудь код window.mainloop() # Пишется в конце программы Методы #\rforward(p) – перемещает \u0026ldquo;черепашку\u0026rdquo; вперёд по направлению взгляда на p пикселей; backword(p) – перемещает черепашку назад на p пикселей. left(d) и right(d) поворачивают черепашку влево и вправо соответственно на d градусов; setheading(d) – устанавливает угол d; heading(d) – вдобавок к функционалу setheading() возвращает текущий угол в градусах. circle(p) – рисует круг с радиусом p; dot() – рисует точку; stamp() – оставляет штамп черепашки на графике. shape('name') – изменяет внешний вид черпашки (square, arrow, circle, turtle, triangle, classic); с помощью turtle.Screen().addshape('file') можно установить кастомную черепашку; hideturtle() прячет черепашку; а showturtle() вновь отображает её. speed(n) – устанавливает скорость анимации n, принимающую значения от 0 до 10, при этом 0 отключает анимацию и черепашка перемещается мгновенно. penup() – поднимает перо; а pendown() – опускает его; pensize(p) – устанавливает ширину пера в p пикселей; pencolor('color') – устанавливает цвет пера (если хотим использовать формат RGB, т.е. pencolor(130, 240, 200), то нужно использовать команду turtle.Screen().colormode(255)). turtle.Screen().bgcolor('color') позволяет установить цвет фона (также можно задать RGB формат); с помощью turtle.Screen().bgpic('file') можно установить фоновое изображение. clear() – стирает все в графическом окне (положение черепашки, заданные цвета рисунка и фона остаются неизменными); reset() – стирает рисунки и сбрасывает положение черепашки и заданный цвет рисунка (цвет фона остаётся неизменным); clearscreen() – возвращает экран в исходное состояние. turtle.Screen().setup(w, h) – устанавливает размер окна в ширину w и высоту h в пикселях. goto(x, y) – перемещает черепашку в координаты (x, y) на экране (при опущенном пере линии будут рисоваться); pos() или position() возвращает кортеж координат черепешки; xcor() возвращает только координату по x; а ycor() – по y. ","date":"15 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/turtle/","section":"Конспекты","summary":"Графическая библиотека, встроенная в язык Python.","title":"Черепашья графика","type":"posts"},{"content":"\rТочные числа с плавающей точкой, дроби и комплексные числа. Как с ними работать в Python?\rМодуль decimal #\rДля использования: from decimal import *.\nЕсли мы хотим сравнить два числа float, то нужно воспользоваться кодом ниже вместо обычного сравнения ==, так как существуют ограничения в сохранении точного значения чисел:\nnum = 0.1 + 0.1 + 0.1 eps = 0.000000001 # точность сравнения if abs(num - 0.3) \u0026lt; eps: # число num отличается от числа 0.3 менее чем 0.000000001 print(\u0026#39;YES\u0026#39;) else: print(\u0026#39;NO\u0026#39;) Особенности и характеристики:\nТип данных Decimal - класс из модуля decimal, который тоже представляет собой число с плавающей точкой, и служит для того, чтобы выполнять операции над вещественными числами без ошибок. С ними работают все привычные операции (сложение, умножение и т.д., но не реккомендуется оперировать между Decimal и float), их можно передавать как аргумент в математические функции (при этом вернётся float), их можно сравнивать между собой (также допускается точное равенство), можно формировать списки из Decimal и искать среди них min и max. Тип данных Decimal является неизменяемым. Отличие float и Decimal:\nВ Python тип данных float реализован по стандарту IEEE-754 как число с плавающей точкой двойной точности (64 бита) с основанием экспоненты равным 2. Так как float поддерживается аппаратно, быстродействие при использовании этого типа данных сравнительно велико.\nТип данных Decimal – число с плавающей точкой с основанием экспоненты 10 Он реализован по стандарту IBM: General Decimal Arithmetic Specification, в свою очередь основанному на стандартах IEEE. Тип данных Decimal реализован программно, поэтому он в разы медленнее типа данных float. Сам тип данных Decimal написан на языке С.\nХарактеристика / тип float Decimal Реализация аппаратная программная Размер 64 бит не ограничен Основание экспоненты 2 10 Скорость ✔️ ❌ Настриваемость ❌ ✔️ Для высокоточных вычислений ❌ ✔️ Для типа данных Decimal можно настроить:\nточность выполнения операций в количестве десятичных знаков (по умолчанию - 28); режимы округления; режимы обработки исключительных ситуаций (деление на ноль, переполнение и т. д). Создать Decimal число можно из обычного целого числа (int), из числа с плавающей точкой (float) или из строки (str):\nfrom decimal import * d1 = Decimal(1) d2 = Decimal(567) d3 = Decimal(-93) d4 = Decimal(\u0026#39;12345\u0026#39;) d5 = Decimal(\u0026#39;52.198\u0026#39;) При создании Decimal чисел из чисел с плавающей точкой (float) возникают проблемы, так как float числа округляются внутри до ближайшего возможного, а Decimal об этом ничего не знает и копирует содержимое float:\nfrom decimal import * num = Decimal(0.1) print(num) # Вывод: 0.1000000000000000055511151231257827021181583404541015625 Методы decimal #\rУ Decimal есть некоторые встроенные математические методы: Функция Описание sqrt() вычисляет квадратный корень из Decimal числа exp() возвращает e^x для Decimal числа ln() вычисляет натуральный логарифм Decimal числа log10() вычисляет десятичный логарифм Decimal числа as_tuple() - возвращает кортеж из 3-ёх элементов: sign – знак числа (0 для положительного числа и 1 для отрицательного числа); digits – цифры числа (цифра 0 не учитывается, если целая часть равна нулю); exponent – значение экспоненты (количество цифр после точки, умноженное на −1), from decimal import * num1 = Decimal(\u0026#39;-1.4568769017\u0026#39;) num2 = Decimal(\u0026#39;0.523\u0026#39;) num_tuple = num.as_tuple() print(num1.as_tuple()) print(num2.as_tuple()) print(num1_tuple.sign) print(num1_tuple.digits) print(num1_tuple.exponent) # Вывод:\rDecimalTuple(sign=1, digits=(1, 4, 5, 6, 8, 7, 6, 9, 0, 1, 7), exponent=-10)\rDecimalTuple(sign=0, digits=(5, 2, 3), exponent=-3)\r1\r(1, 4, 5, 6, 8, 7, 6, 9, 0, 1, 7)\r-10 getcontext() - просмотр базовых параметров Decimal from decimal import * print(getcontext()) # Вывод: Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow]) quantize() - принимает в качетсве аргумента объект Decimal, указывающий на формат округления: from decimal import * getcontext().prec = 4 # устанавливаем точность числа num = Decimal(\u0026#39;3.1415926535\u0026#39;) print(num.quantize(Decimal(\u0026#39;1.000\u0026#39;))) # округление до 3 цифр в дробной части print(num.quantize(Decimal(\u0026#39;1.00\u0026#39;))) # округление до 2 цифр в дробной части print(num.quantize(Decimal(\u0026#39;1.0\u0026#39;))) # округление до 1 цифр в дробной части При этом, если точность числа установлена в 2, а формат округления Decimal('1.00'), то возникнет ошибка.\rВ качетсве второго параметра этот метод принимает стратегию округления:\nROUND_CEILING – округление в сторону бесконечности (Infinity);\nROUND_FLOOR – округляет в сторону минус бесконечности (- Infinity);\nROUND_DOWN – округление в сторону нуля;\nROUND_HALF_EVEN – округление до ближайшего четного числа, число 6.5 округлится не до 7, а до 6;\nROUND_HALF_DOWN – округление до ближайшего нуля;\nROUND_UP – округление от нуля;\nROUND_05UP – округление от нуля (если последняя цифра после округления до нуля была бы 0 или 5, в противном случае к нулю).\nfrom decimal import * num = Decimal(\u0026#39;3.456\u0026#39;) print(num.quantize(Decimal(\u0026#39;1.00\u0026#39;), ROUND_CEILING)) print(num.quantize(Decimal(\u0026#39;1.00\u0026#39;), ROUND_FLOOR)) # Вывод:\r3.46\r3.45 Модуль fractions #\rДля использования: from fractions import Fraction\nТип данных Fraction представляет из себя рациональное число в виде дроби.\nОсобенности и характеристики:\nFraction, как и Decimal, реализован программно, поэтому он в разы медленнее встроенных числовых типов данных int и float. Тип данных Fraction неизменяемый. Операции над данными этого типа приводят к созданию новых объектов, при этом старые не меняются. Fraction числа можно сравнивать между собой точно так же, как и любые другие числа (также можно сравнить Fraction и целые числа без явного приведения типов); с ним работат все арифметические операции (возведение в степень может вернуть float). При создании рационального числа Fraction, автоматически происходит сокращение числителя и знаменателя дроби, а если результат - целое число, то оно и будет выведено. Fraction числа можно передавать как аргументы функций, ожидающих float. Тогда они будут преобразованы во float. К примеру, модуль math, оперирующий float числами, может работать и с Fraction числами (возвращать функции будут float). Создать Fraction число можно несколькими способами:\nиз целых чисел, передав значения числителя и знаменателя дроби; из строки на основании десятичного представления; из строки на основании обыкновенной дроби; из числа с плавающей точкой (не рекомендуется, так как в Fraction попадет уже неправильно округленное число). from fractions import Fraction num1 = Fraction(3, 4) # 3 – числитель, 4 – знаменатель num2 = Fraction(\u0026#39;0.55\u0026#39;) num3 = Fraction(\u0026#39;1/9\u0026#39;) Методы и свойства #\rnumerator - для получения числителя, denominator - для получения знаменателя: from fractions import Fraction num = Fraction(\u0026#39;5/16\u0026#39;) print(\u0026#39;Числитель дроби равен:\u0026#39;, num.numerator) print(\u0026#39;Знаменатель дроби равен:\u0026#39;, num.denominator) # Вывод:\rЧислитель дроби равен: 5\rЗнаменатель дроби равен: 16 as_integer_ratio() – возвращает кортеж, состоящий из числителя и знаменателя данного Fraction числа. limit_denominator() – возвращает самую близкую к данному числу рациональную дробь, чей знаменатель не превосходит переданного аргумента: from fractions import Fraction import math print(\u0026#39;PI =\u0026#39;, math.pi) num = Fraction(str(math.pi)) print(\u0026#39;No limit =\u0026#39;, num) for d in [1, 5, 50, 90, 100, 500, 1000000]: limited = num.limit_denominator(d) print(limited) # Вывод:\rPI = 3.141592653589793\rNo limit = 3141592653589793/1000000000000000\r3\r16/5\r22/7\r267/85\r311/99\r355/113\r3126535/995207 В Python нельзя совершать арифметические операции (+, -, *, /) между типами Decimal и Fraction.\rКомплексные числа в Python #\rОбщая форма представления комплексного числа следующая: real + imag j, где\nreal – вещественная часть комплексного числа; imag – мнимая часть комплексного числа, которая завершается символом j или J. Особенности и характеристики:\nС complex числами работают все привычные операции: сложение, вычитание, умножение, деление, возведение в степень. Мы также можем совершать арифметические операции над complex и целыми числами (миксовать complex, int, float). Для работы с комплексными числами вместо модуля math нужно использовать модуль cmath z1 = 5 + 7j z2 = 1j z3 = -3 + 5J z4 = 1.5 + 3.2j print(z1, z2, z3, z4, sep=\u0026#39;\\n\u0026#39;) print(type(z1)) # Вывод:\r(5+7j)\r1j\r(-3+5j)\r(1.5+3.2j)\r\u0026lt;class \u0026#39;complex\u0026#39;\u0026gt; Комплексные числа можно создать с помощью литерала, как выше, а можно с помощью функции complex(), которая принимает два аргумента: вещественную и мнимую часть числа, либо строковое представление числа:\nz1 = -3 + 2j # создание на основе литерала z2 = complex(6, -8) # z2 = 6 - 8j z3 = complex(0, 2.5) # z3 = 2.5j z4 = complex(5, 0) # z4 = 5 + 0j z5 = complex(\u0026#39;3+4j\u0026#39;) # создание на основе строки print(z1, z2, z3, z4, z5, sep=\u0026#39;\\n\u0026#39;) # Вывод:\r(-3+2j)\r(6-8j)\r2.5j\r(5+0j)\r(3+4j) Методы и свойства #\rreal - для получения вещественной части, а imag - для мнимой: z = 3+4j print(\u0026#39;Действительная часть =\u0026#39;, z.real) print(\u0026#39;Мнимая часть =\u0026#39;, z.imag) # Вывод:\rДействительная часть = 3.0\rМнимая часть = 4.0 conjugate() - возвращает сопряжённое комплексное число. Для нахождения модуля комплексного числа, используется встроенная функция abs(). ","date":"14 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/frac_dec_compl/","section":"Конспекты","summary":"Точные числа с плавающей точкой, дроби и комплексные числа.","title":"Decimal, Fraction и комлексные числа в Python","type":"posts"},{"content":"","date":"13 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/random/","section":"Tags","summary":"","title":"Random","type":"tags"},{"content":"","date":"13 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/string/","section":"Tags","summary":"","title":"String","type":"tags"},{"content":"\rМодуль random #\rДля использования: import random\nФункции и методы:\nrandint() - принимает два обязательных аргумента a и b и возвращает псевдослучайное целое число из [a, b]; randrange() - может принимать те же аргументы, что и range(), но вместо обычной последовательности чисел возвращает псевдослучайное число из этой последовательности; random() - не принимает аргументов и возвращает псевдослучайное число с плавающей точкой в диапазоне [0.0, 1.0); uniform() - возвращает псевдослучайное число с плавающей точкой в указанном диапазоне [a, b]; seed() - указывает начальное для генератора псевдослучайных чисел (по умолчанию начальное значение - системное время); shuffle() - принимает список в качестве обязательного аргумента и перемешивает его случайным образом; choice() - принимает список (строку, кортеж) в качестве обязательного аргумента и возвращает один случайный элемент; sample() - принимает два обязательных аргумента: первый – коллекция (последовательность), которая поддерживает индексацию (список, строка, кортеж), второй – количество случайных элементов. Возвращает список из указанного количества уникальных (имеющих разные индексы) случайных элементов. Модуль string #\rДля использования: import string\nВ модуле string есть удобные константные строки, которыми можно воспользоваться:\nprint(string.ascii_letters) print(string.ascii_uppercase) print(string.ascii_lowercase) print(string.digits) print(string.hexdigits) print(string.octdigits) print(string.punctuation) print(string.printable) # Вывод:\rabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\rABCDEFGHIJKLMNOPQRSTUVWXYZ\rabcdefghijklmnopqrstuvwxyz\r0123456789\r0123456789abcdefABCDEF\r01234567\r!\u0026#34;#$%\u0026amp;\u0026#39;()*+,-./:;\u0026lt;=\u0026gt;?@[\\]^_`{|}~\r0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\u0026#34;#$%\u0026amp;\u0026#39;()*+,-./:;\u0026lt;=\u0026gt;?@[\\]^_`{|}~ \\t\\n\\r\\x0b\\x0c ","date":"13 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/random_string/","section":"Конспекты","summary":"Модуль random #\rДля использования: import random","title":"Модули string и random","type":"posts"},{"content":"\rСписки (кратко), кортежи (кратко), множества, словари и всё, что с ними связано. Первая часть серии конспектов по языку Python.\rВещи, которые я бы хотел запомнить #\rСинглтон - это паттерн проектирования, гарантирующий, что у класса будет только один экземпляр.\nФункция-критерий, которая возвращает значение True или False, называется предикатом.\nИтератор - итерируемый объект (например \u0026lt;map object at 0x...\u0026gt;).\nКоллекциями в языке Python принято называть типы данных, в том или ином виде хранящие ссылки на ряд других объектов.\nСравнение строк происходит по старшинству в алфавите, а старше та буква, которая ближе к концу алфавита.\nprint((\u0026quot;NO\u0026quot;, \u0026quot;YES\u0026quot;)[num1.issuperset(num2)]) - в квадратных скобках мы получаем результат логического выражения (True - 1 или False - 0). Значит после кортежа будет либо [0], либо [1] - индекс элемента, который мы выберем из самого кортежа.\nЧтобы не использовать экранирование при работе с текстом, можно воспользоваться raw strings, т.е. вместо такого кода: path = 'C:\\\\new\\\\text.txt', использовать код: path = r'C:\\new\\text.txt'.\nПри вызове метода мы используем скобки: (например) close(), а при вызове свойства (атрибута) скобок нет closed. Методы совершают действия, а свойства возвращают информацию об объекте.\nПри конвертации строки в число, функция int() игнорирует пробелы и символы табуляции, перевода строки и т.п.\nЕсли использовать строчные методы islower()/isupper() для строки, состоящей только из небуквенных символов, вернёся False.\nСписки #\rСписки изменяемы; в них допускается выход на границы, просто возьмется весь список до конца; список может содержать элементы разных типов данных; списки - ссылочный тип даных.\nЕсли мы хотим копировать список letters = ['a', 'b', 'c', 'd'], мы можем сделать это следующими способами:\nnew_letters = letters[:] new_letters = list(letters) new_letters = letters.copy() Чтобы вывести список в одну строку, можно восползоваться методом join() или распаковать print(*student)\rСписочные методы и операторы:\nметод append() добавляет новый элемент в конец списка; метод extend() расширяет один список другим списком; метод insert() вставляет значение в список в заданной позиции; метод index() возвращает индекс первого элемента, значение которого равняется переданному в метод значению; метод remove() удаляет первый элемент, значение которого равняется переданному в метод значению; метод pop() удаляет элемент по указанному индексу и возвращает его; метод count() возвращает количество элементов в списке, значения которых равны переданному в метод значению; метод reverse() инвертирует порядок следования значений в списке, то есть меняет его на противоположный; метод copy() создает поверхностную копию списка.; метод clear() удаляет все элементы из списка; оператор del позволяет удалять элементы списка по определенному индексу. Методы строк, работающие со списками:\nМетод split() разбивает строку на слова, используя в качестве разделителя последовательность пробельных символов, символ табуляции (\\t) или символ новой строки (\\n). Метод join() собирает строку из элементов списка, используя в качестве разделителя строку, к которой применяется метод. Если нужно получить очищенную от знаков препинания и заглавных букв строку, можно воспользоваться следующей конструкцией: text = [word.strip('.,!?:;-') for word in input().lower().split()]\rМатрицы #\rИндексы i и j элементов на главной диагонали квадратной матрицы связаны соотношением i = j. На побочной диагонали: i + j + 1 = n (или j = n - i - 1), где n — размерность матрицы.\nЗаметим также, что:\nесли элемент находится выше главной диагонали, то i \u0026lt; j, если ниже – i \u0026gt; j. если элемент находится выше побочной диагонали, то i + j + 1 \u0026lt; n, если ниже - i + j + 1 \u0026gt; n. Если мы вводим элементы построчно, то может задать матрицу так:\nn, m = [int(i) for i in input().split()] matrix = [[int(i) for i in input().split()] for _ in range(n)] Кортежи #\rКортежи являются неизменяемыми списками. В литеральной форме кортеж записывается в виде последовательности элементов в круглых скобках, а список – в квадратных.\nДля создания кортежа с единственным элементом после значения элемента ставят замыкающую запятую: my_tuple = (1,).\nВажно понимать: список внутри кортежа можно изменить. Списки являются ссылочными типами данных, поэтому в кортеже хранится ссылка на список, которая не меняется при изменении самого списка.\nФункции, возвращающие несколько значений, возвращают кортеж.\rКортежи поддерживают:\nдоступ к элементу по индексу (только для получения значений элементов); методы, в частности index(), count(); встроенные функции, в частности len(), sum(), min() и max(); срезы; оператор принадлежности in; операторы конкатенации (+) и повторения (*). Чтобы присвоить переменным значения элементов кортежа, можно воспользоваться следующим кодом (кол-во переменных должно совпадать с кол-вом элементов кортежа):\ncolors = (\u0026#39;red\u0026#39;, \u0026#39;green\u0026#39;, \u0026#39;blue\u0026#39;, \u0026#39;cyan\u0026#39;) (a, b, c, d) = colors # Скобки можно опустить Однако, если необходимо получить лишь какие-то отдельные значения, то в качестве \u0026ldquo;ненужных\u0026rdquo; переменных позволено использовать символ нижнего подчеркивания _.\nЕсть способ собрать сразу несколько значений в одну переменную. Это делается при помощи звездочки перед именем переменной.\na, b, *tail = 1, 2, 3, 4, 5, 6 - в этом случае в переменной a будет записана единица, в переменной b — двойка, а в переменной tail — список, состоящий из всех аргументов, которые не попали в предыдущие переменные. В данном случае tail будет равен [3, 4, 5, 6]. tail всегда будет списком, даже когда в него попадает лишь один элемент или даже ноль.\nЗвездочка может быть только у одного аргумента, но необязательно у последнего.\nЕсли нужно распаковать единственное значение в кортеже, после имени переменной должна идти запятая. Приведенный ниже код:\na = 1, # не распаковка, а просто присвоение b, = 1, # распаковка print(a) print(b) # Вывод:\r(1,)\r1 Таким же образом можно распаковывать и список, и строку\rМножества #\rОбщая информация #\rМножество – структура данных, организованная так же, как математические множества.\nОсобенности:\nвсе элементы множества различны (уникальны), два элемента не могут иметь одинаковое значение; множества неупорядочены, то есть элементы не хранятся в каком-то определенном порядке; элементы множества должны относиться к неизменяемым типам данных; хранящиеся в множестве элементы могут иметь разные типы данных. Чтобы создать множество, нужно перечислить его элементы через запятую в фигурных скобках:\nnumbers = {2, 4, 6, 8, 10} languages = {\u0026#34;Python\u0026#34;, \u0026#34;C#\u0026#34;, \u0026#34;C++\u0026#34;, \u0026#34;Java\u0026#34;} Пустое множество создаётся, например, через set().\nПри выводе множества порядок элементов может отличаться от существовавшего при его создании, поскольку множества — неупорядоченные коллекции данных.\nВстроенная функция set() помимо создания пустого множества может преобразовывать некоторые типы объектов в множества.\nВ неё можно передать один аргумент, который, в свою очередь, должен быть итерируемым объектом (таким как список, кортеж или строковое значение). Отдельные элементы объекта, передаваемого в качестве аргумента, становятся элементами множества:\nmyset1 = set(range(10)) # множество из элементов последовательности myset2 = set([1, 2, 3, 4, 5]) # множество из элементов списка myset3 = set(\u0026#39;abcd\u0026#39;) # множество из элементов строки myset4 = set((10, 20, 30, 40)) # множество из элементов кортежа Попытка добавить в множество кортеж со списком приведёт к ошибке!\rmytuple = ([1, 2, 3], [4, 5, 6]) myset = set(mytuple) # Вывод:\rTypeError: unhashable type: \u0026#39;list\u0026#39; Если требуется создать множество, в котором каждый элемент — строковое значение, содержащее более одного символа, то используем код: myset = set(['aaa', 'bbbb', 'cc']).\nПроверить принадлежит ли какой-либо объект множеству можно с помощью оператора in:\ntremendously_huge_set = {\u0026#34;red\u0026#34;, \u0026#34;green\u0026#34;, \u0026#34;blue\u0026#34;} if \u0026#34;green\u0026#34; in tremendously_huge_set: print(\u0026#34;Green is there!\u0026#34;) else: print(\u0026#34;Unfortunately, there is no green...\u0026#34;) # Вывод: Green is there! Индексация, конкатенация, умножение на число и срезы недоступны для множеств, а значит перебор элементов по индексу не получится, поэтому, например, в цикле, мы должны перебирать сами элементы из множества.\nЧтобы вывести все элементы множества, мы можем его распаковать (при этом не гарантируется, что вывод будет упорядоченным):\nnumbers = {0, 1, 1, 2, 3, 3, 3, 5, 6, 7, 7} print(*numbers, end=\u0026#39; \u0026#39;) # Вывод: 0 1 1 2 3 3 3 5 6 7 7 Если мы хотим упорядочить вывод множества, можем воспользоваться встроенной функцией sorted() (возвращает список):\nnumbers = {0, 1, 1, 2, 3, 3, 3, 5, 6, 7, 7} sorted_numbers = sorted(numbers) print(*sorted_numbers, end=\u0026#39; \u0026#39;) Встроенная функция sorted() имеет опциональный параметр reverse. Если установить этот параметр в значение True, произойдет сортировка по убыванию.\nТакже есть второй парметр key, с помощью которого можно указать функцию, по которой будет происходить сортировка (например, int или len). Важно, что функция при этом пишется без скобок, как это обычно происходит.\nМетоды множеств #\rДля добавления нового элемента в множество используется метод add(); Метод remove() удаляет элемент из множества с генерацией исключения (ошибки) в случае, если такого элемента нет; Метод discard() удаляет элемент из множества без генерации исключения (ошибки), если элемент отсутствует; Метод pop() удаляет и возвращает случайный элемент из множества с генерацией исключения (ошибки) при попытке удаления из пустого множества; Метод clear() удаляет все элементы из множества. Методы, НЕ изменяющие сами множества #\runion() - объединение множеств. myset1 = {1, 2, 3, 4, 5} myset2 = {3, 4, 6, 7, 8} myset3 = myset1.union(myset2) print(myset3) Для объединения двух множеств можно также использовать оператор |.\nmyset1 = {1, 2, 3, 4, 5} myset2 = {3, 4, 6, 7, 8} myset3 = myset1 | myset2 print(myset3) intersection() - пересечение множеств.\nАльтернатива: оператор \u0026amp;.\ndifference() - разность множеств.\nАльтернатива: оператор -.\nsymmetric_difference() - симметрическая разность множеств.\nАльтернатива: оператор ^.\nМетоды, ИЗМЕНЯЮЩИЕ множества #\rupdate() - изменяет исходное множество по объединению.\nАналогичный результат получается, если использовать оператор |=.\nintersection_update() - изменяет исходное множество по пересечению.\nАналогичный результат получается, если использовать оператор \u0026amp;=.\ndifference_update() - изменяет исходное множество по разности.\nАналогичный результат получается, если использовать оператор -=.\nsymmetric_difference_update() - изменяет исходное множество по симметрической разности.\nАналогичный результат получается, если использовать оператор ^=.\nВсе основные операции над множествами выполняются двумя способами: при помощи метода или соответствующего ему оператора. Различие заключается в том, что метод может принимать в качестве аргумента не только множество (тип данных set), но и любой итерируемый объект (список, строку, кортеж и т.д.)\nmylist = [2021, 2020, 2019, 2018, 2017, 2016] mytuple = (2021, 2020, 2016) mystr = \u0026#39;abcd\u0026#39; myset = {2009, 2010, 2016} print(myset.union(mystr)) # объединяем со строкой print(myset.intersection(mylist)) # пересекаем со списком print(myset.difference(mytuple)) # находим разность с кортежем # Вывод:\r{2016, \u0026#39;c\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;a\u0026#39;, \u0026#39;d\u0026#39;, 2009, 2010}\r{2016}\r{2009, 2010} Некоторые методы (union(), intersection(), difference()) и операторы (|, \u0026amp;, -, ^) позволяют совершать операции над несколькими множествами сразу.\nОператор ^ симметрической разности позволяет использовать несколько множеств, а метод symmetric_difference() – нет.\nПриоритет операторов в порядке убывания (верхние операторы имеют более высокий приоритет, чем нижние):\nОператор Описание - разность \u0026amp; пересечение ^ симметрическая разность | объединение Другие методы #\rissubset() - используется для определения, является ли одно из множеств подмножеством другого. Возвращает True или False. set1 = {2, 3} set2 = {1, 2, 3, 4, 5, 6} print(set1.issubset(set2)) # Вывод: True Для определения, является ли одно из множеств подмножеством другого, также применяются операторы \u0026lt;= (нестрогое подмножество) и \u0026lt; (строгое подмножество). Следующий код аналогичен предыдущему по функционалу:\nset1 = {2, 3} set2 = {1, 2, 3, 4, 5, 6} print(set1 \u0026lt;= set2) issuperset() - используется для определения, является ли одно из множеств надмножеством другого. Возвращает True или False.\nВ качестве альтернативы используются операторы \u0026gt;= (нестрогое надмножество) и \u0026gt; (строгое надмножество).\nisdisjoint() - используется для определения отсутствия общих элементов в множествах. Возвращает True или False.\nДанные методы могут принимать в качестве аргумента не только set(), но и любой итерируемый объект (список, строку, кортеж\u0026hellip;). В то же время они могут применяться только к set() или неизменяемому множеству (тип данных frozenset). При этом операторы \u0026gt;, \u0026lt;, \u0026gt;=, \u0026lt;= требуют наличия в качестве операндов множества.\nГенератор множеств #\rЧтобы создать множество, содержащее цифры введённого числа, можно воспользоваться следующей конструкцией: digits = {int(c) for c in input()}\nОбщий вид генератора множеств следующий:\n{выражение for переменная in последовательность},\nгде выражение – некоторое выражение, как правило, зависящее от использованной в списочном выражении переменной, которым будут заполнены элементы множества; переменная – имя некоторой переменной; последовательность – последовательность значений, которые она принимает (любой итерируемый объект).\nВ генераторах множеств можно использовать условный оператор. Например, если требуется создать множество, заполненное только цифрами некоторой строки, то мы можем написать такой код: digits = {int(d) for d in 'abcd12ef78ghj90' if d.isdigit()}\nЕсли же нужно включить else, то используется тернарный условный опреатор:\nalnums = {int(d) if d.isdigit() else ord(d) for d in 'abcd12ef78ghj90'}\nFrozenset #\rТип коллекций frozenset() - это неизменяемое множество. Создание неизменяемых множеств:\nmyset1 = frozenset({1, 2, 3}) # на основе множества myset2 = frozenset([1, 1, 2, 3, 4, 4, 4, 5, 6, 6]) # на основе списка myset3 = frozenset(\u0026#39;aabcccddee\u0026#39;) # на основе строки Над замороженными множествами можно производить все операции, которые можно производить над обычными множествами (само собой, если операция не изменяет исходное множество). Результатом операций над замороженными множествами будут также замороженные множества.\nБудучи изменяемыми, обычные множества не могут быть элементами других множеств. Замороженные множества являются неизменяемыми, а значит могут быть элементами других множеств.\nСравнивать обычные и неизменяемые множества можно.\rСловари #\rОбщая информация #\rСловари (тип данных dict) – изменяемые коллекции элементов с произвольными индексами – ключами. Если в списках элементы индексируются целыми числами, начиная с 0, то в словарях — уникальными ключами, в том числе в виде строк.\nСловарь — реализация структуры данных \u0026ldquo;ассоциативный массив\u0026rdquo; или \u0026ldquo;хеш таблица\u0026rdquo;.\rВ словорях нет привычных индексов (0, 1, 2, \u0026hellip;)!\nКлючи должны быть неизменяемым типом данных, а тип данных значения - произволен.\nСловари принципиально отличаются от списков по структуре хранения в памяти. Список — последовательная область памяти, то есть все его элементы (указатели на элементы) действительно хранятся в указанном порядке, расположены последовательно. Благодаря этому и можно быстро «прыгнуть» к элементу по его индексу. В словаре же используется специальная структура данных — хеш-таблица. Она позволяет вычислять числовой хеш от ключа и использовать обычные списки, где в качестве индекса элемента берется этот хеш.\nЧтобы создать словарь, нужно перечислить его элементы (пары ключ-значение) через запятую в фигурных скобках, как и элементы множества. Первым указывается ключ, после двоеточия – значение, доступное в словаре по этому ключу. Приведенный ниже код создает словарь, в котором ключом служит строка – название языка программирования, а значением – имя создателя языка.\nlanguages = {\u0026#39;Python\u0026#39;: \u0026#39;Гвидо ван Россум\u0026#39;, \u0026#39;C#\u0026#39;: \u0026#39;Андерс Хейлсберг\u0026#39;, \u0026#39;Java\u0026#39;: \u0026#39;Джеймс Гослинг\u0026#39;, \u0026#39;C++\u0026#39;: \u0026#39;Бьёрн Страуструп\u0026#39;} Извлекать значение словаря слудует также, как если бы мы извлекали элемент списка, но вместо индекса пишем ключ в квадратных скобках:\nprint(\u0026#39;Создателем языка C# является\u0026#39;, languages[\u0026#39;C#\u0026#39;]) В качестве ключа можно указать выражение. Python вычислит его значение и обратится к искомому элементу:\nprint(\u0026#39;Создателем языка C# является\u0026#39;, languages[\u0026#39;C\u0026#39; + \u0026#39;#\u0026#39;]) Если ключи словаря – строки без каких-либо специальных символов, то для создания словаря можно использовать функцию dict(). Приведённый ниже код создает словарь с тремя элементами, ключами которого служат строки \u0026rsquo;name\u0026rsquo;, \u0026lsquo;age\u0026rsquo;, \u0026lsquo;job\u0026rsquo;, а значениями – \u0026lsquo;Timur\u0026rsquo;, 28, \u0026lsquo;Teacher\u0026rsquo;.\ninfo = dict(name = \u0026#39;Timur\u0026#39;, age = 28, job = \u0026#39;Teacher\u0026#39;) Создавать словари можно на основе списков кортежей или кортежей списков. Первый элемент списка или кортежа станет ключом, второй — значением.\nЕсли необходимо создать словарь, каждому ключу которого соответствует одно и то же значение, можно воспользоваться методом fromkeys(). Приведенный ниже код создает словарь с тремя элементами, где ключи — строки \u0026rsquo;name\u0026rsquo;, \u0026lsquo;age\u0026rsquo;, \u0026lsquo;job\u0026rsquo;, а соответствующие им значения: \u0026lsquo;Missed information\u0026rsquo;, \u0026lsquo;Missed information\u0026rsquo;, \u0026lsquo;Missed information\u0026rsquo;.\ndict1 = dict.fromkeys([\u0026#39;name\u0026#39;, \u0026#39;age\u0026#39;, \u0026#39;job\u0026#39;], \u0026#39;Missed information\u0026#39;) Если методу fromkeys() не передать второй параметр, то по умолчанию присваивается значение None.\nПустой словарь #\rПустой словарь можно создать так:\ndict1 = {} dict2 = dict() Начиная с версии Python 3.6, словари являются упорядоченными, то есть сохраняют порядок следования ключей в порядке их внесения в словарь.\nОсновы работы со словорями #\rОператор in позволяет проверить, содержит ли словарь заданный ключ; Встроенная функция sum() принимает в качестве аргумента словарь с числовыми ключами и вычисляет сумму его ключей; Встроенные функции min() и max() принимают в качестве аргумента словарь и находят минимальный и максимальный ключ соответственно, при этом ключ может принадлежать к любому типу данных, для которого возможны операции порядка \u0026lt;, \u0026lt;=, \u0026gt;, \u0026gt;= (числа, строки, и т.д.); Словари можно сравнивать между собой операторами == и !=. Равные словари имеют одинаковое количество элементов и содержат равные элементы (ключ: значение); Срезы, операция конкатенации и умножения на число недоступны для сроварей. Перебор элементов словаря #\rВывод ключей:\ncapitals = {\u0026#34;Россия\u0026#34;: \u0026#34;Москва\u0026#34;, \u0026#34;Франция\u0026#34;: \u0026#34;Париж\u0026#34;, \u0026#34;Чехия\u0026#34;: \u0026#34;Прага\u0026#34;} for key in capitals: print(key) Вывод значений:\nfor key in capitals: print(capitals[key]) Словарный метод keys() возвращает список ключей всех элементов словаря: for key in capitals.keys(): # итерируем по списку [\u0026#34;Россия\u0026#34;, \u0026#34;Франция\u0026#34;, \u0026#34;Чехия\u0026#34;] print(key) # Вывод:\rРоссия\rФранция\rЧехия Словарный метод values() возвращает список значений всех элементов словаря.\nСловарный метод items() возвращает список всех элементов словаря, состоящий из кортежей пар (ключ, значение).\nСловарные методы items(), keys(), values() возвращают не совсем обычные списки. Типы этих списков – dict_items, dict_keys, dict_values, соответственно, в отличие от обычных списков list. Методы обычных списков недоступны для списков типа dict_items, dict_keys, dict_values. Нужно использовать явное преобразование с помощью функции list() для получения доступа к методам списков.\rЕсли требуется вывести только ключи словаря, то мы так же можем использовать операцию распаковки словаря: print(*capitals, sep=\u0026quot;\\n\u0026quot;)\nСортировка по ключам выполняется с использованием функции sorted() (возвращает отсортированный список ключей, а не словарь):\nfor key in sorted(capitals): print(key) Для сортировки словаря по значениям можно использовать функцию sorted() вместе с методом items() (возвращает не словарь, а отсортированный по значениям список кортежей):\nfor key, value in sorted(capitals.items(), key=lambda x: x[1]): print(value) Методы и операторы словарей #\rЧтобы изменить значение по определенному ключу в словаре, достаточно использовать индексацию вместе с оператором присваивания. При этом если ключ уже присутствует в словаре, его значение заменяется новым, если же ключ отсутствует – то в словарь будет добавлен новый элемент.\ninfo = {\u0026#39;name\u0026#39;: \u0026#39;Sam\u0026#39;, \u0026#39;age\u0026#39;: 28, \u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;} info[\u0026#39;name\u0026#39;] = \u0026#39;Timur\u0026#39; # изменяем значение по ключу name info[\u0026#39;email\u0026#39;] = \u0026#39;timyr-guev@yandex.ru\u0026#39; # добавляем в словарь элемент с ключом email print(info) Для того чтобы избежать возникновения ошибки в случае отсутствия ключа в словаре, можно использовать метод get(), способный кроме ключа принимать и второй аргумент – значение, которое вернется, если заданного ключа нет. Когда второй аргумент не указан, то метод в случае отсутствия ключа возвращает None. info = {\u0026#39;name\u0026#39;: \u0026#39;Bob\u0026#39;, \u0026#39;age\u0026#39;: 25, \u0026#39;job\u0026#39;: \u0026#39;Dev\u0026#39;} item1 = info.get(\u0026#39;salary\u0026#39;) item2 = info.get(\u0026#39;salary\u0026#39;, \u0026#39;Информации о зарплате нет\u0026#39;) print(item1) print(item2) # Вывод:\rNone\rИнформации о зарплате нет Метод update() реализует своеобразную операцию конкатенации для словарей. Он объединяет ключи и значения одного словаря с ключами и значениями другого. При совпадении ключей в итоге сохранится значение словаря, указанного в качестве аргумента метода update(). info1 = {\u0026#39;name\u0026#39;: \u0026#39;Bob\u0026#39;, \u0026#39;age\u0026#39;: 25, \u0026#39;job\u0026#39;: \u0026#39;Dev\u0026#39;} info2 = {\u0026#39;age\u0026#39;: 30, \u0026#39;city\u0026#39;: \u0026#39;New York\u0026#39;, \u0026#39;email\u0026#39;: \u0026#39;bob@web.com\u0026#39;} info1.update(info2) print(info1) # Вывод: {\u0026#39;name\u0026#39;: \u0026#39;Bob\u0026#39;, \u0026#39;age\u0026#39;: 30, \u0026#39;job\u0026#39;: \u0026#39;Dev\u0026#39;, \u0026#39;city\u0026#39;: \u0026#39;New York\u0026#39;, \u0026#39;email\u0026#39;: \u0026#39;bob@web.com\u0026#39;} В Python 3.9 появились операторы | и |=, которые реализуют операцию конкатенации словарей.\rМетод setdefault() позволяет получить значение из словаря по заданному ключу, автоматически добавляя элемент словаря, если он отсутствует.\nМетод принимает два аргумента: key: ключ, значение по которому следует получить, если таковое имеется в словаре, либо создать. default: значение, которое будет использовано при добавлении нового элемента в словарь. Важно! get() только получает значение, не меняя словарь, в то время как setdefault() не только получает значение, но и изменяет словарь.\rС помощью оператора del можно удалять элементы словаря по ключу: del info['email'] (если удаляемого ключа в словаре нет, возникнет ошибка KeyError). Метод pop() удаляет элемент словаря по ключу, возвращая его значение: email = info.pop('email') (при отутствии ключа также возвращает ошибку, если не передать второй аргумент). Метод popitem() удаляет из словаря последний добавленный элемент и возвращает удаляемый элемент в виде кортежа (ключ, значение). Метод clear() удаляет все элементы из словаря: info.clear(). Метод copy() создает поверхностную копию словаря: info_copy = info.copy() (оператор присваивания (=) не копирует словарь, а лишь присваивает ссылку на старый словарь новой переменной.). Вложенные словари #\rЧтобы обратиться к элементу вложенного словаря, нужно указать ключи в нескольких квадратных скобках (подобно спискам).\nГенераторы словарей #\rОбщий вид: {ключ: значение for переменная in последовательность}\nПримеры использования:\nЧтобы создать словарь, где ключи – числа от 0 до 5, а значения – квадраты ключей, можем воспользоваться следующим кодом: squares = {i: i**2 for i in range(6)}; Для вычисления ключа и значения в генераторе словаря могут быть использованы выражения: lst = [\u0026#39;ReD\u0026#39;, \u0026#39;GrEeN\u0026#39;, \u0026#39;BlUe\u0026#39;] dct = {c.lower(): c.upper() for c in lst} print(dct) # Вывод: {\u0026#39;red\u0026#39;: \u0026#39;RED\u0026#39;, \u0026#39;green\u0026#39;: \u0026#39;GREEN\u0026#39;, \u0026#39;blue\u0026#39;: \u0026#39;BLUE\u0026#39;} Извлечение из словаря элементов с определенными ключами: dict1 = {0: \u0026#39;A\u0026#39;, 1: \u0026#39;B\u0026#39;, 2: \u0026#39;C\u0026#39;, 3: \u0026#39;D\u0026#39;, 4: \u0026#39;E\u0026#39;, 5: \u0026#39;F\u0026#39;} selected_keys = [0, 2, 5] dict2 = {k: dict1[k] for k in selected_keys} print(dict2) # Вывод: {0: \u0026#39;A\u0026#39;, 2: \u0026#39;C\u0026#39;, 5: \u0026#39;F\u0026#39;} Мы также можем использовать генераторы словарей для создания вложенных словарей: squares = {i: {j: j**2 for j in range(i + 1)} for i in range(5)} for value in squares.values(): print(value) # Вывод:\r{0: 0}\r{0: 0, 1: 1}\r{0: 0, 1: 1, 2: 4}\r{0: 0, 1: 1, 2: 4, 3: 9}\r{0: 0, 1: 1, 2: 4, 3: 9, 4: 16} В генераторах словарей можно использовать условный оператор. Приведенный ниже код создает словарь, ключами которого являются четные числа от 0 до 9, а значениями – квадраты ключей: squares = {i: i**2 for i in range(10) if i % 2 == 0} (можно обойтись и без условного оператора, установив параметр step в функции range()).\n","date":"12 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/collections/","section":"Конспекты","summary":"Списки (кратко), кортежи (кратко), множества, словари и всё, что с ними связано.","title":"Коллекции в Python","type":"posts"},{"content":"","externalUrl":null,"permalink":"/HFK_website/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"\rСерия конспектов по языку программирования Python.\rЕсли вы новичок, не рекомендую читать это в качестве основного материала, потому что самая базовая информация здесь опущена. Тем не менее, начиная с параграфа \u0026ldquo;Кортежи\u0026rdquo; первой части серии, я старался записать как можно больше информации. Важно отметить, что конпект Функции в Python также подразумевает, что вы уже знаете основы работы с функциями.\n","externalUrl":null,"permalink":"/HFK_website/python/","section":"🎉","summary":"Серия конспектов по языку программирования Python.","title":"Python","type":"page"},{"content":"","externalUrl":null,"permalink":"/HFK_website/%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D1%8B/","section":"Авторы","summary":"","title":"Авторы","type":"авторы"}] \ No newline at end of file +[{"content":"print(\u0026#34;Hello, World!\u0026#34;) ","date":"16 июля 2024","externalUrl":null,"permalink":"/HFK_website/","section":"🎉","summary":"print(\u0026#34;Hello, World!","title":"🎉","type":"page"},{"content":"","date":"16 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/memory/","section":"Tags","summary":"","title":"Memory","type":"tags"},{"content":"","date":"16 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/python/","section":"Tags","summary":"","title":"Python","type":"tags"},{"content":"","date":"16 июля 2024","externalUrl":null,"permalink":"/HFK_website/series/python/","section":"Series","summary":"","title":"Python","type":"series"},{"content":"","date":"16 июля 2024","externalUrl":null,"permalink":"/HFK_website/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","date":"16 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"\rДелюсь своими скромными познаниями\rЗдесь находятся мои конспекты о языке Python, программировании в целом и о других интересующих меня вещах. Материалы расположены в порядке убывания по дате, поэтому ранние конспекты находятся внизу.\nСтруктуризация и мыслеизложение могут показаться неправильными, так как конспекты были написаны в первую очередь для личного пользования.\n","date":"16 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/","section":"Конспекты","summary":"Делюсь своими скромными познаниями\rЗдесь находятся мои конспекты о языке Python, программировании в целом и о других интересующих меня вещах.","title":"Конспекты","type":"posts"},{"content":"\rКонспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python\rКомпьютерная память #\rКак можем видеть из схемы ниже, память в компьюетере разделяется на внутреннюю и внешнюю:\ngraph LR;\rA{\"Компьютерная память\"}--\u003eB(\"Внутренняя память\");\rA--\u003eC(\"Внешние накопители\");\rB--\u003eD[\"Постоянная\"]\rB--\u003eE[\"Оперативная\"]\rB--\u003eF[\"Кэш-память\"]\rC--\u003eG[\"Жёсткие диски\"]\rC--\u003eH[\"Твердотельные накопители\"]\rC--\u003eI[\"Оптические диски\"]\rC--\u003eJ[\"Флеш накопители\"]\rПосмотрим подробнее на каждый тип памяти.\nВнутренняя память #\rХарактерными особенностями внутренней памяти по сравнению с внешней являются высокое быстродействие и ограниченный объем. Физически внутренняя память компьютера представляет собой интегральные микросхемы, которые размещаются в специальных гнездах на материнской плате. Чем больше размер внутренней памяти, тем более сложную задачу и с большей скоростью может решить компьютер.\nВнутренняя память подразделяется на:\nпостоянную память оперативную память кэш-память Постоянная память (ROM — read-only memory) — энергозависимая память, использующаяся для долговременного хранения неизменяемого массива данных. Содержание ПЗУ специальным образом закладываестя при его изготовлении для постоянного хранения. Из название как раз можно понять, что данная память предназначена только для чтения.\nОперативная память (RAM — Random Access Memory) — в большинстве случаев энергозависимая память, хранящая выполняемый машинный код программ, входные, выходные и промежуточные данные, обрабатываемые процессором в текущем сеансе работы ПК. После выключения питания компьютера, полностью очищается.\nМикросхемы оперативной памяти монтируются на печатной плате. Каждая такая плата снабжена контактами, расположенными вдоль нижнего края. Для подключения к другим устройствам компьютера такая плата вставляется своими контактами в специальный разъем (слот) на материнской плате. Материнская плата имеет несколько разъемов для модулей оперативной памяти, суммарный объем которых может принимать ряд фиксированных значений, например 2, 4, 8, 16, 32 Гб и более.\nОперативная память бывает нескольких типов: SDRAM, DDR, DDR2, DDR3, DDR4, DDR5. Каждый последующий тип памяти представляет собой улучшение предыдущего и позволяет новой памяти работать с большей скоростью. В данный момент в современных компьютерах используется оперативная память типа DDR4 и DDR5.\nКэш-память (cache) — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Эта память испольлзуется при обмене данными между процессором и оперативной памятью. Алгоритм ее работы позволяет сократить частоту обращений процессора к оперативной памяти и, следовательно, повысить производительность компьютера.\ngraph LR;\rA[Процессор] \u003c==\u003e B[Кэш-контроллер] \u003c--\u003e C[оперативная память];\rA \u003c==\u003e B;\rB \u003c--\u003e D[Кэш-память];\rB \u003c--\u003e D;\rСовременные процессоры оснащены кэшем, который состоит зачастую из трех уровней: L1 (первый уровень), L2 (второй уровень), L3 (третий уровень).\nL1 — наиболее быстрый уровень кэш-памяти, который работает напрямую с ядром процессора, в следствии чего обладает наименьшим временем доступа и работает на частотах, близких процессору. Размер данного кэша обычно не велик, а количество микросхем зачастую привязано к количеству ядер процессора, при этом у каждого ядра кэш свой собственный. Размер блока может варьироваться от 64-256 КБ у десктопов и ноутбуков до 1-2 МБ для серверных решений.\nСам L1 тоже имеет свое разделение. Он делится на кэш команд и кэш данных:\nПервый содержит информацию об операции, которой занимается ЦП, проще говоря, отвечает на вопрос: «Что надо сделать»;\nВторой хранит в себе данные, над которыми должны производиться вычисления.\nL2 — второй уровень более масштабный, нежели первый, но в результате, обладает меньшими скоростными характеристиками. Также привязан к ядру и не взаимодействует с остальными.\nL3 — третий уровень. Он более медленный, нежели два предыдущих, но всё же гораздо быстрее, чем оперативная память. Этот блок уже доступен для всех ядер процессора. На третьем уровне временно хранятся данные, которые хоть и важны для продуктивной работы, но регистры обращаются за этой информацией относительно нечасто.\n---\rconfig:\rthemeVariables:\rprimaryColor: \"#00FFFF\"\rfontFamily: verdana\rfontSize: 20px\r---\rgraph LR;\rsubgraph ;\rA[[ALU]] \u003c--\u003e B[Registers];\rB \u003c--\u003e D(L1 Ins\rcache);\rB \u003c---\u003e E(L1 D cache);\rD \u003c--\u003e F([L2 cache]);\rE \u003c--\u003e F;\rF \u003c--\u003e C(L3 cache);\rend;\rC \u003c--\u003e G((ROM));\rВнешняя память #\rНазначение внешней памяти компьютера заключается в долговременном хранении информации любого вида. Выключение питания компьютера не приводит к очистке внешней памяти и её объём в тысячи раз больше объёма внутренней памяти. Минус такой памяти в том, что обращение к ней требует гораздо большего времени.\nК устройствам внешней памяти относятся:\nЖёсткие магнитные диски (HDD — Hard Disk Drive) Твердотельные накопители (SSD — Solid State Drive) Оптические диски (CD-ROM, DVD-ROM, Blue-Ray и т.д.) Флеш-накопители Гибкие магнитные диски Наиболее распространенный вариант постоянной памяти — жесткие диски HDD. Они представляют собой один или несколько магнитных дисков, вращающихся с огромной скоростью (от 5 до 12 тысяч оборотов в минуту), и головок, предназначенных для считывания и записи информации. HDD являются надежными носителями информации, позволяют записывать и считывать информацию огромное количество раз. Неудобство в том, что они очень медленные и восприимчивы к ударам, падениям и прочим механическим воздействиям, особенно в момент работы.\nПочти у каждого уверенного пользователя ПК в наши дни скорее найдётся SSD, чем HDD. Их популярность неудивительна, ведь они имеют гораздо более высокую скорость записи и чтения и невосприимчивы к механическим воздействиям. Их можно было бы назвать идеальными накопителями, если бы не ощутимо конечное количество циклов чтения-записи.\nУправление памятью в Python #\rУправление памятью — это процесс выделения, распределения и координации памяти таким образом, чтобы все программы работали правильно и могли оптимально получать доступ к различным системным ресурсам. Управление памятью также включает в себя и очистку памяти от объектов, которые больше не нужны.\nСуществует два типа управления памятью: ручное и автоматическое.\nРучное управление включает в себя, как правило, три этапа:\nЗапрос памяти у операционной системы Работа с ней Возвращение памяти обратно в операционную систему Ручной подход управления (как в C, C++, Pascal и т.д.) позволяет работать с памятью максимально эффективно. Программист точно знает, сколько памяти ему выделено, зачем он её использует, и т.д. Однако помимо преимуществ такой подход имеет и ряд недостатков. Ключевой из них — сложность. Управлять памятью вручную — сложно и тяжело, поскольку легко забыть вернуть память обратно операционной системе, в результате чего возникает утечка: программа держит неиспользуемую память просто так, не давая применять ее для решения других задач.\nАвтоматическое управление памятью (как в Python, Java, JS, C#, Ruby и т.д.) берет на себя самый сложный этап — возвращение памяти обратно операционной системе, когда она уже не требуется. Восстановленная память может использоваться другими объектами. В определённых случаях это менее эффективно, но позволяет сильно сократить трудозатраты и повысить надежность процесса.\nPython — это язык с автоматическим управлением памятью. Причем для управления ею он использует несколько механизмов. При запуске Python программы создается новый процесс, в рамках которого операционная система выделяет пул ресурсов, включая виртуальное адресное пространство. В эту память загружается интерпретатор Python вместе со всеми необходимыми ему для работы данными, включая код написанной программы.\nОставшаяся свободная виртуальная память может использоваться для хранения информации об объектах Python. Для управления этой памятью в CPython используется специальный механизм, который называется аллокатор. Он используется каждый раз, когда вам нужно создать новый объект.\nОбычно мы в своих программах не оперируем большими объектами. Большая часть наших данных — это числа, строки и т.д., они занимают не такой уж большой объем в расчёте на одно значение. Но зато мы создаем их достаточно часто. И это приводило бы к проблемам, если бы Python абсолютно все такие вызовы транслировал в операционную систему. Системный вызов на выделение памяти — штука трудозатратная, зачастую связанная с переходом в контекст ядра операционной системы. Поэтому одна из главных задач аллокатора Python — оптимизация количества системных вызовов.\nДля больших объектов (больше 512 байт) Python выделяет память напрямую у ОС. Обычно таких объектов не очень много в рамках программы, и создаются они нечасто. Поэтому накладные расходы на создание таких объектов напрямую в RAM не так высоки.\rАллокатор для малых объектов (не больше 512 байт) использует три уровня абстракции:\nБлок — кусок памяти, используемый для хранения одного объекта. Пул — страница памяти, содержащий блоки (обычно 4 килобайта). Арена — большой непрерывный кусок памяти, содержащий пулы (обычно 256 килобайт). Блок #\rБлок — это кусок памяти, который может содержать только один Python объект фиксированного размера. Размер блока может варьироваться от 8 до 512 байт и должен быть кратен восьми. Все блоки в конкретном пуле имеют одинаковый размер и находятся в одном классе размера, который и определяет размер блока.\nЗапрос памяти в байтах Размер блока в байтах Индекс класса размера 1-8 8 0 9-16 16 1 17-24 24 2 25-32 32 3 33-40 40 4 41-48 48 5 \u0026hellip; \u0026hellip; \u0026hellip; 505-512 512 63 Таким образом, если необходимы:\n6 байт, то данные будут помещены в блок размером 8 байт; 42 байта, то данные будут помещены в блок размером 48 байт; и т.д. Пул #\rПулы состоят из блоков одного размера. Каждый пул работает по принципу двухсвязного списка с другими пулами того же размера, поэтому алгоритм может с легкостью найти необходимое место для требуемого размера блока даже среди множества пулов. Размер пула равен 4 килобайта.\nОграничение пула фиксированным размером блоков помогает с фрагментацией. Если объект уничтожается, аллокатор может заполнить это пространство новым объектом того же размера.\rДля эффективного управления пулами Python использует дополнительный список, который называется usedpools. Он хранит указатели на пулы, сгруппированные по классам. Как уже известно, все пулы с одинаковым размером блока связаны между собой с помощью двухсвязного списка. Чтобы перебрать их, нужно просто знать начало списка. Если пулов такого размера нет, то при первом запросе памяти будет создан новый.\nПулы находятся в трех состояниях:\nИспользуемый (used) — частично заполненный, какие-то блоки заняты, какие-то свободны; Полный (full) — полностью заполненный, все блоки заняты; Пустой (empty) — все блоки свободны и доступны для записи (хранятся в списке пустых пулов freepools). Используемый пул содержит блоки, в которые можно записать какую-то информацию. Блоки полного пула все распределены и уже содержат данные. Пустые пулы не содержат данных и могут быть разбиты на какие угодны классы размера при необходимости.\nДопустим, нашему коду необходимо 8 байт. Если в списке используемых пулов нет пулов с классом размера в 8 байт, то новый пустой пул инициализируется, как хранящий блоки по 8 байт. Затем пустой пул добавляется в список используемых пулов и может быть использован при следующих запросах.\nЗаполненный пул освобождает некоторые блоки, когда эта информация в них уже не нужна. Этот пул добавится в список используемых в соответствии со своим классом размера.\nПулы и блоки не выделяют память напрямую, вместо этого они используют уже выделенное пространство в аренах.\rАрены #\rАрена – это кусок памяти размером в 256 килобайт, который обеспечивает память для 64 пулов.\nАрены, в отличие от пулов, не имеют явных разделений на состояния. Они сами по себе организованы в двухсвязный список usable_arenas, который отсортирован по количеству свободных пулов. Чем меньше свободных пулов, тем ближе арена к началу списка.\nПоэтому наиболее полная арена будет выбрана для записи еще большего количества данных. Такое расположение арен позволяет снизить объем потребляемой программой памяти. Дело в том, что в некоторых случаях, когда память освобождается, она все еще остается недоступной операционной системе. Процесс Python держит ее распределенной и использует ее позже для новых данных. Полное освобождение памяти возвращает память в пользование операционной системе.\nАрены — единственные области, которые могут быть полностью освобождены. Таким образом мы понимаем, что те арены, которые находятся в списке ближе к пустому состоянию, должны быть освобождены. В таком случае, область памяти может быть действительно полностью освобождена, и соответственно общий объем памяти Python программы будет уменьшен.\nОсновной источник: https://stepik.org/lesson/624148/step/10?unit=619836\nДополнительные источники:\nhttps://habr.com/ru/companies/domclick/articles/530804/ https://market.marvel.ru/blog/komplektuyushchie-i-optsii/kesh-pamyat-protsessora/ https://github.com/python/cpython/blob/7d6ddb96b34b94c1cbdf95baa94492c48426404e/Objects/obmalloc.c ","date":"16 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/memory_python/","section":"Конспекты","summary":"Конспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python\rКомпьютерная память #\rКак можем видеть из схемы ниже, память в компьюетере разделяется на внутреннюю и внешнюю:","title":"Устройство памяти в Python","type":"posts"},{"content":"\rВ этом конспекте в первую очередь представлены ответы на вопросы по книге, а также новые для меня вещи, которые я вынес после прочтения каждой главы. Какие-то главы опускаются (например, первая), если из них не извлечено ничего до момента прочтения мне неизвестного.\nКонспект будет пополняться по ходу прочтения книги\nОбщие вопросы, которые возникали по ходу прочтения, и на которые я находил ответы на просторах интернета:\nJIT-компилятор (just in time) — компилятор, выполняющий команды по ходу исполнения самой программы, в отличии от AOT-компилятора (ahead-of-time), который компилирует программу перед её непосредственным исполнением.\nPython REPL (read-evaluate-print loop) — интерактивный режим, в котором интерпретатор считывает команды построчно и сразу же выполняет их (выводя результат на экран, если нужно)\nРазличия IDLE и IDE: IDE (integrated development environment — интегрированная среда разработки) — программа, в которой разработчики пишут, тестируют и запускают код. Например VS Code. IDLE (Integrated Development and Learning Environment) — стандартная среда разработки Python. Обычно поставляется вместе с самим ЯП. Низкая функциональность, по сравнению с тем же VS Code.\nФайл с расширением .pyw — тот же самый .py, но при выполнении *.pyw терминал/консоль не открывается. При этом, файлы с расширением .pyw выполняются программой pythonw.exe, в то время как файлы с расширением .py выполняются python.exe.\nЕсть очередной способ форматирования строки, где вместо %s подставляется строковый объект из скобок. По функционалу один в один format(), полагаю.\nЧасть 1. Начало работы #\rГлава 2. Как Python выполняет программы #\rИнтерпретатор Python — программа, выполняющая написанные программы на Python\nИсходный код — последовательность операторов, записанная в текстовом файле с расширением .py\nБайт-код — форма кода, полученная путём компиляции исходного кода для последующей интерпретации. Не пересоздаётся, если программа была запущена повторно без изменения исходного кода и если версии Python при создании и запуске совпадают. Хранится в файле расширений .pyc.\nPVM — Python virtual machine (виртуальная машина Python). Нужна для интерпретации (исполнения) скомпилированного байт-кода.\nCPython, Jython, IronPython, PyPy, Stackless и т.д.\nCPython — стандартная реализация. Jython — реализация Python для интеграции с Java, а IronPython для интеграции с .NET.\nStackless — реализация Python, направленная на обеспечение параллелизма, PyPy — реализация Python, направленная на обеспечение высокой скорости выполнения. PyPy также является преемником Psyco, включает в себя концепции JIT-компилятора и поддержку Stackless.\nГлава 3. Как пользователь выполняет программы #\rЧто нового #\rУзнал больше про IDLE, научился им пользоваться; Узнал как использовать интерактивный интерпретатор. Ответы на вопросы #\rСеанс интерактивного интерпретатора можно запустить следующими способами:\nВ командной строке (Windows), терминале (Unix) путём введения команды python (или py) Найти значок запуска \u0026ldquo;Python \u0026lt;v\u0026gt;\u0026rdquo; в меню пуск Запуск среды IDLE В командной строке (Windows) или терминале (Unix).\nМодули можно запускать следующими способами:\nС помощью командной строки: python \u0026lt;filename.py\u0026gt; Щёлкнуть на значок файла Импортирования и перезагрузки: from importlib import reload import Studying reload(Studying) # Вывод:\rHello World!\rHello World! Использовать встроенную функцию exec(): exec(open(\u0026quot;Studying.py\u0026quot;).read()) С помощью IDE При открытии файла .py щелчком, после завершения программы окно моментально закрывается, из-за чего становится проблематичным рассмотреть вывод и сообщения об ошибках.\nПо умолчанию Python импортирует модуль единожды за сеанс (так как операция импорта довольно затратна), поэтому если исходный код был изменён и требуется выполнить новую версию, не перезапуская Python, на помощь приходит перезагрузка модуля командой reload().\nЧтобы запустить модуль в IDLE, нужно, для начала, находиться непосредственно в текстовом редакторе IDLE с открытым файлом модуля, там нажать Run Module.\nIDLE виснет и не сильно надёжный.\nПространство имён — пакет переменных (имён). Каждый файл модуля автоматически является пространством имён, то есть пакетом переменных, которые отражают присваивания, сделанные на верхнем уровне файла.\nЧасть 2. Типы и операции #\rГлава 4. Введение в типы объектов Python #\rЧто нового #\rUnicode — это стандарт, который определяет уникальные числовые коды (code points) для каждого символа в различных письменных системах мира; UTF-8 (Unicode Transformation Format) — кодировка, представляющая эти числовые коды в последовательности байтов.\nСуществует стиль форматирования строк, в котором используются %. Лично я не вижу смысла им пользоваться, так как существуют более свежие и быстрые альтернативы (f-strings, format()), но полезно для общего развития. Пример:\nname = \u0026#34;Ivan\u0026#34; print(\u0026#39;Hello, %s\u0026#39; % name) print(\u0026#39;%s, my friend %s\u0026#39; % (\u0026#39;Hello\u0026#39;, name)) # Вывод: Hello, Ivan\rHello, my friend Ivan Забывшееся: в один принт можно читабельно (без прописывания литералов) уместить многострочный текст, обрамляя его тремя парами кавычек: print(\u0026#34;\u0026#34;\u0026#34;Hello and welcome to the Los Pollos Hermanos family. My name is Gustavo, but you can call me Gus.\u0026#34;\u0026#34;\u0026#34;) Существует тип данных bytes — байтовый объект (строка байтов). Как и str, является неизменяемым. Также есть изменяемый эквивалент — массив байтов bytearray. Ответы на вопросы #\rОсновными типами данных в Python являются None, булевские значения, числа (целые, с плавающей точкой и комплексные), строки (текстовые и байтовые), списки, кортежи, множества, словари и файлы.\n\u0026ldquo;Основными\u0026rdquo; они называются, так как для их использования не нужно импортировать модули, да и просто их используют чаще всего.\nВ Python есть три основных неизменяемых (то есть без возможности модификации после создания) типа данных: числа, строки, кортежи.\n\u0026ldquo;Последовательность\u0026rdquo; — позиционно упорядоченная коллекция объектов. Ими являются строки, списки и кортежи.\n\u0026ldquo;Отображение\u0026rdquo; — объект, состоящий из пар \u0026ldquo;ключ-значение\u0026rdquo;. В Python им является словарь.\nПолиморфизм в Python представляет из себя разное поведение одного и того же метода/оператора в разных классах.\n","date":"15 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/mark_lutz/","section":"Конспекты","summary":"В этом конспекте в первую очередь представлены ответы на вопросы по книге, а также новые для меня вещи, которые я вынес после прочтения каждой главы.","title":"Марк Лутц \"Изучаем Python\"","type":"posts"},{"content":"\rКонспект посвящён скрытым особенностям и неочевидным деталям логических операторов в Python\rTruthy и falsy объекты #\rFalsy — объекты, которые могут быть оценены как значение False. К ним относятся следующие объекты:\nЗначение False Значение None Числовые нули: 0, 0.0, 0j, Decimal(0), Fraction(0, 1) Пустые последовательности и коллекции: b'', bytearray(b''), '', [], (), {}, set(), range(0) Truthy — объекты, которые могут быть оценены как значение True. К ним относятся все объекты, не относящиеся к falsy.\nЧтобы представить такие объекты в булевом виде, можно использовать функцию bool().\nОператоры and и or #\rОператоры and и or не приводят свои результаты принудительно к значениям True или False, а возвращают один из своих операндов. Такой подход позволяет использовать эти операторы в более общих операциях, а не только в булевых.\nДля начала посмотрим на оператор or:\nprint(None or 0) print(0 or 5) print(\u0026#39;beegeek\u0026#39; or None) print([1, 2, 3] or [6, 9]) print(1 or \u0026#39;beegeek\u0026#39; or None) print(0.0 or \u0026#39;habr\u0026#39; or {\u0026#39;one\u0026#39;: 1}) print(0 or \u0026#39;\u0026#39; or [6, 9]) print(0 or \u0026#39;\u0026#39; or []) print(0 or \u0026#39;\u0026#39; or [] or {}) # Вывод:\r0\r5\rbeegeek\r[1, 2, 3]\r1\rhabr\r[6, 9]\r[]\r{} Как можно видеть, оператор or оценивает каждый свой операнд как truthy или falsy объект, однако возвращает не значение True или False, а сам объект по определенному правилу — первый truthy объект либо последний объект, если truthy объекты в логическом выражении не найдены.\nПодобным образом с помощью or можно определять значение по умолчанию, к примеру:\ngreet = input(\u0026#34;Ваше имя \u0026gt;\u0026gt; \u0026#34;) or \u0026#34;noname\u0026#34; print(f\u0026#34;Привет, {greet}!\u0026#34;) Если пользователь ничего не передаст в функцию input(), в переменную greet попадёт строка \u0026quot;noname\u0026quot;.\nПерейдём к оператору and:\nprint(None and 10) print(5 and 0.0) print(\u0026#39;beegeek\u0026#39; and {}) print([1, 2, 3] and [6, 9]) print(1 and \u0026#39;beegeek\u0026#39; and None) print(\u0026#39;habr\u0026#39; and 0 and {\u0026#39;one\u0026#39;: 1}) print(10 and [6, 9] and []) # Вывод:\rNone\r0.0\r{}\r[6, 9]\rNone\r0\r[] Оператор and возвращает первый falsy объект либо последний объект, если falsy объекты в логическом выражении не найдены.\nShort-circuit evaluation #\rОператоры and и or укорачивают вычисление своих операндов (т.е. используют замыкания): правый операнд вычисляется лишь в том случае, если его значение необходимо для получения истинного значения в операциях and или or. Другими словами, замыкания в логических операциях используются для запуска второй части или последующих частей логического выражения только в том случае, если это актуально!\nЕсли левый операнд оператора or является truthy объектом, то общим результатом логического выражения является True, независимо от значения правого операнда. Если левый операнд оператора and является falsy объектом, то общим результатом логического выражения является False, независимо от значения правого операнда. Данный механизм называется вычислением по короткой схеме (short-circuit evaluation) и используется интерпретатором для оптимизации вычислений. Рассмотрим пример:\ndef f(): print(\u0026#39;bee\u0026#39;) return 3 if True or f(): print(\u0026#39;geek\u0026#39;) # Вывод: geek Левым операндом оператора or является truthy объект, значит, для вычисления общего результата логического выражения нет необходимости вычислять правый операнд, то есть вызывать функцию f(). Поскольку вызова функции не происходит, в выводе отсутствует строка bee.\nИ наоборот, если заменить or на and, в выводе будут обе строки.\nПриоритет логических операторов #\rПриоритет указан от наивысшего к наименьшему:\nnot and or По отношению к другим операторам Python (за исключением оператора присваивания =) логические операторы имеют самый низкий приоритет.\na = 5 b = 7 print(not a == b) # True В этом коде сначала сравниваются значения переменных, затем применяется оператор not.\nСтоит упомянуть, что подобная запись будет вызывать исключение SyntaxError:\na = 5 b = 7 print(a == not b) Рассмотрим ещё один пример:\nprint(not 1 == 2 or 3 == 3 and 5 == 6) # Вывод: True Согласно приоритету операторов в первую очередь вычисляются выражения 1 == 2, 3 == 3 и 5 == 6, в результате чего исходное выражение принимает вид not False or True and False. Далее выполняется оператор not, возвращая значение True, после него — оператор and, возвращая значение False. Выражение принимает вид True or False. Последним выполняется оператор or, возвращая общий результат выражения — значение True.\nP.S. На самом деле после вычиления not 1 == 2 оператор or сразу вернёт True, не вычисляя правую часть.\nЦепочки сравнений #\rКак известно, сравнивать объекты в Python можно в укороченной форме, например вместо a \u0026lt; b and b \u0026lt; c писать a \u0026lt; b \u0026lt; c\nПоскольку оператор and реализует вычисление по короткой схеме, все сравнения, которые располагаются правее сравнения, вернувшего ложный результат, не выполняются, и их операнды не вычисляются:\ndef f(): print(\u0026#39;bee\u0026#39;) return 3 if 5 \u0026lt; 1 \u0026lt; f(): print(\u0026#39;geek\u0026#39;) else: print(\u0026#39;beegeek\u0026#39;) # Вывод: beegeek Пояснение: выражение 5 \u0026lt; 1 \u0026lt; f() эквивалентно выражению 5 \u0026lt; 1 and 1 \u0026lt; f(). Сравнение 5 \u0026lt; 1 возвращает False. В результате сравнение 1 \u0026lt; f() не выполняется, и функция f() не вызывается.\nТем не менее между сокращенным и расширенным вариантами записи цепочек сравнений существует важное отличие. В сокращенном выражении значение, стоящее по середине (между операторами сравнения), будет вычислено один раз (если его вообще нужно вычислять), а в развёрнутом выражении — два раза:\ndef f(): print(\u0026#39;bee\u0026#39;) return 3 if 1 \u0026lt; f() \u0026lt; 5: print(\u0026#39;geek\u0026#39;) print() if 1 \u0026lt; f() and f() \u0026lt; 5: print(\u0026#39;geek\u0026#39;) # Вывод:\rbee\rgeek\rbee\rbee\rgeek Помимо операторов сравнения, в цепочку операторов могут объединяться и другие операторы Python.\nlst = [1, 2, 3] num = 2 print(num in lst == True) # Вывод: False Данное выражение на самом деле эквивалентно выражению num in lst and lst == True, которое, в свою очередь, эквивалентно выражению True and False. Следовательно, результатом данной цепочки операторов является значение False.\nРассмотрим ещё один пример:\na = 5 b = 5 c = 10 print(a \u0026lt; c is True) print(a == b in [True]) # Вывод:\rFalse\rFalse Основной источник: https://habr.com/ru/articles/824170/\nДоп. источники:\nhttps://docs-python.ru/tutorial/operatsii-and-or-not-python/ https://stackoverflow.com/questions/39983695/what-is-truthy-and-falsy-how-is-it-different-from-true-and-false ","date":"14 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/deep_bool_oper_python/","section":"Конспекты","summary":"Конспект посвящён скрытым особенностям и неочевидным деталям логических операторов в Python\rTruthy и falsy объекты #\rFalsy — объекты, которые могут быть оценены как значение False.","title":"Углубление в логические операторы в Python","type":"posts"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/modules/","section":"Tags","summary":"","title":"Modules","type":"tags"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/os/","section":"Tags","summary":"","title":"Os","type":"tags"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/shelve/","section":"Tags","summary":"","title":"Shelve","type":"tags"},{"content":"","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/shutil/","section":"Tags","summary":"","title":"Shutil","type":"tags"},{"content":"\rКонспект посвящён модулям os и shutil, которые могут быть полезны для работы с операционной системой, управлением каталогами и файлами, а также модулю shelve, позволяющему сериализовывать объекты Python\rМодуль os #\rДля использования: import os\nМодуль os позволяет взаимодействовать с операционной системой. Например, мы можем перемещаться по папкам, получить информацию о файле, посмотреть и изменить переменные среды (окружения), переместить файлы и так далее. Посмотрим на некоторые функции и объекты, которые мы можем использовать.\nos.getcwd() возвращает рабочий каталог (тот, в котором пользователь сейчас находится).\nos.chdir(path) перемещает пользователя в директорию, которая была передана в функцию.\nos.listdir(path) возвращает случайно упорядоченный список файлов и каталогов, которые находятся в текущем каталоге (если ничего не было передано), либо список объектов в директории по переданному пути.\nos.scandir(path) возвращает итератор объектов os.DirEntry, представленные в виде записей каталога path.\nos.DirEntry — класс, объекты которого являются файлами или каталогами. Рассмотрим некоторые атрибуты и методы.\nobj.name — имя файла/каталога; obj.path — путь к файлу/каталогу, который будет начинаться с папки, переданной в пути os.scandir() первой; obj.is_dir() возвращает True, если obj является папкой, иначе — False; obj.is_file() возвращает True, если obj является файлом, иначе — False; obj.stat() возвращает объект os.stat_result (см. ниже) для obj, как если бы была вызвана os.stat(path) (см. ниже), где obj является конечным в path. os.mkdir(path) создаёт одну(!) папку, путь которой был передан в функцию.\nПри попытке создать папку, которая уже присутствует в текущем каталоге, возвращает ошибку (исключение) FileExistsError, а если путь не найден, ошибку (исключение) FileNotFoundError. В дальнейшем упоминания об этих ошибках будут зачастую опускаться, где это совсем очевидно\ros.makedirs(path, exist_ok=False) рекурсивно создаёт папки, путь которых был передан в качестве аргумента, то есть в отличии от mkdir(), функция makedirs() создаёт все папки промежуточного уровня, которые должны содержать конечный каталог. Параметр exist_ok имеет значение False по умолчанию, при котором в случае наличия одноимённой папки в рабочей директории функция вернёт ошибку FileExistsError, но если задать exist_ok=True, функция проигнорирует создание папки и не вернёт ошибку.\nos.rm_dir(path) удаляет папку по переданному пути, если она пуста. В ином случае вернёт ошибку, зависящую от ОС , внутри которой ведётся работа (OSError).\nos.removedirs(path) рекурсивно удаляет каталоги, начиная с последнего указанного в пути. Если какая-то из папок в пути окажется непустой, вызывает ошибку OSError, которая игнорируется.\nos.remove(path) удаляет файл в пути path. Если передана папка, или файл не существует, возвращает соответствующие ошибки.\nos.rename(src, dst) переименовывает файл или пустую папку с src на dst (могут быть представлены как пути), причём если указать файлу другой путь, он будет перемещён в него.\nos.replace(src, dst) по функционалу аналогичен os.rename(), но для поддержки кросс-платформенности рекомендуется использовать именно os.replace().\nos.chown(path, uid, gid) меняет идентификатор владельца объекта по пути path на числовые uid, gid. Чтобы изменить владельца по имени пользователя/группы, обратитесь к функции shutil.chown() модуля shutil\nos.stat(path) возвращает объект stat_result, который содержит разного рода информацию о файле или папке. Рассмотрим атрибуты этого объекта:\nst_mode: Режим файла: тип файла и биты режима файла (разрешения). st_ino: Зависит от платформы, но если значение не равно нулю, однозначно идентифицирует файл по заданному значению st_dev. inode номер для Unix; индекс файла для Windows. st_dev: Идентификатор устройства, в котором находится файл. st_nlink: Количество жёстких ссылок. st_uid: Идентификатор пользователя владельца файла. st_gid: Идентификатор группы пользователей владельцев файла. st_size: Размер файла в байтах, если это обычный файл или символьная ссылка. Размер символьной ссылки - это длина пути, который она содержит, без завершающего нулевого байта. st_atime: Время последнего доступа в секундах. st_mtime: Время последней модификации содержимого в секундах. st_ctime: Время последнего изменения метаданных в секундах. st_birthtime: Время создания файла. Атрибут доступен не всегда и может вызвать ошибку (исключение) AttributeError. и другие. os.walk(top, topdown=True, onerror=False) генерирует дерево каталогов, начиная с top (либо с конца до top, если topdown=False). Для каждого каталога в дереве возвращает кортеж (dirpath, dirnames, filenames), где dirpath — путь к каталогу, dirnames — список имён подкаталогов в dirpath и filenames — список имён файлов в dirpath.\nimport os for dirpath, dirnames, filenames in os.walk(\u0026#34;Test_walk\u0026#34;): print(\u0026#34;Current path:\u0026#34;, dirpath) print(\u0026#34;Directories:\u0026#34;, dirnames) print(\u0026#34;Files:\u0026#34;, filenames) print() # Вывод:\rCurrent path: Test_walk\rDirectories: [\u0026#39;P\u0026#39;, \u0026#39;R\u0026#39;]\rFiles: [\u0026#39;Risunok.bmp\u0026#39;]\rCurrent path: Test_walk\\P\rDirectories: []\rFiles: [\u0026#39;kek.txt\u0026#39;, \u0026#39;L.txt\u0026#39;]\rCurrent path: Test_walk\\R\rDirectories: []\rFiles: [] os.system(command) выполняет переданную команду command, будто она написана в терминале. Таким образом можно создавать файлы папки, перемещаться по каталогам и т.д. Если команда сгенерирует какой-либо вывод, он будет перенаправлен в поток вывода интерпретатора. В Windows возвращаемое значение равно значению, возвращаемому системной оболочкой после выполнения команды (задаётся переменной среды COMSPEC: обычно cmd.exe)\nos.environ — объект, подобный словарю (mapping object), содержащий переменные среды окружения системы.\nos.sep — разделитель пути в операционной системе. '/' для POSIX и '\\\\' для Windows\nПодмодуль os.path #\ros.path.split(path) разбивает переданный путь на парный кортеж (head, tail), где tail — последний компонент пути (всегда без косой черты), а head — всё остальное. При этом: если path завершился косой чертой, tail будет пуст; если в path нет ни одной косой черты, head будет пуст; если path пуст, оба элемента кортежа будут пустыми.\nos.path.splitext(path) разбивает переданный путь на парный кортеж (root, ext), где root + ext = path и ext — расширение файла с точкой, а root — всё остальное.\nos.path.dirname(path) возвращает первый элемент кортежа от функции os.path.split(), то есть путь до конечного файла/каталога не включая.\nos.path.basename(path) возвращает второй элемент кортежа от функции os.path.split(), то есть имя конечного файла/каталога.\nos.path.join(path, *paths) объединяет один или несколько сегментов пути. Возвращает строку, состоящую из объединения path и всех элементов *paths, которые разделяются os.sep, кроме последнего (если тот не пуст).\nimport os.path os.path.join(\u0026#39;home\u0026#39;, \u0026#39;User\u0026#39;, \u0026#39;Desktop\u0026#39;, \u0026#39;file.txt\u0026#39;) # \u0026#39;home/User/Desktop/file.txt\u0026#39; os.path.join(\u0026#39;/home\u0026#39;, \u0026#39;User/Desktop\u0026#39;, \u0026#39;file.txt\u0026#39;) # \u0026#39;/home/User/Desktop/file.txt\u0026#39; os.path.join(\u0026#39;/home\u0026#39;, \u0026#39;/User/Desktop\u0026#39;, \u0026#39;file.txt\u0026#39;) # \u0026#39;/User/Desktop/file.txt\u0026#39; os.path.join(\u0026#39;User/Desktop\u0026#39;, \u0026#39;/home\u0026#39;, \u0026#39;file.txt\u0026#39;) # \u0026#39;/home/file.txt\u0026#39; os.path.exists(path) возвращает True, если path ссылается на существующий путь, иначе — False.\nos.path.isabs(path) возвращает True, если путь является абсолютным, иначе — False. В случае отсутствия пути возвращает исключение OSError.\nos.path.isdir(path) возвращает True, если путь существует и является каталогом, иначе — False.\nos.path.isfile(path) возвращает True, если путь существует и является файлом, иначе — False.\nos.path.abspath(path) возвращает абсолютный путь.\nМодуль shutil #\rМодуль shutil предлагает ряд высокоуровневых операций с файлами и коллекциями файлов. Например функции, которые поддерживают копирование и удаление файлов. Разберём основные возможности этого модуля.\nДаже функции копирования файлов более высокого уровня (shutil.copy(), shutil.copy2()) не могут скопировать все метаданные файла. Например в Windows, владельцы файлов, списки контроля доступа и альтернативные потоки данных не копируются.\rshutil.copy(src, dst) копирует файла src в файл или директорию dst, при этом оба аргумента передаются как пути.\nshutil.copy2(src, dst) идентична функции copy(), за исключением того, что функция copy2() также пытается сохранить метаданные файла.\nshutil.copyfileobj(fsrc, fdst) копирует содержимое файла src — fsrc (получается, например, при открытии файла с помощью open()) в объект файла fdst.\nshutil.ignore_patterns(*patterns) создаёт функцию, которая может быть использована в качестве аргумента для параметра ignore функции shutil.copytree() (см. ниже). В результате файлы и каталоги, подходящие под (хотя бы) один из переданных шаблонов будут игнорироваться при копировании.\nshutil.copytree(src, dst, dirs_exist_ok=False, ignore=None) рекурсивно копирует дерево каталогов из папки src в папку dst и возвращает dst. Если установить dirs_exist_ok=True, исключение вызвано НЕ БУДЕТ, если целевой каталог с именем dst уже существует.\nЕсли задано значение ignore, то это должен быть вызываемый объект, который получит в качестве своих аргументов текущий каталог, посещаемый функцией copytree(), и список его содержимого, возвращаемый функцией os.listdir(), например функция, возвращаемая shutil.ignore_patterns() или самописная функция.\nshutil.rmtree(path) удаляет дерево каталогов по переданному пути.\nshutil.copymode(src, dst) копирует права доступа с файла по пути src в файл dst.\nshutil.copystat(src, dst) копирует время последнего доступа, время последнего изменения и флаги(чтение, запись и т.д.) из src в dst.\nshutil.move(src, dst, copy_function=copy2) рекурсивно перемещает файл или директорию src в директорию dst и возвращает dst. Если место назначения dst находится в текущей файловой системе, тогда неявно используется функция os.rename(). В противном случае src копируется в dst с помощью функции, переданной в аргумент copy_function, а затем удаляется.\nshutil.which(path) возвращает абсолютный путь к исполняемому файлу, путь которых прописан в PATH (переменные среды)\nshutil.disk_usage(path) возвращает статистику использования диска по указанному пути в виде именованного кортежа с атрибутами total — общий объём диска, used — используемый объём и free — свободное пространство в байтах.\nshutil.chown(path, user=None, group=None) меняет владельца объекта по пути path на user и group. user может быть системным именем пользователя или uid; то же самое относится и к group. Требуется как минимум один аргумент.\nshutil.make_archive(name, format, root_dir) создаёт архивный файл папки/файла root_dir с именем name (может быть указан как путь) в формате format и возвращает name.\nshutil.unpack_archive(filename, extract_dir) распаковывает архив с именем filename в папку extract_dir.\nshutil.get_archive_formats() возвращает список всех поддерживаемых форматов архивов.\nМодуль shelve #\rМодуль shelve сохраняет произвольные объекты Python в файл с определенным ключом (типа str), т.е. такие объекты, которые может обработать модуль pickle (большинство экземпляров классов, рекурсивных типов данных и объектов, содержащих множество общих подобъектов). Затем по этому ключу может извлечь ранее сохраненный объект из файла. В отличии от pickle, shelve более удобен, когда требуется сериализовать множество объектов.\nФункция shelve.open() #\rshelve.open(filename, flag='c') возвращает объект key-value хранилища, похожий на словарь (объект называется shelf). В filename передаётся имя открываемого/создаваемого файла, flag принимает одно из следующих значений:\n'c' — файл открывается для чтения и записи. Если файл отсутствует, он создаётся; 'r' — файл открывается для чтения; 'w' — файл открывается для записи; 'n' — файл открывается для для записи. Если файл отсутствует, он создаётся. Если существует, перезаписывается. Объекты shelf поддерживают большинство методов и операций, поддерживаемых словарями (за исключением копирования, конструкторов и операторов | и |=). Запись/чтение данных shelf также происходит подобно записи/чтению данных словаря. Посмотрим пример:\nimport shelve with shelve.open(\u0026#39;test\u0026#39;) as db: db[\u0026#39;func\u0026#39;] = func db[\u0026#39;not_string\u0026#39;] = {\u0026#34;this_is_not_string_LOL\u0026#34;: 80085} print(db[\u0026#39;not_string\u0026#39;]) # Вывод: {\u0026#39;this_is_not_string_LOL\u0026#39;: 80085} Программа создаёт три файла разных расширений: dat, bak, dir, в которых содержится одна и та же сериализованная протоколом pickle информация.\nНе стоит открывать незнакомые pkl файлы и файлы, которые создаются shelve, поскольку они могут содержать самовыполняющийся код\r","date":"12 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/os_shutil_shelve/","section":"Конспекты","summary":"Конспект посвящён модулям os и shutil, которые могут быть полезны для работы с операционной системой, управлением каталогами и файлами, а также модулю shelve, позволяющему сериализовывать объекты Python\rМодуль os #\rДля использования: import os","title":"Модули os, shutil и shelve","type":"posts"},{"content":"","date":"11 июля 2024","externalUrl":null,"permalink":"/HFK_website/tags/files/","section":"Tags","summary":"","title":"Files","type":"tags"},{"content":"\rУправление файлами формата zip, pkl в языке программирования Python\rФормат zip #\rzip — это формат сжатия без потерь: после распаковки данные будут такими же, как перед сжатием. Алгоритм ищет избыточности в исходных данных и эффективнее представляет информацию.\nФормат zip обладает следующими преимуществами:\nявляется полностью открытым является одним из самых популярных (большинство архивов в Internet – это архивы zip) является очень быстрым Формат сжатия без потерь отличается от сжатия с потерями, который используется в таких форматах, как JPEG и MP3: при сжатии выбрасывается часть информации, которая менее заметна для человеческого глаза или уха.\rСначала разберёмся, как считать степень сжатия файла — коэффициент K, определяемый как отношение объема сжатого файла к объему исходного файла, выраженным в процентах: $$ K = \\frac{V_{c}} {V_{o}} * 100\\% $$\nСтепень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Наиболее хорошо сжимаются файлы графических образов, текстовые файлы и файлы данных, для которых степень сжатия может достигать 5–40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей — 60–90%. Почти не сжимаются архивные файлы.\nМодуль zipfile #\rВ этом конспекте будет рассмотрен объекты ZipFile и ZipInfo, однако модуль zipfile содержит и другие классы. Для использования: from zipfile import ZipFile\nМетоды ZipFile #\rprintdir() — выводит таблицу с информацией о содержимом архива: полные названия файлов с указанием даты изменения и размера в байтах. from zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: zip_file.printdir() # Вывод:\rFile Name Modified Size\rtest/ 2021-11-27 12:47:10 0\rtest/Картинки/ 2021-11-27 12:49:02 0\rtest/Картинки/1.jpg 2021-09-02 12:30:20 90156\rtest/Картинки/avatar.png 2021-08-20 09:38:44 19053\rtest/Картинки/certificate.png 2021-10-23 09:46:36 43699\rtest/Картинки/py.png 2021-07-28 17:55:56 33522\rtest/Картинки/World_Time_Zones_Map.png 2021-11-08 07:30:06 2324421\rtest/Картинки/Снимок экрана.png 2021-10-01 20:47:02 10878\rtest/Неравенства.djvu 2021-08-19 08:39:06 5283010\rtest/Программы/ 2021-11-27 12:48:20 0\rtest/Программы/image_util.py 2021-11-18 12:42:22 4955\rtest/Программы/sort.py 2021-11-14 19:31:02 61\rtest/Разные файлы/ 2021-11-27 12:48:10 0\rtest/Разные файлы/astros.json 2021-11-08 09:29:58 505 При создании объекта ZipFile мы также можем передать необязательный аргумент mode, который задает режим работы (по аналогии с обычными файлами): r — чтение, w — запись в новый файл, a — запись в конец существующего файла\rinfolist() — позволяет получить информацию о файлах из архива в виде списка объектов ZipInfo, которые содержат дополнительную информацию о каждом файле: file_size, compress_size, filename, date_time и другие. from zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: info = zip_file.infolist() print(info[6].file_size) # размер начального файла в байтах print(info[6].compress_size) # размер сжатого файла в байтах print(info[6].filename) # имя файла print(info[6].date_time) # дата изменения файла # Вывод:\r2324421\r2322032\rtest/Картинки/World_Time_Zones_Map.png\r(2021, 11, 8, 7, 30, 6) Метод is_dir() объекта ZipInfo нужен, чтобы проверить, является ли этот объект файлом (возвращает False) или папкой (True).\nnamelist() — возвращает список названий файлов и директорий, содержащихся в архиве. from zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: info = zip_file.namelist() print(*info, sep=\u0026#39;\\n\u0026#39;) # Вывод:\rtest/\rtest/Картинки/\rtest/Картинки/1.jpg\rtest/Картинки/avatar.png\rtest/Картинки/certificate.png\rtest/Картинки/py.png\rtest/Картинки/World_Time_Zones_Map.png\rtest/Картинки/Снимок экрана.png\rtest/Неравенства.djvu\rtest/Программы/\rtest/Программы/image_util.py\rtest/Программы/sort.py\rtest/Разные файлы/\rtest/Разные файлы/astros.json getinfo() — в отличие от метода infolist(), который позволяет получить информацию о всех файлах из архива в виде списка специальных объектов (тип ZipInfo), метод getinfo() позволяет получить информацию о конкретном файле по его имени в архиве. from zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: info = zip_file.namelist() # получаем названия всех файлов архива last_file = zip_file.getinfo(info[-4]) # получаем информацию об отдельном файле print(last_file.file_size) print(last_file.compress_size) print(last_file.filename) print(last_file.date_time) 4955\r1641\rtest/Программы/image_util.py\r(2021, 11, 18, 12, 42, 22) При создании объекта ZipFile мы также можем передать еще два необязательных аргумента:\ncompression, который определяет метод сжатия, который должен использоваться при записи в архив. Он принимает одно из значений: ZIP_STORED, ZIP_DEFLATED, ZIP_BZIP2, ZIP_LZMA. По умолчанию используется значение compression=ZIP_STORED allowZip64, который позволяет разрешить использование расширений zip64, которые дают возможность создавать архивы размером больше 4 гигабайт. По умолчанию равен allowZip64=True Для того чтобы проверить является ли некоторый файл zip архивом, используется функция zipfile.is_zipfile(), которая принимает на вход путь к файлу (или сам файловый объект) и возвращает значение True, если указанный файл является zip архивом, или False в противном случае.\nРаботы с конкретными файлами архива #\rОткроем отдельный файла из архива:\nfrom zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: with zip_file.open(\u0026#39;test/Разные файлы/astros.json\u0026#39;) as file: print(file.read()) # Вывод:\rb\u0026#39;{\u0026#34;number\u0026#34;: 10, \u0026#34;people\u0026#34;: [{\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Mark Vande Hei\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Pyotr Dubrov\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Thomas Pesquet\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Megan McArthur\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Shane Kimbrough\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Akihiko Hoshide\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Anton Shkaplerov\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Zhai Zhigang\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Wang Yaping\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Ye Guangfu\u0026#34;}], \u0026#34;message\u0026#34;: \u0026#34;success\u0026#34;}\u0026#39; Метод ZipFile.open() открывает файл в бинарном виде, поэтому перед выводом стоит символ b, а значит перед нами бинарная строка. Чтобы преобразовать байты в строку, воспользуемся методом decode() с указанием кодировки ('utf-8'):\nfrom zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: with zip_file.open(\u0026#39;test/Разные файлы/astros.json\u0026#39;) as file: print(file.read().decode(\u0026#39;utf-8\u0026#39;)) # Вывод:\r{\u0026#34;number\u0026#34;: 10, \u0026#34;people\u0026#34;: [{\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Mark Vande Hei\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Pyotr Dubrov\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Thomas Pesquet\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Megan McArthur\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Shane Kimbrough\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Akihiko Hoshide\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;ISS\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Anton Shkaplerov\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Zhai Zhigang\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Wang Yaping\u0026#34;}, {\u0026#34;craft\u0026#34;: \u0026#34;Shenzhou 13\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Ye Guangfu\u0026#34;}], \u0026#34;message\u0026#34;: \u0026#34;success\u0026#34;} Запись в архив #\rЧтобы записать файл в архив, нужно как минимум открыть его для записи (mode='w' — для записи с удалением уже имеющегося содержимого; или mode='a' — для записи в конец, сохраняя содержимое). Далее, используем метод write():\nfrom zipfile import ZipFile with ZipFile(\u0026#39;archive.zip\u0026#39;, mode=\u0026#39;w\u0026#39;) as zip_file: zip_file.write(\u0026#39;program.py\u0026#39;) zip_file.write(\u0026#39;lse.jpeg\u0026#39;) print(zip_file.namelist()) Если файлы для записи в архив не будут найдены, то возникнет ошибка (исключение) FileNotFoundError\rМетод write() может принимать еще один строковый аргумент, задающий новое имя файла в архиве.\nИзвлечение содержимого #\rЕсли требуется извлечь отдельные файлы, то используется метод extract(), он принимает два аргумента: название файла и путь, по которому требуется извлечь файл. Если путь не указывать, то файл будет извлечен в папку, где находится файл с программой.\nСледующий код извлекает файлы из архива test.zip\nfrom zipfile import ZipFile with ZipFile(\u0026#39;test.zip\u0026#39;) as zip_file: zip_file.extract(\u0026#39;test/Картинки/avatar.png\u0026#39;) zip_file.extract(\u0026#39;test/Программы/image_util.py\u0026#39;) zip_file.extract(\u0026#39;lse.jpeg\u0026#39;) Если требуется извлечь все содержимое архива, то используется метод extractall(), он принимает в качестве аргумента путь, по которому требуется извлечь все файлы. Если путь не указывать, то файл будет извлечен в папку, где находится файл с программой.\nСериализация и десериализация #\rПреобразование переменных программы (Python-объектов) в формат для хранения называется «сериализацией», а обратное преобразование — «десериализацией».\nСериализация объектов часто используется для:\nсохранения состояния программы (то есть некоторых её объектов) между запусками передачи данных между различными программами (например, по сети) Главная идея состоит в том, что сериализованный формат — набор байт или строка, которую можно легко сохранить на диск или передать другой программе, в отличие от самого объекта. А значит, задача сохранения объекта/группы объектов при этом сводится к простой задаче сохранения набора байт или строки.\nМодуль pickle #\rПомимо сериализации в формат json мы также можем использовать бинарную сериализацию, то есть сериализацию в байты. Для этого в Python используется модуль pickle. Интерфейс взаимодействия с модулем pickle абсолютно такой же, как и для модуля json. Мы будем использовать четыре основных функции: dump(), dumps(), load(), loads().\nМодуль pickle сериализует и десериализует данные быстрее чем модуль json.\rМодуль pickle может сериализовывать:\nВсе встроенные типы данных (bool, int, float, complex, str, None); Списки, кортежи, словари и множества, содержащие любую комбинацию встроенных типов данных (но не генераторы); Списки, кортежи, словари и множества, содержащие любую комбинацию списков, кортежей, словарей и множеств; Функции (но не lambda-функции), классы и экземпляры классов. Разберём функции модуля:\nФункция dump() модуля pickle принимает сериализуемый Python объект, сериализует его в бинарный, Python-зависимый формат, используя протокол pickle, и сохраняет его в открытый для записи бинарный файл. Следующий код создает файл file.pkl, содержащий бинарное представление объекта obj:\nimport pickle obj = {\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002} with open(\u0026#39;file.pkl\u0026#39;, \u0026#39;wb\u0026#39;) as file: pickle.dump(obj, file) Функция dumps() выполняет такую же сериализацию, как и функция dump(). Но вместо того чтобы сохранять сериализованные данные в открытый для записи бинарный файл, она просто возвращает эти сериализованные данные. import pickle obj = {\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002} binary_obj = pickle.dumps(obj) print(binary_obj) print(type(binary_obj)) # Вывод:\rb\u0026#39;\\x80\\x03}q\\x00(X\\x06\\x00\\x00\\x00Pythonq\\x01M\\xc7\\x07X\\x04\\x00\\x00\\x00Javaq\\x02M\\xcb\\x07X\\x02\\x00\\x00\\x00C#q\\x03M\\xd2\\x07u.\u0026#39;\r\u0026lt;class \u0026#39;bytes\u0026#39;\u0026gt; Поскольку протокол pickle использует бинарный формат данных, функция dumps() возвращает объект типа bytes.\nТип данных bytes — это неизменяемые последовательности отдельных байтов. Синтаксис для байтовых литералов в основном такой же, как и для строковых литералов, за исключением того, что добавляется префикс b.\rФункция load() принимает файловый объект, читает из него сериализованные данные, десериализует их в Python-объект и возвращает полученный Python-объект. import pickle with open(\u0026#39;file.pkl\u0026#39;, \u0026#39;rb\u0026#39;) as file: # используется файл полученный на предыдущем шаге obj = pickle.load(file) print(obj) print(type(obj)) # Вывод:\r{\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002}\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt; Функция loads() выполняет такую же десериализацию, как и функция load(). Но вместо того чтобы принимать файловый объект, она принимает объект типа bytes, содержащий сериализованные данные. import pickle obj = {\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002} binary_obj = pickle.dumps(obj) new_obj = pickle.loads(binary_obj) print(new_obj) print(obj == new_obj) print(obj is new_obj) # проверка на идентичность # Вывод:\r{\u0026#39;Python\u0026#39;: 1991, \u0026#39;Java\u0026#39;: 1995, \u0026#39;C#\u0026#39;: 2002}\rTrue\rFalse Интересно то, что объекты obj и new_obj имеют одинаковое содержимое, но по сути не идентичны.\nПротокол pickle зависит от Python и не совместим с другими языками программирования. Если необходима совместимость с другими языками программирования, то следует использовать JSON сериализацию.\r","date":"11 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/zip_pkl/","section":"Конспекты","summary":"Управление файлами формата zip, pkl в языке программирования Python\rФормат zip #\rzip — это формат сжатия без потерь: после распаковки данные будут такими же, как перед сжатием.","title":"Работа с zip и pkl файлами в Python","type":"posts"},{"content":"\rУправление текстовыми файлами формата csv, tsv, dtv, json в языке программирования Python\rФормат CSV #\rCSV (от англ. Comma-Separated Values — значения, разделённые запятыми) — текстовый формат, предназначенный для представления табличных данных. Строка таблицы соответствует строке текста, которая содержит одно или несколько полей, разделенных запятыми.\nК примеру, следующая таблица:\nRank Language Share 1 Python 31.17% 2 Java 17.75% 3 JavaScript 8% 4 C# 7.05% 5 PHP 6.09% в формате csv будет выглядеть следующим образом:\nRank,Language,Share\r1,Python,31.17%\r2,Java,17.75%\r3,JavaScript,8%\r4,C#,7.05%\r5,PHP,6.09% Подобные файлы можно обрабатывать вручную подобно txt — считывать, разделять на строки и отдельные элементы по разделителям с помощью split(), но в Python есть отдельный модуль для работы с файлами формата dsv.\ndsv (англ. delimiter separated values — «значения, разграниченные разделителем») общий формат для форм csv, tsv (англ. tab separated values — «значения, разделенные табуляцией») и других.\rМодуль csv #\rДля использования: import csv\nВ данном модуле есть два основных объекта: reader и writer, созданные, чтобы читать и создавать csv файлы соответственно.\nЧтение через reader #\rРассмотрим файл products.csv, содержащий информацию о товарах интернет магазина:\nkeywords,price,product_name\rСадовый стул,1699,ВЭДДО\rСадовый стул,2999,ЭПЛАРО\rСадовый табурет,1699,ЭПЛАРО\rСадовый стол,1999,ТЭРНО\rСкладной стол,7499,ЭПЛАРО\rНастил,1299,РУННЕН\rСтеллаж,1299,ХИЛЛИС\rКружка,39,СТЕЛЬНА\rМолочник,299,ВАРДАГЕН\rТермос для еды,699,ЭФТЕРФРОГАД\rСитечко,59,ИДЕАЛИСК\rЧайник заварочный,499,РИКЛИГ\rКофе-пресс,699,УПХЕТТА\rЧашка с блюдцем,249,ИКЕА\rКружка,249,ЭМНТ\rСитечко,199,САККУННИГ\rКружка,199,ФИНСТИЛТ\rТарелка,269,ЭВЕРЕНС Код ниже читает содержимое файла и выводит его построчно:\nimport csv with open(\u0026#39;products.csv\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: rows = csv.reader(file) # создаём reader объект for row in rows: print(row) # Вывод:\r[\u0026#39;keywords\u0026#39;, \u0026#39;price\u0026#39;, \u0026#39;product_name\u0026#39;]\r[\u0026#39;Садовый стул\u0026#39;, \u0026#39;1699\u0026#39;, \u0026#39;ВЭДДО\u0026#39;]\r[\u0026#39;Садовый стул\u0026#39;, \u0026#39;2999\u0026#39;, \u0026#39;ЭПЛАРО\u0026#39;]\r[\u0026#39;Садовый табурет\u0026#39;, \u0026#39;1699\u0026#39;, \u0026#39;ЭПЛАРО\u0026#39;]\r[\u0026#39;Садовый стол\u0026#39;, \u0026#39;1999\u0026#39;, \u0026#39;ТЭРНО\u0026#39;]\r[\u0026#39;Складной стол\u0026#39;, \u0026#39;7499\u0026#39;, \u0026#39;ЭПЛАРО\u0026#39;]\r[\u0026#39;Настил\u0026#39;, \u0026#39;1299\u0026#39;, \u0026#39;РУННЕН\u0026#39;]\r[\u0026#39;Стеллаж\u0026#39;, \u0026#39;1299\u0026#39;, \u0026#39;ХИЛЛИС\u0026#39;]\r[\u0026#39;Кружка\u0026#39;, \u0026#39;39\u0026#39;, \u0026#39;СТЕЛЬНА\u0026#39;]\r[\u0026#39;Молочник\u0026#39;, \u0026#39;299\u0026#39;, \u0026#39;ВАРДАГЕН\u0026#39;]\r[\u0026#39;Термос для еды\u0026#39;, \u0026#39;699\u0026#39;, \u0026#39;ЭФТЕРФРОГАД\u0026#39;]\r[\u0026#39;Ситечко\u0026#39;, \u0026#39;59\u0026#39;, \u0026#39;ИДЕАЛИСК\u0026#39;]\r[\u0026#39;Чайник заварочный\u0026#39;, \u0026#39;499\u0026#39;, \u0026#39;РИКЛИГ\u0026#39;]\r[\u0026#39;Кофе-пресс\u0026#39;, \u0026#39;699\u0026#39;, \u0026#39;УПХЕТТА\u0026#39;]\r[\u0026#39;Чашка с блюдцем\u0026#39;, \u0026#39;249\u0026#39;, \u0026#39;ИКЕА\u0026#39;]\r[\u0026#39;Кружка\u0026#39;, \u0026#39;249\u0026#39;, \u0026#39;ЭМНТ\u0026#39;]\r[\u0026#39;Ситечко\u0026#39;, \u0026#39;199\u0026#39;, \u0026#39;САККУННИГ\u0026#39;]\r[\u0026#39;Кружка\u0026#39;, \u0026#39;199\u0026#39;, \u0026#39;ФИНСТИЛТ\u0026#39;]\r[\u0026#39;Тарелка\u0026#39;, \u0026#39;269\u0026#39;, \u0026#39;ЭВЕРЕНС\u0026#39;] Объект reader дает доступ к построчному итератору, полностью аналогичному работе с файлом или списком.\nПосле выполнения строки rows = csv.reader(file) в переменную rows будет записан итератор, с помощью которого можно «пробежаться» циклом по файлу. В каждой итерации цикла при этом будет доступна соответствующая строка файла, уже разбитая по запятым и представляющая собой список. При этом автоматически будут учтены все нюансы с запятыми внутри кавычек и самими кавычками.\nПри создании reader объекта можно указать:\nаргумент delimiter — односимвольная строка, используемая для разделения полей, по умолчанию имеет значение ',' аргумент quotechar — односимвольная строка, используемая для кавычек в полях, содержащих специальные символы, по умолчанию имеет значение '\u0026quot;'. Чтение через DictReader #\rВ модуле csv есть специальный объект DictReader, который поддерживает создание объекта-словаря на основе названий столбцов. С помощью DictReader объекта можно обращаться к полям не по индексу, а по названию, что делает код более понятным.\nНемного поменяем содержимое файла products.csv. Теперь разделителем будет точка с запятой, также заключим текст с запятыми в кавычки во избежание ошибок при разделении строки на элементы:\nkeywords;price;product_name\r\u0026#34;Садовый стул, стул для дачи\u0026#34;;1699;ВЭДДО\rСадовый стул;2999;ЭПЛАРО\rСадовый табурет;1699;ЭПЛАРО\rСадовый стол;1999;ТЭРНО\r\u0026#34;Складной стол, обеденный стол\u0026#34;;7499;ЭПЛАРО\rНастил;1299;РУННЕН\rСтеллаж;1299;ХИЛЛИС\r\u0026#34;Кружка, сосуд, стакан с ручкой\u0026#34;;39;СТЕЛЬНА\rМолочник;299;ВАРДАГЕН\rТермос для еды;699;ЭФТЕРФРОГАД\rСитечко;59;ИДЕАЛИСК\rЧайник заварочный;499;РИКЛИГ\rКофе-пресс;699;УПХЕТТА\rЧашка с блюдцем;249;ИКЕА\r\u0026#34;Кружка, стакан с ручкой\u0026#34;;249;ЭМНТ\rСитечко;199;САККУННИГ\rКружка;199;ФИНСТИЛТ\r\u0026#34;Тарелка, блюдце\u0026#34;;269;ЭВЕРЕНС Теперь прочитаем этот файл, используя DictReader:\nimport csv with open(\u0026#39;products.csv\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: rows = csv.DictReader(file, delimiter=\u0026#39;;\u0026#39;, quotechar=\u0026#39;\u0026#34;\u0026#39;) for row in rows: print(row) # Вывод:\r{\u0026#39;keywords\u0026#39;: \u0026#39;Садовый стул, стул для дачи\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1699\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ВЭДДО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Садовый стул\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;2999\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭПЛАРО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Садовый табурет\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1699\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭПЛАРО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Садовый стол\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1999\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ТЭРНО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Складной стол, обеденный стол\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;7499\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭПЛАРО\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Настил\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1299\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;РУННЕН\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Стеллаж\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;1299\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ХИЛЛИС\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Кружка, сосуд, стакан с ручкой\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;39\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;СТЕЛЬНА\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Молочник\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;299\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ВАРДАГЕН\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Термос для еды\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;699\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭФТЕРФРОГАД\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Ситечко\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;59\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ИДЕАЛИСК\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Чайник заварочный\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;499\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;РИКЛИГ\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Кофе-пресс\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;699\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;УПХЕТТА\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Чашка с блюдцем\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;249\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ИКЕА\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Кружка, стакан с ручкой\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;249\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭМНТ\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Ситечко\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;199\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;САККУННИГ\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Кружка\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;199\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ФИНСТИЛТ\u0026#39;}\r{\u0026#39;keywords\u0026#39;: \u0026#39;Тарелка, блюдце\u0026#39;, \u0026#39;price\u0026#39;: \u0026#39;269\u0026#39;, \u0026#39;product_name\u0026#39;: \u0026#39;ЭВЕРЕНС\u0026#39;} При создании DictReader объекта значениями по умолчанию для аргументов delimiter и quotechar являются ',' (символ запятой) и '\u0026quot;' (символ двойной кавычки) соответственно.\nНазвания столбцов сохраняются в атрибуте fieldnames объекта DictReader\rЗапись через writer #\rДля записи данных в csv файл можно использовать специальный writer объект:\nimport csv columns = [\u0026#39;first_name\u0026#39;, \u0026#39;second_name\u0026#39;, \u0026#39;class_number\u0026#39;, \u0026#39;class_letter\u0026#39;] data = [[\u0026#39;Тимур\u0026#39;, \u0026#39;Гуев\u0026#39;, 11, \u0026#39;А\u0026#39;], [\u0026#39;Руслан\u0026#39;, \u0026#39;Чаниев\u0026#39;, 9, \u0026#39;Б\u0026#39;], [\u0026#39;Артур\u0026#39;, \u0026#39;Харисов\u0026#39;, 10, \u0026#39;В\u0026#39;]] with open(\u0026#39;students.csv\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;, newline=\u0026#39;\u0026#39;) as file: writer = csv.writer(file) writer.writerow(columns) # запись заголовков for row in data: # запись строк writer.writerow(row) # Создаётся файл students.csv с содержимым:\rfirst_name,second_name,class_number,class_letter\rТимур,Гуев,11,А\rРуслан,Чаниев,9,Б\rАртур,Харисов,10,В При открытии файла функцией open() был использован параметр newline со значением '' (пустая строка), который отвечает за переводы строк при чтении или записи в текстовый файл. По умолчанию имеет значение None, в этом случае все разделители строк преобразуются в '\\n'. Если в файле оказывается лишний перевод строки, то следует использовать этот параметр в режиме newline='', тогда '\\n' будет преобразован в пустую строку.\nПри создании writer объекта мы так же можем его настраивать, задавая delimiter и многие другие параметры.\nimport csv columns = [\u0026#39;first_name\u0026#39;, \u0026#39;second_name\u0026#39;, \u0026#39;class_number\u0026#39;, \u0026#39;class_letter\u0026#39;] data = [[\u0026#39;Тимур\u0026#39;, \u0026#39;Гуев\u0026#39;, 11, \u0026#39;А\u0026#39;], [\u0026#39;Руслан\u0026#39;, \u0026#39;Чаниев\u0026#39;, 9, \u0026#39;Б\u0026#39;], [\u0026#39;Роман\u0026#39;, \u0026#39;Белых\u0026#39;, 10, \u0026#39;В\u0026#39;]] with open(\u0026#39;students.csv\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;, newline=\u0026#39;\u0026#39;) as file: writer = csv.writer(file, delimiter=\u0026#39;;\u0026#39;, quoting=csv.QUOTE_NONNUMERIC) writer.writerow(columns) for row in data: writer.writerow(row) # Создаётся файл students.csv с содержимым:\r\u0026#34;first_name\u0026#34;;\u0026#34;second_name\u0026#34;;\u0026#34;class_number\u0026#34;;\u0026#34;class_letter\u0026#34;\r\u0026#34;Тимур\u0026#34;;\u0026#34;Гуев\u0026#34;;11;\u0026#34;А\u0026#34;\r\u0026#34;Руслан\u0026#34;;\u0026#34;Чаниев\u0026#34;;9;\u0026#34;Б\u0026#34;\r\u0026#34;Роман\u0026#34;;\u0026#34;Белых\u0026#34;;10;\u0026#34;В\u0026#34; Значение аргумента quoting=csv.QUOTE_NONNUMERIC означает, что в кавычки будут браться все нечисловые значения. По умолчанию символом кавычки является \u0026quot;, если нужно поменять символ, используется уже знакомый нам именованный аргумент quotechar.\nДля quoting существуют и другие константы из модуля csv:\nQUOTE_ALL: указывает объектам записи указывать все поля QUOTE_MINIMAL: указывает объектам записи заключать в кавычки только те поля, которые содержат специальные символы, такие как разделитель delimiter, кавычка quotechar или любой из символов в lineterminator QUOTE_NONNUMERIC: указывает объектам записи указывать все нечисловые поля QUOTE_NONE: указывает объектам записи никогда не заключать в кавычки поля Помимо метода writerow() можно использовать и метод writerows(), чтобы записать сразу несколько строк. Единственным аргументом этого метода может быть коллекция коллекций. То есть, каждый элемент списка rows в нашем случае должен быть коллекцией. Если rows будет, например, списком чисел, программа завершится с ошибкой.\nЗапись через DictWriter #\rДля записи данных в csv файл также можно использовать DictWriter объект, который позволяет записывать содержимое словаря в файл.\nimport csv data = [{\u0026#39;first_name\u0026#39;: \u0026#39;Тимур\u0026#39;, \u0026#39;second_name\u0026#39;: \u0026#39;Гуев\u0026#39;, \u0026#39;class_number\u0026#39;: 11, \u0026#39;class_letter\u0026#39;: \u0026#39;А\u0026#39;}, {\u0026#39;first_name\u0026#39;: \u0026#39;Руслан\u0026#39;, \u0026#39;second_name\u0026#39;: \u0026#39;Чаниев\u0026#39;, \u0026#39;class_number\u0026#39;: 9, \u0026#39;class_letter\u0026#39;: \u0026#39;Б\u0026#39;}, {\u0026#39;first_name\u0026#39;: \u0026#39;Роман\u0026#39;, \u0026#39;second_name\u0026#39;: \u0026#39;Белых\u0026#39;, \u0026#39;class_number\u0026#39;: 10, \u0026#39;class_letter\u0026#39;: \u0026#39;В\u0026#39;}] columns = [\u0026#39;first_name\u0026#39;, \u0026#39;second_name\u0026#39;, \u0026#39;class_number\u0026#39;, \u0026#39;class_letter\u0026#39;] with open(\u0026#39;students.csv\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;, newline=\u0026#39;\u0026#39;) as file: writer = csv.DictWriter(file, fieldnames=columns, delimiter=\u0026#39;;\u0026#39;, quoting=csv.QUOTE_NONNUMERIC) writer.writeheader() # запись заголовков for row in data: # запись строк writer.writerow(row) # Создаётся файл students.csv с содержимым:\r\u0026#34;first_name\u0026#34;;\u0026#34;second_name\u0026#34;;\u0026#34;class_number\u0026#34;;\u0026#34;class_letter\u0026#34;\r\u0026#34;Тимур\u0026#34;;\u0026#34;Гуев\u0026#34;;11;\u0026#34;А\u0026#34;\r\u0026#34;Руслан\u0026#34;;\u0026#34;Чаниев\u0026#34;;9;\u0026#34;Б\u0026#34;\r\u0026#34;Роман\u0026#34;;\u0026#34;Белых\u0026#34;;10;\u0026#34;В\u0026#34; Ключи словарей, которые записываются в файл, должны совпадать с названиями полей, которые переданы в качестве аргумента fieldnames, иначе будет возникать ошибка ValueError.\rФормат json #\rJSON (англ. JavaScript Object Notation, читается как \u0026ldquo;джЕйсон\u0026rdquo;) — текстовый формат обмена данными, основанный на синтаксисе объекта в языке программирования JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми. Несмотря на происхождение от JavaScript, формат считается независимым от языка и может использоваться практически с любым языком программирования.\nВ отличие от формата csv, данные в формате json не просто разделены запятыми, а чаще всего имеют структуру ключ-значение. Это напоминает словарь Python, но в отличие от словаря, ключи в json могут быть только строками, заключенными в двойные кавычки:\n{ \u0026#34;firstName\u0026#34;: \u0026#34;Тимур\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;Гуев\u0026#34;, \u0026#34;gender\u0026#34;: \u0026#34;мужской\u0026#34; } Преимущества, которые сделали этот формат популярным:\nне занимает много места, является компактным в написании и быстро компилируется создание текстового содержимого понятно человеку, просто в реализации, а чтение со стороны среды разработки не вызывает никаких проблем. Чтение может осуществляться и человеком, поскольку ничего сложного в представлении данных нет структура преобразуется для чтения на любых языках программирования практически все языки имеют соответствующие библиотеки или другие инструменты для чтения данных JSON В качестве значений в JSON могут быть использованы:\nчисло (целое или вещественное); литералы true (истина), false (ложь), null (отсутствие значения); строка (последовательность символов, заключенная в двойные кавычки); список (заключается в квадратные скобки [ ], значения разделяются запятыми). Список может быть пустым, значения в пределах одного списка могут иметь разный тип; вложенный объект (неупорядоченное множество пар ключ: значение, заключённое в фигурные скобки { }). Ключ описывается строкой, между ним и значением стоит символ :. Пары ключ-значение отделяются друг от друга запятыми. { \u0026#34;firstName\u0026#34;: \u0026#34;Тимур\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;Гуев\u0026#34;, \u0026#34;age\u0026#34;: 29, \u0026#34;gender\u0026#34;: \u0026#34;мужской\u0026#34;, \u0026#34;smoke\u0026#34;: false, \u0026#34;address\u0026#34;: { \u0026#34;streetAddress\u0026#34;: \u0026#34;Часовая 25, кв. 127\u0026#34;, \u0026#34;city\u0026#34;: \u0026#34;Москва\u0026#34;, \u0026#34;postalCode\u0026#34;: 125315 }, \u0026#34;phoneNumbers\u0026#34;: [\u0026#34;+7 (919) 424-84-34\u0026#34;, \u0026#34;+7 (916) 928-92-34\u0026#34;] } Вложенность данных может быть бесконечной\rТакже, переносы строк и отступы в формате json необязательны. Они нужны только для удобства чтения.\n{\u0026#34;firstName\u0026#34;: \u0026#34;Тимур\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;Гуев\u0026#34;, \u0026#34;gender\u0026#34;: \u0026#34;мужской\u0026#34;} JSON — это текстовый формат, который может быть представлен не только в виде пар ключ-значение (объектов). Он так же может содержать список, строку, число и т.д. Тем не менее, чаще всего используется структура ключ-значение. При этом, объекты являются неупорядоченными, списки же, наоборот, упорядочены\rМодуль json #\rДля использования: import json\nПреобразование переменных программы (Python-объектов) в формат для хранения называется «сериализацией», а обратное преобразование — «десериализацией». В Python для сериализации и десериализации в формат json есть одноимённый модуль.\nФункция dumps() #\rДля сериализации данных в json строку используется функция dumps() из модуля json. Для того, чтобы сериализовать данные с ее помощью, достаточно передать в нее аргументом любой сериализуемый Python-объект.\nimport json data = {\u0026#39;name\u0026#39;: \u0026#39;Russia\u0026#39;, \u0026#39;phone_code\u0026#39;: 7, \u0026#39;capital\u0026#39;: \u0026#39;Moscow\u0026#39;, \u0026#39;currency\u0026#39;: \u0026#39;RUB\u0026#39;} json_data = json.dumps(data) # сериализуем словарь data в json строку print(type(json_data)) print(json_data) # Вывод:\r\u0026lt;class \u0026#39;str\u0026#39;\u0026gt;\r{\u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34;} Независимо от того, какие кавычки мы использовали в Python-объекте, в результате данные будут в двойных кавычках (стандарт json)\rФункция dump() #\rВ отличие от функции dumps(), которая сериализует Python-объект в json строку, функция dump() записывает переданный Python-объект в файл.\nimport json data = {\u0026#39;name\u0026#39;: \u0026#39;Russia\u0026#39;, \u0026#39;phone_code\u0026#39;: 7, \u0026#39;capital\u0026#39;: \u0026#39;Moscow\u0026#39;, \u0026#39;currency\u0026#39;: \u0026#39;RUB\u0026#39;} with open(\u0026#39;countries.json\u0026#39;, \u0026#39;w\u0026#39;) as file: json.dump(data, file) // Создаётся файл countries.json с содержимым: {\u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34;} Возможно сериализовать любой объект, поддерживаемый форматом json, например число, список, строку и т.д\rindent, sort_keys и separators #\rФункции записи dumps() и dump() имеют необязательные аргументы indent, sort_keys и separators, которые можно использовать для более удобного чтения человеком.\nАргумент indent задает отступ от левого края. По умолчанию имеет значение None для более компактного представления без отступов. Если значением indent является строка, то она используется в качестве отступа.\nАргумент sort_keys задает сортировку ключей в результирующем json. По умолчанию имеет значение False для более быстрого выполнения. Если установить значение аргумента в True, то ключи будут отсортированы в алфавитном порядке, что особенно удобно, когда ключей много.\nАргумент separators задает кортеж, состоящий из двух элементов (item_separator, key_separator), которые представляют разделители для элементов и ключей. По умолчанию аргумент имеет значение (', ', ': ').\nimport json data = {\u0026#39;name\u0026#39;: \u0026#39;Russia\u0026#39;, \u0026#39;phone_code\u0026#39;: 7, \u0026#39;capital\u0026#39;: \u0026#39;Moscow\u0026#39;, \u0026#39;currency\u0026#39;: \u0026#39;RUB\u0026#39;} json_data1 = json.dumps(data) json_data2 = json.dumps(data, indent=3, separators=(\u0026#39;;\u0026#39;, \u0026#39; = \u0026#39;), sort_keys=True) print(json_data1) print(json_data2) # Вывод:\r{\u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34;}\r{\r\u0026#34;capital\u0026#34; = \u0026#34;Moscow\u0026#34;;\r\u0026#34;currency\u0026#34; = \u0026#34;RUB\u0026#34;;\r\u0026#34;name\u0026#34; = \u0026#34;Russia\u0026#34;;\r\u0026#34;phone_code\u0026#34; = 7\r} Функция loads() #\rДля десериализации данных нужно использовать функцию loads(). Ее аргумент — это строка с данными в формате json.\nimport json json_data = \u0026#39;{\u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34;}\u0026#39; data = json.loads(json_data) print(type(data)) print(data) # Вывод:\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt;\r{\u0026#39;name\u0026#39;: \u0026#39;Russia\u0026#39;, \u0026#39;phone_code\u0026#39;: 7, \u0026#39;capital\u0026#39;: \u0026#39;Moscow\u0026#39;, \u0026#39;currency\u0026#39;: \u0026#39;RUB\u0026#39;} В случае если строка для десериализации содержит данные с ошибкой, то модуль json не сможет правильно прочитать такую строку, и программа завершится с ошибкой json.decoder.JSONDecodeError\rФункция load() #\rВ отличие от функции loads(), которая в качестве аргумента принимает строку с данными в формате json, функция load() принимает файловый объект и возвращает его десериализованное содержимое.\nПусть файл data.json имеет следующее содержимое:\n{ \u0026#34;name\u0026#34;: \u0026#34;Russia\u0026#34;, \u0026#34;phone_code\u0026#34;: 7, \u0026#34;capital\u0026#34;: \u0026#34;Moscow\u0026#34;, \u0026#34;cities\u0026#34;: [\u0026#34;Abakan\u0026#34;, \u0026#34;Almetyevsk\u0026#34;, \u0026#34;Anadyr\u0026#34;, \u0026#34;Anapa\u0026#34;, \u0026#34;Arkhangelsk\u0026#34;, \u0026#34;Astrakhan\u0026#34;], \u0026#34;currency\u0026#34;: \u0026#34;RUB\u0026#34; } Тогда следующий код преобразует data.json в словарь data и выведет его элементы:\nimport json with open(\u0026#39;data.json\u0026#39;) as file: data = json.load(file) # передаем файловый объект for key, value in data.items(): if type(value) == list: print(f\u0026#39;{key}: {\u0026#34;, \u0026#34;.join(value)}\u0026#39;) else: print(f\u0026#39;{key}: {value}\u0026#39;) # Вывод:\rname: Russia\rphone_code: 7\rcapital: Moscow\rcities: Abakan, Almetyevsk, Anadyr, Anapa, Arkhangelsk, Astrakhan\rcurrency: RUB Типы данных в json #\rМодуль json автоматически определяет тип значения при десериализации. Такая автоматическая работа с типами данных выгодно отличает json от csv, при работе с которым таких автоматических преобразований нет.\nВажно также понимать, что при преобразовании данных в формат JSON, данные не всегда будут того же типа, что исходные данные в Python. Например, кортежи при записи в JSON превращаются в списки. Так происходит из-за того, что в JSON используются другие типы данных, и не для всех типов данных Python есть соответствия.\nТаблица конвертации типов данных Python в JSON:\nPython JSON dict object list, tuple array str string int, float number True true False false None null Таблица конвертации JSON в типы данных Python:\nJSON Python object dict array list string str number (int) int number (real) float true True false False null None Ограничение по типам данных #\rВ формат JSON нельзя записать словарь, у которого ключи – кортежи. Поэтому есть необязательный аргумент skipkeys, который игнорирует элементы с подобными ключами:\nimport json data = { \u0026#39;beegeek\u0026#39;: 2018, (\u0026#39;Timur\u0026#39;, \u0026#39;Guev\u0026#39;): 29, (\u0026#39;Arthur\u0026#39;, \u0026#39;Kharisov\u0026#39;): 20, \u0026#39;stepik\u0026#39;: 2013 } json_data = json.dumps(data, skipkeys=True) # преобразуем dict в json print(json_data) # Вывод:\r{\u0026#34;beegeek\u0026#34;: 2018, \u0026#34;stepik\u0026#34;: 2013} В JSON ключами словаря могут быть только строки. Но, если в словаре Python использовались числа, булевы значения или None, то ошибки не будет, вместо этого они будут преобразованы в строки.\rКириллические символы в json #\rВывод следующего кода может вызвать смущение:\nimport json data = {\u0026#39;firstName\u0026#39;: \u0026#39;Иван\u0026#39;, \u0026#39;lastName\u0026#39;: \u0026#39;Иванов\u0026#39;} s = json.dumps(data) print(s) # Вывод:\r{\u0026#34;firstName\u0026#34;: \u0026#34;\\u0418\\u0432\\u0430\\u043d\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;\\u0418\\u0432\\u0430\\u043d\\u043e\\u0432\u0026#34;} Каждая буква из строк Иван и Иванов будет заменена на её код. Эти коды стандартны, и код для каждой из букв индивидуален. Например 0438 — код буквы и. Обратное преобразование из строки в словарь вернет закодированное значение в первоначальный вид.\nС помощью необязательного аргумента ensure_ascii функций dumps() и dump() можно отказаться от такого кодирования:\nimport json data = {\u0026#39;firstName\u0026#39;: \u0026#39;Тимур\u0026#39;, \u0026#39;lastName\u0026#39;: \u0026#39;Гуев\u0026#39;} s = json.dumps(data, ensure_ascii=False) print(s) result = json.loads(s) print(result) # Вывод:\r{\u0026#34;firstName\u0026#34;: \u0026#34;Тимур\u0026#34;, \u0026#34;lastName\u0026#34;: \u0026#34;Гуев\u0026#34;}\r{\u0026#39;firstName\u0026#39;: \u0026#39;Тимур\u0026#39;, \u0026#39;lastName\u0026#39;: \u0026#39;Гуев\u0026#39;} Python преобразует такую строку обратно в словарь без проблем (поскольку использует Unicode по умолчанию), но нужно помнить, что это может привести к проблемам с преобразованием в программах, написанных на других языках программирования.\n","date":"9 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/csv_json/","section":"Конспекты","summary":"Управление текстовыми файлами формата csv, tsv, dtv, json в языке программирования Python\rФормат CSV #\rCSV (от англ.","title":"Работа с csv и json файлами в Python","type":"posts"},{"content":"\rКратко про потоковый ввод stdin и потоковый вывод stdout. Что это и для чего нужно, как с этим работать\rПотоковый ввод #\rsys.stdin – это специальный объект (итератор) в программе, куда попадает весь текст, который ввёл пользователь. Потоком его называют потому, что данные хранятся в нём до тех пор, пока программа их не прочитала. Таким образом, данные поступают в программу и временно сохраняются в потоке ввода (sys.stdin), а программа может забрать их оттуда, например, с помощью встроенной функции input(). В момент прочтения, данные пропадают из потока ввода, так как он хранит их до тех пор, пока они не будут прочитаны.\nДля работы с потоками необходимо подключить модуль sys: import sys.\nС помощью потока ввода можно в одну строчку кода прочитать весь пользовательский ввод в список. Примеры: data = [line.strip() for line in sys.stdin] или data = list(map(str.strip, sys.stdin)).\nИз stdin можно считать сразу все строки с помощью методов read() и readlines(). К слову, потоковый ввод тем и удобен, что не нужно беспокоиться о количестве введённых строк, ведь работать можно со всем сразу.\nПотоковый вывод #\rАналогичным образом можно работать с потоковым выводом (sys.stdout). По умолчанию функция print() перенаправляет вывод данных именно в sys.stdout, но всё же мы и сами можем писать в него.\nimport sys print(\u0026#39;Hello\u0026#39;) sys.stdout.write(\u0026#39;world!\u0026#39;) print(\u0026#39;from\u0026#39;) sys.stdout.write(\u0026#39;python\\n\u0026#39;) print(\u0026#39;Bye-bye\u0026#39;) # Вывод:\rHello\rworld!from\rpython\rBye-bye Функция print() добавляет перевод на новую строку, а явная запись данных в sys.stdout с помощью метода write() нет. Чтобы добавить перевод на новую строку, мы используем стандартный символ \\n. Также нужно иметь в виду, что при использовании потока вывода нужно самостоятельно преобразовывать данные к строковому типу данных (функция print() это делает автоматически).\n","date":"3 июля 2024","externalUrl":null,"permalink":"/HFK_website/posts/stdin_stdout/","section":"Конспекты","summary":"Кратко про потоковый ввод stdin и потоковый вывод stdout.","title":"Потоковый ввод и вывод","type":"posts"},{"content":"","date":"30 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/calendar/","section":"Tags","summary":"","title":"Calendar","type":"tags"},{"content":"","date":"30 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/datatypes/","section":"Tags","summary":"","title":"Datatypes","type":"tags"},{"content":"","date":"30 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/time/","section":"Tags","summary":"","title":"Time","type":"tags"},{"content":"\rБольше модулей для работы с временем и датой, измерение времени выполнения программы.\rМодуль time #\rДля использования: import time\nВ Python помимо встроенного модуля datetime есть еще модуль time, который обычно используется для работы с текущим временем.\nЕго работа основывается на общепринятой системе описания времени. Согласно ее концепции, текущее время представляется в виде обыкновенного вещественного значения в секундах, прошедших с момента начала эпохи (полночь 1 января 1970 года) и до сегодняшнего дня.\nВозможности модуля:\nотображает информацию о времени, прошедшем с начала эпохи преобразовывает значение системного времени в удобный вид прерывает выполнение программы на заданное количество секунд измеряет время выполнения программы или её отдельных модулей datetime.time и модуль time – не одно и то же!\rФункция time() #\rВозвращает количество секунд, прошедших с начала эпохи:\nimport time seconds = time.time() # получаем количество прошедших секунд в виде float числа print(\u0026#39;Количество секунд с начала эпохи =\u0026#39;, seconds) # Вывод: Количество секунд с начала эпохи = 1630387918.354396 Функция ctime() #\rДля того чтобы получить текущую дату в более удобном для человека виде, нужно использовать функцию ctime(), которая принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает строку, представляющую собой локальное время:\nimport time local_time = time.ctime(time.time()) # аналогично local_time = time.ctime() print(local_time) # Вывод: текущая дата и время на вашем пк Если вызвать ctime() без аргументов, результат будет аналогичным\rФункция sleep() #\rИспользуется для добавления задержки в выполнение программы. В качестве аргумента принимает количество секунд (secs) – задержка в секундах. secs может быть как int, так и float\nimport time print(\u0026#39;Before the sleep statement\u0026#39;) time.sleep(3) print(\u0026#39;After the sleep statement\u0026#39;) Функция sleep() нередко используется для тестирования кода и намеренного внесения задержек на различных этапах выполнения программы\rИзмерение времени выполнения программы #\rЧтобы найти время выполнения программы или её части, достаточно посчитать разницу времени в секундах между точкой старта и местом, где она завершается. Пример:\nimport time start_time = time.time() for i in range(5): time.sleep(1) end_time = time.time() elapsed_time = end_time - start_time print(f\u0026#39;Время работы программы = {elapsed_time}\u0026#39;) # Вывод: Время работы программы = 5.022884845733643 Несмотря на простоту вышеописанного подхода, использовать его в серьезных целях, где требуется точный и независимый от операционной системы (ОС) результат, не рекомендуется. Все дело в том, что числовое значение времени, получаемое таким образом, может иметь погрешности за счет внутренних особенностей работы компьютера, в среде которого выполняется программа. Более того, системные часы могут быть подкорректированы вручную пользователем во время выполнения программы.\nБывает так, что очередной вызов функции time() вернет значение меньше, чем значение, полученное при предыдущем вызове.\rФункция monotonic() #\rДля измерения времени выполнения программы идеально подходит функция monotonic(), так как ее результат не зависит от корректировки системных часов и других внешних условий.\nimport time start_time = time.monotonic() for i in range(5): time.sleep(1) end_time = time.monotonic() elapsed_time = end_time - start_time print(f\u0026#39;Время работы программы = {elapsed_time}\u0026#39;) # Вывод: Время работы программы = 5.0 Функция perf_counter() #\rДля самого точного измерения времени выполнения программы следует использовать функцию perf_counter(). Данная функция использует таймер с наибольшим доступным разрешением, что делает эту функцию отличным инструментом для измерения времени выполнения кода на коротких интервалах.\nimport time start_time = time.perf_counter() for i in range(5): time.sleep(1) end_time = time.perf_counter() elapsed_time = end_time - start_time print(f\u0026#39;Время работы программы = {elapsed_time}\u0026#39;) # Вывод: Время работы программы = 5.042140900040977 Замечания #\rПри сравнении разных способов выполнить одно и то же действие, было замерено время выполнения каждого. Вот некоторые интересные замечания, которые мне хотелось бы выделить:\nПо сравнению с собственными реализациями, функция factorial() из модуля math выполняется быстрее, так как реализована на языке C. Списочные выражения (или же list comprehensions) выполняются быстрее, чем использование цикла for на пару с методом append. В случае если требуется создать список на основе итерируемого объекта или коллекции без какого-либо изменения элементов, то лучшим вариантом будет функция list(). Тип данных struct_time #\rЕдинственный тип данных, который имеется в модуле time – struct_time. Он представляет собой именованный кортеж, содержащий информацию о времени. Структура представления времени struct_time чем-то похожа на уже изученный тип datetime.\nИменованные кортежи будут описаны подробнее в следующих конспектах\rИменованный кортеж struct_time состоит из следующих атрибутов:\nНомер индекса Атрибут Значение 0 tm_year диапазон от 0000 до 9999 1 tm_mon диапазон от 1 до 12 2 tm_mday диапазон от 1 до 31 3 tm_hour диапазон от 0 до 23 4 tm_min диапазон от 0 до 59 5 tm_sec диапазон от 0 до 61 (високосная секунда) 6 tm_wday диапазон от 0 до 6, понедельник=0 7 tm_yday диапазон от 1 до 366 8 tm_isdst значения -1, 0, 1 N/A tm_zone сокращение названия часового пояса N/A tm_gmtoff смещение к востоку от UTC в секундах Создавать объекты типа struct_time можно на основе кортежа:\nimport time time_tuple = (2021, 8, 31, 5, 31, 58, 1, 243, 0) time_obj = time.struct_time(time_tuple) На практике же редко приходится собственноручно создавать объекты этого типа. Обычно используют функции модуля time, которые сами создают и оперируют ими.\nФункция localtime() #\rlocaltime() принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает кортеж struct_time в локальном времени.\nЕсли функции localtime() передан аргумент None, вернется значение time()\rimport time result = time.localtime(1630387918) print(\u0026#39;Результат:\u0026#39;, result) print(\u0026#39;Год:\u0026#39;, result.tm_year) print(\u0026#39;Месяц:\u0026#39;, result.tm_mon) print(\u0026#39;День:\u0026#39;, result.tm_mday) print(\u0026#39;Час:\u0026#39;, result.tm_hour) # Вывод:\rРезультат: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=31, tm_hour=8, tm_min=31, tm_sec=58, tm_wday=1, tm_yday=243, tm_isdst=0)\rГод: 2021\rМесяц: 8\rДень: 31\rЧас: 8 Также мы могли бы обращаться к данным именованого кортежа по индексам. К примеру, print('Год:', result[0]), вывел бы ту же строку, что и print('Год:', result.tm_year) в коде выше.\nФункция gmtime() #\rgmtime() принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает кортеж struct_time в UTC.\nЕсли функции gmtime() передан аргумент None, также вернется значение time()\rФункция mktime() #\rmktime() принимает struct_time (или кортеж, содержащий 9 значений, относящихся к этому типу) в качестве аргумента и возвращает количество секунд, прошедших с начала эпохи, в местном времени.\nimport time time_tuple = (2021, 8, 31, 5, 31, 58, 1, 243, 0) time_obj = time.mktime(time_tuple) print(\u0026#39;Локальное время в секундах:\u0026#39;, time_obj) # Вывод: Локальное время в секундах: 1630377118.0 Функция mktime() является обратной к функции localtime(). Посмотрим на пример этой связи:\nimport time seconds = 1630377118 time_obj = time.localtime(seconds) # возвращает struct_time print(time_obj) time_seconds = time.mktime(time_obj) # возвращает секунды из struct_time print(time_seconds) # Вывод:\rtime.struct_time(tm_year=2021, tm_mon=8, tm_mday=31, tm_hour=5, tm_min=31, tm_sec=58, tm_wday=1, tm_yday=243, tm_isdst=0)\r1630377118.0 Если кортеж с неправильной длиной или имеющий элементы неправильного типа передаётся функции, ожидающей struct_time, возникает ошибка TypeError!\rФункция asctime() #\rasctime() принимает struct_time (или кортеж, содержащий 9 значений, относящихся к этому типу) в качестве аргумента и возвращает строку, представляющую собой дату и время.\nimport time time_tuple = (2021, 8, 31, 5, 31, 58, 1, 243, 0) result = time.asctime(time_tuple) print(\u0026#39;Результат:\u0026#39;, result) # Вывод: Результат: Tue Aug 31 05:31:58 2021 Форматированный вывод #\rФункции ctime() и asctime() имеют практически одинаковый функционал, за тем исключением, что первая функция принимает количество прошедших от начала эпохи секунд, а вторая принимает struct_time (или соответствующий кортеж). Обе функции представляют время в более удобном виде, благодаря автоматическому форматированию. Однако, автоматическое форматирование не всегда то, что нужно, поскольку может показаться чересчур сложным для восприятия, либо же недостаточно информативным. Именно поэтому функции strftime() и strptime() модуля time позволяют создавать свои уникальные типы форматирования.\nstrftime() принимает строку с некоторым набором правил для форматирования и объект struct_time (или соответствующий кортеж) в качестве аргументов и возвращает строку с датой в зависимости от использованного формата: import time time_obj = time.localtime() result = time.strftime(\u0026#39;%d.%m.%Y, %H:%M:%S\u0026#39;, time_obj) print(result) # Вывод: 01.09.2021, 08:50:32 strptime() делает разбор строки в зависимости от использованного формата и возвращает объект struct_time: import time time_string = \u0026#39;1 September, 2021\u0026#39; result = time.strptime(time_string, \u0026#39;%d %B, %Y\u0026#39;) print(result) # Вывод: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=244, tm_isdst=-1) При этом строка time_string должна полностью соответствовать формату %d %B, %Y, в противном случае возникнет исключение ValueError!\rМодуль calendar #\rДля использования: import calendar\nПо умолчанию модуль calendar следует григорианскому календарю, где понедельник является первым днём недели (номер 0), а воскресенье – последним (номер 6). В отличии от предыдущих модулей date и time, которые также предоставляют функции, связанные с календарём, модуль calendar предоставляет основные функции, связанные с отображением и манипулированием календарями.\nАтрибуты calendar #\rАтрибут calendar.day_name возвращает итерируемый объект, содержащий названия дней недели на английском языке: import calendar for name in calendar.day_name: print(name) # Вывод:\rMonday\rTuesday\rWednesday\rThursday\rFriday\rSaturday\rSunday Атрибут calendar.day_abbr возвращает итерируемый объект, содержащий сокращенные названия дней недели: import calendar, locale for name in calendar.day_abbr: print(name, end=\u0026#39; \u0026#39;) locale.setlocale(locale.LC_ALL, \u0026#39;ru_RU.UTF-8\u0026#39;) print() for name in calendar.day_abbr: print(name, end=\u0026#39; \u0026#39;) # Вывод:\rMon Tue Wed Thu Fri Sat Sun\rПн Вт Ср Чт Пт Сб Вс Атрибут calendar.month_name возвращает итерируемый объект, содержащий названия месяцев года: import calendar, locale english_names = list(calendar.month_name) print(english_names) locale.setlocale(locale.LC_ALL, \u0026#39;ru_RU.UTF-8\u0026#39;) russian_names = list(calendar.month_name) print(russian_names) # Вывод:\r[\u0026#39;\u0026#39;, \u0026#39;January\u0026#39;, \u0026#39;February\u0026#39;, \u0026#39;March\u0026#39;, \u0026#39;April\u0026#39;, \u0026#39;May\u0026#39;, \u0026#39;June\u0026#39;, \u0026#39;July\u0026#39;, \u0026#39;August\u0026#39;, \u0026#39;September\u0026#39;, \u0026#39;October\u0026#39;, \u0026#39;November\u0026#39;, \u0026#39;December\u0026#39;]\r[\u0026#39;\u0026#39;, \u0026#39;Январь\u0026#39;, \u0026#39;Февраль\u0026#39;, \u0026#39;Март\u0026#39;, \u0026#39;Апрель\u0026#39;, \u0026#39;Май\u0026#39;, \u0026#39;Июнь\u0026#39;, \u0026#39;Июль\u0026#39;, \u0026#39;Август\u0026#39;, \u0026#39;Сентябрь\u0026#39;, \u0026#39;Октябрь\u0026#39;, \u0026#39;Ноябрь\u0026#39;, \u0026#39;Декабрь\u0026#39;] Атрибут month_name соответствует обычному соглашению, что январь – это месяц номер 1, поэтому список имеет длину в 13 элементов, первый из которых – пустая строка\rАтрибут calendar.month_abbr возвращает итерируемый объект, содержащий сокращенные названия месяцев года: import calendar, locale english_names = list(calendar.month_abbr) print(english_names) locale.setlocale(locale.LC_ALL, \u0026#39;ru_RU.UTF-8\u0026#39;) russian_names = list(calendar.month_abbr) print(russian_names) # Вывод:\r[\u0026#39;\u0026#39;, \u0026#39;Jan\u0026#39;, \u0026#39;Feb\u0026#39;, \u0026#39;Mar\u0026#39;, \u0026#39;Apr\u0026#39;, \u0026#39;May\u0026#39;, \u0026#39;Jun\u0026#39;, \u0026#39;Jul\u0026#39;, \u0026#39;Aug\u0026#39;, \u0026#39;Sep\u0026#39;, \u0026#39;Oct\u0026#39;, \u0026#39;Nov\u0026#39;, \u0026#39;Dec\u0026#39;]\r[\u0026#39;\u0026#39;, \u0026#39;янв\u0026#39;, \u0026#39;фев\u0026#39;, \u0026#39;мар\u0026#39;, \u0026#39;апр\u0026#39;, \u0026#39;май\u0026#39;, \u0026#39;июн\u0026#39;, \u0026#39;июл\u0026#39;, \u0026#39;авг\u0026#39;, \u0026#39;сен\u0026#39;, \u0026#39;окт\u0026#39;, \u0026#39;ноя\u0026#39;, \u0026#39;дек\u0026#39;] Объекты, доступные по атрибутам day_name, day_abbr, month_name и month_abbr, поддерживают индексацию\rДля получения номеров дней недели можно использовать атрибуты: MONDAY, TUESDAY, ..., SUNDAY. К примеру, print(calendar.MONDAY) выведет 0. Функции calendar #\rФункция setfirstweekday() устанавливает заданный день недели в качестве начала недели. Например, чтобы установить первый будний день воскресенье, мы используем код: import calendar calendar.setfirstweekday(calendar.SUNDAY) Функция firstweekday() возвращает целое число, означающее день недели, установленное в качестве начала недели: import calendar print(calendar.firstweekday()) calendar.setfirstweekday(calendar.SUNDAY) print(calendar.firstweekday()) # Вывод:\r0\r6 Функция isleap() возвращает True, если год високосен, иначе – False.\nФункция leapdays(y1, y2) возвращает количество високосных лет в диапазоне от y1 до y2 (не включая), где y1 и y2 – годы:\nimport calendar print(calendar.leapdays(2020, 2025)) # Вывод: 2 Функция weekday(year, month, day) возвращает день недели в виде целого числа (где 0 – понедельник, 6 – воскресенье) для заданной даты. Аргументы функции year – год начиная с 1970, month – месяц в диапазоне 1-12, day – число в диапазоне 1-31: import calendar print(calendar.weekday(2021, 9, 1)) # среда print(calendar.weekday(2021, 9, 2)) # четверг # Вывод:\r2\r3 Функция monthrange(year, month) возвращает день недели первого дня месяца и количество дней в месяце в виде кортежа для указанного года year и месяца month import calendar print(calendar.monthrange(2022, 1)) # январь 2022 года print(calendar.monthrange(2021, 9)) # сентябрь 2021 года # Вывод:\r(5, 31)\r(2, 30) Функция monthcalendar(year, month) возвращает матрицу, представляющую календарь на месяц. Каждая строка матрицы представляет неделю: import calendar print(*calendar.monthcalendar(2021, 9), sep=\u0026#39;\\n\u0026#39;) # Вывод:\r[0, 0, 1, 2, 3, 4, 5]\r[6, 7, 8, 9, 10, 11, 12]\r[13, 14, 15, 16, 17, 18, 19]\r[20, 21, 22, 23, 24, 25, 26]\r[27, 28, 29, 30, 0, 0, 0] Дни, которые не входят в указанный месяц, представлены нулями. При этом каждая неделя начинается с понедельника, если не установлено другое функцией ​​setfirstweekday()\rФункция month(year, month, w=0, l=0) возвращает календарь на месяц в многострочной строке. Аргументами функции являются: year (год), month (месяц), w (ширина столбца даты) и l (количество строк, отводимые на неделю). Аргументы w и l имеют значения по умолчанию, поэтому их можно не передавать явно при вызове функции\rimport calendar print(calendar.month(2021, 9)) print(calendar.month(2021, 10)) print(calendar.month(2021, 9, w=3)) print(calendar.month(2021, 9, l=2)) print(calendar.month(2021, 9, w=5, l=2)) # Вывод:\rSeptember 2021\rMo Tu We Th Fr Sa Su\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30\rOctober 2021\rMo Tu We Th Fr Sa Su\r1 2 3\r4 5 6 7 8 9 10\r11 12 13 14 15 16 17\r18 19 20 21 22 23 24\r25 26 27 28 29 30 31\rSeptember 2021\rMon Tue Wed Thu Fri Sat Sun\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30\rSeptember 2021\rMo Tu We Th Fr Sa Su\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30\rSeptember 2021\rMon Tue Wed Thu Fri Sat Sun\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30 Функция calendar(year, w=2, l=1, c=6, m=3) возвращает календарь на весь год в виде многострочной строки. Аргументами функции являются: year (год), w (ширина столбца даты), l (количество строк, отводимые на неделю), c (количество пробелов между столбцом месяца) и m (количество столбцов). Аргументы w, l, c, m имеют значения по умолчанию, поэтому их можно не передавать явно при вызове функции\rimport calendar print(calendar.calendar(2021)) # Вывод:\r2021\rJanuary February March\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7\r4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14\r11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21\r18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28\r25 26 27 28 29 30 31 29 30 31\rApril May June\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 4 1 2 1 2 3 4 5 6\r5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13\r12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20\r19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27\r26 27 28 29 30 24 25 26 27 28 29 30 28 29 30\r31\rJuly August September\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 4 1 1 2 3 4 5\r5 6 7 8 9 10 11 2 3 4 5 6 7 8 6 7 8 9 10 11 12\r12 13 14 15 16 17 18 9 10 11 12 13 14 15 13 14 15 16 17 18 19\r19 20 21 22 23 24 25 16 17 18 19 20 21 22 20 21 22 23 24 25 26\r26 27 28 29 30 31 23 24 25 26 27 28 29 27 28 29 30\r30 31\rOctober November December\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 1 2 3 4 5 6 7 1 2 3 4 5\r4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12\r11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19\r18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26\r25 26 27 28 29 30 31 29 30 27 28 29 30 31 Функция prmonth(theyear, themonth, w=0, l=0) печатает календарь на месяц, возвращенный функцией month(theyear, themonth, w=0, l=0). Функция prcal(year, w=0, l=0, c=6, m=3) печатает календарь на весь год, возвращенный функцией calendar(year, w=0, l=0, c=6, m=3)\nСледующие два блока кода эквиваленты:\nimport calendar calendar.prmonth(2021, 9) calendar.prcal(2021) import calendar print(calendar.month(2021, 9)) print(calendar.calendar(2021)) Они выводят:\nSeptember 2021\rMo Tu We Th Fr Sa Su\r1 2 3 4 5\r6 7 8 9 10 11 12\r13 14 15 16 17 18 19\r20 21 22 23 24 25 26\r27 28 29 30\r2021\rJanuary February March\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7\r4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14\r11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21\r18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28\r25 26 27 28 29 30 31 29 30 31\rApril May June\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 4 1 2 1 2 3 4 5 6\r5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13\r12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20\r19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27\r26 27 28 29 30 24 25 26 27 28 29 30 28 29 30\r31\rJuly August September\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 4 1 1 2 3 4 5\r5 6 7 8 9 10 11 2 3 4 5 6 7 8 6 7 8 9 10 11 12\r12 13 14 15 16 17 18 9 10 11 12 13 14 15 13 14 15 16 17 18 19\r19 20 21 22 23 24 25 16 17 18 19 20 21 22 20 21 22 23 24 25 26\r26 27 28 29 30 31 23 24 25 26 27 28 29 27 28 29 30\r30 31\rOctober November December\rMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\r1 2 3 1 2 3 4 5 6 7 1 2 3 4 5\r4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12\r11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19\r18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26\r25 26 27 28 29 30 31 29 30 27 28 29 30 31 ","date":"30 июня 2024","externalUrl":null,"permalink":"/HFK_website/posts/date_and_time_2/","section":"Конспекты","summary":"Больше модулей для работы с временем и датой, измерение времени выполнения программы.","title":"Работа с датой и временем. Часть 2","type":"posts"},{"content":"","date":"16 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/date/","section":"Tags","summary":"","title":"Date","type":"tags"},{"content":"","date":"16 июня 2024","externalUrl":null,"permalink":"/HFK_website/tags/datetime/","section":"Tags","summary":"","title":"Datetime","type":"tags"},{"content":"\rМодули и типы данных для работы со временем, датой и временными промежутками в языке программирования Python. Локализация.\rТипы данных date и time #\rДля удобной работы с датой и временем в Python есть модуль datetime. Он состоит из нескольких типов данных. Благодаря их наличию, программист получает доступ ко многим полезным функциям:\nполучение текущих системных даты и времени; вычисление разницы между датами и другие арифметические операции над ними; сравнение даты и времени; форматированный вывод информации о дате и времени. Типы данных модуля datetime #\rНазвание типа\nданных Характеристика date Представляет собой информацию о дате на основе Григорианского календаря time Представляет собой информацию о времени datetime Содержит информацию о времени и дате на основе Григорианского календаря timedelta Описывает определённый период во времени, который находится между двумя различными моментами tzinfo Представляет различные сведения о часовом поясе timezone Содержит информацию о времени в формате UTC Тип данных date #\rДля использования: from datetime import date.\nТип данных (класс) date используется для представления данных о дате и включает информацию о годе, месяце и дне.\nПри создании новой даты нужно указать год, месяц и день. При этом, как и положено, нельзя указать значение day большее 31 и/или значение month большее 12:\nfrom datetime import date my_date = date(1992, 10, 6) # тип date: год + месяц + день print(my_date) print(type(my_date)) # Вывод:\r1992-10-06\r\u0026lt;class \u0026#39;datetime.date\u0026#39;\u0026gt; Получить доступ к отдельным составляющим даты можно с помощью атрибутов year, month, day:\nfrom datetime import date my_date = date(1992, 10, 6) print(\u0026#39;Год =\u0026#39;, my_date.year) print(\u0026#39;Месяц =\u0026#39;, my_date.month) print(\u0026#39;День =\u0026#39;, my_date.day) # Вывод:\rГод = 1992\rМесяц = 10\rДень = 6 Метод today() нужен, чтобы получить текущую дату с компьютера: today_date = date.today()\nС помощью метода weekday() можно определить день недели (нумерация начинается с нуля: 0=понедельник, 1=вторник, \u0026hellip;, 6=воскресенье).\nЕсли нужна нумерация с единицы, можно воспользоваться методом isoweekday().\nАтрибуты min и max используются, чтобы получить минимальную и максимальную соответственно возможную дату (в рамках типа данных date):\nfrom datetime import date print(date.min) print(date.max) # Вывод:\r0001-01-01\r9999-12-31 Метод fromordinal() позволяет создать дату из номера дня, начиная с 0001-01-01, а метод toordinal(), наоборот, преобразует дату в номер дня:\nfrom datetime import date date1 = date.fromordinal(365) date2 = date(1999, 12, 26) print(date1) print(date2.toordinal()) # Вывод:\r0001-12-31\r730114 Тип данных time #\rДля использования: from datetime import time\nТип данных (класс) time используется для представления данных о времени и включает информацию о часах, минутах, секундах и микросекундах (одна милионная доля секунды).\nПри создании времени нужно указать часы, минуты, секунды и микросекунды. При этом, значение hour не может быть больше 23, а значение second больше 59:\nfrom datetime import time my_time = time(11, 20, 54, 1234) # тип time: часы + минуты + секунды + микросекунды print(my_time) print(type(my_time)) # Вывод:\r11:20:54.001234\r\u0026lt;class \u0026#39;datetime.time\u0026#39;\u0026gt; В отличие от дат (тип данных date), чтобы создать объект типа time, необязательно указывать все его атрибуты в конструкторе. Недостающие данные о времени автоматически заполняются нулями.\nТак же, как и при работе с типом данных date, пользуясь типом time, можно получать доступ к отдельным значениям созданного времени: часам, минутам, секундам и микросекундам с помощью атрибутов hour, minute, second, microsecond:\nfrom datetime import time my_time = time(11, 20, 54, 1234) print(\u0026#39;Часы =\u0026#39;, my_time.hour) print(\u0026#39;Минуты =\u0026#39;, my_time.minute) print(\u0026#39;Секунды =\u0026#39;, my_time.second) print(\u0026#39;Микросекунды =\u0026#39;, my_time.microsecond) # Вывод:\rЧасы = 11\rМинуты = 20\rСекунды = 54\rМикросекунды = 1234 В случае использования неверного значения для атрибутов (year, month, day и т.д.) вознакает ошибка (исключение) ValueError.\rСвязь дат и времени #\rdate и time можно сравнивать с помощью операторов ==, !=, \u0026lt;, \u0026gt;, \u0026lt;= и \u0026gt;=:\nfrom datetime import date, time date1 = date(2022, 10, 15) date2 = date(1999, 12, 26) time1 = time(13, 10, 5) time2 = time(21, 32, 59) print(date1 \u0026lt; date2) print(time1 \u0026lt; time2) # Вывод:\rFalse\rTrue При работе с этими типами данных можно использовать встроенные функции min(), max() и sorted():\nfrom datetime import date dates = [date(2021, 12, 31), date(2025, 3, 19), date(2017, 5, 25)] print(min(dates)) print(max(dates)) print(sorted(dates)) # Вывод:\r2017-05-25\r2025-03-19\r[datetime.date(2017, 5, 25), datetime.date(2021, 12, 31), datetime.date(2025, 3, 19)] Оба типа данных date и time являются неизменяемыми\rФункции str() и repr() #\rВстроенная функция str() возвращает объект в неформальном (понятном человеку) строковом представлении. В следующем коде str() вызывается неявно и преобразует указанные объекты в понятный нам вид:\nfrom datetime import date, time my_date = date(2021, 12, 31) my_time = time(11, 20, 54) print(str(my_date)) # Аналогичен коду print(my_date) print(str(my_time)) # Аналогичен коду print(my_time) # Вывод:\r2021-12-31\r11:20:54 Встроенная функция repr() возвращает объект в формальном (понятном интерпретатору) строковом представлении:\nprint(repr(my_date)) print(repr(my_time)) # Вывод:\rdatetime.date(2021, 12, 31)\rdatetime.time(11, 20, 54) Для встроенных типов данных при печати одиночного значения объекта явно вызывать функцию str() не требуется, однако при печати списка таких объектов может произойти следующее:\nfrom datetime import date dates = [date(2021, 12, 31), date(2019, 10, 6), date(2022, 11, 8)] # список дат print(dates) # Вывод: [datetime.date(2021, 12, 31), datetime.date(2019, 10, 6), datetime.date(2022, 11, 8)] Поэтому, если нам нужно вывести дату или время в нормальном виде, нужно воспользоваться распаковкой (str() также будет вызвана неявно):\nprint(*dates, sep=\u0026#39;, \u0026#39;) # Вывод: 2021-12-31, 2019-10-06, 2022-11-08 Форматирование даты и времени #\rПо умолчанию вывод даты и времени осуществляется в ISO формате:\nдата имеет вид: YYYY-MM-DD время имеет вид: HH:MM:SS или HH:MM:SS.ffffff Для форматированного вывода даты и времени используется метод strftime() (для обоих типов date и time):\nfrom datetime import date, time my_date = date(2021, 8, 10) my_time = time(7, 18, 34) print(my_date) # вывод в ISO формате print(my_time) # вывод в ISO формате print(my_date.strftime(\u0026#39;%d/%m/%y\u0026#39;)) # форматированный вывод даты print(my_date.strftime(\u0026#39;%A %d, %B %Y\u0026#39;)) # форматированный вывод даты print(my_time.strftime(\u0026#39;%H.%M.%S\u0026#39;)) # форматированный вывод времени # Вывод:\r2021-08-10\r07:18:34\r10/08/21\rTuesday 10, August 2021\r07.18.34 Таблица аргументов параметра:\nФормат Значение Пример %a Сокращённое название дня недели Sun, Mon, …, Sat (en_US)\nПн, Вт, \u0026hellip;, Вс (ru_RU) %A Полное название дня недели Sunday, Monday, …, Saturday (en_US)\nпонедельник, \u0026hellip;, воскресенье (ru_RU) %w Номер дня недели [0, …, 6] 0, 1, …, 6 (0=воскресенье, 6=суббота) %d День месяца [01, …, 31] 01, 02, …, 31 %b Сокращенное название месяца Jan, Feb, …, Dec (en_US);\nянв, \u0026hellip;, дек (ru_RU) %B Полное название месяца January, February, …, December (en_US);\nЯнварь, \u0026hellip;, Декабрь (ru_RU) %m Номер месяца [01, …,12] 01, 02, …, 12 %y Год без века [00, …, 99] 00, 01, …, 99 %Y Год с веком 0001, 0002, …, 2013, 2014, …, 9999\nВ Linux год выводится без ведущих нулей:\n1, 2, …, 2013, 2014, …, 9999 %H Час (24-часовой формат) [00, …, 23] 00, 01, …, 23 %I Час (12-часовой формат) [01, …, 12] 01, 02, …, 12 %p До полудня или после (при 12-часовом формате) AM, PM (en_US) %M Число минут [00, …, 59] 00, 01, …, 59 %S Число секунд [00, …, 59] 00, 01, …, 59 %f Число микросекунд 000000, 000001, …, 999999 %z Разница с UTC в формате ±HHMM[SS[.ffffff]] +0000, -0400, +1030, +063415, \u0026hellip; %Z Временная зона UTC, EST, CST %j День года [001,366] 001, 002, …, 366 %U Номер недели в году (неделя начинается с воскр.).\nНеделя, предшествующая первому воскресенью, является нулевой. [00, …, 53] 00, 01, …, 53 %W Номер недели в году (неделя начинается с пон.).\nНеделя, предшествующая первому понедельнику, является нулевой. [00, …, 53] 00, 01, …, 53 %c Дата и время Tue Aug 16 21:30:00 1988 (en_US);\n03.01.2019 23:18:32 (ru_RU) %x Дата 08/16/88 (None); 08/16/1988 (en_US);\n03.01.2019 (ru_RU) %X Время 21:30:00 При форматировании даты все временные характеристики сбрасываются в минимально возможные (нулевые значения). Аналогично при форматировании времени все характеристики даты сбрасываются в минимально возможные:\nfrom datetime import date, time my_date = date(2021, 8, 10) my_time = time(7, 18, 34) print(my_date.strftime(\u0026#39;%a %A %w %d %b %B %m %y %Y %H %I %p %M %S %f %z %Z %j %U %W %c %x %X\u0026#39;)) print(my_time.strftime(\u0026#39;%a %A %w %d %b %B %m %y %Y %H %I %p %M %S %f %z %Z %j %U %W %c %x %X\u0026#39;)) # Вывод:\rTue Tuesday 2 10 Aug August 08 21 2021 00 12 AM 00 00 000000 222 32 32 Tue Aug 10 00:00:00 2021 08/10/21 00:00:00\rMon Monday 1 01 Jan January 01 00 1900 07 07 AM 18 34 000000 001 00 01 Mon Jan 1 07:18:34 1900 01/01/00 07:18:34 Для создания новой даты на основе уже существующей можно использовать метод replace(). Он возвращает новую дату с переданными изменёнными значениями атрибутов year, month, day: from datetime import date date1 = date(1992, 10, 6) date2 = date1.replace(year=1995) # заменяем год date3 = date1.replace(month=12, day=17) # заменяем месяц и число print(date1) print(date2) print(date3) # Вывод:\r1992-10-06\r1995-10-06\r1992-12-17 Аналогичным способом можно создать и новое время на основе существующего.\rДля того, чтобы получить строковое представление объектов типа date и time в ISO формате, можно воспользоваться методом isoformat(): from datetime import date, time my_date = date(2021, 12, 31) my_time = time(21, 15, 17) print(\u0026#39;Дата: \u0026#39; + my_date.isoformat()) # Аналогично коду print(\u0026#39;Дата: \u0026#39; + str(my_date)) print(\u0026#39;Время: \u0026#39; + my_time.isoformat()) # Аналогично коду print(\u0026#39;Дата: \u0026#39; + str(my_time)) # Вывод:\rДата: 2021-12-31\rВремя: 21:15:17 А чтобы преобразовать строку из ISO формата в объект date или time, можно воспользоваться методом fromisoformat(). Использование локализации #\rДля использования: import locale\nПриведённый ниже код устанавливает русскую локализацию:\nfrom datetime import date import locale locale.setlocale(locale.LC_ALL, \u0026#39;ru_RU.UTF-8\u0026#39;) my_date = date(2021, 8, 10) print(my_date.strftime(\u0026#34;%A %d, %B %Y\u0026#34;)) # форматированный вывод даты в русской локализации # Вывод: вторник 10, Август 2021 Тип данных datetime #\rДля использования: from datetime import datetime\nЭтот тип данных позволяет работать одновременно и с датой, и с временем. Он является неизменяемым. При создании новой даты-времени (тип datetime) нужно указать год, месяц, день, часы, минуты, секунды и микросекунды. При этом год, месяц и день являются обязательными, а часы, минуты, секунды и микросекунды необязательными:\nfrom datetime import datetime my_datetime = datetime(1992, 10, 6, 9, 40, 23, 51204) # создаем полную дату-время only_date = datetime(2021, 12, 31) # создаем дату-время с нулевой временной информацией print(my_datetime) print(only_date) print(type(my_datetime)) # Вывод:\r1992-10-06 09:40:23.051204\r2021-12-31 00:00:00\r\u0026lt;class \u0026#39;datetime.datetime\u0026#39;\u0026gt; Так же, как и при работе с типами date и time, в datetime с помощью атрибутов (year, month, day, hour, minute, second и microsecond) можно получать доступ к отдельным значениям созданной даты-времени: годам, месяцам, дням, часам, минутам, секундам и микросекундам:\nfrom datetime import datetime my_datetime = datetime(1992, 10, 6, 9, 40, 23, 51204) print(\u0026#39;Год =\u0026#39;, my_datetime.year) print(\u0026#39;Месяц =\u0026#39;, my_datetime.month) print(\u0026#39;День =\u0026#39;, my_datetime.day) print(\u0026#39;Часы =\u0026#39;, my_datetime.hour) print(\u0026#39;Минуты =\u0026#39;, my_datetime.minute) print(\u0026#39;Секунды =\u0026#39;, my_datetime.second) print(\u0026#39;Микросекунды =\u0026#39;, my_datetime.microsecond) # Вывод:\rГод = 1992\rМесяц = 10\rДень = 6\rЧасы = 9\rМинуты = 40\rСекунды = 23\rМикросекунды = 51204 Тип данных datetime наследует весь функционал (атрибуты и методы) от типа date\rМетоды datetime #\rСформировать новый объект типа datetime можно с помощью двух разных объектов, представляющих дату и время (date и time). Для этого используется метод combine(): from datetime import date, time, datetime my_date = date(1992, 10, 6) my_time = time(10, 45, 17) my_datetime = datetime.combine(my_date, my_time) print(my_datetime) # Вывод: 1992-10-06 10:45:17 Если же, наоборот, нужно из datetime получить date и time, то используются методы date() и time() соответственно: from datetime import datetime my_datetime = datetime(2022, 10, 7, 14, 15, 45) my_date = my_datetime.date() # получаем только дату (тип date) my_time = my_datetime.time() # получаем только время (тип time) print(my_datetime, type(my_datetime)) print(my_date, type(my_date)) print(my_time, type(my_time)) Метод now() используется для получения локального времени: from datetime import datetime print(datetime.now()) print(datetime.utcnow()) При этом, если нужно отобразить код определённого часового пояса, рекомендуется использовать код:\nimport datetime as dt print(dt.datetime.now(dt.timezone.utc)) Метод today() аналогичен методу now(), но рекомендуется использовать именно метод now().\nМетод timestamp() преобразует объект типа datetime в количество секунд, прошедших с начала эпохи (возвращает значение типа float), а метод fromtimestamp(), наоборот, преобразует количество секунд, прошедших с начала эпохи, в datetime (возвращает объект datetime в локальном часовом поясе).\nПри работе с объектами типа datetime мы также можем использовать функции min(), max(), sorted() и операторы сравнения.\nЕсли нужно создать новый объект datetime на основании уже существующего, можно использовать метод replace(), который вернёт новый объект datetime с переданными изменёнными значениями атрибутов:\nfrom datetime import datetime datetime1 = datetime(1992, 10, 6, 10, 12, 45) datetime2 = datetime1.replace(year=1995, month=12) datetime3 = datetime1.replace(day=17, hour=14, minute=37) print(datetime1) print(datetime2) print(datetime3) # Вывод:\r1992-10-06 10:12:45\r1995-12-06 10:12:45\r1992-10-17 14:37:45 Форматирование datetime #\rКак и объекты типа date и time, datetime выводится в формате ISO 8601. Для преобразования в строку нужного формата нужно использовать старый-добрый метод strftime():\nfrom datetime import datetime my_datetime = datetime(2021, 8, 10, 18, 20, 34) print(my_datetime) # вывод в ISO формате print(my_datetime.strftime(\u0026#39;%d.%m.%y --- %H::%M::%S\u0026#39;)) print(my_datetime.strftime(\u0026#39;%d/%m/%y\u0026#39;)) print(my_datetime.strftime(\u0026#39;%A %d, %B %Y\u0026#39;)) print(my_datetime.strftime(\u0026#39;%H:%M:%S\u0026#39;)) # Вывод:\r2021-08-10 18:20:34\r10.08.21 --- 18::20::34\r10/08/21\rTuesday 10, August 2021\r18:20:34 Аргументы, которые можно передать в strftime() уже были приведены в виде таблицы в параграфе \u0026ldquo;Форматирование даты и времени\u0026rdquo;.\nЕсли нужно получить представление даты-времени в ISO формате, можно воспользоваться методом isoformat() или функцией str():\nfrom datetime import datetime my_datetime = datetime(1992, 10, 6, 10, 12, 45) print(my_datetime.isoformat()) print(str(my_datetime)) # Вывод:\r1992-10-06T10:12:45\r1992-10-06 10:12:45 Преобразование строки в datetime #\rПреобразовать строку в объект типа datetime можно:\nВручную, используя split(); С помощью метода strptime(). Второй способ компактнее и читабельнее, поэтому поощряется в большей степени. Метод strptime() принимает два аргумента: первый – строку, второй – формат\nstrptime() – это парсер, который превращает произвольную строку в объект типа datetime\nstrftime() – это форматтер, который превращает объект datetime в строку заданного формата\rfrom datetime import datetime datetime0 = datetime.strptime(\u0026#39;10.08.2034 13:55:59\u0026#39;, \u0026#39;%d.%m.%Y %H:%M:%S\u0026#39;) datetime1 = datetime.strptime(\u0026#39;10/08/21\u0026#39;, \u0026#39;%d/%m/%y\u0026#39;) datetime2 = datetime.strptime(\u0026#39;Tuesday 10, August 2021\u0026#39;, \u0026#39;%A %d, %B %Y\u0026#39;) datetime3 = datetime.strptime(\u0026#39;18.20.34\u0026#39;, \u0026#39;%H.%M.%S\u0026#39;) datetime4 = datetime.strptime(\u0026#39;2021/08/10\u0026#39;, \u0026#39;%Y/%m/%d\u0026#39;) datetime5 = datetime.strptime(\u0026#39;10.08.2021 (Tuesday, August)\u0026#39;, \u0026#39;%d.%m.%Y (%A, %B)\u0026#39;) datetime6 = datetime.strptime(\u0026#39;Year: 2021, Month: 08, Day: 10, Hour: 18.\u0026#39;, \u0026#39;Year: %Y, Month: %m, Day: %d, Hour: %H.\u0026#39;) print(datetime0, datetime1, datetime2, datetime3, datetime4, datetime5, datetime6, sep=\u0026#39;\\n\u0026#39;) print(my_datetime) # Вывод:\r2034-08-10 13:55:59\r2021-08-10 00:00:00\r2021-08-10 00:00:00\r1900-01-01 18:20:34\r2021-08-10 00:00:00\r2021-08-10 00:00:00\r2021-08-10 18:00:00 Первый аргумент должен соответствовать формату второго аргумента. Иначе возникнет исключение ValueError\rfrom datetime import datetime my_datetime = datetime.strptime(\u0026#39;10/08/2034 13:55:59\u0026#39;, \u0026#39;%d.%m.%Y %H:%M:%S\u0026#39;) print(my_datetime) # Вывод: ValueError: time data \u0026#39;10/08/2034 13:55:59\u0026#39; does not match format \u0026#39;%d.%m.%Y %H:%M:%S\u0026#39; При создании объекта datetime из строки с помощью метода strptime() необязательно, чтобы строка содержала год, месяц и день, в отличие от ручного создания этого объекта\rТип данных timedelta #\rТип данных timedelta представляет собой временной интервал (разница между двумя объектами datetime или date) и используется для удобного выполнения различных манипуляций над типами datetime или date. Он, как и предыдущие, неизменяем.\nПри создании объекта timedelta можно указать следующие аргументы: недели (weeks), дни (days), часы (hours), минуты (minutes), секунды (seconds), миллисекунды (milliseconds), микросекунды (microseconds). Все они являются необязательными и по умолчанию равны нулю.\nfrom datetime import timedelta delta = timedelta(days=7, hours=20, minutes=7, seconds=17) print(delta) print(type(delta)) # Вывод:\r7 days, 20:07:17\r\u0026lt;class \u0026#39;datetime.timedelta\u0026#39;\u0026gt; Аргументы могут быть целыми числами или же числами с плавающей точкой, кроме того они могут быть отрицательными\rtimedelta хранит только days, seconds, microseconds, в то время как остальные переданные аргументы сводятся к ним по следующим правилам:\nmilliseconds преобразуется в 1000 microseconds minutes в 60 seconds hours в 3600 seconds weeks в 7 days Сами атрибуты days, seconds и microseconds имеют ограничения и нормализуются так, чтобы представление было уникальным:\n0 \u0026lt;= microseconds \u0026lt; 1000000 0 \u0026lt;= seconds \u0026lt; 3600*24 (количество секунд в одном дне) -999999999 \u0026lt;= days \u0026lt;= 999999999 Пример:\nfrom datetime import timedelta delta1 = timedelta(days=50, seconds=27, microseconds=10, milliseconds=29000, minutes=5, hours=8, weeks=2) delta2 = timedelta(weeks=1, hours=23, minutes=61) delta3 = timedelta(hours=25) delta4 = timedelta(minutes=300) print(delta1, delta2, delta3, delta4, sep=\u0026#39;\\n\u0026#39;) # Вывод:\r64 days, 8:05:56.000010\r8 days, 0:01:00\r1 day, 1:00:00\r5:00:00 Также timedelta может представлять собой отрицательный временной интервал:\nfrom datetime import timedelta delta1 = timedelta(minutes=-40) delta2 = timedelta(seconds=-10, weeks=-2) print(delta1) print(delta2) # Вывод:\r-1 day, 23:20:00\r-15 days, 23:59:50 В первом случае, если мы сложим -1 день с временем 23:20, то как раз получим введённые -40 минут. Аналогично и со вторым примером.\nОбъект timedelta не хранит отрицательное число секунд и микросекунд, но может хранить отрицательное количество дней\rЕсли нужно получить из отрицательного значения timedelta положительное, можно использовать встроенную функцию abs():\nfrom datetime import timedelta delta = timedelta(days=-2, minutes=-300) abs_delta = abs(delta) print(\u0026#39;Исходная:\u0026#39;, delta.days, delta.seconds, delta, sep=\u0026#39;\\n\u0026#39;) print(\u0026#39;С модулем:\u0026#39;, abs_delta.days, abs_delta.seconds, abs_delta, sep=\u0026#39;\\n\u0026#39;) # Вывод:\rИсходная:\r-3\r68400\r-3 days, 19:00:00\rС модулем:\r2\r18000\r2 days, 5:00:00 Для преобразования timedelta к строковому типу можно использовать встроенные функции str() и repr() (первая вызывается автоматически при печати значения объекта этого типа):\nfrom datetime import timedelta delta1 = timedelta(weeks=1, hours=23, minutes=61) delta2 = timedelta(minutes=-300) print(str(delta1), str(delta2), sep=\u0026#39;\\n\u0026#39;) print(repr(delta1), repr(delta2), sep=\u0026#39;\\n\u0026#39;) 8 days, 0:01:00\r-1 day, 19:00:00\rdatetime.timedelta(days=8, seconds=60)\rdatetime.timedelta(days=-1, seconds=68400) Метод total_seconds() #\rtotal_seconds() возвращает общее количество секунд, содержащееся во временном интервале timedelta\nУ типа timedelta нет атрибутов hours, minutes и week, поэтому, чтобы получить, к примеру, часы и минуты, можно воспользоваться следующим кодом:\ndef hours_minutes(td): return td.seconds // 3600, (td.seconds // 60) % 60 Сравнение временных интервалов #\rОбъекты типа timedelta можно сравнивать между собой, как и любые другие.\nНо если временной интервал сравнивается с другим типом данных операторами \u0026lt;, \u0026gt;, \u0026lt;=, \u0026gt;=, возникает ошибка (исключение) TypeError.\rОперации с timedelta #\rСложение и разность временных интервалов: from datetime import timedelta delta1 = timedelta(days=5) + timedelta(seconds=3600) # 5 дней + 1 час delta2 = timedelta(days=5) - timedelta(seconds=3600) # 5 дней - 1 час print(delta1) print(delta2) # Вывод:\r5 days, 1:00:00\r4 days, 23:00:00 Умножение интервала на число: from datetime import timedelta delta1 = 48 * timedelta(hours=1) delta2 = timedelta(weeks=1) * (3/7) print(delta1) print(delta2) 2 days, 0:00:00\r3 days, 0:00:00 При умножении интервала на float число может произойти округление!\rДеление интервала на число from datetime import timedelta delta = timedelta(hours=1, minutes=6) delta1 = delta / 2 delta2 = delta // 5 print(delta1) print(delta2) # Вывод:\r0:33:00\r0:13:12 Деление временных интервалов друг на друга. По сути общая длительность первого интервала делится на общую длительность второго (которые вычисляются методом total_seconds()): from datetime import timedelta delta1 = timedelta(weeks=1) / timedelta(hours=5) # обычное деление, результат float delta2 = timedelta(weeks=1) // timedelta(hours=5) # целочисленное деление, результат int print(delta1) print(delta2) # Вывод:\r33.6\r33 Также можно найти остаток от деления двух интервалов, при этом вернётся объект timedelta:\nfrom datetime import timedelta delta1 = timedelta(weeks=1) % timedelta(hours=5) # 3 часа delta2 = timedelta(hours=1) % timedelta(minutes=7) # 4 минуты print(delta1) print(delta2) # Вывод:\r3:00:00\r0:04:00 Операции с datetime и date #\rК объектам типа datetime и date можно прибавлять (вычитать) временные интервалы, формируя новые объекты тех же типов данных:\nfrom datetime import datetime, date, timedelta my_datetime1 = datetime(2021, 1, 1, 12, 15, 20) + timedelta(weeks=1, hours=25) my_datetime2 = datetime(2021, 1, 1, 12, 15, 20) - timedelta(weeks=1, hours=25) my_date1 = date(2021, 1, 1) + timedelta(hours=49) my_date2 = date(2021, 1, 1) - timedelta(hours=49) print(my_datetime1, my_datetime2, my_date1, my_date2, sep=\u0026#39;\\n\u0026#39;) # Вывод:\r2021-01-09 13:15:20\r2020-12-24 11:15:20\r2021-01-03\r2020-12-30 При прибавлении timedelta к data неполные сутки отбрасываются\rПри вычитании объектов date или datetime получается объект timedelta:\nfrom datetime import datetime, date, timedelta delta1 = datetime(2021, 1, 1, 12, 15, 20) - datetime(2020, 5, 1, 10, 5, 10) delta2 = date(2020, 2, 29) - date(2019, 9, 1) delta3 = date(2019, 9, 1) - date(2020, 2, 29) print(type(delta1)) print(type(delta2)) print(type(delta3)) # Вывод:\r\u0026lt;class \u0026#39;datetime.timedelta\u0026#39;\u0026gt;\r\u0026lt;class \u0026#39;datetime.timedelta\u0026#39;\u0026gt;\r\u0026lt;class \u0026#39;datetime.timedelta\u0026#39;\u0026gt; ","date":"16 июня 2024","externalUrl":null,"permalink":"/HFK_website/posts/date_and_time_1/","section":"Конспекты","summary":"Модули и типы данных для работы со временем, датой и временными промежутками в языке программирования Python.","title":"Работа с датой и временем. Часть 1","type":"posts"},{"content":"\rКраткое описание мини-проекта HFK\rHFK (Hungry for Knowledge) – онлайн-ресурс, содержащий конспекты, статьи и проекты автора, охватывающие спектр тем, связанных с программированием и не только.\nЦели проекта: предоставить удобный доступ к материалам и создать портфолио.\nПланы на будущее: разместить проект, связанный с языком программирования Python; сделать свою первую полноценную статью.\nПроект HFK был выполнен с помощью генератора статических сайтов Hugo и темы Blowfish.\n","date":"14 июня 2024","externalUrl":null,"permalink":"/HFK_website/about/","section":"🎉","summary":"Краткое описание мини-проекта HFK\rHFK (Hungry for Knowledge) – онлайн-ресурс, содержащий конспекты, статьи и проекты автора, охватывающие спектр тем, связанных с программированием и не только.","title":"Hungry for Knowledge","type":"page"},{"content":"","date":"12 июня 2024","externalUrl":null,"permalink":"/HFK_website/authors/","section":"🎉","summary":"","title":"Авторы","type":"page"},{"content":"","date":"25 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/paradigms/","section":"Tags","summary":"","title":"Paradigms","type":"tags"},{"content":"\rВсё о парадигмах программирования: особенности, механизмы, какие языки поддерживают и т.д.\rИмперативное программирование #\rВычислительная техника создавалась для решения математических задач – расчета баллистических траекторий, численного решения уравнений и т.д. Для этого же предназначены первые языки программирования, такие как Fortran, Алгол, реализованные в парадигме императивного программирования.\nХарактеристики:\nв исходном коде программы записаны инструкции (команды); инструкции должны выполняться последовательно; данные, полученные при выполнении инструкции, могут записываться в память; данные, получаемые при выполнении предыдущих инструкций, могут читаться из памяти последующими инструкциями. Основные механизмы управления:\nпоследовательное исполнение команд; использование именованных переменных; использование оператора присваивания; использование ветвления (оператор if); использование безусловного перехода (оператор goto). Ключевой идеей императивного программирования является работа с переменными, как с временным хранением данных в оперативной памяти.\nСтруктурное программирование #\rСтрук­тур­ная парадигма программирования на­це­ле­на на со­кра­ще­ние вре­ме­ни раз­ра­бот­ки и уп­ро­ще­ние под­держ­ки про­грамм за счёт ис­поль­зо­ва­ния блоч­ных опе­ра­то­ров и под­про­грамм. От­ли­чительная чер­та струк­тур­ных про­грамм – от­каз от опе­ра­то­ра безусловного пе­ре­хо­да (goto), который широко использовался в 1970-х годах.\nОсновные механизмы управления:\nпоследовательное исполнение команд; использование именованных переменных; использование оператора присваивания; использование ветвления (оператор if); использование циклов; использование подпрограмм (функций). Парадигму структурного программирования предложил нидерландский ученый Эдсгер Дейкстра.\rОбъектно-ориентированное программирование #\rВ объектно-ориентированной парадигме про­грам­ма раз­би­ва­ет­ся на объ­ек­ты – струк­ту­ры дан­ных, со­стоя­щие из по­лей, опи­сы­ваю­щих со­стоя­ние, и ме­то­дов – функций, при­ме­няе­мых к объ­ек­там для изме­не­ния или за­про­са их со­стоя­ния.\nОбъ­ект­но-ори­ен­ти­ро­ван­ную парадигму программирования под­дер­жи­ваю­т:\nPython; C#; Java; C++; JavaScript; и другие. Основные механизмы управления:\nабстракция; класс; объект; полиморфизм; инкапсуляция; наследование. Декларативное программирование #\rДекларативное программирование – парадигма программирования, в которой задаётся спецификация решения задачи, то есть описывается ожидаемый результат, а не способ его получения. Противоположностью декларативного является императивное программирование, при котором на том или ином уровне детализации требуется описание последовательности шагов для решения задачи. В качестве примеров декларативных языков обычно приводят HTML и SQL. При создании HTML с помощью тегов описывается, какую нужно получить страничку в браузере, а не то, как нарисовать на экране заголовок статьи, оглавление и текст.\nК подвидам декларативного программирования также зачастую относят функциональное и логическое программирование. Несмотря на то, что программы на таких языках нередко содержат алгоритмические составляющие, архитектура в императивном понимании (как нечто отдельное от кодирования) в них также отсутствует: схема программы является непосредственно частью исполняемого кода.\nЛогическое программирование #\rПри использовании логического программирования программа содержит описание проблемы в терминах фактов и логических формул, а решение проблемы система находит с помощью механизмов логического вывода.\nВ конце 60-х годов XX века Корделл Грин предложил использовать резолюцию как основу логического программирования. Алан Колмеро создал язык логического программирования Prolog в 1971 году. Логическое программирование пережило пик популярности в середине 80-х годов XX века, когда было положено в основу проекта разработки программного и аппаратного обеспечения вычислительных систем пятого поколения.\nВажное его преимущество – достаточно высокий уровень машинной независимости, а также возможность откатов, возвращения к предыдущей подцели при отрицательном результате анализа одного из вариантов в процессе поиска решения.\nОдин из концептуальных недостатков логического подхода – специфичность класса решаемых задач.\nНедостаток практического характера – сложность эффективной реализации для принятия решений в реальном времени, скажем, для систем жизнеобеспечения.\nФункциональное программирование #\rОсновной инструмент функционального программирования (ФП) – математические функции.\nМатематические функции выражают связь между исходными данными и итогом процесса. Процесс вычисления также имеет вход и выход, поэтому функция – вполне подходящее и адекватное средство описания вычислений. Именно этот простой принцип положен в основу функциональной парадигмы программирования.\nФункциональное программирование – декларативная парадигма программирования.\rФункциональная программа – набор определений функций. Функции определяются через другие функции или рекурсивно через самих себя. При выполнении программы функции получают аргументы, вычисляют и возвращают результат, при необходимости вычисляя значения других функций.\nОсновные идеи функционального программирования:\nнеизменяемые переменные – в функциональном программировании можно определить переменную, но изменить ее значение нельзя; чистая функция – это функция, результат работы которой предсказуем. При вызове с одними и теми же аргументами, такая функция всегда вернет одно и то же значение. Про такие функции говорят, что они не вызывают побочных эффектов; функции высшего порядка – могут принимать другие функции в качестве аргумента или возвращать их; рекурсия – поддерживается многими языками программирования, а для функционального программирования обязательна. Дело в том, что в языках ФП отсутствуют циклы, поэтому для повторения операций служит рекурсия. Использование рекурсии в языках ФП оптимизировано, и происходит быстрее, чем в языках императивного программирования; лямбда-выражения – способ определения анонимных функциональных объектов. Сильные стороны функционального программирования:\nповышеная надёжность кода; удобство организации модульного тестирования; возможности оптимизации при компиляции; возможности параллелизма. Недостатки: отсутствие присваиваний и замена их на порождение новых данных приводят к необходимости постоянного выделения и автоматического освобождения памяти, поэтому в системе исполнения функциональной программы обязательным компонентом становится высокоэффективный сборщик мусора.\n","date":"25 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/programming_paradigms/","section":"Конспекты","summary":"Всё о парадигмах программирования: особенности, механизмы, какие языки поддерживают и т.","title":"Парадигмы программирования","type":"posts"},{"content":"","date":"20 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/algorythms/","section":"Tags","summary":"","title":"Algorythms","type":"tags"},{"content":"","date":"20 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/big-o/","section":"Tags","summary":"","title":"Big O","type":"tags"},{"content":"\rВсё про нотацию Big O на примерах базовых колллекций в Python\rBig O – нотация, использующаяся в программировании, информатике для описания сложности алгоритмов. Она характеризует, как быстро растёт время выполнения алгоритма с ростом объёма входных данных, используя для оценки верхнюю границу (наихудший исход).\nПримеры нотаций Big O в порядке убывания скорости выполнения соответствующих им алгоритмов:\nO(1): Константная сложность. Читется как \u0026ldquo;сложность порядка 1\u0026rdquo;. Время выполнения алгоритма не зависит от размера входных данных, т.е. если даже алгоритм выполняется постоянно в 3 шага, то он будет не O(3), а O(1). Является идеальной с точки зрения производительности, однако зачастую недостижима.\nПримеры:\nДоступ к элементу в массиве по индексу; Вставка или удаление элемента в конец списка (очереди) фиксированной длины. O(log n): Логарифмическая сложность. Время выполнения алгоритма растет медленно с увеличением размера входных данных. Например, бинарный поиск в отсортированном массиве.\nПример:\nБинарный поиск. В этом алгоритме на каждом шаге половина данных отсекается, и поиск продолжается в оставшейся половине. Это означает, что при увеличении размера входных данных вдвое, бинарный поиск требует всего одного дополнительного шага. O(n): Линейная сложность. Читается как \u0026ldquo;сложность порядка n\u0026rdquo;. Время выполнения алгоритма пропорционально размеру входных данных.\nПример:\nПоиск максимального значения в списке: def find_max(my_list): max_num = my_list[0] for i in range(len(my_list)): if my_list[i] \u0026gt; max_num: max_num = my_list[i] return max_num O(n log n): Линейно-логарифмическая сложность. Время выполнения алгоритма растет быстрее, чем линейно, но медленнее, чем квадратично.\nПример:\nСортировка слиянием. O(n^2): Квадратичная сложность.\nПримеры:\nСортировка пузырём; Поиск суммы всех пар элементов списка: def pairs_sum(my_list): summ = 0 for i in range(my_list): for j in range(my_list): summ += my_list[i] + my_list[j] return summ O(n^3): Кубическая сложность.\nПример:\nАлгоритмы, имеющие три вложенных цикла. O(2^n): Экспоненциальная сложность. Она обычно не является оптимальным решением из-за своей высокой вычислительной нагрузки при увеличении размера входных данных.\nПример:\nАлгоритмы, использующие рекурсию без оптимизации (рекурсивное вычисление чисел Фибоначчи). O(n!): Факториальная сложность. Это самая высокая степень роста времени выполнения алгоритма. Этот тип сложности встречается, например, при переборе всех возможных комбинаций элементов, что делает его чрезвычайно неэффективным для больших значений n.\nПример:\nПеребор всех перестановок элементов массива. График сложностей алгоритмов #\rНеусщественное не учитывается #\rПри оценке сложности алгоритмов лучше игнорировать константы и несущественные части, от которых скорость выполнения практически не зависит.\nНапример, при оценке 5n^2 + 3n + 2 можно откинуть 5, 3n, 2. В результате мы получим O(n^2).\nИли при оценке n^2 + n + log(n) оставляем самую значимую часть и получаем тот жеO(n^2).\nСложность операций в Python #\rРассмотрим некоторые операции, которые часто используют для базовых структур в языке программирования Python. n - размер структуры данных\nСписки: #\rОперация Пример Сложность Примечание Получение элемента l[i] O(1) Присваивание значения элементу l[i] = 0 O(1) Размер списка len(l) O(1) Добавление элемента в конец списка l.append(5) O(1) Скорее всего это неверно Удаление последнего элемента l.pop() O(1) Аналогично l.pop(-1) Очищение списка l.clear() O(1) Аналогично l = [] Добавление нескольких элементов l1.extend(l2) O(len(n)) Прямая зависимость с размером l2 Создание списка list(l) O(n) Прямая зависимость с разером l Получение среза l[a:b] O(n) O(a - b) Сравнение списков l1 == l2 O(n) Вставка через срез l[a:b] O(n) Проверка наличия элемента в списке x is/not in l O(n) Тот же перебор элементов Поверхностное копирвоание списка l.copy() O(n) Аналогично l[:] Удаление элемента через del del l[i] O(n) Перебор до совпадения индексов, а значит зависит от i Удаление элемента через remove l.remove(...) O(n) Удаление элемента через pop l.pop(i) O(n) O(n-i) Получение крайнего значения min(l)/max(l) O(n) Снова перебор элементов Получение обратного списка l.reverse() O(n) Перебор for i in l: O(n) Сортировка l.sort() O(n * log(n)) Или sorted(l) Умножение списка на константу k*l O(k*n) 5*l =\u0026gt; O(n), len(l)*l =\u0026gt; O(n^2) Кортежи: #\rНет смысла составлять таблицу, т.к. кортежи - те же самые списки, только неизменяемые. Поэтому к ним применимы все операции, не изменяющие структуру данных, и они имеют такие же нотации сложности, как и списки.\nМножества: #\rОперация Пример Сложность Примечание Размер множества len(s) O(1) Добавление элемента s.add(5) O(1) Проверка наличия элемента в множестве x is/not in s O(1) Удаления элемента через discard s.discard(...) O(1) Удаления элемента через remove s.remove(...) O(1) Удаления элемента через pop s.pop() O(1) Удаляемый элемент выбирается случайно Очищение множества s.clear() O(1) Аналогично s = set() Создание множества set(...) O(n) Сравнение множеств через ==, != s != t O(n) Сравнение множеств через \u0026lt;=, \u0026lt; s \u0026lt;= t O(n) Аналогично s.issubset(t) Сравнение множеств через \u0026gt;=, \u0026gt; s \u0026gt;= t O(n) Аналогично s.issuperset(t) Объединение s | t O(n) Аналогично s.union(t) Пересечение s \u0026amp; t O(n) Аналогично s.intersection(t) Разность s - t O(n) Аналогично s.difference(t) Симметрическая разность s ^ t O(n) Аналогично s.symmetric_difference(t) Перебор for i in s: O(n) Копирование s.copy() O(n) Неизменяемые множества #\rПоддерживают все операции обычного множества за исключением тех, который изменяют структуру данных, и имеют те же нотации сложности, как у изменяемых множеств.\nСловари #\rОперация Пример Сложность Примечание Получение элемента d[key] O(1) Добавление элемента/\nИзменение значения d[key] = val O(1) Размер словаря len(d) O(1) Удаление элемента через del del d[key] O(1) Удаление элемента через popitem d.popitem() O(1) Удаляемый элемент выбирается случайно Удаление элемента через pop d.pop(key) O(1) get() и setdefault() d.get(key) O(1) Очищение словаря d.clear O(1) Аналогично s = {} или s = dict() Получение списка ключей/значений d.keys() O(1) Создание словаря dict(...) O(n) Перебор элементов for key in d: O(n) Для .keys(), .values(), .items() Другие обозначения #\rКроме обозначения \u0026ldquo;Big O\u0026rdquo;, существуют другие обозначения для оценки сложности алгоритмов:\nBig Theta (Θ): Big Theta также оценивает верхнюю и нижнюю границы временной сложности алгоритма, но описывает точную сложность, а не только наихудший случай, как Big O. Θ(f(n)) обозначает, что время выполнения алгоритма ограничено функцией f(n) как сверху, так и снизу. Big Omega (Ω): Big Omega оценивает нижнюю границу временной сложности алгоритма. Ω(f(n)) говорит о том, что алгоритм выполнится не быстрее, чем функция f(n). Little O (o): Little O представляет собой верхнюю границу, которая строже, чем Big O. Если f(n) является o(g(n)), это означает, что время выполнения алгоритма ограничивается функцией g(n), но алгоритм работает быстрее, чем g(n). Little Omega (ω): Little Omega представляет собой нижнюю границу, которая строже, чем Big Omega. Если f(n) является ω(g(n)), это означает, что алгоритм работает медленнее, чем g(n), но не медленнее, чем f(n). ","date":"20 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/big_o/","section":"Конспекты","summary":"Всё про нотацию Big O на примерах базовых колллекций в Python\rBig O – нотация, использующаяся в программировании, информатике для описания сложности алгоритмов.","title":"Big O","type":"posts"},{"content":"\rУправление текстовыми и бинарными файлами в языке программирования Python\rПрограммы, которые мы писали до сих пор, требовали повторного ввода данных при каждом запуске, потому что, как только программа заканчивает свою работу, данные для переменных исчезают из оперативной памяти. Если их нужно сберечь между выполнениями программы, требуется запись. Данные записываются в файл, обычно сохраняющийся на диске компьютера.\nСохраненные в файле данные обычно остаются в нем после завершения работы программы, их можно позже извлечь и использовать.\nФайловый ввод и вывод #\rКогда программе нужно сохранить данные для дальнейшего использования, она пишет их в файл. Из файла записанные данные можно считать.\nПрограммисты называют такой процесс сохранения данных – запись данных в файл. Когда часть данных пишется в файл, она копируется из переменной, находящейся в оперативной памяти. Файл, куда сохраняются данные, называется файл вывода, потому что программа помещает в него выходные данные.\nПроцесс извлечения данных из файла называется чтением данных из файла. Данные считываются из файла ввода. Программа извлекает входные данные из этого файла. Когда порция данных считывается из файла, она копируется в оперативную память, где на нее ссылается переменная.\nКогда в программе используется файл, как правило требуется выполнить три шага:\nОткрыть файл. В процессе открытия файла создается связь между файлом и программой. Открытие файла вывода обычно создает файл на диске и позволяет программе записать в него данные. Открытие файла ввода позволяет программе прочитать данные из файла. Обработать файл. На этом шаге данные либо записываются в файл (если это файл вывода), либо считываются из файла (если это файл ввода). Закрыть файл. После использования файла программой его нужно закрыть, тем самым освободить ресурс и разорвать связь файла с программой. Типы файлов #\rСуществует два типа файлов: текстовые и двоичные (бинарные). Python позволяет работать с любыми из них.\nТекстовый файл содержит данные, которые были закодированы в виде текста при помощи такой схемы кодирования, как ASCII или Юникод. Даже если файл содержит числа, эти числа в файле хранятся как набор символов. В результате файл можно открыть и просмотреть в текстовом редакторе, таком как Блокнот.\nДвоичный файл содержит данные, которые не были преобразованы в текст. Данные, которые помещены в двоичный файл, предназначены только для чтения программой, и такой файл невозможно просмотреть в текстовом редакторе.\nМетоды доступа к файлам #\rБольшинство языков программирования обеспечивают два способа получения доступа к данным в файле:\nпоследовательный, прямой или произвольный. Последовательный, как при проигрывании кассет с записью на пленке, выдает порции информации одну за другой. При работе с таким файлом не получится перескочить сразу к нужной части данных, сначала придется прочитать все предыдущие.\nПри работе с файлом с прямым или произвольным доступом можно перескочить непосредственно к любой порции данных, не читая предыдущие. Как проигрыватель компакт-дисков или МР3-плеер перескакивает сразу к любой песне.\nКодировка файлов #\rКодировка UTF-8 самая распространенная, рекомендуется использовать именно ее в качестве кодировки по умолчанию для текстовых файлов. Она довольно сложная, и на кодирование одного символа может уходить до 6 байт.\nВ операционной системе Windows до сих пор используется однобайтовая кодировка Windows-1251. Чтобы избежать проблем при работе с текстовыми файлами в Windows нужно явно указывать кодировку.\nРабота с текстовыми файлами #\rОткрытие файла #\rФункция open() открывает файлы в Python. Она создает файловый объект и связывает его с файлом на диске.\nФормат применения: файловая_переменная = open(имя_файла, режим_доступа), где файловая_переменная – имя переменной, которая ссылается на файловый объект (такую переменную называют дескриптор файла); имя_файла – строковый литерал/ключ, задающий имя файла; режим_доступа – строковый литерал/ключ, задающий режим доступа.\nКлючи режима доступа:\nКлюч Режим Примечание 'r' Чтение В этом режиме файл не изменить 'w' Запись Если файл уже существует, содержимое стирается 'a' Добавление Открывает для записи. Добавляет данные в конец файла. Если файла не существует, он будет создан 'r+' Чтение и запись Частичная перезапись содержимого файла 'x' Создание Если файл существует, произойдёт ошибка Ключи режима обработки файлов:\nКлюч Режим 't' Тектовый 'b' Бинарный Чтобы открыть бинарный файл для чтения, можно воспользоваться следующим кодом: file = open('file.dat', 'rb').\nПо умолчанию режим доступа определён для чтения, поэтому, к примеру, файл students.txt можно открыть для чтения так: student_file = open('students.txt').\nАналогично, по умолчанию режим обработки определён как текстовый.\nПредположим, надо создать файл с именем sales.txt и записать в него данные о продажах. Это можно сделать так: sales_file = open('sales.txt', 'w')\nУказание места расположения файла #\rКогда в open() передается имя файла без указания пути, интерпретатор Python исходит из предположения, что место расположения файла то же, что у исполняемой программы (используется относительный путь).\nЕсли же требуется указать путь, то это можно сделать так: test_file = open('C:\\\\Users\\\\temp\\\\test.txt', 'w'). При этом вместо экранирования символа \\ можно воспользоваться \u0026ldquo;raw strings\u0026rdquo;: test_file = open(r'C:\\Users\\temp\\test.txt', 'w').\nКодировка #\rПри открытии файлов следует указывать его кодировку. Например, если открывается файл на русском языке, нужно использовать параметр encoding: file = open('info.txt', 'r', encoding='utf-8').\nЧтобы получить кодировку уже открытого файла, используют файловое свойство encoding:\nfile1 = open(\u0026#39;students.txt\u0026#39;, \u0026#39;w\u0026#39;) file2 = open(\u0026#39;customers.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) print(file1.encoding) print(file2.encoding) file1.close() file2.close() # Вывод: cp1252 utf-8 Закрытие файлов #\rПосле окончания работы с файлом его необходимо закрыть по следующим причинам:\nесли файл изменялся, это позволит корректно его сохранить; если открытый файл потребуется другим программам, программа на Python может его блокировать; не стоит держать в памяти лишние, уже не нужные, данные; удалить открытый кем-то файл проблематично. Для закрытия файла используется метод close():\nfile = open(\u0026#39;info.txt\u0026#39;, \u0026#39;r\u0026#39;) file.close() Чтобы проверить открыт файл или закрыт можно использовать файловое свойство (атрибут) closed:\nfile1 = open(\u0026#39;students.txt\u0026#39;, \u0026#39;w\u0026#39;) file2 = open(\u0026#39;customers.txt\u0026#39;, \u0026#39;w\u0026#39;) file1.close() print(file1.closed) print(file2.closed) file2.close() # Вывод: True False Чтение файлов #\rДля чтения содержимого открытого для чтения файла используются три файловых метода:\nread() – читает все содержимое файла; readline() – читает одну строку из файла; readlines() – читает все содержимое файла и возвращает список строк. Предположим, в папке с исполняемой программой есть текстовый файл languages.txt с содержимым:\nPython Java Javascript C# C C++ PHP R Objective-C Метод read() #\rread() считывает все содержимое из файла и возвращает строку, которая может содержать символы перехода на новую строку '\\n'. Приведённый ниже код считывает содержимое файла languages.txt в переменную content. В котороый будет содержаться строка 'Python\\nJava\\nJavascript\\nC#\\nC\\nC++\\nPHP\\nR\\nObjective-C'.\nПри этом, если методу read() передать целочисленный параметр, то будет считано не более заданного количества символов. Например, считывать файл посимвольно можно при помощи метода read(1).\nМетод readline() #\rreadline() считывает одну строку из файла (до символа конца строки '\\n'), при этом возвращается считанная строка вместе с символом '\\n'. Если считать строку не удалось – достигнут конец файла и больше строк в нем нет, возвращается пустая строка.\nЭтот метод удобен, когда нужно управлять процессом чтения из файла, особенно если файл очень большой и его полное считывание может привести к нехватке памяти.\nЧтобы прочитать содержимое всего файла построчно, можно вопспользоваться циклами while или for (второй предпочтительнее). Сам же файл позволяет итерироваться по строкам, поэтому его можно использовать в качестве аргументов функции map(), к примеру, или перебрать его строки в цикле, не объявляя отдельную переменную с содержимым файла:\nfile = open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) for line in file: print(line.strip()) file.close() Метод readlines() #\rreadlines() считывает все строки из файла и возвращает список из всех считанных строк (одна строка – один элемент списка). При этом, каждая строка в списке заканчивается символом переноса строки '\\n'.\nЧтобы удалить символ '\\n' можно использовать списочное выржение, лямбда-функцию или функцию map(): languages = list(map(str.strip, file.readlines()))\nЕсли передать в функцию list() ссылку на файловый объект list(file), получим тот же результат, что при вызове метода file.readlines().\nКурсор в файле #\rВызов методов read(), readlines(), readline() перемещает текущую позицию (курсор) туда, где завершилось чтение. Для методов read() и readlines() это конец файла, для метода readline() – следующая строка после прочитанной.\nПосле завершения чтения всего файла не получится считать ни одного символа. Все последующие вызовы методов read() или readline() будут приводить к считыванию пустой строки.\nДля повторного чтения данных из файла, можно:\nпереоткрыть файл, тогда курсор снова попадёт в начало; переместить курсор с помощью файлового метода seek(). Файловые методы seek() и tell() #\rseek() задаёт позицию курсора в байтах от начала файла. Чтобы перевести курсор в самое начало файла необходимо вызвать метод seek(), передав ему в качестве аргумента значение 0.\nПусть есть файл languages.txt:\nPython Java Javascript C# C++ PHP R Objective-C Тогда приведённый ниже код даст одинаковый вывод Python:\nfile = open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) line1 = file.readline() file.seek(0) # переводим курсор в самое начало line2 = file.readline() print(line1, line2) file.close() Метод tell() возвращает позицию курсора в байтах от начала файла:\nfile = open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) print(file.tell()) line1 = file.readline() print(file.tell()) file.close() # Вывод: 0 8 Менеджер контекста #\rЧтобы автоматически закрывать файл сразу после окончания работы с ним и осуществлять закрытие даже при возникновении ошибки, можно воспользоваться менеджером контекстов.\nМенеджер контекста – объект, реализующий одноименный протокол. Объекты, реализующие этот протокол, позволяют использовать следующий специальный синтаксис:\nwith object as name: # Здесь нам доступен ресурс name. # Это тело with-блока. # А здесь ресурс name уже освобождён, даже если в теле with-блока произошла ошибка. Весь код в теле with-блока работает \u0026ldquo;в контексте\u0026rdquo;. Чаще всего контекст подразумевает выделение некоего ресурса, например, файла. По выходу из контекста ресурс автоматически освобождается, даже если при выполнении блока возникло исключение. Как только закончится код, оформленный с отступами в with, это будет означать, что контекст закончился, и Python автоматически закроет файл.\nСледующие два блока кода эквиваленты по результату выполнения:\nfile = open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) for line in file: print(line) file.close() # ручное закрытие файла print(\u0026#39;Файл закрыт\u0026#39;) with open(\u0026#39;languages.txt\u0026#39;, \u0026#39;r\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: for line in file: print(line) # автоматическое закрытие файла print(\u0026#39;Файл закрыт\u0026#39;) С помощью менеджера контекста можно работать с несколькими файлами:\nwith open(\u0026#39;input.txt\u0026#39;, \u0026#39;r\u0026#39;) as input_file, open(\u0026#39;output.txt\u0026#39;, \u0026#39;w\u0026#39;) as output_file: # обработка файлов Запись данных в файл #\rДля записи используются два файловых метода (файл должен быть открыт для записи – режимы 'w', 'а', 'r+', иначе произойдет ошибка):\nwrite() – записывает переданную строку в файл; writelines() – записывает переданный список строк в файл. Метод write() #\rРассмотрим текcтовый файл myfile.txt, содержащий следующие строки:\nFirst line of the file. Second line of the file. Third line of the file. Если файл открыт в режиме 'w', то его содержимое сначала полностью стирается, а уже затем в него добавляются данные:\nwith open(\u0026#39;myfile.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: file.write(\u0026#39;Python and beegeek forever\\n\u0026#39;) file.write(\u0026#39;We love stepik \u0026lt;3\u0026#39;) # Файл myfile.txt будет содержать следующее: # Python and beegeek forever # We love stepik \u0026lt;3 Если файл открыт в режиме 'a', то запись происходит в самый конец файла (результат очевиден).\nЕсли файл открыт в режиме 'r+', то происходит частичная перезапись его содержимого:\nwith open(\u0026#39;myfile.txt\u0026#39;, \u0026#39;r+\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: file.write(\u0026#39;Python and beegeek forever\\n\u0026#39;) file.write(\u0026#39;We love stepik.\u0026#39;) # Файл myfile.txt будет содержать следующее: # Python and beegeek forever # We love stepik. file. # Third line of the file. Последовательные вызовы метода write() дописывают текст в конец файла. Приведенный ниже код создает файл philosophers.txt и записывает в него три строки текста:\nwith open(\u0026#39;philosophers.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: file.write(\u0026#39;Джoн Локк\\n\u0026#39;) file.write(\u0026#39;Дэвид Хьюм\\n\u0026#39;) file.write(\u0026#39;Эдмyнд Берк\\n\u0026#39;) Метод writelines() #\rНа практике часто приходится записывать в файл содержимое целого списка. Это можно сделать с помощью цикла или метода writelines(), что удобнее. Метод writelines() принимает в качестве аргумента список строк и записывает его в файл.\nПриведенный ниже код создает файл philosophers.txt и записывает в него содержимое списка philosophers:\nphilosophers = [\u0026#39;Джoн Локк\\n\u0026#39;, \u0026#39;Дэвид Хьюм\\n\u0026#39;, \u0026#39;Эдмyнд Берк\\n\u0026#39;] with open(\u0026#39;philosophers.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as file: file.writelines(philosophers) Запись в файл при помощи функции print() #\rДля записи данных в файл можно также использовать встроенную функцию print(). Для этого нужно передать ей еще один именованный аргумент file, указывающий на открытый файл. При этом функция print() автоматически добавляет переход на новую строку:\nwith open(\u0026#39;philosophers.txt\u0026#39;, \u0026#39;w\u0026#39;, encoding=\u0026#39;utf-8\u0026#39;) as output: print(\u0026#39;Джoн Локк\u0026#39;, file=output) print(\u0026#39;Дэвид Хьюм\u0026#39;, file=output) print(\u0026#39;Эдмyнд Берк\u0026#39;, file=output) # Файл будет содержать: # Джoн Локк # Дэвид Хьюм # Эдмyнд Берк Немного про буфер #\rВ некоторых операционных системах невыполнение операции закрытия файла может привести к потере данных. Данные сначала пишутся в буфер – небольшую область временного хранения в оперативной памяти. Когда буфер заполняется, система записывает его содержимое в файл. Это увеличивает производительность системы, потому что запись данных в оперативную память быстрее записи на диск. Процесс закрытия файла записывает любые несохраненные данные из буфера в файл. Чтобы принудительно записать содержимое буфера в файл, используется файловый метод flush().\n","date":"17 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/work_with_files/","section":"Конспекты","summary":"Управление текстовыми и бинарными файлами в языке программирования Python\rПрограммы, которые мы писали до сих пор, требовали повторного ввода данных при каждом запуске, потому что, как только программа заканчивает свою работу, данные для переменных исчезают из оперативной памяти.","title":"Работа с txt файлами в Python","type":"posts"},{"content":"","date":"16 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/functions/","section":"Tags","summary":"","title":"Functions","type":"tags"},{"content":"\rВторая часть функций в Python (первую может выложу, может и нет). Типы аргументов, некоторые встроенные функции и lambda-функции.\rНеобязательные и именованные аргументы #\rПозиционные аргументы #\rКогда мы вызываем функции c позиционными аргументами, значения в них подставляются согласно позиции их имен в определении функции. Например код ниже выведет число 7. При вызове функции diff() первому параметру x будет соответствовать первый переданный аргумент – 10, а второму параметру y – второй аргумент – 3.\ndef diff(x, y): return x - y res = diff(10, 3) # используем позиционные аргументы print(res) Именованные аргументы #\rАргументы, передаваемые с именами, называются именованными. Чтобы передать именованные аргументы в функцию, нужно указать их имена, которые были заданы при объявлении функции:\ndef bar(length, char1, char2): return (char1 + char2) * length + char1 print(bar(length=3, char1=\u0026#39;-\u0026#39;, char2=\u0026#39;*\u0026#39;)) # =\u0026gt; -*-*-*- print(bar(char1=\u0026#39;-\u0026#39;, char2=\u0026#39;*\u0026#39;, length=3)) # =\u0026gt; -*-*-*- print(bar(char2=\u0026#39;*\u0026#39;, length=3, char1=\u0026#39;-\u0026#39;)) # =\u0026gt; -*-*-*- При вызове функции меняется порядок передаваемых аргументов. Когда функции назначаются соответствующие значения именованных аргументов, Python учитывает их имена, а не позиции. В результате функция будет всегда выводить одно и то же значение независимо от позиций переданных ей аргументов.\nРекомендация по тому, когда стоит использовать именованные аргументы: если функция принимает больше трёх аргументов, нужно хотя бы часть из них указать по имени.\rdef make_circle(x, y, radius, line_width, fill): # тело функции make_circle(x=200, y=300, radius=17, line_width=2.5, fill=True) Мы можем вызывать функции, используя именованные и позиционные аргументы одновременно. Но позиционные значения должны быть указаны до любых именованных!\rНеобязательные аргументы #\rБывает, что какой-то параметр функции часто принимает одно и то же значение. Например, для функции print() установили значения параметров sep и end равными символу пробела и символу перевода строки, поскольку эти значения используют наиболее часто.\nДругим примером служит функция int(), преобразующая строку в число. Она принимает два аргумента: первый аргумент – строка, которую нужно преобразовать в число, второй аргумент – основание системы счисления, значение по умолчению которого равно 10.\nЧтобы задать значение параметра по умолчанию, в списке параметров функции достаточно после имени переменной написать знак равенства и нужное значение.\nПараметры со значением по умолчанию идут последними.\nИзменяемые типы данных в качестве занчений по умолчанию #\rРассмотрим определение функции append(), где в качестве значения по умолчанию используется изменяемый тип данных:\ndef append(element, seq=[]): seq.append(element) return seq Если вызвать функцию так, то мы получим неожиданный результат:\nprint(append(10)) print(append(5)) print(append(1)) # Вывод:\r[10]\r[10, 5]\r[10, 5, 1] Значение по умолчанию для параметра создается единожды при определении функции (обычно при загрузке модуля) и становится её атрибутом (свойством). Поэтому, если значение по умолчанию изменяемый объект, то его изменение повлияет на каждый следующий вызов функции.\nДля решения проблемы можно использовать константу None в качестве значения параметра по умолчанию, а в теле функции устанавливать нужное значение:\ndef append(element, seq=None): if seq is None: seq = [] seq.append(element) return seq print(append(10)) print(append(5)) print(append(1)) # Вывод:\r[10]\r[5]\r[1] Функции с переменным количеством аргументов #\rПозиционные аргументы – *args #\rРассмотрим определение функции my_func():\ndef my_func(*args): print(type(args)) print(args) my_func() my_func(1, 2, 3) my_func(\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;) # Вывод:\r\u0026lt;class \u0026#39;tuple\u0026#39;\u0026gt;\r()\r\u0026lt;class \u0026#39;tuple\u0026#39;\u0026gt;\r(1, 2, 3)\r\u0026lt;class \u0026#39;tuple\u0026#39;\u0026gt;\r(\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;) В заголовке функции my_func() указан всего один параметр args, но со звездочкой перед ним. Звездочка в определении функции означает, что переменная (параметр) args получит в виде кортежа все аргументы, переданные в функцию при ее вызове от текущей позиции и до конца. При описании функции можно использовать только один параметр помеченный звездочкой, причем располагаться он должен в конце списка параметров, иначе последующим параметрам не достанется значений. Параметр со звёздочкой работает, даже если не передать аргументов. Если мы хотим просуммировать несколько разных значений, не упаковывая их в список, можем написать следующую функцию (списки и кортежи при вызове нужно распаковывать):\ndef my_sum(*args): return sum(args) print(my_sum(1, 2, *[3, 4, 5], *(7, 8, 9), 10)) # Вывод: 49 Именованные аргументы – **kwargs #\rdef my_func(**kwargs): print(type(kwargs)) print(kwargs) my_func() my_func(a=1, b=2) my_func(name=\u0026#39;Timur\u0026#39;, job=\u0026#39;Teacher\u0026#39;) # Вывод:\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt;\r{}\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt;\r{\u0026#39;a\u0026#39;: 1, \u0026#39;b\u0026#39;: 2}\r\u0026lt;class \u0026#39;dict\u0026#39;\u0026gt;\r{\u0026#39;name\u0026#39;: \u0026#39;Timur\u0026#39;, \u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;} Именованные аргументы получаются в виде словаря, что позволяет сохранить имена аргументов в ключах. Именованные аргументы можно передавать в функцию \u0026ldquo;пачкой\u0026rdquo; в виде словаря. Для этого нужно перед словарём поставить две звёздочки. Параметр **kwargs пишется в самом конце, после последнего аргумента со значением по умолчанию. При этом функция может содержать и *args и **kwargs параметры: def my_func(a, b, *args, name=\u0026#39;Gvido\u0026#39;, age=17, **kwargs): print(a, b) print(args) print(name, age) print(kwargs) my_func(1, 2, 3, 4, name=\u0026#39;Timur\u0026#39;, age=28, job=\u0026#39;Teacher\u0026#39;, language=\u0026#39;Python\u0026#39;) my_func(1, 2, name=\u0026#39;Timur\u0026#39;, age=28, job=\u0026#39;Teacher\u0026#39;, language=\u0026#39;Python\u0026#39;) my_func(1, 2, 3, 4, job=\u0026#39;Teacher\u0026#39;, language=\u0026#39;Python\u0026#39;) # Вывод:\r1 2\r(3, 4)\rTimur 28\r{\u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;, \u0026#39;language\u0026#39;: \u0026#39;Python\u0026#39;}\r1 2\r()\rTimur 28\r{\u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;, \u0026#39;language\u0026#39;: \u0026#39;Python\u0026#39;}\r1 2\r(3, 4)\rGvido 17\r{\u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;, \u0026#39;language\u0026#39;: \u0026#39;Python\u0026#39;} Keyword-only аргументы #\rВ Python 3 добавили возможность пометить именованные аргументы функции так, чтобы вызвать функцию можно было, только передав эти аргументы по именам. Такие аргументы называются keyword-only и их нельзя передать в функцию в виде позиционных:\ndef make_circle(x, y, radius, *, line_width=1, fill=True): #код make_circle(10, 20, 5) # x=10, y=20, radius=5, line_width=1, fill=True make_circle(x=10, y=20, radius=7) # x=10, y=20, radius=7, line_width=1, fill=True make_circle(10, 20, radius=10, line_width=2, fill=False) # x=10, y=20, radius=10, line_width=2, fill=False make_circle(x=10, y=20, radius=17, line_width=3) # x=10, y=20, radius=17, line_width=3, fill=True Здесь * выступает разделителем: отделяет обычные аргументы (их можно указывать по имени и позиционно) от строго именованных.\nТо есть аргументы x, y и radius могут быть переданы в качестве как позиционных, так и именованных аргументов. При этом аргументы line_width и fill могут быть переданы только как именованные аргументы.\nТакой разделитель можно использовать только один раз в определении функции. Его нельзя применять в функциях с неограниченным количеством позиционных аргументов *args.\nФункции как объекты #\rВстроенные функции имеют следующий тип объекта:\nprint(type(print)) # \u0026lt;class \u0026#39;builtin_function_or_method\u0026#39;\u0026gt; Тогда как функции, объявленные программистом, имеют тип \u0026lt;class 'function'\u0026gt;.\nПоскольку функции тоже объекты, работать с ними можно и как с объектами: записывать их в переменные, передавать в качестве аргументов другим функциям, возвращать из функций и т.д.\ndef hello(): print(\u0026#39;Hello from function\u0026#39;) func = hello # присваиваем переменной func функцию hello func() # вызываем функцию # Вывод: Hello from function writeln = print writeln(\u0026#39;Hello world!\u0026#39;) writeln(\u0026#39;Python\u0026#39;) # Вывод:\rHello world!\rPython Присваивание переменной списка функций:\ndef f(x): return x**2 def g(x): return x**3 funcs = [f, g] print(funcs[0](5), funcs[1](5)) # Вывод: 25 125 Функции, способные в качестве аргумента принимать или/и возвращать другие функции, называются функциями высшего порядка.\nФункция, определяющая условия сравнения элементов, называется компаратор.\rТакие встроенные функции, как min(), max(), sorted() могут принимать необязательный аргумент key – функцию, определяющую, по какому правилу будут сравниваться элементы (значение key должно быть функцией, принимающей один аргумент и возвращающей на его основе ключ для сравнения).\nnumbers = [10, -7, 8, -100, -50, 32, 87, 117, -210] print(max(numbers, key=abs)) print(min(numbers, key=abs)) print(sorted(numbers, key=abs)) # Вывод:\r-210 # максимальный по модулю элемент\r-7 # минимальный по модулю элемент\r[-7, 8, 10, 32, -50, 87, -100, 117, -210] def compare_by_second(point): return point[1] def compare_by_sum(point): return point[0] + point[1] points = [(1, -1), (2, 3), (-10, 15), (10, 9), (7, 18), (1, 5), (2, -4)] print(sorted(points, key=compare_by_second)) # сортируем по второму значению кортежа print(sorted(points, key=compare_by_sum)) # сортируем по сумме кортежа Функции в качестве возвращаемых значений других функций #\rВ Python можно определять функцию внутри функции, ведь функция это объект:\ndef generator(): def hello(): print(\u0026#39;Hello from function!\u0026#39;) return hello func = generator() func() # Вывод: Hello from function! Мы можем написать генератор функций, который по параметрам a,b,c, построит и вернет нам конкретный квадратный трехчлен:\ndef generator_square_polynom(a, b, c): def square_polynom(x): return a * x**2 + b * x + c return square_polynom f = generator_square_polynom(a=1, b=2, c=1) g = generator_square_polynom(a=2, b=0, c=-3) h = generator_square_polynom(a=-3, b=-10, c=50) print(f(1)) print(g(2)) print(h(-1)) # Вывод:\r4\r5\r57 Вложенную функцию (square_polynom()), которая использует параметры внешней функции (generator_square_polynom()), называют замыканием.\nФункции высшего порядка #\rФункции, которые принимают и/или возвращают другие функции, называются функциями высшего порядка.\nФункция map() #\rФункция, преобразующая каждый элемент переданного итерируемого объекта (можно воспринимать как классическое представление функции в математике – отображение множества в другое множество).\nВозможная реализация:\ndef map(function, items): result = [] for item in items: new_item = function(item) result.append(new_item) return result Мы можем совершать преобразования, используя функцию высшего порядка map():\ndef square(x): return x**2 def cube(x): return x**3 numbers = [1, 2, -3, 4, -5, 6, -9, 0] strings = map(str, numbers) # используем в качестве преобразователя функцию str abs_numbers = map(abs, numbers) # используем в качестве преобразователя функцию abs squares = map(square, numbers) # используем в качестве преобразователя функцию square cubes = map(cube, numbers) # используем в качестве преобразователя функцию cube print(strings) print(abs_numbers) print(squares) print(cubes) # Вывод:\r[\u0026#39;1\u0026#39;, \u0026#39;2\u0026#39;, \u0026#39;-3\u0026#39;, \u0026#39;4\u0026#39;, \u0026#39;-5\u0026#39;, \u0026#39;6\u0026#39;, \u0026#39;-9\u0026#39;, \u0026#39;0\u0026#39;]\r[1, 2, 3, 4, 5, 6, 9, 0]\r[1, 4, 9, 16, 25, 36, 81, 0]\r[1, 8, -27, 64, -125, 216, -729, 0] Мы также можем строить цепочки преобразований, несколько раз вызывая функцию map() (сначала мы преобразуем список строк в список чисел, затем находим их модуль внешней функцией map()):\nnumbers = [\u0026#39;-1\u0026#39;, \u0026#39;20\u0026#39;, \u0026#39;3\u0026#39;, \u0026#39;-94\u0026#39;, \u0026#39;65\u0026#39;, \u0026#39;6\u0026#39;, \u0026#39;-970\u0026#39;, \u0026#39;8\u0026#39;] new_numbers = map(abs, map(int, numbers)) print(new_numbers) # Вывод: [1, 20, 3, 94, 65, 6, 970, 8] Функция filter() #\rЭта функция отображает часть элементов итерируемого объекта по определённому критерию.\nВозможная реализация:\ndef filter(function, items): result = [] for item in items: if function(item): result.append(item) # добавляем элемент item если функция function вернула значение True return result Функция filter() применяет предикат function к каждому элементу и добавляет в итоговый список только те элементы, для которых предикат вернул True.\ndef is_odd(num): return num % 2 def is_word_long(word): return len(word) \u0026gt; 6 numbers = list(range(15)) words = [\u0026#39;В\u0026#39;, \u0026#39;новом\u0026#39;, \u0026#39;списке\u0026#39;, \u0026#39;останутся\u0026#39;, \u0026#39;только\u0026#39;, \u0026#39;длинные\u0026#39;, \u0026#39;слова\u0026#39;] odd_numbers = filter(is_odd, numbers) large_words = filter(is_word_long, words) print(odd_numbers) print(large_words) # Вывод:\r[1, 3, 5, 7, 9, 11, 13]\r[\u0026#39;останутся\u0026#39;, \u0026#39;длинные\u0026#39;] Функция reduce() #\rФункция, применяющая указанную функцию к элементам последовательности, сводя её к единственному значению.\nВозможная реализация:\ndef reduce(operation, items, initial_value): acc = initial_value for item in items: acc = operation(acc, item) return acc def add(x, y): return x+y def mult(x, y): return x*y numbers = [1, 2, 3, 4, 5] total = reduce(add, numbers, 0) product = reduce(mult, numbers, 1) print(total) print(product) # Вывод:\r15\r120 Встроенные функции map(), filter(), reduce() #\rВстроенная функция map() #\rФункция, применяющая другую функцию к итерируемому объекту. Имеет сигнатуру map(func, *iterables). В отличии от нашей реализации она может принимать сразу несколько последовательностей, переменное количество аргументов. Под подследовательностями имеются ввиду списки, строки, кортежи, множества, словари.\ndef increase(num): return num + 7 numbers = [1, 2, 3, 4, 5, 6] new_numbers = map(increase, numbers) # используем встроенную функцию map() print(new_numbers) # Вывод: \u0026lt;map object at 0x...\u0026gt; Вернулся итерируемый объект \u0026lt;map object at 0x...\u0026gt;. Подобные ему объекты называются итераторами. Если мы хотим получить список/кортеж из итератора, нужно воспользоваться функцией list()/tuple(), а если распкаовать, то * (при этом сделать эти действия возможно только единожды, т.к. итератор \u0026ldquo;исчерпывает\u0026rdquo; себя).\nФункции map() можно передать несколько последовательностей. В этом случае в функцию обратного вызова func будут передаваться сразу несколько элементов, расположенных в последовательностях на одинаковых позициях. При этом, если в последовательностях разное количество элементов, то последовательность с минимальным количеством элементов становится ограничителем.\ndef func(elem1, elem2, elem3): return elem1 + elem2 + elem3 numbers1 = [1, 2, 3, 4, 5] numbers2 = [10, 20, 30, 40, 50] numbers3 = [100, 200, 300, 400, 500] new_numbers = list(map(func, numbers1, numbers2, numbers3)) # преобразуем итератор в список print(new_numbers) # Вывод: [111, 222, 333, 444, 555] Пример удобного использования функции map(), которой передано две последовательности:\ncircle_areas = [3.56773, 5.57668, 4.31914, 6.20241, 91.01344, 32.01213] result1 = list(map(round, circle_areas, [1]*6)) # округляем числа до 1 знака после запятой result2 = list(map(round, circle_areas, range(1, 7))) # округляем числа до 1,2,...,6 знаков после запятой print(circle_areas) print(result1) print(result2) # Вывод:\r[3.56773, 5.57668, 4.31914, 6.20241, 91.01344, 32.01213]\r[3.6, 5.6, 4.3, 6.2, 91.0, 32.0]\r[3.6, 5.58, 4.319, 6.2024, 91.01344, 32.01213] Встроенная функция filter() #\rФункция отображает часть элементов итерируемого объекта по определённому критерию. Имеет сигнатуру filter(func, iterable). В отличии от нашей реализации она может принимать любой итерируемый объект (список, строку, кортеж, и т.д.).\ndef func(elem): return elem \u0026gt;= 0 numbers = [-1, 2, -3, 4, 0, -20, 10] positive_numbers = list(filter(func, numbers)) # преобразуем итератор в список print(positive_numbers) # Вывод: [2, 4, 0, 10] Функция filter() также возвращает итератор.\nВстроенной функции filter() можно в качестве первого параметра func передать значение None. В таком случае каждый элемент последовательности будет проверен на соответствие значению True. Если элемент в логическом контексте возвращает значение False, то он не будет добавлен в возвращаемый результат. В следующем коде значения списка [0, '', None, [], ()] позиционируется как False:\ntrue_values = filter(None, [1, 0, 10, \u0026#39;\u0026#39;, None, [], [1, 2, 3], ()]) for value in true_values: print(value) # Вывод:\r1\r10\r[1, 2, 3] Функция reduce() #\rДля использования: from functools import reduce.\nФункция, применяющая указанную функцию к элементам последовательности, сводя её к единственному значению. Имеет сигнатуру reduce(func, iterable, initializer=None). Если начальное значение не установлено, то в его качестве используется первое значение из последовательности iterable.\nfrom functools import reduce def func(a, b): return a + b numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] total = reduce(func, numbers, 0) # в качестве начального значения 0 print(total) # Вывод: 55 Анонимные функции #\rlambda – безымянные однострочные функции (называются анонимными или лямбда-функциями). По сути эти функции являются выражениями, при этом они имеют такой же тип данных, как обычные функции – \u0026lt;class 'function'\u0026gt;. После определения их можно сразу вызвать: print((lambda х, у: х + у)(5, 10)) # 5 + 10. Общий формат определения: lambda список_параметров: выражение. В теле лямбда-функции нельзя использовать несколько действий и циклы, но можно использовать тернарный условный оператор. Применение таких функций оправдано в следующих случаях:\nоднократное использование функции; передача функций в качестве аргумента другим функциям; возвращение функции в качестве результата другой функции. def standard_function(x): # стандартное объявление функции return x*2 lambda_function = lambda x: x*2 # объявление анонимной функции print(standard_function(7)) print(lambda_function(7)) # Вывод:\r14\r14 f1 = lambda: 10 + 20 # функция без параметров f2 = lambda х, у: х + у # функция с двумя параметрами f3 = lambda х, у, z: х + у + z # функция с тремя параметрами print(f1()) print(f2(5, 10)) print(f3(5, 10, 30)) Лямбда-функции для нетипичной сортировки кортежей:\npoints = [(1, -1), (2, 3), (-10, 15), (10, 9), (7, 18), (1, 5), (2, -4)] print(sorted(points, key=lambda point: point[1])) # сортируем по второму значению кортежа print(sorted(points, key=lambda point: point[0] + point[1])) # сортируем по сумме элементов кортежа Передача лямбда-функций в качестве аргументов #\rФункция map(): numbers = [1, 2, 3, 4, 5, 6] new_numbers1 = list(map(lambda x: x+1, numbers)) # увеличиваем на 1 new_numbers2 = list(map(lambda x: x*2, numbers)) # удваиваем new_numbers3 = list(map(lambda x: x**2, numbers)) # возводим в квадрат strings = [\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;c\u0026#39;, \u0026#39;d\u0026#39;, \u0026#39;e\u0026#39;] numbers = [3, 2, 1, 4, 5] new_strings = list(map(lambda x, y: x*y, strings, numbers)) Функция filter(): numbers = [-1, 2, -3, 4, 0, -20, 10, 30, -40, 50, 100, 90] positive_numbers = list(filter(lambda x: x \u0026gt; 0, numbers)) # положительные числа large_numbers = list(filter(lambda x: x \u0026gt; 50, numbers)) # числа, большие 50 even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) # четные числа words = [\u0026#39;python\u0026#39;, \u0026#39;stepik\u0026#39;, \u0026#39;beegeek\u0026#39;, \u0026#39;iq-option\u0026#39;] new_words1 = list(filter(lambda w: len(w) \u0026gt; 6, words)) # слова длиною больше 6 символов new_words2 = list(filter(lambda w: \u0026#39;e\u0026#39; in w, words)) # слова содержащие букву e Функция reduce(): from functools import reduce words = [\u0026#39;python\u0026#39;, \u0026#39;stepik\u0026#39;, \u0026#39;beegeek\u0026#39;, \u0026#39;iq-option\u0026#39;] numbers = [1, 2, 3, 4, 5, 6] summa = reduce(lambda x, y: x + y, numbers, 0) product = reduce(lambda x, y: x * y, numbers, 1) sentence = reduce(lambda x, y: x + \u0026#39; loves \u0026#39; + y, words, \u0026#39;Everyone\u0026#39;) # Вывод:\r21\r720\rEveryone loves python loves stepik loves beegeek loves iq-option Возвращение лямбда-функции в качестве результата другой функции #\rСледующий пример показывает, что анонимные функции являются замыканиями, т.е. возвращаемая функция запоминает значения переменных a, b, c из внешнего окружения:\ndef generator_square_polynom(a, b, c): return lambda x: a*x**2 + b*x + c Условный оператор в теле лямбда-функции #\rОбщий вид: значение1 if условие else значение2.\nnumbers = [-2, 0, 1, 2, 17, 4, 5, 6] result = list(map(lambda x: \u0026#39;even\u0026#39; if x % 2 == 0 else \u0026#39;odd\u0026#39;, numbers)) print(result) # Вывод: [\u0026#39;even\u0026#39;, \u0026#39;even\u0026#39;, \u0026#39;odd\u0026#39;, \u0026#39;even\u0026#39;, \u0026#39;odd\u0026#39;, \u0026#39;even\u0026#39;, \u0026#39;odd\u0026#39;, \u0026#39;even\u0026#39;] Передача аргументов в анонимную функцию #\rАнонимные функции поддерживают все способы передачи аргументов:\nпозиционные; именованные; *args – переменный список позиционных аргументов; **kwargs – переменный список именованных аргументов; * – обязательные аргументы. f1 = lambda x, y, z: x + y + z f2 = lambda x, y, z=3: x + y + z f3 = lambda *args: sum(args) f4 = lambda **kwargs: sum(kwargs.values()) f5 = lambda x, *, y=0, z=0: x + y + z print(f1(1, 2, 3)) print(f2(1, 2)) print(f2(1, y=2)) print(f3(1, 2, 3, 4, 5)) print(f4(one=1, two=2, three=3)) print(f5(1)) print(f5(1, y=2, z=3)) # Вывод:\r6\r6\r6\r15\r6\r1\r6 Функции any(), all(), zip(), enumerate() #\rФункция all() #\rВстроенная функция all() возвращает значение True, если все элементы переданной ей коллекции истинны, и False в противном случае. При работе со словарями функция all() проверяет на соответствие параметрам True ключи словаря.\nprint(all([1, 2, 3])) print(all([1, 2, 3, 0, 5])) print(all([True, 0, 1])) print(all((\u0026#39;\u0026#39;, \u0026#39;red\u0026#39;, \u0026#39;green\u0026#39;))) print(all({0j, 3+4j})) print() dict1 = {0: \u0026#39;Zero\u0026#39;, 1: \u0026#39;One\u0026#39;, 2: \u0026#39;Two\u0026#39;} dict2 = {\u0026#39;Zero\u0026#39;: 0, \u0026#39;One\u0026#39;: 1, \u0026#39;Two\u0026#39;: 2} print(all(dict1)) print(all(dict2)) # Вывод:\rTrue\rFalse\rFalse\rFalse\rFalse\rFalse\rTrue Если переданный итерируемый объект пуст, то функция all() возвращает значение True.\nprint(all([])) # передаем пустой список print(all(())) # передаем пустой кортеж print(all(\u0026#39;\u0026#39;)) # передаем пустую строку print(all([[], []])) # передаем список, содержащий пустые списки # Вывод:\rTrue\rTrue\rTrue\rFalse Функция any() #\rВстроенная функция any() возвращает значение True, если хотя бы один элемент переданной ей коллекции является истинным, и False в противном случае. При работе со словарями функция any() проверяет на соответствие True ключи словаря.\nprint(any([0, 0, 0])) print(any([0, 1, 0])) print(any([False, 0, 1])) print(any([\u0026#39;\u0026#39;, [], \u0026#39;green\u0026#39;])) print(any({0j, 3+4j, 0.0})) print() dict1 = {0: \u0026#39;Zero\u0026#39;} dict2 = {\u0026#39;Zero\u0026#39;: 0, \u0026#39;One\u0026#39;: 1} print(any(dict1)) print(any(dict2)) # Вывод:\rFalse\rTrue\rTrue\rTrue\rTrue\rFalse\rTrue Eсли переданный итерируемый объект пуст, то функция any() возвращает значение False.\nprint(any([])) # передаем пустой список print(any(())) # передаем пустой кортеж print(any(\u0026#39;\u0026#39;)) # передаем пустую строку print(any([[], []])) # передаем список, содержащий пустые списки # Вывод:\rFalse\rFalse\rFalse\rFalse Функции all(), any() в связке с map() #\rСледующий код проверяет, все ли элементы списка больше 10:\nnumbers = [17, 90, 78, 56, 231, 45, 5, 89, 91, 11, 19] result = all(map(lambda x: True if x \u0026gt; 10 else False, numbers)) # анонимную функцию можно упростить до lambda x: x \u0026gt; 10 if result: print(\u0026#39;Все числа больше 10\u0026#39;) else: print(\u0026#39;Хотя бы одно число меньше или равно 10\u0026#39;) Следующий код проверяет, чётен ли хотя бы один элемент коллекции:\nnumbers = [17, 91, 78, 55, 231, 45, 5, 89, 99, 11, 19] result = any(map(lambda x: x % 2 == 0, numbers)) if result: print(\u0026#39;Хотя бы одно число четное\u0026#39;) else: print(\u0026#39;Все числа нечетные\u0026#39;) Функция enumerate() #\rВстроенная функция enumerate() возвращает кортеж из индекса элемента и самого элемента переданной ей коллекции: enumerate(iterable, start), где iterable – итерируемый объект (колллекция), а start – необязательный параметр, задающий начальное значение индекса (по умолчанию start = 0). Эта функция возвращает объект-итератор, который можно перебрать, преобразовать в список функцией list() или распаковать *.\ncolors = [\u0026#39;red\u0026#39;, \u0026#39;green\u0026#39;, \u0026#39;blue\u0026#39;] print(list(enumerate(colors, start=1))) # Вывод: [(1, \u0026#39;red\u0026#39;), (2, \u0026#39;green\u0026#39;), (3, \u0026#39;blue\u0026#39;)] Функция zip() #\rВстроенная функция zip() объединяет отдельные элементы из каждой переданной ей коллекции в кортежи. Также возвращает итератор, который можно перебрать, преобразовать или распаковать. Если функции zip() передать итерируемые объекты, имеющие разную длину, то объект с наименьшим количеством элементов определяет итоговую длину.\nnumbers = [1, 2, 3, 4] words = [\u0026#39;one\u0026#39;, \u0026#39;two\u0026#39;] romans = [\u0026#39;I\u0026#39;, \u0026#39;II\u0026#39;, \u0026#39;III\u0026#39;] result = zip(numbers, words, romans) print(list(result)) # Вывод: [(1, \u0026#39;one\u0026#39;, \u0026#39;I\u0026#39;), (2, \u0026#39;two\u0026#39;, \u0026#39;II\u0026#39;)] numbers = [1, 2, 3] words = [\u0026#39;one\u0026#39;, \u0026#39;two\u0026#39;, \u0026#39;three\u0026#39;] romans = [\u0026#39;I\u0026#39;, \u0026#39;II\u0026#39;, \u0026#39;III\u0026#39;] result = zip(numbers, words, romans) print(list(result)) # Вывод: [(1, \u0026#39;one\u0026#39;, \u0026#39;I\u0026#39;), (2, \u0026#39;two\u0026#39;, \u0026#39;II\u0026#39;), (3, \u0026#39;three\u0026#39;, \u0026#39;III\u0026#39;)] Частые случаи использования zip():\nДля создания словарей, если ключи и значения находятся в разных списках: keys = [\u0026#39;name\u0026#39;, \u0026#39;age\u0026#39;, \u0026#39;gender\u0026#39;] values = [\u0026#39;Timur\u0026#39;, 28, \u0026#39;male\u0026#39;] info = dict(zip(keys, values)) print(info) # Вывод: {\u0026#39;name\u0026#39;: \u0026#39;Timur\u0026#39;, \u0026#39;age\u0026#39;: 28, \u0026#39;gender\u0026#39;: \u0026#39;male\u0026#39;} Для параллельного итерирования по разным коллекциям: name = [\u0026#39;Timur\u0026#39;, \u0026#39;Ruslan\u0026#39;, \u0026#39;Rustam\u0026#39;] age = [28, 21, 19] for x, y in zip(name, age): print(x, y) # Вывод:\rTimur 28\rRuslan 21\rRustam 19 ","date":"16 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/functions/","section":"Конспекты","summary":"Вторая часть функций в Python (первую может выложу, может и нет).","title":"Функции в Python","type":"posts"},{"content":"","date":"15 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/turtle/","section":"Tags","summary":"","title":"Turtle","type":"tags"},{"content":"\rГрафическая библиотека, встроенная в язык Python.\rМодуль turtle #\rДля использования: import turtle\nЧтобы открыть графическое окно и держать его активным, нужно использовать следующий код:\nimport turtle window = turtle.Screen() turtle.showturtle() # Какой-нибудь код window.mainloop() # Пишется в конце программы Методы #\rforward(p) – перемещает \u0026ldquo;черепашку\u0026rdquo; вперёд по направлению взгляда на p пикселей; backword(p) – перемещает черепашку назад на p пикселей. left(d) и right(d) поворачивают черепашку влево и вправо соответственно на d градусов; setheading(d) – устанавливает угол d; heading(d) – вдобавок к функционалу setheading() возвращает текущий угол в градусах. circle(p) – рисует круг с радиусом p; dot() – рисует точку; stamp() – оставляет штамп черепашки на графике. shape('name') – изменяет внешний вид черпашки (square, arrow, circle, turtle, triangle, classic); с помощью turtle.Screen().addshape('file') можно установить кастомную черепашку; hideturtle() прячет черепашку; а showturtle() вновь отображает её. speed(n) – устанавливает скорость анимации n, принимающую значения от 0 до 10, при этом 0 отключает анимацию и черепашка перемещается мгновенно. penup() – поднимает перо; а pendown() – опускает его; pensize(p) – устанавливает ширину пера в p пикселей; pencolor('color') – устанавливает цвет пера (если хотим использовать формат RGB, т.е. pencolor(130, 240, 200), то нужно использовать команду turtle.Screen().colormode(255)). turtle.Screen().bgcolor('color') позволяет установить цвет фона (также можно задать RGB формат); с помощью turtle.Screen().bgpic('file') можно установить фоновое изображение. clear() – стирает все в графическом окне (положение черепашки, заданные цвета рисунка и фона остаются неизменными); reset() – стирает рисунки и сбрасывает положение черепашки и заданный цвет рисунка (цвет фона остаётся неизменным); clearscreen() – возвращает экран в исходное состояние. turtle.Screen().setup(w, h) – устанавливает размер окна в ширину w и высоту h в пикселях. goto(x, y) – перемещает черепашку в координаты (x, y) на экране (при опущенном пере линии будут рисоваться); pos() или position() возвращает кортеж координат черепешки; xcor() возвращает только координату по x; а ycor() – по y. ","date":"15 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/turtle/","section":"Конспекты","summary":"Графическая библиотека, встроенная в язык Python.","title":"Черепашья графика","type":"posts"},{"content":"\rТочные числа с плавающей точкой, дроби и комплексные числа. Как с ними работать в Python?\rМодуль decimal #\rДля использования: from decimal import *.\nЕсли мы хотим сравнить два числа float, то нужно воспользоваться кодом ниже вместо обычного сравнения ==, так как существуют ограничения в сохранении точного значения чисел:\nnum = 0.1 + 0.1 + 0.1 eps = 0.000000001 # точность сравнения if abs(num - 0.3) \u0026lt; eps: # число num отличается от числа 0.3 менее чем 0.000000001 print(\u0026#39;YES\u0026#39;) else: print(\u0026#39;NO\u0026#39;) Особенности и характеристики:\nТип данных Decimal - класс из модуля decimal, который тоже представляет собой число с плавающей точкой, и служит для того, чтобы выполнять операции над вещественными числами без ошибок. С ними работают все привычные операции (сложение, умножение и т.д., но не реккомендуется оперировать между Decimal и float), их можно передавать как аргумент в математические функции (при этом вернётся float), их можно сравнивать между собой (также допускается точное равенство), можно формировать списки из Decimal и искать среди них min и max. Тип данных Decimal является неизменяемым. Отличие float и Decimal:\nВ Python тип данных float реализован по стандарту IEEE-754 как число с плавающей точкой двойной точности (64 бита) с основанием экспоненты равным 2. Так как float поддерживается аппаратно, быстродействие при использовании этого типа данных сравнительно велико.\nТип данных Decimal – число с плавающей точкой с основанием экспоненты 10 Он реализован по стандарту IBM: General Decimal Arithmetic Specification, в свою очередь основанному на стандартах IEEE. Тип данных Decimal реализован программно, поэтому он в разы медленнее типа данных float. Сам тип данных Decimal написан на языке С.\nХарактеристика / тип float Decimal Реализация аппаратная программная Размер 64 бит не ограничен Основание экспоненты 2 10 Скорость ✔️ ❌ Настриваемость ❌ ✔️ Для высокоточных вычислений ❌ ✔️ Для типа данных Decimal можно настроить:\nточность выполнения операций в количестве десятичных знаков (по умолчанию - 28); режимы округления; режимы обработки исключительных ситуаций (деление на ноль, переполнение и т. д). Создать Decimal число можно из обычного целого числа (int), из числа с плавающей точкой (float) или из строки (str):\nfrom decimal import * d1 = Decimal(1) d2 = Decimal(567) d3 = Decimal(-93) d4 = Decimal(\u0026#39;12345\u0026#39;) d5 = Decimal(\u0026#39;52.198\u0026#39;) При создании Decimal чисел из чисел с плавающей точкой (float) возникают проблемы, так как float числа округляются внутри до ближайшего возможного, а Decimal об этом ничего не знает и копирует содержимое float:\nfrom decimal import * num = Decimal(0.1) print(num) # Вывод: 0.1000000000000000055511151231257827021181583404541015625 Методы decimal #\rУ Decimal есть некоторые встроенные математические методы: Функция Описание sqrt() вычисляет квадратный корень из Decimal числа exp() возвращает e^x для Decimal числа ln() вычисляет натуральный логарифм Decimal числа log10() вычисляет десятичный логарифм Decimal числа as_tuple() - возвращает кортеж из 3-ёх элементов: sign – знак числа (0 для положительного числа и 1 для отрицательного числа); digits – цифры числа (цифра 0 не учитывается, если целая часть равна нулю); exponent – значение экспоненты (количество цифр после точки, умноженное на −1), from decimal import * num1 = Decimal(\u0026#39;-1.4568769017\u0026#39;) num2 = Decimal(\u0026#39;0.523\u0026#39;) num_tuple = num.as_tuple() print(num1.as_tuple()) print(num2.as_tuple()) print(num1_tuple.sign) print(num1_tuple.digits) print(num1_tuple.exponent) # Вывод:\rDecimalTuple(sign=1, digits=(1, 4, 5, 6, 8, 7, 6, 9, 0, 1, 7), exponent=-10)\rDecimalTuple(sign=0, digits=(5, 2, 3), exponent=-3)\r1\r(1, 4, 5, 6, 8, 7, 6, 9, 0, 1, 7)\r-10 getcontext() - просмотр базовых параметров Decimal from decimal import * print(getcontext()) # Вывод: Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow]) quantize() - принимает в качетсве аргумента объект Decimal, указывающий на формат округления: from decimal import * getcontext().prec = 4 # устанавливаем точность числа num = Decimal(\u0026#39;3.1415926535\u0026#39;) print(num.quantize(Decimal(\u0026#39;1.000\u0026#39;))) # округление до 3 цифр в дробной части print(num.quantize(Decimal(\u0026#39;1.00\u0026#39;))) # округление до 2 цифр в дробной части print(num.quantize(Decimal(\u0026#39;1.0\u0026#39;))) # округление до 1 цифр в дробной части При этом, если точность числа установлена в 2, а формат округления Decimal('1.00'), то возникнет ошибка.\rВ качетсве второго параметра этот метод принимает стратегию округления:\nROUND_CEILING – округление в сторону бесконечности (Infinity);\nROUND_FLOOR – округляет в сторону минус бесконечности (- Infinity);\nROUND_DOWN – округление в сторону нуля;\nROUND_HALF_EVEN – округление до ближайшего четного числа, число 6.5 округлится не до 7, а до 6;\nROUND_HALF_DOWN – округление до ближайшего нуля;\nROUND_UP – округление от нуля;\nROUND_05UP – округление от нуля (если последняя цифра после округления до нуля была бы 0 или 5, в противном случае к нулю).\nfrom decimal import * num = Decimal(\u0026#39;3.456\u0026#39;) print(num.quantize(Decimal(\u0026#39;1.00\u0026#39;), ROUND_CEILING)) print(num.quantize(Decimal(\u0026#39;1.00\u0026#39;), ROUND_FLOOR)) # Вывод:\r3.46\r3.45 Модуль fractions #\rДля использования: from fractions import Fraction\nТип данных Fraction представляет из себя рациональное число в виде дроби.\nОсобенности и характеристики:\nFraction, как и Decimal, реализован программно, поэтому он в разы медленнее встроенных числовых типов данных int и float. Тип данных Fraction неизменяемый. Операции над данными этого типа приводят к созданию новых объектов, при этом старые не меняются. Fraction числа можно сравнивать между собой точно так же, как и любые другие числа (также можно сравнить Fraction и целые числа без явного приведения типов); с ним работат все арифметические операции (возведение в степень может вернуть float). При создании рационального числа Fraction, автоматически происходит сокращение числителя и знаменателя дроби, а если результат - целое число, то оно и будет выведено. Fraction числа можно передавать как аргументы функций, ожидающих float. Тогда они будут преобразованы во float. К примеру, модуль math, оперирующий float числами, может работать и с Fraction числами (возвращать функции будут float). Создать Fraction число можно несколькими способами:\nиз целых чисел, передав значения числителя и знаменателя дроби; из строки на основании десятичного представления; из строки на основании обыкновенной дроби; из числа с плавающей точкой (не рекомендуется, так как в Fraction попадет уже неправильно округленное число). from fractions import Fraction num1 = Fraction(3, 4) # 3 – числитель, 4 – знаменатель num2 = Fraction(\u0026#39;0.55\u0026#39;) num3 = Fraction(\u0026#39;1/9\u0026#39;) Методы и свойства #\rnumerator - для получения числителя, denominator - для получения знаменателя: from fractions import Fraction num = Fraction(\u0026#39;5/16\u0026#39;) print(\u0026#39;Числитель дроби равен:\u0026#39;, num.numerator) print(\u0026#39;Знаменатель дроби равен:\u0026#39;, num.denominator) # Вывод:\rЧислитель дроби равен: 5\rЗнаменатель дроби равен: 16 as_integer_ratio() – возвращает кортеж, состоящий из числителя и знаменателя данного Fraction числа. limit_denominator() – возвращает самую близкую к данному числу рациональную дробь, чей знаменатель не превосходит переданного аргумента: from fractions import Fraction import math print(\u0026#39;PI =\u0026#39;, math.pi) num = Fraction(str(math.pi)) print(\u0026#39;No limit =\u0026#39;, num) for d in [1, 5, 50, 90, 100, 500, 1000000]: limited = num.limit_denominator(d) print(limited) # Вывод:\rPI = 3.141592653589793\rNo limit = 3141592653589793/1000000000000000\r3\r16/5\r22/7\r267/85\r311/99\r355/113\r3126535/995207 В Python нельзя совершать арифметические операции (+, -, *, /) между типами Decimal и Fraction.\rКомплексные числа в Python #\rОбщая форма представления комплексного числа следующая: real + imag j, где\nreal – вещественная часть комплексного числа; imag – мнимая часть комплексного числа, которая завершается символом j или J. Особенности и характеристики:\nС complex числами работают все привычные операции: сложение, вычитание, умножение, деление, возведение в степень. Мы также можем совершать арифметические операции над complex и целыми числами (миксовать complex, int, float). Для работы с комплексными числами вместо модуля math нужно использовать модуль cmath z1 = 5 + 7j z2 = 1j z3 = -3 + 5J z4 = 1.5 + 3.2j print(z1, z2, z3, z4, sep=\u0026#39;\\n\u0026#39;) print(type(z1)) # Вывод:\r(5+7j)\r1j\r(-3+5j)\r(1.5+3.2j)\r\u0026lt;class \u0026#39;complex\u0026#39;\u0026gt; Комплексные числа можно создать с помощью литерала, как выше, а можно с помощью функции complex(), которая принимает два аргумента: вещественную и мнимую часть числа, либо строковое представление числа:\nz1 = -3 + 2j # создание на основе литерала z2 = complex(6, -8) # z2 = 6 - 8j z3 = complex(0, 2.5) # z3 = 2.5j z4 = complex(5, 0) # z4 = 5 + 0j z5 = complex(\u0026#39;3+4j\u0026#39;) # создание на основе строки print(z1, z2, z3, z4, z5, sep=\u0026#39;\\n\u0026#39;) # Вывод:\r(-3+2j)\r(6-8j)\r2.5j\r(5+0j)\r(3+4j) Методы и свойства #\rreal - для получения вещественной части, а imag - для мнимой: z = 3+4j print(\u0026#39;Действительная часть =\u0026#39;, z.real) print(\u0026#39;Мнимая часть =\u0026#39;, z.imag) # Вывод:\rДействительная часть = 3.0\rМнимая часть = 4.0 conjugate() - возвращает сопряжённое комплексное число. Для нахождения модуля комплексного числа, используется встроенная функция abs(). ","date":"14 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/frac_dec_compl/","section":"Конспекты","summary":"Точные числа с плавающей точкой, дроби и комплексные числа.","title":"Decimal, Fraction и комлексные числа в Python","type":"posts"},{"content":"","date":"13 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/random/","section":"Tags","summary":"","title":"Random","type":"tags"},{"content":"","date":"13 мая 2024","externalUrl":null,"permalink":"/HFK_website/tags/string/","section":"Tags","summary":"","title":"String","type":"tags"},{"content":"\rМодуль random #\rДля использования: import random\nФункции и методы:\nrandint() - принимает два обязательных аргумента a и b и возвращает псевдослучайное целое число из [a, b]; randrange() - может принимать те же аргументы, что и range(), но вместо обычной последовательности чисел возвращает псевдослучайное число из этой последовательности; random() - не принимает аргументов и возвращает псевдослучайное число с плавающей точкой в диапазоне [0.0, 1.0); uniform() - возвращает псевдослучайное число с плавающей точкой в указанном диапазоне [a, b]; seed() - указывает начальное для генератора псевдослучайных чисел (по умолчанию начальное значение - системное время); shuffle() - принимает список в качестве обязательного аргумента и перемешивает его случайным образом; choice() - принимает список (строку, кортеж) в качестве обязательного аргумента и возвращает один случайный элемент; sample() - принимает два обязательных аргумента: первый – коллекция (последовательность), которая поддерживает индексацию (список, строка, кортеж), второй – количество случайных элементов. Возвращает список из указанного количества уникальных (имеющих разные индексы) случайных элементов. Модуль string #\rДля использования: import string\nВ модуле string есть удобные константные строки, которыми можно воспользоваться:\nprint(string.ascii_letters) print(string.ascii_uppercase) print(string.ascii_lowercase) print(string.digits) print(string.hexdigits) print(string.octdigits) print(string.punctuation) print(string.printable) # Вывод:\rabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\rABCDEFGHIJKLMNOPQRSTUVWXYZ\rabcdefghijklmnopqrstuvwxyz\r0123456789\r0123456789abcdefABCDEF\r01234567\r!\u0026#34;#$%\u0026amp;\u0026#39;()*+,-./:;\u0026lt;=\u0026gt;?@[\\]^_`{|}~\r0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\u0026#34;#$%\u0026amp;\u0026#39;()*+,-./:;\u0026lt;=\u0026gt;?@[\\]^_`{|}~ \\t\\n\\r\\x0b\\x0c ","date":"13 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/random_string/","section":"Конспекты","summary":"Модуль random #\rДля использования: import random","title":"Модули string и random","type":"posts"},{"content":"\rСписки (кратко), кортежи (кратко), множества, словари и всё, что с ними связано. Первая часть серии конспектов по языку Python.\rВещи, которые я бы хотел запомнить #\rСинглтон - это паттерн проектирования, гарантирующий, что у класса будет только один экземпляр.\nФункция-критерий, которая возвращает значение True или False, называется предикатом.\nИтератор - итерируемый объект (например \u0026lt;map object at 0x...\u0026gt;).\nКоллекциями в языке Python принято называть типы данных, в том или ином виде хранящие ссылки на ряд других объектов.\nСравнение строк происходит по старшинству в алфавите, а старше та буква, которая ближе к концу алфавита.\nprint((\u0026quot;NO\u0026quot;, \u0026quot;YES\u0026quot;)[num1.issuperset(num2)]) - в квадратных скобках мы получаем результат логического выражения (True - 1 или False - 0). Значит после кортежа будет либо [0], либо [1] - индекс элемента, который мы выберем из самого кортежа.\nЧтобы не использовать экранирование при работе с текстом, можно воспользоваться raw strings, т.е. вместо такого кода: path = 'C:\\\\new\\\\text.txt', использовать код: path = r'C:\\new\\text.txt'.\nПри вызове метода мы используем скобки: (например) close(), а при вызове свойства (атрибута) скобок нет closed. Методы совершают действия, а свойства возвращают информацию об объекте.\nПри конвертации строки в число, функция int() игнорирует пробелы и символы табуляции, перевода строки и т.п.\nЕсли использовать строчные методы islower()/isupper() для строки, состоящей только из небуквенных символов, вернёся False.\nСписки #\rСписки изменяемы; в них допускается выход на границы, просто возьмется весь список до конца; список может содержать элементы разных типов данных; списки - ссылочный тип даных.\nЕсли мы хотим копировать список letters = ['a', 'b', 'c', 'd'], мы можем сделать это следующими способами:\nnew_letters = letters[:] new_letters = list(letters) new_letters = letters.copy() Чтобы вывести список в одну строку, можно восползоваться методом join() или распаковать print(*student)\rСписочные методы и операторы:\nметод append() добавляет новый элемент в конец списка; метод extend() расширяет один список другим списком; метод insert() вставляет значение в список в заданной позиции; метод index() возвращает индекс первого элемента, значение которого равняется переданному в метод значению; метод remove() удаляет первый элемент, значение которого равняется переданному в метод значению; метод pop() удаляет элемент по указанному индексу и возвращает его; метод count() возвращает количество элементов в списке, значения которых равны переданному в метод значению; метод reverse() инвертирует порядок следования значений в списке, то есть меняет его на противоположный; метод copy() создает поверхностную копию списка.; метод clear() удаляет все элементы из списка; оператор del позволяет удалять элементы списка по определенному индексу. Методы строк, работающие со списками:\nМетод split() разбивает строку на слова, используя в качестве разделителя последовательность пробельных символов, символ табуляции (\\t) или символ новой строки (\\n). Метод join() собирает строку из элементов списка, используя в качестве разделителя строку, к которой применяется метод. Если нужно получить очищенную от знаков препинания и заглавных букв строку, можно воспользоваться следующей конструкцией: text = [word.strip('.,!?:;-') for word in input().lower().split()]\rМатрицы #\rИндексы i и j элементов на главной диагонали квадратной матрицы связаны соотношением i = j. На побочной диагонали: i + j + 1 = n (или j = n - i - 1), где n — размерность матрицы.\nЗаметим также, что:\nесли элемент находится выше главной диагонали, то i \u0026lt; j, если ниже – i \u0026gt; j. если элемент находится выше побочной диагонали, то i + j + 1 \u0026lt; n, если ниже - i + j + 1 \u0026gt; n. Если мы вводим элементы построчно, то может задать матрицу так:\nn, m = [int(i) for i in input().split()] matrix = [[int(i) for i in input().split()] for _ in range(n)] Кортежи #\rКортежи являются неизменяемыми списками. В литеральной форме кортеж записывается в виде последовательности элементов в круглых скобках, а список – в квадратных.\nДля создания кортежа с единственным элементом после значения элемента ставят замыкающую запятую: my_tuple = (1,).\nВажно понимать: список внутри кортежа можно изменить. Списки являются ссылочными типами данных, поэтому в кортеже хранится ссылка на список, которая не меняется при изменении самого списка.\nФункции, возвращающие несколько значений, возвращают кортеж.\rКортежи поддерживают:\nдоступ к элементу по индексу (только для получения значений элементов); методы, в частности index(), count(); встроенные функции, в частности len(), sum(), min() и max(); срезы; оператор принадлежности in; операторы конкатенации (+) и повторения (*). Чтобы присвоить переменным значения элементов кортежа, можно воспользоваться следующим кодом (кол-во переменных должно совпадать с кол-вом элементов кортежа):\ncolors = (\u0026#39;red\u0026#39;, \u0026#39;green\u0026#39;, \u0026#39;blue\u0026#39;, \u0026#39;cyan\u0026#39;) (a, b, c, d) = colors # Скобки можно опустить Однако, если необходимо получить лишь какие-то отдельные значения, то в качестве \u0026ldquo;ненужных\u0026rdquo; переменных позволено использовать символ нижнего подчеркивания _.\nЕсть способ собрать сразу несколько значений в одну переменную. Это делается при помощи звездочки перед именем переменной.\na, b, *tail = 1, 2, 3, 4, 5, 6 - в этом случае в переменной a будет записана единица, в переменной b — двойка, а в переменной tail — список, состоящий из всех аргументов, которые не попали в предыдущие переменные. В данном случае tail будет равен [3, 4, 5, 6]. tail всегда будет списком, даже когда в него попадает лишь один элемент или даже ноль.\nЗвездочка может быть только у одного аргумента, но необязательно у последнего.\nЕсли нужно распаковать единственное значение в кортеже, после имени переменной должна идти запятая. Приведенный ниже код:\na = 1, # не распаковка, а просто присвоение b, = 1, # распаковка print(a) print(b) # Вывод:\r(1,)\r1 Таким же образом можно распаковывать и список, и строку\rМножества #\rОбщая информация #\rМножество – структура данных, организованная так же, как математические множества.\nОсобенности:\nвсе элементы множества различны (уникальны), два элемента не могут иметь одинаковое значение; множества неупорядочены, то есть элементы не хранятся в каком-то определенном порядке; элементы множества должны относиться к неизменяемым типам данных; хранящиеся в множестве элементы могут иметь разные типы данных. Чтобы создать множество, нужно перечислить его элементы через запятую в фигурных скобках:\nnumbers = {2, 4, 6, 8, 10} languages = {\u0026#34;Python\u0026#34;, \u0026#34;C#\u0026#34;, \u0026#34;C++\u0026#34;, \u0026#34;Java\u0026#34;} Пустое множество создаётся, например, через set().\nПри выводе множества порядок элементов может отличаться от существовавшего при его создании, поскольку множества — неупорядоченные коллекции данных.\nВстроенная функция set() помимо создания пустого множества может преобразовывать некоторые типы объектов в множества.\nВ неё можно передать один аргумент, который, в свою очередь, должен быть итерируемым объектом (таким как список, кортеж или строковое значение). Отдельные элементы объекта, передаваемого в качестве аргумента, становятся элементами множества:\nmyset1 = set(range(10)) # множество из элементов последовательности myset2 = set([1, 2, 3, 4, 5]) # множество из элементов списка myset3 = set(\u0026#39;abcd\u0026#39;) # множество из элементов строки myset4 = set((10, 20, 30, 40)) # множество из элементов кортежа Попытка добавить в множество кортеж со списком приведёт к ошибке!\rmytuple = ([1, 2, 3], [4, 5, 6]) myset = set(mytuple) # Вывод:\rTypeError: unhashable type: \u0026#39;list\u0026#39; Если требуется создать множество, в котором каждый элемент — строковое значение, содержащее более одного символа, то используем код: myset = set(['aaa', 'bbbb', 'cc']).\nПроверить принадлежит ли какой-либо объект множеству можно с помощью оператора in:\ntremendously_huge_set = {\u0026#34;red\u0026#34;, \u0026#34;green\u0026#34;, \u0026#34;blue\u0026#34;} if \u0026#34;green\u0026#34; in tremendously_huge_set: print(\u0026#34;Green is there!\u0026#34;) else: print(\u0026#34;Unfortunately, there is no green...\u0026#34;) # Вывод: Green is there! Индексация, конкатенация, умножение на число и срезы недоступны для множеств, а значит перебор элементов по индексу не получится, поэтому, например, в цикле, мы должны перебирать сами элементы из множества.\nЧтобы вывести все элементы множества, мы можем его распаковать (при этом не гарантируется, что вывод будет упорядоченным):\nnumbers = {0, 1, 1, 2, 3, 3, 3, 5, 6, 7, 7} print(*numbers, end=\u0026#39; \u0026#39;) # Вывод: 0 1 1 2 3 3 3 5 6 7 7 Если мы хотим упорядочить вывод множества, можем воспользоваться встроенной функцией sorted() (возвращает список):\nnumbers = {0, 1, 1, 2, 3, 3, 3, 5, 6, 7, 7} sorted_numbers = sorted(numbers) print(*sorted_numbers, end=\u0026#39; \u0026#39;) Встроенная функция sorted() имеет опциональный параметр reverse. Если установить этот параметр в значение True, произойдет сортировка по убыванию.\nТакже есть второй парметр key, с помощью которого можно указать функцию, по которой будет происходить сортировка (например, int или len). Важно, что функция при этом пишется без скобок, как это обычно происходит.\nМетоды множеств #\rДля добавления нового элемента в множество используется метод add(); Метод remove() удаляет элемент из множества с генерацией исключения (ошибки) в случае, если такого элемента нет; Метод discard() удаляет элемент из множества без генерации исключения (ошибки), если элемент отсутствует; Метод pop() удаляет и возвращает случайный элемент из множества с генерацией исключения (ошибки) при попытке удаления из пустого множества; Метод clear() удаляет все элементы из множества. Методы, НЕ изменяющие сами множества #\runion() - объединение множеств. myset1 = {1, 2, 3, 4, 5} myset2 = {3, 4, 6, 7, 8} myset3 = myset1.union(myset2) print(myset3) Для объединения двух множеств можно также использовать оператор |.\nmyset1 = {1, 2, 3, 4, 5} myset2 = {3, 4, 6, 7, 8} myset3 = myset1 | myset2 print(myset3) intersection() - пересечение множеств.\nАльтернатива: оператор \u0026amp;.\ndifference() - разность множеств.\nАльтернатива: оператор -.\nsymmetric_difference() - симметрическая разность множеств.\nАльтернатива: оператор ^.\nМетоды, ИЗМЕНЯЮЩИЕ множества #\rupdate() - изменяет исходное множество по объединению.\nАналогичный результат получается, если использовать оператор |=.\nintersection_update() - изменяет исходное множество по пересечению.\nАналогичный результат получается, если использовать оператор \u0026amp;=.\ndifference_update() - изменяет исходное множество по разности.\nАналогичный результат получается, если использовать оператор -=.\nsymmetric_difference_update() - изменяет исходное множество по симметрической разности.\nАналогичный результат получается, если использовать оператор ^=.\nВсе основные операции над множествами выполняются двумя способами: при помощи метода или соответствующего ему оператора. Различие заключается в том, что метод может принимать в качестве аргумента не только множество (тип данных set), но и любой итерируемый объект (список, строку, кортеж и т.д.)\nmylist = [2021, 2020, 2019, 2018, 2017, 2016] mytuple = (2021, 2020, 2016) mystr = \u0026#39;abcd\u0026#39; myset = {2009, 2010, 2016} print(myset.union(mystr)) # объединяем со строкой print(myset.intersection(mylist)) # пересекаем со списком print(myset.difference(mytuple)) # находим разность с кортежем # Вывод:\r{2016, \u0026#39;c\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;a\u0026#39;, \u0026#39;d\u0026#39;, 2009, 2010}\r{2016}\r{2009, 2010} Некоторые методы (union(), intersection(), difference()) и операторы (|, \u0026amp;, -, ^) позволяют совершать операции над несколькими множествами сразу.\nОператор ^ симметрической разности позволяет использовать несколько множеств, а метод symmetric_difference() – нет.\nПриоритет операторов в порядке убывания (верхние операторы имеют более высокий приоритет, чем нижние):\nОператор Описание - разность \u0026amp; пересечение ^ симметрическая разность | объединение Другие методы #\rissubset() - используется для определения, является ли одно из множеств подмножеством другого. Возвращает True или False. set1 = {2, 3} set2 = {1, 2, 3, 4, 5, 6} print(set1.issubset(set2)) # Вывод: True Для определения, является ли одно из множеств подмножеством другого, также применяются операторы \u0026lt;= (нестрогое подмножество) и \u0026lt; (строгое подмножество). Следующий код аналогичен предыдущему по функционалу:\nset1 = {2, 3} set2 = {1, 2, 3, 4, 5, 6} print(set1 \u0026lt;= set2) issuperset() - используется для определения, является ли одно из множеств надмножеством другого. Возвращает True или False.\nВ качестве альтернативы используются операторы \u0026gt;= (нестрогое надмножество) и \u0026gt; (строгое надмножество).\nisdisjoint() - используется для определения отсутствия общих элементов в множествах. Возвращает True или False.\nДанные методы могут принимать в качестве аргумента не только set(), но и любой итерируемый объект (список, строку, кортеж\u0026hellip;). В то же время они могут применяться только к set() или неизменяемому множеству (тип данных frozenset). При этом операторы \u0026gt;, \u0026lt;, \u0026gt;=, \u0026lt;= требуют наличия в качестве операндов множества.\nГенератор множеств #\rЧтобы создать множество, содержащее цифры введённого числа, можно воспользоваться следующей конструкцией: digits = {int(c) for c in input()}\nОбщий вид генератора множеств следующий:\n{выражение for переменная in последовательность},\nгде выражение – некоторое выражение, как правило, зависящее от использованной в списочном выражении переменной, которым будут заполнены элементы множества; переменная – имя некоторой переменной; последовательность – последовательность значений, которые она принимает (любой итерируемый объект).\nВ генераторах множеств можно использовать условный оператор. Например, если требуется создать множество, заполненное только цифрами некоторой строки, то мы можем написать такой код: digits = {int(d) for d in 'abcd12ef78ghj90' if d.isdigit()}\nЕсли же нужно включить else, то используется тернарный условный опреатор:\nalnums = {int(d) if d.isdigit() else ord(d) for d in 'abcd12ef78ghj90'}\nFrozenset #\rТип коллекций frozenset() - это неизменяемое множество. Создание неизменяемых множеств:\nmyset1 = frozenset({1, 2, 3}) # на основе множества myset2 = frozenset([1, 1, 2, 3, 4, 4, 4, 5, 6, 6]) # на основе списка myset3 = frozenset(\u0026#39;aabcccddee\u0026#39;) # на основе строки Над замороженными множествами можно производить все операции, которые можно производить над обычными множествами (само собой, если операция не изменяет исходное множество). Результатом операций над замороженными множествами будут также замороженные множества.\nБудучи изменяемыми, обычные множества не могут быть элементами других множеств. Замороженные множества являются неизменяемыми, а значит могут быть элементами других множеств.\nСравнивать обычные и неизменяемые множества можно.\rСловари #\rОбщая информация #\rСловари (тип данных dict) – изменяемые коллекции элементов с произвольными индексами – ключами. Если в списках элементы индексируются целыми числами, начиная с 0, то в словарях — уникальными ключами, в том числе в виде строк.\nСловарь — реализация структуры данных \u0026ldquo;ассоциативный массив\u0026rdquo; или \u0026ldquo;хеш таблица\u0026rdquo;.\rВ словорях нет привычных индексов (0, 1, 2, \u0026hellip;)!\nКлючи должны быть неизменяемым типом данных, а тип данных значения - произволен.\nСловари принципиально отличаются от списков по структуре хранения в памяти. Список — последовательная область памяти, то есть все его элементы (указатели на элементы) действительно хранятся в указанном порядке, расположены последовательно. Благодаря этому и можно быстро «прыгнуть» к элементу по его индексу. В словаре же используется специальная структура данных — хеш-таблица. Она позволяет вычислять числовой хеш от ключа и использовать обычные списки, где в качестве индекса элемента берется этот хеш.\nЧтобы создать словарь, нужно перечислить его элементы (пары ключ-значение) через запятую в фигурных скобках, как и элементы множества. Первым указывается ключ, после двоеточия – значение, доступное в словаре по этому ключу. Приведенный ниже код создает словарь, в котором ключом служит строка – название языка программирования, а значением – имя создателя языка.\nlanguages = {\u0026#39;Python\u0026#39;: \u0026#39;Гвидо ван Россум\u0026#39;, \u0026#39;C#\u0026#39;: \u0026#39;Андерс Хейлсберг\u0026#39;, \u0026#39;Java\u0026#39;: \u0026#39;Джеймс Гослинг\u0026#39;, \u0026#39;C++\u0026#39;: \u0026#39;Бьёрн Страуструп\u0026#39;} Извлекать значение словаря слудует также, как если бы мы извлекали элемент списка, но вместо индекса пишем ключ в квадратных скобках:\nprint(\u0026#39;Создателем языка C# является\u0026#39;, languages[\u0026#39;C#\u0026#39;]) В качестве ключа можно указать выражение. Python вычислит его значение и обратится к искомому элементу:\nprint(\u0026#39;Создателем языка C# является\u0026#39;, languages[\u0026#39;C\u0026#39; + \u0026#39;#\u0026#39;]) Если ключи словаря – строки без каких-либо специальных символов, то для создания словаря можно использовать функцию dict(). Приведённый ниже код создает словарь с тремя элементами, ключами которого служат строки \u0026rsquo;name\u0026rsquo;, \u0026lsquo;age\u0026rsquo;, \u0026lsquo;job\u0026rsquo;, а значениями – \u0026lsquo;Timur\u0026rsquo;, 28, \u0026lsquo;Teacher\u0026rsquo;.\ninfo = dict(name = \u0026#39;Timur\u0026#39;, age = 28, job = \u0026#39;Teacher\u0026#39;) Создавать словари можно на основе списков кортежей или кортежей списков. Первый элемент списка или кортежа станет ключом, второй — значением.\nЕсли необходимо создать словарь, каждому ключу которого соответствует одно и то же значение, можно воспользоваться методом fromkeys(). Приведенный ниже код создает словарь с тремя элементами, где ключи — строки \u0026rsquo;name\u0026rsquo;, \u0026lsquo;age\u0026rsquo;, \u0026lsquo;job\u0026rsquo;, а соответствующие им значения: \u0026lsquo;Missed information\u0026rsquo;, \u0026lsquo;Missed information\u0026rsquo;, \u0026lsquo;Missed information\u0026rsquo;.\ndict1 = dict.fromkeys([\u0026#39;name\u0026#39;, \u0026#39;age\u0026#39;, \u0026#39;job\u0026#39;], \u0026#39;Missed information\u0026#39;) Если методу fromkeys() не передать второй параметр, то по умолчанию присваивается значение None.\nПустой словарь #\rПустой словарь можно создать так:\ndict1 = {} dict2 = dict() Начиная с версии Python 3.6, словари являются упорядоченными, то есть сохраняют порядок следования ключей в порядке их внесения в словарь.\nОсновы работы со словорями #\rОператор in позволяет проверить, содержит ли словарь заданный ключ; Встроенная функция sum() принимает в качестве аргумента словарь с числовыми ключами и вычисляет сумму его ключей; Встроенные функции min() и max() принимают в качестве аргумента словарь и находят минимальный и максимальный ключ соответственно, при этом ключ может принадлежать к любому типу данных, для которого возможны операции порядка \u0026lt;, \u0026lt;=, \u0026gt;, \u0026gt;= (числа, строки, и т.д.); Словари можно сравнивать между собой операторами == и !=. Равные словари имеют одинаковое количество элементов и содержат равные элементы (ключ: значение); Срезы, операция конкатенации и умножения на число недоступны для сроварей. Перебор элементов словаря #\rВывод ключей:\ncapitals = {\u0026#34;Россия\u0026#34;: \u0026#34;Москва\u0026#34;, \u0026#34;Франция\u0026#34;: \u0026#34;Париж\u0026#34;, \u0026#34;Чехия\u0026#34;: \u0026#34;Прага\u0026#34;} for key in capitals: print(key) Вывод значений:\nfor key in capitals: print(capitals[key]) Словарный метод keys() возвращает список ключей всех элементов словаря: for key in capitals.keys(): # итерируем по списку [\u0026#34;Россия\u0026#34;, \u0026#34;Франция\u0026#34;, \u0026#34;Чехия\u0026#34;] print(key) # Вывод:\rРоссия\rФранция\rЧехия Словарный метод values() возвращает список значений всех элементов словаря.\nСловарный метод items() возвращает список всех элементов словаря, состоящий из кортежей пар (ключ, значение).\nСловарные методы items(), keys(), values() возвращают не совсем обычные списки. Типы этих списков – dict_items, dict_keys, dict_values, соответственно, в отличие от обычных списков list. Методы обычных списков недоступны для списков типа dict_items, dict_keys, dict_values. Нужно использовать явное преобразование с помощью функции list() для получения доступа к методам списков.\rЕсли требуется вывести только ключи словаря, то мы так же можем использовать операцию распаковки словаря: print(*capitals, sep=\u0026quot;\\n\u0026quot;)\nСортировка по ключам выполняется с использованием функции sorted() (возвращает отсортированный список ключей, а не словарь):\nfor key in sorted(capitals): print(key) Для сортировки словаря по значениям можно использовать функцию sorted() вместе с методом items() (возвращает не словарь, а отсортированный по значениям список кортежей):\nfor key, value in sorted(capitals.items(), key=lambda x: x[1]): print(value) Методы и операторы словарей #\rЧтобы изменить значение по определенному ключу в словаре, достаточно использовать индексацию вместе с оператором присваивания. При этом если ключ уже присутствует в словаре, его значение заменяется новым, если же ключ отсутствует – то в словарь будет добавлен новый элемент.\ninfo = {\u0026#39;name\u0026#39;: \u0026#39;Sam\u0026#39;, \u0026#39;age\u0026#39;: 28, \u0026#39;job\u0026#39;: \u0026#39;Teacher\u0026#39;} info[\u0026#39;name\u0026#39;] = \u0026#39;Timur\u0026#39; # изменяем значение по ключу name info[\u0026#39;email\u0026#39;] = \u0026#39;timyr-guev@yandex.ru\u0026#39; # добавляем в словарь элемент с ключом email print(info) Для того чтобы избежать возникновения ошибки в случае отсутствия ключа в словаре, можно использовать метод get(), способный кроме ключа принимать и второй аргумент – значение, которое вернется, если заданного ключа нет. Когда второй аргумент не указан, то метод в случае отсутствия ключа возвращает None. info = {\u0026#39;name\u0026#39;: \u0026#39;Bob\u0026#39;, \u0026#39;age\u0026#39;: 25, \u0026#39;job\u0026#39;: \u0026#39;Dev\u0026#39;} item1 = info.get(\u0026#39;salary\u0026#39;) item2 = info.get(\u0026#39;salary\u0026#39;, \u0026#39;Информации о зарплате нет\u0026#39;) print(item1) print(item2) # Вывод:\rNone\rИнформации о зарплате нет Метод update() реализует своеобразную операцию конкатенации для словарей. Он объединяет ключи и значения одного словаря с ключами и значениями другого. При совпадении ключей в итоге сохранится значение словаря, указанного в качестве аргумента метода update(). info1 = {\u0026#39;name\u0026#39;: \u0026#39;Bob\u0026#39;, \u0026#39;age\u0026#39;: 25, \u0026#39;job\u0026#39;: \u0026#39;Dev\u0026#39;} info2 = {\u0026#39;age\u0026#39;: 30, \u0026#39;city\u0026#39;: \u0026#39;New York\u0026#39;, \u0026#39;email\u0026#39;: \u0026#39;bob@web.com\u0026#39;} info1.update(info2) print(info1) # Вывод: {\u0026#39;name\u0026#39;: \u0026#39;Bob\u0026#39;, \u0026#39;age\u0026#39;: 30, \u0026#39;job\u0026#39;: \u0026#39;Dev\u0026#39;, \u0026#39;city\u0026#39;: \u0026#39;New York\u0026#39;, \u0026#39;email\u0026#39;: \u0026#39;bob@web.com\u0026#39;} В Python 3.9 появились операторы | и |=, которые реализуют операцию конкатенации словарей.\rМетод setdefault() позволяет получить значение из словаря по заданному ключу, автоматически добавляя элемент словаря, если он отсутствует.\nМетод принимает два аргумента: key: ключ, значение по которому следует получить, если таковое имеется в словаре, либо создать. default: значение, которое будет использовано при добавлении нового элемента в словарь. Важно! get() только получает значение, не меняя словарь, в то время как setdefault() не только получает значение, но и изменяет словарь.\rС помощью оператора del можно удалять элементы словаря по ключу: del info['email'] (если удаляемого ключа в словаре нет, возникнет ошибка KeyError). Метод pop() удаляет элемент словаря по ключу, возвращая его значение: email = info.pop('email') (при отутствии ключа также возвращает ошибку, если не передать второй аргумент). Метод popitem() удаляет из словаря последний добавленный элемент и возвращает удаляемый элемент в виде кортежа (ключ, значение). Метод clear() удаляет все элементы из словаря: info.clear(). Метод copy() создает поверхностную копию словаря: info_copy = info.copy() (оператор присваивания (=) не копирует словарь, а лишь присваивает ссылку на старый словарь новой переменной.). Вложенные словари #\rЧтобы обратиться к элементу вложенного словаря, нужно указать ключи в нескольких квадратных скобках (подобно спискам).\nГенераторы словарей #\rОбщий вид: {ключ: значение for переменная in последовательность}\nПримеры использования:\nЧтобы создать словарь, где ключи – числа от 0 до 5, а значения – квадраты ключей, можем воспользоваться следующим кодом: squares = {i: i**2 for i in range(6)}; Для вычисления ключа и значения в генераторе словаря могут быть использованы выражения: lst = [\u0026#39;ReD\u0026#39;, \u0026#39;GrEeN\u0026#39;, \u0026#39;BlUe\u0026#39;] dct = {c.lower(): c.upper() for c in lst} print(dct) # Вывод: {\u0026#39;red\u0026#39;: \u0026#39;RED\u0026#39;, \u0026#39;green\u0026#39;: \u0026#39;GREEN\u0026#39;, \u0026#39;blue\u0026#39;: \u0026#39;BLUE\u0026#39;} Извлечение из словаря элементов с определенными ключами: dict1 = {0: \u0026#39;A\u0026#39;, 1: \u0026#39;B\u0026#39;, 2: \u0026#39;C\u0026#39;, 3: \u0026#39;D\u0026#39;, 4: \u0026#39;E\u0026#39;, 5: \u0026#39;F\u0026#39;} selected_keys = [0, 2, 5] dict2 = {k: dict1[k] for k in selected_keys} print(dict2) # Вывод: {0: \u0026#39;A\u0026#39;, 2: \u0026#39;C\u0026#39;, 5: \u0026#39;F\u0026#39;} Мы также можем использовать генераторы словарей для создания вложенных словарей: squares = {i: {j: j**2 for j in range(i + 1)} for i in range(5)} for value in squares.values(): print(value) # Вывод:\r{0: 0}\r{0: 0, 1: 1}\r{0: 0, 1: 1, 2: 4}\r{0: 0, 1: 1, 2: 4, 3: 9}\r{0: 0, 1: 1, 2: 4, 3: 9, 4: 16} В генераторах словарей можно использовать условный оператор. Приведенный ниже код создает словарь, ключами которого являются четные числа от 0 до 9, а значениями – квадраты ключей: squares = {i: i**2 for i in range(10) if i % 2 == 0} (можно обойтись и без условного оператора, установив параметр step в функции range()).\n","date":"12 мая 2024","externalUrl":null,"permalink":"/HFK_website/posts/collections/","section":"Конспекты","summary":"Списки (кратко), кортежи (кратко), множества, словари и всё, что с ними связано.","title":"Коллекции в Python","type":"posts"},{"content":"","externalUrl":null,"permalink":"/HFK_website/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"\rСерия конспектов по языку программирования Python.\rЕсли вы новичок, не рекомендую читать это в качестве основного материала, потому что самая базовая информация здесь опущена. Тем не менее, начиная с параграфа \u0026ldquo;Кортежи\u0026rdquo; первой части серии, я старался записать как можно больше информации. Важно отметить, что конпект Функции в Python также подразумевает, что вы уже знаете основы работы с функциями.\n","externalUrl":null,"permalink":"/HFK_website/python/","section":"🎉","summary":"Серия конспектов по языку программирования Python.","title":"Python","type":"page"},{"content":"","externalUrl":null,"permalink":"/HFK_website/%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D1%8B/","section":"Авторы","summary":"","title":"Авторы","type":"авторы"}] \ No newline at end of file diff --git a/docs/index.xml b/docs/index.xml index cf06e39..06e70c8 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -7,7 +7,17 @@ Hugo -- gohugo.io ru © 2024 Иван Бережной - Mon, 15 Jul 2024 00:00:00 +0000 + Tue, 16 Jul 2024 00:00:00 +0000 + + Устройство памяти в Python + http://localhost:1313/HFK_website/posts/memory_python/ + Tue, 16 Jul 2024 00:00:00 +0000 + + http://localhost:1313/HFK_website/posts/memory_python/ + Конспект посвящён объяснению понятия компьютерной памяти и тому, как эта память устроена в языке программирования Python Компьютерная память # Как можем видеть из схемы ниже, память в компьюетере разделяется на внутреннюю и внешнюю: + + + Марк Лутц "Изучаем Python" http://localhost:1313/HFK_website/posts/mark_lutz/ diff --git a/docs/js/main.bundle.min.8b56b0fd46524eaecbfe33f576b8ba2cd2a122521a89f8229a95be0b635a7ac8e774eb1d8b8b93b32bbd677c3deb734aeea62917443f124d5bf5478859767380.js b/docs/js/main.bundle.min.8b56b0fd46524eaecbfe33f576b8ba2cd2a122521a89f8229a95be0b635a7ac8e774eb1d8b8b93b32bbd677c3deb734aeea62917443f124d5bf5478859767380.js new file mode 100644 index 0000000..71ff38d --- /dev/null +++ b/docs/js/main.bundle.min.8b56b0fd46524eaecbfe33f576b8ba2cd2a122521a89f8229a95be0b635a7ac8e774eb1d8b8b93b32bbd677c3deb734aeea62917443f124d5bf5478859767380.js @@ -0,0 +1,15 @@ +e=this,t=function(){"use strict";function R(e,t){var n,s=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)),s}function h(e){for(var t,n=1;ne.length)&&(t=e.length);for(var n=0,s=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},s=n.getFn,i=void 0===s?e.getFn:s,o=n.fieldNormWeight,r=void 0===o?e.fieldNormWeight:o;t(this,a),this.norm=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,e=new Map,t=Math.pow(10,s);return{get:function(s){if(o=s.match(re).length,e.has(o))return e.get(o);var o,a=1/Math.pow(o,.5*n),i=parseFloat(Math.round(a*t)/t);return e.set(o,i),i},clear:function(){e.clear()}}}(r,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return n(a,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=e,this._keysMap={},e.forEach(function(e,n){t._keysMap[e.id]=n})}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,o(this.docs[0])?this.docs.forEach(function(t,n){e._addString(t,n)}):this.docs.forEach(function(t,n){e._addObject(t,n)}),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();o(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},i=o.getFn,r=void 0===i?e.getFn:i,a=o.fieldNormWeight,c=void 0===a?e.fieldNormWeight:a,s=new E({getFn:r,fieldNormWeight:c});return s.setKeys(t.map(H)),s.setSources(n),s.create(),s}function f(t){var s,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=n.errors,f=void 0===d?0:d,l=n.currentLocation,u=void 0===l?0:l,a=n.expectedLocation,h=void 0===a?0:a,r=n.distance,c=void 0===r?e.distance:r,i=n.ignoreLocation,m=void 0===i?e.ignoreLocation:i,o=f/t.length;return m?o:(s=Math.abs(h-u),c?o+s/c:s?1:o)}l=32;function U(t,n,s){var o,a,p,v,b,_,E,M,P,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},B=r.location,V=void 0===B?e.location:B,R=r.distance,C=void 0===R?e.distance:R,N=r.threshold,U=void 0===N?e.threshold:N,F=r.findAllMatches,$=void 0===F?e.findAllMatches:F,D=r.minMatchCharLength,z=void 0===D?e.minMatchCharLength:D,I=r.includeMatches,H=void 0===I?e.includeMatches:I,L=r.ignoreLocation,j=void 0===L?e.ignoreLocation:L;if(n.length>l)throw new Error("Pattern length exceeds max of ".concat(l,"."));for(var y,d=n.length,g=t.length,i=Math.max(0,Math.min(V,g)),m=U,h=i,x=z>1||H,S=x?Array(g):[];(y=t.indexOf(n,h))>-1;)if(P=f(n,{currentLocation:y,expectedLocation:i,distance:C,ignoreLocation:j}),m=Math.min(P,m),h=y+d,x)for(b=0;b=T;o-=1)if(v=o-1,E=s[t.charAt(v)],x&&(S[v]=+!!E),u[o]=(u[o+1]<<1|1)&E,c&&(u[o]|=(w[o+1]|w[o])<<1|1|w[o+1]),u[o]&W&&(A=f(n,{errors:c,currentLocation:v,expectedLocation:i,distance:C,ignoreLocation:j}))<=m){if(m=A,(h=v)<=i)break;T=Math.max(1,2*i-h)}if(f(n,{errors:c+1,currentLocation:i,expectedLocation:i,distance:C,ignoreLocation:j})>m)break;w=u}return _={isMatch:h>=0,score:Math.max(.001,A)},x&&(M=function(){for(var i,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.minMatchCharLength,o=[],t=-1,r=-1,n=0,c=s.length;n=a&&o.push([t,r]),t=-1);return s[n-1]&&n-t>=a&&o.push([t,n-1]),o}(S,z),M.length?H&&(_.indices=M):_.isMatch=!1),_}function J(e){for(var s,n={},t=0,o=e.length;t1&&void 0!==arguments[1]?arguments[1]:{},h=o.location,C=void 0===h?e.location:h,g=o.threshold,O=void 0===g?e.threshold:g,d=o.distance,A=void 0===d?e.distance:d,m=o.includeMatches,E=void 0===m?e.includeMatches:m,p=o.findAllMatches,x=void 0===p?e.findAllMatches:p,v=o.minMatchCharLength,_=void 0===v?e.minMatchCharLength:v,u=o.isCaseSensitive,j=void 0===u?e.isCaseSensitive:u,b=o.ignoreLocation,w=void 0===b?e.ignoreLocation:b;if(t(this,s),this.options={location:C,threshold:O,distance:A,includeMatches:E,findAllMatches:x,minMatchCharLength:_,isCaseSensitive:j,ignoreLocation:w},this.pattern=j?n:n.toLowerCase(),this.chunks=[],this.pattern.length)if(a=function(e,t){y.chunks.push({pattern:e,alphabet:J(e),startIndex:t})},i=this.pattern.length,i>l){for(var r=0,f=i%l,k=i-f;r1&&void 0!==arguments[1]?arguments[1]:{},h=s.location,g=void 0===h?e.location:h,l=s.threshold,p=void 0===l?e.threshold:l,u=s.distance,j=void 0===u?e.distance:u,a=s.includeMatches,w=void 0===a?e.includeMatches:a,d=s.findAllMatches,v=void 0===d?e.findAllMatches:d,m=s.minMatchCharLength,b=void 0===m?e.minMatchCharLength:m,r=s.isCaseSensitive,y=void 0===r?e.isCaseSensitive:r,c=s.ignoreLocation,O=void 0===c?e.ignoreLocation:c;return t(this,o),(f=i.call(this,n))._bitapSearch=new _(n,{location:g,threshold:p,distance:j,includeMatches:w,findAllMatches:v,minMatchCharLength:b,isCaseSensitive:y,ignoreLocation:O}),f}return n(o,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),o}(a),W=function(e){c(s,e);var o=r(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){for(var t,o,n=0,s=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,s.push([t,n-1]);return o=!!s.length,{isMatch:o,score:o?0:1,indices:s}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),s}(a),j=[Q,W,ne,q,G,Y,X,S],I=j.length,ee=/ +(?=(?:[^"]*"[^"]*")*[^"]*$)/,te=new Set([S.type,W.type]),K=function(){function s(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=o.isCaseSensitive,r=void 0===a?e.isCaseSensitive:a,c=o.includeMatches,y=void 0===c?e.includeMatches:c,d=o.minMatchCharLength,v=void 0===d?e.minMatchCharLength:d,h=o.ignoreLocation,f=void 0===h?e.ignoreLocation:h,m=o.findAllMatches,p=void 0===m?e.findAllMatches:m,i=o.location,g=void 0===i?e.location:i,u=o.threshold,b=void 0===u?e.threshold:u,l=o.distance,_=void 0===l?e.distance:l;t(this,s),this.query=null,this.options={isCaseSensitive:r,includeMatches:y,minMatchCharLength:v,findAllMatches:p,ignoreLocation:f,location:g,threshold:b,distance:_},this.pattern=r?n:n.toLowerCase(),this.query=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map(function(e){for(var a,r,c,l,d=e.trim().split(ee).filter(function(e){return e&&!!e.trim()}),s=[],o=0,h=d.length;o2&&void 0!==arguments[2]?arguments[2]:{}).auto,s=void 0===n||n;return w(e)||(e=T(e)),function e(n){var r,c,d,u,a=Object.keys(n),l=function(e){return!!e[D]}(n);if(!l&&a.length>1&&!w(n))return e(T(n));if(function(e){return!i(e)&&B(e)&&!w(e)}(n)){if(r=l?n[D]:a[0],c=l?n[ce]:n[r],!o(c))throw new Error(function(e){return"Invalid value for key ".concat(e)}(r));return d={keyId:b(r),pattern:c},s&&(d.searcher=v(c,t)),d}return u={children:[],operator:a[0]},a.forEach(function(t){var s=n[t];i(s)&&s.forEach(function(t){u.children.push(e(t))})}),u}(e)}function he(e,t){var n=e.matches;t.matches=[],s(n)&&n.forEach(function(e){if(s(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.src),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}})}function me(e,t){t.score=e.score}return u=function(){function a(n){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;t(this,a),this.options=h(h({},e),s),this.options.useExtendedSearch,this._keyStore=new fe(this.options.keys),this.setCollection(n,o)}return n(a,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof E))throw new Error("Incorrect 'index' type");this._myIndex=t||L(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){s(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var t,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},n=[],e=0,s=this._docs.length;e1&&void 0!==arguments[1]?arguments[1]:{}).limit,i=void 0===a?-1:a,n=this.options,r=n.includeMatches,c=n.includeScore,l=n.shouldSort,d=n.sortFn,u=n.ignoreFieldNorm,s=o(t)?o(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return function(t,n){var s=n.ignoreFieldNorm,o=void 0===s?e.ignoreFieldNorm:s;t.forEach(function(e){var t=1;e.matches.forEach(function(e){var n=e.key,a=e.norm,s=e.score,i=n?n.weight:null;t*=Math.pow(0===s&&i?Number.EPSILON:s,(i||1)*(o?1:a))}),e.score=t})}(s,{ignoreFieldNorm:u}),l&&s.sort(d),V(i)&&i>-1&&(s=s.slice(0,i)),function(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.includeMatches,r=void 0===i?e.includeMatches:i,a=o.includeScore,c=void 0===a?e.includeScore:a,s=[];return r&&s.push(he),c&&s.push(me),t.map(function(e){var t=e.idx,o={item:n[t],refIndex:t};return s.length&&s.forEach(function(t){t(e,o)}),o})}(s,this._docs,{includeMatches:r,includeScore:c})}},{key:"_searchStringList",value:function(e){var n=v(e,this.options),o=this._myIndex.records,t=[];return o.forEach(function(e){var o=e.v,a=e.i,r=e.n;if(s(o)){var i=n.searchIn(o),c=i.isMatch,l=i.score,d=i.indices;c&&t.push({item:o,idx:a,matches:[{score:l,value:o,norm:r,indices:d}]})}}),t}},{key:"_searchLogical",value:function(e){var n=this,i=ue(e,this.options),a=function e(t,s,o){if(!t.children){var c,l=t.keyId,u=t.searcher,i=n._findMatches({key:n._keyStore.get(l),value:n._myIndex.getValueForItemAtKeyId(s,l),searcher:u});return i&&i.length?[{idx:o,item:s,matches:i}]:[]}for(var a=[],r=0,h=t.children.length;r1&&void 0!==arguments[1]?arguments[1]:{},o=s.getFn,a=void 0===o?e.getFn:o,i=s.fieldNormWeight,r=void 0===i?e.fieldNormWeight:i,c=t.keys,l=t.records,n=new E({getFn:a,fieldNormWeight:r});return n.setKeys(c),n.setIndexRecords(l),n},u.config=e,function(){p.push.apply(p,arguments)}(K),u},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t();var e,t,fuse,scriptBundle,copyText,copiedText,showButton=document.getElementById("search-button"),showButtonMobile=document.getElementById("search-button-mobile"),hideButton=document.getElementById("close-search-button"),wrapper=document.getElementById("search-wrapper"),modal=document.getElementById("search-modal"),input=document.getElementById("search-query"),output=document.getElementById("search-results"),first=output.firstChild,last=output.lastChild,searchVisible=!1,indexed=!1,hasResults=!1;showButton?showButton.addEventListener("click",displaySearch):null,showButtonMobile?showButtonMobile.addEventListener("click",displaySearch):null,hideButton.addEventListener("click",hideSearch),wrapper.addEventListener("click",hideSearch),modal.addEventListener("click",function(e){return e.stopPropagation(),e.stopImmediatePropagation(),!1}),document.addEventListener("keydown",function(e){e.key=="/"&&(searchVisible||(e.preventDefault(),displaySearch())),e.key=="Escape"&&hideSearch(),e.key=="ArrowDown"&&searchVisible&&hasResults&&(e.preventDefault(),document.activeElement==input?first.focus():document.activeElement==last?last.focus():document.activeElement.parentElement.nextSibling.firstElementChild.focus()),e.key=="ArrowUp"&&searchVisible&&hasResults&&(e.preventDefault(),document.activeElement==input?input.focus():document.activeElement==first?input.focus():document.activeElement.parentElement.previousSibling.firstElementChild.focus()),e.key=="Enter"&&(searchVisible&&hasResults?(e.preventDefault(),document.activeElement==input?first.focus():document.activeElement.click()):e.preventDefault())}),input.onkeyup=function(){executeQuery(this.value)};function displaySearch(){indexed||buildIndex(),searchVisible||(document.body.style.overflow="hidden",wrapper.style.visibility="visible",input.focus(),searchVisible=!0)}function hideSearch(){searchVisible&&(document.body.style.overflow="visible",wrapper.style.visibility="hidden",input.value="",output.innerHTML="",document.activeElement.blur(),searchVisible=!1)}function fetchJSON(e,t){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(n.readyState===4&&n.status===200){var e=JSON.parse(n.responseText);t&&t(e)}},n.open("GET",e),n.send()}function buildIndex(){var e=wrapper.getAttribute("data-url"),e=e.replace(/\/?$/,"/");fetchJSON(e+"index.json",function(e){var t={shouldSort:!0,ignoreLocation:!0,threshold:0,includeMatches:!0,keys:[{name:"title",weight:.8},{name:"section",weight:.2},{name:"summary",weight:.6},{name:"content",weight:.4}]};fuse=new Fuse(e,t),indexed=!0})}function executeQuery(e){let n=fuse.search(e),t="";n.length>0?(n.forEach(function(e){var s=e.item.externalUrl?e.item.title+''+e.item.externalUrl+"":e.item.title,o=e.item.externalUrl?'target="_blank" rel="noopener" href="'+e.item.externalUrl+'"':'href="'+e.item.permalink+'"';t=t+`